From: Vladimír Čunát Date: Tue, 30 Jan 2018 10:19:17 +0000 (+0100) Subject: make: fixup passing export-dynamic flags X-Git-Tag: v2.0.0~7^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3016281b9fbbde126e9079037889dae22fe829ef;p=thirdparty%2Fknot-resolver.git make: fixup passing export-dynamic flags It was breaking on Darwin, and clang was throwing warnings. Problem since ddb699d364. --- 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