freebsd-nq/lib/libc/iconv
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
..
__iconv_get_list.3
_strtol.h
_strtoul.h
citrus_aliasname_local.h
citrus_bcs_strtol.c
citrus_bcs_strtoul.c
citrus_bcs.c
citrus_bcs.h
citrus_csmapper.c Make it clear that there are three separate internal locks. 2013-07-03 18:35:21 +00:00
citrus_csmapper.h Fix typo in include guard, found by clang 3.4. 2013-11-08 17:23:37 +00:00
citrus_db_factory.c
citrus_db_factory.h
citrus_db_file.h
citrus_db_hash.c
citrus_db_hash.h
citrus_db.c
citrus_db.h
citrus_esdb_file.h
citrus_esdb.c
citrus_esdb.h
citrus_fix_grouping.h
citrus_hash.c
citrus_hash.h
citrus_iconv_local.h Fix the namespace pollution caused by iconv.h including stdbool.h 2013-09-06 09:46:44 +00:00
citrus_iconv.c Our libc iconv (unlike gnu iconv and the citrus code in NetBSD) has a 2013-08-08 01:53:27 +00:00
citrus_iconv.h Replace the #define for "iconv" so it is for the function name instead of 2013-07-03 07:03:19 +00:00
citrus_lock.h Make it clear that there are three separate internal locks. 2013-07-03 18:35:21 +00:00
citrus_lookup_factory.c
citrus_lookup_factory.h
citrus_lookup_file.h
citrus_lookup.c
citrus_lookup.h
citrus_mapper_local.h Let iconv build on -HEAD properly. 2013-05-23 18:07:01 +00:00
citrus_mapper.c Drop cm_lock before calling mapper_close, which in turn could call 2013-10-21 07:58:37 +00:00
citrus_mapper.h
citrus_memstream.c
citrus_memstream.h
citrus_mmap.c libc/iconv: Fix race condition with setting FD_CLOEXEC. 2012-12-17 10:38:51 +00:00
citrus_mmap.h
citrus_module.c Fix a problem whereby a corrupt DNS record can cause named to crash. [11:06] 2011-12-23 15:00:37 +00:00
citrus_module.h
citrus_namespace.h
citrus_none.c As a followup to r252547, propate const down the call stack. 2013-07-03 18:27:45 +00:00
citrus_none.h
citrus_pivot_factory.c
citrus_pivot_factory.h
citrus_pivot_file.h
citrus_prop.c
citrus_prop.h
citrus_region.h
citrus_stdenc_local.h As a followup to r252547, propate const down the call stack. 2013-07-03 18:27:45 +00:00
citrus_stdenc_template.h As a followup to r252547, propate const down the call stack. 2013-07-03 18:27:45 +00:00
citrus_stdenc.c
citrus_stdenc.h As a followup to r252547, propate const down the call stack. 2013-07-03 18:27:45 +00:00
citrus_types.h
iconv_canonicalize.3
iconv_compat.c Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00
iconv-internal.h Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00
iconv.3 Fix date. 2012-03-26 14:56:23 +00:00
iconv.c Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00
iconvctl.3 mdoc: add missing El macro. 2012-03-27 20:50:14 +00:00
iconvlist.3 Fix Fo arguments. 2012-03-28 19:20:28 +00:00
Makefile.inc Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00
Symbol.map Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00