diff options
| author | Ross Burton <ross.burton@intel.com> | 2018-03-01 18:26:27 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-04-05 15:13:47 +0100 |
| commit | 8d9783464a7e7e366404b779f44cafbdc3d38a4c (patch) | |
| tree | c46b1244031dee7221a799576074685359ebf343 | |
| parent | 8e6c4c3164887453f456759beb72729389a70fdf (diff) | |
| download | poky-8d9783464a7e7e366404b779f44cafbdc3d38a4c.tar.gz | |
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>
| -rw-r--r-- | meta/recipes-core/glibc/glibc/relocate-locales.patch | 33 | ||||
| -rw-r--r-- | meta/recipes-core/glibc/glibc_2.24.bb | 1 |
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 @@ | |||
| 1 | The glibc locale path is hard-coded to the install prefix, but in SDKs we need | ||
| 2 | to be able to relocate the binaries. Expand the strings to 4K and put them in a | ||
| 3 | magic segment that we can relocate at install time. | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate (OE-specific) | ||
| 6 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 7 | |||
| 8 | Index: 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 | ||
| 21 | Index: 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 | ||
| 70 | S = "${WORKDIR}/git" | 71 | S = "${WORKDIR}/git" |
