mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 10:10:06 +00:00
Fix function overrides in unit tests on macOS
Since Mac OS X 10.1, Mach-O object files are by default built with a so-called two-level namespace which prevents symbol lookups in BIND unit tests that attempt to override the implementations of certain library functions from working as intended. This feature can be disabled by passing the "-flat_namespace" flag to the linker. Fix unit tests affected by this issue on macOS by adding "-flat_namespace" to LDFLAGS used for building all object files on that operating system (it is not enough to only set that flag for the unit test executables).
This commit is contained in:
parent
8bdba2edeb
commit
b60d7345ed
@ -11,6 +11,13 @@ AM_CPPFLAGS = \
|
||||
-include $(top_builddir)/config.h \
|
||||
-I$(srcdir)/include
|
||||
|
||||
AM_LDFLAGS =
|
||||
|
||||
if HOST_MACOS
|
||||
AM_LDFLAGS += \
|
||||
-Wl,-flat_namespace
|
||||
endif HOST_MACOS
|
||||
|
||||
if HAVE_GSSAPI
|
||||
AM_CPPFLAGS += \
|
||||
$(GSSAPI_CFLAGS)
|
||||
|
@ -150,6 +150,10 @@ AX_CHECK_COMPILE_FLAG([-Werror -fno-delete-null-pointer-checks],
|
||||
AX_CHECK_COMPILE_FLAG([-fdiagnostics-show-option],
|
||||
[STD_CFLAGS="$STD_CFLAGS -fdiagnostics-show-option"])
|
||||
|
||||
host_macos=no
|
||||
AS_CASE([$host],[*-darwin*],[host_macos=yes])
|
||||
AM_CONDITIONAL([HOST_MACOS], [test "$host_macos" = "yes"])
|
||||
|
||||
#
|
||||
# Change defaults for developers if not explicity set.
|
||||
# Needs to be before the option is tested.
|
||||
|
@ -5,7 +5,7 @@ AM_CPPFLAGS += \
|
||||
$(LIBDNS_CFLAGS) \
|
||||
-DFUZZDIR=\"$(abs_srcdir)\"
|
||||
|
||||
AM_LDFLAGS = \
|
||||
AM_LDFLAGS += \
|
||||
$(FUZZ_LDFLAGS)
|
||||
|
||||
LDADD = \
|
||||
|
@ -27,6 +27,7 @@ libbind9_la_LIBADD = \
|
||||
$(LIBISCCFG_LIBS)
|
||||
|
||||
libbind9_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libbind9_VERSION_INFO)
|
||||
|
||||
EXTRA_DIST = api
|
||||
|
@ -287,6 +287,7 @@ libdns_la_CPPFLAGS = \
|
||||
$(LIBLTDL_CFLAGS)
|
||||
|
||||
libdns_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libdns_VERSION_INFO)
|
||||
|
||||
libdns_la_LIBADD = \
|
||||
|
@ -23,6 +23,7 @@ libirs_la_LIBADD = \
|
||||
$(LIBISCCFG_LIBS)
|
||||
|
||||
libirs_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libirs_VERSION_INFO)
|
||||
|
||||
|
||||
|
@ -227,6 +227,7 @@ libisc_la_CPPFLAGS = \
|
||||
$(ZLIB_CFLAGS)
|
||||
|
||||
libisc_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libisc_VERSION_INFO)
|
||||
|
||||
libisc_la_LIBADD = \
|
||||
|
@ -35,6 +35,7 @@ libisccc_la_LIBADD = \
|
||||
$(LIBISC_LIBS)
|
||||
|
||||
libisccc_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libisccc_VERSION_INFO)
|
||||
|
||||
if HAVE_CMOCKA
|
||||
|
@ -32,6 +32,7 @@ libisccfg_la_LIBADD = \
|
||||
$(LIBDNS_LIBS)
|
||||
|
||||
libisccfg_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libisccfg_VERSION_INFO)
|
||||
|
||||
if HAVE_CMOCKA
|
||||
|
@ -51,6 +51,7 @@ libns_la_LIBADD = \
|
||||
$(LIBDNS_LIBS)
|
||||
|
||||
libns_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
$(libns_VERSION_INFO)
|
||||
|
||||
if HAVE_CMOCKA
|
||||
|
Loading…
x
Reference in New Issue
Block a user