aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/relocate-locales.patch
blob: 11f7df4acae52686f0f1a412c059b722ebe10a66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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.  */