uclibc: Do not include __iconv_codesets into iconv utility Backporting an upstream patch to fix a problem in the install step: make[1]: Entering directory `/br/output/build/uclibc-0.9.33.2' make[2]: Nothing to be done for `locale_headers'. CC utils/getconf STRIP -x -R .note -R .comment ../utils/getconf CC utils/iconv ../lib/libc.a(iconv.os):(.rodata+0x18): multiple definition of `__iconv_codesets' /tmp/ccVmV8Lq.o:(.rodata+0x18): first defined here collect2: error: ld returned 1 exit status Upstream commit: http://git.uclibc.org/uClibc/commit/?id=d46dc8bc88e38251bfa3712efe7abf62933f5419 Signed-off-by: Vicente Olivert Riera From d46dc8bc88e38251bfa3712efe7abf62933f5419 Mon Sep 17 00:00:00 2001 From: Peter S. Mazinger Date: Thu, 24 Mar 2011 00:15:25 +0000 Subject: iconv: Do not include __iconv_codesets into iconv utility Host iconv needs only L_iconv_main defined and __iconv_codesets has to included, as host system does not provide it. Keep __iconv_codesets out of iconv linked against uClibc. Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- diff --git a/libc/misc/wchar/wchar.c b/libc/misc/wchar/wchar.c index 412c557..0704096 100644 --- a/libc/misc/wchar/wchar.c +++ b/libc/misc/wchar/wchar.c @@ -1196,6 +1196,9 @@ libc_hidden_proto(__iconv_codesets) #endif #if defined L_iconv || defined L_iconv_main +# ifdef L_iconv_main +static +# endif const unsigned char __iconv_codesets[] = "\x0a\xe0""WCHAR_T\x00" /* superset of UCS-4 but platform-endian */ #if __BYTE_ORDER == __BIG_ENDIAN diff --git a/utils/Makefile.in b/utils/Makefile.in index bb85be3..1714d28 100644 --- a/utils/Makefile.in +++ b/utils/Makefile.in @@ -36,8 +36,7 @@ CFLAGS-ldd := $(CFLAGS-utils-shared) -DBUILDING_LINKAGE # Need CFLAGS-utils explicitly, because the source file is not located in utils CFLAGS-iconv := $(CFLAGS-utils) \ $(CFLAGS-utils-shared) \ - -I$(top_srcdir)libc/misc/wchar \ - -DL_iconv_main \ + -I$(top_srcdir)libc/misc/wchar CFLAGS-locale := $(CFLAGS-utils) CFLAGS-getconf :=$(CFLAGS-utils) \ diff --git a/utils/iconv.c b/utils/iconv.c index 04e2c32..a0260df 100644 --- a/utils/iconv.c +++ b/utils/iconv.c @@ -108,7 +108,12 @@ #include #include "wchar.c" /* for _UC_iconv_t and __iconv_codesets */ -extern const unsigned char __iconv_codesets[]; +#ifdef L_iconv_main +static +#else +extern +#endif +const unsigned char __iconv_codesets[]; #define IBUF BUFSIZ #define OBUF BUFSIZ -- cgit v0.9.1