Index: Makefile.inc1 =================================================================== --- Makefile.inc1 (revision 258240) +++ Makefile.inc1 (working copy) @@ -1475,11 +1475,13 @@ _startup_libs+= gnu/lib/libgcc _startup_libs+= lib/libcompiler_rt _startup_libs+= lib/libc +_startup_libs+= lib/libc_nonshared .if ${MK_LIBCPLUSPLUS} != "no" _startup_libs+= lib/libcxxrt .endif gnu/lib/libgcc__L: lib/libc__L +gnu/lib/libgcc__L: lib/libc_nonshared__L .if ${MK_LIBCPLUSPLUS} != "no" lib/libcxxrt__L: gnu/lib/libgcc__L .endif Index: include/iconv.h =================================================================== --- include/iconv.h (revision 258240) +++ include/iconv.h (working copy) @@ -69,17 +69,12 @@ /* * GNU interfaces for iconv */ -/* We have iconvctl() */ -#define _ICONV_VERSION 0x0108 -extern int _iconv_version; - typedef struct { void *spaceholder[64]; } iconv_allocation_t; int iconv_open_into(const char *, const char *, iconv_allocation_t *); -void iconv_set_relocation_prefix(const char *orig_prefix, - const char *curr_prefix); +void iconv_set_relocation_prefix(const char *, const char *); /* * iconvctl() request macros Index: lib/Makefile =================================================================== --- lib/Makefile (revision 258240) +++ lib/Makefile (working copy) @@ -32,6 +32,7 @@ SUBDIR_ORDERED= ${_csu} \ libc \ + libc_nonshared \ libbsm \ libauditd \ libcompiler_rt \ Index: lib/libc/iconv/Makefile.inc =================================================================== --- lib/libc/iconv/Makefile.inc (revision 258240) +++ lib/libc/iconv/Makefile.inc (working copy) @@ -14,5 +14,5 @@ citrus_esdb.c citrus_hash.c citrus_iconv.c citrus_lookup.c \ citrus_lookup_factory.c citrus_mapper.c citrus_memstream.c \ citrus_mmap.c citrus_module.c citrus_none.c citrus_pivot_factory.c \ - citrus_prop.c citrus_stdenc.c iconv.c + citrus_prop.c citrus_stdenc.c iconv.c iconv_compat.c SYM_MAPS+= ${.CURDIR}/iconv/Symbol.map Index: lib/libc/iconv/Symbol.map =================================================================== --- lib/libc/iconv/Symbol.map (revision 258240) +++ lib/libc/iconv/Symbol.map (working copy) @@ -2,24 +2,19 @@ * $FreeBSD$ */ -FBSD_1.2 { - __iconv; - __iconv_free_list; - __iconv_get_list; - iconv_canonicalize; -}; - FBSD_1.3 { - _iconv_version; - iconv; - iconv_open; - iconv_close; - iconv_open_into; - iconv_set_relocation_prefix; - iconvctl; - iconvlist; + _bsd___iconv; + _bsd___iconv_free_list; + _bsd___iconv_get_list; + _bsd_iconv; + _bsd_iconv_canonicalize; + _bsd_iconv_close; + _bsd_iconv_open; + _bsd_iconv_open_into; + _bsd_iconv_set_relocation_prefix; + _bsd_iconvctl; + _bsd_iconvlist; }; - FBSDprivate_1.0 { _citrus_bcs_convert_to_lower; _citrus_bcs_convert_to_upper; Index: lib/libc/iconv/iconv-compat.h =================================================================== --- lib/libc/iconv/iconv-compat.h (revision 0) +++ lib/libc/iconv/iconv-compat.h (working copy) @@ -0,0 +1,16 @@ +/* $FreeBSD$ */ + +size_t __iconv(iconv_t, const char **, size_t *, char **, + size_t *, __uint32_t, size_t *); +void __iconv_free_list(char **, size_t); +int __iconv_get_list(char ***, size_t *, __iconv_bool); +size_t iconv(iconv_t, const char ** __restrict, + size_t * __restrict, char ** __restrict, + size_t * __restrict); +const char * iconv_canonicalize(const char *); +int iconv_close(iconv_t); +iconv_t iconv_open(const char *, const char *); +int iconv_open_into(const char *, const char *, iconv_allocation_t *); +void iconv_set_relocation_prefix(const char *, const char *); +int iconvctl(iconv_t, int, void *); +void iconvlist(int (*) (unsigned int, const char * const *, void *), void *); Property changes on: lib/libc/iconv/iconv-compat.h ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc/iconv/iconv-namespace.h =================================================================== --- lib/libc/iconv/iconv-namespace.h (revision 0) +++ lib/libc/iconv/iconv-namespace.h (working copy) @@ -0,0 +1,14 @@ +/* $FreeBSD$ */ + +/* Keep the implementation a little more private */ +#define __iconv _bsd___iconv +#define __iconv_free_list _bsd___iconv_free_list +#define __iconv_get_list _bsd___iconv_get_list +#define iconv _bsd_iconv +#define iconv_canonicalize _bsd_iconv_canonicalize +#define iconv_close _bsd_iconv_close +#define iconv_open _bsd_iconv_open +#define iconv_open_into _bsd_iconv_open_into +#define iconv_set_relocation_prefix _bsd_iconv_set_relocation_prefix +#define iconvctl _bsd_iconvctl +#define iconvlist _bsd_iconvlist Property changes on: lib/libc/iconv/iconv-namespace.h ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc/iconv/iconv-unnamespace.h =================================================================== --- lib/libc/iconv/iconv-unnamespace.h (revision 0) +++ lib/libc/iconv/iconv-unnamespace.h (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#undef __iconv +#undef __iconv_free_list +#undef __iconv_get_list +#undef iconv +#undef iconv_canonicalize +#undef iconv_close +#undef iconv_open +#undef iconv_open_into +#undef iconv_set_relocation_prefix +#undef iconvctl +#undef iconvlist Property changes on: lib/libc/iconv/iconv-unnamespace.h ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc/iconv/iconv.c =================================================================== --- lib/libc/iconv/iconv.c (revision 258240) +++ lib/libc/iconv/iconv.c (working copy) @@ -28,6 +28,8 @@ * SUCH DAMAGE. */ +#include "iconv-namespace.h" + #include #include #include @@ -49,13 +51,8 @@ #define ISBADF(_h_) (!(_h_) || (_h_) == (iconv_t)-1) -int _iconv_version = _ICONV_VERSION; - -iconv_t _iconv_open(const char *out, const char *in, - struct _citrus_iconv *prealloc); - -iconv_t -_iconv_open(const char *out, const char *in, struct _citrus_iconv *handle) +static iconv_t +_bsd___iconv_open(const char *out, const char *in, struct _citrus_iconv *handle) { const char *out_slashes; char *out_noslashes; @@ -92,23 +89,23 @@ } iconv_t -iconv_open(const char *out, const char *in) +_bsd_iconv_open(const char *out, const char *in) { - return (_iconv_open(out, in, NULL)); + return (_bsd___iconv_open(out, in, NULL)); } int -iconv_open_into(const char *out, const char *in, iconv_allocation_t *ptr) +_bsd_iconv_open_into(const char *out, const char *in, iconv_allocation_t *ptr) { struct _citrus_iconv *handle; handle = (struct _citrus_iconv *)ptr; - return ((_iconv_open(out, in, handle) == (iconv_t)-1) ? -1 : 0); + return ((_bsd___iconv_open(out, in, handle) == (iconv_t)-1) ? -1 : 0); } int -iconv_close(iconv_t handle) +_bsd_iconv_close(iconv_t handle) { if (ISBADF(handle)) { @@ -122,7 +119,7 @@ } size_t -iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout) +_bsd_iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout) { size_t ret; int err; @@ -143,7 +140,7 @@ } size_t -__iconv(iconv_t handle, const char **in, size_t *szin, char **out, +_bsd___iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout, uint32_t flags, size_t *invalids) { size_t ret; @@ -167,7 +164,7 @@ } int -__iconv_get_list(char ***rlist, size_t *rsz, bool sorted) +_bsd___iconv_get_list(char ***rlist, size_t *rsz, bool sorted) { int ret; @@ -181,7 +178,7 @@ } void -__iconv_free_list(char **list, size_t sz) +_bsd___iconv_free_list(char **list, size_t sz) { _citrus_esdb_free_list(list, sz); @@ -202,7 +199,7 @@ } void -iconvlist(int (*do_one) (unsigned int, const char * const *, +_bsd_iconvlist(int (*do_one) (unsigned int, const char * const *, void *), void *data) { char **list, **names; @@ -213,7 +210,7 @@ i = 0; - if (__iconv_get_list(&list, &sz, true)) + if (_bsd___iconv_get_list(&list, &sz, true)) list = NULL; qsort((void *)list, sz, sizeof(char *), qsort_helper); while (i < sz) { @@ -222,7 +219,7 @@ curkey = (char *)malloc(slashpos - list[i] + 2); names = (char **)malloc(sz * sizeof(char *)); if ((curkey == NULL) || (names == NULL)) { - __iconv_free_list(list, sz); + _bsd___iconv_free_list(list, sz); return; } strlcpy(curkey, list[i], slashpos - list[i] + 1); @@ -231,7 +228,7 @@ slashpos = strchr(list[i], '/'); curitem = (char *)malloc(strlen(slashpos) + 1); if (curitem == NULL) { - __iconv_free_list(list, sz); + _bsd___iconv_free_list(list, sz); return; } strlcpy(curitem, &slashpos[1], strlen(slashpos) + 1); @@ -245,11 +242,11 @@ free(names); } - __iconv_free_list(list, sz); + _bsd___iconv_free_list(list, sz); } -__inline const char -*iconv_canonicalize(const char *name) +__inline const char * +_bsd_iconv_canonicalize(const char *name) { return (_citrus_iconv_canonicalize(name)); @@ -256,7 +253,7 @@ } int -iconvctl(iconv_t cd, int request, void *argument) +_bsd_iconvctl(iconv_t cd, int request, void *argument) { struct _citrus_iconv *cv; struct iconv_hooks *hooks; @@ -308,7 +305,7 @@ } void -iconv_set_relocation_prefix(const char *orig_prefix __unused, +_bsd_iconv_set_relocation_prefix(const char *orig_prefix __unused, const char *curr_prefix __unused) { Index: lib/libc/iconv/iconv_compat.c =================================================================== --- lib/libc/iconv/iconv_compat.c (revision 0) +++ lib/libc/iconv/iconv_compat.c (working copy) @@ -0,0 +1,91 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +size_t +__iconv_compat(iconv_t a, const char ** b, size_t * c, char ** d, + size_t * e, __uint32_t f, size_t *g) +{ + return _bsd___iconv(a, b, c, d, e, f, g); +} + +void +__iconv_free_list_compat(char ** a, size_t b) +{ + _bsd___iconv_free_list(a, b); +} + +int +__iconv_get_list_compat(char ***a, size_t *b, __iconv_bool c) +{ + return _bsd___iconv_get_list(a, b, c); +} + +size_t +iconv_compat(iconv_t a, const char ** __restrict b, + size_t * __restrict c, char ** __restrict d, + size_t * __restrict e) +{ + return _bsd_iconv(a, b, c, d, e); +} + +const char * +iconv_canonicalize_compat(const char *a) +{ + return _bsd_iconv_canonicalize(a); +} + +int +iconv_close_compat(iconv_t a) +{ + return _bsd_iconv_close(a); +} + +iconv_t +iconv_open_compat(const char *a, const char *b) +{ + return _bsd_iconv_open(a, b); +} + +int +iconv_open_into_compat(const char *a, const char *b, iconv_allocation_t *c) +{ + return _bsd_iconv_open_into(a, b, c); +} + +void +iconv_set_relocation_prefix_compat(const char *a, const char *b) +{ + return _bsd_iconv_set_relocation_prefix(a, b); +} + +int +iconvctl_compat(iconv_t a, int b, void *c) +{ + return _bsd_iconvctl(a, b, c); +} + +void +iconvlist_compat(int (*a) (unsigned int, const char * const *, void *), void *b) +{ + return _bsd_iconvlist(a, b); +} + +int _iconv_version_compat = 0x0108; /* Magic */ + +__sym_compat(__iconv, __iconv_compat, FBSD_1.2); +__sym_compat(__iconv_free_list, __iconv_free_list_compat, FBSD_1.2); +__sym_compat(__iconv_get_list, __iconv_get_list_compat, FBSD_1.2); +__sym_compat(iconv_canonicalize, iconv_canonicalize_compat, FBSD_1.2); +__sym_compat(_iconv_version, _iconv_version_compat, FBSD_1.3); +__sym_compat(iconv, iconv_compat, FBSD_1.3); +__sym_compat(iconv_open, iconv_open_compat, FBSD_1.3); +__sym_compat(iconv_close, iconv_close_compat, FBSD_1.3); +__sym_compat(iconv_open_into, iconv_open_into_compat, FBSD_1.3); +__sym_compat(iconv_set_relocation_prefix, iconv_set_relocation_prefix_compat, FBSD_1.3); +__sym_compat(iconvctl, iconvctl_compat, FBSD_1.3); +__sym_compat(iconvlist, iconvlist_compat, FBSD_1.3); Property changes on: lib/libc/iconv/iconv_compat.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc/libc.ldscript =================================================================== --- lib/libc/libc.ldscript (revision 258240) +++ lib/libc/libc.ldscript (working copy) @@ -1,2 +1,2 @@ /* $FreeBSD$ */ -GROUP ( @@SHLIB@@ @@LIBDIR@@/libssp_nonshared.a ) +GROUP ( @@SHLIB@@ @@LIBDIR@@/libc_nonshared.a @@LIBDIR@@/libssp_nonshared.a ) Index: lib/libc_nonshared/Makefile =================================================================== --- lib/libc_nonshared/Makefile (revision 0) +++ lib/libc_nonshared/Makefile (working copy) @@ -0,0 +1,26 @@ +# $FreeBSD$ + +# We're actually creating a libc_noshared.a that is PIC along side libc.so.* +# It is used exclusively with libc.so.* - there is no need for any other +# compile modes. +# bsd.lib.mk doesn't have an easy way to express that. +NO_PROFILE?= +.include +NO_PIC= +# -fpic on some platforms, -fPIC on others. +CFLAGS+=${PICFLAG} + +LIB= c_nonshared + +# So that an empty .a file doesn't cause errors. +SRCS= __stub.c + +.if ${MK_ICONV} == "yes" +SRCS+= __iconv.c __iconv_free_list.c __iconv_get_list.c \ + iconv.c iconv_canonicalize.c iconv_close.c iconv_open.c iconv_open_into.c \ + iconv_set_relocation_prefix.c iconvctl.c iconvlist.c +CFLAGS+=-I${.CURDIR}/../libc/iconv +.endif + +.include + Property changes on: lib/libc_nonshared/Makefile ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/__iconv.c =================================================================== --- lib/libc_nonshared/__iconv.c (revision 0) +++ lib/libc_nonshared/__iconv.c (working copy) @@ -0,0 +1,14 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +size_t +__iconv(iconv_t a, const char **b, size_t *c, char **d, + size_t *e, __uint32_t f, size_t *g) +{ + return _bsd___iconv(a, b, c, d, e, f, g); +} Property changes on: lib/libc_nonshared/__iconv.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/__iconv_free_list.c =================================================================== --- lib/libc_nonshared/__iconv_free_list.c (revision 0) +++ lib/libc_nonshared/__iconv_free_list.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +void +__iconv_free_list(char **a, size_t b) +{ + _bsd___iconv_free_list(a, b); +} Property changes on: lib/libc_nonshared/__iconv_free_list.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/__iconv_get_list.c =================================================================== --- lib/libc_nonshared/__iconv_get_list.c (revision 0) +++ lib/libc_nonshared/__iconv_get_list.c (working copy) @@ -0,0 +1,12 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" +int +__iconv_get_list(char ***a, size_t *b, __iconv_bool c) +{ + return _bsd___iconv_get_list(a, b, c); +} Property changes on: lib/libc_nonshared/__iconv_get_list.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/__stub.c =================================================================== --- lib/libc_nonshared/__stub.c (revision 0) +++ lib/libc_nonshared/__stub.c (working copy) @@ -0,0 +1,5 @@ +/* $FreeBSD$ */ + +extern int __stub_N8TwezWFyocUB_hello_nsa; + +int __stub_N8TwezWFyocUB_hello_nsa = 42; Property changes on: lib/libc_nonshared/__stub.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/iconv.c =================================================================== --- lib/libc_nonshared/iconv.c (revision 0) +++ lib/libc_nonshared/iconv.c (working copy) @@ -0,0 +1,15 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +size_t +iconv(iconv_t a, const char ** __restrict b, + size_t * __restrict c, char ** __restrict d, + size_t * __restrict e) +{ + return _bsd_iconv(a, b, c, d, e); +} Property changes on: lib/libc_nonshared/iconv.c ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Index: lib/libc_nonshared/iconv_canonicalize.c =================================================================== --- lib/libc_nonshared/iconv_canonicalize.c (revision 0) +++ lib/libc_nonshared/iconv_canonicalize.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +const char * +iconv_canonicalize(const char *a) +{ + return _bsd_iconv_canonicalize(a); +} Property changes on: lib/libc_nonshared/iconv_canonicalize.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/iconv_close.c =================================================================== --- lib/libc_nonshared/iconv_close.c (revision 0) +++ lib/libc_nonshared/iconv_close.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +int +iconv_close(iconv_t a) +{ + return _bsd_iconv_close(a); +} Property changes on: lib/libc_nonshared/iconv_close.c ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Index: lib/libc_nonshared/iconv_open.c =================================================================== --- lib/libc_nonshared/iconv_open.c (revision 0) +++ lib/libc_nonshared/iconv_open.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +iconv_t +iconv_open(const char *a, const char *b) +{ + return _bsd_iconv_open(a, b); +} Property changes on: lib/libc_nonshared/iconv_open.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/iconv_open_into.c =================================================================== --- lib/libc_nonshared/iconv_open_into.c (revision 0) +++ lib/libc_nonshared/iconv_open_into.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +int +iconv_open_into(const char *a, const char *b, iconv_allocation_t *c) +{ + return _bsd_iconv_open_into(a, b, c); +} Property changes on: lib/libc_nonshared/iconv_open_into.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/iconv_set_relocation_prefix.c =================================================================== --- lib/libc_nonshared/iconv_set_relocation_prefix.c (revision 0) +++ lib/libc_nonshared/iconv_set_relocation_prefix.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +void +iconv_set_relocation_prefix(const char *a, const char *b) +{ + return _bsd_iconv_set_relocation_prefix(a, b); +} Property changes on: lib/libc_nonshared/iconv_set_relocation_prefix.c ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Index: lib/libc_nonshared/iconvctl.c =================================================================== --- lib/libc_nonshared/iconvctl.c (revision 0) +++ lib/libc_nonshared/iconvctl.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +int +iconvctl(iconv_t a, int b, void *c) +{ + return _bsd_iconvctl(a, b, c); +} Property changes on: lib/libc_nonshared/iconvctl.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: lib/libc_nonshared/iconvlist.c =================================================================== --- lib/libc_nonshared/iconvlist.c (revision 0) +++ lib/libc_nonshared/iconvlist.c (working copy) @@ -0,0 +1,13 @@ +/* $FreeBSD$ */ + +#include "iconv-namespace.h" +#include +#include +#include "iconv-unnamespace.h" +#include "iconv-compat.h" + +void +iconvlist(int (*a) (unsigned int, const char * const *, void *), void *b) +{ + return _bsd_iconvlist(a, b); +} Property changes on: lib/libc_nonshared/iconvlist.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property