From 55e58466aaafd2dfb41f2a44a2cff4ddab9eadc4 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sat, 28 Feb 2026 17:33:06 +0100 Subject: [PATCH] Fix C++ flags handling (fix relocation error on Fedora 41) --- Makefile.defs | 1 + client/Makefile | 6 +++--- tools/cryptorf/Makefile | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 56e68b3a9..4a80eea78 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -177,6 +177,7 @@ ifneq ($(NOHARDENING),1) CFLAGS += -fcf-protection=full endif DEFCFLAGS += -fPIE + DEFCXXFLAGS += -fPIE DEFLDFLAGS += -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -pie endif endif diff --git a/client/Makefile b/client/Makefile index d1d75dbce..8e3c9cb82 100644 --- a/client/Makefile +++ b/client/Makefile @@ -472,7 +472,7 @@ endif PM3CFLAGS += -DHAVE_SNPRINTF -CXXFLAGS ?= -Wall -Werror +CXXFLAGS ?= $(DEFCXXFLAGS) CXXFLAGS += $(MYDEFS) $(MYCXXFLAGS) $(MYINCLUDES) PM3CXXFLAGS = $(CXXFLAGS) @@ -483,10 +483,10 @@ ifeq ($(QT_FOUND),1) PM3CXXFLAGS += -DQT_NO_DEBUG ifeq ($(QT6_FOUND),1) # Qt6 is claiming for a C++17 compiler - PM3CXXFLAGS += -fPIC -std=c++17 + PM3CXXFLAGS += -std=c++17 else # On OSX Qt6 is claiming for a C++11 compiler (gnu++14 works too, but if nothing it fails) - PM3CXXFLAGS += -fPIC -std=c++11 + PM3CXXFLAGS += -std=c++11 endif endif diff --git a/tools/cryptorf/Makefile b/tools/cryptorf/Makefile index 39dccbb9b..dbade4441 100644 --- a/tools/cryptorf/Makefile +++ b/tools/cryptorf/Makefile @@ -21,7 +21,7 @@ endif # macOS needs c++14 standard when compiling c++ ifeq ($(platform),Darwin) - MYCXXFLAGS = -std=c++14 + MYCXXFLAGS += -std=c++14 endif ifneq (,$(findstring MINGW,$(platform)))