mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
glibc: relocate locale paths in nativesdk
nativesdk is built with a specific prefix but this will be different at install time, however glibc hard-codes the path to locale files. Expand these strings to 4K and move them to a magic segment which we can relocate when the SDK is installed. (From OE-Core rev: 59e0679378aac27c4fea0b06721e0a184a93c100) (From OE-Core rev: c1f220f89496de51d3aa6eacd42cd8d3ddaad104) (From OE-Core rev: 39d0aca4e3e4e1115ee9db64e84625f5827ea50f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (From OE-Core rev: e1faf9ac7e89d33aba33547ede19a10aaa034207) Fixup patch Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
8e6c4c3164
commit
8d9783464a
33
meta/recipes-core/glibc/glibc/relocate-locales.patch
Normal file
33
meta/recipes-core/glibc/glibc/relocate-locales.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
The glibc locale path is hard-coded to the install prefix, but in SDKs we need
|
||||
to be able to relocate the binaries. Expand the strings to 4K and put them in a
|
||||
magic segment that we can relocate at install time.
|
||||
|
||||
Upstream-Status: Inappropriate (OE-specific)
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
Index: git/locale/localeinfo.h
|
||||
===================================================================
|
||||
--- git.orig/locale/localeinfo.h
|
||||
+++ git/locale/localeinfo.h
|
||||
@@ -325,7 +325,7 @@ _nl_lookup_word (locale_t l, int categor
|
||||
}
|
||||
|
||||
/* Default search path if no LOCPATH environment variable. */
|
||||
-extern char _nl_default_locale_path[] attribute_hidden;
|
||||
+extern char _nl_default_locale_path[4096] attribute_hidden;
|
||||
|
||||
/* Load the locale data for CATEGORY from the file specified by *NAME.
|
||||
If *NAME is "", use environment variables as specified by POSIX, and
|
||||
Index: git/locale/loadarchive.c
|
||||
===================================================================
|
||||
--- git.orig/locale/loadarchive.c
|
||||
+++ git/locale/loadarchive.c
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
|
||||
/* Name of the locale archive file. */
|
||||
-static const char archfname[] = COMPLOCALEDIR "/locale-archive";
|
||||
+static const char archfname[4096] __attribute__ ((section (".gccrelocprefix"))) = COMPLOCALEDIR "/locale-archive";
|
||||
|
||||
/* Size of initial mapping window, optimal if large enough to
|
||||
cover the header plus the initial locale. */
|
|
@ -65,6 +65,7 @@ SRC_URI_append_class-nativesdk = "\
|
|||
file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
|
||||
file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
|
||||
file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
|
||||
file://relocate-locales.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
|
Loading…
Reference in New Issue
Block a user