glibc: Add relocation of GCONV_PATH

We're seeing various failures where nativesdk glibc can't find the gconv
modules. We've tried various workaround but this needs fixing 'properly'.
One significant problem is knowing when a binary would use this glibc
and hence when to set the path and when not to.

Add the default path to its own special section which the sdk
relocation script already knows how to handle and remap.

This significantly improves the usability of uninative.

(From OE-Core rev: d40cb4a359dbc5d762fabd996c29e468f5398dd9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2016-03-07 10:46:11 +00:00
parent 8dca343178
commit 034618dbee
1 changed files with 13 additions and 3 deletions

View File

@ -121,6 +121,16 @@ index 70d4aeb..5c726d0 100644
#ifndef add_system_dir
# define add_system_dir(dir) add_dir (dir)
#endif
--
2.6.4
Index: git/iconv/gconv_conf.c
===================================================================
--- git.orig/iconv/gconv_conf.c
+++ git/iconv/gconv_conf.c
@@ -36,7 +36,7 @@
/* This is the default path where we look for module lists. */
-static const char default_gconv_path[] = GCONV_PATH;
+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
/* The path elements, as determined by the __gconv_get_path function.
All path elements end in a slash. */