From fa66f143a61f2285618c611a27c23815ca588299 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Mon, 30 Mar 2020 17:03:58 -0400 Subject: iserv: Don't pass --export-dynamic on FreeBSD This is definitely a hack but it's probably the best we can do for now. Hadrian does the right thing here by passing --export-dynamic only to the linker. --- utils/iserv/ghc.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'utils/iserv') diff --git a/utils/iserv/ghc.mk b/utils/iserv/ghc.mk index 74f90e60b7..b6a50e4ce1 100644 --- a/utils/iserv/ghc.mk +++ b/utils/iserv/ghc.mk @@ -30,8 +30,9 @@ endif # refer to the RTS. This is harmless if you don't use it (adds a bit # of overhead to startup and increases the binary sizes) but if you # need it there's no alternative. +# Don't do this on FreeBSD to work around #17962. ifeq "$(TargetElf)" "YES" -ifneq "$(TargetOS_CPP)" "solaris2" +ifeq "$(findstring $(TargetOS_CPP), solaris2 freebsd)" "" # The Solaris linker does not support --export-dynamic option. It also # does not need it since it exports all dynamic symbols by default utils/iserv_stage2_MORE_HC_OPTS += -optl-Wl,--export-dynamic -- cgit v1.2.1