freebsd-dev/libexec
tmm b6293e1f53 Fix the problem that surfaced with the new binutils import on sparc64
(and that is for now being worked around by a binutils patch).

The rtld code tested &_DYNAMIC against 0 to see whether rtld itself
was built as PIC or not. While the sparc64 MD code did not rely
on the preset value of the GOT slot for _DYNAMIC any more due
to previous binutils changes, it still used to not be 0, so
that this check did work. The new binutils do however initialize
this slot with 0. As a consequence, rtld would not properly initialize
itself and crash.
Fix that by introducing a new macro, RTLD_IS_DYNAMIC, to take the role
of this test. For sparc64, it is implemented using the rtld_dynamic()
code that was already there. If an architecture does not provide its
own implementation, we default to the old check.

While being there, mark _DYNAMIC as a weak symbol in the sparc64
rtld_start.S. This is needed in the LDSCRIPT case, which is however
not currently supported for want of an actual ldscript.

Sanity checked with md5 on alpha, amd64, i386 and ia64.
2004-06-18 02:01:37 +00:00
..
atrun
bootpd Bump document date for the latest change. 2004-05-16 22:11:22 +00:00
comsat
fingerd Make fingerd(8) WARNS2 clean. 2004-03-29 09:29:51 +00:00
ftp-proxy Add skeleton build dirs for pf userland: 2004-02-28 21:50:50 +00:00
ftpd Simplify conditional compilation logic some. 2004-06-13 19:54:12 +00:00
getNAME
getty Fixed a misspelling of 0 as NULL. 2004-03-14 05:27:26 +00:00
lukemftpd - Added the NOPAM knob, for consistency with ${.CURDIR}/../ftpd. 2004-02-04 10:05:21 +00:00
mail.local Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
makekey Markup nit. 2004-05-16 22:11:56 +00:00
mknetid
named-xfer More correctly spell "-static" as "NOSHARED?=YES" 2003-06-17 20:07:49 +00:00
pppoed Replace all uses of the old netgraph constants NG_*LEN by the new 2003-11-15 15:26:35 +00:00
pt_chown
rbootd Include <netinet/in.h> for ntoh*() and hton*() prototypes. 2004-05-24 11:59:17 +00:00
revnetgroup
rexecd Include <stdlib.h> for exit() and abort() prototypes. 2004-05-24 13:21:24 +00:00
rlogind Fix a sign/unsigned comparison. 2003-05-04 00:43:39 +00:00
rpc.rquotad Eliminate last three uses of varargs.h in the tree. These three files 2003-09-01 04:12:18 +00:00
rpc.rstatd Put libdevstat before libkvm, because the former depends on the latter. 2004-02-04 10:20:43 +00:00
rpc.rusersd Include stdlib.h to get exit()'s prototype. 2003-06-02 02:35:18 +00:00
rpc.rwalld Removed unnecessary dependencies on librpcsvc. 2004-02-04 11:59:08 +00:00
rpc.sprayd
rshd Markup fixes. 2004-05-16 22:12:12 +00:00
rtld-aout
rtld-elf Fix the problem that surfaced with the new binutils import on sparc64 2004-06-18 02:01:37 +00:00
save-entropy Mark bits that do not require an object directory as such. 2003-04-01 12:37:54 +00:00
smrsh Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
talkd Whitespace. 2004-06-14 22:44:13 +00:00
tcpd Drop MAINTAINER Bit. Not needed any more. 2003-06-04 15:59:13 +00:00
telnetd Make sure that a "make release" (more accurately the bit that makes 2003-07-24 17:19:15 +00:00
tftpd - Close fd if fdopen(fd) fails. 2004-05-25 01:40:27 +00:00
ypxfr Don't pass a pointer to a 'long' to a function that expects an 'int *'. 2004-02-16 10:03:44 +00:00
Makefile Commit a crude hack so we get sparc64 snapshots working again with a 2004-06-17 16:08:20 +00:00
Makefile.inc