freebsd-dev/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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
a.out.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
ar.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 Remove some OpenSolaris compatibility stuff now that we're doing it a 2007-11-28 22:09:12 +00:00
err.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fmtmsg.h Fix a small typo. Fireware -> firmware. 2012-06-05 19:42:57 +00:00
fnmatch.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fstab.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fts.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
ftw.h
getopt.h Remove NetBSD Foundation clauses 3 & 4. They eliminated those clauses 2010-02-16 19:28:10 +00:00
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 Remove NetBSD Foundation clauses 3 & 4. They eliminated those clauses 2010-02-16 19:28:10 +00:00
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 Add basename_r(3) to complement basename(3). basename_r(3) which accepts 2009-10-06 14:05:57 +00:00
limits.h POSIX.1-2008 moved some constants from the XSI option to the Base. 2011-03-04 19:28:27 +00:00
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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
mqueue.h POSIX requires sigevent to be visible after mqueue.h is included. 2012-09-10 05:12:45 +00:00
ndbm.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 Remove NetBSD Foundation clauses 3 & 4. They eliminated those clauses 2010-02-16 19:28:10 +00:00
nlist.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
nss.h
nsswitch.h Add capability to use a db version of services. It is enabled by 2010-04-04 08:31:03 +00:00
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 Introduce a non-portable function pthread_getthreadid_np(3) to retrieve 2011-02-07 21:26:46 +00:00
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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
readpassphrase.h Sync with OpenBSD, primarily better signal and terminal handling. 2010-11-13 10:38:06 +00:00
regex.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
res_update.h Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
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 Use umtx to implement process sharable semaphore, to make this work, 2010-01-05 02:37:59 +00:00
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 Remove __restrict keywords from array arguments to make GCC's -std=c99 work. 2008-06-19 07:30:32 +00:00
stab.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 This should read #if __BSD_VISIBLE instead of #ifdef __BSD_VISIBLE. 2010-01-04 18:46:54 +00:00
sysexits.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
tar.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
termios.h Add a new libc function: cfmakesane(3). 2010-11-02 17:00:56 +00:00
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 Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
timers.h
ttyent.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
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 Also the stop function should accept 64-bit exception class. 2010-09-30 03:16:35 +00:00
utime.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
utmpx.h Implement <utmpx.h>. 2010-01-13 17:29:55 +00:00
uuid.h Add missing prototypes for uuid_enc,dec_le,be() functions. 2008-09-15 23:47:19 +00:00
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