freebsd-dev/contrib
Andriy Gapon 517d9fc653 binutils/ld: fix incorrect placement of __start_SECNAME in some cases
__start_SECNAME and __stop_SECNAME symbols are automatically generated
by ld for orphan sections, i.e. those not explicitely referenced by a
linker script.  The symbols are supposed to be placed correspondingly
at the start and the end of the section in output file.  In some cases
__start_SECNAME may be placed at the address after the end of the
previous section (if any) and before the start the section.  This
happens when following conditions are met:
1. the orphan section is found in more than one input file
2. the orphan section has different alignment requirements across input
files
3. the first instance of the section encountered doesn't have the
greatest alignment requirement
In these conditions resulting output section will be placed at address
after the end of the previous section aligned to the greatest alignment
requirement in the inputs, but __start_SECNAME will be placed at address
after the end of the previous section aligned to the alignment
requirement of the first input in which the section is encountered.

See commit message of r196118 for a concrete example of problems caused
by this bug.

The fix is to place __start_SECNAME inside the section and use ABSOLUTE
directive, rather than placing __start_SECNAME outside the section and
trying to guess address alignment.

This fix is in line with upstream binutils change/fix made between
versions 2.19 and 2.20 in revision of 1.307 ldlang.c.

MFC after:	3 weeks
2010-07-19 18:20:44 +00:00
..
amd
bind9 Upgrade to 9.6.2-P2, which addresses the following; 2010-05-20 08:15:06 +00:00
binutils binutils/ld: fix incorrect placement of __start_SECNAME in some cases 2010-07-19 18:20:44 +00:00
bsnmp mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-24 06:26:38 +00:00
bzip2
com_err mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
cvs
diff
dtc
ee
expat
file
gcc Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes 2010-07-10 02:29:22 +00:00
gcclibs
gdb Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes 2010-07-10 02:29:22 +00:00
gdtoa Add required header for isalnum(3) to quench compiler warnings 2010-06-02 18:31:04 +00:00
gnu-sort
gperf
groff
ipfilter Comment in the BUGS section header. Matches what's in ipfilter 5.10. 2010-05-12 00:56:53 +00:00
less
libbegemot
libf2c
libobjc
libpcap
libreadline
libstdc++
llvm Do the branding right this time. 2010-06-12 15:13:36 +00:00
lukemftp
lukemftpd
ncurses
netcat Utilize IP_BINDANY which provided the same semantics of OpenBSD's 2010-04-15 23:21:24 +00:00
ngatm mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-24 06:26:38 +00:00
ntp
nvi Fixes from NetBSD for nvi visual mode: 2010-05-28 09:30:13 +00:00
one-true-awk
openbsm
openpam Merge upstream r432: 2010-03-22 11:00:57 +00:00
opie Change the current working directory to be inside the jail created by 2010-05-27 03:15:04 +00:00
pam_modules/pam_passwdqc
pf
pnpinfo
sendmail Remove -mdoc macros from -man page 2010-06-09 08:53:50 +00:00
smbfs
tcp_wrappers
tcpdump
tcsh
telnet telnet: Fix infinite loop if local output generates SIGPIPE. 2010-04-30 19:52:35 +00:00
texinfo
top Fix brokenness in top on big-endian 32-bit systems introduced when 2010-04-19 14:34:44 +00:00
traceroute
tzcode Make mandoc/mdocml happy. 2010-06-15 11:37:33 +00:00
tzdata MFV of tzdata2010j, r207896 2010-05-10 21:02:16 +00:00
wpa Remove unused files. 2010-06-14 15:52:50 +00:00
xz Import of liblzma, xz, xzdec, lzmainfo from vendor branch 2010-05-10 06:59:50 +00:00