freebsd-dev/contrib
Mark Johnston 3aa0bc89c6 libdwarf: Add a weak uncompress() symbol
This works around brokenness in buildworld's bootstrapping logic: it
uses the source tree's metadata to collect dependency info (such as,
"libdwarf depends on libz") but links against static host libraries.
If these two are out of sync, as is the case if one builds a commit
prior to the introduction of the libz dependency, then the build fails
when trying to statically link nm(1).

Mitigate the problem by defining a weak uncompress() symbol which simply
returns an error.  This ensures that the build won't fail when
statically linking libdwarf without zlib.  The downside is that any
tools using libdwarf without zlib will now hit a runtime error if they
attempt to decode compressed sections, but at least they'll fail
deterministically, and compressed debug info is only enabled by default
in main.

In particular, this fixes building of branches lacking commit
dbf05458e3, such as releng branches, stable/12 and 13 and old
revisions of main.  Previously the nm(1) build would fail with:

ld: error: undefined symbol: uncompress
>>> referenced by libdwarf_elf_init.c:233
>>> (/usr/src/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c:233)
>>>               libdwarf_elf_init.o:(_dwarf_elf_init) in archive
>>> /usr/lib/libdwarf.a

Reported by:	dim, ler, krion
Reviewed by:	imp, emaste
Fixes:		dbf05458e3 ("libdwarf: Support consumption of compressed ELF sections")
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D33419
2021-12-13 18:47:15 -05:00
..
arm-optimized-routines Import Arm Optimized Routines v21.02 2021-07-06 11:05:34 +01:00
atf Import atf 0.22 snapshot 55c21b2c5fb189bbdfccb2b297bfa89236502542 2021-09-10 17:08:42 -06:00
bc contrib/bc: merge version 5.2.1 from vendor branch 2021-11-30 18:40:32 +01:00
bearssl
blacklist blacklistd.conf.5: typo/grammar fixes 2020-05-19 00:15:19 +00:00
bmake make: fix MAKE_JOB_ERROR_TOKEN 2021-09-10 13:11:28 -07:00
bsddialog bsddialog: import version 0.0.1 2021-12-13 09:01:39 +01:00
bsnmp Fix bsnmpd(1) crash with ill-formed Discovery message 2021-10-01 14:10:39 +03:00
byacc yacc: Regen test cases for the previous commit 2021-02-11 18:41:28 -05:00
bzip2 Remove FREEBSD-vendor files 2021-12-06 16:36:44 -05:00
capsicum-test Re-enable network ioctls in capability mode 2021-04-23 09:22:49 -04:00
com_err
cortex-strings
dialog dialog: fix macro redefinition 2021-03-01 16:01:44 +01:00
diff Fix macro-redefined warning in gnu/diff for fputc_unlocked 2021-01-19 21:23:25 +00:00
dma dma: import snapshot 2021-07-10 2021-09-22 11:10:58 +02:00
ee ee: restore the stdin/stdout terminal check 2021-04-12 00:48:45 +03:00
elftoolchain libdwarf: Add a weak uncompress() symbol 2021-12-13 18:47:15 -05:00
expat
file Revert r362261, "Re-apply r333944 to unbreak ports" 2020-06-29 13:30:48 +00:00
flex contrib/flex: Drop local __dead2 patch 2021-04-21 10:54:59 +01:00
gdtoa
googletest Re-enable disabled googletest-port-test tests after r363820 2020-08-04 02:20:15 +00:00
hyperv/tools
ipfilter ippool: remove set-but-not-unused vars 2021-12-10 21:52:54 -08:00
jemalloc Fix abort in jemalloc extent coalescing. 2020-12-18 10:09:21 +00:00
kyua Revert r359385-r359387 2020-03-29 02:40:03 +00:00
ldns Fix crash in drill(1) when IP has two subsequent dots 2020-06-22 23:13:14 +00:00
ldns-host
less less: upgrade to v590. 2021-07-17 22:20:44 -07:00
lib9p Import lib9p 9d5aee77bcc1bf0e79b0a3bfefff5fdf2146283c. 2020-10-03 18:52:54 +00:00
libarchive libarchive: cherry-pick bugfix from vendor 2021-11-17 22:28:45 +01:00
libbegemot
libc-pwcache pwcache.3: Explicitly document OOM condition 2020-05-05 17:55:45 +00:00
libc-vis vis(3): avoid out-of-bounds stack buffer reads 2021-06-16 16:27:13 +01:00
libcbor Import libcbor at 'contrib/libcbor/' 2021-10-06 20:26:10 -04:00
libcxxrt Partially revert libcxxrt changes to avoid _Unwind_Exception change 2021-03-13 14:54:24 +01:00
libdivsufsort
libedit libedit: import snapshot 2021-09-10 2021-09-22 10:19:43 +02:00
libevent
libexecinfo Pull in fix from upstream NetBSD rev. 1.5: 2020-09-21 16:43:38 +00:00
libfido2 libfido2: Address CHERI compatibility 2021-10-06 21:40:26 -04:00
libpcap
libucl Fix build post a040967612. 2021-03-22 08:42:18 -07:00
libxo
llvm-project Revert clang change that breaks CTF on aarch64 2021-12-12 21:11:40 +01:00
lua contrib/lua: update to 5.4.2 2021-01-13 23:56:18 -06:00
lutok Add liblutok a lightweight C++ API for lua. 2020-03-23 18:26:23 +00:00
mandoc mandoc: import version 1.14.6 2021-11-15 16:58:58 +01:00
mknod
mtree fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
ncurses ncurses: Apply a tputs() fix from patch 20210403 2021-08-11 13:08:23 -04:00
netbsd-tests Add tests for posix_spawn_file_actions_add{chdir,fchdir}_np(3) 2021-11-30 03:43:54 +02:00
netcat Remove FREEBSD-vendor files 2021-12-06 16:36:44 -05:00
ngatm
ntp ntp: Revert "Disable ntpd stack gap. When ASLR with STACK GAP != 0 ntpd suffers SIGSEGV." 2021-10-15 16:06:26 -07:00
nvi Allow building usr.bin/vi with MK_ASAN 2021-07-19 15:04:19 +01:00
ofed ibstat: Include prototype for sysctlbyname(). 2021-05-27 09:42:30 +02:00
one-true-awk Awk: Add error file 2021-11-06 16:24:36 -06:00
openbsm close_range: add audit support 2021-02-23 17:47:07 +00:00
opencsd/decoder Update opencsd to 0.14.2 2020-06-17 10:42:20 +00:00
openpam Merge upstream r948: fix race condition in openpam_ttyconv(3). 2020-11-19 05:46:59 +00:00
openresolv
opie
pam_modules/pam_passwdqc
pf ftp-proxy: Revert incorrect migration to libpfctl 2021-07-01 21:34:40 +02:00
pjdfstest
pnglite pnglite: should use ntohl 2021-01-12 00:56:35 +02:00
pnpinfo
processor-trace
sendmail Key decleration of union semun on src version 2020-10-26 17:52:28 +00:00
smbfs
sqlite3 sqlite3: import sqlite3 3.35.5 2021-05-06 18:01:44 -07:00
tcp_wrappers tcp_wrappers: get rid of duplicate fgets declarations 2021-09-30 23:55:27 -05:00
tcpdump pf: Introduce ridentifier 2021-11-05 09:39:56 +01:00
tcsh tcsh: update to version 6.22.04. 2021-05-20 00:12:27 +03:00
telnet telnet(1): add quiet mode ("telnet -Q") 2021-06-21 17:11:57 +01:00
terminus contrib: setup terminus 2021-01-02 21:03:28 +02:00
tnftp Fix poor performance of ftp(1) due to small SO_SNDBUF and SO_RCVBUF. 2020-02-27 19:49:59 +00:00
traceroute ping: fix some man pages and tests after r368045 2020-11-26 04:55:02 +00:00
tzcode tzcode: Fix operation without WITH_DETECT_TZ_CHANGES 2021-09-14 20:17:50 +00:00
tzdata contrib/tzdata: import tzdata 2021e 2021-10-22 13:20:20 +08:00
unbound unbount: Vendor import 1.14.0rc1 2021-12-02 22:11:04 -08:00
unvis
vis Merge tag 'vendor/NetBSD/vis/20210621' into vis 2021-06-21 18:04:17 -06:00
wpa wpa: Redo import wpa_supplicant/hostapd commit 14ab4a816 2021-12-02 15:08:52 -08:00
xz liblzma: Make liblzma use libmd implementation of SHA256. 2020-06-20 21:32:07 +00:00