diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch | 62 |
1 files changed, 47 insertions, 15 deletions
diff --git a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch index d9985c2fdc..27cd17cdcd 100644 --- a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch | |||
@@ -17,11 +17,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | locale/localeinfo.h | 2 +- | 17 | locale/localeinfo.h | 2 +- |
18 | 3 files changed, 4 insertions(+), 4 deletions(-) | 18 | 3 files changed, 4 insertions(+), 4 deletions(-) |
19 | 19 | ||
20 | diff --git a/locale/findlocale.c b/locale/findlocale.c | 20 | Index: git/locale/findlocale.c |
21 | index 9cd3b71a6d..84272310e0 100644 | 21 | =================================================================== |
22 | --- a/locale/findlocale.c | 22 | --- git.orig/locale/findlocale.c |
23 | +++ b/locale/findlocale.c | 23 | +++ git/locale/findlocale.c |
24 | @@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden = | 24 | @@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attr |
25 | which are somehow addressed. */ | 25 | which are somehow addressed. */ |
26 | struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST]; | 26 | struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST]; |
27 | 27 | ||
@@ -30,7 +30,7 @@ index 9cd3b71a6d..84272310e0 100644 | |||
30 | 30 | ||
31 | /* Checks if the name is actually present, that is, not NULL and not | 31 | /* Checks if the name is actually present, that is, not NULL and not |
32 | empty. */ | 32 | empty. */ |
33 | @@ -166,7 +166,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len, | 33 | @@ -166,7 +166,7 @@ _nl_find_locale (const char *locale_path |
34 | 34 | ||
35 | /* Nothing in the archive. Set the default path to search below. */ | 35 | /* Nothing in the archive. Set the default path to search below. */ |
36 | locale_path = _nl_default_locale_path; | 36 | locale_path = _nl_default_locale_path; |
@@ -39,10 +39,10 @@ index 9cd3b71a6d..84272310e0 100644 | |||
39 | } | 39 | } |
40 | else | 40 | else |
41 | /* We really have to load some data. First see whether the name is | 41 | /* We really have to load some data. First see whether the name is |
42 | diff --git a/locale/loadarchive.c b/locale/loadarchive.c | 42 | Index: git/locale/loadarchive.c |
43 | index ba0fe45648..9737fd4cda 100644 | 43 | =================================================================== |
44 | --- a/locale/loadarchive.c | 44 | --- git.orig/locale/loadarchive.c |
45 | +++ b/locale/loadarchive.c | 45 | +++ git/locale/loadarchive.c |
46 | @@ -42,7 +42,7 @@ | 46 | @@ -42,7 +42,7 @@ |
47 | 47 | ||
48 | 48 | ||
@@ -52,11 +52,11 @@ index ba0fe45648..9737fd4cda 100644 | |||
52 | 52 | ||
53 | /* Size of initial mapping window, optimal if large enough to | 53 | /* Size of initial mapping window, optimal if large enough to |
54 | cover the header plus the initial locale. */ | 54 | cover the header plus the initial locale. */ |
55 | diff --git a/locale/localeinfo.h b/locale/localeinfo.h | 55 | Index: git/locale/localeinfo.h |
56 | index 1bfe22aa7f..fdc283c69a 100644 | 56 | =================================================================== |
57 | --- a/locale/localeinfo.h | 57 | --- git.orig/locale/localeinfo.h |
58 | +++ b/locale/localeinfo.h | 58 | +++ git/locale/localeinfo.h |
59 | @@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int category, int item) | 59 | @@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int categor |
60 | } | 60 | } |
61 | 61 | ||
62 | /* Default search path if no LOCPATH environment variable. */ | 62 | /* Default search path if no LOCPATH environment variable. */ |
@@ -65,3 +65,35 @@ index 1bfe22aa7f..fdc283c69a 100644 | |||
65 | 65 | ||
66 | /* Load the locale data for CATEGORY from the file specified by *NAME. | 66 | /* Load the locale data for CATEGORY from the file specified by *NAME. |
67 | If *NAME is "", use environment variables as specified by POSIX, and | 67 | If *NAME is "", use environment variables as specified by POSIX, and |
68 | Index: git/locale/programs/locale.c | ||
69 | =================================================================== | ||
70 | --- git.orig/locale/programs/locale.c | ||
71 | +++ git/locale/programs/locale.c | ||
72 | @@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b | ||
73 | ((const struct nameent *) b)->name); | ||
74 | } | ||
75 | |||
76 | +static char _write_archive_locales_path[4096] attribute_hidden __attribute__ ((section (".gccrelocprefix"))) = ARCHIVE_NAME; | ||
77 | |||
78 | static int | ||
79 | write_archive_locales (void **all_datap, char *linebuf) | ||
80 | @@ -645,7 +646,7 @@ write_archive_locales (void **all_datap, | ||
81 | int fd, ret = 0; | ||
82 | uint32_t cnt; | ||
83 | |||
84 | - fd = open64 (ARCHIVE_NAME, O_RDONLY); | ||
85 | + fd = open64 (_write_archive_locales_path, O_RDONLY); | ||
86 | if (fd < 0) | ||
87 | return 0; | ||
88 | |||
89 | @@ -700,8 +701,8 @@ write_archive_locales (void **all_datap, | ||
90 | if (cnt) | ||
91 | putchar_unlocked ('\n'); | ||
92 | |||
93 | - printf ("locale: %-15.15s archive: " ARCHIVE_NAME "\n%s\n", | ||
94 | - names[cnt].name, linebuf); | ||
95 | + printf ("locale: %-15.15s archive: %s\n%s\n", | ||
96 | + names[cnt].name, _write_archive_locales_path, linebuf); | ||
97 | |||
98 | locrec = (struct locrecent *) (addr + names[cnt].locrec_offset); | ||
99 | |||