mirror of
https://github.com/isc-projects/bind9.git
synced 2026-02-25 02:42:33 -05:00
Currently, building BIND using "--without-dlopen" universally breaks
building unit tests which employ the --wrap linker option (because the
replacement functions are put in a shared library and building shared
objects requires "--with-dlopen"). Fix by moving the overridden symbol,
isc_nmhandle_unref(), to lib/ns/tests/nstest.c and dropping
lib/ns/tests/wrap.c altogether. This makes lib/ns/tests/Makefile.in
simpler and prevents --without-dlopen from messing with the process of
building unit tests.
Remove parts of configure.ac which are made redundant by the above
changes.
Put the replacement definition of isc_nmhandle_unref() inside an #ifdef
block, so that the build does not break for non-libtool builds (see
below).
These changes allow the broadest possible set of build variants to work
while also simplifying the build process:
- for libtool builds, overriding isc_nmhandle_unref() is done by
placing that symbol directly in lib/ns/tests/nstest.c and relying on
the dynamic linker to perform symbol resolution in the expected way
when the test binary is run,
- for non-libtool builds, overriding isc_nmhandle_unref() is done
using the --wrap linker option (the libtool approach cannot be used
in this case as multiple strong symbols with the same name cannot
coexist in the same binary),
- the "--without-dlopen" option no longer affects building unit tests.
|
||
|---|---|---|
| .. | ||
| api-checker.sh | ||
| bindkeys.pl | ||
| branchsync.sh | ||
| check-ans-prereq.sh | ||
| check-categories.sh | ||
| check-changes | ||
| check-cocci | ||
| check-includes.pl | ||
| check-instincludes.sh | ||
| check-make-install.in | ||
| check-pullups.pl | ||
| check-sources.pl | ||
| check-win32util-configure | ||
| checklibs.sh | ||
| commit-arm.sh | ||
| COPYRIGHT | ||
| COPYRIGHT.BRIEF | ||
| COPYRIGHT.BSDI | ||
| COPYRIGHT.NAI | ||
| COPYRIGHT.NOM | ||
| COPYRIGHT.PORTION | ||
| COPYRIGHT.TOP | ||
| copyrights | ||
| git-replay-merge.sh | ||
| kit.sh | ||
| mandoc2docbook.pl | ||
| mdnbuildtest.sh | ||
| memleak.pl | ||
| merge_copyrights | ||
| mksymtbl.pl | ||
| models.c | ||
| nanny.pl | ||
| new-func | ||
| nt-kit | ||
| pairwise-testing.sh | ||
| parse_tsan.py | ||
| run-clang-tidy | ||
| spacewhack.pl | ||
| suppressions.txt | ||
| tabify-changes | ||
| update-drafts.pl | ||
| update_branches | ||
| update_copyrights | ||
| xc | ||