summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-core/glibc/glibc/relocate-locales.patch33
-rw-r--r--meta/recipes-core/glibc/glibc_2.24.bb1
2 files changed, 34 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc/relocate-locales.patch b/meta/recipes-core/glibc/glibc/relocate-locales.patch
new file mode 100644
index 0000000000..11f7df4aca
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/relocate-locales.patch
@@ -0,0 +1,33 @@
1The glibc locale path is hard-coded to the install prefix, but in SDKs we need
2to be able to relocate the binaries. Expand the strings to 4K and put them in a
3magic segment that we can relocate at install time.
4
5Upstream-Status: Inappropriate (OE-specific)
6Signed-off-by: Ross Burton <ross.burton@intel.com>
7
8Index: git/locale/localeinfo.h
9===================================================================
10--- git.orig/locale/localeinfo.h
11+++ git/locale/localeinfo.h
12@@ -325,7 +325,7 @@ _nl_lookup_word (locale_t l, int categor
13 }
14
15 /* Default search path if no LOCPATH environment variable. */
16-extern char _nl_default_locale_path[] attribute_hidden;
17+extern char _nl_default_locale_path[4096] attribute_hidden;
18
19 /* Load the locale data for CATEGORY from the file specified by *NAME.
20 If *NAME is "", use environment variables as specified by POSIX, and
21Index: git/locale/loadarchive.c
22===================================================================
23--- git.orig/locale/loadarchive.c
24+++ git/locale/loadarchive.c
25@@ -42,7 +42,7 @@
26
27
28 /* Name of the locale archive file. */
29-static const char archfname[] = COMPLOCALEDIR "/locale-archive";
30+static const char archfname[4096] __attribute__ ((section (".gccrelocprefix"))) = COMPLOCALEDIR "/locale-archive";
31
32 /* Size of initial mapping window, optimal if large enough to
33 cover the header plus the initial locale. */
diff --git a/meta/recipes-core/glibc/glibc_2.24.bb b/meta/recipes-core/glibc/glibc_2.24.bb
index 616f4e9817..94df4fc948 100644
--- a/meta/recipes-core/glibc/glibc_2.24.bb
+++ b/meta/recipes-core/glibc/glibc_2.24.bb
@@ -65,6 +65,7 @@ SRC_URI_append_class-nativesdk = "\
65 file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ 65 file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
66 file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ 66 file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
67 file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ 67 file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
68 file://relocate-locales.patch \
68" 69"
69 70
70S = "${WORKDIR}/git" 71S = "${WORKDIR}/git"