[Buildroot] [PATCH 2/2] uclibc: Do not include __iconv_codesets into iconv utility

Vicente Olivert Riera Vincent.Riera at imgtec.com
Fri Oct 24 12:34:30 UTC 2014


Backporting an upstream patch to fix a problem in the install step:

make[1]: Entering directory `/br/output/build/uclibc-0.9.31.1'
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 <Vincent.Riera at imgtec.com>
---
 ...clude-__iconv_codesets-into-iconv-utility.patch |   79 ++++++++++++++++++++
 ...clude-__iconv_codesets-into-iconv-utility.patch |   79 ++++++++++++++++++++
 2 files changed, 158 insertions(+), 0 deletions(-)
 create mode 100644 package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
 create mode 100644 package/uclibc/0.9.33.2/0065-Do-not-include-__iconv_codesets-into-iconv-utility.patch

diff --git a/package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch b/package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
new file mode 100644
index 0000000..4b6a701
--- /dev/null
+++ b/package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
@@ -0,0 +1,79 @@
+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.31.1'
+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 <Vincent.Riera at imgtec.com>
+
+From d46dc8bc88e38251bfa3712efe7abf62933f5419 Mon Sep 17 00:00:00 2001
+From: Peter S. Mazinger <ps.m at gmx.net>
+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 <ps.m at gmx.net>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
+---
+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 <wchar.h>
+ #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
diff --git a/package/uclibc/0.9.33.2/0065-Do-not-include-__iconv_codesets-into-iconv-utility.patch b/package/uclibc/0.9.33.2/0065-Do-not-include-__iconv_codesets-into-iconv-utility.patch
new file mode 100644
index 0000000..a6b5b5e
--- /dev/null
+++ b/package/uclibc/0.9.33.2/0065-Do-not-include-__iconv_codesets-into-iconv-utility.patch
@@ -0,0 +1,79 @@
+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 <Vincent.Riera at imgtec.com>
+
+From d46dc8bc88e38251bfa3712efe7abf62933f5419 Mon Sep 17 00:00:00 2001
+From: Peter S. Mazinger <ps.m at gmx.net>
+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 <ps.m at gmx.net>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
+---
+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 <wchar.h>
+ #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
-- 
1.7.1




More information about the buildroot mailing list