freebsd-dev/contrib
Justin Hibbits d9a48fc632 Add missing powerpc64 relocation support to libdwarf
Summary:
Due to missing relocation support in libdwarf for powerpc64, handling of dwarf
info on unlinked objects was bogus.

Examining raw dwarf data on objects compiled on ppc64 with a modern compiler
(in-tree gcc tends to hide the issue, since it only rarely generates relocations
in .debug_info and uses DW_FORM_str instead of DW_FORM_strp for everything), you
will find that the dwarf data appears corrupt, with repeated references to the
compiler version where things like types and function names should appear.

This happens because the 0 offset of .debug_str contains the compiler version,
and without applying the relocations, *all* indirect strings in .dwarf_info will
end up pointing to it.

This corruption then propogates to the CTF data, as ctfconvert relies on
libdwarf to read the dwarf info, for every compiled object (when building a
kernel.)

However, if you examine the dwarf data on a compiled executable, it will appear
correct, because during final link the relocations get applied and baked in by
the linker.

Submitted by:	Brandon Bergren
Reviewed By:	emaste
Differential Revision: https://reviews.freebsd.org/D20367
2019-05-29 02:02:56 +00:00
..
amd Fix a broken "SEE ALSO" section of hlfsd(8). 2018-08-14 20:33:48 +00:00
apr
apr-util
atf
bearssl Add libbearssl 2019-02-26 05:59:22 +00:00
binutils Fix binutils compilation error with Clang 8 2019-03-05 04:16:50 +00:00
blacklist Fixup syslog() call that should have used logging function pointer 2019-03-18 15:45:06 +00:00
bmake Merge bmake-20181221 2018-12-23 01:05:52 +00:00
bsnmp Follow the declared behaviour that specifies server string format in 2019-04-03 12:47:49 +00:00
byacc
bzip2
capsicum-test Integrate capsicum-test into the FreeBSD test suite 2019-04-01 21:24:50 +00:00
com_err
compiler-rt Merge llvm, clang, compiler-rt, libc++, lld, and lldb release_80 branch 2019-02-15 21:44:42 +00:00
cortex-strings
dialog Update libdialog to 1.3-20180621 2018-10-20 20:49:46 +00:00
diff
dma Make dma(8) buildable. 2018-09-19 06:42:05 +00:00
dtc
ee
elftoolchain Add missing powerpc64 relocation support to libdwarf 2019-05-29 02:02:56 +00:00
expat Un-break build libexpact. 2018-11-04 18:24:11 +00:00
file file: update to 5.34 2018-08-08 01:33:36 +00:00
flex Terminate filter_create_ext() args with NULL, not 0. 2018-08-08 22:45:30 +00:00
gcc - Update head to 13.0-CURRENT. 2018-10-19 00:37:47 +00:00
gcclibs
gdb Commit forgotten change in gdb allowing to use libedit 2018-02-06 12:17:03 +00:00
gdtoa
googletest Import proof-of-concept for handling GTEST_SKIP() in Environment::SetUp 2019-04-01 18:07:48 +00:00
gperf
hyperv/tools
ipfilter Kernel module shim sources have no business being in the userland 2019-02-03 05:26:07 +00:00
jemalloc Pick 57553c3b1a5592dc4c03f3c6831d9b794e523865 from upstream: 2018-11-14 13:06:48 +00:00
ldns Regenerate: remove GOST, enable DANE-TA now that we have OpenSSL 1.1.1. 2018-10-11 08:14:31 +00:00
ldns-host
less MFV r329552: less v530. 2018-02-19 05:10:22 +00:00
libarchive MFV r347989: 2019-05-20 12:57:39 +00:00
libbegemot Update bsnmp to version 1.13. This does not bring user-visible changes. 2018-07-03 08:44:40 +00:00
libc-pwcache
libc-vis Update vis(3) the latest from NetBSD. 2017-11-28 01:35:28 +00:00
libc++ Merge ^/head r344178 through r344512. 2019-02-25 11:59:29 +00:00
libcxxrt
libdivsufsort
libevent libevent: eliminate in-tree usage of arc4random_addrandom 2018-09-25 17:41:48 +00:00
libexecinfo
libgnuregex
libpcap Re-apply r190640. 2018-05-31 09:11:21 +00:00
libstdc++
libucl
libunwind Move libunwind out of contrib/llvm/projects. 2019-03-12 16:41:17 +00:00
libxo Fix expected output after r347207 2019-05-08 18:46:12 +00:00
llvm Pull in r361696 from upstream llvm trunk (by Sanjay Patel): 2019-05-26 15:44:58 +00:00
lua MFV r337586: lua: Update to 5.3.5 2018-08-14 18:58:01 +00:00
mandoc Update mandoc to 1.14.5 2019-04-12 10:13:17 +00:00
mknod
mtree
ncurses
netbsd-tests Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
netcat
ngatm
ntp MFV r344878: 2019-03-07 13:36:00 +00:00
nvi vi: fix UTF-8 detection. 2018-11-26 15:33:55 +00:00
ofed Add ConnectX-6 DX HCA ID to libmlx5. 2019-05-08 11:04:09 +00:00
one-true-awk Update awk(1) manual to state an exception to egrep(1)-like RE syntax 2018-11-02 23:03:40 +00:00
openbsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
opencsd/decoder Import OpenCSD -- an ARM CoreSight(tm) Trace Decode Library. 2018-04-04 12:55:31 +00:00
openmp Enable building libomp.so for 32-bit x86. This is done by selectively 2019-03-18 21:04:28 +00:00
openpam Upgrade to OpenPAM Tabebuia. 2019-02-25 18:41:16 +00:00
openresolv
opie Revert r328492: 2018-01-28 03:16:54 +00:00
pam_modules/pam_passwdqc
pf Fix escaping, otherwise Dx gets translated as the macro for DragonFly. 2018-08-11 00:08:59 +00:00
pjdfstest
pnpinfo
processor-trace Import Intel Processor Trace decoder library from 2018-03-19 18:59:15 +00:00
sendmail Make sendmail work with OpenSSL 1.1 API. Taken from the ports tree. 2018-10-01 20:55:01 +00:00
serf MFV r339226 (peter): Record merge of serf-1.3.9. 2018-10-08 15:16:04 +00:00
smbfs smbutil(1): Improve mdoc formatting. 2018-11-14 15:15:07 +00:00
sqlite3 MFV r347136: 2019-05-05 04:14:17 +00:00
subversion Update svn-1.9.7 to 1.10.0. 2018-05-08 04:52:52 +00:00
tcp_wrappers Reduce the log level of tcpd_warn calls from ERR to WARNING. 2018-08-23 20:44:26 +00:00
tcpdump tcpdump: disable Capsicum if -E option is provided. 2019-04-16 04:12:41 +00:00
tcsh
telnet Make telnet(1) buildable. 2018-09-19 07:01:22 +00:00
tnftp Switch the default pager for most commands to less 2018-08-08 19:24:20 +00:00
traceroute libcasper: ange the name of limits in cap_dns so the intentions are obvious. 2018-11-12 15:52:45 +00:00
tzcode Remove no longer relevant comment, as suggested by imp@. 2018-10-30 15:44:16 +00:00
tzdata Import tzdata 2019a 2019-03-26 08:10:51 +00:00
unbound Merge upstream r4932: turn so-reuseport option off by default. 2018-11-01 23:42:35 +00:00
unvis
vis
wpa The driver list prints "(null)" for the NDIS driver when -h (help) or 2019-05-16 02:41:25 +00:00
xz Clamp tuklib_physmem() return value to SIZE_T_MAX. 2019-01-06 23:59:04 +00:00