1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-02 12:20:51 +00:00
freebsd/include
Peter Wemm 091b8336ae Attempt to move the POSIX iconv* symbols out of runtime linker space.
FreeBSD systems usually implemented this as a third party module and
our implementation hasn't played as nicely with the old way as it could
have.

To that end:
* Rename the iconv* symbols in libc.so.7 to have a __bsd_ prefix.
* Provide .symver compatability with existing 10.x+ binaries that
  referenced the iconv symbols. All existing binaries should work.
* Like on Linux/glibc systems, add a libc_nonshared.a to the ldscript
  at /usr/lib/libc.so.
* Move the "iconv*" wrapper symbols to libc_nonshared.a

This should solve the runtime ambiguity about which symbols resolve
to where.  If you compile against the iconv in libc, your runtime
dependencies will be unambiguous.

Old 9.x libraries and binaries will always resolve against their
libiconv.so.3 like they did on 9.x.  They won't resolve against libc.

Old 10.x binaries will be satisified by the .symver helpers.

This should allow ports to selectively compile against the libiconv
port if needed and it should behave without ambiguity now.

Discussed with:	 kib
2013-11-17 22:52:17 +00:00
..
arpa Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
gssapi Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import. 2013-06-30 07:46:22 +00:00
protocols Add proper prerequisites for even two more headers. 2013-05-21 21:50:11 +00:00
rpc rpc: convert all uid and gid variables to u_int. 2012-10-04 04:15:18 +00:00
rpcsvc - Correct mispellings of the word necessary 2013-04-17 11:42:40 +00:00
xlocale Add <uchar.h>. 2013-05-21 19:59:37 +00:00
_ctype.h
a.out.h
ar.h
assert.h Don't define static_assert for C++. 2011-12-29 14:41:17 +00:00
bitstring.h
complex.h I'm happy to finally commit stephen@'s implementations of cacos, 2013-05-30 04:49:26 +00:00
cpio.h
ctype.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
db.h
dirent.h Implement fdclosedir(3) function, which is equivalent to the closedir(3) 2013-08-18 20:11:34 +00:00
dlfcn.h Implement fdlopen(3), an rtld interface to load shared object by file 2012-01-07 10:33:01 +00:00
elf-hints.h
elf.h
err.h
fmtmsg.h Fix a small typo. Fireware -> firmware. 2012-06-05 19:42:57 +00:00
fnmatch.h
fstab.h
fts.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
ftw.h
getopt.h
glob.h - Add restrict keyword to glob(3) 2011-12-20 22:56:13 +00:00
grp.h Replace our version of the pwcache(3) API with NetBSD's implementation. 2012-10-19 12:44:22 +00:00
gssapi.h
hesiod.h
iconv.h Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
ifaddrs.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
inttypes.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
iso646.h Avoid accidental conflicts with C++ operator keywords. 2011-09-27 16:33:17 +00:00
kenv.h
langinfo.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
libgen.h
limits.h
link.h
locale.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00
Makefile Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm than 2013-11-03 19:04:57 +00:00
malloc_np.h Make the malloc(3) family of functions weak and make their non-weak 2013-05-25 18:59:11 +00:00
malloc.h
memory.h
mk-osreldate.sh Set proper permissions on the generated osreldate.h file; a file readable 2013-09-30 21:01:04 +00:00
monetary.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
mpool.h
mqueue.h POSIX requires sigevent to be visible after mqueue.h is included. 2012-09-10 05:12:45 +00:00
ndbm.h
netconfig.h
netdb.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
nl_types.h
nlist.h
nss.h
nsswitch.h
paths.h Assume that the -f argument is /dev/gpioc0 if it is not passed. 2013-09-17 11:48:47 +00:00
printf.h The register_printf_render_std() function expects regular string. 2012-07-04 17:35:07 +00:00
proc_service.h
pthread_np.h
pthread.h Add a dummy statement to the beginning of the pthread_cleanup_pop() macro 2013-10-22 19:53:52 +00:00
pwd.h Replace our version of the pwcache(3) API with NetBSD's implementation. 2012-10-19 12:44:22 +00:00
ranlib.h
readpassphrase.h
regex.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
res_update.h
resolv.h Spelling fixes for include/ 2012-01-07 16:10:15 +00:00
runetype.h After r232498, programs built with -ansi or -std=c89 including <ctype.h> 2012-03-06 20:15:23 +00:00
search.h
semaphore.h
setjmp.h Add a convenience macro for the returns_twice attribute, and apply it to 2012-04-29 11:04:31 +00:00
signal.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
spawn.h
stab.h
stdalign.h Add <stdalign.h> and <stdnoreturn.h>. 2011-12-25 20:51:40 +00:00
stdbool.h Remove unneeded guard. 2011-12-25 20:15:41 +00:00
stddef.h
stdio.h Add an implementation of open_memstream() and open_wmemstream(). These 2013-02-27 19:50:46 +00:00
stdlib.h Add mkostemp() and mkostemps(). 2013-08-09 17:24:23 +00:00
stdnoreturn.h Simply disallow <stdnoreturn.h> to be used in combination with C++. 2012-01-03 23:05:23 +00:00
string.h FreeBSD uses #if __BSD_VISIBLE to hide non-standard functions, fix this. 2013-02-14 19:26:58 +00:00
stringlist.h - sl_find does not modify 'name' 2013-04-23 13:03:03 +00:00
strings.h
sysexits.h
tar.h
termios.h
tgmath.h Enable improved <tgmath.h> for Clang even when not using C11. 2013-04-27 21:18:34 +00:00
time.h Add CLOCK_PROCESS_CPUTIME_ID to <time.h>, to synchronize the CLOCK_* 2013-01-14 18:01:19 +00:00
timeconv.h
timers.h
ttyent.h
uchar.h Fix <uchar.h> in for C++11. 2013-05-25 16:58:12 +00:00
ulimit.h
unistd.h Add dup3(), based on F_DUP2FD and F_DUP2FD_CLOEXEC fcntls. 2013-08-16 13:10:30 +00:00
unwind.h
utime.h
utmpx.h
uuid.h
varargs.h
wchar.h Add an implementation of open_memstream() and open_wmemstream(). These 2013-02-27 19:50:46 +00:00
wctype.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00
wordexp.h
xlocale.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00