freebsd-skq/lib/libc
Konstantin Belousov c8da4f07d7 Allow the NULL, RTLD_SELF and RTLD_NEXT handles to work with dlfunc(3).
dlfunc() called dlsym() to do the work, and dlsym() determines the dso
that originating the call by the return address. Due to this, dlfunc()
operated as if the caller is always the libc.

To fix this, move the dlfunc() to rtld, where it can call the internal
implementation of dlsym, and still correctly fetch return address.
Provide usual weak stub for the symbol from libc for static binaries.
dlfunc is put to FBSD_1.0 symver namespace in the ld.so export to
override dlfunc@FBSD_1.0 weak symbol, exported by libc.

Reported, analyzed and tested by:	Tijl Coosemans <tijl ulyssis org>
PR: standards/133339
Reviewed by:	kan
2009-04-03 19:17:23 +00:00
..
amd64 Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
arm These warnings are only relevant on NetBSD it seems. They don't seem 2009-02-19 19:53:58 +00:00
compat-43 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
db Add some casts to silence compiler warning about signedness. 2009-03-28 07:44:08 +00:00
gdtoa Unbreak the build for arm and powerpc. 2008-04-12 14:53:52 +00:00
gen Allow the NULL, RTLD_SELF and RTLD_NEXT handles to work with dlfunc(3). 2009-04-03 19:17:23 +00:00
gmon Remove .mcount from gmon's Symbol map and add it to the appropriate 2007-05-13 14:16:55 +00:00
i386 Unconditionally build wrappers for i386_get_ioperm(), i386_set_ioperm(), 2009-04-01 19:23:46 +00:00
ia64 Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
include Add support for the FPA floating-point format on ARM. The 2008-12-23 22:20:59 +00:00
inet Merge the resolver part of BIND 9.4.3 into HEAD. 2008-12-14 19:39:53 +00:00
isc Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
locale Change dstp to be const and remove bogus cast. 2009-01-15 20:45:59 +00:00
mips These warnings are only relevant on NetBSD it seems. They don't seem 2009-02-19 19:53:58 +00:00
nameser This commit was generated by cvs2svn to compensate for changes in r174223, 2007-12-03 15:07:58 +00:00
net Query DNS only once per an address family. 2009-03-29 17:55:11 +00:00
nls Improve the German translation. 2009-03-25 12:36:37 +00:00
posix1e Replace the non-standard disclaimer with the standard one from /COPYRIGHT 2008-11-04 00:20:43 +00:00
powerpc Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
quad Fix a typo that prevented the quad symbols from being exported 2007-07-06 13:42:24 +00:00
regex Add two example regexps: (1) one for matching all the characters 2008-09-05 17:41:20 +00:00
resolv Merge the resolver part of BIND 9.4.3 into HEAD. 2008-12-14 19:39:53 +00:00
rpc Remove a warning which is supposed to have been removed on 20030301. 2009-04-02 21:51:54 +00:00
softfloat Reflect license change from NetBSD. 2009-03-10 21:13:26 +00:00
sparc64 Provide a type for the argument. 2009-02-02 21:51:52 +00:00
stdio Add dprintf() and vdprintf() from POSIX.1-2008. Like getline(), 2009-03-04 03:38:51 +00:00
stdlib "-isoC-99" should be spelled without 'c'. 2009-03-01 05:44:28 +00:00
stdtime Pass a pointer to warn2 so the warn2 == IN_ALL would not be an 2008-10-30 00:19:19 +00:00
string 7.2 will be the first release where strndup() appears. 2009-03-22 15:29:12 +00:00
sys Properly update the shm_open/shm_unlink symbol versioning metadata after 2009-04-02 15:53:29 +00:00
uuid Move uuid_enc_le, uuid_dec_le, uuid_enc_be and uuid_dec_be symbols 2008-09-19 15:52:56 +00:00
xdr Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
yp Fix some "in in" typos in comments. 2008-03-26 07:32:08 +00:00
Makefile - Reenable Native Language Support in libc. This feature was disabled due 2009-03-13 10:40:38 +00:00
Versions.def Keep versions on a dependency chain to exclude even remote possiblity 2008-05-07 15:39:34 +00:00