diff options
| -rw-r--r-- | meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch index 9f9f503a1e..6e5085b9c9 100644 --- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch | |||
| @@ -65,6 +65,36 @@ index 7c1cc3eecb..53cb8bfc59 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 | -- | 68 | Index: git/locale/programs/locale.c |
| 69 | 2.20.1 | 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 | |||
| 70 | 100 | ||
