From 3016281b9fbbde126e9079037889dae22fe829ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= <vladimir.cunat@nic.cz> Date: Tue, 30 Jan 2018 11:19:17 +0100 Subject: [PATCH] make: fixup passing export-dynamic flags It was breaking on Darwin, and clang was throwing warnings. Problem since ddb699d364. --- config.mk | 5 ----- platform.mk | 9 +++++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config.mk b/config.mk index 8cb4b3ad4..9a7f08d66 100644 --- a/config.mk +++ b/config.mk @@ -40,11 +40,6 @@ BUILD_CFLAGS += -I$(abspath .) -I$(abspath lib/generic) -I$(abspath contrib) BUILD_CFLAGS += -DPACKAGE_VERSION="\"$(VERSION)\"" -DPREFIX="\"$(PREFIX)\"" -DMODULEDIR="\"$(MODULEDIR)\"" BUILD_CFLAGS += -fvisibility=hidden -# Otherwise Fedora is making kresd symbols inaccessible for modules -# TODO: clang needs different flag name, etc. -BUILD_CFLAGS += -rdynamic -BUILD_LDFLAGS += -export-dynamic - ifeq (,$(findstring -O,$(CFLAGS))) BUILD_CFLAGS += -O2 endif diff --git a/platform.mk b/platform.mk index f2657ed15..d42c66e4c 100644 --- a/platform.mk +++ b/platform.mk @@ -36,6 +36,7 @@ else PLATFORM := Darwin LIBEXT := .dylib MODTYPE := dynamiclib + LDFLAGS += -Wl,-export_dynamic # OS X specific hardening since -pie doesn't work ifneq ($(HARDENING),no) BINFLAGS += -Wl,-pie @@ -45,14 +46,18 @@ else SOVER = $(if $(1), -compatibility_version $(2) -current_version $(1),) else PLATFORM := POSIX - LDFLAGS += -pthread -lm -Wl,-E + LDFLAGS += -pthread -lm -Wl,--export-dynamic # ELF hardening options ifneq ($(HARDENING),no) BINFLAGS += -pie LDFLAGS += -Wl,-z,relro,-z,now endif ifeq ($(UNAME),Linux) - LDFLAGS += -ldl + LDFLAGS += -ldl + endif + ifeq ($(firstword $(shell $(CC) --version)),gcc) + # Otherwise Fedora is making kresd symbols inaccessible for modules? + CFLAGS += -rdynamic endif endif endif -- GitLab