diff options
author | Khem Raj <raj.khem@gmail.com> | 2015-02-01 23:49:10 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-02-20 10:26:12 +0000 |
commit | a488fd5b61c473065b35e0871d0a277207fff2db (patch) | |
tree | 2cc50b127c46b87ff207b6bef615799c1a805b7c /meta/recipes-core | |
parent | dda70ca5525594256904f5663cbbca58e2b33f3e (diff) | |
download | poky-a488fd5b61c473065b35e0871d0a277207fff2db.tar.gz |
glibc: Upgrade 2.20 -> 2.21
Drop CVE backports and ppc/fpu detection patch which is not needed anymore
Forward port eglibc option groups patch
Default to using glibc 2.21
Additional patches needed to appease -Werror option
Change-Id: I1873097cec8387ea9e8186a255122938fc28c976
(From OE-Core rev: 6617cc92076764d51f0190786f8d62b8c99ae984)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
15 files changed, 1086 insertions, 1645 deletions
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.20.bb b/meta/recipes-core/glibc/cross-localedef-native_2.21.bb index 8aaa225706..814ae9df92 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.20.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.21.bb | |||
@@ -14,9 +14,10 @@ inherit autotools | |||
14 | 14 | ||
15 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" | 15 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" |
16 | 16 | ||
17 | PV = "2.20" | 17 | #BRANCH = "release/${PV}/master" |
18 | BRANCH = "master" | ||
18 | 19 | ||
19 | SRC_URI = "git://sourceware.org/git/glibc.git;branch=release/${PV}/master;name=glibc \ | 20 | SRC_URI = "git://sourceware.org/git/glibc.git;branch=${BRANCH};name=glibc \ |
20 | git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ | 21 | git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ |
21 | file://fix_for_centos_5.8.patch \ | 22 | file://fix_for_centos_5.8.patch \ |
22 | ${EGLIBCPATCHES} \ | 23 | ${EGLIBCPATCHES} \ |
@@ -33,17 +34,17 @@ EGLIBCPATCHES = "\ | |||
33 | file://eglibc-use-option-groups.patch \ | 34 | file://eglibc-use-option-groups.patch \ |
34 | " | 35 | " |
35 | 36 | ||
36 | SRCREV_glibc = "b8079dd0d360648e4e8de48656c5c38972621072" | 37 | SRCREV_glibc = "edac0a60c7514b8c9b59488cffdac6b22267e757" |
37 | SRCREV_localedef = "c833367348d39dad7ba018990bfdaffaec8e9ed3" | 38 | SRCREV_localedef = "c833367348d39dad7ba018990bfdaffaec8e9ed3" |
38 | 39 | ||
39 | # Makes for a rather long rev (22 characters), but... | 40 | # Makes for a rather long rev (22 characters), but... |
40 | # | 41 | # |
41 | SRCREV_FORMAT = "glibc__localedef" | 42 | SRCREV_FORMAT = "glibc_localedef" |
42 | 43 | ||
43 | S = "${WORKDIR}/git" | 44 | S = "${WORKDIR}/git" |
44 | 45 | ||
45 | EXTRA_OECONF = "--with-glibc=${S}" | 46 | EXTRA_OECONF = "--with-glibc=${S}" |
46 | CFLAGS += "-DNOT_IN_libc=1" | 47 | CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" |
47 | 48 | ||
48 | do_configure () { | 49 | do_configure () { |
49 | ${S}/localedef/configure ${EXTRA_OECONF} | 50 | ${S}/localedef/configure ${EXTRA_OECONF} |
@@ -51,6 +52,6 @@ do_configure () { | |||
51 | 52 | ||
52 | 53 | ||
53 | do_install() { | 54 | do_install() { |
54 | install -d ${D}${bindir} | 55 | install -d ${D}${bindir} |
55 | install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef | 56 | install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef |
56 | } | 57 | } |
diff --git a/meta/recipes-core/glibc/glibc-initial_2.20.bb b/meta/recipes-core/glibc/glibc-initial_2.21.bb index 8ab01dc79d..8ab01dc79d 100644 --- a/meta/recipes-core/glibc/glibc-initial_2.20.bb +++ b/meta/recipes-core/glibc/glibc-initial_2.21.bb | |||
diff --git a/meta/recipes-core/glibc/glibc-locale_2.20.bb b/meta/recipes-core/glibc/glibc-locale_2.21.bb index f7702e0358..f7702e0358 100644 --- a/meta/recipes-core/glibc/glibc-locale_2.20.bb +++ b/meta/recipes-core/glibc/glibc-locale_2.21.bb | |||
diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.20.bb b/meta/recipes-core/glibc/glibc-mtrace_2.21.bb index 0b69bad46a..0b69bad46a 100644 --- a/meta/recipes-core/glibc/glibc-mtrace_2.20.bb +++ b/meta/recipes-core/glibc/glibc-mtrace_2.21.bb | |||
diff --git a/meta/recipes-core/glibc/glibc-scripts_2.20.bb b/meta/recipes-core/glibc/glibc-scripts_2.21.bb index 5a89bd8022..5a89bd8022 100644 --- a/meta/recipes-core/glibc/glibc-scripts_2.20.bb +++ b/meta/recipes-core/glibc/glibc-scripts_2.21.bb | |||
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index 8aa78dfb34..767d4b8b5b 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc | |||
@@ -20,7 +20,7 @@ def get_optimization(d): | |||
20 | SELECTED_OPTIMIZATION := "${@get_optimization(d)}" | 20 | SELECTED_OPTIMIZATION := "${@get_optimization(d)}" |
21 | 21 | ||
22 | # siteconfig.bbclass runs configure which needs a working compiler | 22 | # siteconfig.bbclass runs configure which needs a working compiler |
23 | # For the compiler to work we need a working libc yet libc isn't | 23 | # For the compiler to work we need a working libc yet libc isn't |
24 | # in the sysroots directory at this point. This means the libc.so | 24 | # in the sysroots directory at this point. This means the libc.so |
25 | # linker script won't work as the --sysroot setting isn't correct. | 25 | # linker script won't work as the --sysroot setting isn't correct. |
26 | # Here we create a hacked up libc linker script and pass in the right | 26 | # Here we create a hacked up libc linker script and pass in the right |
@@ -71,7 +71,7 @@ EXTRA_OEMAKE += "${EGLIBCPARALLELISM}" | |||
71 | PARALLEL_MAKE = "" | 71 | PARALLEL_MAKE = "" |
72 | 72 | ||
73 | # glibc make-syscalls.sh has a number of issues with /bin/dash and | 73 | # glibc make-syscalls.sh has a number of issues with /bin/dash and |
74 | # it's output which make calls via the SHELL also has issues, so | 74 | # it's output which make calls via the SHELL also has issues, so |
75 | # ensure make uses /bin/bash | 75 | # ensure make uses /bin/bash |
76 | EXTRA_OEMAKE += "SHELL=/bin/bash" | 76 | EXTRA_OEMAKE += "SHELL=/bin/bash" |
77 | 77 | ||
diff --git a/meta/recipes-core/glibc/glibc/0001-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0001-Add-unused-attribute.patch new file mode 100644 index 0000000000..f51a0ccb22 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0001-Add-unused-attribute.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | 2015-02-18 Khem Raj <raj.khem@gmail.com>> | ||
2 | |||
3 | * iconv/gconv_charset.h (strip): | ||
4 | Add unused attribute. | ||
5 | |||
6 | From 9c4a91cb331ff1e8cde2314dadee74559d8cb0dd Mon Sep 17 00:00:00 2001 | ||
7 | From: Khem Raj <raj.khem@gmail.com> | ||
8 | Date: Wed, 18 Feb 2015 19:45:31 +0000 | ||
9 | Subject: [PATCH] Add unused attribute | ||
10 | |||
11 | Helps in avoiding gcc warning when header is is included in | ||
12 | a source file which does not use both functions | ||
13 | |||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | |||
16 | Upstream-Status: Pending | ||
17 | --- | ||
18 | iconv/gconv_charset.h | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h | ||
22 | index 80290bc..7890a8e 100644 | ||
23 | --- a/iconv/gconv_charset.h | ||
24 | +++ b/iconv/gconv_charset.h | ||
25 | @@ -21,7 +21,7 @@ | ||
26 | #include <locale.h> | ||
27 | |||
28 | |||
29 | -static void | ||
30 | +static void __attribute__ ((unused)) | ||
31 | strip (char *wp, const char *s) | ||
32 | { | ||
33 | int slash_count = 0; | ||
34 | -- | ||
35 | 2.1.4 | ||
36 | |||
diff --git a/meta/recipes-core/glibc/glibc/0001-When-disabling-SSE-also-make-sure-that-fpmath-is-not.patch b/meta/recipes-core/glibc/glibc/0001-When-disabling-SSE-also-make-sure-that-fpmath-is-not.patch new file mode 100644 index 0000000000..a6395b77bc --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0001-When-disabling-SSE-also-make-sure-that-fpmath-is-not.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 6f5639f6405ff9a42e4f71e7b0f18bddb68d992a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 19 Feb 2015 03:23:45 +0000 | ||
4 | Subject: [PATCH] When disabling SSE also make sure that fpmath is not set to | ||
5 | use SSE as well | ||
6 | |||
7 | This fixes errors when we inject sse options through CFLAGS and now | ||
8 | that we have -Werror turned on by default this warning turns to become | ||
9 | error on x86 | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | |||
13 | Upstream-Status: Pending | ||
14 | --- | ||
15 | sysdeps/x86/Makefile | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile | ||
19 | index 19f5eca..827ea71 100644 | ||
20 | --- a/sysdeps/x86/Makefile | ||
21 | +++ b/sysdeps/x86/Makefile | ||
22 | @@ -1,6 +1,6 @@ | ||
23 | ifeq ($(subdir),elf) | ||
24 | CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ | ||
25 | - -mno-sse -mno-mmx) | ||
26 | + -mno-sse -mno-mmx -mfpmath=387) | ||
27 | |||
28 | tests-special += $(objpfx)tst-ld-sse-use.out | ||
29 | $(objpfx)tst-ld-sse-use.out: ../sysdeps/x86/tst-ld-sse-use.sh $(objpfx)ld.so | ||
30 | -- | ||
31 | 2.1.4 | ||
32 | |||
diff --git a/meta/recipes-core/glibc/glibc/CVE-2012-3406-Stack-overflow-in-vfprintf-BZ-16617.patch b/meta/recipes-core/glibc/glibc/CVE-2012-3406-Stack-overflow-in-vfprintf-BZ-16617.patch deleted file mode 100644 index 8cfdbeaa60..0000000000 --- a/meta/recipes-core/glibc/glibc/CVE-2012-3406-Stack-overflow-in-vfprintf-BZ-16617.patch +++ /dev/null | |||
@@ -1,339 +0,0 @@ | |||
1 | From a5357b7ce2a2982c5778435704bcdb55ce3667a0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jeff Law <law@redhat.com> | ||
3 | Date: Mon, 15 Dec 2014 10:09:32 +0100 | ||
4 | Subject: [PATCH] CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] | ||
5 | |||
6 | A larger number of format specifiers coudld cause a stack overflow, | ||
7 | potentially allowing to bypass _FORTIFY_SOURCE format string | ||
8 | protection. | ||
9 | --- | ||
10 | ChangeLog | 9 +++++++ | ||
11 | NEWS | 13 +++++---- | ||
12 | stdio-common/Makefile | 2 +- | ||
13 | stdio-common/bug23-2.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++ | ||
14 | stdio-common/bug23-3.c | 50 +++++++++++++++++++++++++++++++++++ | ||
15 | stdio-common/bug23-4.c | 31 ++++++++++++++++++++++ | ||
16 | stdio-common/vfprintf.c | 40 ++++++++++++++++++++++++++-- | ||
17 | 7 files changed, 207 insertions(+), 8 deletions(-) | ||
18 | create mode 100644 stdio-common/bug23-2.c | ||
19 | create mode 100644 stdio-common/bug23-3.c | ||
20 | create mode 100644 stdio-common/bug23-4.c | ||
21 | |||
22 | Index: git/ChangeLog | ||
23 | =================================================================== | ||
24 | --- git.orig/ChangeLog | ||
25 | +++ git/ChangeLog | ||
26 | @@ -1,3 +1,12 @@ | ||
27 | +2014-12-15 Jeff Law <law@redhat.com> | ||
28 | + | ||
29 | + [BZ #16617] | ||
30 | + * stdio-common/vfprintf.c (vfprintf): Allocate large specs array | ||
31 | + on the heap. (CVE-2012-3406) | ||
32 | + * stdio-common/bug23-2.c, stdio-common/bug23-3.c: New file. | ||
33 | + * stdio-common/bug23-4.c: New file. Test case by Joseph Myers. | ||
34 | + * stdio-common/Makefile (tests): Add bug23-2, bug23-3, bug23-4. | ||
35 | + | ||
36 | 2014-11-19 Carlos O'Donell <carlos@redhat.com> | ||
37 | Florian Weimer <fweimer@redhat.com> | ||
38 | Joseph Myers <joseph@codesourcery.com> | ||
39 | Index: git/NEWS | ||
40 | =================================================================== | ||
41 | --- git.orig/NEWS | ||
42 | +++ git/NEWS | ||
43 | @@ -13,24 +13,28 @@ Version 2.20 | ||
44 | 15698, 15804, 15894, 15946, 16002, 16064, 16095, 16194, 16198, 16275, | ||
45 | 16284, 16287, 16315, 16348, 16349, 16354, 16357, 16362, 16447, 16516, | ||
46 | 16532, 16539, 16545, 16561, 16562, 16564, 16574, 16599, 16600, 16609, | ||
47 | - 16610, 16611, 16613, 16619, 16623, 16629, 16632, 16634, 16639, 16642, | ||
48 | - 16648, 16649, 16670, 16674, 16677, 16680, 16681, 16683, 16689, 16695, | ||
49 | - 16701, 16706, 16707, 16712, 16713, 16714, 16724, 16731, 16739, 16740, | ||
50 | - 16743, 16754, 16758, 16759, 16760, 16770, 16786, 16789, 16791, 16796, | ||
51 | - 16799, 16800, 16815, 16823, 16824, 16831, 16838, 16839, 16849, 16854, | ||
52 | - 16876, 16877, 16878, 16882, 16885, 16888, 16890, 16892, 16912, 16915, | ||
53 | - 16916, 16917, 16918, 16922, 16927, 16928, 16932, 16943, 16958, 16965, | ||
54 | - 16966, 16967, 16977, 16978, 16984, 16990, 16996, 17009, 17022, 17031, | ||
55 | - 17042, 17048, 17050, 17058, 17061, 17062, 17069, 17075, 17078, 17079, | ||
56 | - 17084, 17086, 17088, 17092, 17097, 17125, 17135, 17137, 17150, 17153, | ||
57 | - 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325, 17354, 17625. | ||
58 | - | ||
59 | + 16610, 16611, 16613, 16617, 16619, 16623, 16629, 16632, 16634, 16639, | ||
60 | + 16642, 16648, 16649, 16670, 16674, 16677, 16680, 16681, 16683, 16689, | ||
61 | + 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16724, 16731, 16739, | ||
62 | + 16740, 16743, 16754, 16758, 16759, 16760, 16770, 16786, 16789, 16791, | ||
63 | + 16796, 16799, 16800, 16815, 16823, 16824, 16831, 16838, 16839, 16849, | ||
64 | + 16854, 16876, 16877, 16878, 16882, 16885, 16888, 16890, 16892, 16912, | ||
65 | + 16915, 16916, 16917, 16918, 16922, 16927, 16928, 16932, 16943, 16958, | ||
66 | + 16965, 16966, 16967, 16977, 16978, 16984, 16990, 16996, 17009, 17022, | ||
67 | + 17031, 17042, 17048, 17050, 17058, 17061, 17062, 17069, 17075, 17078, | ||
68 | + 17079, 17084, 17086, 17088, 17092, 17097, 17125, 17135, 17137, 17150, | ||
69 | + 17153, 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325, 17354, | ||
70 | + 17625. | ||
71 | + | ||
72 | * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag | ||
73 | under certain input conditions resulting in the execution of a shell for | ||
74 | command substitution when the applicaiton did not request it. The | ||
75 | implementation now checks WRDE_NOCMD immediately before executing the | ||
76 | shell and returns the error WRDE_CMDSUB as expected. | ||
77 | |||
78 | +* CVE-2012-3406 printf-style functions could run into a stack overflow when | ||
79 | + processing format strings with a large number of format specifiers. | ||
80 | + | ||
81 | * Reverted change of ABI data structures for s390 and s390x: | ||
82 | On s390 and s390x the size of struct ucontext and jmp_buf was increased in | ||
83 | 2.19. This change is reverted in 2.20. The introduced 2.19 symbol versions | ||
84 | Index: git/stdio-common/bug23-2.c | ||
85 | =================================================================== | ||
86 | --- /dev/null | ||
87 | +++ git/stdio-common/bug23-2.c | ||
88 | @@ -0,0 +1,70 @@ | ||
89 | +#include <stdio.h> | ||
90 | +#include <string.h> | ||
91 | +#include <stdlib.h> | ||
92 | + | ||
93 | +static const char expected[] = "\ | ||
94 | +\n\ | ||
95 | +a\n\ | ||
96 | +abbcd55\ | ||
97 | +\n\ | ||
98 | +a\n\ | ||
99 | +abbcd55\ | ||
100 | +\n\ | ||
101 | +a\n\ | ||
102 | +abbcd55\ | ||
103 | +\n\ | ||
104 | +a\n\ | ||
105 | +abbcd55\ | ||
106 | +\n\ | ||
107 | +a\n\ | ||
108 | +abbcd55\ | ||
109 | +\n\ | ||
110 | +a\n\ | ||
111 | +abbcd55\ | ||
112 | +\n\ | ||
113 | +a\n\ | ||
114 | +abbcd55\ | ||
115 | +\n\ | ||
116 | +a\n\ | ||
117 | +abbcd55\ | ||
118 | +\n\ | ||
119 | +a\n\ | ||
120 | +abbcd55\ | ||
121 | +\n\ | ||
122 | +a\n\ | ||
123 | +abbcd55\ | ||
124 | +\n\ | ||
125 | +a\n\ | ||
126 | +abbcd55\ | ||
127 | +\n\ | ||
128 | +a\n\ | ||
129 | +abbcd55\ | ||
130 | +\n\ | ||
131 | +a\n\ | ||
132 | +abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n"; | ||
133 | + | ||
134 | +static int | ||
135 | +do_test (void) | ||
136 | +{ | ||
137 | + char *buf = malloc (strlen (expected) + 1); | ||
138 | + snprintf (buf, strlen (expected) + 1, | ||
139 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
140 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
141 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
142 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
143 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
144 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
145 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
146 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
147 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
148 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
149 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
150 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
151 | + "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
152 | + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", | ||
153 | + "a", "b", "c", "d", 5); | ||
154 | + return strcmp (buf, expected) != 0; | ||
155 | +} | ||
156 | + | ||
157 | +#define TEST_FUNCTION do_test () | ||
158 | +#include "../test-skeleton.c" | ||
159 | Index: git/stdio-common/bug23-3.c | ||
160 | =================================================================== | ||
161 | --- /dev/null | ||
162 | +++ git/stdio-common/bug23-3.c | ||
163 | @@ -0,0 +1,50 @@ | ||
164 | +#include <stdio.h> | ||
165 | +#include <string.h> | ||
166 | +#include <stdlib.h> | ||
167 | + | ||
168 | +int | ||
169 | +do_test (void) | ||
170 | +{ | ||
171 | + size_t instances = 16384; | ||
172 | +#define X0 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d" | ||
173 | + const char *item = "\na\nabbcd55"; | ||
174 | +#define X3 X0 X0 X0 X0 X0 X0 X0 X0 | ||
175 | +#define X6 X3 X3 X3 X3 X3 X3 X3 X3 | ||
176 | +#define X9 X6 X6 X6 X6 X6 X6 X6 X6 | ||
177 | +#define X12 X9 X9 X9 X9 X9 X9 X9 X9 | ||
178 | +#define X14 X12 X12 X12 X12 | ||
179 | +#define TRAILER "%%%%%%%%%%%%%%%%%%%%%%%%%%" | ||
180 | +#define TRAILER2 TRAILER TRAILER | ||
181 | + size_t length = instances * strlen (item) + strlen (TRAILER) + 1; | ||
182 | + | ||
183 | + char *buf = malloc (length + 1); | ||
184 | + snprintf (buf, length + 1, | ||
185 | + X14 TRAILER2 "\n", | ||
186 | + "a", "b", "c", "d", 5); | ||
187 | + | ||
188 | + const char *p = buf; | ||
189 | + size_t i; | ||
190 | + for (i = 0; i < instances; ++i) | ||
191 | + { | ||
192 | + const char *expected; | ||
193 | + for (expected = item; *expected; ++expected) | ||
194 | + { | ||
195 | + if (*p != *expected) | ||
196 | + { | ||
197 | + printf ("mismatch at offset %zu (%zu): expected %d, got %d\n", | ||
198 | + (size_t) (p - buf), i, *expected & 0xFF, *p & 0xFF); | ||
199 | + return 1; | ||
200 | + } | ||
201 | + ++p; | ||
202 | + } | ||
203 | + } | ||
204 | + if (strcmp (p, TRAILER "\n") != 0) | ||
205 | + { | ||
206 | + printf ("mismatch at trailer: [%s]\n", p); | ||
207 | + return 1; | ||
208 | + } | ||
209 | + free (buf); | ||
210 | + return 0; | ||
211 | +} | ||
212 | +#define TEST_FUNCTION do_test () | ||
213 | +#include "../test-skeleton.c" | ||
214 | Index: git/stdio-common/bug23-4.c | ||
215 | =================================================================== | ||
216 | --- /dev/null | ||
217 | +++ git/stdio-common/bug23-4.c | ||
218 | @@ -0,0 +1,31 @@ | ||
219 | +#include <stdio.h> | ||
220 | +#include <stdlib.h> | ||
221 | +#include <string.h> | ||
222 | +#include <sys/resource.h> | ||
223 | + | ||
224 | +#define LIMIT 1000000 | ||
225 | + | ||
226 | +int | ||
227 | +main (void) | ||
228 | +{ | ||
229 | + struct rlimit lim; | ||
230 | + getrlimit (RLIMIT_STACK, &lim); | ||
231 | + lim.rlim_cur = 1048576; | ||
232 | + setrlimit (RLIMIT_STACK, &lim); | ||
233 | + char *fmtstr = malloc (4 * LIMIT + 1); | ||
234 | + if (fmtstr == NULL) | ||
235 | + abort (); | ||
236 | + char *output = malloc (LIMIT + 1); | ||
237 | + if (output == NULL) | ||
238 | + abort (); | ||
239 | + for (size_t i = 0; i < LIMIT; i++) | ||
240 | + memcpy (fmtstr + 4 * i, "%1$d", 4); | ||
241 | + fmtstr[4 * LIMIT] = '\0'; | ||
242 | + int ret = snprintf (output, LIMIT + 1, fmtstr, 0); | ||
243 | + if (ret != LIMIT) | ||
244 | + abort (); | ||
245 | + for (size_t i = 0; i < LIMIT; i++) | ||
246 | + if (output[i] != '0') | ||
247 | + abort (); | ||
248 | + return 0; | ||
249 | +} | ||
250 | Index: git/stdio-common/vfprintf.c | ||
251 | =================================================================== | ||
252 | --- git.orig/stdio-common/vfprintf.c | ||
253 | +++ git/stdio-common/vfprintf.c | ||
254 | @@ -276,6 +276,12 @@ vfprintf (FILE *s, const CHAR_T *format, | ||
255 | /* For the argument descriptions, which may be allocated on the heap. */ | ||
256 | void *args_malloced = NULL; | ||
257 | |||
258 | + /* For positional argument handling. */ | ||
259 | + struct printf_spec *specs; | ||
260 | + | ||
261 | + /* Track if we malloced the SPECS array and thus must free it. */ | ||
262 | + bool specs_malloced = false; | ||
263 | + | ||
264 | /* This table maps a character into a number representing a | ||
265 | class. In each step there is a destination label for each | ||
266 | class. */ | ||
267 | @@ -1699,8 +1705,8 @@ do_positional: | ||
268 | size_t nspecs = 0; | ||
269 | /* A more or less arbitrary start value. */ | ||
270 | size_t nspecs_size = 32 * sizeof (struct printf_spec); | ||
271 | - struct printf_spec *specs = alloca (nspecs_size); | ||
272 | |||
273 | + specs = alloca (nspecs_size); | ||
274 | /* The number of arguments the format string requests. This will | ||
275 | determine the size of the array needed to store the argument | ||
276 | attributes. */ | ||
277 | @@ -1743,11 +1749,39 @@ do_positional: | ||
278 | if (nspecs * sizeof (*specs) >= nspecs_size) | ||
279 | { | ||
280 | /* Extend the array of format specifiers. */ | ||
281 | + if (nspecs_size * 2 < nspecs_size) | ||
282 | + { | ||
283 | + __set_errno (ENOMEM); | ||
284 | + done = -1; | ||
285 | + goto all_done; | ||
286 | + } | ||
287 | struct printf_spec *old = specs; | ||
288 | - specs = extend_alloca (specs, nspecs_size, 2 * nspecs_size); | ||
289 | + if (__libc_use_alloca (2 * nspecs_size)) | ||
290 | + specs = extend_alloca (specs, nspecs_size, 2 * nspecs_size); | ||
291 | + else | ||
292 | + { | ||
293 | + nspecs_size *= 2; | ||
294 | + specs = malloc (nspecs_size); | ||
295 | + if (specs == NULL) | ||
296 | + { | ||
297 | + __set_errno (ENOMEM); | ||
298 | + specs = old; | ||
299 | + done = -1; | ||
300 | + goto all_done; | ||
301 | + } | ||
302 | + } | ||
303 | |||
304 | /* Copy the old array's elements to the new space. */ | ||
305 | memmove (specs, old, nspecs * sizeof (*specs)); | ||
306 | + | ||
307 | + /* If we had previously malloc'd space for SPECS, then | ||
308 | + release it after the copy is complete. */ | ||
309 | + if (specs_malloced) | ||
310 | + free (old); | ||
311 | + | ||
312 | + /* Now set SPECS_MALLOCED if needed. */ | ||
313 | + if (!__libc_use_alloca (nspecs_size)) | ||
314 | + specs_malloced = true; | ||
315 | } | ||
316 | |||
317 | /* Parse the format specifier. */ | ||
318 | @@ -2068,6 +2102,8 @@ do_positional: | ||
319 | } | ||
320 | |||
321 | all_done: | ||
322 | + if (specs_malloced) | ||
323 | + free (specs); | ||
324 | if (__glibc_unlikely (args_malloced != NULL)) | ||
325 | free (args_malloced); | ||
326 | if (__glibc_unlikely (workstart != NULL)) | ||
327 | Index: git/stdio-common/Makefile | ||
328 | =================================================================== | ||
329 | --- git.orig/stdio-common/Makefile | ||
330 | +++ git/stdio-common/Makefile | ||
331 | @@ -66,7 +66,7 @@ tests := tstscanf test_rdwr test-popen t | ||
332 | tst-fwrite bug16 bug17 tst-sprintf2 bug18 \ | ||
333 | bug19 tst-popen2 scanf14 scanf15 bug21 bug22 scanf16 scanf17 \ | ||
334 | tst-setvbuf1 bug23 bug24 bug-vfprintf-nargs tst-sprintf3 bug25 \ | ||
335 | - tst-printf-round bug26 | ||
336 | + tst-printf-round bug23-2 bug23-3 bug23-4 | ||
337 | |||
338 | tests-$(OPTION_EGLIBC_LOCALE_CODE) \ | ||
339 | += tst-sscanf tst-swprintf test-vfprintf bug14 scanf13 tst-grouping | ||
diff --git a/meta/recipes-core/glibc/glibc/CVE-2014-7817-wordexp-fails-to-honour-WRDE_NOCMD.patch b/meta/recipes-core/glibc/glibc/CVE-2014-7817-wordexp-fails-to-honour-WRDE_NOCMD.patch deleted file mode 100644 index d95d182dc4..0000000000 --- a/meta/recipes-core/glibc/glibc/CVE-2014-7817-wordexp-fails-to-honour-WRDE_NOCMD.patch +++ /dev/null | |||
@@ -1,215 +0,0 @@ | |||
1 | From a39208bd7fb76c1b01c127b4c61f9bfd915bfe7c Mon Sep 17 00:00:00 2001 | ||
2 | From: Carlos O'Donell <carlos@redhat.com> | ||
3 | Date: Wed, 19 Nov 2014 11:44:12 -0500 | ||
4 | Subject: [PATCH] CVE-2014-7817: wordexp fails to honour WRDE_NOCMD. | ||
5 | |||
6 | The function wordexp() fails to properly handle the WRDE_NOCMD | ||
7 | flag when processing arithmetic inputs in the form of "$((... ``))" | ||
8 | where "..." can be anything valid. The backticks in the arithmetic | ||
9 | epxression are evaluated by in a shell even if WRDE_NOCMD forbade | ||
10 | command substitution. This allows an attacker to attempt to pass | ||
11 | dangerous commands via constructs of the above form, and bypass | ||
12 | the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD | ||
13 | in exec_comm(), the only place that can execute a shell. All other | ||
14 | checks for WRDE_NOCMD are superfluous and removed. | ||
15 | |||
16 | We expand the testsuite and add 3 new regression tests of roughly | ||
17 | the same form but with a couple of nested levels. | ||
18 | |||
19 | On top of the 3 new tests we add fork validation to the WRDE_NOCMD | ||
20 | testing. If any forks are detected during the execution of a wordexp() | ||
21 | call with WRDE_NOCMD, the test is marked as failed. This is slightly | ||
22 | heuristic since vfork might be used in the future, but it provides a | ||
23 | higher level of assurance that no shells were executed as part of | ||
24 | command substitution with WRDE_NOCMD in effect. In addition it doesn't | ||
25 | require libpthread or libdl, instead we use the public implementation | ||
26 | namespace function __register_atfork (already part of the public ABI | ||
27 | for libpthread). | ||
28 | |||
29 | Tested on x86_64 with no regressions. | ||
30 | --- | ||
31 | ChangeLog | 22 ++++++++++++++++++++++ | ||
32 | NEWS | 8 +++++++- | ||
33 | posix/wordexp-test.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ | ||
34 | posix/wordexp.c | 16 ++++------------ | ||
35 | 4 files changed, 77 insertions(+), 13 deletions(-) | ||
36 | |||
37 | Index: git/ChangeLog | ||
38 | =================================================================== | ||
39 | --- git.orig/ChangeLog | ||
40 | +++ git/ChangeLog | ||
41 | @@ -1,3 +1,24 @@ | ||
42 | +2014-11-19 Carlos O'Donell <carlos@redhat.com> | ||
43 | + Florian Weimer <fweimer@redhat.com> | ||
44 | + Joseph Myers <joseph@codesourcery.com> | ||
45 | + Adam Conrad <adconrad@0c3.net> | ||
46 | + Andreas Schwab <schwab@suse.de> | ||
47 | + Brooks <bmoses@google.com> | ||
48 | + | ||
49 | + [BZ #17625] | ||
50 | + * wordexp-test.c (__dso_handle): Add prototype. | ||
51 | + (__register_atfork): Likewise. | ||
52 | + (__app_register_atfork): New function. | ||
53 | + (registered_forks): New global. | ||
54 | + (register_fork): New function. | ||
55 | + (test_case): Add 3 new tests for WRDE_CMDSUB. | ||
56 | + (main): Call __app_register_atfork. | ||
57 | + (testit): If WRDE_NOCMD set registered_forks to zero, run test, and if | ||
58 | + fork count is non-zero fail the test. | ||
59 | + * posix/wordexp.c (exec_comm): Return WRDE_CMDSUB if WRDE_NOCMD flag | ||
60 | + is set. | ||
61 | + (parse_dollars): Remove check for WRDE_NOCMD. | ||
62 | + | ||
63 | 2014-09-07 Allan McRae <allan@archlinux.org | ||
64 | |||
65 | * version.h (RELEASE): Set to "stable". | ||
66 | Index: git/NEWS | ||
67 | =================================================================== | ||
68 | --- git.orig/NEWS | ||
69 | +++ git/NEWS | ||
70 | @@ -23,7 +23,13 @@ Version 2.20 | ||
71 | 16966, 16967, 16977, 16978, 16984, 16990, 16996, 17009, 17022, 17031, | ||
72 | 17042, 17048, 17050, 17058, 17061, 17062, 17069, 17075, 17078, 17079, | ||
73 | 17084, 17086, 17088, 17092, 17097, 17125, 17135, 17137, 17150, 17153, | ||
74 | - 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325, 17354. | ||
75 | + 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325, 17354, 17625. | ||
76 | + | ||
77 | +* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag | ||
78 | + under certain input conditions resulting in the execution of a shell for | ||
79 | + command substitution when the applicaiton did not request it. The | ||
80 | + implementation now checks WRDE_NOCMD immediately before executing the | ||
81 | + shell and returns the error WRDE_CMDSUB as expected. | ||
82 | |||
83 | * Reverted change of ABI data structures for s390 and s390x: | ||
84 | On s390 and s390x the size of struct ucontext and jmp_buf was increased in | ||
85 | Index: git/posix/wordexp-test.c | ||
86 | =================================================================== | ||
87 | --- git.orig/posix/wordexp-test.c | ||
88 | +++ git/posix/wordexp-test.c | ||
89 | @@ -27,6 +27,25 @@ | ||
90 | |||
91 | #define IFS " \n\t" | ||
92 | |||
93 | +extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden"))); | ||
94 | +extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *); | ||
95 | + | ||
96 | +static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void)) | ||
97 | +{ | ||
98 | + return __register_atfork (prepare, parent, child, | ||
99 | + &__dso_handle == NULL ? NULL : __dso_handle); | ||
100 | +} | ||
101 | + | ||
102 | +/* Number of forks seen. */ | ||
103 | +static int registered_forks; | ||
104 | + | ||
105 | +/* For each fork increment the fork count. */ | ||
106 | +static void | ||
107 | +register_fork (void) | ||
108 | +{ | ||
109 | + registered_forks++; | ||
110 | +} | ||
111 | + | ||
112 | struct test_case_struct | ||
113 | { | ||
114 | int retval; | ||
115 | @@ -206,6 +225,12 @@ struct test_case_struct | ||
116 | { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS }, | ||
117 | { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS }, | ||
118 | { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS }, | ||
119 | + /* Test for CVE-2014-7817. We test 3 combinations of command | ||
120 | + substitution inside an arithmetic expression to make sure that | ||
121 | + no commands are executed and error is returned. */ | ||
122 | + { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS }, | ||
123 | + { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS }, | ||
124 | + { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS }, | ||
125 | |||
126 | { -1, NULL, NULL, 0, 0, { NULL, }, IFS }, | ||
127 | }; | ||
128 | @@ -258,6 +283,15 @@ main (int argc, char *argv[]) | ||
129 | return -1; | ||
130 | } | ||
131 | |||
132 | + /* If we are not allowed to do command substitution, we install | ||
133 | + fork handlers to verify that no forks happened. No forks should | ||
134 | + happen at all if command substitution is disabled. */ | ||
135 | + if (__app_register_atfork (register_fork, NULL, NULL) != 0) | ||
136 | + { | ||
137 | + printf ("Failed to register fork handler.\n"); | ||
138 | + return -1; | ||
139 | + } | ||
140 | + | ||
141 | for (test = 0; test_case[test].retval != -1; test++) | ||
142 | if (testit (&test_case[test])) | ||
143 | ++fail; | ||
144 | @@ -367,6 +401,9 @@ testit (struct test_case_struct *tc) | ||
145 | |||
146 | printf ("Test %d (%s): ", ++tests, tc->words); | ||
147 | |||
148 | + if (tc->flags & WRDE_NOCMD) | ||
149 | + registered_forks = 0; | ||
150 | + | ||
151 | if (tc->flags & WRDE_APPEND) | ||
152 | { | ||
153 | /* initial wordexp() call, to be appended to */ | ||
154 | @@ -378,6 +415,13 @@ testit (struct test_case_struct *tc) | ||
155 | } | ||
156 | retval = wordexp (tc->words, &we, tc->flags); | ||
157 | |||
158 | + if ((tc->flags & WRDE_NOCMD) | ||
159 | + && (registered_forks > 0)) | ||
160 | + { | ||
161 | + printf ("FAILED fork called for WRDE_NOCMD\n"); | ||
162 | + return 1; | ||
163 | + } | ||
164 | + | ||
165 | if (tc->flags & WRDE_DOOFFS) | ||
166 | start_offs = sav_we.we_offs; | ||
167 | |||
168 | Index: git/posix/wordexp.c | ||
169 | =================================================================== | ||
170 | --- git.orig/posix/wordexp.c | ||
171 | +++ git/posix/wordexp.c | ||
172 | @@ -893,6 +893,10 @@ exec_comm (char *comm, char **word, size | ||
173 | pid_t pid; | ||
174 | int noexec = 0; | ||
175 | |||
176 | + /* Do nothing if command substitution should not succeed. */ | ||
177 | + if (flags & WRDE_NOCMD) | ||
178 | + return WRDE_CMDSUB; | ||
179 | + | ||
180 | /* Don't fork() unless necessary */ | ||
181 | if (!comm || !*comm) | ||
182 | return 0; | ||
183 | @@ -2082,9 +2086,6 @@ parse_dollars (char **word, size_t *word | ||
184 | } | ||
185 | } | ||
186 | |||
187 | - if (flags & WRDE_NOCMD) | ||
188 | - return WRDE_CMDSUB; | ||
189 | - | ||
190 | (*offset) += 2; | ||
191 | return parse_comm (word, word_length, max_length, words, offset, flags, | ||
192 | quoted? NULL : pwordexp, ifs, ifs_white); | ||
193 | @@ -2196,9 +2197,6 @@ parse_dquote (char **word, size_t *word_ | ||
194 | break; | ||
195 | |||
196 | case '`': | ||
197 | - if (flags & WRDE_NOCMD) | ||
198 | - return WRDE_CMDSUB; | ||
199 | - | ||
200 | ++(*offset); | ||
201 | error = parse_backtick (word, word_length, max_length, words, | ||
202 | offset, flags, NULL, NULL, NULL); | ||
203 | @@ -2357,12 +2355,6 @@ wordexp (const char *words, wordexp_t *p | ||
204 | break; | ||
205 | |||
206 | case '`': | ||
207 | - if (flags & WRDE_NOCMD) | ||
208 | - { | ||
209 | - error = WRDE_CMDSUB; | ||
210 | - goto do_error; | ||
211 | - } | ||
212 | - | ||
213 | ++words_offset; | ||
214 | error = parse_backtick (&word, &word_length, &max_length, words, | ||
215 | &words_offset, flags, pwordexp, ifs, | ||
diff --git a/meta/recipes-core/glibc/glibc/CVE-2014-9402_endless-loop-in-getaddr_r.patch b/meta/recipes-core/glibc/glibc/CVE-2014-9402_endless-loop-in-getaddr_r.patch deleted file mode 100644 index ba1da67b76..0000000000 --- a/meta/recipes-core/glibc/glibc/CVE-2014-9402_endless-loop-in-getaddr_r.patch +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | CVE-2014-9402 endless loop in getaddr_r | ||
2 | |||
3 | |||
4 | https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=11e3417af6e354f1942c68a271ae51e892b2814d | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Signed-off-by: Armin Kuster <akuster@mvista.com> | ||
9 | |||
10 | From 11e3417af6e354f1942c68a271ae51e892b2814d Mon Sep 17 00:00:00 2001 | ||
11 | From: Florian Weimer <fweimer@redhat.com> | ||
12 | Date: Mon, 15 Dec 2014 17:41:13 +0100 | ||
13 | Subject: [PATCH] Avoid infinite loop in nss_dns getnetbyname [BZ #17630] | ||
14 | |||
15 | --- | ||
16 | ChangeLog | 6 ++++++ | ||
17 | NEWS | 7 +++++-- | ||
18 | resolv/nss_dns/dns-network.c | 4 ++-- | ||
19 | 3 files changed, 13 insertions(+), 4 deletions(-) | ||
20 | |||
21 | Index: git/NEWS | ||
22 | =================================================================== | ||
23 | --- git.orig/NEWS | ||
24 | +++ git/NEWS | ||
25 | @@ -24,7 +24,10 @@ Version 2.20 | ||
26 | 17031, 17042, 17048, 17050, 17058, 17061, 17062, 17069, 17075, 17078, | ||
27 | 17079, 17084, 17086, 17088, 17092, 17097, 17125, 17135, 17137, 17150, | ||
28 | 17153, 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325, 17354, | ||
29 | - 17625. | ||
30 | + 17625, 17630. | ||
31 | + | ||
32 | +* The nss_dns implementation of getnetbyname could run into an infinite loop | ||
33 | + if the DNS response contained a PTR record of an unexpected format. | ||
34 | |||
35 | * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag | ||
36 | under certain input conditions resulting in the execution of a shell for | ||
37 | Index: git/resolv/nss_dns/dns-network.c | ||
38 | =================================================================== | ||
39 | --- git.orig/resolv/nss_dns/dns-network.c | ||
40 | +++ git/resolv/nss_dns/dns-network.c | ||
41 | @@ -398,8 +398,8 @@ getanswer_r (const querybuf *answer, int | ||
42 | |||
43 | case BYNAME: | ||
44 | { | ||
45 | - char **ap = result->n_aliases++; | ||
46 | - while (*ap != NULL) | ||
47 | + char **ap; | ||
48 | + for (ap = result->n_aliases; *ap != NULL; ++ap) | ||
49 | { | ||
50 | /* Check each alias name for being of the forms: | ||
51 | 4.3.2.1.in-addr.arpa = net 1.2.3.4 | ||
52 | Index: git/ChangeLog | ||
53 | =================================================================== | ||
54 | --- git.orig/ChangeLog | ||
55 | +++ git/ChangeLog | ||
56 | @@ -1,3 +1,9 @@ | ||
57 | +2014-12-16 Florian Weimer <fweimer@redhat.com> | ||
58 | + | ||
59 | + [BZ #17630] | ||
60 | + * resolv/nss_dns/dns-network.c (getanswer_r): Iterate over alias | ||
61 | + names. | ||
62 | + | ||
63 | 2014-12-15 Jeff Law <law@redhat.com> | ||
64 | |||
65 | [BZ #16617] | ||
diff --git a/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch b/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch index 1910fccd3c..0fcaff9719 100644 --- a/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch +++ b/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch | |||
@@ -4,8 +4,8 @@ Upstream-Status: Pending | |||
4 | 4 | ||
5 | Index: git/argp/argp-fmtstream.c | 5 | Index: git/argp/argp-fmtstream.c |
6 | =================================================================== | 6 | =================================================================== |
7 | --- git.orig/argp/argp-fmtstream.c 2014-08-29 20:00:42.976070587 -0700 | 7 | --- git.orig/argp/argp-fmtstream.c |
8 | +++ git/argp/argp-fmtstream.c 2014-08-29 20:01:15.188070587 -0700 | 8 | +++ git/argp/argp-fmtstream.c |
9 | @@ -42,6 +42,7 @@ | 9 | @@ -42,6 +42,7 @@ |
10 | #ifdef _LIBC | 10 | #ifdef _LIBC |
11 | # include <wchar.h> | 11 | # include <wchar.h> |
@@ -14,7 +14,7 @@ Index: git/argp/argp-fmtstream.c | |||
14 | # define __vsnprintf(s, l, f, a) _IO_vsnprintf (s, l, f, a) | 14 | # define __vsnprintf(s, l, f, a) _IO_vsnprintf (s, l, f, a) |
15 | #endif | 15 | #endif |
16 | 16 | ||
17 | @@ -100,7 +101,11 @@ | 17 | @@ -100,7 +101,11 @@ __argp_fmtstream_free (argp_fmtstream_t |
18 | __argp_fmtstream_update (fs); | 18 | __argp_fmtstream_update (fs); |
19 | if (fs->p > fs->buf) | 19 | if (fs->p > fs->buf) |
20 | { | 20 | { |
@@ -26,7 +26,7 @@ Index: git/argp/argp-fmtstream.c | |||
26 | } | 26 | } |
27 | free (fs->buf); | 27 | free (fs->buf); |
28 | free (fs); | 28 | free (fs); |
29 | @@ -145,9 +150,17 @@ | 29 | @@ -145,9 +150,17 @@ __argp_fmtstream_update (argp_fmtstream_ |
30 | size_t i; | 30 | size_t i; |
31 | for (i = 0; i < pad; i++) | 31 | for (i = 0; i < pad; i++) |
32 | { | 32 | { |
@@ -45,7 +45,7 @@ Index: git/argp/argp-fmtstream.c | |||
45 | putc_unlocked (' ', fs->stream); | 45 | putc_unlocked (' ', fs->stream); |
46 | } | 46 | } |
47 | } | 47 | } |
48 | @@ -308,9 +321,17 @@ | 48 | @@ -308,9 +321,17 @@ __argp_fmtstream_update (argp_fmtstream_ |
49 | *nl++ = ' '; | 49 | *nl++ = ' '; |
50 | else | 50 | else |
51 | for (i = 0; i < fs->wmargin; ++i) | 51 | for (i = 0; i < fs->wmargin; ++i) |
@@ -66,9 +66,9 @@ Index: git/argp/argp-fmtstream.c | |||
66 | /* Copy the tail of the original buffer into the current buffer | 66 | /* Copy the tail of the original buffer into the current buffer |
67 | Index: git/argp/argp-help.c | 67 | Index: git/argp/argp-help.c |
68 | =================================================================== | 68 | =================================================================== |
69 | --- git.orig/argp/argp-help.c 2014-08-29 20:00:42.976070587 -0700 | 69 | --- git.orig/argp/argp-help.c |
70 | +++ git/argp/argp-help.c 2014-08-29 20:01:15.188070587 -0700 | 70 | +++ git/argp/argp-help.c |
71 | @@ -51,6 +51,7 @@ | 71 | @@ -51,6 +51,7 @@ char *alloca (); |
72 | #ifdef _LIBC | 72 | #ifdef _LIBC |
73 | # include <../libio/libioP.h> | 73 | # include <../libio/libioP.h> |
74 | # include <wchar.h> | 74 | # include <wchar.h> |
@@ -76,7 +76,7 @@ Index: git/argp/argp-help.c | |||
76 | #endif | 76 | #endif |
77 | 77 | ||
78 | #ifndef _ | 78 | #ifndef _ |
79 | @@ -1702,7 +1703,7 @@ | 79 | @@ -1702,7 +1703,7 @@ char *__argp_basename (char *name) |
80 | } | 80 | } |
81 | 81 | ||
82 | char * | 82 | char * |
@@ -85,7 +85,7 @@ Index: git/argp/argp-help.c | |||
85 | { | 85 | { |
86 | # if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME | 86 | # if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME |
87 | return program_invocation_short_name; | 87 | return program_invocation_short_name; |
88 | @@ -1873,9 +1874,17 @@ | 88 | @@ -1873,9 +1874,17 @@ __argp_failure (const struct argp_state |
89 | #endif | 89 | #endif |
90 | } | 90 | } |
91 | 91 | ||
@@ -106,8 +106,8 @@ Index: git/argp/argp-help.c | |||
106 | #if _LIBC || (HAVE_FLOCKFILE && HAVE_FUNLOCKFILE) | 106 | #if _LIBC || (HAVE_FLOCKFILE && HAVE_FUNLOCKFILE) |
107 | Index: git/argp/argp-namefrob.h | 107 | Index: git/argp/argp-namefrob.h |
108 | =================================================================== | 108 | =================================================================== |
109 | --- git.orig/argp/argp-namefrob.h 2014-08-29 20:00:42.976070587 -0700 | 109 | --- git.orig/argp/argp-namefrob.h |
110 | +++ git/argp/argp-namefrob.h 2014-08-29 20:01:15.192070587 -0700 | 110 | +++ git/argp/argp-namefrob.h |
111 | @@ -76,10 +76,12 @@ | 111 | @@ -76,10 +76,12 @@ |
112 | #undef __argp_fmtstream_wmargin | 112 | #undef __argp_fmtstream_wmargin |
113 | #define __argp_fmtstream_wmargin argp_fmtstream_wmargin | 113 | #define __argp_fmtstream_wmargin argp_fmtstream_wmargin |
@@ -123,8 +123,8 @@ Index: git/argp/argp-namefrob.h | |||
123 | #undef __flockfile | 123 | #undef __flockfile |
124 | Index: git/argp/Makefile | 124 | Index: git/argp/Makefile |
125 | =================================================================== | 125 | =================================================================== |
126 | --- git.orig/argp/Makefile 2014-08-29 20:00:42.976070587 -0700 | 126 | --- git.orig/argp/Makefile |
127 | +++ git/argp/Makefile 2014-08-29 20:01:15.192070587 -0700 | 127 | +++ git/argp/Makefile |
128 | @@ -18,6 +18,8 @@ | 128 | @@ -18,6 +18,8 @@ |
129 | # | 129 | # |
130 | # Makefile for argp. | 130 | # Makefile for argp. |
@@ -136,9 +136,9 @@ Index: git/argp/Makefile | |||
136 | include ../Makeconfig | 136 | include ../Makeconfig |
137 | Index: git/catgets/Makefile | 137 | Index: git/catgets/Makefile |
138 | =================================================================== | 138 | =================================================================== |
139 | --- git.orig/catgets/Makefile 2014-08-29 20:00:43.008070587 -0700 | 139 | --- git.orig/catgets/Makefile |
140 | +++ git/catgets/Makefile 2014-08-29 20:01:15.192070587 -0700 | 140 | +++ git/catgets/Makefile |
141 | @@ -22,20 +22,23 @@ | 141 | @@ -22,20 +22,23 @@ subdir := catgets |
142 | 142 | ||
143 | include ../Makeconfig | 143 | include ../Makeconfig |
144 | 144 | ||
@@ -171,8 +171,8 @@ Index: git/catgets/Makefile | |||
171 | # To find xmalloc.c | 171 | # To find xmalloc.c |
172 | Index: git/crypt/crypt-entry.c | 172 | Index: git/crypt/crypt-entry.c |
173 | =================================================================== | 173 | =================================================================== |
174 | --- git.orig/crypt/crypt-entry.c 2014-08-29 20:00:43.028070587 -0700 | 174 | --- git.orig/crypt/crypt-entry.c |
175 | +++ git/crypt/crypt-entry.c 2014-08-29 20:01:15.192070587 -0700 | 175 | +++ git/crypt/crypt-entry.c |
176 | @@ -27,6 +27,7 @@ | 176 | @@ -27,6 +27,7 @@ |
177 | #include <stdio.h> | 177 | #include <stdio.h> |
178 | #endif | 178 | #endif |
@@ -181,7 +181,7 @@ Index: git/crypt/crypt-entry.c | |||
181 | #include <errno.h> | 181 | #include <errno.h> |
182 | #include <fips-private.h> | 182 | #include <fips-private.h> |
183 | 183 | ||
184 | @@ -76,9 +77,11 @@ | 184 | @@ -76,9 +77,11 @@ __crypt_r (key, salt, data) |
185 | const char *salt; | 185 | const char *salt; |
186 | struct crypt_data * __restrict data; | 186 | struct crypt_data * __restrict data; |
187 | { | 187 | { |
@@ -193,7 +193,7 @@ Index: git/crypt/crypt-entry.c | |||
193 | 193 | ||
194 | #ifdef _LIBC | 194 | #ifdef _LIBC |
195 | /* Try to find out whether we have to use MD5 encryption replacement. */ | 195 | /* Try to find out whether we have to use MD5 encryption replacement. */ |
196 | @@ -105,6 +108,7 @@ | 196 | @@ -105,6 +108,7 @@ __crypt_r (key, salt, data) |
197 | sizeof (struct crypt_data)); | 197 | sizeof (struct crypt_data)); |
198 | #endif | 198 | #endif |
199 | 199 | ||
@@ -201,7 +201,7 @@ Index: git/crypt/crypt-entry.c | |||
201 | /* | 201 | /* |
202 | * Hack DES tables according to salt | 202 | * Hack DES tables according to salt |
203 | */ | 203 | */ |
204 | @@ -144,6 +148,10 @@ | 204 | @@ -144,6 +148,10 @@ __crypt_r (key, salt, data) |
205 | */ | 205 | */ |
206 | _ufc_output_conversion_r (res[0], res[1], salt, data); | 206 | _ufc_output_conversion_r (res[0], res[1], salt, data); |
207 | return data->crypt_3_buf; | 207 | return data->crypt_3_buf; |
@@ -212,7 +212,7 @@ Index: git/crypt/crypt-entry.c | |||
212 | } | 212 | } |
213 | weak_alias (__crypt_r, crypt_r) | 213 | weak_alias (__crypt_r, crypt_r) |
214 | 214 | ||
215 | @@ -168,7 +176,12 @@ | 215 | @@ -168,7 +176,12 @@ crypt (key, salt) |
216 | return __sha512_crypt (key, salt); | 216 | return __sha512_crypt (key, salt); |
217 | #endif | 217 | #endif |
218 | 218 | ||
@@ -227,8 +227,8 @@ Index: git/crypt/crypt-entry.c | |||
227 | 227 | ||
228 | Index: git/crypt/Makefile | 228 | Index: git/crypt/Makefile |
229 | =================================================================== | 229 | =================================================================== |
230 | --- git.orig/crypt/Makefile 2014-08-29 20:00:43.024070587 -0700 | 230 | --- git.orig/crypt/Makefile |
231 | +++ git/crypt/Makefile 2014-08-29 20:01:15.192070587 -0700 | 231 | +++ git/crypt/Makefile |
232 | @@ -18,21 +18,25 @@ | 232 | @@ -18,21 +18,25 @@ |
233 | # | 233 | # |
234 | # Sub-makefile for crypt() portion of the library. | 234 | # Sub-makefile for crypt() portion of the library. |
@@ -261,7 +261,7 @@ Index: git/crypt/Makefile | |||
261 | routines += $(libcrypt-routines) | 261 | routines += $(libcrypt-routines) |
262 | endif | 262 | endif |
263 | 263 | ||
264 | @@ -44,7 +48,7 @@ | 264 | @@ -44,7 +48,7 @@ LDLIBS-crypt.so = -lfreebl3 |
265 | else | 265 | else |
266 | libcrypt-routines += md5 sha256 sha512 | 266 | libcrypt-routines += md5 sha256 sha512 |
267 | 267 | ||
@@ -270,7 +270,7 @@ Index: git/crypt/Makefile | |||
270 | 270 | ||
271 | # The test md5test-giant uses up to 400 MB of RSS and runs on a fast | 271 | # The test md5test-giant uses up to 400 MB of RSS and runs on a fast |
272 | # machine over a minute. | 272 | # machine over a minute. |
273 | @@ -64,8 +68,10 @@ | 273 | @@ -64,8 +68,10 @@ $(objpfx)sha256test: $(patsubst %, $(obj |
274 | $(objpfx)sha512test: $(patsubst %, $(objpfx)%.o,$(sha512-routines)) | 274 | $(objpfx)sha512test: $(patsubst %, $(objpfx)%.o,$(sha512-routines)) |
275 | endif | 275 | endif |
276 | 276 | ||
@@ -283,8 +283,8 @@ Index: git/crypt/Makefile | |||
283 | +endif # eglibc: OPTION_EGLIBC_CRYPT | 283 | +endif # eglibc: OPTION_EGLIBC_CRYPT |
284 | Index: git/csu/Makefile | 284 | Index: git/csu/Makefile |
285 | =================================================================== | 285 | =================================================================== |
286 | --- git.orig/csu/Makefile 2014-08-29 20:00:43.032070587 -0700 | 286 | --- git.orig/csu/Makefile |
287 | +++ git/csu/Makefile 2014-08-29 20:01:15.192070587 -0700 | 287 | +++ git/csu/Makefile |
288 | @@ -22,6 +22,8 @@ | 288 | @@ -22,6 +22,8 @@ |
289 | # crtn.o, special "initializer" and "finalizer" files used in the link | 289 | # crtn.o, special "initializer" and "finalizer" files used in the link |
290 | # to make the .init and .fini sections work right. | 290 | # to make the .init and .fini sections work right. |
@@ -296,8 +296,8 @@ Index: git/csu/Makefile | |||
296 | include ../Makeconfig | 296 | include ../Makeconfig |
297 | Index: git/debug/Makefile | 297 | Index: git/debug/Makefile |
298 | =================================================================== | 298 | =================================================================== |
299 | --- git.orig/debug/Makefile 2014-08-29 20:00:43.036070587 -0700 | 299 | --- git.orig/debug/Makefile |
300 | +++ git/debug/Makefile 2014-08-29 20:01:15.192070587 -0700 | 300 | +++ git/debug/Makefile |
301 | @@ -18,6 +18,8 @@ | 301 | @@ -18,6 +18,8 @@ |
302 | # | 302 | # |
303 | # Sub-makefile for debug portion of the library. | 303 | # Sub-makefile for debug portion of the library. |
@@ -307,7 +307,7 @@ Index: git/debug/Makefile | |||
307 | subdir := debug | 307 | subdir := debug |
308 | 308 | ||
309 | include ../Makeconfig | 309 | include ../Makeconfig |
310 | @@ -27,7 +29,7 @@ | 310 | @@ -27,7 +29,7 @@ headers := execinfo.h |
311 | # Note that ptsname_r_chk and getlogin_r are not here, but in | 311 | # Note that ptsname_r_chk and getlogin_r are not here, but in |
312 | # login/Makefile instead. If that subdir is omitted from the | 312 | # login/Makefile instead. If that subdir is omitted from the |
313 | # build, its _FORTIFY_SOURCE support will be too. | 313 | # build, its _FORTIFY_SOURCE support will be too. |
@@ -316,7 +316,7 @@ Index: git/debug/Makefile | |||
316 | memcpy_chk memmove_chk mempcpy_chk memset_chk stpcpy_chk \ | 316 | memcpy_chk memmove_chk mempcpy_chk memset_chk stpcpy_chk \ |
317 | strcat_chk strcpy_chk strncat_chk strncpy_chk stpncpy_chk \ | 317 | strcat_chk strcpy_chk strncat_chk strncpy_chk stpncpy_chk \ |
318 | sprintf_chk vsprintf_chk snprintf_chk vsnprintf_chk \ | 318 | sprintf_chk vsprintf_chk snprintf_chk vsnprintf_chk \ |
319 | @@ -36,20 +38,27 @@ | 319 | @@ -36,20 +38,27 @@ routines = backtrace backtracesyms back |
320 | read_chk pread_chk pread64_chk recv_chk recvfrom_chk \ | 320 | read_chk pread_chk pread64_chk recv_chk recvfrom_chk \ |
321 | readlink_chk readlinkat_chk getwd_chk getcwd_chk \ | 321 | readlink_chk readlinkat_chk getwd_chk getcwd_chk \ |
322 | realpath_chk fread_chk fread_u_chk \ | 322 | realpath_chk fread_chk fread_u_chk \ |
@@ -352,7 +352,7 @@ Index: git/debug/Makefile | |||
352 | static-only-routines := warning-nop stack_chk_fail_local | 352 | static-only-routines := warning-nop stack_chk_fail_local |
353 | 353 | ||
354 | CFLAGS-backtrace.c = -fno-omit-frame-pointer | 354 | CFLAGS-backtrace.c = -fno-omit-frame-pointer |
355 | @@ -129,11 +138,15 @@ | 355 | @@ -131,11 +140,15 @@ LDFLAGS-tst-backtrace4 = -rdynamic |
356 | LDFLAGS-tst-backtrace5 = -rdynamic | 356 | LDFLAGS-tst-backtrace5 = -rdynamic |
357 | LDFLAGS-tst-backtrace6 = -rdynamic | 357 | LDFLAGS-tst-backtrace6 = -rdynamic |
358 | 358 | ||
@@ -371,12 +371,12 @@ Index: git/debug/Makefile | |||
371 | +tests += tst-chk4 tst-chk5 tst-chk6 tst-lfschk4 tst-lfschk5 tst-lfschk6 | 371 | +tests += tst-chk4 tst-chk5 tst-chk6 tst-lfschk4 tst-lfschk5 tst-lfschk6 |
372 | +endif | 372 | +endif |
373 | 373 | ||
374 | tests-ifunc := $(stpcpy_chk strcpy_chk:%=test-%-ifunc) | 374 | extra-libs = libSegFault libpcprofile |
375 | tests += $(tests-ifunc) | 375 | extra-libs-others = $(extra-libs) |
376 | Index: git/debug/segfault.c | 376 | Index: git/debug/segfault.c |
377 | =================================================================== | 377 | =================================================================== |
378 | --- git.orig/debug/segfault.c 2014-08-29 20:00:46.280070587 -0700 | 378 | --- git.orig/debug/segfault.c |
379 | +++ git/debug/segfault.c 2014-08-29 20:01:15.192070587 -0700 | 379 | +++ git/debug/segfault.c |
380 | @@ -30,6 +30,7 @@ | 380 | @@ -30,6 +30,7 @@ |
381 | #include <unistd.h> | 381 | #include <unistd.h> |
382 | #include <_itoa.h> | 382 | #include <_itoa.h> |
@@ -385,7 +385,24 @@ Index: git/debug/segfault.c | |||
385 | 385 | ||
386 | /* This file defines macros to access the content of the sigcontext element | 386 | /* This file defines macros to access the content of the sigcontext element |
387 | passed up by the signal handler. */ | 387 | passed up by the signal handler. */ |
388 | @@ -91,6 +92,7 @@ | 388 | @@ -68,11 +69,13 @@ write_strsignal (int fd, int signal) |
389 | static void | ||
390 | catch_segfault (int signal, SIGCONTEXT ctx) | ||
391 | { | ||
392 | - int fd, cnt, i; | ||
393 | - void **arr; | ||
394 | + int fd; | ||
395 | struct sigaction sa; | ||
396 | +#if __OPTION_EGLIBC_BACKTRACE | ||
397 | + int cnt, i; | ||
398 | + void **arr; | ||
399 | uintptr_t pc; | ||
400 | - | ||
401 | +#endif | ||
402 | /* This is the name of the file we are writing to. If none is given | ||
403 | or we cannot write to this file write to stderr. */ | ||
404 | fd = 2; | ||
405 | @@ -91,6 +94,7 @@ catch_segfault (int signal, SIGCONTEXT c | ||
389 | REGISTER_DUMP; | 406 | REGISTER_DUMP; |
390 | #endif | 407 | #endif |
391 | 408 | ||
@@ -393,7 +410,7 @@ Index: git/debug/segfault.c | |||
393 | WRITE_STRING ("\nBacktrace:\n"); | 410 | WRITE_STRING ("\nBacktrace:\n"); |
394 | 411 | ||
395 | /* Get the backtrace. */ | 412 | /* Get the backtrace. */ |
396 | @@ -113,6 +115,7 @@ | 413 | @@ -113,6 +117,7 @@ catch_segfault (int signal, SIGCONTEXT c |
397 | 414 | ||
398 | /* Now generate nicely formatted output. */ | 415 | /* Now generate nicely formatted output. */ |
399 | __backtrace_symbols_fd (arr + i, cnt - i, fd); | 416 | __backtrace_symbols_fd (arr + i, cnt - i, fd); |
@@ -403,8 +420,8 @@ Index: git/debug/segfault.c | |||
403 | /* Now the link map. */ | 420 | /* Now the link map. */ |
404 | Index: git/debug/tst-chk1.c | 421 | Index: git/debug/tst-chk1.c |
405 | =================================================================== | 422 | =================================================================== |
406 | --- git.orig/debug/tst-chk1.c 2014-08-29 20:00:46.288070587 -0700 | 423 | --- git.orig/debug/tst-chk1.c |
407 | +++ git/debug/tst-chk1.c 2014-08-29 20:01:15.192070587 -0700 | 424 | +++ git/debug/tst-chk1.c |
408 | @@ -31,6 +31,7 @@ | 425 | @@ -31,6 +31,7 @@ |
409 | #include <sys/select.h> | 426 | #include <sys/select.h> |
410 | #include <sys/socket.h> | 427 | #include <sys/socket.h> |
@@ -413,7 +430,7 @@ Index: git/debug/tst-chk1.c | |||
413 | 430 | ||
414 | 431 | ||
415 | #define obstack_chunk_alloc malloc | 432 | #define obstack_chunk_alloc malloc |
416 | @@ -307,6 +308,7 @@ | 433 | @@ -307,6 +308,7 @@ do_test (void) |
417 | snprintf (buf + 8, l0 + 3, "%d", num2); | 434 | snprintf (buf + 8, l0 + 3, "%d", num2); |
418 | CHK_FAIL_END | 435 | CHK_FAIL_END |
419 | 436 | ||
@@ -421,7 +438,7 @@ Index: git/debug/tst-chk1.c | |||
421 | CHK_FAIL_START | 438 | CHK_FAIL_START |
422 | swprintf (wbuf + 8, 3, L"%d", num1); | 439 | swprintf (wbuf + 8, 3, L"%d", num1); |
423 | CHK_FAIL_END | 440 | CHK_FAIL_END |
424 | @@ -314,6 +316,7 @@ | 441 | @@ -314,6 +316,7 @@ do_test (void) |
425 | CHK_FAIL_START | 442 | CHK_FAIL_START |
426 | swprintf (wbuf + 8, l0 + 3, L"%d", num1); | 443 | swprintf (wbuf + 8, l0 + 3, L"%d", num1); |
427 | CHK_FAIL_END | 444 | CHK_FAIL_END |
@@ -429,7 +446,7 @@ Index: git/debug/tst-chk1.c | |||
429 | # endif | 446 | # endif |
430 | 447 | ||
431 | memcpy (buf, str1 + 2, l0 + 9); | 448 | memcpy (buf, str1 + 2, l0 + 9); |
432 | @@ -381,6 +384,7 @@ | 449 | @@ -381,6 +384,7 @@ do_test (void) |
433 | CHK_FAIL_END | 450 | CHK_FAIL_END |
434 | #endif | 451 | #endif |
435 | 452 | ||
@@ -437,7 +454,7 @@ Index: git/debug/tst-chk1.c | |||
437 | 454 | ||
438 | /* These ops can be done without runtime checking of object size. */ | 455 | /* These ops can be done without runtime checking of object size. */ |
439 | wmemcpy (wbuf, L"abcdefghij", 10); | 456 | wmemcpy (wbuf, L"abcdefghij", 10); |
440 | @@ -605,6 +609,7 @@ | 457 | @@ -605,6 +609,7 @@ do_test (void) |
441 | CHK_FAIL_END | 458 | CHK_FAIL_END |
442 | #endif | 459 | #endif |
443 | 460 | ||
@@ -445,7 +462,7 @@ Index: git/debug/tst-chk1.c | |||
445 | 462 | ||
446 | /* Now checks for %n protection. */ | 463 | /* Now checks for %n protection. */ |
447 | 464 | ||
448 | @@ -1192,6 +1197,7 @@ | 465 | @@ -1192,6 +1197,7 @@ do_test (void) |
449 | # endif | 466 | # endif |
450 | #endif | 467 | #endif |
451 | 468 | ||
@@ -453,7 +470,7 @@ Index: git/debug/tst-chk1.c | |||
453 | if (setlocale (LC_ALL, "de_DE.UTF-8") != NULL) | 470 | if (setlocale (LC_ALL, "de_DE.UTF-8") != NULL) |
454 | { | 471 | { |
455 | assert (MB_CUR_MAX <= 10); | 472 | assert (MB_CUR_MAX <= 10); |
456 | @@ -1348,6 +1354,7 @@ | 473 | @@ -1348,6 +1354,7 @@ do_test (void) |
457 | puts ("cannot set locale"); | 474 | puts ("cannot set locale"); |
458 | ret = 1; | 475 | ret = 1; |
459 | } | 476 | } |
@@ -463,8 +480,8 @@ Index: git/debug/tst-chk1.c | |||
463 | if (fd != -1) | 480 | if (fd != -1) |
464 | Index: git/dlfcn/Makefile | 481 | Index: git/dlfcn/Makefile |
465 | =================================================================== | 482 | =================================================================== |
466 | --- git.orig/dlfcn/Makefile 2014-08-29 20:00:46.312070587 -0700 | 483 | --- git.orig/dlfcn/Makefile |
467 | +++ git/dlfcn/Makefile 2014-08-29 20:01:15.192070587 -0700 | 484 | +++ git/dlfcn/Makefile |
468 | @@ -15,6 +15,8 @@ | 485 | @@ -15,6 +15,8 @@ |
469 | # License along with the GNU C Library; if not, see | 486 | # License along with the GNU C Library; if not, see |
470 | # <http://www.gnu.org/licenses/>. | 487 | # <http://www.gnu.org/licenses/>. |
@@ -474,21 +491,23 @@ Index: git/dlfcn/Makefile | |||
474 | subdir := dlfcn | 491 | subdir := dlfcn |
475 | 492 | ||
476 | include ../Makeconfig | 493 | include ../Makeconfig |
477 | @@ -36,7 +38,9 @@ | 494 | @@ -36,8 +38,11 @@ endif |
478 | ifeq (yes,$(build-shared)) | 495 | ifeq (yes,$(build-shared)) |
479 | tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit \ | 496 | tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit \ |
480 | bug-dlopen1 bug-dlsym1 tst-dlinfo bug-atexit1 bug-atexit2 \ | 497 | bug-dlopen1 bug-dlsym1 tst-dlinfo bug-atexit1 bug-atexit2 \ |
481 | - bug-atexit3 tstatexit bug-dl-leaf | 498 | - bug-atexit3 tstatexit bug-dl-leaf tst-rec-dlopen |
482 | + tstatexit bug-dl-leaf | 499 | + tstatexit bug-dl-leaf tst-rec-dlopen |
500 | endif | ||
483 | + | 501 | + |
484 | +tests-$(OPTION_EGLIBC_CXX_TESTS) += bug-atexit3 | 502 | +tests-$(OPTION_EGLIBC_CXX_TESTS) += bug-atexit3 |
485 | endif | 503 | + |
486 | modules-names = glreflib1 glreflib2 glreflib3 failtestmod defaultmod1 \ | 504 | modules-names = glreflib1 glreflib2 glreflib3 failtestmod defaultmod1 \ |
487 | defaultmod2 errmsg1mod modatexit modcxaatexit \ | 505 | defaultmod2 errmsg1mod modatexit modcxaatexit \ |
506 | bug-dlsym1-lib1 bug-dlsym1-lib2 bug-atexit1-lib \ | ||
488 | Index: git/elf/dl-support.c | 507 | Index: git/elf/dl-support.c |
489 | =================================================================== | 508 | =================================================================== |
490 | --- git.orig/elf/dl-support.c 2014-08-29 20:00:46.384070587 -0700 | 509 | --- git.orig/elf/dl-support.c |
491 | +++ git/elf/dl-support.c 2014-08-29 20:01:15.192070587 -0700 | 510 | +++ git/elf/dl-support.c |
492 | @@ -19,6 +19,7 @@ | 511 | @@ -19,6 +19,7 @@ |
493 | /* This file defines some things that for the dynamic linker are defined in | 512 | /* This file defines some things that for the dynamic linker are defined in |
494 | rtld.c and dl-sysdep.c in ways appropriate to bootstrap dynamic linking. */ | 513 | rtld.c and dl-sysdep.c in ways appropriate to bootstrap dynamic linking. */ |
@@ -497,7 +516,7 @@ Index: git/elf/dl-support.c | |||
497 | #include <errno.h> | 516 | #include <errno.h> |
498 | #include <libintl.h> | 517 | #include <libintl.h> |
499 | #include <stdlib.h> | 518 | #include <stdlib.h> |
500 | @@ -42,7 +43,9 @@ | 519 | @@ -42,7 +43,9 @@ char **_dl_argv = &__progname; /* This i |
501 | const char *_dl_platform; | 520 | const char *_dl_platform; |
502 | size_t _dl_platformlen; | 521 | size_t _dl_platformlen; |
503 | 522 | ||
@@ -509,8 +528,8 @@ Index: git/elf/dl-support.c | |||
509 | int _dl_dynamic_weak; | 528 | int _dl_dynamic_weak; |
510 | Index: git/elf/rtld.c | 529 | Index: git/elf/rtld.c |
511 | =================================================================== | 530 | =================================================================== |
512 | --- git.orig/elf/rtld.c 2014-08-29 20:01:14.708070587 -0700 | 531 | --- git.orig/elf/rtld.c |
513 | +++ git/elf/rtld.c 2014-08-29 20:01:15.196070587 -0700 | 532 | +++ git/elf/rtld.c |
514 | @@ -16,6 +16,7 @@ | 533 | @@ -16,6 +16,7 @@ |
515 | License along with the GNU C Library; if not, see | 534 | License along with the GNU C Library; if not, see |
516 | <http://www.gnu.org/licenses/>. */ | 535 | <http://www.gnu.org/licenses/>. */ |
@@ -519,7 +538,7 @@ Index: git/elf/rtld.c | |||
519 | #include <errno.h> | 538 | #include <errno.h> |
520 | #include <dlfcn.h> | 539 | #include <dlfcn.h> |
521 | #include <fcntl.h> | 540 | #include <fcntl.h> |
522 | @@ -2200,6 +2201,7 @@ | 541 | @@ -2200,6 +2201,7 @@ print_missing_version (int errcode __att |
523 | objname, errstring); | 542 | objname, errstring); |
524 | } | 543 | } |
525 | 544 | ||
@@ -527,7 +546,7 @@ Index: git/elf/rtld.c | |||
527 | /* Nonzero if any of the debugging options is enabled. */ | 546 | /* Nonzero if any of the debugging options is enabled. */ |
528 | static int any_debug attribute_relro; | 547 | static int any_debug attribute_relro; |
529 | 548 | ||
530 | @@ -2309,6 +2311,7 @@ | 549 | @@ -2309,6 +2311,7 @@ a filename can be specified using the LD |
531 | _exit (0); | 550 | _exit (0); |
532 | } | 551 | } |
533 | } | 552 | } |
@@ -535,7 +554,18 @@ Index: git/elf/rtld.c | |||
535 | 554 | ||
536 | static void | 555 | static void |
537 | process_dl_audit (char *str) | 556 | process_dl_audit (char *str) |
538 | @@ -2376,12 +2379,14 @@ | 557 | @@ -2348,8 +2351,9 @@ process_envvars (enum mode *modep) |
558 | char **runp = _environ; | ||
559 | char *envline; | ||
560 | enum mode mode = normal; | ||
561 | +#if __OPTION_EGLIBC_RTLD_DEBUG | ||
562 | char *debug_output = NULL; | ||
563 | - | ||
564 | +#endif | ||
565 | /* This is the default place for profiling data file. */ | ||
566 | GLRO(dl_profile_output) | ||
567 | = &"/var/tmp\0/var/profile"[__libc_enable_secure ? 9 : 0]; | ||
568 | @@ -2376,12 +2380,14 @@ process_envvars (enum mode *modep) | ||
539 | break; | 569 | break; |
540 | 570 | ||
541 | case 5: | 571 | case 5: |
@@ -550,7 +580,23 @@ Index: git/elf/rtld.c | |||
550 | if (memcmp (envline, "AUDIT", 5) == 0) | 580 | if (memcmp (envline, "AUDIT", 5) == 0) |
551 | process_dl_audit (&envline[6]); | 581 | process_dl_audit (&envline[6]); |
552 | break; | 582 | break; |
553 | @@ -2490,7 +2495,9 @@ | 583 | @@ -2447,13 +2453,14 @@ process_envvars (enum mode *modep) |
584 | break; | ||
585 | } | ||
586 | |||
587 | +#if __OPTION_EGLIBC_RTLD_DEBUG | ||
588 | /* Where to place the profiling data file. */ | ||
589 | if (memcmp (envline, "DEBUG_OUTPUT", 12) == 0) | ||
590 | { | ||
591 | debug_output = &envline[13]; | ||
592 | break; | ||
593 | } | ||
594 | - | ||
595 | +#endif | ||
596 | if (!__libc_enable_secure | ||
597 | && memcmp (envline, "DYNAMIC_WEAK", 12) == 0) | ||
598 | GLRO(dl_dynamic_weak) = 1; | ||
599 | @@ -2490,7 +2497,9 @@ process_envvars (enum mode *modep) | ||
554 | { | 600 | { |
555 | mode = trace; | 601 | mode = trace; |
556 | GLRO(dl_verbose) = 1; | 602 | GLRO(dl_verbose) = 1; |
@@ -560,7 +606,7 @@ Index: git/elf/rtld.c | |||
560 | GLRO(dl_trace_prelink) = &envline[17]; | 606 | GLRO(dl_trace_prelink) = &envline[17]; |
561 | } | 607 | } |
562 | break; | 608 | break; |
563 | @@ -2537,12 +2544,15 @@ | 609 | @@ -2537,12 +2546,15 @@ process_envvars (enum mode *modep) |
564 | if (__access ("/etc/suid-debug", F_OK) != 0) | 610 | if (__access ("/etc/suid-debug", F_OK) != 0) |
565 | { | 611 | { |
566 | unsetenv ("MALLOC_CHECK_"); | 612 | unsetenv ("MALLOC_CHECK_"); |
@@ -576,7 +622,7 @@ Index: git/elf/rtld.c | |||
576 | /* If we have to run the dynamic linker in debugging mode and the | 622 | /* If we have to run the dynamic linker in debugging mode and the |
577 | LD_DEBUG_OUTPUT environment variable is given, we write the debug | 623 | LD_DEBUG_OUTPUT environment variable is given, we write the debug |
578 | messages to this file. */ | 624 | messages to this file. */ |
579 | @@ -2567,6 +2577,7 @@ | 625 | @@ -2567,6 +2579,7 @@ process_envvars (enum mode *modep) |
580 | /* We use standard output if opening the file failed. */ | 626 | /* We use standard output if opening the file failed. */ |
581 | GLRO(dl_debug_fd) = STDOUT_FILENO; | 627 | GLRO(dl_debug_fd) = STDOUT_FILENO; |
582 | } | 628 | } |
@@ -586,9 +632,9 @@ Index: git/elf/rtld.c | |||
586 | 632 | ||
587 | Index: git/extra-lib.mk | 633 | Index: git/extra-lib.mk |
588 | =================================================================== | 634 | =================================================================== |
589 | --- git.orig/extra-lib.mk 2014-08-29 20:00:46.544070587 -0700 | 635 | --- git.orig/extra-lib.mk |
590 | +++ git/extra-lib.mk 2014-08-29 20:01:15.196070587 -0700 | 636 | +++ git/extra-lib.mk |
591 | @@ -25,7 +25,9 @@ | 637 | @@ -25,7 +25,9 @@ install-lib := $(install-lib) |
592 | extra-objs := $(extra-objs) | 638 | extra-objs := $(extra-objs) |
593 | 639 | ||
594 | # The modules that go in $(lib). | 640 | # The modules that go in $(lib). |
@@ -599,7 +645,7 @@ Index: git/extra-lib.mk | |||
599 | 645 | ||
600 | # Add each flavor of library to the lists of things to build and install. | 646 | # Add each flavor of library to the lists of things to build and install. |
601 | install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) | 647 | install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) |
602 | @@ -101,7 +103,7 @@ | 648 | @@ -101,7 +103,7 @@ endif |
603 | endif | 649 | endif |
604 | 650 | ||
605 | # This will define `libof-ROUTINE := LIB' for each of the routines. | 651 | # This will define `libof-ROUTINE := LIB' for each of the routines. |
@@ -610,8 +656,8 @@ Index: git/extra-lib.mk | |||
610 | endif | 656 | endif |
611 | Index: git/grp/Makefile | 657 | Index: git/grp/Makefile |
612 | =================================================================== | 658 | =================================================================== |
613 | --- git.orig/grp/Makefile 2014-08-29 20:00:46.556070587 -0700 | 659 | --- git.orig/grp/Makefile |
614 | +++ git/grp/Makefile 2014-08-29 20:01:15.196070587 -0700 | 660 | +++ git/grp/Makefile |
615 | @@ -18,6 +18,8 @@ | 661 | @@ -18,6 +18,8 @@ |
616 | # | 662 | # |
617 | # Sub-makefile for grp portion of the library. | 663 | # Sub-makefile for grp portion of the library. |
@@ -621,7 +667,7 @@ Index: git/grp/Makefile | |||
621 | subdir := grp | 667 | subdir := grp |
622 | 668 | ||
623 | include ../Makeconfig | 669 | include ../Makeconfig |
624 | @@ -29,6 +31,9 @@ | 670 | @@ -29,6 +31,9 @@ routines := fgetgrent initgroups setgrou |
625 | getgrent_r getgrgid_r getgrnam_r fgetgrent_r | 671 | getgrent_r getgrgid_r getgrnam_r fgetgrent_r |
626 | 672 | ||
627 | tests := testgrp | 673 | tests := testgrp |
@@ -633,8 +679,8 @@ Index: git/grp/Makefile | |||
633 | test-srcs := tst_fgetgrent | 679 | test-srcs := tst_fgetgrent |
634 | Index: git/hesiod/Makefile | 680 | Index: git/hesiod/Makefile |
635 | =================================================================== | 681 | =================================================================== |
636 | --- git.orig/hesiod/Makefile 2014-08-29 20:00:46.580070587 -0700 | 682 | --- git.orig/hesiod/Makefile |
637 | +++ git/hesiod/Makefile 2014-08-29 20:01:15.196070587 -0700 | 683 | +++ git/hesiod/Makefile |
638 | @@ -18,12 +18,14 @@ | 684 | @@ -18,12 +18,14 @@ |
639 | # | 685 | # |
640 | # Sub-makefile for hesiod portion of the library. | 686 | # Sub-makefile for hesiod portion of the library. |
@@ -654,8 +700,8 @@ Index: git/hesiod/Makefile | |||
654 | vpath %.c nss_hesiod | 700 | vpath %.c nss_hesiod |
655 | Index: git/iconv/gconv_db.c | 701 | Index: git/iconv/gconv_db.c |
656 | =================================================================== | 702 | =================================================================== |
657 | --- git.orig/iconv/gconv_db.c 2014-08-29 20:00:46.604070587 -0700 | 703 | --- git.orig/iconv/gconv_db.c |
658 | +++ git/iconv/gconv_db.c 2014-08-29 20:01:15.196070587 -0700 | 704 | +++ git/iconv/gconv_db.c |
659 | @@ -25,6 +25,7 @@ | 705 | @@ -25,6 +25,7 @@ |
660 | #include <sys/param.h> | 706 | #include <sys/param.h> |
661 | #include <bits/libc-lock.h> | 707 | #include <bits/libc-lock.h> |
@@ -664,7 +710,7 @@ Index: git/iconv/gconv_db.c | |||
664 | 710 | ||
665 | #include <dlfcn.h> | 711 | #include <dlfcn.h> |
666 | #include <gconv_int.h> | 712 | #include <gconv_int.h> |
667 | @@ -828,9 +829,11 @@ | 713 | @@ -828,9 +829,11 @@ free_modules_db (struct gconv_module *no |
668 | /* Free all resources if necessary. */ | 714 | /* Free all resources if necessary. */ |
669 | libc_freeres_fn (free_mem) | 715 | libc_freeres_fn (free_mem) |
670 | { | 716 | { |
@@ -678,8 +724,8 @@ Index: git/iconv/gconv_db.c | |||
678 | extern void _nl_finddomain_subfreeres (void) attribute_hidden; | 724 | extern void _nl_finddomain_subfreeres (void) attribute_hidden; |
679 | Index: git/iconv/gconv_trans.c | 725 | Index: git/iconv/gconv_trans.c |
680 | =================================================================== | 726 | =================================================================== |
681 | --- git.orig/iconv/gconv_trans.c 2014-08-29 20:00:46.612070587 -0700 | 727 | --- git.orig/iconv/gconv_trans.c |
682 | +++ git/iconv/gconv_trans.c 2014-08-29 20:01:15.196070587 -0700 | 728 | +++ git/iconv/gconv_trans.c |
683 | @@ -23,6 +23,7 @@ | 729 | @@ -23,6 +23,7 @@ |
684 | #include <stdint.h> | 730 | #include <stdint.h> |
685 | #include <string.h> | 731 | #include <string.h> |
@@ -688,7 +734,27 @@ Index: git/iconv/gconv_trans.c | |||
688 | 734 | ||
689 | #include <bits/libc-lock.h> | 735 | #include <bits/libc-lock.h> |
690 | #include "gconv_int.h" | 736 | #include "gconv_int.h" |
691 | @@ -59,6 +60,7 @@ | 737 | @@ -38,15 +39,19 @@ __gconv_transliterate (struct __gconv_st |
738 | unsigned char **outbufstart, size_t *irreversible) | ||
739 | { | ||
740 | /* Find out about the locale's transliteration. */ | ||
741 | +#if __OPTION_EGLIBC_LOCALE_CODE | ||
742 | uint_fast32_t size; | ||
743 | const uint32_t *from_idx; | ||
744 | const uint32_t *from_tbl; | ||
745 | const uint32_t *to_idx; | ||
746 | const uint32_t *to_tbl; | ||
747 | +#endif | ||
748 | const uint32_t *winbuf; | ||
749 | const uint32_t *winbufend; | ||
750 | +#if __OPTION_EGLIBC_LOCALE_CODE | ||
751 | uint_fast32_t low; | ||
752 | uint_fast32_t high; | ||
753 | +#endif | ||
754 | |||
755 | /* The input buffer. There are actually 4-byte values. */ | ||
756 | winbuf = (const uint32_t *) *inbufp; | ||
757 | @@ -58,6 +63,7 @@ __gconv_transliterate (struct __gconv_st | ||
692 | PTR_DEMANGLE (fct); | 758 | PTR_DEMANGLE (fct); |
693 | #endif | 759 | #endif |
694 | 760 | ||
@@ -696,7 +762,7 @@ Index: git/iconv/gconv_trans.c | |||
696 | /* If there is no transliteration information in the locale don't do | 762 | /* If there is no transliteration information in the locale don't do |
697 | anything and return the error. */ | 763 | anything and return the error. */ |
698 | size = _NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_TAB_SIZE); | 764 | size = _NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_TAB_SIZE); |
699 | @@ -194,6 +196,7 @@ | 765 | @@ -193,6 +199,7 @@ __gconv_transliterate (struct __gconv_st |
700 | sorted. */ | 766 | sorted. */ |
701 | break; | 767 | break; |
702 | } | 768 | } |
@@ -706,8 +772,8 @@ Index: git/iconv/gconv_trans.c | |||
706 | if (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN) != 0) | 772 | if (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN) != 0) |
707 | Index: git/iconv/iconv_prog.c | 773 | Index: git/iconv/iconv_prog.c |
708 | =================================================================== | 774 | =================================================================== |
709 | --- git.orig/iconv/iconv_prog.c 2014-08-29 20:00:46.612070587 -0700 | 775 | --- git.orig/iconv/iconv_prog.c |
710 | +++ git/iconv/iconv_prog.c 2014-08-29 20:01:15.196070587 -0700 | 776 | +++ git/iconv/iconv_prog.c |
711 | @@ -35,6 +35,7 @@ | 777 | @@ -35,6 +35,7 @@ |
712 | #ifdef _POSIX_MAPPED_FILES | 778 | #ifdef _POSIX_MAPPED_FILES |
713 | # include <sys/mman.h> | 779 | # include <sys/mman.h> |
@@ -716,7 +782,7 @@ Index: git/iconv/iconv_prog.c | |||
716 | #include <charmap.h> | 782 | #include <charmap.h> |
717 | #include <gconv_int.h> | 783 | #include <gconv_int.h> |
718 | #include "iconv_prog.h" | 784 | #include "iconv_prog.h" |
719 | @@ -221,10 +222,17 @@ | 785 | @@ -221,10 +222,17 @@ main (int argc, char *argv[]) |
720 | bool to_wrong = | 786 | bool to_wrong = |
721 | (iconv_open (to_code, "UTF-8") == (iconv_t) -1 | 787 | (iconv_open (to_code, "UTF-8") == (iconv_t) -1 |
722 | && errno == EINVAL); | 788 | && errno == EINVAL); |
@@ -736,8 +802,8 @@ Index: git/iconv/iconv_prog.c | |||
736 | { | 802 | { |
737 | Index: git/iconv/Makefile | 803 | Index: git/iconv/Makefile |
738 | =================================================================== | 804 | =================================================================== |
739 | --- git.orig/iconv/Makefile 2014-08-29 20:00:46.600070587 -0700 | 805 | --- git.orig/iconv/Makefile |
740 | +++ git/iconv/Makefile 2014-08-29 20:01:15.196070587 -0700 | 806 | +++ git/iconv/Makefile |
741 | @@ -18,6 +18,8 @@ | 807 | @@ -18,6 +18,8 @@ |
742 | # | 808 | # |
743 | # Makefile for iconv. | 809 | # Makefile for iconv. |
@@ -747,20 +813,22 @@ Index: git/iconv/Makefile | |||
747 | subdir := iconv | 813 | subdir := iconv |
748 | 814 | ||
749 | include ../Makeconfig | 815 | include ../Makeconfig |
750 | @@ -57,6 +59,9 @@ | 816 | @@ -39,6 +41,11 @@ CFLAGS-iconv_charmap.c = -I../locale/pro |
751 | CPPFLAGS-strtab = -DNOT_IN_libc | 817 | CFLAGS-dummy-repertoire.c = -I../locale/programs |
752 | CPPFLAGS-charmap = -DNOT_IN_libc | 818 | CFLAGS-charmap.c = -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \ |
753 | CPPFLAGS-charmap-dir = -DNOT_IN_libc | 819 | -DDEFAULT_CHARMAP=null_pointer -DNEED_NULL_POINTER |
820 | + | ||
754 | +ifneq (y,$(OPTION_EGLIBC_SPAWN)) | 821 | +ifneq (y,$(OPTION_EGLIBC_SPAWN)) |
755 | +CPPFLAGS-charmap-dir.c += -DNO_UNCOMPRESS | 822 | +CFLAGS-charmap-dir.c += -DNO_UNCOMPRESS |
756 | +endif | 823 | +endif |
824 | + | ||
825 | CFLAGS-linereader.c = -DNO_TRANSLITERATION | ||
826 | CFLAGS-simple-hash.c = -I../locale | ||
757 | 827 | ||
758 | ifeq ($(run-built-tests),yes) | ||
759 | xtests-special += $(objpfx)test-iconvconfig.out | ||
760 | Index: git/iconvdata/Makefile | 828 | Index: git/iconvdata/Makefile |
761 | =================================================================== | 829 | =================================================================== |
762 | --- git.orig/iconvdata/Makefile 2014-08-29 20:00:46.628070587 -0700 | 830 | --- git.orig/iconvdata/Makefile |
763 | +++ git/iconvdata/Makefile 2014-08-29 20:01:15.196070587 -0700 | 831 | +++ git/iconvdata/Makefile |
764 | @@ -18,12 +18,15 @@ | 832 | @@ -18,12 +18,15 @@ |
765 | # | 833 | # |
766 | # Makefile for iconv data and code. | 834 | # Makefile for iconv data and code. |
@@ -778,7 +846,7 @@ Index: git/iconvdata/Makefile | |||
778 | ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ | 846 | ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ |
779 | ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16 \ | 847 | ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16 \ |
780 | T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 HP-ROMAN9 EBCDIC-AT-DE \ | 848 | T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 HP-ROMAN9 EBCDIC-AT-DE \ |
781 | @@ -63,11 +66,13 @@ | 849 | @@ -63,11 +66,13 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 |
782 | MAC-CENTRALEUROPE KOI8-RU ISO8859-9E \ | 850 | MAC-CENTRALEUROPE KOI8-RU ISO8859-9E \ |
783 | CP770 CP771 CP772 CP773 CP774 | 851 | CP770 CP771 CP772 CP773 CP774 |
784 | 852 | ||
@@ -794,7 +862,7 @@ Index: git/iconvdata/Makefile | |||
794 | ifeq ($(have-thread-library),yes) | 862 | ifeq ($(have-thread-library),yes) |
795 | tests += bug-iconv3 | 863 | tests += bug-iconv3 |
796 | endif | 864 | endif |
797 | @@ -130,13 +135,13 @@ | 865 | @@ -127,13 +132,13 @@ ifeq (yes,$(build-shared)) |
798 | # Rule to generate the shared objects. | 866 | # Rule to generate the shared objects. |
799 | charmaps = ../localedata/charmaps | 867 | charmaps = ../localedata/charmaps |
800 | -include $(objpfx)iconv-rules | 868 | -include $(objpfx)iconv-rules |
@@ -811,7 +879,7 @@ Index: git/iconvdata/Makefile | |||
811 | 879 | ||
812 | # We can build the conversion tables for numerous charsets automatically. | 880 | # We can build the conversion tables for numerous charsets automatically. |
813 | 881 | ||
814 | @@ -204,7 +209,7 @@ | 882 | @@ -201,7 +206,7 @@ before-compile += $(addprefix $(objpfx), |
815 | ifndef avoid-generated | 883 | ifndef avoid-generated |
816 | $(objpfx)iconv-rules: Makefile | 884 | $(objpfx)iconv-rules: Makefile |
817 | $(make-target-directory) | 885 | $(make-target-directory) |
@@ -820,7 +888,7 @@ Index: git/iconvdata/Makefile | |||
820 | echo 8bit $(gen-8bit-modules); \ | 888 | echo 8bit $(gen-8bit-modules); \ |
821 | echo 8bit-gap $(gen-8bit-gap-modules); } | \ | 889 | echo 8bit-gap $(gen-8bit-gap-modules); } | \ |
822 | LC_ALL=C \ | 890 | LC_ALL=C \ |
823 | @@ -247,7 +252,7 @@ | 891 | @@ -245,7 +250,7 @@ $(addprefix $(inst_gconvdir)/, $(modules |
824 | $(do-install-program) | 892 | $(do-install-program) |
825 | $(inst_gconvdir)/gconv-modules: gconv-modules $(+force) | 893 | $(inst_gconvdir)/gconv-modules: gconv-modules $(+force) |
826 | $(do-install) | 894 | $(do-install) |
@@ -829,7 +897,7 @@ Index: git/iconvdata/Makefile | |||
829 | # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary | 897 | # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary |
830 | # if this libc has more gconv modules than the previously installed one. | 898 | # if this libc has more gconv modules than the previously installed one. |
831 | if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \ | 899 | if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \ |
832 | @@ -256,9 +261,9 @@ | 900 | @@ -254,9 +259,9 @@ ifeq (no,$(cross-compiling)) |
833 | $(common-objpfx)iconv/iconvconfig \ | 901 | $(common-objpfx)iconv/iconvconfig \ |
834 | $(addprefix --prefix=,$(install_root)); \ | 902 | $(addprefix --prefix=,$(install_root)); \ |
835 | fi | 903 | fi |
@@ -844,9 +912,9 @@ Index: git/iconvdata/Makefile | |||
844 | 912 | ||
845 | Index: git/include/netdb.h | 913 | Index: git/include/netdb.h |
846 | =================================================================== | 914 | =================================================================== |
847 | --- git.orig/include/netdb.h 2014-08-29 20:00:47.152070587 -0700 | 915 | --- git.orig/include/netdb.h |
848 | +++ git/include/netdb.h 2014-08-29 20:01:15.196070587 -0700 | 916 | +++ git/include/netdb.h |
849 | @@ -232,6 +232,10 @@ | 917 | @@ -232,6 +232,10 @@ extern enum nss_status _nss_ ## service |
850 | (const char *name, int af, struct hostent *host, \ | 918 | (const char *name, int af, struct hostent *host, \ |
851 | char *buffer, size_t buflen, int *errnop, \ | 919 | char *buffer, size_t buflen, int *errnop, \ |
852 | int *h_errnop); \ | 920 | int *h_errnop); \ |
@@ -859,8 +927,8 @@ Index: git/include/netdb.h | |||
859 | size_t buflen, int *errnop, int *h_errnop); \ | 927 | size_t buflen, int *errnop, int *h_errnop); \ |
860 | Index: git/inet/Makefile | 928 | Index: git/inet/Makefile |
861 | =================================================================== | 929 | =================================================================== |
862 | --- git.orig/inet/Makefile 2014-08-29 20:00:47.176070587 -0700 | 930 | --- git.orig/inet/Makefile |
863 | +++ git/inet/Makefile 2014-08-29 20:01:15.200070587 -0700 | 931 | +++ git/inet/Makefile |
864 | @@ -18,6 +18,8 @@ | 932 | @@ -18,6 +18,8 @@ |
865 | # | 933 | # |
866 | # Sub-makefile for inet portion of the library. | 934 | # Sub-makefile for inet portion of the library. |
@@ -870,7 +938,7 @@ Index: git/inet/Makefile | |||
870 | subdir := inet | 938 | subdir := inet |
871 | 939 | ||
872 | include ../Makeconfig | 940 | include ../Makeconfig |
873 | @@ -27,7 +29,8 @@ | 941 | @@ -27,7 +29,8 @@ headers := netinet/ether.h netinet/in.h |
874 | netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \ | 942 | netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \ |
875 | aliases.h ifaddrs.h netinet/ip6.h netinet/icmp6.h bits/in.h | 943 | aliases.h ifaddrs.h netinet/ip6.h netinet/icmp6.h bits/in.h |
876 | 944 | ||
@@ -880,7 +948,7 @@ Index: git/inet/Makefile | |||
880 | inet_lnaof inet_mkadr \ | 948 | inet_lnaof inet_mkadr \ |
881 | inet_netof inet_ntoa inet_net herrno herrno-loc \ | 949 | inet_netof inet_ntoa inet_net herrno herrno-loc \ |
882 | gethstbyad gethstbyad_r gethstbynm gethstbynm2 gethstbynm2_r \ | 950 | gethstbyad gethstbyad_r gethstbynm gethstbynm2 gethstbynm2_r \ |
883 | @@ -41,18 +44,23 @@ | 951 | @@ -41,18 +44,23 @@ routines := htonl htons \ |
884 | getrpcent_r getrpcbyname_r getrpcbynumber_r \ | 952 | getrpcent_r getrpcbyname_r getrpcbynumber_r \ |
885 | ether_aton ether_aton_r ether_hton ether_line \ | 953 | ether_aton ether_aton_r ether_hton ether_line \ |
886 | ether_ntoa ether_ntoa_r ether_ntoh \ | 954 | ether_ntoa ether_ntoa_r ether_ntoh \ |
@@ -912,89 +980,112 @@ Index: git/inet/Makefile | |||
912 | 980 | ||
913 | Index: git/intl/dcigettext.c | 981 | Index: git/intl/dcigettext.c |
914 | =================================================================== | 982 | =================================================================== |
915 | --- git.orig/intl/dcigettext.c 2014-08-29 20:00:47.224070587 -0700 | 983 | --- git.orig/intl/dcigettext.c |
916 | +++ git/intl/dcigettext.c 2014-08-29 20:01:15.200070587 -0700 | 984 | +++ git/intl/dcigettext.c |
917 | @@ -77,6 +77,10 @@ | 985 | @@ -100,11 +100,15 @@ extern int errno; |
986 | # include "libgnuintl.h" | ||
918 | #endif | 987 | #endif |
919 | #include "hash-string.h" | 988 | #include "hash-string.h" |
920 | |||
921 | +#ifdef _LIBC | 989 | +#ifdef _LIBC |
922 | +# include <gnu/option-groups.h> | 990 | +# include <gnu/option-groups.h> |
923 | +#endif | 991 | +#endif |
924 | + | 992 | |
925 | /* Thread safetyness. */ | 993 | /* Handle multi-threaded applications. */ |
926 | #ifdef _LIBC | 994 | #ifdef _LIBC |
927 | # include <bits/libc-lock.h> | 995 | # include <bits/libc-lock.h> |
928 | @@ -449,9 +453,11 @@ | 996 | # define gl_rwlock_define_initialized __libc_rwlock_define_initialized |
929 | #endif | 997 | +# define gl_rwlock_define __libc_rwlock_define |
998 | # define gl_rwlock_rdlock __libc_rwlock_rdlock | ||
999 | # define gl_rwlock_wrlock __libc_rwlock_wrlock | ||
1000 | # define gl_rwlock_unlock __libc_rwlock_unlock | ||
1001 | @@ -523,8 +527,10 @@ DCIGETTEXT (const char *domainname, cons | ||
1002 | saved_errno = errno; | ||
930 | 1003 | ||
931 | #ifdef _LIBC | 1004 | #ifdef _LIBC |
932 | +#if __OPTION_EGLIBC_LOCALE_CODE | 1005 | - __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden) |
933 | __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden) | 1006 | - __libc_rwlock_rdlock (__libc_setlocale_lock); |
934 | __libc_rwlock_rdlock (__libc_setlocale_lock); | 1007 | +# if __OPTION_EGLIBC_LOCALE_CODE |
1008 | + gl_rwlock_define (extern, __libc_setlocale_lock attribute_hidden) | ||
1009 | + gl_rwlock_rdlock (__libc_setlocale_lock); | ||
1010 | +# endif | ||
935 | #endif | 1011 | #endif |
936 | +#endif | ||
937 | |||
938 | __libc_rwlock_rdlock (_nl_state_lock); | ||
939 | 1012 | ||
940 | @@ -470,7 +476,11 @@ | 1013 | gl_rwlock_rdlock (_nl_state_lock); |
941 | search.category = category; | 1014 | @@ -550,7 +556,11 @@ DCIGETTEXT (const char *domainname, cons |
942 | # ifdef HAVE_PER_THREAD_LOCALE | 1015 | #ifdef HAVE_PER_THREAD_LOCALE |
1016 | # ifndef IN_LIBGLOCALE | ||
943 | # ifdef _LIBC | 1017 | # ifdef _LIBC |
1018 | - localename = strdupa (__current_locale_name (category)); | ||
944 | +# if __OPTION_EGLIBC_LOCALE_CODE | 1019 | +# if __OPTION_EGLIBC_LOCALE_CODE |
945 | localename = strdupa (__current_locale_name (category)); | 1020 | + localename = strdupa (__current_locale_name (category)); |
946 | +# else | 1021 | +# else |
947 | + localename = "C"; | 1022 | + localename = "C"; |
948 | +# endif | 1023 | +# endif |
949 | # endif | 1024 | # else |
950 | search.localename = localename; | 1025 | categoryname = category_to_name (category); |
951 | # endif | 1026 | # define CATEGORYNAME_INITIALIZED |
952 | @@ -494,7 +504,9 @@ | 1027 | @@ -581,10 +591,12 @@ DCIGETTEXT (const char *domainname, cons |
1028 | else | ||
953 | retval = (char *) (*foundp)->translation; | 1029 | retval = (char *) (*foundp)->translation; |
954 | 1030 | ||
1031 | - gl_rwlock_unlock (_nl_state_lock); | ||
955 | # ifdef _LIBC | 1032 | # ifdef _LIBC |
956 | +#if __OPTION_EGLIBC_LOCALE_CODE | 1033 | - __libc_rwlock_unlock (__libc_setlocale_lock); |
957 | __libc_rwlock_unlock (__libc_setlocale_lock); | 1034 | +# if __OPTION_EGLIBC_LOCALE_CODE |
958 | +#endif | 1035 | + gl_rwlock_unlock (__libc_setlocale_lock); |
1036 | +# endif | ||
959 | # endif | 1037 | # endif |
960 | __libc_rwlock_unlock (_nl_state_lock); | 1038 | + gl_rwlock_unlock (_nl_state_lock); |
1039 | __set_errno (saved_errno); | ||
961 | return retval; | 1040 | return retval; |
962 | @@ -611,7 +623,9 @@ | 1041 | } |
963 | { | 1042 | @@ -838,10 +850,13 @@ DCIGETTEXT (const char *domainname, cons |
964 | no_translation: | ||
965 | FREE_BLOCKS (block_list); | ||
966 | +#if __OPTION_EGLIBC_LOCALE_CODE | ||
967 | __libc_rwlock_unlock (__libc_setlocale_lock); | ||
968 | +#endif | ||
969 | __libc_rwlock_unlock (_nl_state_lock); | ||
970 | __set_errno (saved_errno); | ||
971 | return (plural == 0 | ||
972 | @@ -730,7 +744,9 @@ | ||
973 | if (plural) | 1043 | if (plural) |
974 | retval = plural_lookup (domain, n, retval, retlen); | 1044 | retval = plural_lookup (domain, n, retval, retlen); |
975 | 1045 | ||
976 | +#if __OPTION_EGLIBC_LOCALE_CODE | 1046 | - gl_rwlock_unlock (_nl_state_lock); |
977 | __libc_rwlock_unlock (__libc_setlocale_lock); | 1047 | #ifdef _LIBC |
978 | +#endif | 1048 | - __libc_rwlock_unlock (__libc_setlocale_lock); |
979 | __libc_rwlock_unlock (_nl_state_lock); | 1049 | +# if __OPTION_EGLIBC_LOCALE_CODE |
1050 | + | ||
1051 | + gl_rwlock_unlock (__libc_setlocale_lock); | ||
1052 | +# endif | ||
1053 | #endif | ||
1054 | + gl_rwlock_unlock (_nl_state_lock); | ||
980 | return retval; | 1055 | return retval; |
981 | } | 1056 | } |
982 | @@ -1361,7 +1377,11 @@ | 1057 | } |
983 | `LC_xxx', and `LANG'. On some systems this can be done by the | 1058 | @@ -850,10 +865,12 @@ DCIGETTEXT (const char *domainname, cons |
984 | `setlocale' function itself. */ | 1059 | return_untranslated: |
1060 | /* Return the untranslated MSGID. */ | ||
1061 | FREE_BLOCKS (block_list); | ||
1062 | - gl_rwlock_unlock (_nl_state_lock); | ||
985 | #ifdef _LIBC | 1063 | #ifdef _LIBC |
1064 | - __libc_rwlock_unlock (__libc_setlocale_lock); | ||
986 | +# if __OPTION_EGLIBC_LOCALE_CODE | 1065 | +# if __OPTION_EGLIBC_LOCALE_CODE |
987 | retval = __current_locale_name (category); | 1066 | + gl_rwlock_unlock (__libc_setlocale_lock); |
988 | +# else | ||
989 | + retval = "C"; | ||
990 | +# endif | 1067 | +# endif |
991 | #else | ||
992 | retval = _nl_locale_name (category, categoryname); | ||
993 | #endif | 1068 | #endif |
1069 | + gl_rwlock_unlock (_nl_state_lock); | ||
1070 | #ifndef _LIBC | ||
1071 | if (!ENABLE_SECURE) | ||
1072 | { | ||
1073 | @@ -1550,7 +1567,11 @@ guess_category_value (int category, cons | ||
1074 | `LC_xxx', and `LANG'. On some systems this can be done by the | ||
1075 | `setlocale' function itself. */ | ||
1076 | # ifdef _LIBC | ||
1077 | +# if __OPTION_EGLIBC_LOCALE_CODE | ||
1078 | locale = __current_locale_name (category); | ||
1079 | +# else | ||
1080 | + locale = "C"; | ||
1081 | +# endif | ||
1082 | # else | ||
1083 | locale_defaulted = 0; | ||
1084 | # if HAVE_USELOCALE | ||
994 | Index: git/intl/Makefile | 1085 | Index: git/intl/Makefile |
995 | =================================================================== | 1086 | =================================================================== |
996 | --- git.orig/intl/Makefile 2014-08-29 20:00:47.220070587 -0700 | 1087 | --- git.orig/intl/Makefile |
997 | +++ git/intl/Makefile 2014-08-29 20:01:15.200070587 -0700 | 1088 | +++ git/intl/Makefile |
998 | @@ -16,6 +16,7 @@ | 1089 | @@ -16,6 +16,7 @@ |
999 | # <http://www.gnu.org/licenses/>. | 1090 | # <http://www.gnu.org/licenses/>. |
1000 | 1091 | ||
@@ -1003,7 +1094,7 @@ Index: git/intl/Makefile | |||
1003 | 1094 | ||
1004 | subdir = intl | 1095 | subdir = intl |
1005 | 1096 | ||
1006 | @@ -48,7 +49,7 @@ | 1097 | @@ -48,7 +49,7 @@ endif |
1007 | $(objpfx)plural.o: plural.c | 1098 | $(objpfx)plural.o: plural.c |
1008 | 1099 | ||
1009 | ifeq ($(run-built-tests),yes) | 1100 | ifeq ($(run-built-tests),yes) |
@@ -1014,8 +1105,8 @@ Index: git/intl/Makefile | |||
1014 | $(objpfx)tst-gettext2.out $(objpfx)tst-codeset.out \ | 1105 | $(objpfx)tst-gettext2.out $(objpfx)tst-codeset.out \ |
1015 | Index: git/io/Makefile | 1106 | Index: git/io/Makefile |
1016 | =================================================================== | 1107 | =================================================================== |
1017 | --- git.orig/io/Makefile 2014-08-29 20:00:47.244070587 -0700 | 1108 | --- git.orig/io/Makefile |
1018 | +++ git/io/Makefile 2014-08-29 20:01:15.200070587 -0700 | 1109 | +++ git/io/Makefile |
1019 | @@ -18,6 +18,8 @@ | 1110 | @@ -18,6 +18,8 @@ |
1020 | # | 1111 | # |
1021 | # Sub-makefile for I/O portion of the library. | 1112 | # Sub-makefile for I/O portion of the library. |
@@ -1025,7 +1116,7 @@ Index: git/io/Makefile | |||
1025 | subdir := io | 1116 | subdir := io |
1026 | 1117 | ||
1027 | include ../Makeconfig | 1118 | include ../Makeconfig |
1028 | @@ -36,7 +38,7 @@ | 1119 | @@ -36,7 +38,7 @@ routines := \ |
1029 | fxstatat fxstatat64 \ | 1120 | fxstatat fxstatat64 \ |
1030 | statfs fstatfs statfs64 fstatfs64 \ | 1121 | statfs fstatfs statfs64 fstatfs64 \ |
1031 | statvfs fstatvfs statvfs64 fstatvfs64 \ | 1122 | statvfs fstatvfs statvfs64 fstatvfs64 \ |
@@ -1034,7 +1125,7 @@ Index: git/io/Makefile | |||
1034 | mkdir mkdirat \ | 1125 | mkdir mkdirat \ |
1035 | open open_2 open64 open64_2 openat openat_2 openat64 openat64_2 \ | 1126 | open open_2 open64 open64_2 openat openat_2 openat64 openat64_2 \ |
1036 | read write lseek lseek64 access euidaccess faccessat \ | 1127 | read write lseek lseek64 access euidaccess faccessat \ |
1037 | @@ -49,11 +51,13 @@ | 1128 | @@ -49,11 +51,13 @@ routines := \ |
1038 | ttyname ttyname_r isatty \ | 1129 | ttyname ttyname_r isatty \ |
1039 | link linkat symlink symlinkat readlink readlinkat \ | 1130 | link linkat symlink symlinkat readlink readlinkat \ |
1040 | unlink unlinkat rmdir \ | 1131 | unlink unlinkat rmdir \ |
@@ -1049,7 +1140,7 @@ Index: git/io/Makefile | |||
1049 | 1140 | ||
1050 | aux := have_o_cloexec | 1141 | aux := have_o_cloexec |
1051 | 1142 | ||
1052 | @@ -64,18 +68,22 @@ | 1143 | @@ -64,18 +68,22 @@ static-only-routines = stat fstat lstat |
1053 | fstatat fstatat64 mknod mknodat | 1144 | fstatat fstatat64 mknod mknodat |
1054 | 1145 | ||
1055 | others := pwd | 1146 | others := pwd |
@@ -1077,8 +1168,8 @@ Index: git/io/Makefile | |||
1077 | 1168 | ||
1078 | Index: git/libidn/Makefile | 1169 | Index: git/libidn/Makefile |
1079 | =================================================================== | 1170 | =================================================================== |
1080 | --- git.orig/libidn/Makefile 2014-08-29 20:00:47.316070587 -0700 | 1171 | --- git.orig/libidn/Makefile |
1081 | +++ git/libidn/Makefile 2014-08-29 20:01:15.200070587 -0700 | 1172 | +++ git/libidn/Makefile |
1082 | @@ -16,6 +16,7 @@ | 1173 | @@ -16,6 +16,7 @@ |
1083 | # <http://www.gnu.org/licenses/>. | 1174 | # <http://www.gnu.org/licenses/>. |
1084 | 1175 | ||
@@ -1087,7 +1178,7 @@ Index: git/libidn/Makefile | |||
1087 | 1178 | ||
1088 | subdir := libidn | 1179 | subdir := libidn |
1089 | 1180 | ||
1090 | @@ -23,8 +24,8 @@ | 1181 | @@ -23,8 +24,8 @@ include ../Makeconfig |
1091 | 1182 | ||
1092 | routines = idn-stub | 1183 | routines = idn-stub |
1093 | 1184 | ||
@@ -1100,8 +1191,8 @@ Index: git/libidn/Makefile | |||
1100 | iconvme | 1191 | iconvme |
1101 | Index: git/libidn/toutf8.c | 1192 | Index: git/libidn/toutf8.c |
1102 | =================================================================== | 1193 | =================================================================== |
1103 | --- git.orig/libidn/toutf8.c 2014-08-29 20:00:47.332070587 -0700 | 1194 | --- git.orig/libidn/toutf8.c |
1104 | +++ git/libidn/toutf8.c 2014-08-29 20:01:15.200070587 -0700 | 1195 | +++ git/libidn/toutf8.c |
1105 | @@ -33,6 +33,11 @@ | 1196 | @@ -33,6 +33,11 @@ |
1106 | /* Get strlen. */ | 1197 | /* Get strlen. */ |
1107 | #include <string.h> | 1198 | #include <string.h> |
@@ -1129,8 +1220,8 @@ Index: git/libidn/toutf8.c | |||
1129 | * stringprep_locale_charset - return charset used in current locale | 1220 | * stringprep_locale_charset - return charset used in current locale |
1130 | Index: git/libio/fileops.c | 1221 | Index: git/libio/fileops.c |
1131 | =================================================================== | 1222 | =================================================================== |
1132 | --- git.orig/libio/fileops.c 2014-08-29 20:00:47.352070587 -0700 | 1223 | --- git.orig/libio/fileops.c |
1133 | +++ git/libio/fileops.c 2014-08-29 20:01:15.200070587 -0700 | 1224 | +++ git/libio/fileops.c |
1134 | @@ -38,6 +38,7 @@ | 1225 | @@ -38,6 +38,7 @@ |
1135 | #include <string.h> | 1226 | #include <string.h> |
1136 | #include <errno.h> | 1227 | #include <errno.h> |
@@ -1139,7 +1230,7 @@ Index: git/libio/fileops.c | |||
1139 | #include <stdlib.h> | 1230 | #include <stdlib.h> |
1140 | #if _LIBC | 1231 | #if _LIBC |
1141 | # include "../wcsmbs/wcsmbsload.h" | 1232 | # include "../wcsmbs/wcsmbsload.h" |
1142 | @@ -174,7 +175,7 @@ | 1233 | @@ -172,7 +173,7 @@ _IO_new_file_close_it (_IO_FILE *fp) |
1143 | 1234 | ||
1144 | /* Free buffer. */ | 1235 | /* Free buffer. */ |
1145 | #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T | 1236 | #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T |
@@ -1148,7 +1239,7 @@ Index: git/libio/fileops.c | |||
1148 | { | 1239 | { |
1149 | if (_IO_have_wbackup (fp)) | 1240 | if (_IO_have_wbackup (fp)) |
1150 | _IO_free_wbackup_area (fp); | 1241 | _IO_free_wbackup_area (fp); |
1151 | @@ -359,6 +360,7 @@ | 1242 | @@ -347,6 +348,7 @@ _IO_new_file_fopen (_IO_FILE *fp, const |
1152 | cs = strstr (last_recognized + 1, ",ccs="); | 1243 | cs = strstr (last_recognized + 1, ",ccs="); |
1153 | if (cs != NULL) | 1244 | if (cs != NULL) |
1154 | { | 1245 | { |
@@ -1156,7 +1247,7 @@ Index: git/libio/fileops.c | |||
1156 | /* Yep. Load the appropriate conversions and set the orientation | 1247 | /* Yep. Load the appropriate conversions and set the orientation |
1157 | to wide. */ | 1248 | to wide. */ |
1158 | struct gconv_fcts fcts; | 1249 | struct gconv_fcts fcts; |
1159 | @@ -423,6 +425,12 @@ | 1250 | @@ -406,6 +408,12 @@ _IO_new_file_fopen (_IO_FILE *fp, const |
1160 | 1251 | ||
1161 | /* Set the mode now. */ | 1252 | /* Set the mode now. */ |
1162 | result->_mode = 1; | 1253 | result->_mode = 1; |
@@ -1171,8 +1262,8 @@ Index: git/libio/fileops.c | |||
1171 | 1262 | ||
1172 | Index: git/libio/__fpurge.c | 1263 | Index: git/libio/__fpurge.c |
1173 | =================================================================== | 1264 | =================================================================== |
1174 | --- git.orig/libio/__fpurge.c 2014-08-29 20:00:47.336070587 -0700 | 1265 | --- git.orig/libio/__fpurge.c |
1175 | +++ git/libio/__fpurge.c 2014-08-29 20:01:15.200070587 -0700 | 1266 | +++ git/libio/__fpurge.c |
1176 | @@ -21,7 +21,7 @@ | 1267 | @@ -21,7 +21,7 @@ |
1177 | void | 1268 | void |
1178 | __fpurge (FILE *fp) | 1269 | __fpurge (FILE *fp) |
@@ -1184,8 +1275,8 @@ Index: git/libio/__fpurge.c | |||
1184 | if (_IO_in_backup (fp)) | 1275 | if (_IO_in_backup (fp)) |
1185 | Index: git/libio/iofwide.c | 1276 | Index: git/libio/iofwide.c |
1186 | =================================================================== | 1277 | =================================================================== |
1187 | --- git.orig/libio/iofwide.c 2014-08-29 20:00:47.360070587 -0700 | 1278 | --- git.orig/libio/iofwide.c |
1188 | +++ git/libio/iofwide.c 2014-08-29 20:01:15.200070587 -0700 | 1279 | +++ git/libio/iofwide.c |
1189 | @@ -26,6 +26,7 @@ | 1280 | @@ -26,6 +26,7 @@ |
1190 | 1281 | ||
1191 | #include <libioP.h> | 1282 | #include <libioP.h> |
@@ -1203,7 +1294,7 @@ Index: git/libio/iofwide.c | |||
1203 | /* Prototypes of libio's codecvt functions. */ | 1294 | /* Prototypes of libio's codecvt functions. */ |
1204 | static enum __codecvt_result do_out (struct _IO_codecvt *codecvt, | 1295 | static enum __codecvt_result do_out (struct _IO_codecvt *codecvt, |
1205 | __mbstate_t *statep, | 1296 | __mbstate_t *statep, |
1206 | @@ -513,3 +516,26 @@ | 1297 | @@ -499,3 +502,26 @@ do_max_length (struct _IO_codecvt *codec |
1207 | return MB_CUR_MAX; | 1298 | return MB_CUR_MAX; |
1208 | #endif | 1299 | #endif |
1209 | } | 1300 | } |
@@ -1232,9 +1323,9 @@ Index: git/libio/iofwide.c | |||
1232 | +#endif | 1323 | +#endif |
1233 | Index: git/libio/ioseekoff.c | 1324 | Index: git/libio/ioseekoff.c |
1234 | =================================================================== | 1325 | =================================================================== |
1235 | --- git.orig/libio/ioseekoff.c 2014-08-29 20:00:47.364070587 -0700 | 1326 | --- git.orig/libio/ioseekoff.c |
1236 | +++ git/libio/ioseekoff.c 2014-08-29 20:01:15.200070587 -0700 | 1327 | +++ git/libio/ioseekoff.c |
1237 | @@ -60,7 +60,7 @@ | 1328 | @@ -60,7 +60,7 @@ _IO_seekoff_unlocked (fp, offset, dir, m |
1238 | else | 1329 | else |
1239 | abort (); | 1330 | abort (); |
1240 | } | 1331 | } |
@@ -1245,9 +1336,9 @@ Index: git/libio/ioseekoff.c | |||
1245 | _IO_free_wbackup_area (fp); | 1336 | _IO_free_wbackup_area (fp); |
1246 | Index: git/libio/ioseekpos.c | 1337 | Index: git/libio/ioseekpos.c |
1247 | =================================================================== | 1338 | =================================================================== |
1248 | --- git.orig/libio/ioseekpos.c 2014-08-29 20:00:47.364070587 -0700 | 1339 | --- git.orig/libio/ioseekpos.c |
1249 | +++ git/libio/ioseekpos.c 2014-08-29 20:01:15.200070587 -0700 | 1340 | +++ git/libio/ioseekpos.c |
1250 | @@ -35,7 +35,7 @@ | 1341 | @@ -35,7 +35,7 @@ _IO_seekpos_unlocked (fp, pos, mode) |
1251 | /* If we have a backup buffer, get rid of it, since the __seekoff | 1342 | /* If we have a backup buffer, get rid of it, since the __seekoff |
1252 | callback may not know to do the right thing about it. | 1343 | callback may not know to do the right thing about it. |
1253 | This may be over-kill, but it'll do for now. TODO */ | 1344 | This may be over-kill, but it'll do for now. TODO */ |
@@ -1258,8 +1349,8 @@ Index: git/libio/ioseekpos.c | |||
1258 | _IO_free_backup_area (fp); | 1349 | _IO_free_backup_area (fp); |
1259 | Index: git/libio/iosetbuffer.c | 1350 | Index: git/libio/iosetbuffer.c |
1260 | =================================================================== | 1351 | =================================================================== |
1261 | --- git.orig/libio/iosetbuffer.c 2014-08-29 20:00:47.364070587 -0700 | 1352 | --- git.orig/libio/iosetbuffer.c |
1262 | +++ git/libio/iosetbuffer.c 2014-08-29 20:01:15.204070587 -0700 | 1353 | +++ git/libio/iosetbuffer.c |
1263 | @@ -24,6 +24,8 @@ | 1354 | @@ -24,6 +24,8 @@ |
1264 | This exception applies to code released by its copyright holders | 1355 | This exception applies to code released by its copyright holders |
1265 | in files containing the exception. */ | 1356 | in files containing the exception. */ |
@@ -1269,7 +1360,7 @@ Index: git/libio/iosetbuffer.c | |||
1269 | #include "libioP.h" | 1360 | #include "libioP.h" |
1270 | 1361 | ||
1271 | void | 1362 | void |
1272 | @@ -38,9 +40,11 @@ | 1363 | @@ -38,9 +40,11 @@ _IO_setbuffer (fp, buf, size) |
1273 | if (!buf) | 1364 | if (!buf) |
1274 | size = 0; | 1365 | size = 0; |
1275 | (void) _IO_SETBUF (fp, buf, size); | 1366 | (void) _IO_SETBUF (fp, buf, size); |
@@ -1283,8 +1374,8 @@ Index: git/libio/iosetbuffer.c | |||
1283 | libc_hidden_def (_IO_setbuffer) | 1374 | libc_hidden_def (_IO_setbuffer) |
1284 | Index: git/libio/libioP.h | 1375 | Index: git/libio/libioP.h |
1285 | =================================================================== | 1376 | =================================================================== |
1286 | --- git.orig/libio/libioP.h 2014-08-29 20:00:47.372070587 -0700 | 1377 | --- git.orig/libio/libioP.h |
1287 | +++ git/libio/libioP.h 2014-08-29 20:01:15.204070587 -0700 | 1378 | +++ git/libio/libioP.h |
1288 | @@ -42,6 +42,10 @@ | 1379 | @@ -42,6 +42,10 @@ |
1289 | /*# include <comthread.h>*/ | 1380 | /*# include <comthread.h>*/ |
1290 | #endif | 1381 | #endif |
@@ -1296,7 +1387,7 @@ Index: git/libio/libioP.h | |||
1296 | #include <math_ldbl_opt.h> | 1387 | #include <math_ldbl_opt.h> |
1297 | 1388 | ||
1298 | #include "iolibio.h" | 1389 | #include "iolibio.h" |
1299 | @@ -508,8 +512,20 @@ | 1390 | @@ -508,8 +512,20 @@ extern void _IO_old_init (_IO_FILE *fp, |
1300 | 1391 | ||
1301 | 1392 | ||
1302 | #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T | 1393 | #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T |
@@ -1320,8 +1411,8 @@ Index: git/libio/libioP.h | |||
1320 | : _IO_wdo_write(_f, (_f)->_wide_data->_IO_write_base, \ | 1411 | : _IO_wdo_write(_f, (_f)->_wide_data->_IO_write_base, \ |
1321 | Index: git/libio/Makefile | 1412 | Index: git/libio/Makefile |
1322 | =================================================================== | 1413 | =================================================================== |
1323 | --- git.orig/libio/Makefile 2014-08-29 20:00:47.332070587 -0700 | 1414 | --- git.orig/libio/Makefile |
1324 | +++ git/libio/Makefile 2014-08-29 20:01:15.204070587 -0700 | 1415 | +++ git/libio/Makefile |
1325 | @@ -18,6 +18,8 @@ | 1416 | @@ -18,6 +18,8 @@ |
1326 | # | 1417 | # |
1327 | # Specific makefile for libio. | 1418 | # Specific makefile for libio. |
@@ -1331,7 +1422,7 @@ Index: git/libio/Makefile | |||
1331 | subdir := libio | 1422 | subdir := libio |
1332 | 1423 | ||
1333 | include ../Makeconfig | 1424 | include ../Makeconfig |
1334 | @@ -27,16 +29,13 @@ | 1425 | @@ -27,16 +29,13 @@ headers := stdio.h libio.h _G_config.h b |
1335 | 1426 | ||
1336 | routines := \ | 1427 | routines := \ |
1337 | filedoalloc iofclose iofdopen iofflush iofgetpos iofgets iofopen \ | 1428 | filedoalloc iofclose iofdopen iofflush iofgetpos iofgets iofopen \ |
@@ -1351,63 +1442,61 @@ Index: git/libio/Makefile | |||
1351 | \ | 1442 | \ |
1352 | clearerr feof ferror fileno fputc freopen fseek getc getchar \ | 1443 | clearerr feof ferror fileno fputc freopen fseek getc getchar \ |
1353 | memstream pclose putc putchar rewind setbuf setlinebuf vasprintf \ | 1444 | memstream pclose putc putchar rewind setbuf setlinebuf vasprintf \ |
1354 | @@ -47,25 +46,48 @@ | 1445 | @@ -48,24 +47,49 @@ routines := \ |
1355 | __fpurge __fpending __fsetlocking \ | ||
1356 | \ | 1446 | \ |
1357 | libc_fatal fmemopen | 1447 | libc_fatal fmemopen |
1358 | - | 1448 | |
1359 | -tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \ | 1449 | -tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \ |
1360 | - tst_wprintf2 tst-widetext test-fmemopen tst-ext tst-ext2 \ | 1450 | - tst_wprintf2 tst-widetext test-fmemopen tst-ext tst-ext2 \ |
1361 | - tst-fgetws tst-ungetwc1 tst-ungetwc2 tst-swscanf tst-sscanf \ | 1451 | - tst-fgetws tst-ungetwc1 tst-ungetwc2 tst-swscanf tst-sscanf \ |
1362 | - tst-mmap-setvbuf bug-ungetwc1 bug-ungetwc2 tst-atime tst-eof \ | 1452 | - tst-mmap-setvbuf bug-ungetwc1 bug-ungetwc2 tst-atime tst-eof \ |
1363 | - tst-freopen bug-rewind bug-rewind2 bug-ungetc bug-fseek \ | 1453 | - tst-freopen bug-rewind bug-rewind2 bug-ungetc bug-fseek \ |
1364 | - tst-mmap-eofsync tst-mmap-fflushsync bug-mmap-fflush \ | ||
1365 | - tst-mmap2-eofsync tst-mmap-offend bug-fopena+ bug-wfflush \ | ||
1366 | - bug-ungetc2 bug-ftell bug-ungetc3 bug-ungetc4 tst-fopenloc2 \ | ||
1367 | - tst-memstream1 tst-memstream2 \ | ||
1368 | - tst-wmemstream1 tst-wmemstream2 \ | ||
1369 | - bug-memstream1 bug-wmemstream1 \ | ||
1370 | - tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek \ | ||
1371 | - tst-fwrite-error tst-ftell-partial-wide tst-ftell-active-handler \ | ||
1372 | - tst-ftell-append | ||
1373 | +routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) += \ | 1454 | +routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) += \ |
1374 | + wfiledoalloc \ | 1455 | + wfiledoalloc \ |
1375 | + iowpadn \ | 1456 | + iowpadn \ |
1376 | + swprintf \ | 1457 | + swprintf \ |
1377 | + vswprintf iovswscanf swscanf wgenops \ | 1458 | + vswprintf iovswscanf swscanf wgenops \ |
1378 | + wstrops wfileops wmemstream | 1459 | + wstrops wfileops wmemstream |
1379 | +routines-$(call option-disabled, OPTION_POSIX_C_LANG_WIDE_CHAR) += \ | 1460 | +routines-$(call option-disabled, OPTION_POSIX_C_LANG_WIDE_CHAR) += \ |
1380 | + wdummyfileops | 1461 | + wdummyfileops |
1381 | +routines-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) += \ | 1462 | +routines-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) += \ |
1382 | + fputwc fputwc_u getwc getwc_u getwchar getwchar_u iofgetws iofgetws_u \ | 1463 | + fputwc fputwc_u getwc getwc_u getwchar getwchar_u iofgetws iofgetws_u \ |
1383 | + iofputws iofputws_u iogetwline ioungetwc putwc putwc_u \ | 1464 | + iofputws iofputws_u iogetwline ioungetwc putwc putwc_u \ |
1384 | + putwchar putwchar_u fwprintf vwprintf \ | 1465 | + putwchar putwchar_u fwprintf vwprintf \ |
1385 | + wprintf wscanf fwscanf vwscanf \ | 1466 | + wprintf wscanf fwscanf vwscanf \ |
1386 | + fwide | 1467 | + fwide |
1387 | + | 1468 | + |
1388 | +tests = test-fmemopen tst-ext tst-ext2 \ | 1469 | +tests = test-fmemopen tst-ext tst-ext2 \ |
1389 | + tst-mmap-setvbuf tst-atime tst-eof \ | 1470 | + tst-mmap-setvbuf tst-atime tst-eof \ |
1390 | + tst-freopen bug-ungetc bug-fseek \ | 1471 | + tst-freopen bug-ungetc bug-fseek \ |
1391 | + tst-mmap-eofsync tst-mmap-fflushsync bug-mmap-fflush \ | 1472 | tst-mmap-eofsync tst-mmap-fflushsync bug-mmap-fflush \ |
1392 | + tst-mmap2-eofsync tst-mmap-offend bug-fopena+ \ | 1473 | - tst-mmap2-eofsync tst-mmap-offend bug-fopena+ bug-wfflush \ |
1393 | + bug-ungetc2 bug-ungetc3 bug-ungetc4 \ | 1474 | - bug-ungetc2 bug-ftell bug-ungetc3 bug-ungetc4 tst-fopenloc2 \ |
1394 | + tst-memstream1 tst-memstream2 \ | 1475 | + tst-mmap2-eofsync tst-mmap-offend bug-fopena+ \ |
1395 | + bug-memstream1 tst-popen1 tst-fwrite-error \ | 1476 | + bug-ungetc2 bug-ungetc3 bug-ungetc4 \ |
1477 | tst-memstream1 tst-memstream2 \ | ||
1478 | - tst-wmemstream1 tst-wmemstream2 \ | ||
1479 | - bug-memstream1 bug-wmemstream1 \ | ||
1480 | - tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek \ | ||
1481 | - tst-fwrite-error tst-ftell-partial-wide tst-ftell-active-handler \ | ||
1482 | - tst-ftell-append tst-fputws | ||
1483 | + bug-memstream1 tst-popen1 tst-fwrite-error \ | ||
1396 | + tst-ftell-active-handler tst-ftell-append | 1484 | + tst-ftell-active-handler tst-ftell-append |
1397 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ | 1485 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ |
1398 | + += tst-swscanf tst-fgetws tst-setvbuf1 \ | 1486 | + += tst-swscanf tst-fgetws tst-setvbuf1 \ |
1399 | + tst-ungetwc1 tst-ungetwc2 bug-ftell bug-ungetwc2 \ | 1487 | + tst-ungetwc1 tst-ungetwc2 bug-ftell bug-ungetwc2 \ |
1400 | + tst-widetext | 1488 | + tst-widetext tst-fputws |
1401 | +tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ | 1489 | +tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ |
1402 | + += bug-rewind bug-rewind2 bug-ungetwc1 \ | 1490 | + += bug-rewind bug-rewind2 bug-ungetwc1 \ |
1403 | + bug-wfflush bug-wmemstream1 tst-fopenloc2 \ | 1491 | + bug-wfflush bug-wmemstream1 tst-fopenloc2 \ |
1404 | + tst_getwc \ | 1492 | + tst_getwc \ |
1405 | + tst_putwc tst_wprintf tst_wprintf2 tst_wscanf \ | 1493 | + tst_putwc tst_wprintf tst_wprintf2 tst_wscanf \ |
1406 | + tst-fgetwc bug-wsetpos tst-fseek tst-ftell-partial-wide | 1494 | + tst-fgetwc bug-wsetpos tst-fseek tst-ftell-partial-wide |
1407 | +tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ | 1495 | +tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ |
1408 | + += tst_swprintf tst_swscanf \ | 1496 | + += tst_swprintf tst_swscanf \ |
1409 | + tst-sscanf \ | 1497 | + tst-sscanf \ |
1410 | + tst-wmemstream1 tst-wmemstream2 | 1498 | + tst-wmemstream1 tst-wmemstream2 |
1499 | + | ||
1411 | ifeq (yes,$(build-shared)) | 1500 | ifeq (yes,$(build-shared)) |
1412 | # Add test-fopenloc only if shared library is enabled since it depends on | 1501 | # Add test-fopenloc only if shared library is enabled since it depends on |
1413 | # shared localedata objects. | 1502 | # shared localedata objects. |
@@ -1416,7 +1505,7 @@ Index: git/libio/Makefile | |||
1416 | endif | 1505 | endif |
1417 | test-srcs = test-freopen | 1506 | test-srcs = test-freopen |
1418 | 1507 | ||
1419 | @@ -164,13 +186,17 @@ | 1508 | @@ -164,13 +188,17 @@ shared-only-routines = oldiofopen oldiof |
1420 | oldiofsetpos64 | 1509 | oldiofsetpos64 |
1421 | 1510 | ||
1422 | ifeq ($(run-built-tests),yes) | 1511 | ifeq ($(run-built-tests),yes) |
@@ -1436,8 +1525,8 @@ Index: git/libio/Makefile | |||
1436 | 1525 | ||
1437 | Index: git/libio/wdummyfileops.c | 1526 | Index: git/libio/wdummyfileops.c |
1438 | =================================================================== | 1527 | =================================================================== |
1439 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 1528 | --- /dev/null |
1440 | +++ git/libio/wdummyfileops.c 2014-08-29 20:01:15.204070587 -0700 | 1529 | +++ git/libio/wdummyfileops.c |
1441 | @@ -0,0 +1,161 @@ | 1530 | @@ -0,0 +1,161 @@ |
1442 | +/* Copyright (C) 2007 Free Software Foundation, Inc. | 1531 | +/* Copyright (C) 2007 Free Software Foundation, Inc. |
1443 | + This file is part of the GNU C Library. | 1532 | + This file is part of the GNU C Library. |
@@ -1602,8 +1691,8 @@ Index: git/libio/wdummyfileops.c | |||
1602 | +strong_alias (_IO_wfile_jumps_disabled, _IO_wfile_jumps_maybe_mmap) | 1691 | +strong_alias (_IO_wfile_jumps_disabled, _IO_wfile_jumps_maybe_mmap) |
1603 | Index: git/locale/catnames.c | 1692 | Index: git/locale/catnames.c |
1604 | =================================================================== | 1693 | =================================================================== |
1605 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 1694 | --- /dev/null |
1606 | +++ git/locale/catnames.c 2014-08-29 20:01:15.204070587 -0700 | 1695 | +++ git/locale/catnames.c |
1607 | @@ -0,0 +1,48 @@ | 1696 | @@ -0,0 +1,48 @@ |
1608 | +/* Copyright (C) 2006 Free Software Foundation, Inc. | 1697 | +/* Copyright (C) 2006 Free Software Foundation, Inc. |
1609 | + This file is part of the GNU C Library. | 1698 | + This file is part of the GNU C Library. |
@@ -1655,8 +1744,8 @@ Index: git/locale/catnames.c | |||
1655 | + }; | 1744 | + }; |
1656 | Index: git/locale/C-ctype.c | 1745 | Index: git/locale/C-ctype.c |
1657 | =================================================================== | 1746 | =================================================================== |
1658 | --- git.orig/locale/C-ctype.c 2014-08-29 20:00:47.396070587 -0700 | 1747 | --- git.orig/locale/C-ctype.c |
1659 | +++ git/locale/C-ctype.c 2014-08-29 20:01:15.204070587 -0700 | 1748 | +++ git/locale/C-ctype.c |
1660 | @@ -19,8 +19,11 @@ | 1749 | @@ -19,8 +19,11 @@ |
1661 | #include "localeinfo.h" | 1750 | #include "localeinfo.h" |
1662 | #include <endian.h> | 1751 | #include <endian.h> |
@@ -1669,7 +1758,7 @@ Index: git/locale/C-ctype.c | |||
1669 | 1758 | ||
1670 | /* This table's entries are taken from POSIX.2 Table 2-6 | 1759 | /* This table's entries are taken from POSIX.2 Table 2-6 |
1671 | ``LC_CTYPE Category Definition in the POSIX Locale''. | 1760 | ``LC_CTYPE Category Definition in the POSIX Locale''. |
1672 | @@ -647,6 +650,7 @@ | 1761 | @@ -647,6 +650,7 @@ const struct __locale_data _nl_C_LC_CTYP |
1673 | { .word = L'7' }, | 1762 | { .word = L'7' }, |
1674 | { .word = L'8' }, | 1763 | { .word = L'8' }, |
1675 | { .word = L'9' }, | 1764 | { .word = L'9' }, |
@@ -1677,7 +1766,7 @@ Index: git/locale/C-ctype.c | |||
1677 | /* _NL_CTYPE_TRANSLIT_TAB_SIZE */ | 1766 | /* _NL_CTYPE_TRANSLIT_TAB_SIZE */ |
1678 | { .word = NTRANSLIT }, | 1767 | { .word = NTRANSLIT }, |
1679 | /* _NL_CTYPE_TRANSLIT_FROM_IDX */ | 1768 | /* _NL_CTYPE_TRANSLIT_FROM_IDX */ |
1680 | @@ -657,6 +661,22 @@ | 1769 | @@ -657,6 +661,22 @@ const struct __locale_data _nl_C_LC_CTYP |
1681 | { .wstr = translit_to_idx }, | 1770 | { .wstr = translit_to_idx }, |
1682 | /* _NL_CTYPE_TRANSLIT_TO_TBL */ | 1771 | /* _NL_CTYPE_TRANSLIT_TO_TBL */ |
1683 | { .wstr = (uint32_t *) translit_to_tbl }, | 1772 | { .wstr = (uint32_t *) translit_to_tbl }, |
@@ -1702,8 +1791,8 @@ Index: git/locale/C-ctype.c | |||
1702 | /* _NL_CTYPE_TRANSLIT_DEFAULT_MISSING */ | 1791 | /* _NL_CTYPE_TRANSLIT_DEFAULT_MISSING */ |
1703 | Index: git/locale/dummy-setlocale.c | 1792 | Index: git/locale/dummy-setlocale.c |
1704 | =================================================================== | 1793 | =================================================================== |
1705 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 1794 | --- /dev/null |
1706 | +++ git/locale/dummy-setlocale.c 2014-08-29 20:01:15.204070587 -0700 | 1795 | +++ git/locale/dummy-setlocale.c |
1707 | @@ -0,0 +1,33 @@ | 1796 | @@ -0,0 +1,33 @@ |
1708 | +/* Copyright (C) 2006 Free Software Foundation, Inc. | 1797 | +/* Copyright (C) 2006 Free Software Foundation, Inc. |
1709 | + This file is part of the GNU C Library. | 1798 | + This file is part of the GNU C Library. |
@@ -1740,9 +1829,9 @@ Index: git/locale/dummy-setlocale.c | |||
1740 | +libc_hidden_def (setlocale) | 1829 | +libc_hidden_def (setlocale) |
1741 | Index: git/locale/localeinfo.h | 1830 | Index: git/locale/localeinfo.h |
1742 | =================================================================== | 1831 | =================================================================== |
1743 | --- git.orig/locale/localeinfo.h 2014-08-29 20:00:47.404070587 -0700 | 1832 | --- git.orig/locale/localeinfo.h |
1744 | +++ git/locale/localeinfo.h 2014-08-29 20:01:15.204070587 -0700 | 1833 | +++ git/locale/localeinfo.h |
1745 | @@ -224,7 +224,7 @@ | 1834 | @@ -224,7 +224,7 @@ __libc_tsd_define (extern, __locale_t, L |
1746 | unused. We can manage this playing some tricks with weak references. | 1835 | unused. We can manage this playing some tricks with weak references. |
1747 | But with thread-local locale settings, it becomes quite ungainly unless | 1836 | But with thread-local locale settings, it becomes quite ungainly unless |
1748 | we can use __thread variables. So only in that case do we attempt this. */ | 1837 | we can use __thread variables. So only in that case do we attempt this. */ |
@@ -1753,8 +1842,8 @@ Index: git/locale/localeinfo.h | |||
1753 | #endif | 1842 | #endif |
1754 | Index: git/locale/Makefile | 1843 | Index: git/locale/Makefile |
1755 | =================================================================== | 1844 | =================================================================== |
1756 | --- git.orig/locale/Makefile 2014-08-29 20:00:47.400070587 -0700 | 1845 | --- git.orig/locale/Makefile |
1757 | +++ git/locale/Makefile 2014-08-29 20:01:15.204070587 -0700 | 1846 | +++ git/locale/Makefile |
1758 | @@ -18,27 +18,43 @@ | 1847 | @@ -18,27 +18,43 @@ |
1759 | # | 1848 | # |
1760 | # Makefile for locales. | 1849 | # Makefile for locales. |
@@ -1810,7 +1899,7 @@ Index: git/locale/Makefile | |||
1810 | 1899 | ||
1811 | libBrokenLocale-routines = broken_cur_max | 1900 | libBrokenLocale-routines = broken_cur_max |
1812 | 1901 | ||
1813 | @@ -94,6 +110,9 @@ | 1902 | @@ -93,6 +109,9 @@ CPPFLAGS-locale-programs = -DLOCALE_PATH |
1814 | CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts | 1903 | CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts |
1815 | CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts | 1904 | CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts |
1816 | CFLAGS-charmap-dir.c = -Wno-write-strings | 1905 | CFLAGS-charmap-dir.c = -Wno-write-strings |
@@ -1818,12 +1907,12 @@ Index: git/locale/Makefile | |||
1818 | +CFLAGS-charmap-dir.c += -DNO_UNCOMPRESS | 1907 | +CFLAGS-charmap-dir.c += -DNO_UNCOMPRESS |
1819 | +endif | 1908 | +endif |
1820 | 1909 | ||
1821 | # This makes sure -DNOT_IN_libc et al are passed for all these modules. | 1910 | # Set libof-* for each routine. |
1822 | cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \ | 1911 | cpp-srcs-left := $(localedef-modules) $(localedef-aux) $(locale-modules) \ |
1823 | Index: git/locale/programs/charmap-dir.c | 1912 | Index: git/locale/programs/charmap-dir.c |
1824 | =================================================================== | 1913 | =================================================================== |
1825 | --- git.orig/locale/programs/charmap-dir.c 2014-08-29 20:00:47.408070587 -0700 | 1914 | --- git.orig/locale/programs/charmap-dir.c |
1826 | +++ git/locale/programs/charmap-dir.c 2014-08-29 20:01:15.204070587 -0700 | 1915 | +++ git/locale/programs/charmap-dir.c |
1827 | @@ -19,7 +19,9 @@ | 1916 | @@ -19,7 +19,9 @@ |
1828 | #include <error.h> | 1917 | #include <error.h> |
1829 | #include <fcntl.h> | 1918 | #include <fcntl.h> |
@@ -1834,7 +1923,7 @@ Index: git/locale/programs/charmap-dir.c | |||
1834 | #include <stdio.h> | 1923 | #include <stdio.h> |
1835 | #include <stdlib.h> | 1924 | #include <stdlib.h> |
1836 | #include <string.h> | 1925 | #include <string.h> |
1837 | @@ -156,6 +158,7 @@ | 1926 | @@ -156,6 +158,7 @@ charmap_closedir (CHARMAP_DIR *cdir) |
1838 | return closedir (dir); | 1927 | return closedir (dir); |
1839 | } | 1928 | } |
1840 | 1929 | ||
@@ -1842,7 +1931,7 @@ Index: git/locale/programs/charmap-dir.c | |||
1842 | /* Creates a subprocess decompressing the given pathname, and returns | 1931 | /* Creates a subprocess decompressing the given pathname, and returns |
1843 | a stream reading its output (the decompressed data). */ | 1932 | a stream reading its output (the decompressed data). */ |
1844 | static | 1933 | static |
1845 | @@ -204,6 +207,7 @@ | 1934 | @@ -204,6 +207,7 @@ fopen_uncompressed (const char *pathname |
1846 | } | 1935 | } |
1847 | return NULL; | 1936 | return NULL; |
1848 | } | 1937 | } |
@@ -1850,7 +1939,7 @@ Index: git/locale/programs/charmap-dir.c | |||
1850 | 1939 | ||
1851 | /* Opens a charmap for reading, given its name (not an alias name). */ | 1940 | /* Opens a charmap for reading, given its name (not an alias name). */ |
1852 | FILE * | 1941 | FILE * |
1853 | @@ -226,6 +230,7 @@ | 1942 | @@ -226,6 +230,7 @@ charmap_open (const char *directory, con |
1854 | if (stream != NULL) | 1943 | if (stream != NULL) |
1855 | return stream; | 1944 | return stream; |
1856 | 1945 | ||
@@ -1858,7 +1947,7 @@ Index: git/locale/programs/charmap-dir.c | |||
1858 | memcpy (p, ".gz", 4); | 1947 | memcpy (p, ".gz", 4); |
1859 | stream = fopen_uncompressed (pathname, "gzip"); | 1948 | stream = fopen_uncompressed (pathname, "gzip"); |
1860 | if (stream != NULL) | 1949 | if (stream != NULL) |
1861 | @@ -235,6 +240,7 @@ | 1950 | @@ -235,6 +240,7 @@ charmap_open (const char *directory, con |
1862 | stream = fopen_uncompressed (pathname, "bzip2"); | 1951 | stream = fopen_uncompressed (pathname, "bzip2"); |
1863 | if (stream != NULL) | 1952 | if (stream != NULL) |
1864 | return stream; | 1953 | return stream; |
@@ -1866,22 +1955,11 @@ Index: git/locale/programs/charmap-dir.c | |||
1866 | 1955 | ||
1867 | return NULL; | 1956 | return NULL; |
1868 | } | 1957 | } |
1869 | @@ -263,8 +269,8 @@ | ||
1870 | char *alias = NULL; | ||
1871 | char junk[BUFSIZ]; | ||
1872 | |||
1873 | - if (fscanf (stream, " <code_set_name> %ms", &alias) == 1 | ||
1874 | - || fscanf (stream, "%% alias %ms", &alias) == 1) | ||
1875 | + if (fscanf (stream, " <code_set_name> %as", &alias) == 1 | ||
1876 | + || fscanf (stream, "%% alias %as", &alias) == 1) | ||
1877 | { | ||
1878 | aliases = (char **) xrealloc (aliases, | ||
1879 | (naliases + 2) * sizeof (char *)); | ||
1880 | Index: git/locale/programs/ld-collate.c | 1958 | Index: git/locale/programs/ld-collate.c |
1881 | =================================================================== | 1959 | =================================================================== |
1882 | --- git.orig/locale/programs/ld-collate.c 2014-08-29 20:00:47.408070587 -0700 | 1960 | --- git.orig/locale/programs/ld-collate.c |
1883 | +++ git/locale/programs/ld-collate.c 2014-08-29 20:01:15.208070587 -0700 | 1961 | +++ git/locale/programs/ld-collate.c |
1884 | @@ -350,7 +350,7 @@ | 1962 | @@ -350,7 +350,7 @@ new_element (struct locale_collate_t *co |
1885 | } | 1963 | } |
1886 | if (wcs != NULL) | 1964 | if (wcs != NULL) |
1887 | { | 1965 | { |
@@ -1890,7 +1968,7 @@ Index: git/locale/programs/ld-collate.c | |||
1890 | uint32_t zero = 0; | 1968 | uint32_t zero = 0; |
1891 | /* Handle <U0000> as a single character. */ | 1969 | /* Handle <U0000> as a single character. */ |
1892 | if (nwcs == 0) | 1970 | if (nwcs == 0) |
1893 | @@ -1776,8 +1776,7 @@ | 1971 | @@ -1776,8 +1776,7 @@ symbol `%s' has the same encoding as"), |
1894 | 1972 | ||
1895 | if ((*eptr)->nwcs == runp->nwcs) | 1973 | if ((*eptr)->nwcs == runp->nwcs) |
1896 | { | 1974 | { |
@@ -1900,7 +1978,7 @@ Index: git/locale/programs/ld-collate.c | |||
1900 | 1978 | ||
1901 | if (c == 0) | 1979 | if (c == 0) |
1902 | { | 1980 | { |
1903 | @@ -2010,9 +2009,9 @@ | 1981 | @@ -2010,9 +2009,9 @@ add_to_tablewc (uint32_t ch, struct elem |
1904 | one consecutive entry. */ | 1982 | one consecutive entry. */ |
1905 | if (runp->wcnext != NULL | 1983 | if (runp->wcnext != NULL |
1906 | && runp->nwcs == runp->wcnext->nwcs | 1984 | && runp->nwcs == runp->wcnext->nwcs |
@@ -1913,7 +1991,7 @@ Index: git/locale/programs/ld-collate.c | |||
1913 | && (runp->wcs[runp->nwcs - 1] | 1991 | && (runp->wcs[runp->nwcs - 1] |
1914 | == runp->wcnext->wcs[runp->nwcs - 1] + 1)) | 1992 | == runp->wcnext->wcs[runp->nwcs - 1] + 1)) |
1915 | { | 1993 | { |
1916 | @@ -2036,9 +2035,9 @@ | 1994 | @@ -2036,9 +2035,9 @@ add_to_tablewc (uint32_t ch, struct elem |
1917 | runp = runp->wcnext; | 1995 | runp = runp->wcnext; |
1918 | while (runp->wcnext != NULL | 1996 | while (runp->wcnext != NULL |
1919 | && runp->nwcs == runp->wcnext->nwcs | 1997 | && runp->nwcs == runp->wcnext->nwcs |
@@ -1928,9 +2006,9 @@ Index: git/locale/programs/ld-collate.c | |||
1928 | 2006 | ||
1929 | Index: git/locale/programs/ld-ctype.c | 2007 | Index: git/locale/programs/ld-ctype.c |
1930 | =================================================================== | 2008 | =================================================================== |
1931 | --- git.orig/locale/programs/ld-ctype.c 2014-08-29 20:00:47.408070587 -0700 | 2009 | --- git.orig/locale/programs/ld-ctype.c |
1932 | +++ git/locale/programs/ld-ctype.c 2014-08-29 20:01:15.208070587 -0700 | 2010 | +++ git/locale/programs/ld-ctype.c |
1933 | @@ -957,7 +957,7 @@ | 2011 | @@ -960,7 +960,7 @@ ctype_output (struct localedef_t *locale |
1934 | allocate_arrays (ctype, charmap, ctype->repertoire); | 2012 | allocate_arrays (ctype, charmap, ctype->repertoire); |
1935 | 2013 | ||
1936 | default_missing_len = (ctype->default_missing | 2014 | default_missing_len = (ctype->default_missing |
@@ -1939,7 +2017,7 @@ Index: git/locale/programs/ld-ctype.c | |||
1939 | : 0); | 2017 | : 0); |
1940 | 2018 | ||
1941 | init_locale_data (&file, nelems); | 2019 | init_locale_data (&file, nelems); |
1942 | @@ -1968,7 +1968,7 @@ | 2020 | @@ -1971,7 +1971,7 @@ read_translit_entry (struct linereader * |
1943 | ignore = 1; | 2021 | ignore = 1; |
1944 | else | 2022 | else |
1945 | /* This value is usable. */ | 2023 | /* This value is usable. */ |
@@ -1948,7 +2026,7 @@ Index: git/locale/programs/ld-ctype.c | |||
1948 | 2026 | ||
1949 | first = 0; | 2027 | first = 0; |
1950 | } | 2028 | } |
1951 | @@ -2516,8 +2516,8 @@ | 2029 | @@ -2519,8 +2519,8 @@ with character code range values one mus |
1952 | } | 2030 | } |
1953 | 2031 | ||
1954 | handle_tok_digit: | 2032 | handle_tok_digit: |
@@ -1959,7 +2037,7 @@ Index: git/locale/programs/ld-ctype.c | |||
1959 | handle_digits = 1; | 2037 | handle_digits = 1; |
1960 | goto read_charclass; | 2038 | goto read_charclass; |
1961 | 2039 | ||
1962 | @@ -4001,8 +4001,7 @@ | 2040 | @@ -4002,8 +4002,7 @@ allocate_arrays (struct locale_ctype_t * |
1963 | 2041 | ||
1964 | while (idx < number) | 2042 | while (idx < number) |
1965 | { | 2043 | { |
@@ -1969,8 +2047,8 @@ Index: git/locale/programs/ld-ctype.c | |||
1969 | if (res == 0) | 2047 | if (res == 0) |
1970 | { | 2048 | { |
1971 | replace = 1; | 2049 | replace = 1; |
1972 | @@ -4039,11 +4038,11 @@ | 2050 | @@ -4040,11 +4039,11 @@ allocate_arrays (struct locale_ctype_t * |
1973 | for (cnt = 0; cnt < number; ++cnt) | 2051 | for (size_t cnt = 0; cnt < number; ++cnt) |
1974 | { | 2052 | { |
1975 | struct translit_to_t *srunp; | 2053 | struct translit_to_t *srunp; |
1976 | - from_len += wcslen ((const wchar_t *) sorted[cnt]->from) + 1; | 2054 | - from_len += wcslen ((const wchar_t *) sorted[cnt]->from) + 1; |
@@ -1983,7 +2061,7 @@ Index: git/locale/programs/ld-ctype.c | |||
1983 | srunp = srunp->next; | 2061 | srunp = srunp->next; |
1984 | } | 2062 | } |
1985 | /* Plus one for the extra NUL character marking the end of | 2063 | /* Plus one for the extra NUL character marking the end of |
1986 | @@ -4067,18 +4066,18 @@ | 2064 | @@ -4068,18 +4067,18 @@ allocate_arrays (struct locale_ctype_t * |
1987 | ctype->translit_from_idx[cnt] = from_len; | 2065 | ctype->translit_from_idx[cnt] = from_len; |
1988 | ctype->translit_to_idx[cnt] = to_len; | 2066 | ctype->translit_to_idx[cnt] = to_len; |
1989 | 2067 | ||
@@ -2010,8 +2088,8 @@ Index: git/locale/programs/ld-ctype.c | |||
2010 | } | 2088 | } |
2011 | Index: git/locale/programs/ld-messages.c | 2089 | Index: git/locale/programs/ld-messages.c |
2012 | =================================================================== | 2090 | =================================================================== |
2013 | --- git.orig/locale/programs/ld-messages.c 2014-08-29 20:00:47.412070587 -0700 | 2091 | --- git.orig/locale/programs/ld-messages.c |
2014 | +++ git/locale/programs/ld-messages.c 2014-08-29 20:01:15.208070587 -0700 | 2092 | +++ git/locale/programs/ld-messages.c |
2015 | @@ -25,6 +25,7 @@ | 2093 | @@ -25,6 +25,7 @@ |
2016 | #include <string.h> | 2094 | #include <string.h> |
2017 | #include <stdint.h> | 2095 | #include <stdint.h> |
@@ -2020,7 +2098,7 @@ Index: git/locale/programs/ld-messages.c | |||
2020 | 2098 | ||
2021 | #include <assert.h> | 2099 | #include <assert.h> |
2022 | 2100 | ||
2023 | @@ -124,6 +125,7 @@ | 2101 | @@ -124,6 +125,7 @@ No definition for %s category found"), " |
2024 | } | 2102 | } |
2025 | else | 2103 | else |
2026 | { | 2104 | { |
@@ -2028,7 +2106,7 @@ Index: git/locale/programs/ld-messages.c | |||
2028 | int result; | 2106 | int result; |
2029 | regex_t re; | 2107 | regex_t re; |
2030 | 2108 | ||
2031 | @@ -140,6 +142,7 @@ | 2109 | @@ -140,6 +142,7 @@ No definition for %s category found"), " |
2032 | } | 2110 | } |
2033 | else if (result != 0) | 2111 | else if (result != 0) |
2034 | regfree (&re); | 2112 | regfree (&re); |
@@ -2036,7 +2114,7 @@ Index: git/locale/programs/ld-messages.c | |||
2036 | } | 2114 | } |
2037 | 2115 | ||
2038 | if (messages->noexpr == NULL) | 2116 | if (messages->noexpr == NULL) |
2039 | @@ -158,6 +161,7 @@ | 2117 | @@ -158,6 +161,7 @@ No definition for %s category found"), " |
2040 | } | 2118 | } |
2041 | else | 2119 | else |
2042 | { | 2120 | { |
@@ -2044,7 +2122,7 @@ Index: git/locale/programs/ld-messages.c | |||
2044 | int result; | 2122 | int result; |
2045 | regex_t re; | 2123 | regex_t re; |
2046 | 2124 | ||
2047 | @@ -174,6 +178,7 @@ | 2125 | @@ -174,6 +178,7 @@ No definition for %s category found"), " |
2048 | } | 2126 | } |
2049 | else if (result != 0) | 2127 | else if (result != 0) |
2050 | regfree (&re); | 2128 | regfree (&re); |
@@ -2054,9 +2132,9 @@ Index: git/locale/programs/ld-messages.c | |||
2054 | 2132 | ||
2055 | Index: git/locale/programs/ld-time.c | 2133 | Index: git/locale/programs/ld-time.c |
2056 | =================================================================== | 2134 | =================================================================== |
2057 | --- git.orig/locale/programs/ld-time.c 2014-08-29 20:00:47.412070587 -0700 | 2135 | --- git.orig/locale/programs/ld-time.c |
2058 | +++ git/locale/programs/ld-time.c 2014-08-29 20:01:15.208070587 -0700 | 2136 | +++ git/locale/programs/ld-time.c |
2059 | @@ -215,8 +215,10 @@ | 2137 | @@ -215,8 +215,10 @@ No definition for %s category found"), " |
2060 | } | 2138 | } |
2061 | else | 2139 | else |
2062 | { | 2140 | { |
@@ -2068,7 +2146,7 @@ Index: git/locale/programs/ld-time.c | |||
2068 | } | 2146 | } |
2069 | } | 2147 | } |
2070 | 2148 | ||
2071 | @@ -226,7 +228,7 @@ | 2149 | @@ -226,7 +228,7 @@ No definition for %s category found"), " |
2072 | const int days_per_month[12] = { 31, 29, 31, 30, 31, 30, | 2150 | const int days_per_month[12] = { 31, 29, 31, 30, 31, 30, |
2073 | 31, 31, 30, 31 ,30, 31 }; | 2151 | 31, 31, 30, 31 ,30, 31 }; |
2074 | size_t idx; | 2152 | size_t idx; |
@@ -2077,7 +2155,7 @@ Index: git/locale/programs/ld-time.c | |||
2077 | 2155 | ||
2078 | time->era_entries = | 2156 | time->era_entries = |
2079 | (struct era_data *) xmalloc (time->num_era | 2157 | (struct era_data *) xmalloc (time->num_era |
2080 | @@ -464,18 +466,18 @@ | 2158 | @@ -464,18 +466,18 @@ No definition for %s category found"), " |
2081 | } | 2159 | } |
2082 | 2160 | ||
2083 | /* Now generate the wide character name and format. */ | 2161 | /* Now generate the wide character name and format. */ |
@@ -2103,7 +2181,7 @@ Index: git/locale/programs/ld-time.c | |||
2103 | } | 2181 | } |
2104 | else | 2182 | else |
2105 | time->era_entries[idx].wname = | 2183 | time->era_entries[idx].wname = |
2106 | @@ -530,7 +532,16 @@ | 2184 | @@ -530,7 +532,16 @@ No definition for %s category found"), " |
2107 | if (time->date_fmt == NULL) | 2185 | if (time->date_fmt == NULL) |
2108 | time->date_fmt = "%a %b %e %H:%M:%S %Z %Y"; | 2186 | time->date_fmt = "%a %b %e %H:%M:%S %Z %Y"; |
2109 | if (time->wdate_fmt == NULL) | 2187 | if (time->wdate_fmt == NULL) |
@@ -2123,9 +2201,9 @@ Index: git/locale/programs/ld-time.c | |||
2123 | 2201 | ||
2124 | Index: git/locale/programs/linereader.c | 2202 | Index: git/locale/programs/linereader.c |
2125 | =================================================================== | 2203 | =================================================================== |
2126 | --- git.orig/locale/programs/linereader.c 2014-08-29 20:00:47.412070587 -0700 | 2204 | --- git.orig/locale/programs/linereader.c |
2127 | +++ git/locale/programs/linereader.c 2014-08-29 20:01:15.208070587 -0700 | 2205 | +++ git/locale/programs/linereader.c |
2128 | @@ -595,7 +595,7 @@ | 2206 | @@ -595,7 +595,7 @@ get_string (struct linereader *lr, const |
2129 | { | 2207 | { |
2130 | int return_widestr = lr->return_widestr; | 2208 | int return_widestr = lr->return_widestr; |
2131 | char *buf; | 2209 | char *buf; |
@@ -2136,9 +2214,9 @@ Index: git/locale/programs/linereader.c | |||
2136 | 2214 | ||
2137 | Index: git/locale/programs/localedef.c | 2215 | Index: git/locale/programs/localedef.c |
2138 | =================================================================== | 2216 | =================================================================== |
2139 | --- git.orig/locale/programs/localedef.c 2014-08-29 20:00:47.416070587 -0700 | 2217 | --- git.orig/locale/programs/localedef.c |
2140 | +++ git/locale/programs/localedef.c 2014-08-29 20:01:15.208070587 -0700 | 2218 | +++ git/locale/programs/localedef.c |
2141 | @@ -114,6 +114,7 @@ | 2219 | @@ -114,6 +114,7 @@ void (*argp_program_version_hook) (FILE |
2142 | #define OPT_LIST_ARCHIVE 309 | 2220 | #define OPT_LIST_ARCHIVE 309 |
2143 | #define OPT_LITTLE_ENDIAN 400 | 2221 | #define OPT_LITTLE_ENDIAN 400 |
2144 | #define OPT_BIG_ENDIAN 401 | 2222 | #define OPT_BIG_ENDIAN 401 |
@@ -2146,7 +2224,7 @@ Index: git/locale/programs/localedef.c | |||
2146 | 2224 | ||
2147 | /* Definitions of arguments for argp functions. */ | 2225 | /* Definitions of arguments for argp functions. */ |
2148 | static const struct argp_option options[] = | 2226 | static const struct argp_option options[] = |
2149 | @@ -150,6 +151,8 @@ | 2227 | @@ -150,6 +151,8 @@ static const struct argp_option options[ |
2150 | N_("Generate little-endian output") }, | 2228 | N_("Generate little-endian output") }, |
2151 | { "big-endian", OPT_BIG_ENDIAN, NULL, 0, | 2229 | { "big-endian", OPT_BIG_ENDIAN, NULL, 0, |
2152 | N_("Generate big-endian output") }, | 2230 | N_("Generate big-endian output") }, |
@@ -2155,7 +2233,7 @@ Index: git/locale/programs/localedef.c | |||
2155 | { NULL, 0, NULL, 0, NULL } | 2233 | { NULL, 0, NULL, 0, NULL } |
2156 | }; | 2234 | }; |
2157 | 2235 | ||
2158 | @@ -239,12 +242,14 @@ | 2236 | @@ -239,12 +242,14 @@ main (int argc, char *argv[]) |
2159 | ctype locale. (P1003.2 4.35.5.2) */ | 2237 | ctype locale. (P1003.2 4.35.5.2) */ |
2160 | setlocale (LC_CTYPE, "POSIX"); | 2238 | setlocale (LC_CTYPE, "POSIX"); |
2161 | 2239 | ||
@@ -2170,7 +2248,7 @@ Index: git/locale/programs/localedef.c | |||
2170 | 2248 | ||
2171 | /* Process charmap file. */ | 2249 | /* Process charmap file. */ |
2172 | charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1); | 2250 | charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1); |
2173 | @@ -338,6 +343,9 @@ | 2251 | @@ -338,6 +343,9 @@ parse_opt (int key, char *arg, struct ar |
2174 | case OPT_BIG_ENDIAN: | 2252 | case OPT_BIG_ENDIAN: |
2175 | set_big_endian (true); | 2253 | set_big_endian (true); |
2176 | break; | 2254 | break; |
@@ -2182,9 +2260,9 @@ Index: git/locale/programs/localedef.c | |||
2182 | break; | 2260 | break; |
2183 | Index: git/locale/programs/locfile.c | 2261 | Index: git/locale/programs/locfile.c |
2184 | =================================================================== | 2262 | =================================================================== |
2185 | --- git.orig/locale/programs/locfile.c 2014-08-29 20:00:47.432070587 -0700 | 2263 | --- git.orig/locale/programs/locfile.c |
2186 | +++ git/locale/programs/locfile.c 2014-08-29 20:01:15.208070587 -0700 | 2264 | +++ git/locale/programs/locfile.c |
2187 | @@ -544,6 +544,9 @@ | 2265 | @@ -544,6 +544,9 @@ compare_files (const char *filename1, co |
2188 | machine running localedef. */ | 2266 | machine running localedef. */ |
2189 | bool swap_endianness_p; | 2267 | bool swap_endianness_p; |
2190 | 2268 | ||
@@ -2194,7 +2272,7 @@ Index: git/locale/programs/locfile.c | |||
2194 | /* When called outside a start_locale_structure/end_locale_structure | 2272 | /* When called outside a start_locale_structure/end_locale_structure |
2195 | or start_locale_prelude/end_locale_prelude block, record that the | 2273 | or start_locale_prelude/end_locale_prelude block, record that the |
2196 | next byte in FILE's obstack will be the first byte of a new element. | 2274 | next byte in FILE's obstack will be the first byte of a new element. |
2197 | @@ -621,7 +624,7 @@ | 2275 | @@ -621,7 +624,7 @@ add_locale_string (struct locale_file *f |
2198 | void | 2276 | void |
2199 | add_locale_wstring (struct locale_file *file, const uint32_t *string) | 2277 | add_locale_wstring (struct locale_file *file, const uint32_t *string) |
2200 | { | 2278 | { |
@@ -2205,9 +2283,9 @@ Index: git/locale/programs/locfile.c | |||
2205 | /* Record that FILE's next element is the 32-bit integer VALUE. */ | 2283 | /* Record that FILE's next element is the 32-bit integer VALUE. */ |
2206 | Index: git/locale/programs/locfile.h | 2284 | Index: git/locale/programs/locfile.h |
2207 | =================================================================== | 2285 | =================================================================== |
2208 | --- git.orig/locale/programs/locfile.h 2014-08-29 20:00:47.432070587 -0700 | 2286 | --- git.orig/locale/programs/locfile.h |
2209 | +++ git/locale/programs/locfile.h 2014-08-29 20:01:15.208070587 -0700 | 2287 | +++ git/locale/programs/locfile.h |
2210 | @@ -71,6 +71,8 @@ | 2288 | @@ -71,6 +71,8 @@ extern void write_all_categories (struct |
2211 | 2289 | ||
2212 | extern bool swap_endianness_p; | 2290 | extern bool swap_endianness_p; |
2213 | 2291 | ||
@@ -2216,7 +2294,7 @@ Index: git/locale/programs/locfile.h | |||
2216 | /* Change the output to be big-endian if BIG_ENDIAN is true and | 2294 | /* Change the output to be big-endian if BIG_ENDIAN is true and |
2217 | little-endian otherwise. */ | 2295 | little-endian otherwise. */ |
2218 | static inline void | 2296 | static inline void |
2219 | @@ -275,4 +277,49 @@ | 2297 | @@ -276,4 +278,49 @@ extern void identification_output (struc |
2220 | const struct charmap_t *charmap, | 2298 | const struct charmap_t *charmap, |
2221 | const char *output_path); | 2299 | const char *output_path); |
2222 | 2300 | ||
@@ -2268,9 +2346,9 @@ Index: git/locale/programs/locfile.h | |||
2268 | #endif /* locfile.h */ | 2346 | #endif /* locfile.h */ |
2269 | Index: git/locale/setlocale.c | 2347 | Index: git/locale/setlocale.c |
2270 | =================================================================== | 2348 | =================================================================== |
2271 | --- git.orig/locale/setlocale.c 2014-08-29 20:00:47.432070587 -0700 | 2349 | --- git.orig/locale/setlocale.c |
2272 | +++ git/locale/setlocale.c 2014-08-29 20:01:15.208070587 -0700 | 2350 | +++ git/locale/setlocale.c |
2273 | @@ -64,36 +64,6 @@ | 2351 | @@ -64,36 +64,6 @@ static char *const _nl_current_used[] = |
2274 | #endif | 2352 | #endif |
2275 | 2353 | ||
2276 | 2354 | ||
@@ -2309,8 +2387,8 @@ Index: git/locale/setlocale.c | |||
2309 | #else | 2387 | #else |
2310 | Index: git/locale/xlocale.c | 2388 | Index: git/locale/xlocale.c |
2311 | =================================================================== | 2389 | =================================================================== |
2312 | --- git.orig/locale/xlocale.c 2014-08-29 20:00:47.436070587 -0700 | 2390 | --- git.orig/locale/xlocale.c |
2313 | +++ git/locale/xlocale.c 2014-08-29 20:01:15.208070587 -0700 | 2391 | +++ git/locale/xlocale.c |
2314 | @@ -18,6 +18,7 @@ | 2392 | @@ -18,6 +18,7 @@ |
2315 | <http://www.gnu.org/licenses/>. */ | 2393 | <http://www.gnu.org/licenses/>. */ |
2316 | 2394 | ||
@@ -2319,7 +2397,7 @@ Index: git/locale/xlocale.c | |||
2319 | #include "localeinfo.h" | 2397 | #include "localeinfo.h" |
2320 | 2398 | ||
2321 | #define DEFINE_CATEGORY(category, category_name, items, a) \ | 2399 | #define DEFINE_CATEGORY(category, category_name, items, a) \ |
2322 | @@ -25,6 +26,19 @@ | 2400 | @@ -25,6 +26,19 @@ extern struct __locale_data _nl_C_##cate |
2323 | #include "categories.def" | 2401 | #include "categories.def" |
2324 | #undef DEFINE_CATEGORY | 2402 | #undef DEFINE_CATEGORY |
2325 | 2403 | ||
@@ -2339,7 +2417,7 @@ Index: git/locale/xlocale.c | |||
2339 | /* Defined in locale/C-ctype.c. */ | 2417 | /* Defined in locale/C-ctype.c. */ |
2340 | extern const char _nl_C_LC_CTYPE_class[] attribute_hidden; | 2418 | extern const char _nl_C_LC_CTYPE_class[] attribute_hidden; |
2341 | extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden; | 2419 | extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden; |
2342 | @@ -52,3 +66,26 @@ | 2420 | @@ -52,3 +66,26 @@ const struct __locale_struct _nl_C_locob |
2343 | .__ctype_tolower = (const int *) _nl_C_LC_CTYPE_tolower + 128, | 2421 | .__ctype_tolower = (const int *) _nl_C_LC_CTYPE_tolower + 128, |
2344 | .__ctype_toupper = (const int *) _nl_C_LC_CTYPE_toupper + 128 | 2422 | .__ctype_toupper = (const int *) _nl_C_LC_CTYPE_toupper + 128 |
2345 | }; | 2423 | }; |
@@ -2368,9 +2446,9 @@ Index: git/locale/xlocale.c | |||
2368 | +#endif /* __OPTION_EGLIBC_LOCALE_CODE */ | 2446 | +#endif /* __OPTION_EGLIBC_LOCALE_CODE */ |
2369 | Index: git/localedata/Makefile | 2447 | Index: git/localedata/Makefile |
2370 | =================================================================== | 2448 | =================================================================== |
2371 | --- git.orig/localedata/Makefile 2014-08-29 20:00:47.444070587 -0700 | 2449 | --- git.orig/localedata/Makefile |
2372 | +++ git/localedata/Makefile 2014-08-29 20:01:15.212070587 -0700 | 2450 | +++ git/localedata/Makefile |
2373 | @@ -21,12 +21,22 @@ | 2451 | @@ -21,12 +21,22 @@ subdir := localedata |
2374 | 2452 | ||
2375 | include ../Makeconfig | 2453 | include ../Makeconfig |
2376 | 2454 | ||
@@ -2396,7 +2474,7 @@ Index: git/localedata/Makefile | |||
2396 | 2474 | ||
2397 | subdir-dirs = tests-mbwc | 2475 | subdir-dirs = tests-mbwc |
2398 | vpath %.c tests-mbwc | 2476 | vpath %.c tests-mbwc |
2399 | @@ -71,14 +81,20 @@ | 2477 | @@ -71,14 +81,20 @@ locale_test_suite := tst_iswalnum tst_is |
2400 | tst_wcsxfrm tst_wctob tst_wctomb tst_wctrans \ | 2478 | tst_wcsxfrm tst_wctob tst_wctomb tst_wctrans \ |
2401 | tst_wctype tst_wcwidth | 2479 | tst_wctype tst_wcwidth |
2402 | 2480 | ||
@@ -2419,22 +2497,23 @@ Index: git/localedata/Makefile | |||
2419 | ifneq (no,$(PERL)) | 2497 | ifneq (no,$(PERL)) |
2420 | tests-special += $(objpfx)mtrace-tst-leaks.out | 2498 | tests-special += $(objpfx)mtrace-tst-leaks.out |
2421 | endif | 2499 | endif |
2422 | @@ -92,12 +108,14 @@ | 2500 | @@ -95,6 +111,7 @@ tests: $(objdir)/iconvdata/gconv-modules |
2423 | 2501 | tests-static += tst-langinfo-static | |
2424 | tests: $(objdir)/iconvdata/gconv-modules | ||
2425 | 2502 | ||
2503 | ifeq ($(run-built-tests),yes) | ||
2426 | +ifeq (y,$(OPTION_EGLIBC_LOCALE_CODE)) | 2504 | +ifeq (y,$(OPTION_EGLIBC_LOCALE_CODE)) |
2427 | tests-special += $(objpfx)sort-test.out $(objpfx)tst-fmon.out \ | 2505 | tests-special += $(objpfx)sort-test.out $(objpfx)tst-fmon.out \ |
2428 | $(objpfx)tst-locale.out $(objpfx)tst-rpmatch.out \ | 2506 | $(objpfx)tst-locale.out $(objpfx)tst-rpmatch.out \ |
2429 | $(objpfx)tst-trans.out $(objpfx)tst-ctype.out \ | 2507 | $(objpfx)tst-trans.out $(objpfx)tst-ctype.out \ |
2430 | $(objpfx)tst-langinfo.out $(objpfx)tst-langinfo-static.out \ | 2508 | @@ -113,6 +130,7 @@ CHARMAPS := $(shell echo "$(LOCALES)" | |
2431 | $(objpfx)tst-numeric.out | 2509 | CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES)) |
2432 | tests-static += tst-langinfo-static | 2510 | tests-special += $(addprefix $(objpfx),$(CTYPE_FILES)) |
2511 | endif | ||
2433 | +endif | 2512 | +endif |
2434 | 2513 | ||
2435 | ifeq ($(run-built-tests),yes) | 2514 | include ../Rules |
2436 | # We have to generate locales | 2515 | |
2437 | @@ -213,6 +231,11 @@ | 2516 | @@ -205,6 +223,11 @@ endif |
2438 | 2517 | ||
2439 | include SUPPORTED | 2518 | include SUPPORTED |
2440 | 2519 | ||
@@ -2448,8 +2527,8 @@ Index: git/localedata/Makefile | |||
2448 | # Sometimes the whole collection of locale files should be installed. | 2527 | # Sometimes the whole collection of locale files should be installed. |
2449 | Index: git/login/Makefile | 2528 | Index: git/login/Makefile |
2450 | =================================================================== | 2529 | =================================================================== |
2451 | --- git.orig/login/Makefile 2014-08-29 20:00:47.736070587 -0700 | 2530 | --- git.orig/login/Makefile |
2452 | +++ git/login/Makefile 2014-08-29 20:01:15.212070587 -0700 | 2531 | +++ git/login/Makefile |
2453 | @@ -18,6 +18,7 @@ | 2532 | @@ -18,6 +18,7 @@ |
2454 | # | 2533 | # |
2455 | # Sub-makefile for login portion of the library. | 2534 | # Sub-makefile for login portion of the library. |
@@ -2458,7 +2537,7 @@ Index: git/login/Makefile | |||
2458 | 2537 | ||
2459 | subdir := login | 2538 | subdir := login |
2460 | 2539 | ||
2461 | @@ -25,14 +26,16 @@ | 2540 | @@ -25,14 +26,16 @@ include ../Makeconfig |
2462 | 2541 | ||
2463 | headers := utmp.h bits/utmp.h lastlog.h pty.h | 2542 | headers := utmp.h bits/utmp.h lastlog.h pty.h |
2464 | 2543 | ||
@@ -2480,7 +2559,7 @@ Index: git/login/Makefile | |||
2480 | 2559 | ||
2481 | ifeq (yes,$(build-pt-chown)) | 2560 | ifeq (yes,$(build-pt-chown)) |
2482 | others += pt_chown | 2561 | others += pt_chown |
2483 | @@ -46,8 +49,8 @@ | 2562 | @@ -46,8 +49,8 @@ vpath %.c programs |
2484 | tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname | 2563 | tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname |
2485 | 2564 | ||
2486 | # Build the -lutil library with these extra functions. | 2565 | # Build the -lutil library with these extra functions. |
@@ -2493,9 +2572,9 @@ Index: git/login/Makefile | |||
2493 | 2572 | ||
2494 | Index: git/Makeconfig | 2573 | Index: git/Makeconfig |
2495 | =================================================================== | 2574 | =================================================================== |
2496 | --- git.orig/Makeconfig 2014-08-29 20:00:42.956070587 -0700 | 2575 | --- git.orig/Makeconfig |
2497 | +++ git/Makeconfig 2014-08-29 20:01:15.212070587 -0700 | 2576 | +++ git/Makeconfig |
2498 | @@ -582,7 +582,7 @@ | 2577 | @@ -582,7 +582,7 @@ elf-objpfx = $(common-objpfx)elf/ |
2499 | # and run on the build system, causes that program with those | 2578 | # and run on the build system, causes that program with those |
2500 | # arguments to be run on the host for which the library is built. | 2579 | # arguments to be run on the host for which the library is built. |
2501 | ifndef test-wrapper | 2580 | ifndef test-wrapper |
@@ -2504,7 +2583,7 @@ Index: git/Makeconfig | |||
2504 | endif | 2583 | endif |
2505 | # Likewise, but the name of the program is preceded by | 2584 | # Likewise, but the name of the program is preceded by |
2506 | # <variable>=<value> assignments for environment variables. | 2585 | # <variable>=<value> assignments for environment variables. |
2507 | @@ -1057,6 +1057,24 @@ | 2586 | @@ -1055,6 +1055,24 @@ else |
2508 | libm = $(common-objpfx)math/libm.a | 2587 | libm = $(common-objpfx)math/libm.a |
2509 | endif | 2588 | endif |
2510 | 2589 | ||
@@ -2531,9 +2610,9 @@ Index: git/Makeconfig | |||
2531 | # dependencies. | 2610 | # dependencies. |
2532 | Index: git/Makerules | 2611 | Index: git/Makerules |
2533 | =================================================================== | 2612 | =================================================================== |
2534 | --- git.orig/Makerules 2014-08-29 20:00:42.960070587 -0700 | 2613 | --- git.orig/Makerules |
2535 | +++ git/Makerules 2014-08-29 20:01:15.212070587 -0700 | 2614 | +++ git/Makerules |
2536 | @@ -379,6 +379,25 @@ | 2615 | @@ -446,6 +446,25 @@ define sed-remove-objpfx |
2537 | endef | 2616 | endef |
2538 | endif | 2617 | endif |
2539 | 2618 | ||
@@ -2561,8 +2640,8 @@ Index: git/Makerules | |||
2561 | ifeq (yes,$(build-shared)) | 2640 | ifeq (yes,$(build-shared)) |
2562 | Index: git/malloc/Makefile | 2641 | Index: git/malloc/Makefile |
2563 | =================================================================== | 2642 | =================================================================== |
2564 | --- git.orig/malloc/Makefile 2014-08-29 20:00:47.760070587 -0700 | 2643 | --- git.orig/malloc/Makefile |
2565 | +++ git/malloc/Makefile 2014-08-29 20:01:15.212070587 -0700 | 2644 | +++ git/malloc/Makefile |
2566 | @@ -18,6 +18,8 @@ | 2645 | @@ -18,6 +18,8 @@ |
2567 | # | 2646 | # |
2568 | # Makefile for malloc routines | 2647 | # Makefile for malloc routines |
@@ -2572,7 +2651,7 @@ Index: git/malloc/Makefile | |||
2572 | subdir := malloc | 2651 | subdir := malloc |
2573 | 2652 | ||
2574 | include ../Makeconfig | 2653 | include ../Makeconfig |
2575 | @@ -36,9 +38,15 @@ | 2654 | @@ -36,9 +38,15 @@ install-lib := libmcheck.a |
2576 | non-lib.a := libmcheck.a | 2655 | non-lib.a := libmcheck.a |
2577 | 2656 | ||
2578 | # Additional library. | 2657 | # Additional library. |
@@ -2588,7 +2667,7 @@ Index: git/malloc/Makefile | |||
2588 | libmemusage-routines = memusage | 2667 | libmemusage-routines = memusage |
2589 | libmemusage-inhibit-o = $(filter-out .os,$(object-suffixes)) | 2668 | libmemusage-inhibit-o = $(filter-out .os,$(object-suffixes)) |
2590 | 2669 | ||
2591 | @@ -67,7 +75,7 @@ | 2670 | @@ -65,7 +73,7 @@ endif |
2592 | # Unless we get a test for the availability of libgd which also works | 2671 | # Unless we get a test for the availability of libgd which also works |
2593 | # for cross-compiling we disable the memusagestat generation in this | 2672 | # for cross-compiling we disable the memusagestat generation in this |
2594 | # situation. | 2673 | # situation. |
@@ -2599,8 +2678,8 @@ Index: git/malloc/Makefile | |||
2599 | others: $(objpfx)memusage | 2678 | others: $(objpfx)memusage |
2600 | Index: git/malloc/memusage.c | 2679 | Index: git/malloc/memusage.c |
2601 | =================================================================== | 2680 | =================================================================== |
2602 | --- git.orig/malloc/memusage.c 2014-08-29 20:00:47.768070587 -0700 | 2681 | --- git.orig/malloc/memusage.c |
2603 | +++ git/malloc/memusage.c 2014-08-29 20:01:15.212070587 -0700 | 2682 | +++ git/malloc/memusage.c |
2604 | @@ -33,6 +33,7 @@ | 2683 | @@ -33,6 +33,7 @@ |
2605 | #include <stdint.h> | 2684 | #include <stdint.h> |
2606 | #include <sys/mman.h> | 2685 | #include <sys/mman.h> |
@@ -2609,7 +2688,7 @@ Index: git/malloc/memusage.c | |||
2609 | 2688 | ||
2610 | #include <memusage.h> | 2689 | #include <memusage.h> |
2611 | 2690 | ||
2612 | @@ -93,7 +94,11 @@ | 2691 | @@ -93,7 +94,11 @@ static __thread uintptr_t start_sp; |
2613 | #define peak_stack peak_use[1] | 2692 | #define peak_stack peak_use[1] |
2614 | #define peak_total peak_use[2] | 2693 | #define peak_total peak_use[2] |
2615 | 2694 | ||
@@ -2624,9 +2703,9 @@ Index: git/malloc/memusage.c | |||
2624 | static int fd = -1; | 2703 | static int fd = -1; |
2625 | Index: git/malloc/memusage.sh | 2704 | Index: git/malloc/memusage.sh |
2626 | =================================================================== | 2705 | =================================================================== |
2627 | --- git.orig/malloc/memusage.sh 2014-08-29 20:00:47.768070587 -0700 | 2706 | --- git.orig/malloc/memusage.sh |
2628 | +++ git/malloc/memusage.sh 2014-08-29 20:01:15.212070587 -0700 | 2707 | +++ git/malloc/memusage.sh |
2629 | @@ -35,7 +35,7 @@ | 2708 | @@ -35,7 +35,7 @@ do_missing_arg() { |
2630 | 2709 | ||
2631 | # Print help message | 2710 | # Print help message |
2632 | do_help() { | 2711 | do_help() { |
@@ -2637,9 +2716,9 @@ Index: git/malloc/memusage.sh | |||
2637 | -n,--progname=NAME Name of the program file to profile | 2716 | -n,--progname=NAME Name of the program file to profile |
2638 | Index: git/math/Makefile | 2717 | Index: git/math/Makefile |
2639 | =================================================================== | 2718 | =================================================================== |
2640 | --- git.orig/math/Makefile 2014-08-29 20:00:47.836070587 -0700 | 2719 | --- git.orig/math/Makefile |
2641 | +++ git/math/Makefile 2014-08-29 20:01:15.212070587 -0700 | 2720 | +++ git/math/Makefile |
2642 | @@ -21,6 +21,8 @@ | 2721 | @@ -21,6 +21,8 @@ subdir := math |
2643 | 2722 | ||
2644 | include ../Makeconfig | 2723 | include ../Makeconfig |
2645 | 2724 | ||
@@ -2648,7 +2727,7 @@ Index: git/math/Makefile | |||
2648 | # Installed header files. | 2727 | # Installed header files. |
2649 | headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \ | 2728 | headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \ |
2650 | bits/huge_valf.h bits/huge_vall.h bits/inf.h bits/nan.h \ | 2729 | bits/huge_valf.h bits/huge_vall.h bits/inf.h bits/nan.h \ |
2651 | @@ -33,8 +35,8 @@ | 2730 | @@ -33,8 +35,8 @@ aux := setfpucw fpu_control |
2652 | 2731 | ||
2653 | # Build the -lm library. | 2732 | # Build the -lm library. |
2654 | 2733 | ||
@@ -2657,12 +2736,12 @@ Index: git/math/Makefile | |||
2657 | +extra-libs-$(OPTION_EGLIBC_LIBM) := libm | 2736 | +extra-libs-$(OPTION_EGLIBC_LIBM) := libm |
2658 | +extra-libs-others-$(OPTION_EGLIBC_LIBM) = $(extra-libs-$(OPTION_EGLIBC_LIBM)) | 2737 | +extra-libs-others-$(OPTION_EGLIBC_LIBM) = $(extra-libs-$(OPTION_EGLIBC_LIBM)) |
2659 | 2738 | ||
2660 | libm-support = k_standard s_lib_version s_matherr s_signgam \ | 2739 | libm-support = s_lib_version s_matherr s_signgam \ |
2661 | fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \ | 2740 | fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \ |
2662 | Index: git/misc/err.c | 2741 | Index: git/misc/err.c |
2663 | =================================================================== | 2742 | =================================================================== |
2664 | --- git.orig/misc/err.c 2014-08-29 20:00:48.232070587 -0700 | 2743 | --- git.orig/misc/err.c |
2665 | +++ git/misc/err.c 2014-08-29 20:01:15.212070587 -0700 | 2744 | +++ git/misc/err.c |
2666 | @@ -22,6 +22,7 @@ | 2745 | @@ -22,6 +22,7 @@ |
2667 | #include <errno.h> | 2746 | #include <errno.h> |
2668 | #include <string.h> | 2747 | #include <string.h> |
@@ -2671,7 +2750,7 @@ Index: git/misc/err.c | |||
2671 | 2750 | ||
2672 | #include <wchar.h> | 2751 | #include <wchar.h> |
2673 | #define flockfile(s) _IO_flockfile (s) | 2752 | #define flockfile(s) _IO_flockfile (s) |
2674 | @@ -37,6 +38,7 @@ | 2753 | @@ -37,6 +38,7 @@ extern char *__progname; |
2675 | va_end (ap); \ | 2754 | va_end (ap); \ |
2676 | } | 2755 | } |
2677 | 2756 | ||
@@ -2679,7 +2758,7 @@ Index: git/misc/err.c | |||
2679 | static void | 2758 | static void |
2680 | convert_and_print (const char *format, __gnuc_va_list ap) | 2759 | convert_and_print (const char *format, __gnuc_va_list ap) |
2681 | { | 2760 | { |
2682 | @@ -81,6 +83,7 @@ | 2761 | @@ -81,6 +83,7 @@ convert_and_print (const char *format, _ |
2683 | 2762 | ||
2684 | __vfwprintf (stderr, wformat, ap); | 2763 | __vfwprintf (stderr, wformat, ap); |
2685 | } | 2764 | } |
@@ -2687,7 +2766,7 @@ Index: git/misc/err.c | |||
2687 | 2766 | ||
2688 | void | 2767 | void |
2689 | vwarnx (const char *format, __gnuc_va_list ap) | 2768 | vwarnx (const char *format, __gnuc_va_list ap) |
2690 | @@ -88,9 +91,13 @@ | 2769 | @@ -88,9 +91,13 @@ vwarnx (const char *format, __gnuc_va_li |
2691 | flockfile (stderr); | 2770 | flockfile (stderr); |
2692 | if (_IO_fwide (stderr, 0) > 0) | 2771 | if (_IO_fwide (stderr, 0) > 0) |
2693 | { | 2772 | { |
@@ -2701,7 +2780,7 @@ Index: git/misc/err.c | |||
2701 | } | 2780 | } |
2702 | else | 2781 | else |
2703 | { | 2782 | { |
2704 | @@ -111,6 +118,7 @@ | 2783 | @@ -111,6 +118,7 @@ vwarn (const char *format, __gnuc_va_lis |
2705 | flockfile (stderr); | 2784 | flockfile (stderr); |
2706 | if (_IO_fwide (stderr, 0) > 0) | 2785 | if (_IO_fwide (stderr, 0) > 0) |
2707 | { | 2786 | { |
@@ -2709,7 +2788,7 @@ Index: git/misc/err.c | |||
2709 | __fwprintf (stderr, L"%s: ", __progname); | 2788 | __fwprintf (stderr, L"%s: ", __progname); |
2710 | if (format) | 2789 | if (format) |
2711 | { | 2790 | { |
2712 | @@ -119,6 +127,9 @@ | 2791 | @@ -119,6 +127,9 @@ vwarn (const char *format, __gnuc_va_lis |
2713 | } | 2792 | } |
2714 | __set_errno (error); | 2793 | __set_errno (error); |
2715 | __fwprintf (stderr, L"%m\n"); | 2794 | __fwprintf (stderr, L"%m\n"); |
@@ -2721,8 +2800,8 @@ Index: git/misc/err.c | |||
2721 | { | 2800 | { |
2722 | Index: git/misc/error.c | 2801 | Index: git/misc/error.c |
2723 | =================================================================== | 2802 | =================================================================== |
2724 | --- git.orig/misc/error.c 2014-08-29 20:00:48.232070587 -0700 | 2803 | --- git.orig/misc/error.c |
2725 | +++ git/misc/error.c 2014-08-29 20:01:15.212070587 -0700 | 2804 | +++ git/misc/error.c |
2726 | @@ -35,6 +35,7 @@ | 2805 | @@ -35,6 +35,7 @@ |
2727 | #endif | 2806 | #endif |
2728 | 2807 | ||
@@ -2731,7 +2810,7 @@ Index: git/misc/error.c | |||
2731 | # include <libintl.h> | 2810 | # include <libintl.h> |
2732 | # include <stdbool.h> | 2811 | # include <stdbool.h> |
2733 | # include <stdint.h> | 2812 | # include <stdint.h> |
2734 | @@ -205,6 +206,7 @@ | 2813 | @@ -205,6 +206,7 @@ error_tail (int status, int errnum, cons |
2735 | #if _LIBC | 2814 | #if _LIBC |
2736 | if (_IO_fwide (stderr, 0) > 0) | 2815 | if (_IO_fwide (stderr, 0) > 0) |
2737 | { | 2816 | { |
@@ -2739,7 +2818,7 @@ Index: git/misc/error.c | |||
2739 | size_t len = strlen (message) + 1; | 2818 | size_t len = strlen (message) + 1; |
2740 | wchar_t *wmessage = NULL; | 2819 | wchar_t *wmessage = NULL; |
2741 | mbstate_t st; | 2820 | mbstate_t st; |
2742 | @@ -265,6 +267,9 @@ | 2821 | @@ -265,6 +267,9 @@ error_tail (int status, int errnum, cons |
2743 | 2822 | ||
2744 | if (use_malloc) | 2823 | if (use_malloc) |
2745 | free (wmessage); | 2824 | free (wmessage); |
@@ -2751,8 +2830,8 @@ Index: git/misc/error.c | |||
2751 | #endif | 2830 | #endif |
2752 | Index: git/misc/Makefile | 2831 | Index: git/misc/Makefile |
2753 | =================================================================== | 2832 | =================================================================== |
2754 | --- git.orig/misc/Makefile 2014-08-29 20:00:48.232070587 -0700 | 2833 | --- git.orig/misc/Makefile |
2755 | +++ git/misc/Makefile 2014-08-29 20:01:15.212070587 -0700 | 2834 | +++ git/misc/Makefile |
2756 | @@ -19,6 +19,10 @@ | 2835 | @@ -19,6 +19,10 @@ |
2757 | # Sub-makefile for misc portion of the library. | 2836 | # Sub-makefile for misc portion of the library. |
2758 | # | 2837 | # |
@@ -2764,7 +2843,7 @@ Index: git/misc/Makefile | |||
2764 | subdir := misc | 2843 | subdir := misc |
2765 | 2844 | ||
2766 | include ../Makeconfig | 2845 | include ../Makeconfig |
2767 | @@ -46,40 +50,47 @@ | 2846 | @@ -46,40 +50,47 @@ routines := brk sbrk sstk ioctl \ |
2768 | select pselect \ | 2847 | select pselect \ |
2769 | acct chroot fsync sync fdatasync syncfs reboot \ | 2848 | acct chroot fsync sync fdatasync syncfs reboot \ |
2770 | gethostid sethostid \ | 2849 | gethostid sethostid \ |
@@ -2821,9 +2900,9 @@ Index: git/misc/Makefile | |||
2821 | CFLAGS-tsearch.c = $(uses-callbacks) | 2900 | CFLAGS-tsearch.c = $(uses-callbacks) |
2822 | Index: git/misc/tst-efgcvt.c | 2901 | Index: git/misc/tst-efgcvt.c |
2823 | =================================================================== | 2902 | =================================================================== |
2824 | --- git.orig/misc/tst-efgcvt.c 2014-08-29 20:00:52.652070587 -0700 | 2903 | --- git.orig/misc/tst-efgcvt.c |
2825 | +++ git/misc/tst-efgcvt.c 2014-08-29 20:01:15.216070587 -0700 | 2904 | +++ git/misc/tst-efgcvt.c |
2826 | @@ -59,7 +59,7 @@ | 2905 | @@ -59,7 +59,7 @@ static testcase ecvt_tests[] = |
2827 | { 123.01, -4, 3, "" }, | 2906 | { 123.01, -4, 3, "" }, |
2828 | { 126.71, -4, 3, "" }, | 2907 | { 126.71, -4, 3, "" }, |
2829 | { 0.0, 4, 1, "0000" }, | 2908 | { 0.0, 4, 1, "0000" }, |
@@ -2834,8 +2913,8 @@ Index: git/misc/tst-efgcvt.c | |||
2834 | #endif | 2913 | #endif |
2835 | Index: git/nis/Makefile | 2914 | Index: git/nis/Makefile |
2836 | =================================================================== | 2915 | =================================================================== |
2837 | --- git.orig/nis/Makefile 2014-08-29 20:00:52.660070587 -0700 | 2916 | --- git.orig/nis/Makefile |
2838 | +++ git/nis/Makefile 2014-08-29 20:01:15.216070587 -0700 | 2917 | +++ git/nis/Makefile |
2839 | @@ -18,6 +18,8 @@ | 2918 | @@ -18,6 +18,8 @@ |
2840 | # | 2919 | # |
2841 | # Makefile for NIS/NIS+ part. | 2920 | # Makefile for NIS/NIS+ part. |
@@ -2845,7 +2924,7 @@ Index: git/nis/Makefile | |||
2845 | subdir := nis | 2924 | subdir := nis |
2846 | 2925 | ||
2847 | include ../Makeconfig | 2926 | include ../Makeconfig |
2848 | @@ -30,19 +32,26 @@ | 2927 | @@ -30,19 +32,26 @@ endif |
2849 | 2928 | ||
2850 | # These are the databases available for the nis (and perhaps later nisplus) | 2929 | # These are the databases available for the nis (and perhaps later nisplus) |
2851 | # service. This must be a superset of the services in nss. | 2930 | # service. This must be a superset of the services in nss. |
@@ -2878,7 +2957,7 @@ Index: git/nis/Makefile | |||
2878 | vpath %.c $(subdir-dirs) | 2957 | vpath %.c $(subdir-dirs) |
2879 | 2958 | ||
2880 | libnsl-routines = yp_xdr ypclnt ypupdate_xdr \ | 2959 | libnsl-routines = yp_xdr ypclnt ypupdate_xdr \ |
2881 | @@ -60,11 +69,11 @@ | 2960 | @@ -60,11 +69,11 @@ libnsl-routines = yp_xdr ypclnt ypupdate |
2882 | libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) | 2961 | libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) |
2883 | libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) | 2962 | libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) |
2884 | 2963 | ||
@@ -2892,7 +2971,7 @@ Index: git/nis/Makefile | |||
2892 | nss-nisplus nisplus-initgroups | 2971 | nss-nisplus nisplus-initgroups |
2893 | libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) | 2972 | libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) |
2894 | 2973 | ||
2895 | @@ -80,12 +89,12 @@ | 2974 | @@ -80,12 +89,12 @@ libnsl-libc = $(common-objpfx)linkobj/li |
2896 | # Target-specific variable setting to link objects using deprecated | 2975 | # Target-specific variable setting to link objects using deprecated |
2897 | # RPC interfaces with the version of libc.so that makes them available | 2976 | # RPC interfaces with the version of libc.so that makes them available |
2898 | # for new links: | 2977 | # for new links: |
@@ -2910,8 +2989,8 @@ Index: git/nis/Makefile | |||
2910 | endif | 2989 | endif |
2911 | Index: git/nptl/Makefile | 2990 | Index: git/nptl/Makefile |
2912 | =================================================================== | 2991 | =================================================================== |
2913 | --- git.orig/nptl/Makefile 2014-08-29 20:00:52.704070587 -0700 | 2992 | --- git.orig/nptl/Makefile |
2914 | +++ git/nptl/Makefile 2014-08-29 20:01:15.216070587 -0700 | 2993 | +++ git/nptl/Makefile |
2915 | @@ -18,6 +18,8 @@ | 2994 | @@ -18,6 +18,8 @@ |
2916 | # | 2995 | # |
2917 | # Sub-makefile for NPTL portion of the library. | 2996 | # Sub-makefile for NPTL portion of the library. |
@@ -2921,7 +3000,7 @@ Index: git/nptl/Makefile | |||
2921 | subdir := nptl | 3000 | subdir := nptl |
2922 | 3001 | ||
2923 | include ../Makeconfig | 3002 | include ../Makeconfig |
2924 | @@ -116,7 +118,7 @@ | 3003 | @@ -117,7 +119,7 @@ libpthread-routines = nptl-init vars eve |
2925 | pt-raise pt-system \ | 3004 | pt-raise pt-system \ |
2926 | flockfile ftrylockfile funlockfile \ | 3005 | flockfile ftrylockfile funlockfile \ |
2927 | sigaction \ | 3006 | sigaction \ |
@@ -2930,7 +3009,7 @@ Index: git/nptl/Makefile | |||
2930 | pthread_kill_other_threads \ | 3009 | pthread_kill_other_threads \ |
2931 | pthread_getaffinity pthread_setaffinity \ | 3010 | pthread_getaffinity pthread_setaffinity \ |
2932 | pthread_attr_getaffinity pthread_attr_setaffinity \ | 3011 | pthread_attr_getaffinity pthread_attr_setaffinity \ |
2933 | @@ -136,6 +138,8 @@ | 3012 | @@ -137,6 +139,8 @@ libpthread-routines = nptl-init vars eve |
2934 | # pthread_setgid pthread_setegid pthread_setregid \ | 3013 | # pthread_setgid pthread_setegid pthread_setregid \ |
2935 | # pthread_setresgid | 3014 | # pthread_setresgid |
2936 | 3015 | ||
@@ -2939,7 +3018,7 @@ Index: git/nptl/Makefile | |||
2939 | libpthread-shared-only-routines = version pt-allocrtsig unwind-forcedunwind | 3018 | libpthread-shared-only-routines = version pt-allocrtsig unwind-forcedunwind |
2940 | libpthread-static-only-routines = pthread_atfork | 3019 | libpthread-static-only-routines = pthread_atfork |
2941 | 3020 | ||
2942 | @@ -210,7 +214,7 @@ | 3021 | @@ -211,7 +215,7 @@ tests = tst-typesizes \ |
2943 | tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 tst-mutexpi5 \ | 3022 | tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 tst-mutexpi5 \ |
2944 | tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a tst-mutexpi8 \ | 3023 | tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a tst-mutexpi8 \ |
2945 | tst-mutexpi9 \ | 3024 | tst-mutexpi9 \ |
@@ -2948,7 +3027,7 @@ Index: git/nptl/Makefile | |||
2948 | tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \ | 3027 | tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \ |
2949 | tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \ | 3028 | tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \ |
2950 | tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \ | 3029 | tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \ |
2951 | @@ -244,14 +248,14 @@ | 3030 | @@ -245,14 +249,14 @@ tests = tst-typesizes \ |
2952 | tst-cancel6 tst-cancel7 tst-cancel8 tst-cancel9 tst-cancel10 \ | 3031 | tst-cancel6 tst-cancel7 tst-cancel8 tst-cancel9 tst-cancel10 \ |
2953 | tst-cancel11 tst-cancel12 tst-cancel13 tst-cancel14 tst-cancel15 \ | 3032 | tst-cancel11 tst-cancel12 tst-cancel13 tst-cancel14 tst-cancel15 \ |
2954 | tst-cancel16 tst-cancel17 tst-cancel18 tst-cancel19 tst-cancel20 \ | 3033 | tst-cancel16 tst-cancel17 tst-cancel18 tst-cancel19 tst-cancel20 \ |
@@ -2964,8 +3043,8 @@ Index: git/nptl/Makefile | |||
2964 | + tst-exec2 tst-exec3 tst-exec4 \ | 3043 | + tst-exec2 tst-exec3 tst-exec4 \ |
2965 | tst-exit1 tst-exit2 tst-exit3 \ | 3044 | tst-exit1 tst-exit2 tst-exit3 \ |
2966 | tst-stdio1 tst-stdio2 \ | 3045 | tst-stdio1 tst-stdio2 \ |
2967 | tst-stack1 tst-stack2 tst-stack3 tst-pthread-getattr \ | 3046 | tst-stack1 tst-stack2 tst-stack3 tst-stack4 tst-pthread-getattr \ |
2968 | @@ -259,13 +263,12 @@ | 3047 | @@ -260,13 +264,12 @@ tests = tst-typesizes \ |
2969 | tst-unload \ | 3048 | tst-unload \ |
2970 | tst-dlsym1 \ | 3049 | tst-dlsym1 \ |
2971 | tst-sysconf \ | 3050 | tst-sysconf \ |
@@ -2980,7 +3059,7 @@ Index: git/nptl/Makefile | |||
2980 | tst-abstime \ | 3059 | tst-abstime \ |
2981 | tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \ | 3060 | tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \ |
2982 | tst-getpid1 tst-getpid2 tst-getpid3 \ | 3061 | tst-getpid1 tst-getpid2 tst-getpid3 \ |
2983 | @@ -275,6 +278,17 @@ | 3062 | @@ -277,6 +280,17 @@ xtests = tst-setuid1 tst-setuid1-static |
2984 | tst-mutexpp1 tst-mutexpp6 tst-mutexpp10 | 3063 | tst-mutexpp1 tst-mutexpp6 tst-mutexpp10 |
2985 | test-srcs = tst-oddstacklimit | 3064 | test-srcs = tst-oddstacklimit |
2986 | 3065 | ||
@@ -3000,17 +3079,17 @@ Index: git/nptl/Makefile | |||
3000 | 3079 | ||
3001 | Index: git/nptl/pthread_create.c | 3080 | Index: git/nptl/pthread_create.c |
3002 | =================================================================== | 3081 | =================================================================== |
3003 | --- git.orig/nptl/pthread_create.c 2014-08-29 20:00:52.764070587 -0700 | 3082 | --- git.orig/nptl/pthread_create.c |
3004 | +++ git/nptl/pthread_create.c 2014-08-29 20:01:15.216070587 -0700 | 3083 | +++ git/nptl/pthread_create.c |
3005 | @@ -31,6 +31,7 @@ | 3084 | @@ -32,6 +32,7 @@ |
3006 | #include <kernel-features.h> | ||
3007 | #include <exit-thread.h> | 3085 | #include <exit-thread.h> |
3086 | #include <default-sched.h> | ||
3008 | 3087 | ||
3009 | +#include <gnu/option-groups.h> | 3088 | +#include <gnu/option-groups.h> |
3010 | #include <shlib-compat.h> | 3089 | #include <shlib-compat.h> |
3011 | 3090 | ||
3012 | #include <stap-probe.h> | 3091 | #include <stap-probe.h> |
3013 | @@ -240,8 +241,10 @@ | 3092 | @@ -261,8 +262,10 @@ START_THREAD_DEFN |
3014 | THREAD_SETMEM (pd, cpuclock_offset, now); | 3093 | THREAD_SETMEM (pd, cpuclock_offset, now); |
3015 | #endif | 3094 | #endif |
3016 | 3095 | ||
@@ -3021,7 +3100,7 @@ Index: git/nptl/pthread_create.c | |||
3021 | 3100 | ||
3022 | /* Initialize pointers to locale data. */ | 3101 | /* Initialize pointers to locale data. */ |
3023 | __ctype_init (); | 3102 | __ctype_init (); |
3024 | @@ -322,8 +325,10 @@ | 3103 | @@ -345,8 +348,10 @@ START_THREAD_DEFN |
3025 | /* Run the destructor for the thread-local data. */ | 3104 | /* Run the destructor for the thread-local data. */ |
3026 | __nptl_deallocate_tsd (); | 3105 | __nptl_deallocate_tsd (); |
3027 | 3106 | ||
@@ -3034,8 +3113,8 @@ Index: git/nptl/pthread_create.c | |||
3034 | do not notify the debugger, it might just irritate it if there | 3113 | do not notify the debugger, it might just irritate it if there |
3035 | Index: git/nscd/Makefile | 3114 | Index: git/nscd/Makefile |
3036 | =================================================================== | 3115 | =================================================================== |
3037 | --- git.orig/nscd/Makefile 2014-08-29 20:00:52.948070587 -0700 | 3116 | --- git.orig/nscd/Makefile |
3038 | +++ git/nscd/Makefile 2014-08-29 20:01:15.216070587 -0700 | 3117 | +++ git/nscd/Makefile |
3039 | @@ -18,14 +18,17 @@ | 3118 | @@ -18,14 +18,17 @@ |
3040 | # | 3119 | # |
3041 | # Sub-makefile for nscd portion of the library. | 3120 | # Sub-makefile for nscd portion of the library. |
@@ -3056,7 +3135,7 @@ Index: git/nscd/Makefile | |||
3056 | endif | 3135 | endif |
3057 | 3136 | ||
3058 | # To find xmalloc.c | 3137 | # To find xmalloc.c |
3059 | @@ -37,14 +40,18 @@ | 3138 | @@ -37,14 +40,18 @@ nscd-modules := nscd connections pwdcach |
3060 | dbg_log nscd_conf nscd_stat cache mem nscd_setup_thread \ | 3139 | dbg_log nscd_conf nscd_stat cache mem nscd_setup_thread \ |
3061 | xmalloc xstrdup aicache initgrcache gai res_hconf \ | 3140 | xmalloc xstrdup aicache initgrcache gai res_hconf \ |
3062 | netgroupcache | 3141 | netgroupcache |
@@ -3080,7 +3159,7 @@ Index: git/nscd/Makefile | |||
3080 | 3159 | ||
3081 | endif | 3160 | endif |
3082 | 3161 | ||
3083 | @@ -101,7 +108,15 @@ | 3162 | @@ -100,7 +107,15 @@ include $(patsubst %,$(..)cppflags-itera |
3084 | $(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o) | 3163 | $(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o) |
3085 | 3164 | ||
3086 | ifeq ($(build-shared),yes) | 3165 | ifeq ($(build-shared),yes) |
@@ -3100,16 +3179,16 @@ Index: git/nscd/Makefile | |||
3100 | endif | 3179 | endif |
3101 | Index: git/nscd/nis_hash.c | 3180 | Index: git/nscd/nis_hash.c |
3102 | =================================================================== | 3181 | =================================================================== |
3103 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 3182 | --- /dev/null |
3104 | +++ git/nscd/nis_hash.c 2014-08-29 20:01:15.216070587 -0700 | 3183 | +++ git/nscd/nis_hash.c |
3105 | @@ -0,0 +1,3 @@ | 3184 | @@ -0,0 +1,3 @@ |
3106 | +/* If OPTION_EGLIBC_NIS is disabled, nscd can't get this from libnsl.so; | 3185 | +/* If OPTION_EGLIBC_NIS is disabled, nscd can't get this from libnsl.so; |
3107 | + we need our own copy. */ | 3186 | + we need our own copy. */ |
3108 | +#include "../nis/nis_hash.c" | 3187 | +#include "../nis/nis_hash.c" |
3109 | Index: git/nss/fixed-nsswitch.conf | 3188 | Index: git/nss/fixed-nsswitch.conf |
3110 | =================================================================== | 3189 | =================================================================== |
3111 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 3190 | --- /dev/null |
3112 | +++ git/nss/fixed-nsswitch.conf 2014-08-29 20:01:15.216070587 -0700 | 3191 | +++ git/nss/fixed-nsswitch.conf |
3113 | @@ -0,0 +1,22 @@ | 3192 | @@ -0,0 +1,22 @@ |
3114 | +# /etc/nsswitch.conf | 3193 | +# /etc/nsswitch.conf |
3115 | +# | 3194 | +# |
@@ -3135,8 +3214,8 @@ Index: git/nss/fixed-nsswitch.conf | |||
3135 | +netgroup: files | 3214 | +netgroup: files |
3136 | Index: git/nss/fixed-nsswitch.functions | 3215 | Index: git/nss/fixed-nsswitch.functions |
3137 | =================================================================== | 3216 | =================================================================== |
3138 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 3217 | --- /dev/null |
3139 | +++ git/nss/fixed-nsswitch.functions 2014-08-29 20:01:15.216070587 -0700 | 3218 | +++ git/nss/fixed-nsswitch.functions |
3140 | @@ -0,0 +1,121 @@ | 3219 | @@ -0,0 +1,121 @@ |
3141 | +/* List of functions defined for fixed NSS in GNU C Library. | 3220 | +/* List of functions defined for fixed NSS in GNU C Library. |
3142 | + Copyright (C) 1996, 1997, 1998, 2005 Free Software Foundation, Inc. | 3221 | + Copyright (C) 1996, 1997, 1998, 2005 Free Software Foundation, Inc. |
@@ -3261,8 +3340,8 @@ Index: git/nss/fixed-nsswitch.functions | |||
3261 | +DEFINE_GET (shadow, files, spnam) | 3340 | +DEFINE_GET (shadow, files, spnam) |
3262 | Index: git/nss/gen-fixed-nsswitch.c | 3341 | Index: git/nss/gen-fixed-nsswitch.c |
3263 | =================================================================== | 3342 | =================================================================== |
3264 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 3343 | --- /dev/null |
3265 | +++ git/nss/gen-fixed-nsswitch.c 2014-08-29 20:01:15.216070587 -0700 | 3344 | +++ git/nss/gen-fixed-nsswitch.c |
3266 | @@ -0,0 +1,803 @@ | 3345 | @@ -0,0 +1,803 @@ |
3267 | +/* gen-fixed-nsswitch.c --- generate fixed name service data structures | 3346 | +/* gen-fixed-nsswitch.c --- generate fixed name service data structures |
3268 | + Copyright (C) 1996-1999, 2001-2006, 2007 Free Software Foundation, Inc. | 3347 | + Copyright (C) 1996-1999, 2001-2006, 2007 Free Software Foundation, Inc. |
@@ -4069,8 +4148,8 @@ Index: git/nss/gen-fixed-nsswitch.c | |||
4069 | +} | 4148 | +} |
4070 | Index: git/nss/getent.c | 4149 | Index: git/nss/getent.c |
4071 | =================================================================== | 4150 | =================================================================== |
4072 | --- git.orig/nss/getent.c 2014-08-29 20:00:52.976070587 -0700 | 4151 | --- git.orig/nss/getent.c |
4073 | +++ git/nss/getent.c 2014-08-29 20:01:15.216070587 -0700 | 4152 | +++ git/nss/getent.c |
4074 | @@ -39,6 +39,7 @@ | 4153 | @@ -39,6 +39,7 @@ |
4075 | #include <netinet/ether.h> | 4154 | #include <netinet/ether.h> |
4076 | #include <netinet/in.h> | 4155 | #include <netinet/in.h> |
@@ -4079,7 +4158,7 @@ Index: git/nss/getent.c | |||
4079 | 4158 | ||
4080 | /* Get libc version number. */ | 4159 | /* Get libc version number. */ |
4081 | #include <version.h> | 4160 | #include <version.h> |
4082 | @@ -91,6 +92,7 @@ | 4161 | @@ -91,6 +92,7 @@ warranty; not even for MERCHANTABILITY o |
4083 | fprintf (stream, gettext ("Written by %s.\n"), "Thorsten Kukuk"); | 4162 | fprintf (stream, gettext ("Written by %s.\n"), "Thorsten Kukuk"); |
4084 | } | 4163 | } |
4085 | 4164 | ||
@@ -4087,7 +4166,7 @@ Index: git/nss/getent.c | |||
4087 | /* This is for aliases */ | 4166 | /* This is for aliases */ |
4088 | static void | 4167 | static void |
4089 | print_aliases (struct aliasent *alias) | 4168 | print_aliases (struct aliasent *alias) |
4090 | @@ -135,7 +137,9 @@ | 4169 | @@ -135,7 +137,9 @@ aliases_keys (int number, char *key[]) |
4091 | 4170 | ||
4092 | return result; | 4171 | return result; |
4093 | } | 4172 | } |
@@ -4097,7 +4176,7 @@ Index: git/nss/getent.c | |||
4097 | /* This is for ethers */ | 4176 | /* This is for ethers */ |
4098 | static int | 4177 | static int |
4099 | ethers_keys (int number, char *key[]) | 4178 | ethers_keys (int number, char *key[]) |
4100 | @@ -179,6 +183,7 @@ | 4179 | @@ -179,6 +183,7 @@ ethers_keys (int number, char *key[]) |
4101 | 4180 | ||
4102 | return result; | 4181 | return result; |
4103 | } | 4182 | } |
@@ -4105,7 +4184,7 @@ Index: git/nss/getent.c | |||
4105 | 4184 | ||
4106 | /* This is for group */ | 4185 | /* This is for group */ |
4107 | static void | 4186 | static void |
4108 | @@ -301,6 +306,7 @@ | 4187 | @@ -301,6 +306,7 @@ gshadow_keys (int number, char *key[]) |
4109 | return result; | 4188 | return result; |
4110 | } | 4189 | } |
4111 | 4190 | ||
@@ -4113,7 +4192,7 @@ Index: git/nss/getent.c | |||
4113 | /* This is for hosts */ | 4192 | /* This is for hosts */ |
4114 | static void | 4193 | static void |
4115 | print_hosts (struct hostent *host) | 4194 | print_hosts (struct hostent *host) |
4116 | @@ -598,6 +604,7 @@ | 4195 | @@ -598,6 +604,7 @@ networks_keys (int number, char *key[]) |
4117 | 4196 | ||
4118 | return result; | 4197 | return result; |
4119 | } | 4198 | } |
@@ -4121,7 +4200,7 @@ Index: git/nss/getent.c | |||
4121 | 4200 | ||
4122 | /* Now is all for passwd */ | 4201 | /* Now is all for passwd */ |
4123 | static void | 4202 | static void |
4124 | @@ -650,6 +657,7 @@ | 4203 | @@ -650,6 +657,7 @@ passwd_keys (int number, char *key[]) |
4125 | return result; | 4204 | return result; |
4126 | } | 4205 | } |
4127 | 4206 | ||
@@ -4129,7 +4208,7 @@ Index: git/nss/getent.c | |||
4129 | /* This is for protocols */ | 4208 | /* This is for protocols */ |
4130 | static void | 4209 | static void |
4131 | print_protocols (struct protoent *proto) | 4210 | print_protocols (struct protoent *proto) |
4132 | @@ -805,6 +813,7 @@ | 4211 | @@ -805,6 +813,7 @@ services_keys (int number, char *key[]) |
4133 | 4212 | ||
4134 | return result; | 4213 | return result; |
4135 | } | 4214 | } |
@@ -4137,7 +4216,7 @@ Index: git/nss/getent.c | |||
4137 | 4216 | ||
4138 | /* This is for shadow */ | 4217 | /* This is for shadow */ |
4139 | static void | 4218 | static void |
4140 | @@ -871,21 +880,34 @@ | 4219 | @@ -871,21 +880,34 @@ struct |
4141 | } databases[] = | 4220 | } databases[] = |
4142 | { | 4221 | { |
4143 | #define D(name) { #name, name ## _keys }, | 4222 | #define D(name) { #name, name ## _keys }, |
@@ -4167,11 +4246,11 @@ Index: git/nss/getent.c | |||
4167 | D(group) | 4246 | D(group) |
4168 | D(gshadow) | 4247 | D(gshadow) |
4169 | -D(hosts) | 4248 | -D(hosts) |
4170 | +DN(hosts) | ||
4171 | -D(initgroups) | 4249 | -D(initgroups) |
4172 | +DN(initgroups) | ||
4173 | -D(netgroup) | 4250 | -D(netgroup) |
4174 | -D(networks) | 4251 | -D(networks) |
4252 | +DN(hosts) | ||
4253 | +DN(initgroups) | ||
4175 | +DN(netgroup) | 4254 | +DN(netgroup) |
4176 | +DN(networks) | 4255 | +DN(networks) |
4177 | D(passwd) | 4256 | D(passwd) |
@@ -4186,8 +4265,8 @@ Index: git/nss/getent.c | |||
4186 | { NULL, NULL } | 4265 | { NULL, NULL } |
4187 | Index: git/nss/getnssent_r.c | 4266 | Index: git/nss/getnssent_r.c |
4188 | =================================================================== | 4267 | =================================================================== |
4189 | --- git.orig/nss/getnssent_r.c 2014-08-29 20:00:52.976070587 -0700 | 4268 | --- git.orig/nss/getnssent_r.c |
4190 | +++ git/nss/getnssent_r.c 2014-08-29 20:01:15.220070587 -0700 | 4269 | +++ git/nss/getnssent_r.c |
4191 | @@ -16,6 +16,7 @@ | 4270 | @@ -16,6 +16,7 @@ |
4192 | <http://www.gnu.org/licenses/>. */ | 4271 | <http://www.gnu.org/licenses/>. */ |
4193 | 4272 | ||
@@ -4196,7 +4275,7 @@ Index: git/nss/getnssent_r.c | |||
4196 | #include <netdb.h> | 4275 | #include <netdb.h> |
4197 | #include "nsswitch.h" | 4276 | #include "nsswitch.h" |
4198 | 4277 | ||
4199 | @@ -59,11 +60,13 @@ | 4278 | @@ -59,11 +60,13 @@ __nss_setent (const char *func_name, db_ |
4200 | } fct; | 4279 | } fct; |
4201 | int no_more; | 4280 | int no_more; |
4202 | 4281 | ||
@@ -4210,7 +4289,7 @@ Index: git/nss/getnssent_r.c | |||
4210 | 4289 | ||
4211 | /* Cycle through the services and run their `setXXent' functions until | 4290 | /* Cycle through the services and run their `setXXent' functions until |
4212 | we find an available service. */ | 4291 | we find an available service. */ |
4213 | @@ -101,11 +104,13 @@ | 4292 | @@ -101,11 +104,13 @@ __nss_endent (const char *func_name, db_ |
4214 | } fct; | 4293 | } fct; |
4215 | int no_more; | 4294 | int no_more; |
4216 | 4295 | ||
@@ -4224,7 +4303,7 @@ Index: git/nss/getnssent_r.c | |||
4224 | 4303 | ||
4225 | /* Cycle through all the services and run their endXXent functions. */ | 4304 | /* Cycle through all the services and run their endXXent functions. */ |
4226 | no_more = setup (func_name, lookup_fct, &fct.ptr, nip, startp, 1); | 4305 | no_more = setup (func_name, lookup_fct, &fct.ptr, nip, startp, 1); |
4227 | @@ -141,12 +146,14 @@ | 4306 | @@ -141,12 +146,14 @@ __nss_getent_r (const char *getent_func_ |
4228 | int no_more; | 4307 | int no_more; |
4229 | enum nss_status status; | 4308 | enum nss_status status; |
4230 | 4309 | ||
@@ -4239,7 +4318,7 @@ Index: git/nss/getnssent_r.c | |||
4239 | 4318 | ||
4240 | /* Initialize status to return if no more functions are found. */ | 4319 | /* Initialize status to return if no more functions are found. */ |
4241 | status = NSS_STATUS_NOTFOUND; | 4320 | status = NSS_STATUS_NOTFOUND; |
4242 | @@ -161,7 +168,7 @@ | 4321 | @@ -161,7 +168,7 @@ __nss_getent_r (const char *getent_func_ |
4243 | int is_last_nip = *nip == *last_nip; | 4322 | int is_last_nip = *nip == *last_nip; |
4244 | 4323 | ||
4245 | status = DL_CALL_FCT (fct.f, | 4324 | status = DL_CALL_FCT (fct.f, |
@@ -4250,8 +4329,8 @@ Index: git/nss/getnssent_r.c | |||
4250 | provided buffer is too small. In this case we should give | 4329 | provided buffer is too small. In this case we should give |
4251 | Index: git/nss/Makefile | 4330 | Index: git/nss/Makefile |
4252 | =================================================================== | 4331 | =================================================================== |
4253 | --- git.orig/nss/Makefile 2014-08-29 20:00:52.972070587 -0700 | 4332 | --- git.orig/nss/Makefile |
4254 | +++ git/nss/Makefile 2014-08-29 20:01:15.220070587 -0700 | 4333 | +++ git/nss/Makefile |
4255 | @@ -18,29 +18,36 @@ | 4334 | @@ -18,29 +18,36 @@ |
4256 | # | 4335 | # |
4257 | # Makefile for name service switch. | 4336 | # Makefile for name service switch. |
@@ -4297,7 +4376,7 @@ Index: git/nss/Makefile | |||
4297 | 4376 | ||
4298 | # Specify rules for the nss_* modules. We have some services. | 4377 | # Specify rules for the nss_* modules. We have some services. |
4299 | services := files db | 4378 | services := files db |
4300 | @@ -55,7 +62,7 @@ | 4379 | @@ -55,7 +62,7 @@ subdir-dirs = $(services:%=nss_%) |
4301 | vpath %.c $(subdir-dirs) ../locale/programs ../intl | 4380 | vpath %.c $(subdir-dirs) ../locale/programs ../intl |
4302 | 4381 | ||
4303 | 4382 | ||
@@ -4306,7 +4385,7 @@ Index: git/nss/Makefile | |||
4306 | files-initgroups files-have_o_cloexec files-init | 4385 | files-initgroups files-have_o_cloexec files-init |
4307 | 4386 | ||
4308 | libnss_db-dbs := $(addprefix db-,\ | 4387 | libnss_db-dbs := $(addprefix db-,\ |
4309 | @@ -78,6 +85,45 @@ | 4388 | @@ -78,6 +85,45 @@ tests-static = tst-nss-static |
4310 | tests += $(tests-static) | 4389 | tests += $(tests-static) |
4311 | endif | 4390 | endif |
4312 | 4391 | ||
@@ -4354,8 +4433,8 @@ Index: git/nss/Makefile | |||
4354 | ifeq (yes,$(have-selinux)) | 4433 | ifeq (yes,$(have-selinux)) |
4355 | Index: git/nss/nsswitch.c | 4434 | Index: git/nss/nsswitch.c |
4356 | =================================================================== | 4435 | =================================================================== |
4357 | --- git.orig/nss/nsswitch.c 2014-08-29 20:00:53.004070587 -0700 | 4436 | --- git.orig/nss/nsswitch.c |
4358 | +++ git/nss/nsswitch.c 2014-08-29 20:01:15.220070587 -0700 | 4437 | +++ git/nss/nsswitch.c |
4359 | @@ -26,6 +26,7 @@ | 4438 | @@ -26,6 +26,7 @@ |
4360 | #include <stdio_ext.h> | 4439 | #include <stdio_ext.h> |
4361 | #include <stdlib.h> | 4440 | #include <stdlib.h> |
@@ -4380,7 +4459,7 @@ Index: git/nss/nsswitch.c | |||
4380 | /* Prototypes for the local functions. */ | 4459 | /* Prototypes for the local functions. */ |
4381 | static name_database *nss_parse_file (const char *fname) internal_function; | 4460 | static name_database *nss_parse_file (const char *fname) internal_function; |
4382 | static name_database_entry *nss_getline (char *line) internal_function; | 4461 | static name_database_entry *nss_getline (char *line) internal_function; |
4383 | @@ -79,6 +89,9 @@ | 4462 | @@ -79,6 +89,9 @@ bool __nss_database_custom[NSS_DBSIDX_ma |
4384 | 4463 | ||
4385 | __libc_lock_define_initialized (static, lock) | 4464 | __libc_lock_define_initialized (static, lock) |
4386 | 4465 | ||
@@ -4390,7 +4469,7 @@ Index: git/nss/nsswitch.c | |||
4390 | #if !defined DO_STATIC_NSS || defined SHARED | 4469 | #if !defined DO_STATIC_NSS || defined SHARED |
4391 | /* String with revision number of the shared object files. */ | 4470 | /* String with revision number of the shared object files. */ |
4392 | static const char *const __nss_shlib_revision = LIBNSS_FILES_SO + 15; | 4471 | static const char *const __nss_shlib_revision = LIBNSS_FILES_SO + 15; |
4393 | @@ -93,6 +106,20 @@ | 4472 | @@ -93,6 +106,20 @@ static name_database *service_table; |
4394 | __libc_freeres. */ | 4473 | __libc_freeres. */ |
4395 | static name_database_entry *defconfig_entries; | 4474 | static name_database_entry *defconfig_entries; |
4396 | 4475 | ||
@@ -4411,7 +4490,7 @@ Index: git/nss/nsswitch.c | |||
4411 | 4490 | ||
4412 | #ifdef USE_NSCD | 4491 | #ifdef USE_NSCD |
4413 | /* Nonzero if this is the nscd process. */ | 4492 | /* Nonzero if this is the nscd process. */ |
4414 | @@ -109,20 +136,22 @@ | 4493 | @@ -109,20 +136,22 @@ __nss_database_lookup (const char *datab |
4415 | const char *defconfig, service_user **ni) | 4494 | const char *defconfig, service_user **ni) |
4416 | { | 4495 | { |
4417 | /* Prevent multiple threads to change the service table. */ | 4496 | /* Prevent multiple threads to change the service table. */ |
@@ -4436,7 +4515,7 @@ Index: git/nss/nsswitch.c | |||
4436 | 4515 | ||
4437 | /* Test whether configuration data is available. */ | 4516 | /* Test whether configuration data is available. */ |
4438 | if (service_table != NULL) | 4517 | if (service_table != NULL) |
4439 | @@ -144,6 +173,7 @@ | 4518 | @@ -144,6 +173,7 @@ __nss_database_lookup (const char *datab |
4440 | *ni = entry->service; | 4519 | *ni = entry->service; |
4441 | } | 4520 | } |
4442 | 4521 | ||
@@ -4444,7 +4523,7 @@ Index: git/nss/nsswitch.c | |||
4444 | /* No configuration data is available, either because nsswitch.conf | 4523 | /* No configuration data is available, either because nsswitch.conf |
4445 | doesn't exist or because it doesn't have a line for this database. | 4524 | doesn't exist or because it doesn't have a line for this database. |
4446 | 4525 | ||
4447 | @@ -166,13 +196,23 @@ | 4526 | @@ -166,13 +196,23 @@ __nss_database_lookup (const char *datab |
4448 | { | 4527 | { |
4449 | entry->next = defconfig_entries; | 4528 | entry->next = defconfig_entries; |
4450 | entry->service = *ni; | 4529 | entry->service = *ni; |
@@ -4470,7 +4549,7 @@ Index: git/nss/nsswitch.c | |||
4470 | 4549 | ||
4471 | return *ni != NULL ? 0 : -1; | 4550 | return *ni != NULL ? 0 : -1; |
4472 | } | 4551 | } |
4473 | @@ -252,6 +292,7 @@ | 4552 | @@ -252,6 +292,7 @@ __nss_next2 (service_user **ni, const ch |
4474 | libc_hidden_def (__nss_next2) | 4553 | libc_hidden_def (__nss_next2) |
4475 | 4554 | ||
4476 | 4555 | ||
@@ -4478,7 +4557,7 @@ Index: git/nss/nsswitch.c | |||
4478 | int | 4557 | int |
4479 | attribute_compat_text_section | 4558 | attribute_compat_text_section |
4480 | __nss_next (service_user **ni, const char *fct_name, void **fctp, int status, | 4559 | __nss_next (service_user **ni, const char *fct_name, void **fctp, int status, |
4481 | @@ -300,13 +341,13 @@ | 4560 | @@ -300,13 +341,13 @@ __nss_configure_lookup (const char *dbna |
4482 | } | 4561 | } |
4483 | 4562 | ||
4484 | /* Prevent multiple threads to change the service table. */ | 4563 | /* Prevent multiple threads to change the service table. */ |
@@ -4494,7 +4573,7 @@ Index: git/nss/nsswitch.c | |||
4494 | 4573 | ||
4495 | return 0; | 4574 | return 0; |
4496 | } | 4575 | } |
4497 | @@ -402,7 +443,7 @@ | 4576 | @@ -402,7 +443,7 @@ __nss_lookup_function (service_user *ni, |
4498 | void **found, *result; | 4577 | void **found, *result; |
4499 | 4578 | ||
4500 | /* We now modify global data. Protect it. */ | 4579 | /* We now modify global data. Protect it. */ |
@@ -4503,7 +4582,7 @@ Index: git/nss/nsswitch.c | |||
4503 | 4582 | ||
4504 | /* Search the tree of functions previously requested. Data in the | 4583 | /* Search the tree of functions previously requested. Data in the |
4505 | tree are `known_function' structures, whose first member is a | 4584 | tree are `known_function' structures, whose first member is a |
4506 | @@ -413,7 +454,7 @@ | 4585 | @@ -413,7 +454,7 @@ __nss_lookup_function (service_user *ni, |
4507 | enough to a pointer to our structure to use as a lookup key that | 4586 | enough to a pointer to our structure to use as a lookup key that |
4508 | will be passed to `known_compare' (above). */ | 4587 | will be passed to `known_compare' (above). */ |
4509 | 4588 | ||
@@ -4512,7 +4591,7 @@ Index: git/nss/nsswitch.c | |||
4512 | if (found == NULL) | 4591 | if (found == NULL) |
4513 | /* This means out-of-memory. */ | 4592 | /* This means out-of-memory. */ |
4514 | result = NULL; | 4593 | result = NULL; |
4515 | @@ -440,7 +481,7 @@ | 4594 | @@ -440,7 +481,7 @@ __nss_lookup_function (service_user *ni, |
4516 | #endif | 4595 | #endif |
4517 | /* Oops. We can't instantiate this node properly. | 4596 | /* Oops. We can't instantiate this node properly. |
4518 | Remove it from the tree. */ | 4597 | Remove it from the tree. */ |
@@ -4521,7 +4600,7 @@ Index: git/nss/nsswitch.c | |||
4521 | free (known); | 4600 | free (known); |
4522 | result = NULL; | 4601 | result = NULL; |
4523 | } | 4602 | } |
4524 | @@ -520,13 +561,43 @@ | 4603 | @@ -520,13 +561,43 @@ __nss_lookup_function (service_user *ni, |
4525 | } | 4604 | } |
4526 | 4605 | ||
4527 | /* Remove the lock. */ | 4606 | /* Remove the lock. */ |
@@ -4566,7 +4645,7 @@ Index: git/nss/nsswitch.c | |||
4566 | static name_database * | 4645 | static name_database * |
4567 | internal_function | 4646 | internal_function |
4568 | nss_parse_file (const char *fname) | 4647 | nss_parse_file (const char *fname) |
4569 | @@ -632,8 +703,10 @@ | 4648 | @@ -632,8 +703,10 @@ nss_parse_service_list (const char *line |
4570 | + (line - name + 1)); | 4649 | + (line - name + 1)); |
4571 | if (new_service == NULL) | 4650 | if (new_service == NULL) |
4572 | return result; | 4651 | return result; |
@@ -4578,7 +4657,7 @@ Index: git/nss/nsswitch.c | |||
4578 | 4657 | ||
4579 | /* Set default actions. */ | 4658 | /* Set default actions. */ |
4580 | new_service->actions[2 + NSS_STATUS_TRYAGAIN] = NSS_ACTION_CONTINUE; | 4659 | new_service->actions[2 + NSS_STATUS_TRYAGAIN] = NSS_ACTION_CONTINUE; |
4581 | @@ -642,7 +715,7 @@ | 4660 | @@ -642,7 +715,7 @@ nss_parse_service_list (const char *line |
4582 | new_service->actions[2 + NSS_STATUS_SUCCESS] = NSS_ACTION_RETURN; | 4661 | new_service->actions[2 + NSS_STATUS_SUCCESS] = NSS_ACTION_RETURN; |
4583 | new_service->actions[2 + NSS_STATUS_RETURN] = NSS_ACTION_RETURN; | 4662 | new_service->actions[2 + NSS_STATUS_RETURN] = NSS_ACTION_RETURN; |
4584 | new_service->library = NULL; | 4663 | new_service->library = NULL; |
@@ -4587,7 +4666,7 @@ Index: git/nss/nsswitch.c | |||
4587 | new_service->next = NULL; | 4666 | new_service->next = NULL; |
4588 | 4667 | ||
4589 | while (isspace (line[0])) | 4668 | while (isspace (line[0])) |
4590 | @@ -778,9 +851,10 @@ | 4669 | @@ -778,9 +851,10 @@ nss_getline (char *line) |
4591 | result = (name_database_entry *) malloc (sizeof (name_database_entry) + len); | 4670 | result = (name_database_entry *) malloc (sizeof (name_database_entry) + len); |
4592 | if (result == NULL) | 4671 | if (result == NULL) |
4593 | return NULL; | 4672 | return NULL; |
@@ -4599,7 +4678,7 @@ Index: git/nss/nsswitch.c | |||
4599 | 4678 | ||
4600 | /* Parse the list of services. */ | 4679 | /* Parse the list of services. */ |
4601 | result->service = nss_parse_service_list (line); | 4680 | result->service = nss_parse_service_list (line); |
4602 | @@ -816,6 +890,7 @@ | 4681 | @@ -816,6 +890,7 @@ nss_new_service (name_database *database |
4603 | return *currentp; | 4682 | return *currentp; |
4604 | } | 4683 | } |
4605 | #endif | 4684 | #endif |
@@ -4607,7 +4686,7 @@ Index: git/nss/nsswitch.c | |||
4607 | 4686 | ||
4608 | 4687 | ||
4609 | #if defined SHARED && defined USE_NSCD | 4688 | #if defined SHARED && defined USE_NSCD |
4610 | @@ -834,6 +909,7 @@ | 4689 | @@ -834,6 +909,7 @@ nss_load_all_libraries (const char *serv |
4611 | } | 4690 | } |
4612 | 4691 | ||
4613 | 4692 | ||
@@ -4615,7 +4694,7 @@ Index: git/nss/nsswitch.c | |||
4615 | /* Called by nscd and nscd alone. */ | 4694 | /* Called by nscd and nscd alone. */ |
4616 | void | 4695 | void |
4617 | __nss_disable_nscd (void (*cb) (size_t, struct traced_file *)) | 4696 | __nss_disable_nscd (void (*cb) (size_t, struct traced_file *)) |
4618 | @@ -857,8 +933,10 @@ | 4697 | @@ -857,8 +933,10 @@ __nss_disable_nscd (void (*cb) (size_t, |
4619 | __nss_not_use_nscd_services = -1; | 4698 | __nss_not_use_nscd_services = -1; |
4620 | __nss_not_use_nscd_netgroup = -1; | 4699 | __nss_not_use_nscd_netgroup = -1; |
4621 | } | 4700 | } |
@@ -4626,7 +4705,7 @@ Index: git/nss/nsswitch.c | |||
4626 | static void | 4705 | static void |
4627 | free_database_entries (name_database_entry *entry) | 4706 | free_database_entries (name_database_entry *entry) |
4628 | { | 4707 | { |
4629 | @@ -871,8 +949,8 @@ | 4708 | @@ -871,8 +949,8 @@ free_database_entries (name_database_ent |
4630 | { | 4709 | { |
4631 | service_user *olds = service; | 4710 | service_user *olds = service; |
4632 | 4711 | ||
@@ -4637,16 +4716,16 @@ Index: git/nss/nsswitch.c | |||
4637 | 4716 | ||
4638 | service = service->next; | 4717 | service = service->next; |
4639 | free (olds); | 4718 | free (olds); |
4640 | @@ -926,3 +1004,4 @@ | 4719 | @@ -926,3 +1004,4 @@ libc_freeres_fn (free_mem) |
4641 | 4720 | ||
4642 | free (top); | 4721 | free (top); |
4643 | } | 4722 | } |
4644 | +#endif /* __OPTION_EGLIBC_NSSWITCH */ | 4723 | +#endif /* __OPTION_EGLIBC_NSSWITCH */ |
4645 | Index: git/nss/nsswitch.h | 4724 | Index: git/nss/nsswitch.h |
4646 | =================================================================== | 4725 | =================================================================== |
4647 | --- git.orig/nss/nsswitch.h 2014-08-29 20:00:53.012070587 -0700 | 4726 | --- git.orig/nss/nsswitch.h |
4648 | +++ git/nss/nsswitch.h 2014-08-29 20:01:15.220070587 -0700 | 4727 | +++ git/nss/nsswitch.h |
4649 | @@ -65,10 +65,20 @@ | 4728 | @@ -65,10 +65,20 @@ typedef struct service_user |
4650 | lookup_actions actions[5]; | 4729 | lookup_actions actions[5]; |
4651 | /* Link to the underlying library object. */ | 4730 | /* Link to the underlying library object. */ |
4652 | service_library *library; | 4731 | service_library *library; |
@@ -4670,7 +4749,7 @@ Index: git/nss/nsswitch.h | |||
4670 | } service_user; | 4749 | } service_user; |
4671 | 4750 | ||
4672 | /* To access the action based on the status value use this macro. */ | 4751 | /* To access the action based on the status value use this macro. */ |
4673 | @@ -82,7 +92,7 @@ | 4752 | @@ -82,7 +92,7 @@ typedef struct name_database_entry |
4674 | /* List of service to be used. */ | 4753 | /* List of service to be used. */ |
4675 | service_user *service; | 4754 | service_user *service; |
4676 | /* Name of the database. */ | 4755 | /* Name of the database. */ |
@@ -4681,8 +4760,8 @@ Index: git/nss/nsswitch.h | |||
4681 | 4760 | ||
4682 | Index: git/posix/bug-regex1.c | 4761 | Index: git/posix/bug-regex1.c |
4683 | =================================================================== | 4762 | =================================================================== |
4684 | --- git.orig/posix/bug-regex1.c 2014-08-29 20:00:53.184070587 -0700 | 4763 | --- git.orig/posix/bug-regex1.c |
4685 | +++ git/posix/bug-regex1.c 2014-08-29 20:01:15.220070587 -0700 | 4764 | +++ git/posix/bug-regex1.c |
4686 | @@ -4,6 +4,7 @@ | 4765 | @@ -4,6 +4,7 @@ |
4687 | #include <string.h> | 4766 | #include <string.h> |
4688 | #include <regex.h> | 4767 | #include <regex.h> |
@@ -4691,7 +4770,7 @@ Index: git/posix/bug-regex1.c | |||
4691 | 4770 | ||
4692 | int | 4771 | int |
4693 | main (void) | 4772 | main (void) |
4694 | @@ -17,7 +18,9 @@ | 4773 | @@ -17,7 +18,9 @@ main (void) |
4695 | memset (®ex, '\0', sizeof (regex)); | 4774 | memset (®ex, '\0', sizeof (regex)); |
4696 | 4775 | ||
4697 | setlocale (LC_ALL, "de_DE.ISO-8859-1"); | 4776 | setlocale (LC_ALL, "de_DE.ISO-8859-1"); |
@@ -4703,8 +4782,8 @@ Index: git/posix/bug-regex1.c | |||
4703 | 4782 | ||
4704 | Index: git/posix/bug-regex6.c | 4783 | Index: git/posix/bug-regex6.c |
4705 | =================================================================== | 4784 | =================================================================== |
4706 | --- git.orig/posix/bug-regex6.c 2014-08-29 20:00:53.204070587 -0700 | 4785 | --- git.orig/posix/bug-regex6.c |
4707 | +++ git/posix/bug-regex6.c 2014-08-29 20:01:15.220070587 -0700 | 4786 | +++ git/posix/bug-regex6.c |
4708 | @@ -22,6 +22,7 @@ | 4787 | @@ -22,6 +22,7 @@ |
4709 | #include <string.h> | 4788 | #include <string.h> |
4710 | #include <sys/types.h> | 4789 | #include <sys/types.h> |
@@ -4713,7 +4792,7 @@ Index: git/posix/bug-regex6.c | |||
4713 | 4792 | ||
4714 | 4793 | ||
4715 | int | 4794 | int |
4716 | @@ -30,7 +31,12 @@ | 4795 | @@ -30,7 +31,12 @@ main (int argc, char *argv[]) |
4717 | regex_t re; | 4796 | regex_t re; |
4718 | regmatch_t mat[10]; | 4797 | regmatch_t mat[10]; |
4719 | int i, j, ret = 0; | 4798 | int i, j, ret = 0; |
@@ -4729,8 +4808,8 @@ Index: git/posix/bug-regex6.c | |||
4729 | { 0, 48 }, { 0, 5 }, { 0, 4 }, { 5, 20 }, { 7, 20 }, { 20, 42 }, | 4808 | { 0, 48 }, { 0, 5 }, { 0, 4 }, { 5, 20 }, { 7, 20 }, { 20, 42 }, |
4730 | Index: git/posix/fnmatch.c | 4809 | Index: git/posix/fnmatch.c |
4731 | =================================================================== | 4810 | =================================================================== |
4732 | --- git.orig/posix/fnmatch.c 2014-08-29 20:00:53.208070587 -0700 | 4811 | --- git.orig/posix/fnmatch.c |
4733 | +++ git/posix/fnmatch.c 2014-08-29 20:01:15.220070587 -0700 | 4812 | +++ git/posix/fnmatch.c |
4734 | @@ -30,6 +30,10 @@ | 4813 | @@ -30,6 +30,10 @@ |
4735 | #include <ctype.h> | 4814 | #include <ctype.h> |
4736 | #include <string.h> | 4815 | #include <string.h> |
@@ -4742,7 +4821,7 @@ Index: git/posix/fnmatch.c | |||
4742 | #if defined STDC_HEADERS || defined _LIBC | 4821 | #if defined STDC_HEADERS || defined _LIBC |
4743 | # include <stdlib.h> | 4822 | # include <stdlib.h> |
4744 | #endif | 4823 | #endif |
4745 | @@ -131,7 +135,7 @@ | 4824 | @@ -131,7 +135,7 @@ extern int fnmatch (const char *pattern, |
4746 | # define ISWCTYPE(WC, WT) iswctype (WC, WT) | 4825 | # define ISWCTYPE(WC, WT) iswctype (WC, WT) |
4747 | # endif | 4826 | # endif |
4748 | 4827 | ||
@@ -4753,8 +4832,8 @@ Index: git/posix/fnmatch.c | |||
4753 | # endif | 4832 | # endif |
4754 | Index: git/posix/fnmatch_loop.c | 4833 | Index: git/posix/fnmatch_loop.c |
4755 | =================================================================== | 4834 | =================================================================== |
4756 | --- git.orig/posix/fnmatch_loop.c 2014-08-29 20:00:53.220070587 -0700 | 4835 | --- git.orig/posix/fnmatch_loop.c |
4757 | +++ git/posix/fnmatch_loop.c 2014-08-29 20:01:15.220070587 -0700 | 4836 | +++ git/posix/fnmatch_loop.c |
4758 | @@ -15,6 +15,8 @@ | 4837 | @@ -15,6 +15,8 @@ |
4759 | License along with the GNU C Library; if not, see | 4838 | License along with the GNU C Library; if not, see |
4760 | <http://www.gnu.org/licenses/>. */ | 4839 | <http://www.gnu.org/licenses/>. */ |
@@ -4764,7 +4843,7 @@ Index: git/posix/fnmatch_loop.c | |||
4764 | #include <stdint.h> | 4843 | #include <stdint.h> |
4765 | 4844 | ||
4766 | struct STRUCT | 4845 | struct STRUCT |
4767 | @@ -54,10 +56,15 @@ | 4846 | @@ -54,10 +56,15 @@ FCT (pattern, string, string_end, no_lea |
4768 | const char *collseq = (const char *) | 4847 | const char *collseq = (const char *) |
4769 | _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQWC); | 4848 | _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQWC); |
4770 | # else | 4849 | # else |
@@ -4782,7 +4861,7 @@ Index: git/posix/fnmatch_loop.c | |||
4782 | 4861 | ||
4783 | while ((c = *p++) != L('\0')) | 4862 | while ((c = *p++) != L('\0')) |
4784 | { | 4863 | { |
4785 | @@ -277,7 +284,7 @@ | 4864 | @@ -277,7 +284,7 @@ FCT (pattern, string, string_end, no_lea |
4786 | /* Leave room for the null. */ | 4865 | /* Leave room for the null. */ |
4787 | CHAR str[CHAR_CLASS_MAX_LENGTH + 1]; | 4866 | CHAR str[CHAR_CLASS_MAX_LENGTH + 1]; |
4788 | size_t c1 = 0; | 4867 | size_t c1 = 0; |
@@ -4791,7 +4870,7 @@ Index: git/posix/fnmatch_loop.c | |||
4791 | wctype_t wt; | 4870 | wctype_t wt; |
4792 | #endif | 4871 | #endif |
4793 | const CHAR *startp = p; | 4872 | const CHAR *startp = p; |
4794 | @@ -307,7 +314,7 @@ | 4873 | @@ -307,7 +314,7 @@ FCT (pattern, string, string_end, no_lea |
4795 | } | 4874 | } |
4796 | str[c1] = L('\0'); | 4875 | str[c1] = L('\0'); |
4797 | 4876 | ||
@@ -4800,7 +4879,7 @@ Index: git/posix/fnmatch_loop.c | |||
4800 | wt = IS_CHAR_CLASS (str); | 4879 | wt = IS_CHAR_CLASS (str); |
4801 | if (wt == 0) | 4880 | if (wt == 0) |
4802 | /* Invalid character class name. */ | 4881 | /* Invalid character class name. */ |
4803 | @@ -681,8 +688,10 @@ | 4882 | @@ -680,8 +687,10 @@ FCT (pattern, string, string_end, no_lea |
4804 | else | 4883 | else |
4805 | lcollseq = __collseq_table_lookup (collseq, cold); | 4884 | lcollseq = __collseq_table_lookup (collseq, cold); |
4806 | # else | 4885 | # else |
@@ -4813,7 +4892,7 @@ Index: git/posix/fnmatch_loop.c | |||
4813 | # endif | 4892 | # endif |
4814 | 4893 | ||
4815 | is_seqval = 0; | 4894 | is_seqval = 0; |
4816 | @@ -858,7 +867,7 @@ | 4895 | @@ -857,7 +866,7 @@ FCT (pattern, string, string_end, no_lea |
4817 | goto matched; | 4896 | goto matched; |
4818 | } | 4897 | } |
4819 | # else | 4898 | # else |
@@ -4824,8 +4903,8 @@ Index: git/posix/fnmatch_loop.c | |||
4824 | 4903 | ||
4825 | Index: git/posix/glob.c | 4904 | Index: git/posix/glob.c |
4826 | =================================================================== | 4905 | =================================================================== |
4827 | --- git.orig/posix/glob.c 2014-08-29 20:00:53.232070587 -0700 | 4906 | --- git.orig/posix/glob.c |
4828 | +++ git/posix/glob.c 2014-08-29 20:01:15.220070587 -0700 | 4907 | +++ git/posix/glob.c |
4829 | @@ -25,6 +25,9 @@ | 4908 | @@ -25,6 +25,9 @@ |
4830 | #include <sys/types.h> | 4909 | #include <sys/types.h> |
4831 | #include <sys/stat.h> | 4910 | #include <sys/stat.h> |
@@ -4836,7 +4915,7 @@ Index: git/posix/glob.c | |||
4836 | 4915 | ||
4837 | /* Outcomment the following line for production quality code. */ | 4916 | /* Outcomment the following line for production quality code. */ |
4838 | /* #define NDEBUG 1 */ | 4917 | /* #define NDEBUG 1 */ |
4839 | @@ -607,6 +610,7 @@ | 4918 | @@ -607,6 +610,7 @@ glob (pattern, flags, errfunc, pglob) |
4840 | if (home_dir == NULL || home_dir[0] == '\0') | 4919 | if (home_dir == NULL || home_dir[0] == '\0') |
4841 | home_dir = "c:/users/default"; /* poor default */ | 4920 | home_dir = "c:/users/default"; /* poor default */ |
4842 | # else | 4921 | # else |
@@ -4844,7 +4923,7 @@ Index: git/posix/glob.c | |||
4844 | if (home_dir == NULL || home_dir[0] == '\0') | 4923 | if (home_dir == NULL || home_dir[0] == '\0') |
4845 | { | 4924 | { |
4846 | int success; | 4925 | int success; |
4847 | @@ -623,19 +627,19 @@ | 4926 | @@ -623,19 +627,19 @@ glob (pattern, flags, errfunc, pglob) |
4848 | if (success) | 4927 | if (success) |
4849 | { | 4928 | { |
4850 | struct passwd *p; | 4929 | struct passwd *p; |
@@ -4867,7 +4946,7 @@ Index: git/posix/glob.c | |||
4867 | if (__libc_use_alloca (alloca_used + pwbuflen)) | 4946 | if (__libc_use_alloca (alloca_used + pwbuflen)) |
4868 | pwtmpbuf = alloca_account (pwbuflen, alloca_used); | 4947 | pwtmpbuf = alloca_account (pwbuflen, alloca_used); |
4869 | else | 4948 | else |
4870 | @@ -682,9 +686,9 @@ | 4949 | @@ -682,9 +686,9 @@ glob (pattern, flags, errfunc, pglob) |
4871 | } | 4950 | } |
4872 | __set_errno (save); | 4951 | __set_errno (save); |
4873 | } | 4952 | } |
@@ -4879,7 +4958,7 @@ Index: git/posix/glob.c | |||
4879 | if (p != NULL) | 4958 | if (p != NULL) |
4880 | { | 4959 | { |
4881 | if (!malloc_pwtmpbuf) | 4960 | if (!malloc_pwtmpbuf) |
4882 | @@ -713,6 +717,7 @@ | 4961 | @@ -713,6 +717,7 @@ glob (pattern, flags, errfunc, pglob) |
4883 | } | 4962 | } |
4884 | } | 4963 | } |
4885 | } | 4964 | } |
@@ -4889,8 +4968,8 @@ Index: git/posix/glob.c | |||
4889 | if (flags & GLOB_TILDE_CHECK) | 4968 | if (flags & GLOB_TILDE_CHECK) |
4890 | Index: git/posix/Makefile | 4969 | Index: git/posix/Makefile |
4891 | =================================================================== | 4970 | =================================================================== |
4892 | --- git.orig/posix/Makefile 2014-08-29 20:00:53.160070587 -0700 | 4971 | --- git.orig/posix/Makefile |
4893 | +++ git/posix/Makefile 2014-08-29 20:01:15.220070587 -0700 | 4972 | +++ git/posix/Makefile |
4894 | @@ -18,6 +18,8 @@ | 4973 | @@ -18,6 +18,8 @@ |
4895 | # | 4974 | # |
4896 | # Sub-makefile for POSIX portion of the library. | 4975 | # Sub-makefile for POSIX portion of the library. |
@@ -4900,7 +4979,7 @@ Index: git/posix/Makefile | |||
4900 | subdir := posix | 4979 | subdir := posix |
4901 | 4980 | ||
4902 | include ../Makeconfig | 4981 | include ../Makeconfig |
4903 | @@ -43,13 +45,24 @@ | 4982 | @@ -43,13 +45,24 @@ routines := \ |
4904 | getpgid setpgid getpgrp bsd-getpgrp setpgrp getsid setsid \ | 4983 | getpgid setpgid getpgrp bsd-getpgrp setpgrp getsid setsid \ |
4905 | getresuid getresgid setresuid setresgid \ | 4984 | getresuid getresgid setresuid setresgid \ |
4906 | pathconf sysconf fpathconf \ | 4985 | pathconf sysconf fpathconf \ |
@@ -4927,19 +5006,15 @@ Index: git/posix/Makefile | |||
4927 | spawn_faction_init spawn_faction_destroy spawn_faction_addclose \ | 5006 | spawn_faction_init spawn_faction_destroy spawn_faction_addclose \ |
4928 | spawn_faction_addopen spawn_faction_adddup2 \ | 5007 | spawn_faction_addopen spawn_faction_adddup2 \ |
4929 | spawnattr_init spawnattr_destroy \ | 5008 | spawnattr_init spawnattr_destroy \ |
4930 | @@ -57,41 +70,53 @@ | 5009 | @@ -61,37 +74,53 @@ routines := \ |
4931 | spawnattr_getflags spawnattr_setflags \ | 5010 | posix_madvise \ |
4932 | spawnattr_getpgroup spawnattr_setpgroup spawn spawnp spawni \ | 5011 | get_child_max sched_cpucount sched_cpualloc sched_cpufree |
4933 | spawnattr_getsigmask spawnattr_getschedpolicy spawnattr_getschedparam \ | ||
4934 | - spawnattr_setsigmask spawnattr_setschedpolicy spawnattr_setschedparam \ | ||
4935 | - posix_madvise \ | ||
4936 | - get_child_max sched_cpucount sched_cpualloc sched_cpufree | ||
4937 | + spawnattr_setsigmask spawnattr_setschedpolicy spawnattr_setschedparam | ||
4938 | +routines-$(OPTION_EGLIBC_WORDEXP) += wordexp | ||
4939 | 5012 | ||
5013 | +routines-$(OPTION_EGLIBC_WORDEXP) += wordexp | ||
5014 | + | ||
4940 | aux := init-posix environ | 5015 | aux := init-posix environ |
4941 | -tests := tstgetopt testfnm runtests runptests \ | 5016 | -tests := tstgetopt testfnm runtests runptests \ |
4942 | +tests := tstgetopt testfnm runtests \ | 5017 | +tests := tstgetopt testfnm runtests \ |
4943 | tst-preadwrite tst-preadwrite64 test-vfork regexbug1 \ | 5018 | tst-preadwrite tst-preadwrite64 test-vfork regexbug1 \ |
4944 | - tst-getlogin tst-mmap tst-getaddrinfo tst-truncate \ | 5019 | - tst-getlogin tst-mmap tst-getaddrinfo tst-truncate \ |
4945 | - tst-truncate64 tst-fork tst-fnmatch tst-regexloc tst-dir \ | 5020 | - tst-truncate64 tst-fork tst-fnmatch tst-regexloc tst-dir \ |
@@ -4962,8 +5037,8 @@ Index: git/posix/Makefile | |||
4962 | + bug-regex8 bug-regex9 bug-regex10 bug-regex12 \ | 5037 | + bug-regex8 bug-regex9 bug-regex10 bug-regex12 \ |
4963 | + bug-regex14 bug-regex15 \ | 5038 | + bug-regex14 bug-regex15 \ |
4964 | + bug-regex21 bug-regex24 \ | 5039 | + bug-regex21 bug-regex24 \ |
4965 | + bug-regex27 bug-regex28 bug-regex29 bug-regex30 \ | 5040 | + bug-regex27 bug-regex28 \ |
4966 | + bug-regex31 \ | 5041 | + bug-regex29 bug-regex30 bug-regex31 \ |
4967 | + tst-nice tst-nanosleep \ | 5042 | + tst-nice tst-nanosleep \ |
4968 | + transbug \ | 5043 | + transbug \ |
4969 | + tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \ | 5044 | + tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \ |
@@ -4979,22 +5054,23 @@ Index: git/posix/Makefile | |||
4979 | bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \ | 5054 | bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \ |
4980 | bug-getopt5 tst-getopt_long1 bug-regex34 bug-regex35 \ | 5055 | bug-getopt5 tst-getopt_long1 bug-regex34 bug-regex35 \ |
4981 | tst-pathconf tst-getaddrinfo4 tst-rxspencer-no-utf8 \ | 5056 | tst-pathconf tst-getaddrinfo4 tst-rxspencer-no-utf8 \ |
4982 | tst-fnmatch3 bug-regex36 | 5057 | tst-fnmatch3 bug-regex36 tst-getaddrinfo5 |
4983 | -xtests := bug-ga2 | 5058 | -xtests := bug-ga2 |
4984 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ | 5059 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ |
4985 | + += tst-fnmatch tst-regexloc bug-regex1 bug-regex5 \ | 5060 | + += tst-fnmatch tst-regexloc bug-regex1 bug-regex5 \ |
4986 | + bug-regex23 bug-regex25 bug-regex32 bug-regex33 | 5061 | + bug-regex23 bug-regex25 bug-regex32 bug-regex33 |
4987 | +tests-$(OPTION_EGLIBC_INET) \ | 5062 | +tests-$(OPTION_EGLIBC_INET) \ |
4988 | + += tst-getaddrinfo bug-ga1 tst-getaddrinfo2 \ | 5063 | + += tst-getaddrinfo bug-ga1 tst-getaddrinfo2 \ |
4989 | + tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 tst-getaddrinfo3 | 5064 | + tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 tst-getaddrinfo3 |
4990 | +tests-$(OPTION_POSIX_REGEXP_GLIBC) \ | 5065 | +tests-$(OPTION_POSIX_REGEXP_GLIBC) \ |
4991 | + += runptests bug-regex11 bug-regex13 bug-regex16 \ | 5066 | + += runptests bug-regex11 bug-regex13 bug-regex16 \ |
4992 | + tst-regex2 tst-rxspencer tst-pcre tst-boost | 5067 | + tst-regex2 tst-rxspencer tst-pcre tst-boost |
4993 | +ifeq (yy,$(OPTION_EGLIBC_LOCALE_CODE)$(OPTION_POSIX_REGEXP_GLIBC)) | 5068 | +ifeq (yy,$(OPTION_EGLIBC_LOCALE_CODE)$(OPTION_POSIX_REGEXP_GLIBC)) |
4994 | +tests += tst-regex bug-regex17 bug-regex18 bug-regex19 bug-regex20 \ | 5069 | +tests += tst-regex bug-regex17 bug-regex18 bug-regex19 bug-regex20 \ |
4995 | + bug-regex22 bug-regex26 | 5070 | + bug-regex22 bug-regex26 |
4996 | +endif | 5071 | +endif |
4997 | +xtests-$(OPTION_EGLIBC_INET) += bug-ga2 | 5072 | +xtests-$(OPTION_EGLIBC_INET) += bug-ga2 |
5073 | + | ||
4998 | ifeq (yes,$(build-shared)) | 5074 | ifeq (yes,$(build-shared)) |
4999 | test-srcs := globtest | 5075 | test-srcs := globtest |
5000 | -tests += wordexp-test tst-exec tst-spawn | 5076 | -tests += wordexp-test tst-exec tst-spawn |
@@ -5004,7 +5080,7 @@ Index: git/posix/Makefile | |||
5004 | endif | 5080 | endif |
5005 | tests-static = tst-exec-static tst-spawn-static | 5081 | tests-static = tst-exec-static tst-spawn-static |
5006 | tests += $(tests-static) | 5082 | tests += $(tests-static) |
5007 | @@ -117,7 +142,10 @@ | 5083 | @@ -117,7 +146,10 @@ generated += $(addprefix wordexp-test-re |
5008 | 5084 | ||
5009 | ifeq ($(run-built-tests),yes) | 5085 | ifeq ($(run-built-tests),yes) |
5010 | ifeq (yes,$(build-shared)) | 5086 | ifeq (yes,$(build-shared)) |
@@ -5016,7 +5092,7 @@ Index: git/posix/Makefile | |||
5016 | endif | 5092 | endif |
5017 | endif | 5093 | endif |
5018 | 5094 | ||
5019 | @@ -125,12 +153,16 @@ | 5095 | @@ -125,12 +157,16 @@ endif |
5020 | # XXX Please note that for now we ignore the result of this test. | 5096 | # XXX Please note that for now we ignore the result of this test. |
5021 | tests-special += $(objpfx)annexc.out | 5097 | tests-special += $(objpfx)annexc.out |
5022 | ifeq ($(run-built-tests),yes) | 5098 | ifeq ($(run-built-tests),yes) |
@@ -5036,7 +5112,7 @@ Index: git/posix/Makefile | |||
5036 | xtests-special += $(objpfx)bug-ga2-mem.out | 5112 | xtests-special += $(objpfx)bug-ga2-mem.out |
5037 | endif | 5113 | endif |
5038 | 5114 | ||
5039 | @@ -143,6 +175,8 @@ | 5115 | @@ -143,6 +179,8 @@ $(objpfx)globtest.out: globtest.sh $(obj |
5040 | $(SHELL) $< $(common-objpfx) '$(test-via-rtld-prefix)' \ | 5116 | $(SHELL) $< $(common-objpfx) '$(test-via-rtld-prefix)' \ |
5041 | '$(test-program-prefix)' '$(test-wrapper-env)'; \ | 5117 | '$(test-program-prefix)' '$(test-wrapper-env)'; \ |
5042 | $(evaluate-test) | 5118 | $(evaluate-test) |
@@ -5045,7 +5121,7 @@ Index: git/posix/Makefile | |||
5045 | $(objpfx)wordexp-tst.out: wordexp-tst.sh $(objpfx)wordexp-test | 5121 | $(objpfx)wordexp-tst.out: wordexp-tst.sh $(objpfx)wordexp-test |
5046 | $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \ | 5122 | $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \ |
5047 | '$(run-program-env)' '$(test-program-prefix-after-env)'; \ | 5123 | '$(run-program-env)' '$(test-program-prefix-after-env)'; \ |
5048 | @@ -205,7 +239,10 @@ | 5124 | @@ -205,7 +243,10 @@ tst-dir-ARGS = `pwd` `cd $(common-objdir |
5049 | tst-chmod-ARGS = $(objdir) | 5125 | tst-chmod-ARGS = $(objdir) |
5050 | tst-vfork3-ARGS = --test-dir=$(objpfx) | 5126 | tst-vfork3-ARGS = --test-dir=$(objpfx) |
5051 | 5127 | ||
@@ -5059,17 +5135,17 @@ Index: git/posix/Makefile | |||
5059 | tst-boost-ARGS = BOOST.tests | 5135 | tst-boost-ARGS = BOOST.tests |
5060 | Index: git/posix/regcomp.c | 5136 | Index: git/posix/regcomp.c |
5061 | =================================================================== | 5137 | =================================================================== |
5062 | --- git.orig/posix/regcomp.c 2014-08-29 20:00:53.264070587 -0700 | 5138 | --- git.orig/posix/regcomp.c |
5063 | +++ git/posix/regcomp.c 2014-08-29 20:01:15.224070587 -0700 | 5139 | +++ git/posix/regcomp.c |
5064 | @@ -18,6 +18,7 @@ | 5140 | @@ -18,6 +18,7 @@ |
5065 | <http://www.gnu.org/licenses/>. */ | 5141 | <http://www.gnu.org/licenses/>. */ |
5066 | 5142 | ||
5067 | #include <stdint.h> | 5143 | #include <stdint.h> |
5068 | +#include <gnu/option-groups.h> | 5144 | +#include <gnu/option-groups.h> |
5069 | 5145 | ||
5070 | static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, | 5146 | #ifdef _LIBC |
5071 | size_t length, reg_syntax_t syntax); | 5147 | # include <locale/weight.h> |
5072 | @@ -305,7 +306,7 @@ | 5148 | @@ -309,7 +310,7 @@ re_compile_fastmap_iter (regex_t *bufp, |
5073 | { | 5149 | { |
5074 | re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; | 5150 | re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; |
5075 | int node_cnt; | 5151 | int node_cnt; |
@@ -5078,7 +5154,7 @@ Index: git/posix/regcomp.c | |||
5078 | for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) | 5154 | for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) |
5079 | { | 5155 | { |
5080 | int node = init_state->nodes.elems[node_cnt]; | 5156 | int node = init_state->nodes.elems[node_cnt]; |
5081 | @@ -315,9 +316,9 @@ | 5157 | @@ -319,9 +320,9 @@ re_compile_fastmap_iter (regex_t *bufp, |
5082 | { | 5158 | { |
5083 | re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); | 5159 | re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); |
5084 | #ifdef RE_ENABLE_I18N | 5160 | #ifdef RE_ENABLE_I18N |
@@ -5090,7 +5166,7 @@ Index: git/posix/regcomp.c | |||
5090 | wchar_t wc; | 5166 | wchar_t wc; |
5091 | mbstate_t state; | 5167 | mbstate_t state; |
5092 | 5168 | ||
5093 | @@ -348,7 +349,11 @@ | 5169 | @@ -352,7 +353,11 @@ re_compile_fastmap_iter (regex_t *bufp, |
5094 | re_set_fastmap (fastmap, icase, ch); | 5170 | re_set_fastmap (fastmap, icase, ch); |
5095 | } | 5171 | } |
5096 | } | 5172 | } |
@@ -5103,7 +5179,7 @@ Index: git/posix/regcomp.c | |||
5103 | else if (type == COMPLEX_BRACKET) | 5179 | else if (type == COMPLEX_BRACKET) |
5104 | { | 5180 | { |
5105 | re_charset_t *cset = dfa->nodes[node].opr.mbcset; | 5181 | re_charset_t *cset = dfa->nodes[node].opr.mbcset; |
5106 | @@ -376,7 +381,7 @@ | 5182 | @@ -380,7 +385,7 @@ re_compile_fastmap_iter (regex_t *bufp, |
5107 | i.e. where we would not find an invalid sequence. This only | 5183 | i.e. where we would not find an invalid sequence. This only |
5108 | applies to multibyte character sets; for single byte character | 5184 | applies to multibyte character sets; for single byte character |
5109 | sets, the SIMPLE_BRACKET again suffices. */ | 5185 | sets, the SIMPLE_BRACKET again suffices. */ |
@@ -5112,7 +5188,7 @@ Index: git/posix/regcomp.c | |||
5112 | && (cset->nchar_classes || cset->non_match || cset->nranges | 5188 | && (cset->nchar_classes || cset->non_match || cset->nranges |
5113 | # ifdef _LIBC | 5189 | # ifdef _LIBC |
5114 | || cset->nequiv_classes | 5190 | || cset->nequiv_classes |
5115 | @@ -404,7 +409,7 @@ | 5191 | @@ -408,7 +413,7 @@ re_compile_fastmap_iter (regex_t *bufp, |
5116 | memset (&state, '\0', sizeof (state)); | 5192 | memset (&state, '\0', sizeof (state)); |
5117 | if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) | 5193 | if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) |
5118 | re_set_fastmap (fastmap, icase, *(unsigned char *) buf); | 5194 | re_set_fastmap (fastmap, icase, *(unsigned char *) buf); |
@@ -5121,7 +5197,7 @@ Index: git/posix/regcomp.c | |||
5121 | { | 5197 | { |
5122 | if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) | 5198 | if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) |
5123 | != (size_t) -1) | 5199 | != (size_t) -1) |
5124 | @@ -413,7 +418,7 @@ | 5200 | @@ -417,7 +422,7 @@ re_compile_fastmap_iter (regex_t *bufp, |
5125 | } | 5201 | } |
5126 | } | 5202 | } |
5127 | } | 5203 | } |
@@ -5130,7 +5206,7 @@ Index: git/posix/regcomp.c | |||
5130 | else if (type == OP_PERIOD | 5206 | else if (type == OP_PERIOD |
5131 | #ifdef RE_ENABLE_I18N | 5207 | #ifdef RE_ENABLE_I18N |
5132 | || type == OP_UTF8_PERIOD | 5208 | || type == OP_UTF8_PERIOD |
5133 | @@ -856,11 +861,15 @@ | 5209 | @@ -860,11 +865,15 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) |
5134 | 5210 | ||
5135 | dfa->mb_cur_max = MB_CUR_MAX; | 5211 | dfa->mb_cur_max = MB_CUR_MAX; |
5136 | #ifdef _LIBC | 5212 | #ifdef _LIBC |
@@ -5147,7 +5223,7 @@ Index: git/posix/regcomp.c | |||
5147 | #else | 5223 | #else |
5148 | # ifdef HAVE_LANGINFO_CODESET | 5224 | # ifdef HAVE_LANGINFO_CODESET |
5149 | codeset_name = nl_langinfo (CODESET); | 5225 | codeset_name = nl_langinfo (CODESET); |
5150 | @@ -886,7 +895,7 @@ | 5226 | @@ -890,7 +899,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) |
5151 | #endif | 5227 | #endif |
5152 | 5228 | ||
5153 | #ifdef RE_ENABLE_I18N | 5229 | #ifdef RE_ENABLE_I18N |
@@ -5156,7 +5232,7 @@ Index: git/posix/regcomp.c | |||
5156 | { | 5232 | { |
5157 | if (dfa->is_utf8) | 5233 | if (dfa->is_utf8) |
5158 | dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map; | 5234 | dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map; |
5159 | @@ -1784,7 +1793,7 @@ | 5235 | @@ -1788,7 +1797,7 @@ peek_token (re_token_t *token, re_string |
5160 | token->word_char = 0; | 5236 | token->word_char = 0; |
5161 | #ifdef RE_ENABLE_I18N | 5237 | #ifdef RE_ENABLE_I18N |
5162 | token->mb_partial = 0; | 5238 | token->mb_partial = 0; |
@@ -5165,7 +5241,7 @@ Index: git/posix/regcomp.c | |||
5165 | !re_string_first_byte (input, re_string_cur_idx (input))) | 5241 | !re_string_first_byte (input, re_string_cur_idx (input))) |
5166 | { | 5242 | { |
5167 | token->type = CHARACTER; | 5243 | token->type = CHARACTER; |
5168 | @@ -1805,7 +1814,7 @@ | 5244 | @@ -1809,7 +1818,7 @@ peek_token (re_token_t *token, re_string |
5169 | token->opr.c = c2; | 5245 | token->opr.c = c2; |
5170 | token->type = CHARACTER; | 5246 | token->type = CHARACTER; |
5171 | #ifdef RE_ENABLE_I18N | 5247 | #ifdef RE_ENABLE_I18N |
@@ -5174,7 +5250,7 @@ Index: git/posix/regcomp.c | |||
5174 | { | 5250 | { |
5175 | wint_t wc = re_string_wchar_at (input, | 5251 | wint_t wc = re_string_wchar_at (input, |
5176 | re_string_cur_idx (input) + 1); | 5252 | re_string_cur_idx (input) + 1); |
5177 | @@ -1919,7 +1928,7 @@ | 5253 | @@ -1923,7 +1932,7 @@ peek_token (re_token_t *token, re_string |
5178 | 5254 | ||
5179 | token->type = CHARACTER; | 5255 | token->type = CHARACTER; |
5180 | #ifdef RE_ENABLE_I18N | 5256 | #ifdef RE_ENABLE_I18N |
@@ -5183,7 +5259,7 @@ Index: git/posix/regcomp.c | |||
5183 | { | 5259 | { |
5184 | wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); | 5260 | wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); |
5185 | token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; | 5261 | token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
5186 | @@ -2019,7 +2028,7 @@ | 5262 | @@ -2023,7 +2032,7 @@ peek_token_bracket (re_token_t *token, r |
5187 | token->opr.c = c; | 5263 | token->opr.c = c; |
5188 | 5264 | ||
5189 | #ifdef RE_ENABLE_I18N | 5265 | #ifdef RE_ENABLE_I18N |
@@ -5192,7 +5268,7 @@ Index: git/posix/regcomp.c | |||
5192 | !re_string_first_byte (input, re_string_cur_idx (input))) | 5268 | !re_string_first_byte (input, re_string_cur_idx (input))) |
5193 | { | 5269 | { |
5194 | token->type = CHARACTER; | 5270 | token->type = CHARACTER; |
5195 | @@ -2242,7 +2251,7 @@ | 5271 | @@ -2246,7 +2255,7 @@ parse_expression (re_string_t *regexp, r |
5196 | return NULL; | 5272 | return NULL; |
5197 | } | 5273 | } |
5198 | #ifdef RE_ENABLE_I18N | 5274 | #ifdef RE_ENABLE_I18N |
@@ -5201,7 +5277,7 @@ Index: git/posix/regcomp.c | |||
5201 | { | 5277 | { |
5202 | while (!re_string_eoi (regexp) | 5278 | while (!re_string_eoi (regexp) |
5203 | && !re_string_first_byte (regexp, re_string_cur_idx (regexp))) | 5279 | && !re_string_first_byte (regexp, re_string_cur_idx (regexp))) |
5204 | @@ -2380,7 +2389,7 @@ | 5280 | @@ -2384,7 +2393,7 @@ parse_expression (re_string_t *regexp, r |
5205 | *err = REG_ESPACE; | 5281 | *err = REG_ESPACE; |
5206 | return NULL; | 5282 | return NULL; |
5207 | } | 5283 | } |
@@ -5210,7 +5286,7 @@ Index: git/posix/regcomp.c | |||
5210 | dfa->has_mb_node = 1; | 5286 | dfa->has_mb_node = 1; |
5211 | break; | 5287 | break; |
5212 | case OP_WORD: | 5288 | case OP_WORD: |
5213 | @@ -2686,7 +2695,7 @@ | 5289 | @@ -2690,7 +2699,7 @@ build_range_exp (bitset_t sbcset, bracke |
5214 | However, for !_LIBC we have no collation elements: if the | 5290 | However, for !_LIBC we have no collation elements: if the |
5215 | character set is single byte, the single byte character set | 5291 | character set is single byte, the single byte character set |
5216 | that we build below suffices. parse_bracket_exp passes | 5292 | that we build below suffices. parse_bracket_exp passes |
@@ -5219,7 +5295,7 @@ Index: git/posix/regcomp.c | |||
5219 | if (mbcset) | 5295 | if (mbcset) |
5220 | { | 5296 | { |
5221 | /* Check the space of the arrays. */ | 5297 | /* Check the space of the arrays. */ |
5222 | @@ -2782,7 +2791,13 @@ | 5298 | @@ -2786,7 +2795,13 @@ parse_bracket_exp (re_string_t *regexp, |
5223 | reg_syntax_t syntax, reg_errcode_t *err) | 5299 | reg_syntax_t syntax, reg_errcode_t *err) |
5224 | { | 5300 | { |
5225 | #ifdef _LIBC | 5301 | #ifdef _LIBC |
@@ -5233,7 +5309,7 @@ Index: git/posix/regcomp.c | |||
5233 | const char *collseqwc; | 5309 | const char *collseqwc; |
5234 | uint32_t nrules; | 5310 | uint32_t nrules; |
5235 | int32_t table_size; | 5311 | int32_t table_size; |
5236 | @@ -2830,18 +2845,20 @@ | 5312 | @@ -2834,18 +2849,20 @@ parse_bracket_exp (re_string_t *regexp, |
5237 | if (MB_CUR_MAX == 1) | 5313 | if (MB_CUR_MAX == 1) |
5238 | */ | 5314 | */ |
5239 | if (nrules == 0) | 5315 | if (nrules == 0) |
@@ -5255,7 +5331,7 @@ Index: git/posix/regcomp.c | |||
5255 | else if (br_elem->type == COLL_SYM) | 5331 | else if (br_elem->type == COLL_SYM) |
5256 | { | 5332 | { |
5257 | size_t sym_name_len = strlen ((char *) br_elem->opr.name); | 5333 | size_t sym_name_len = strlen ((char *) br_elem->opr.name); |
5258 | @@ -2872,11 +2889,11 @@ | 5334 | @@ -2876,11 +2893,11 @@ parse_bracket_exp (re_string_t *regexp, |
5259 | { | 5335 | { |
5260 | /* No valid character. Match it as a single byte | 5336 | /* No valid character. Match it as a single byte |
5261 | character. */ | 5337 | character. */ |
@@ -5269,7 +5345,7 @@ Index: git/posix/regcomp.c | |||
5269 | } | 5345 | } |
5270 | return UINT_MAX; | 5346 | return UINT_MAX; |
5271 | } | 5347 | } |
5272 | @@ -2916,7 +2933,7 @@ | 5348 | @@ -2920,7 +2937,7 @@ parse_bracket_exp (re_string_t *regexp, |
5273 | However, if we have no collation elements, and the character set | 5349 | However, if we have no collation elements, and the character set |
5274 | is single byte, the single byte character set that we | 5350 | is single byte, the single byte character set that we |
5275 | build below suffices. */ | 5351 | build below suffices. */ |
@@ -5278,7 +5354,7 @@ Index: git/posix/regcomp.c | |||
5278 | { | 5354 | { |
5279 | /* Check the space of the arrays. */ | 5355 | /* Check the space of the arrays. */ |
5280 | if (BE (*range_alloc == mbcset->nranges, 0)) | 5356 | if (BE (*range_alloc == mbcset->nranges, 0)) |
5281 | @@ -2953,7 +2970,7 @@ | 5357 | @@ -2957,7 +2974,7 @@ parse_bracket_exp (re_string_t *regexp, |
5282 | if (MB_CUR_MAX == 1) | 5358 | if (MB_CUR_MAX == 1) |
5283 | */ | 5359 | */ |
5284 | if (nrules == 0) | 5360 | if (nrules == 0) |
@@ -5287,7 +5363,7 @@ Index: git/posix/regcomp.c | |||
5287 | else | 5363 | else |
5288 | ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); | 5364 | ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); |
5289 | if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) | 5365 | if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) |
5290 | @@ -3031,7 +3048,10 @@ | 5366 | @@ -3035,7 +3052,10 @@ parse_bracket_exp (re_string_t *regexp, |
5291 | re_bitset_ptr_t sbcset; | 5367 | re_bitset_ptr_t sbcset; |
5292 | #ifdef RE_ENABLE_I18N | 5368 | #ifdef RE_ENABLE_I18N |
5293 | re_charset_t *mbcset; | 5369 | re_charset_t *mbcset; |
@@ -5299,7 +5375,7 @@ Index: git/posix/regcomp.c | |||
5299 | int equiv_class_alloc = 0, char_class_alloc = 0; | 5375 | int equiv_class_alloc = 0, char_class_alloc = 0; |
5300 | #endif /* not RE_ENABLE_I18N */ | 5376 | #endif /* not RE_ENABLE_I18N */ |
5301 | int non_match = 0; | 5377 | int non_match = 0; |
5302 | @@ -3039,9 +3059,15 @@ | 5378 | @@ -3043,9 +3063,15 @@ parse_bracket_exp (re_string_t *regexp, |
5303 | int token_len; | 5379 | int token_len; |
5304 | int first_round = 1; | 5380 | int first_round = 1; |
5305 | #ifdef _LIBC | 5381 | #ifdef _LIBC |
@@ -5315,7 +5391,7 @@ Index: git/posix/regcomp.c | |||
5315 | if (nrules) | 5391 | if (nrules) |
5316 | { | 5392 | { |
5317 | /* | 5393 | /* |
5318 | @@ -3169,7 +3195,7 @@ | 5394 | @@ -3175,7 +3201,7 @@ parse_bracket_exp (re_string_t *regexp, |
5319 | #else | 5395 | #else |
5320 | # ifdef RE_ENABLE_I18N | 5396 | # ifdef RE_ENABLE_I18N |
5321 | *err = build_range_exp (sbcset, | 5397 | *err = build_range_exp (sbcset, |
@@ -5324,7 +5400,7 @@ Index: git/posix/regcomp.c | |||
5324 | &range_alloc, &start_elem, &end_elem); | 5400 | &range_alloc, &start_elem, &end_elem); |
5325 | # else | 5401 | # else |
5326 | *err = build_range_exp (sbcset, &start_elem, &end_elem); | 5402 | *err = build_range_exp (sbcset, &start_elem, &end_elem); |
5327 | @@ -3185,7 +3211,7 @@ | 5403 | @@ -3191,7 +3217,7 @@ parse_bracket_exp (re_string_t *regexp, |
5328 | case SB_CHAR: | 5404 | case SB_CHAR: |
5329 | bitset_set (sbcset, start_elem.opr.ch); | 5405 | bitset_set (sbcset, start_elem.opr.ch); |
5330 | break; | 5406 | break; |
@@ -5333,7 +5409,7 @@ Index: git/posix/regcomp.c | |||
5333 | case MB_CHAR: | 5409 | case MB_CHAR: |
5334 | /* Check whether the array has enough space. */ | 5410 | /* Check whether the array has enough space. */ |
5335 | if (BE (mbchar_alloc == mbcset->nmbchars, 0)) | 5411 | if (BE (mbchar_alloc == mbcset->nmbchars, 0)) |
5336 | @@ -3203,7 +3229,7 @@ | 5412 | @@ -3209,7 +3235,7 @@ parse_bracket_exp (re_string_t *regexp, |
5337 | } | 5413 | } |
5338 | mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; | 5414 | mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; |
5339 | break; | 5415 | break; |
@@ -5342,7 +5418,7 @@ Index: git/posix/regcomp.c | |||
5342 | case EQUIV_CLASS: | 5418 | case EQUIV_CLASS: |
5343 | *err = build_equiv_class (sbcset, | 5419 | *err = build_equiv_class (sbcset, |
5344 | #ifdef RE_ENABLE_I18N | 5420 | #ifdef RE_ENABLE_I18N |
5345 | @@ -3253,11 +3279,11 @@ | 5421 | @@ -3259,11 +3285,11 @@ parse_bracket_exp (re_string_t *regexp, |
5346 | 5422 | ||
5347 | #ifdef RE_ENABLE_I18N | 5423 | #ifdef RE_ENABLE_I18N |
5348 | /* Ensure only single byte characters are set. */ | 5424 | /* Ensure only single byte characters are set. */ |
@@ -5356,7 +5432,7 @@ Index: git/posix/regcomp.c | |||
5356 | || mbcset->non_match))) | 5432 | || mbcset->non_match))) |
5357 | { | 5433 | { |
5358 | bin_tree_t *mbc_tree; | 5434 | bin_tree_t *mbc_tree; |
5359 | @@ -3326,7 +3352,7 @@ | 5435 | @@ -3332,7 +3358,7 @@ parse_bracket_element (bracket_elem_t *e |
5360 | re_token_t *token, int token_len, re_dfa_t *dfa, | 5436 | re_token_t *token, int token_len, re_dfa_t *dfa, |
5361 | reg_syntax_t syntax, int accept_hyphen) | 5437 | reg_syntax_t syntax, int accept_hyphen) |
5362 | { | 5438 | { |
@@ -5365,7 +5441,7 @@ Index: git/posix/regcomp.c | |||
5365 | int cur_char_size; | 5441 | int cur_char_size; |
5366 | cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); | 5442 | cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); |
5367 | if (cur_char_size > 1) | 5443 | if (cur_char_size > 1) |
5368 | @@ -3336,7 +3362,7 @@ | 5444 | @@ -3342,7 +3368,7 @@ parse_bracket_element (bracket_elem_t *e |
5369 | re_string_skip_bytes (regexp, cur_char_size); | 5445 | re_string_skip_bytes (regexp, cur_char_size); |
5370 | return REG_NOERROR; | 5446 | return REG_NOERROR; |
5371 | } | 5447 | } |
@@ -5374,7 +5450,7 @@ Index: git/posix/regcomp.c | |||
5374 | re_string_skip_bytes (regexp, token_len); /* Skip a token. */ | 5450 | re_string_skip_bytes (regexp, token_len); /* Skip a token. */ |
5375 | if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS | 5451 | if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS |
5376 | || token->type == OP_OPEN_EQUIV_CLASS) | 5452 | || token->type == OP_OPEN_EQUIV_CLASS) |
5377 | @@ -3416,7 +3442,9 @@ | 5453 | @@ -3422,7 +3448,9 @@ build_equiv_class (bitset_t sbcset, re_c |
5378 | build_equiv_class (bitset_t sbcset, const unsigned char *name) | 5454 | build_equiv_class (bitset_t sbcset, const unsigned char *name) |
5379 | #endif /* not RE_ENABLE_I18N */ | 5455 | #endif /* not RE_ENABLE_I18N */ |
5380 | { | 5456 | { |
@@ -5385,7 +5461,7 @@ Index: git/posix/regcomp.c | |||
5385 | uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); | 5461 | uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); |
5386 | if (nrules != 0) | 5462 | if (nrules != 0) |
5387 | { | 5463 | { |
5388 | @@ -3488,7 +3516,7 @@ | 5464 | @@ -3492,7 +3520,7 @@ build_equiv_class (bitset_t sbcset, cons |
5389 | mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1; | 5465 | mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1; |
5390 | } | 5466 | } |
5391 | else | 5467 | else |
@@ -5394,7 +5470,7 @@ Index: git/posix/regcomp.c | |||
5394 | { | 5470 | { |
5395 | if (BE (strlen ((const char *) name) != 1, 0)) | 5471 | if (BE (strlen ((const char *) name) != 1, 0)) |
5396 | return REG_ECOLLATE; | 5472 | return REG_ECOLLATE; |
5397 | @@ -3522,7 +3550,7 @@ | 5473 | @@ -3526,7 +3554,7 @@ build_charclass (RE_TRANSLATE_TYPE trans |
5398 | && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) | 5474 | && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) |
5399 | name = "alpha"; | 5475 | name = "alpha"; |
5400 | 5476 | ||
@@ -5403,7 +5479,7 @@ Index: git/posix/regcomp.c | |||
5403 | /* Check the space of the arrays. */ | 5479 | /* Check the space of the arrays. */ |
5404 | if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) | 5480 | if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) |
5405 | { | 5481 | { |
5406 | @@ -3538,7 +3566,7 @@ | 5482 | @@ -3542,7 +3570,7 @@ build_charclass (RE_TRANSLATE_TYPE trans |
5407 | *char_class_alloc = new_char_class_alloc; | 5483 | *char_class_alloc = new_char_class_alloc; |
5408 | } | 5484 | } |
5409 | mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); | 5485 | mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); |
@@ -5412,7 +5488,7 @@ Index: git/posix/regcomp.c | |||
5412 | 5488 | ||
5413 | #define BUILD_CHARCLASS_LOOP(ctype_func) \ | 5489 | #define BUILD_CHARCLASS_LOOP(ctype_func) \ |
5414 | do { \ | 5490 | do { \ |
5415 | @@ -3649,7 +3677,7 @@ | 5491 | @@ -3653,7 +3681,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TR |
5416 | 5492 | ||
5417 | #ifdef RE_ENABLE_I18N | 5493 | #ifdef RE_ENABLE_I18N |
5418 | /* Ensure only single byte characters are set. */ | 5494 | /* Ensure only single byte characters are set. */ |
@@ -5421,7 +5497,7 @@ Index: git/posix/regcomp.c | |||
5421 | bitset_mask (sbcset, dfa->sb_char); | 5497 | bitset_mask (sbcset, dfa->sb_char); |
5422 | #endif | 5498 | #endif |
5423 | 5499 | ||
5424 | @@ -3661,7 +3689,7 @@ | 5500 | @@ -3665,7 +3693,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TR |
5425 | goto build_word_op_espace; | 5501 | goto build_word_op_espace; |
5426 | 5502 | ||
5427 | #ifdef RE_ENABLE_I18N | 5503 | #ifdef RE_ENABLE_I18N |
@@ -5432,8 +5508,8 @@ Index: git/posix/regcomp.c | |||
5432 | /* Build a tree for complex bracket. */ | 5508 | /* Build a tree for complex bracket. */ |
5433 | Index: git/posix/regexec.c | 5509 | Index: git/posix/regexec.c |
5434 | =================================================================== | 5510 | =================================================================== |
5435 | --- git.orig/posix/regexec.c 2014-08-29 20:00:53.268070587 -0700 | 5511 | --- git.orig/posix/regexec.c |
5436 | +++ git/posix/regexec.c 2014-08-29 20:01:15.224070587 -0700 | 5512 | +++ git/posix/regexec.c |
5437 | @@ -18,6 +18,7 @@ | 5513 | @@ -18,6 +18,7 @@ |
5438 | <http://www.gnu.org/licenses/>. */ | 5514 | <http://www.gnu.org/licenses/>. */ |
5439 | 5515 | ||
@@ -5442,7 +5518,7 @@ Index: git/posix/regexec.c | |||
5442 | 5518 | ||
5443 | static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, | 5519 | static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, |
5444 | int n) internal_function; | 5520 | int n) internal_function; |
5445 | @@ -186,11 +187,11 @@ | 5521 | @@ -186,11 +187,11 @@ static int build_trtable (const re_dfa_t |
5446 | static int check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, | 5522 | static int check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, |
5447 | const re_string_t *input, int idx) | 5523 | const re_string_t *input, int idx) |
5448 | internal_function; | 5524 | internal_function; |
@@ -5456,7 +5532,7 @@ Index: git/posix/regexec.c | |||
5456 | #endif /* RE_ENABLE_I18N */ | 5532 | #endif /* RE_ENABLE_I18N */ |
5457 | static int group_nodes_into_DFAstates (const re_dfa_t *dfa, | 5533 | static int group_nodes_into_DFAstates (const re_dfa_t *dfa, |
5458 | const re_dfastate_t *state, | 5534 | const re_dfastate_t *state, |
5459 | @@ -255,25 +256,9 @@ | 5535 | @@ -255,25 +256,9 @@ regexec (preg, string, nmatch, pmatch, e |
5460 | return err != REG_NOERROR; | 5536 | return err != REG_NOERROR; |
5461 | } | 5537 | } |
5462 | 5538 | ||
@@ -5485,7 +5561,7 @@ Index: git/posix/regexec.c | |||
5485 | 5561 | ||
5486 | /* Entry points for GNU code. */ | 5562 | /* Entry points for GNU code. */ |
5487 | 5563 | ||
5488 | @@ -728,7 +713,7 @@ | 5564 | @@ -728,7 +713,7 @@ re_search_internal (preg, string, length |
5489 | incr = (range < 0) ? -1 : 1; | 5565 | incr = (range < 0) ? -1 : 1; |
5490 | left_lim = (range < 0) ? start + range : start; | 5566 | left_lim = (range < 0) ? start + range : start; |
5491 | right_lim = (range < 0) ? start : start + range; | 5567 | right_lim = (range < 0) ? start : start + range; |
@@ -5494,7 +5570,7 @@ Index: git/posix/regexec.c | |||
5494 | match_kind = | 5570 | match_kind = |
5495 | (fastmap | 5571 | (fastmap |
5496 | ? ((sb || !(preg->syntax & RE_ICASE || t) ? 4 : 0) | 5572 | ? ((sb || !(preg->syntax & RE_ICASE || t) ? 4 : 0) |
5497 | @@ -3448,7 +3433,7 @@ | 5573 | @@ -3448,7 +3433,7 @@ out_free: |
5498 | if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0)) | 5574 | if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0)) |
5499 | goto out_free; | 5575 | goto out_free; |
5500 | 5576 | ||
@@ -5503,7 +5579,7 @@ Index: git/posix/regexec.c | |||
5503 | need_word_trtable = 1; | 5579 | need_word_trtable = 1; |
5504 | 5580 | ||
5505 | dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, | 5581 | dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, |
5506 | @@ -3590,7 +3575,7 @@ | 5582 | @@ -3590,7 +3575,7 @@ group_nodes_into_DFAstates (const re_dfa |
5507 | else if (type == OP_PERIOD) | 5583 | else if (type == OP_PERIOD) |
5508 | { | 5584 | { |
5509 | #ifdef RE_ENABLE_I18N | 5585 | #ifdef RE_ENABLE_I18N |
@@ -5512,7 +5588,7 @@ Index: git/posix/regexec.c | |||
5512 | bitset_merge (accepts, dfa->sb_char); | 5588 | bitset_merge (accepts, dfa->sb_char); |
5513 | else | 5589 | else |
5514 | #endif | 5590 | #endif |
5515 | @@ -3641,7 +3626,7 @@ | 5591 | @@ -3641,7 +3626,7 @@ group_nodes_into_DFAstates (const re_dfa |
5516 | continue; | 5592 | continue; |
5517 | } | 5593 | } |
5518 | #ifdef RE_ENABLE_I18N | 5594 | #ifdef RE_ENABLE_I18N |
@@ -5521,7 +5597,7 @@ Index: git/posix/regexec.c | |||
5521 | for (j = 0; j < BITSET_WORDS; ++j) | 5597 | for (j = 0; j < BITSET_WORDS; ++j) |
5522 | any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); | 5598 | any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); |
5523 | else | 5599 | else |
5524 | @@ -3660,7 +3645,7 @@ | 5600 | @@ -3660,7 +3645,7 @@ group_nodes_into_DFAstates (const re_dfa |
5525 | continue; | 5601 | continue; |
5526 | } | 5602 | } |
5527 | #ifdef RE_ENABLE_I18N | 5603 | #ifdef RE_ENABLE_I18N |
@@ -5530,7 +5606,7 @@ Index: git/posix/regexec.c | |||
5530 | for (j = 0; j < BITSET_WORDS; ++j) | 5606 | for (j = 0; j < BITSET_WORDS; ++j) |
5531 | any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); | 5607 | any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); |
5532 | else | 5608 | else |
5533 | @@ -3832,12 +3817,6 @@ | 5609 | @@ -3836,12 +3821,6 @@ check_node_accept_bytes (const re_dfa_t |
5534 | if (node->type == COMPLEX_BRACKET) | 5610 | if (node->type == COMPLEX_BRACKET) |
5535 | { | 5611 | { |
5536 | const re_charset_t *cset = node->opr.mbcset; | 5612 | const re_charset_t *cset = node->opr.mbcset; |
@@ -5543,7 +5619,7 @@ Index: git/posix/regexec.c | |||
5543 | int match_len = 0; | 5619 | int match_len = 0; |
5544 | wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) | 5620 | wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) |
5545 | ? re_string_wchar_at (input, str_idx) : 0); | 5621 | ? re_string_wchar_at (input, str_idx) : 0); |
5546 | @@ -3849,6 +3828,7 @@ | 5622 | @@ -3853,6 +3832,7 @@ check_node_accept_bytes (const re_dfa_t |
5547 | match_len = char_len; | 5623 | match_len = char_len; |
5548 | goto check_node_accept_bytes_match; | 5624 | goto check_node_accept_bytes_match; |
5549 | } | 5625 | } |
@@ -5551,7 +5627,7 @@ Index: git/posix/regexec.c | |||
5551 | /* match with character_class? */ | 5627 | /* match with character_class? */ |
5552 | for (i = 0; i < cset->nchar_classes; ++i) | 5628 | for (i = 0; i < cset->nchar_classes; ++i) |
5553 | { | 5629 | { |
5554 | @@ -3859,8 +3839,16 @@ | 5630 | @@ -3863,8 +3843,16 @@ check_node_accept_bytes (const re_dfa_t |
5555 | goto check_node_accept_bytes_match; | 5631 | goto check_node_accept_bytes_match; |
5556 | } | 5632 | } |
5557 | } | 5633 | } |
@@ -5569,7 +5645,7 @@ Index: git/posix/regexec.c | |||
5569 | nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); | 5645 | nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); |
5570 | if (nrules != 0) | 5646 | if (nrules != 0) |
5571 | { | 5647 | { |
5572 | @@ -3953,8 +3941,12 @@ | 5648 | @@ -3955,8 +3943,12 @@ check_node_accept_bytes (const re_dfa_t |
5573 | } | 5649 | } |
5574 | } | 5650 | } |
5575 | else | 5651 | else |
@@ -5583,7 +5659,7 @@ Index: git/posix/regexec.c | |||
5583 | /* match with range expression? */ | 5659 | /* match with range expression? */ |
5584 | #if __GNUC__ >= 2 | 5660 | #if __GNUC__ >= 2 |
5585 | wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; | 5661 | wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; |
5586 | @@ -3973,6 +3965,7 @@ | 5662 | @@ -3975,6 +3967,7 @@ check_node_accept_bytes (const re_dfa_t |
5587 | goto check_node_accept_bytes_match; | 5663 | goto check_node_accept_bytes_match; |
5588 | } | 5664 | } |
5589 | } | 5665 | } |
@@ -5591,7 +5667,7 @@ Index: git/posix/regexec.c | |||
5591 | } | 5667 | } |
5592 | check_node_accept_bytes_match: | 5668 | check_node_accept_bytes_match: |
5593 | if (!cset->non_match) | 5669 | if (!cset->non_match) |
5594 | @@ -3988,7 +3981,7 @@ | 5670 | @@ -3990,7 +3983,7 @@ check_node_accept_bytes (const re_dfa_t |
5595 | return 0; | 5671 | return 0; |
5596 | } | 5672 | } |
5597 | 5673 | ||
@@ -5600,7 +5676,7 @@ Index: git/posix/regexec.c | |||
5600 | static unsigned int | 5676 | static unsigned int |
5601 | internal_function | 5677 | internal_function |
5602 | find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) | 5678 | find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) |
5603 | @@ -4046,7 +4039,7 @@ | 5679 | @@ -4048,7 +4041,7 @@ find_collation_sequence_value (const uns |
5604 | return UINT_MAX; | 5680 | return UINT_MAX; |
5605 | } | 5681 | } |
5606 | } | 5682 | } |
@@ -5609,7 +5685,7 @@ Index: git/posix/regexec.c | |||
5609 | #endif /* RE_ENABLE_I18N */ | 5685 | #endif /* RE_ENABLE_I18N */ |
5610 | 5686 | ||
5611 | /* Check whether the node accepts the byte which is IDX-th | 5687 | /* Check whether the node accepts the byte which is IDX-th |
5612 | @@ -4137,7 +4130,7 @@ | 5688 | @@ -4139,7 +4132,7 @@ extend_buffers (re_match_context_t *mctx |
5613 | if (pstr->icase) | 5689 | if (pstr->icase) |
5614 | { | 5690 | { |
5615 | #ifdef RE_ENABLE_I18N | 5691 | #ifdef RE_ENABLE_I18N |
@@ -5618,7 +5694,7 @@ Index: git/posix/regexec.c | |||
5618 | { | 5694 | { |
5619 | ret = build_wcs_upper_buffer (pstr); | 5695 | ret = build_wcs_upper_buffer (pstr); |
5620 | if (BE (ret != REG_NOERROR, 0)) | 5696 | if (BE (ret != REG_NOERROR, 0)) |
5621 | @@ -4150,7 +4143,7 @@ | 5697 | @@ -4152,7 +4145,7 @@ extend_buffers (re_match_context_t *mctx |
5622 | else | 5698 | else |
5623 | { | 5699 | { |
5624 | #ifdef RE_ENABLE_I18N | 5700 | #ifdef RE_ENABLE_I18N |
@@ -5629,8 +5705,8 @@ Index: git/posix/regexec.c | |||
5629 | #endif /* RE_ENABLE_I18N */ | 5705 | #endif /* RE_ENABLE_I18N */ |
5630 | Index: git/posix/regexec-compat.c | 5706 | Index: git/posix/regexec-compat.c |
5631 | =================================================================== | 5707 | =================================================================== |
5632 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 5708 | --- /dev/null |
5633 | +++ git/posix/regexec-compat.c 2014-08-29 20:01:15.224070587 -0700 | 5709 | +++ git/posix/regexec-compat.c |
5634 | @@ -0,0 +1,39 @@ | 5710 | @@ -0,0 +1,39 @@ |
5635 | +/* Extended regular expression matching and search library. | 5711 | +/* Extended regular expression matching and search library. |
5636 | + Copyright (C) 2008 Free Software Foundation, Inc. | 5712 | + Copyright (C) 2008 Free Software Foundation, Inc. |
@@ -5673,8 +5749,8 @@ Index: git/posix/regexec-compat.c | |||
5673 | +#endif | 5749 | +#endif |
5674 | Index: git/posix/regex.h | 5750 | Index: git/posix/regex.h |
5675 | =================================================================== | 5751 | =================================================================== |
5676 | --- git.orig/posix/regex.h 2014-08-29 20:00:53.264070587 -0700 | 5752 | --- git.orig/posix/regex.h |
5677 | +++ git/posix/regex.h 2014-08-29 20:01:15.224070587 -0700 | 5753 | +++ git/posix/regex.h |
5678 | @@ -21,6 +21,7 @@ | 5754 | @@ -21,6 +21,7 @@ |
5679 | #define _REGEX_H 1 | 5755 | #define _REGEX_H 1 |
5680 | 5756 | ||
@@ -5683,7 +5759,7 @@ Index: git/posix/regex.h | |||
5683 | 5759 | ||
5684 | /* Allow the use in C++ code. */ | 5760 | /* Allow the use in C++ code. */ |
5685 | #ifdef __cplusplus | 5761 | #ifdef __cplusplus |
5686 | @@ -156,6 +157,8 @@ | 5762 | @@ -156,6 +157,8 @@ typedef unsigned long int reg_syntax_t; |
5687 | treated as 'a\{1'. */ | 5763 | treated as 'a\{1'. */ |
5688 | # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) | 5764 | # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) |
5689 | 5765 | ||
@@ -5692,7 +5768,7 @@ Index: git/posix/regex.h | |||
5692 | /* If this bit is set, then ignore case when matching. | 5768 | /* If this bit is set, then ignore case when matching. |
5693 | If not set, then case is significant. */ | 5769 | If not set, then case is significant. */ |
5694 | # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) | 5770 | # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) |
5695 | @@ -172,6 +175,7 @@ | 5771 | @@ -172,6 +175,7 @@ typedef unsigned long int reg_syntax_t; |
5696 | /* If this bit is set, then no_sub will be set to 1 during | 5772 | /* If this bit is set, then no_sub will be set to 1 during |
5697 | re_compile_pattern. */ | 5773 | re_compile_pattern. */ |
5698 | # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) | 5774 | # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) |
@@ -5700,7 +5776,7 @@ Index: git/posix/regex.h | |||
5700 | #endif | 5776 | #endif |
5701 | 5777 | ||
5702 | /* This global variable defines the particular regexp syntax to use (for | 5778 | /* This global variable defines the particular regexp syntax to use (for |
5703 | @@ -231,8 +235,13 @@ | 5779 | @@ -231,8 +235,13 @@ extern reg_syntax_t re_syntax_options; |
5704 | (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | 5780 | (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ |
5705 | | RE_INTERVALS | RE_NO_EMPTY_RANGES) | 5781 | | RE_INTERVALS | RE_NO_EMPTY_RANGES) |
5706 | 5782 | ||
@@ -5714,7 +5790,7 @@ Index: git/posix/regex.h | |||
5714 | 5790 | ||
5715 | /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes | 5791 | /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes |
5716 | RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this | 5792 | RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this |
5717 | @@ -298,9 +307,11 @@ | 5793 | @@ -298,9 +307,11 @@ extern reg_syntax_t re_syntax_options; |
5718 | /* Like REG_NOTBOL, except for the end-of-line. */ | 5794 | /* Like REG_NOTBOL, except for the end-of-line. */ |
5719 | #define REG_NOTEOL (1 << 1) | 5795 | #define REG_NOTEOL (1 << 1) |
5720 | 5796 | ||
@@ -5728,9 +5804,9 @@ Index: git/posix/regex.h | |||
5728 | /* If any error codes are removed, changed, or added, update the | 5804 | /* If any error codes are removed, changed, or added, update the |
5729 | Index: git/posix/regex_internal.c | 5805 | Index: git/posix/regex_internal.c |
5730 | =================================================================== | 5806 | =================================================================== |
5731 | --- git.orig/posix/regex_internal.c 2014-08-29 20:00:53.264070587 -0700 | 5807 | --- git.orig/posix/regex_internal.c |
5732 | +++ git/posix/regex_internal.c 2014-08-29 20:01:15.224070587 -0700 | 5808 | +++ git/posix/regex_internal.c |
5733 | @@ -43,8 +43,8 @@ | 5809 | @@ -43,8 +43,8 @@ re_string_allocate (re_string_t *pstr, c |
5734 | int init_buf_len; | 5810 | int init_buf_len; |
5735 | 5811 | ||
5736 | /* Ensure at least one character fits into the buffers. */ | 5812 | /* Ensure at least one character fits into the buffers. */ |
@@ -5741,7 +5817,7 @@ Index: git/posix/regex_internal.c | |||
5741 | init_buf_len = (len + 1 < init_len) ? len + 1: init_len; | 5817 | init_buf_len = (len + 1 < init_len) ? len + 1: init_len; |
5742 | re_string_construct_common (str, len, pstr, trans, icase, dfa); | 5818 | re_string_construct_common (str, len, pstr, trans, icase, dfa); |
5743 | 5819 | ||
5744 | @@ -55,7 +55,7 @@ | 5820 | @@ -55,7 +55,7 @@ re_string_allocate (re_string_t *pstr, c |
5745 | pstr->word_char = dfa->word_char; | 5821 | pstr->word_char = dfa->word_char; |
5746 | pstr->word_ops_used = dfa->word_ops_used; | 5822 | pstr->word_ops_used = dfa->word_ops_used; |
5747 | pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; | 5823 | pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; |
@@ -5750,7 +5826,7 @@ Index: git/posix/regex_internal.c | |||
5750 | pstr->valid_raw_len = pstr->valid_len; | 5826 | pstr->valid_raw_len = pstr->valid_len; |
5751 | return REG_NOERROR; | 5827 | return REG_NOERROR; |
5752 | } | 5828 | } |
5753 | @@ -82,7 +82,7 @@ | 5829 | @@ -82,7 +82,7 @@ re_string_construct (re_string_t *pstr, |
5754 | if (icase) | 5830 | if (icase) |
5755 | { | 5831 | { |
5756 | #ifdef RE_ENABLE_I18N | 5832 | #ifdef RE_ENABLE_I18N |
@@ -5759,7 +5835,7 @@ Index: git/posix/regex_internal.c | |||
5759 | { | 5835 | { |
5760 | while (1) | 5836 | while (1) |
5761 | { | 5837 | { |
5762 | @@ -91,7 +91,7 @@ | 5838 | @@ -91,7 +91,7 @@ re_string_construct (re_string_t *pstr, |
5763 | return ret; | 5839 | return ret; |
5764 | if (pstr->valid_raw_len >= len) | 5840 | if (pstr->valid_raw_len >= len) |
5765 | break; | 5841 | break; |
@@ -5768,7 +5844,7 @@ Index: git/posix/regex_internal.c | |||
5768 | break; | 5844 | break; |
5769 | ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); | 5845 | ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); |
5770 | if (BE (ret != REG_NOERROR, 0)) | 5846 | if (BE (ret != REG_NOERROR, 0)) |
5771 | @@ -105,7 +105,7 @@ | 5847 | @@ -105,7 +105,7 @@ re_string_construct (re_string_t *pstr, |
5772 | else | 5848 | else |
5773 | { | 5849 | { |
5774 | #ifdef RE_ENABLE_I18N | 5850 | #ifdef RE_ENABLE_I18N |
@@ -5777,7 +5853,7 @@ Index: git/posix/regex_internal.c | |||
5777 | build_wcs_buffer (pstr); | 5853 | build_wcs_buffer (pstr); |
5778 | else | 5854 | else |
5779 | #endif /* RE_ENABLE_I18N */ | 5855 | #endif /* RE_ENABLE_I18N */ |
5780 | @@ -130,7 +130,7 @@ | 5856 | @@ -130,7 +130,7 @@ internal_function __attribute_warn_unuse |
5781 | re_string_realloc_buffers (re_string_t *pstr, int new_buf_len) | 5857 | re_string_realloc_buffers (re_string_t *pstr, int new_buf_len) |
5782 | { | 5858 | { |
5783 | #ifdef RE_ENABLE_I18N | 5859 | #ifdef RE_ENABLE_I18N |
@@ -5786,7 +5862,7 @@ Index: git/posix/regex_internal.c | |||
5786 | { | 5862 | { |
5787 | wint_t *new_wcs; | 5863 | wint_t *new_wcs; |
5788 | 5864 | ||
5789 | @@ -177,7 +177,7 @@ | 5865 | @@ -177,7 +177,7 @@ re_string_construct_common (const char * |
5790 | pstr->trans = trans; | 5866 | pstr->trans = trans; |
5791 | pstr->icase = icase ? 1 : 0; | 5867 | pstr->icase = icase ? 1 : 0; |
5792 | pstr->mbs_allocated = (trans != NULL || icase); | 5868 | pstr->mbs_allocated = (trans != NULL || icase); |
@@ -5795,7 +5871,7 @@ Index: git/posix/regex_internal.c | |||
5795 | pstr->is_utf8 = dfa->is_utf8; | 5871 | pstr->is_utf8 = dfa->is_utf8; |
5796 | pstr->map_notascii = dfa->map_notascii; | 5872 | pstr->map_notascii = dfa->map_notascii; |
5797 | pstr->stop = pstr->len; | 5873 | pstr->stop = pstr->len; |
5798 | @@ -203,7 +203,7 @@ | 5874 | @@ -203,7 +203,7 @@ build_wcs_buffer (re_string_t *pstr) |
5799 | { | 5875 | { |
5800 | #ifdef _LIBC | 5876 | #ifdef _LIBC |
5801 | unsigned char buf[MB_LEN_MAX]; | 5877 | unsigned char buf[MB_LEN_MAX]; |
@@ -5804,7 +5880,7 @@ Index: git/posix/regex_internal.c | |||
5804 | #else | 5880 | #else |
5805 | unsigned char buf[64]; | 5881 | unsigned char buf[64]; |
5806 | #endif | 5882 | #endif |
5807 | @@ -226,7 +226,7 @@ | 5883 | @@ -226,7 +226,7 @@ build_wcs_buffer (re_string_t *pstr) |
5808 | { | 5884 | { |
5809 | int i, ch; | 5885 | int i, ch; |
5810 | 5886 | ||
@@ -5813,7 +5889,7 @@ Index: git/posix/regex_internal.c | |||
5813 | { | 5889 | { |
5814 | ch = pstr->raw_mbs [pstr->raw_mbs_idx + byte_idx + i]; | 5890 | ch = pstr->raw_mbs [pstr->raw_mbs_idx + byte_idx + i]; |
5815 | buf[i] = pstr->mbs[byte_idx + i] = pstr->trans[ch]; | 5891 | buf[i] = pstr->mbs[byte_idx + i] = pstr->trans[ch]; |
5816 | @@ -275,7 +275,7 @@ | 5892 | @@ -275,7 +275,7 @@ build_wcs_upper_buffer (re_string_t *pst |
5817 | size_t mbclen; | 5893 | size_t mbclen; |
5818 | #ifdef _LIBC | 5894 | #ifdef _LIBC |
5819 | char buf[MB_LEN_MAX]; | 5895 | char buf[MB_LEN_MAX]; |
@@ -5822,7 +5898,7 @@ Index: git/posix/regex_internal.c | |||
5822 | #else | 5898 | #else |
5823 | char buf[64]; | 5899 | char buf[64]; |
5824 | #endif | 5900 | #endif |
5825 | @@ -369,7 +369,7 @@ | 5901 | @@ -369,7 +369,7 @@ build_wcs_upper_buffer (re_string_t *pst |
5826 | { | 5902 | { |
5827 | int i, ch; | 5903 | int i, ch; |
5828 | 5904 | ||
@@ -5831,7 +5907,7 @@ Index: git/posix/regex_internal.c | |||
5831 | { | 5907 | { |
5832 | ch = pstr->raw_mbs [pstr->raw_mbs_idx + src_idx + i]; | 5908 | ch = pstr->raw_mbs [pstr->raw_mbs_idx + src_idx + i]; |
5833 | buf[i] = pstr->trans[ch]; | 5909 | buf[i] = pstr->trans[ch]; |
5834 | @@ -567,8 +567,9 @@ | 5910 | @@ -567,8 +567,9 @@ re_string_translate_buffer (re_string_t |
5835 | } | 5911 | } |
5836 | 5912 | ||
5837 | /* This function re-construct the buffers. | 5913 | /* This function re-construct the buffers. |
@@ -5843,7 +5919,7 @@ Index: git/posix/regex_internal.c | |||
5843 | 5919 | ||
5844 | static reg_errcode_t | 5920 | static reg_errcode_t |
5845 | internal_function __attribute_warn_unused_result__ | 5921 | internal_function __attribute_warn_unused_result__ |
5846 | @@ -579,7 +580,7 @@ | 5922 | @@ -579,7 +580,7 @@ re_string_reconstruct (re_string_t *pstr |
5847 | { | 5923 | { |
5848 | /* Reset buffer. */ | 5924 | /* Reset buffer. */ |
5849 | #ifdef RE_ENABLE_I18N | 5925 | #ifdef RE_ENABLE_I18N |
@@ -5852,7 +5928,7 @@ Index: git/posix/regex_internal.c | |||
5852 | memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); | 5928 | memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); |
5853 | #endif /* RE_ENABLE_I18N */ | 5929 | #endif /* RE_ENABLE_I18N */ |
5854 | pstr->len = pstr->raw_len; | 5930 | pstr->len = pstr->raw_len; |
5855 | @@ -670,7 +671,7 @@ | 5931 | @@ -670,7 +671,7 @@ re_string_reconstruct (re_string_t *pstr |
5856 | pstr->tip_context = re_string_context_at (pstr, offset - 1, | 5932 | pstr->tip_context = re_string_context_at (pstr, offset - 1, |
5857 | eflags); | 5933 | eflags); |
5858 | #ifdef RE_ENABLE_I18N | 5934 | #ifdef RE_ENABLE_I18N |
@@ -5861,7 +5937,7 @@ Index: git/posix/regex_internal.c | |||
5861 | memmove (pstr->wcs, pstr->wcs + offset, | 5937 | memmove (pstr->wcs, pstr->wcs + offset, |
5862 | (pstr->valid_len - offset) * sizeof (wint_t)); | 5938 | (pstr->valid_len - offset) * sizeof (wint_t)); |
5863 | #endif /* RE_ENABLE_I18N */ | 5939 | #endif /* RE_ENABLE_I18N */ |
5864 | @@ -699,7 +700,7 @@ | 5940 | @@ -699,7 +700,7 @@ re_string_reconstruct (re_string_t *pstr |
5865 | #endif | 5941 | #endif |
5866 | pstr->valid_len = 0; | 5942 | pstr->valid_len = 0; |
5867 | #ifdef RE_ENABLE_I18N | 5943 | #ifdef RE_ENABLE_I18N |
@@ -5870,7 +5946,7 @@ Index: git/posix/regex_internal.c | |||
5870 | { | 5946 | { |
5871 | int wcs_idx; | 5947 | int wcs_idx; |
5872 | wint_t wc = WEOF; | 5948 | wint_t wc = WEOF; |
5873 | @@ -711,7 +712,7 @@ | 5949 | @@ -711,7 +712,7 @@ re_string_reconstruct (re_string_t *pstr |
5874 | /* Special case UTF-8. Multi-byte chars start with any | 5950 | /* Special case UTF-8. Multi-byte chars start with any |
5875 | byte other than 0x80 - 0xbf. */ | 5951 | byte other than 0x80 - 0xbf. */ |
5876 | raw = pstr->raw_mbs + pstr->raw_mbs_idx; | 5952 | raw = pstr->raw_mbs + pstr->raw_mbs_idx; |
@@ -5879,7 +5955,7 @@ Index: git/posix/regex_internal.c | |||
5879 | if (end < pstr->raw_mbs) | 5955 | if (end < pstr->raw_mbs) |
5880 | end = pstr->raw_mbs; | 5956 | end = pstr->raw_mbs; |
5881 | p = raw + offset - 1; | 5957 | p = raw + offset - 1; |
5882 | @@ -803,7 +804,7 @@ | 5958 | @@ -803,7 +804,7 @@ re_string_reconstruct (re_string_t *pstr |
5883 | 5959 | ||
5884 | /* Then build the buffers. */ | 5960 | /* Then build the buffers. */ |
5885 | #ifdef RE_ENABLE_I18N | 5961 | #ifdef RE_ENABLE_I18N |
@@ -5888,7 +5964,7 @@ Index: git/posix/regex_internal.c | |||
5888 | { | 5964 | { |
5889 | if (pstr->icase) | 5965 | if (pstr->icase) |
5890 | { | 5966 | { |
5891 | @@ -841,7 +842,7 @@ | 5967 | @@ -841,7 +842,7 @@ re_string_peek_byte_case (const re_strin |
5892 | return re_string_peek_byte (pstr, idx); | 5968 | return re_string_peek_byte (pstr, idx); |
5893 | 5969 | ||
5894 | #ifdef RE_ENABLE_I18N | 5970 | #ifdef RE_ENABLE_I18N |
@@ -5897,7 +5973,7 @@ Index: git/posix/regex_internal.c | |||
5897 | && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) | 5973 | && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) |
5898 | return re_string_peek_byte (pstr, idx); | 5974 | return re_string_peek_byte (pstr, idx); |
5899 | #endif | 5975 | #endif |
5900 | @@ -930,7 +931,7 @@ | 5976 | @@ -930,7 +931,7 @@ re_string_context_at (const re_string_t |
5901 | return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF | 5977 | return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF |
5902 | : CONTEXT_NEWLINE | CONTEXT_ENDBUF); | 5978 | : CONTEXT_NEWLINE | CONTEXT_ENDBUF); |
5903 | #ifdef RE_ENABLE_I18N | 5979 | #ifdef RE_ENABLE_I18N |
@@ -5906,7 +5982,7 @@ Index: git/posix/regex_internal.c | |||
5906 | { | 5982 | { |
5907 | wint_t wc; | 5983 | wint_t wc; |
5908 | int wc_idx = idx; | 5984 | int wc_idx = idx; |
5909 | @@ -1444,7 +1445,7 @@ | 5985 | @@ -1444,7 +1445,7 @@ re_dfa_add_node (re_dfa_t *dfa, re_token |
5910 | dfa->nodes[dfa->nodes_len].constraint = 0; | 5986 | dfa->nodes[dfa->nodes_len].constraint = 0; |
5911 | #ifdef RE_ENABLE_I18N | 5987 | #ifdef RE_ENABLE_I18N |
5912 | dfa->nodes[dfa->nodes_len].accept_mb = | 5988 | dfa->nodes[dfa->nodes_len].accept_mb = |
@@ -5917,8 +5993,8 @@ Index: git/posix/regex_internal.c | |||
5917 | re_node_set_init_empty (dfa->edests + dfa->nodes_len); | 5993 | re_node_set_init_empty (dfa->edests + dfa->nodes_len); |
5918 | Index: git/posix/regex_internal.h | 5994 | Index: git/posix/regex_internal.h |
5919 | =================================================================== | 5995 | =================================================================== |
5920 | --- git.orig/posix/regex_internal.h 2014-08-29 20:00:53.264070587 -0700 | 5996 | --- git.orig/posix/regex_internal.h |
5921 | +++ git/posix/regex_internal.h 2014-08-29 20:01:15.224070587 -0700 | 5997 | +++ git/posix/regex_internal.h |
5922 | @@ -26,6 +26,10 @@ | 5998 | @@ -26,6 +26,10 @@ |
5923 | #include <stdlib.h> | 5999 | #include <stdlib.h> |
5924 | #include <string.h> | 6000 | #include <string.h> |
@@ -5930,7 +6006,7 @@ Index: git/posix/regex_internal.h | |||
5930 | #if defined HAVE_LANGINFO_H || defined HAVE_LANGINFO_CODESET || defined _LIBC | 6006 | #if defined HAVE_LANGINFO_H || defined HAVE_LANGINFO_CODESET || defined _LIBC |
5931 | # include <langinfo.h> | 6007 | # include <langinfo.h> |
5932 | #endif | 6008 | #endif |
5933 | @@ -370,6 +374,13 @@ | 6009 | @@ -369,6 +373,13 @@ struct re_string_t |
5934 | }; | 6010 | }; |
5935 | typedef struct re_string_t re_string_t; | 6011 | typedef struct re_string_t re_string_t; |
5936 | 6012 | ||
@@ -5944,7 +6020,7 @@ Index: git/posix/regex_internal.h | |||
5944 | 6020 | ||
5945 | struct re_dfa_t; | 6021 | struct re_dfa_t; |
5946 | typedef struct re_dfa_t re_dfa_t; | 6022 | typedef struct re_dfa_t re_dfa_t; |
5947 | @@ -655,6 +666,14 @@ | 6023 | @@ -654,6 +665,14 @@ struct re_dfa_t |
5948 | __libc_lock_define (, lock) | 6024 | __libc_lock_define (, lock) |
5949 | }; | 6025 | }; |
5950 | 6026 | ||
@@ -5959,7 +6035,7 @@ Index: git/posix/regex_internal.h | |||
5959 | #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) | 6035 | #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) |
5960 | #define re_node_set_remove(set,id) \ | 6036 | #define re_node_set_remove(set,id) \ |
5961 | (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) | 6037 | (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) |
5962 | @@ -715,7 +734,7 @@ | 6038 | @@ -714,7 +733,7 @@ internal_function __attribute__ ((pure, |
5963 | re_string_char_size_at (const re_string_t *pstr, int idx) | 6039 | re_string_char_size_at (const re_string_t *pstr, int idx) |
5964 | { | 6040 | { |
5965 | int byte_idx; | 6041 | int byte_idx; |
@@ -5968,7 +6044,7 @@ Index: git/posix/regex_internal.h | |||
5968 | return 1; | 6044 | return 1; |
5969 | for (byte_idx = 1; idx + byte_idx < pstr->valid_len; ++byte_idx) | 6045 | for (byte_idx = 1; idx + byte_idx < pstr->valid_len; ++byte_idx) |
5970 | if (pstr->wcs[idx + byte_idx] != WEOF) | 6046 | if (pstr->wcs[idx + byte_idx] != WEOF) |
5971 | @@ -727,7 +746,7 @@ | 6047 | @@ -726,7 +745,7 @@ static wint_t |
5972 | internal_function __attribute__ ((pure, unused)) | 6048 | internal_function __attribute__ ((pure, unused)) |
5973 | re_string_wchar_at (const re_string_t *pstr, int idx) | 6049 | re_string_wchar_at (const re_string_t *pstr, int idx) |
5974 | { | 6050 | { |
@@ -5979,9 +6055,9 @@ Index: git/posix/regex_internal.h | |||
5979 | } | 6055 | } |
5980 | Index: git/posix/xregex.c | 6056 | Index: git/posix/xregex.c |
5981 | =================================================================== | 6057 | =================================================================== |
5982 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 6058 | --- /dev/null |
5983 | +++ git/posix/xregex.c 2014-08-29 20:01:15.228070587 -0700 | 6059 | +++ git/posix/xregex.c |
5984 | @@ -0,0 +1,8212 @@ | 6060 | @@ -0,0 +1,8215 @@ |
5985 | +/* Extended regular expression matching and search library, | 6061 | +/* Extended regular expression matching and search library, |
5986 | + version 0.12. | 6062 | + version 0.12. |
5987 | + (Implements POSIX draft P1003.2/D11.2, except for some of the | 6063 | + (Implements POSIX draft P1003.2/D11.2, except for some of the |
@@ -6022,6 +6098,7 @@ Index: git/posix/xregex.c | |||
6022 | + | 6098 | + |
6023 | +/*#include <ansidecl.h>*/ | 6099 | +/*#include <ansidecl.h>*/ |
6024 | + | 6100 | + |
6101 | + | ||
6025 | +#ifndef INSIDE_RECURSION | 6102 | +#ifndef INSIDE_RECURSION |
6026 | + | 6103 | + |
6027 | +# if defined STDC_HEADERS && !defined emacs | 6104 | +# if defined STDC_HEADERS && !defined emacs |
@@ -6031,8 +6108,11 @@ Index: git/posix/xregex.c | |||
6031 | +# include <sys/types.h> | 6108 | +# include <sys/types.h> |
6032 | +# endif | 6109 | +# endif |
6033 | + | 6110 | + |
6034 | +# define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC) | 6111 | +# if (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H && defined HAVE_BTOWC) |
6035 | + | 6112 | +# define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC) |
6113 | +# else | ||
6114 | +# define WIDE_CHAR_SUPPORT 0 | ||
6115 | +# endif | ||
6036 | +/* For platform which support the ISO C amendement 1 functionality we | 6116 | +/* For platform which support the ISO C amendement 1 functionality we |
6037 | + support user defined character classes. */ | 6117 | + support user defined character classes. */ |
6038 | +# if WIDE_CHAR_SUPPORT | 6118 | +# if WIDE_CHAR_SUPPORT |
@@ -6593,6 +6673,8 @@ Index: git/posix/xregex.c | |||
6593 | +# define PREFIX(name) byte_##name | 6673 | +# define PREFIX(name) byte_##name |
6594 | +# define ARG_PREFIX(name) name | 6674 | +# define ARG_PREFIX(name) name |
6595 | +# define PUT_CHAR(c) putchar (c) | 6675 | +# define PUT_CHAR(c) putchar (c) |
6676 | +# include <locale/weight.h> | ||
6677 | +# define FINDIDX findidx | ||
6596 | +#else | 6678 | +#else |
6597 | +# ifdef WCHAR | 6679 | +# ifdef WCHAR |
6598 | +# define CHAR_T wchar_t | 6680 | +# define CHAR_T wchar_t |
@@ -6606,6 +6688,10 @@ Index: git/posix/xregex.c | |||
6606 | +# define PUT_CHAR(c) printf ("%C", c); | 6688 | +# define PUT_CHAR(c) printf ("%C", c); |
6607 | +# define TRUE 1 | 6689 | +# define TRUE 1 |
6608 | +# define FALSE 0 | 6690 | +# define FALSE 0 |
6691 | +# define findidx findidxwc | ||
6692 | +# include <locale/weightwc.h> | ||
6693 | +# undef findidx | ||
6694 | +# define FINDIDX findidxwc | ||
6609 | +# else | 6695 | +# else |
6610 | +# ifdef MBS_SUPPORT | 6696 | +# ifdef MBS_SUPPORT |
6611 | +# define WCHAR | 6697 | +# define WCHAR |
@@ -8001,6 +8087,9 @@ Index: git/posix/xregex.c | |||
8001 | + reset the pointers that pointed into the old block to point to the | 8087 | + reset the pointers that pointed into the old block to point to the |
8002 | + correct places in the new one. If extending the buffer results in it | 8088 | + correct places in the new one. If extending the buffer results in it |
8003 | + being larger than MAX_BUF_SIZE, then flag memory exhausted. */ | 8089 | + being larger than MAX_BUF_SIZE, then flag memory exhausted. */ |
8090 | +# ifndef __BOUNDED_POINTERS__ | ||
8091 | +# define __BOUNDED_POINTERS__ 0 | ||
8092 | +# endif | ||
8004 | +# if __BOUNDED_POINTERS__ | 8093 | +# if __BOUNDED_POINTERS__ |
8005 | +# define SET_HIGH_BOUND(P) (__ptrhigh (P) = __ptrlow (P) + bufp->allocated) | 8094 | +# define SET_HIGH_BOUND(P) (__ptrhigh (P) = __ptrlow (P) + bufp->allocated) |
8006 | +# define MOVE_BUFFER_POINTER(P) \ | 8095 | +# define MOVE_BUFFER_POINTER(P) \ |
@@ -8906,9 +8995,6 @@ Index: git/posix/xregex.c | |||
8906 | + const int32_t *indirect; | 8995 | + const int32_t *indirect; |
8907 | + wint_t *cp; | 8996 | + wint_t *cp; |
8908 | + | 8997 | + |
8909 | + /* This #include defines a local function! */ | ||
8910 | +# include <locale/weightwc.h> | ||
8911 | + | ||
8912 | + if(delim == '=') | 8998 | + if(delim == '=') |
8913 | + { | 8999 | + { |
8914 | + /* We push the index for equivalence class. */ | 9000 | + /* We push the index for equivalence class. */ |
@@ -8920,14 +9006,14 @@ Index: git/posix/xregex.c | |||
8920 | + weights = (const int32_t *) | 9006 | + weights = (const int32_t *) |
8921 | + _NL_CURRENT (LC_COLLATE, | 9007 | + _NL_CURRENT (LC_COLLATE, |
8922 | + _NL_COLLATE_WEIGHTWC); | 9008 | + _NL_COLLATE_WEIGHTWC); |
8923 | + extra = (const int32_t *) | 9009 | + extra = (const wint_t *) |
8924 | + _NL_CURRENT (LC_COLLATE, | 9010 | + _NL_CURRENT (LC_COLLATE, |
8925 | + _NL_COLLATE_EXTRAWC); | 9011 | + _NL_COLLATE_EXTRAWC); |
8926 | + indirect = (const int32_t *) | 9012 | + indirect = (const int32_t *) |
8927 | + _NL_CURRENT (LC_COLLATE, | 9013 | + _NL_CURRENT (LC_COLLATE, |
8928 | + _NL_COLLATE_INDIRECTWC); | 9014 | + _NL_COLLATE_INDIRECTWC); |
8929 | + | 9015 | + |
8930 | + idx = findidx ((const wint_t**)&cp, c1); | 9016 | + idx = FINDIDX (table, indirect, extra, &cp, 1); |
8931 | + if (idx == 0 || cp < (wint_t*) str + c1) | 9017 | + if (idx == 0 || cp < (wint_t*) str + c1) |
8932 | + /* This is no valid character. */ | 9018 | + /* This is no valid character. */ |
8933 | + FREE_STACK_RETURN (REG_ECOLLATE); | 9019 | + FREE_STACK_RETURN (REG_ECOLLATE); |
@@ -9364,9 +9450,6 @@ Index: git/posix/xregex.c | |||
9364 | + const unsigned char *cp = str; | 9450 | + const unsigned char *cp = str; |
9365 | + int ch; | 9451 | + int ch; |
9366 | + | 9452 | + |
9367 | + /* This #include defines a local function! */ | ||
9368 | +# include <locale/weight.h> | ||
9369 | + | ||
9370 | + table = (const int32_t *) | 9453 | + table = (const int32_t *) |
9371 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); | 9454 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); |
9372 | + weights = (const unsigned char *) | 9455 | + weights = (const unsigned char *) |
@@ -9375,8 +9458,7 @@ Index: git/posix/xregex.c | |||
9375 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); | 9458 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); |
9376 | + indirect = (const int32_t *) | 9459 | + indirect = (const int32_t *) |
9377 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); | 9460 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); |
9378 | + | 9461 | + idx = FINDIDX (table, indirect, extra, &cp, 1); |
9379 | + idx = findidx (&cp, c1); | ||
9380 | + if (idx == 0 || cp < str + c1) | 9462 | + if (idx == 0 || cp < str + c1) |
9381 | + /* This is no valid character. */ | 9463 | + /* This is no valid character. */ |
9382 | + FREE_STACK_RETURN (REG_ECOLLATE); | 9464 | + FREE_STACK_RETURN (REG_ECOLLATE); |
@@ -12319,9 +12401,6 @@ Index: git/posix/xregex.c | |||
12319 | + wint_t *cp; | 12401 | + wint_t *cp; |
12320 | + size_t len; | 12402 | + size_t len; |
12321 | + | 12403 | + |
12322 | + /* This #include defines a local function! */ | ||
12323 | +# include <locale/weightwc.h> | ||
12324 | + | ||
12325 | + table = (const int32_t *) | 12404 | + table = (const int32_t *) |
12326 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEWC); | 12405 | + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEWC); |
12327 | + weights = (const wint_t *) | 12406 | + weights = (const wint_t *) |
@@ -12347,7 +12426,7 @@ Index: git/posix/xregex.c | |||
12347 | + } | 12426 | + } |
12348 | + str_buf[i] = TRANSLATE(*(d+i)); | 12427 | + str_buf[i] = TRANSLATE(*(d+i)); |
12349 | + str_buf[i+1] = '\0'; /* sentinel */ | 12428 | + str_buf[i+1] = '\0'; /* sentinel */ |
12350 | + idx2 = findidx ((const wint_t**)&cp, i); | 12429 | + idx2 = FINDIDX (table, indirect, extra, &cp, 1); |
12351 | + } | 12430 | + } |
12352 | + | 12431 | + |
12353 | + /* Update d, however d will be incremented at | 12432 | + /* Update d, however d will be incremented at |
@@ -13129,8 +13208,8 @@ Index: git/posix/xregex.c | |||
13129 | + register from the stack, since lowest will == highest in | 13208 | + register from the stack, since lowest will == highest in |
13130 | + `pop_failure_point'. */ | 13209 | + `pop_failure_point'. */ |
13131 | + active_reg_t dummy_low_reg, dummy_high_reg; | 13210 | + active_reg_t dummy_low_reg, dummy_high_reg; |
13132 | + UCHAR_T *pdummy = NULL; | 13211 | + UCHAR_T *pdummy __attribute__ ((unused)) = NULL; |
13133 | + const CHAR_T *sdummy = NULL; | 13212 | + const CHAR_T *sdummy __attribute__ ((unused)) = NULL; |
13134 | + | 13213 | + |
13135 | + DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n"); | 13214 | + DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n"); |
13136 | + POP_FAILURE_POINT (sdummy, pdummy, | 13215 | + POP_FAILURE_POINT (sdummy, pdummy, |
@@ -14196,8 +14275,8 @@ Index: git/posix/xregex.c | |||
14196 | +# define DEFINED_ONCE | 14275 | +# define DEFINED_ONCE |
14197 | Index: git/pwd/Makefile | 14276 | Index: git/pwd/Makefile |
14198 | =================================================================== | 14277 | =================================================================== |
14199 | --- git.orig/pwd/Makefile 2014-08-29 20:00:53.316070587 -0700 | 14278 | --- git.orig/pwd/Makefile |
14200 | +++ git/pwd/Makefile 2014-08-29 20:01:15.232070587 -0700 | 14279 | +++ git/pwd/Makefile |
14201 | @@ -18,6 +18,8 @@ | 14280 | @@ -18,6 +18,8 @@ |
14202 | # | 14281 | # |
14203 | # Sub-makefile for pwd portion of the library. | 14282 | # Sub-makefile for pwd portion of the library. |
@@ -14209,8 +14288,8 @@ Index: git/pwd/Makefile | |||
14209 | include ../Makeconfig | 14288 | include ../Makeconfig |
14210 | Index: git/resolv/Makefile | 14289 | Index: git/resolv/Makefile |
14211 | =================================================================== | 14290 | =================================================================== |
14212 | --- git.orig/resolv/Makefile 2014-08-29 20:00:53.320070587 -0700 | 14291 | --- git.orig/resolv/Makefile |
14213 | +++ git/resolv/Makefile 2014-08-29 20:01:15.232070587 -0700 | 14292 | +++ git/resolv/Makefile |
14214 | @@ -18,6 +18,8 @@ | 14293 | @@ -18,6 +18,8 @@ |
14215 | # | 14294 | # |
14216 | # Sub-makefile for resolv portion of the library. | 14295 | # Sub-makefile for resolv portion of the library. |
@@ -14220,7 +14299,7 @@ Index: git/resolv/Makefile | |||
14220 | subdir := resolv | 14299 | subdir := resolv |
14221 | 14300 | ||
14222 | include ../Makeconfig | 14301 | include ../Makeconfig |
14223 | @@ -27,20 +29,21 @@ | 14302 | @@ -27,20 +29,21 @@ headers := resolv.h \ |
14224 | arpa/nameser.h arpa/nameser_compat.h \ | 14303 | arpa/nameser.h arpa/nameser_compat.h \ |
14225 | sys/bitypes.h | 14304 | sys/bitypes.h |
14226 | 14305 | ||
@@ -14250,7 +14329,7 @@ Index: git/resolv/Makefile | |||
14250 | libresolv-routines := gethnamaddr res_comp res_debug \ | 14329 | libresolv-routines := gethnamaddr res_comp res_debug \ |
14251 | res_data res_mkquery res_query res_send \ | 14330 | res_data res_mkquery res_query res_send \ |
14252 | inet_net_ntop inet_net_pton inet_neta base64 \ | 14331 | inet_net_ntop inet_net_pton inet_neta base64 \ |
14253 | @@ -60,7 +63,7 @@ | 14332 | @@ -60,7 +63,7 @@ routines += $(libnss_dns- |
14254 | static-only-routines += $(libnss_dns-routines) $(libresolv-routines) | 14333 | static-only-routines += $(libnss_dns-routines) $(libresolv-routines) |
14255 | endif | 14334 | endif |
14256 | 14335 | ||
@@ -14261,8 +14340,8 @@ Index: git/resolv/Makefile | |||
14261 | 14340 | ||
14262 | Index: git/stdio-common/fxprintf.c | 14341 | Index: git/stdio-common/fxprintf.c |
14263 | =================================================================== | 14342 | =================================================================== |
14264 | --- git.orig/stdio-common/fxprintf.c 2014-08-29 20:00:53.544070587 -0700 | 14343 | --- git.orig/stdio-common/fxprintf.c |
14265 | +++ git/stdio-common/fxprintf.c 2014-08-29 20:01:15.232070587 -0700 | 14344 | +++ git/stdio-common/fxprintf.c |
14266 | @@ -23,6 +23,7 @@ | 14345 | @@ -23,6 +23,7 @@ |
14267 | #include <wchar.h> | 14346 | #include <wchar.h> |
14268 | #include <string.h> | 14347 | #include <string.h> |
@@ -14271,7 +14350,7 @@ Index: git/stdio-common/fxprintf.c | |||
14271 | 14350 | ||
14272 | 14351 | ||
14273 | int | 14352 | int |
14274 | @@ -37,6 +38,7 @@ | 14353 | @@ -37,6 +38,7 @@ __fxprintf (FILE *fp, const char *fmt, . |
14275 | int res; | 14354 | int res; |
14276 | if (_IO_fwide (fp, 0) > 0) | 14355 | if (_IO_fwide (fp, 0) > 0) |
14277 | { | 14356 | { |
@@ -14279,7 +14358,7 @@ Index: git/stdio-common/fxprintf.c | |||
14279 | size_t len = strlen (fmt) + 1; | 14358 | size_t len = strlen (fmt) + 1; |
14280 | wchar_t wfmt[len]; | 14359 | wchar_t wfmt[len]; |
14281 | for (size_t i = 0; i < len; ++i) | 14360 | for (size_t i = 0; i < len; ++i) |
14282 | @@ -45,6 +47,9 @@ | 14361 | @@ -45,6 +47,9 @@ __fxprintf (FILE *fp, const char *fmt, . |
14283 | wfmt[i] = fmt[i]; | 14362 | wfmt[i] = fmt[i]; |
14284 | } | 14363 | } |
14285 | res = __vfwprintf (fp, wfmt, ap); | 14364 | res = __vfwprintf (fp, wfmt, ap); |
@@ -14291,8 +14370,8 @@ Index: git/stdio-common/fxprintf.c | |||
14291 | res = _IO_vfprintf (fp, fmt, ap); | 14370 | res = _IO_vfprintf (fp, fmt, ap); |
14292 | Index: git/stdio-common/_i18n_number.h | 14371 | Index: git/stdio-common/_i18n_number.h |
14293 | =================================================================== | 14372 | =================================================================== |
14294 | --- git.orig/stdio-common/_i18n_number.h 2014-08-29 20:00:53.500070587 -0700 | 14373 | --- git.orig/stdio-common/_i18n_number.h |
14295 | +++ git/stdio-common/_i18n_number.h 2014-08-29 20:01:15.232070587 -0700 | 14374 | +++ git/stdio-common/_i18n_number.h |
14296 | @@ -19,10 +19,13 @@ | 14375 | @@ -19,10 +19,13 @@ |
14297 | #include <stdbool.h> | 14376 | #include <stdbool.h> |
14298 | #include <wchar.h> | 14377 | #include <wchar.h> |
@@ -14307,7 +14386,7 @@ Index: git/stdio-common/_i18n_number.h | |||
14307 | static CHAR_T * | 14386 | static CHAR_T * |
14308 | _i18n_number_rewrite (CHAR_T *w, CHAR_T *rear_ptr, CHAR_T *end) | 14387 | _i18n_number_rewrite (CHAR_T *w, CHAR_T *rear_ptr, CHAR_T *end) |
14309 | { | 14388 | { |
14310 | @@ -115,3 +118,13 @@ | 14389 | @@ -115,3 +118,13 @@ _i18n_number_rewrite (CHAR_T *w, CHAR_T |
14311 | 14390 | ||
14312 | return w; | 14391 | return w; |
14313 | } | 14392 | } |
@@ -14323,8 +14402,8 @@ Index: git/stdio-common/_i18n_number.h | |||
14323 | +#endif | 14402 | +#endif |
14324 | Index: git/stdio-common/Makefile | 14403 | Index: git/stdio-common/Makefile |
14325 | =================================================================== | 14404 | =================================================================== |
14326 | --- git.orig/stdio-common/Makefile 2014-08-29 20:00:53.500070587 -0700 | 14405 | --- git.orig/stdio-common/Makefile |
14327 | +++ git/stdio-common/Makefile 2014-08-29 20:01:15.232070587 -0700 | 14406 | +++ git/stdio-common/Makefile |
14328 | @@ -18,6 +18,8 @@ | 14407 | @@ -18,6 +18,8 @@ |
14329 | # | 14408 | # |
14330 | # Specific makefile for stdio-common. | 14409 | # Specific makefile for stdio-common. |
@@ -14334,7 +14413,7 @@ Index: git/stdio-common/Makefile | |||
14334 | subdir := stdio-common | 14413 | subdir := stdio-common |
14335 | 14414 | ||
14336 | include ../Makeconfig | 14415 | include ../Makeconfig |
14337 | @@ -30,7 +32,7 @@ | 14416 | @@ -30,7 +32,7 @@ routines := \ |
14338 | vfprintf vprintf printf_fp reg-printf printf-prs printf_fphex \ | 14417 | vfprintf vprintf printf_fp reg-printf printf-prs printf_fphex \ |
14339 | reg-modifier reg-type \ | 14418 | reg-modifier reg-type \ |
14340 | printf_size fprintf printf snprintf sprintf asprintf dprintf \ | 14419 | printf_size fprintf printf snprintf sprintf asprintf dprintf \ |
@@ -14343,7 +14422,7 @@ Index: git/stdio-common/Makefile | |||
14343 | fscanf scanf sscanf \ | 14422 | fscanf scanf sscanf \ |
14344 | perror psignal \ | 14423 | perror psignal \ |
14345 | tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \ | 14424 | tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \ |
14346 | @@ -41,23 +43,37 @@ | 14425 | @@ -41,23 +43,36 @@ routines := \ |
14347 | isoc99_vsscanf \ | 14426 | isoc99_vsscanf \ |
14348 | psiginfo | 14427 | psiginfo |
14349 | 14428 | ||
@@ -14351,10 +14430,10 @@ Index: git/stdio-common/Makefile | |||
14351 | +# Ideally, _itowa and itowa-digits would be in this option group as | 14430 | +# Ideally, _itowa and itowa-digits would be in this option group as |
14352 | +# well, but it is used unconditionally by printf_fp and printf_fphex, | 14431 | +# well, but it is used unconditionally by printf_fp and printf_fphex, |
14353 | +# and it didn't seem straightforward to disentangle it. | 14432 | +# and it didn't seem straightforward to disentangle it. |
14354 | +routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) += \ | 14433 | +routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ |
14355 | + vfwprintf vfwscanf | 14434 | + += vfwprintf vfwscanf |
14356 | + | 14435 | + |
14357 | +aux := errlist siglist printf-parsemb fxprintf | 14436 | +aux := errlist siglist printf-parsemb fxprintf |
14358 | +aux-$(OPTION_POSIX_C_LANG_WIDE_CHAR) += printf-parsewc | 14437 | +aux-$(OPTION_POSIX_C_LANG_WIDE_CHAR) += printf-parsewc |
14359 | 14438 | ||
14360 | tests := tstscanf test_rdwr test-popen tstgetln test-fseek \ | 14439 | tests := tstscanf test_rdwr test-popen tstgetln test-fseek \ |
@@ -14368,7 +14447,6 @@ Index: git/stdio-common/Makefile | |||
14368 | - tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \ | 14447 | - tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \ |
14369 | - tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 \ | 14448 | - tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 \ |
14370 | + scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf \ | 14449 | + scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf \ |
14371 | + scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf \ | ||
14372 | + tst-fseek tst-fmemopen tst-gets \ | 14450 | + tst-fseek tst-fmemopen tst-gets \ |
14373 | + tst-sprintf tst-rndseek tst-fdopen tst-fphex \ | 14451 | + tst-sprintf tst-rndseek tst-fdopen tst-fphex \ |
14374 | tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \ | 14452 | tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \ |
@@ -14376,25 +14454,24 @@ Index: git/stdio-common/Makefile | |||
14376 | - bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \ | 14454 | - bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \ |
14377 | - scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \ | 14455 | - scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \ |
14378 | - bug-vfprintf-nargs tst-long-dbl-fphex tst-fphex-wide tst-sprintf3 \ | 14456 | - bug-vfprintf-nargs tst-long-dbl-fphex tst-fphex-wide tst-sprintf3 \ |
14379 | - bug25 tst-printf-round bug26 | ||
14380 | + tst-fwrite bug16 bug17 tst-sprintf2 bug18 \ | 14457 | + tst-fwrite bug16 bug17 tst-sprintf2 bug18 \ |
14381 | + bug19 tst-popen2 scanf14 scanf15 bug21 bug22 scanf16 scanf17 \ | 14458 | + bug19 tst-popen2 scanf14 scanf15 bug21 bug22 \ |
14382 | + tst-setvbuf1 bug23 bug24 bug-vfprintf-nargs tst-sprintf3 bug25 \ | 14459 | + scanf16 scanf17 tst-setvbuf1 bug23 bug24 \ |
14383 | + tst-printf-round bug26 | 14460 | + bug-vfprintf-nargs tst-sprintf3 \ |
14384 | + | 14461 | bug25 tst-printf-round bug23-2 bug23-3 bug23-4 bug26 |
14385 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ | 14462 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ |
14386 | + += tst-sscanf tst-swprintf test-vfprintf bug14 scanf13 tst-grouping | 14463 | + += tst-sscanf tst-swprintf test-vfprintf bug14 scanf13 tst-grouping |
14387 | +tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ | 14464 | +tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ |
14388 | + += tst-perror bug19a bug20 tst-long-dbl-fphex tst-fphex-wide | 14465 | + += tst-perror bug19a bug20 tst-long-dbl-fphex tst-fphex-wide |
14389 | +tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ | 14466 | +tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ |
14390 | + += bug18a tst-swscanf tst-wc-printf | 14467 | + += bug18a tst-swscanf tst-wc-printf |
14391 | 14468 | ||
14392 | test-srcs = tst-unbputc tst-printf | 14469 | test-srcs = tst-unbputc tst-printf |
14393 | 14470 | ||
14394 | Index: git/stdio-common/printf_fp.c | 14471 | Index: git/stdio-common/printf_fp.c |
14395 | =================================================================== | 14472 | =================================================================== |
14396 | --- git.orig/stdio-common/printf_fp.c 2014-08-29 20:00:53.548070587 -0700 | 14473 | --- git.orig/stdio-common/printf_fp.c |
14397 | +++ git/stdio-common/printf_fp.c 2014-08-29 20:01:15.232070587 -0700 | 14474 | +++ git/stdio-common/printf_fp.c |
14398 | @@ -39,6 +39,7 @@ | 14475 | @@ -39,6 +39,7 @@ |
14399 | #include <unistd.h> | 14476 | #include <unistd.h> |
14400 | #include <stdlib.h> | 14477 | #include <stdlib.h> |
@@ -14403,18 +14480,18 @@ Index: git/stdio-common/printf_fp.c | |||
14403 | #include <stdbool.h> | 14480 | #include <stdbool.h> |
14404 | #include <rounding-mode.h> | 14481 | #include <rounding-mode.h> |
14405 | 14482 | ||
14406 | @@ -148,6 +149,10 @@ | 14483 | @@ -142,6 +143,10 @@ extern mp_size_t __mpn_extract_long_doub |
14407 | wchar_t thousands_sep, int ngroups) | 14484 | extern unsigned int __guess_grouping (unsigned int intdig_max, |
14408 | internal_function; | 14485 | const char *grouping); |
14409 | 14486 | ||
14410 | +/* Ideally, when OPTION_EGLIBC_LOCALE_CODE is disabled, this should do | 14487 | +/* Ideally, when OPTION_EGLIBC_LOCALE_CODE is disabled, this should do |
14411 | + all its work in ordinary characters, rather than doing it in wide | 14488 | + all its work in ordinary characters, rather than doing it in wide |
14412 | + characters and then converting at the end. But that is a challenge | 14489 | + characters and then converting at the end. But that is a challenge |
14413 | + for another day. */ | 14490 | + for another day. */ |
14414 | 14491 | ||
14415 | int | 14492 | static wchar_t *group_number (wchar_t *buf, wchar_t *bufend, |
14416 | ___printf_fp (FILE *fp, | 14493 | unsigned int intdig_no, const char *grouping, |
14417 | @@ -206,7 +211,14 @@ | 14494 | @@ -251,7 +256,14 @@ ___printf_fp (FILE *fp, |
14418 | mp_limb_t cy; | 14495 | mp_limb_t cy; |
14419 | 14496 | ||
14420 | /* Nonzero if this is output on a wide character stream. */ | 14497 | /* Nonzero if this is output on a wide character stream. */ |
@@ -14429,15 +14506,15 @@ Index: git/stdio-common/printf_fp.c | |||
14429 | 14506 | ||
14430 | /* Buffer in which we produce the output. */ | 14507 | /* Buffer in which we produce the output. */ |
14431 | wchar_t *wbuffer = NULL; | 14508 | wchar_t *wbuffer = NULL; |
14432 | @@ -258,6 +270,7 @@ | 14509 | @@ -261,6 +273,7 @@ ___printf_fp (FILE *fp, |
14433 | 14510 | p.expsign = 0; | |
14434 | 14511 | ||
14435 | /* Figure out the decimal point character. */ | 14512 | /* Figure out the decimal point character. */ |
14436 | +#if __OPTION_EGLIBC_LOCALE_CODE | 14513 | +#if __OPTION_EGLIBC_LOCALE_CODE |
14437 | if (info->extra == 0) | 14514 | if (info->extra == 0) |
14438 | { | 14515 | { |
14439 | decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT); | 14516 | decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT); |
14440 | @@ -277,7 +290,13 @@ | 14517 | @@ -280,7 +293,13 @@ ___printf_fp (FILE *fp, |
14441 | /* The decimal point character must not be zero. */ | 14518 | /* The decimal point character must not be zero. */ |
14442 | assert (*decimal != '\0'); | 14519 | assert (*decimal != '\0'); |
14443 | assert (decimalwc != L'\0'); | 14520 | assert (decimalwc != L'\0'); |
@@ -14451,7 +14528,7 @@ Index: git/stdio-common/printf_fp.c | |||
14451 | if (info->group) | 14528 | if (info->group) |
14452 | { | 14529 | { |
14453 | if (info->extra == 0) | 14530 | if (info->extra == 0) |
14454 | @@ -321,6 +340,9 @@ | 14531 | @@ -324,6 +343,9 @@ ___printf_fp (FILE *fp, |
14455 | } | 14532 | } |
14456 | else | 14533 | else |
14457 | grouping = NULL; | 14534 | grouping = NULL; |
@@ -14463,8 +14540,8 @@ Index: git/stdio-common/printf_fp.c | |||
14463 | #ifndef __NO_LONG_DOUBLE_MATH | 14540 | #ifndef __NO_LONG_DOUBLE_MATH |
14464 | Index: git/stdio-common/printf_fphex.c | 14541 | Index: git/stdio-common/printf_fphex.c |
14465 | =================================================================== | 14542 | =================================================================== |
14466 | --- git.orig/stdio-common/printf_fphex.c 2014-08-29 20:00:53.548070587 -0700 | 14543 | --- git.orig/stdio-common/printf_fphex.c |
14467 | +++ git/stdio-common/printf_fphex.c 2014-08-29 20:01:15.232070587 -0700 | 14544 | +++ git/stdio-common/printf_fphex.c |
14468 | @@ -28,6 +28,7 @@ | 14545 | @@ -28,6 +28,7 @@ |
14469 | #include <_itoa.h> | 14546 | #include <_itoa.h> |
14470 | #include <_itowa.h> | 14547 | #include <_itowa.h> |
@@ -14473,7 +14550,7 @@ Index: git/stdio-common/printf_fphex.c | |||
14473 | #include <stdbool.h> | 14550 | #include <stdbool.h> |
14474 | #include <rounding-mode.h> | 14551 | #include <rounding-mode.h> |
14475 | 14552 | ||
14476 | @@ -139,10 +140,18 @@ | 14553 | @@ -139,10 +140,18 @@ __printf_fphex (FILE *fp, |
14477 | int done = 0; | 14554 | int done = 0; |
14478 | 14555 | ||
14479 | /* Nonzero if this is output on a wide character stream. */ | 14556 | /* Nonzero if this is output on a wide character stream. */ |
@@ -14492,7 +14569,7 @@ Index: git/stdio-common/printf_fphex.c | |||
14492 | if (info->extra == 0) | 14569 | if (info->extra == 0) |
14493 | { | 14570 | { |
14494 | decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT); | 14571 | decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT); |
14495 | @@ -156,6 +165,10 @@ | 14572 | @@ -156,6 +165,10 @@ __printf_fphex (FILE *fp, |
14496 | } | 14573 | } |
14497 | /* The decimal point character must never be zero. */ | 14574 | /* The decimal point character must never be zero. */ |
14498 | assert (*decimal != '\0' && decimalwc != L'\0'); | 14575 | assert (*decimal != '\0' && decimalwc != L'\0'); |
@@ -14505,8 +14582,8 @@ Index: git/stdio-common/printf_fphex.c | |||
14505 | /* Fetch the argument value. */ | 14582 | /* Fetch the argument value. */ |
14506 | Index: git/stdio-common/printf_size.c | 14583 | Index: git/stdio-common/printf_size.c |
14507 | =================================================================== | 14584 | =================================================================== |
14508 | --- git.orig/stdio-common/printf_size.c 2014-08-29 20:00:53.548070587 -0700 | 14585 | --- git.orig/stdio-common/printf_size.c |
14509 | +++ git/stdio-common/printf_size.c 2014-08-29 20:01:15.232070587 -0700 | 14586 | +++ git/stdio-common/printf_size.c |
14510 | @@ -23,6 +23,7 @@ | 14587 | @@ -23,6 +23,7 @@ |
14511 | #include <math.h> | 14588 | #include <math.h> |
14512 | #include <printf.h> | 14589 | #include <printf.h> |
@@ -14515,7 +14592,7 @@ Index: git/stdio-common/printf_size.c | |||
14515 | 14592 | ||
14516 | 14593 | ||
14517 | /* This defines make it possible to use the same code for GNU C library and | 14594 | /* This defines make it possible to use the same code for GNU C library and |
14518 | @@ -116,7 +117,14 @@ | 14595 | @@ -116,7 +117,14 @@ __printf_size (FILE *fp, const struct pr |
14519 | 14596 | ||
14520 | struct printf_info fp_info; | 14597 | struct printf_info fp_info; |
14521 | int done = 0; | 14598 | int done = 0; |
@@ -14532,25 +14609,25 @@ Index: git/stdio-common/printf_size.c | |||
14532 | /* Fetch the argument value. */ | 14609 | /* Fetch the argument value. */ |
14533 | Index: git/stdio-common/scanf14.c | 14610 | Index: git/stdio-common/scanf14.c |
14534 | =================================================================== | 14611 | =================================================================== |
14535 | --- git.orig/stdio-common/scanf14.c 2014-08-29 20:00:53.548070587 -0700 | 14612 | --- git.orig/stdio-common/scanf14.c |
14536 | +++ git/stdio-common/scanf14.c 2014-08-29 20:01:15.232070587 -0700 | 14613 | +++ git/stdio-common/scanf14.c |
14537 | @@ -2,6 +2,7 @@ | 14614 | @@ -3,6 +3,7 @@ |
14538 | #include <stdlib.h> | ||
14539 | #include <string.h> | 14615 | #include <string.h> |
14540 | #include <wchar.h> | 14616 | #include <wchar.h> |
14617 | #include <libc-internal.h> | ||
14541 | +#include <gnu/option-groups.h> | 14618 | +#include <gnu/option-groups.h> |
14542 | 14619 | ||
14543 | #define FAIL() \ | 14620 | #define FAIL() \ |
14544 | do { \ | 14621 | do { \ |
14545 | @@ -36,6 +37,7 @@ | 14622 | @@ -48,6 +49,7 @@ main (void) |
14546 | FAIL (); | 14623 | /* See explanation above. */ |
14547 | else if (d != 2.25 || memcmp (c, " x", 2) != 0) | 14624 | DIAG_PUSH_NEEDS_COMMENT; |
14548 | FAIL (); | 14625 | DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat"); |
14549 | +#if __OPTION_EGLIBC_LOCALE_CODE | 14626 | +#if __OPTION_EGLIBC_LOCALE_CODE |
14550 | if (sscanf (" 3.25S x", "%4aS%3c", &lsp, c) != 2) | 14627 | if (sscanf (" 3.25S x", "%4aS%3c", &lsp, c) != 2) |
14551 | FAIL (); | 14628 | FAIL (); |
14552 | else | 14629 | else |
14553 | @@ -45,6 +47,7 @@ | 14630 | @@ -57,6 +59,7 @@ main (void) |
14554 | memset (lsp, 'x', sizeof L"3.25"); | 14631 | memset (lsp, 'x', sizeof L"3.25"); |
14555 | free (lsp); | 14632 | free (lsp); |
14556 | } | 14633 | } |
@@ -14560,17 +14637,17 @@ Index: git/stdio-common/scanf14.c | |||
14560 | else | 14637 | else |
14561 | Index: git/stdio-common/tstdiomisc.c | 14638 | Index: git/stdio-common/tstdiomisc.c |
14562 | =================================================================== | 14639 | =================================================================== |
14563 | --- git.orig/stdio-common/tstdiomisc.c 2014-08-29 20:00:53.584070587 -0700 | 14640 | --- git.orig/stdio-common/tstdiomisc.c |
14564 | +++ git/stdio-common/tstdiomisc.c 2014-08-29 20:01:15.232070587 -0700 | 14641 | +++ git/stdio-common/tstdiomisc.c |
14565 | @@ -3,6 +3,7 @@ | 14642 | @@ -4,6 +4,7 @@ |
14566 | #include <stdio.h> | ||
14567 | #include <string.h> | 14643 | #include <string.h> |
14568 | #include <wchar.h> | 14644 | #include <wchar.h> |
14645 | #include <libc-internal.h> | ||
14569 | +#include <gnu/option-groups.h> | 14646 | +#include <gnu/option-groups.h> |
14570 | 14647 | ||
14571 | static int | 14648 | static int |
14572 | t1 (void) | 14649 | t1 (void) |
14573 | @@ -125,6 +126,7 @@ | 14650 | @@ -134,6 +135,7 @@ F (void) |
14574 | printf ("expected \"-inf -INF -inf -INF -inf -INF -inf -INF\", got \"%s\"\n", | 14651 | printf ("expected \"-inf -INF -inf -INF -inf -INF -inf -INF\", got \"%s\"\n", |
14575 | buf); | 14652 | buf); |
14576 | 14653 | ||
@@ -14578,7 +14655,7 @@ Index: git/stdio-common/tstdiomisc.c | |||
14578 | swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G", | 14655 | swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G", |
14579 | qnanval, qnanval, qnanval, qnanval, | 14656 | qnanval, qnanval, qnanval, qnanval, |
14580 | qnanval, qnanval, qnanval, qnanval); | 14657 | qnanval, qnanval, qnanval, qnanval); |
14581 | @@ -162,6 +164,7 @@ | 14658 | @@ -171,6 +173,7 @@ F (void) |
14582 | result |= wcscmp (wbuf, L"-inf -INF -inf -INF -inf -INF -inf -INF") != 0; | 14659 | result |= wcscmp (wbuf, L"-inf -INF -inf -INF -inf -INF -inf -INF") != 0; |
14583 | printf ("expected L\"-inf -INF -inf -INF -inf -INF -inf -INF\", got L\"%S\"\n", | 14660 | printf ("expected L\"-inf -INF -inf -INF -inf -INF -inf -INF\", got L\"%S\"\n", |
14584 | wbuf); | 14661 | wbuf); |
@@ -14586,7 +14663,7 @@ Index: git/stdio-common/tstdiomisc.c | |||
14586 | 14663 | ||
14587 | lqnanval = NAN; | 14664 | lqnanval = NAN; |
14588 | 14665 | ||
14589 | @@ -206,6 +209,7 @@ | 14666 | @@ -215,6 +218,7 @@ F (void) |
14590 | printf ("expected \"-inf -INF -inf -INF -inf -INF -inf -INF\", got \"%s\"\n", | 14667 | printf ("expected \"-inf -INF -inf -INF -inf -INF -inf -INF\", got \"%s\"\n", |
14591 | buf); | 14668 | buf); |
14592 | 14669 | ||
@@ -14594,7 +14671,7 @@ Index: git/stdio-common/tstdiomisc.c | |||
14594 | swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), | 14671 | swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), |
14595 | L"%La %LA %Le %LE %Lf %LF %Lg %LG", | 14672 | L"%La %LA %Le %LE %Lf %LF %Lg %LG", |
14596 | lqnanval, lqnanval, lqnanval, lqnanval, | 14673 | lqnanval, lqnanval, lqnanval, lqnanval, |
14597 | @@ -250,6 +254,7 @@ | 14674 | @@ -259,6 +263,7 @@ F (void) |
14598 | result |= wcscmp (wbuf, L"-inf -INF -inf -INF -inf -INF -inf -INF") != 0; | 14675 | result |= wcscmp (wbuf, L"-inf -INF -inf -INF -inf -INF -inf -INF") != 0; |
14599 | printf ("expected L\"-inf -INF -inf -INF -inf -INF -inf -INF\", got L\"%S\"\n", | 14676 | printf ("expected L\"-inf -INF -inf -INF -inf -INF -inf -INF\", got L\"%S\"\n", |
14600 | wbuf); | 14677 | wbuf); |
@@ -14604,8 +14681,8 @@ Index: git/stdio-common/tstdiomisc.c | |||
14604 | } | 14681 | } |
14605 | Index: git/stdio-common/tst-popen.c | 14682 | Index: git/stdio-common/tst-popen.c |
14606 | =================================================================== | 14683 | =================================================================== |
14607 | --- git.orig/stdio-common/tst-popen.c 2014-08-29 20:00:53.576070587 -0700 | 14684 | --- git.orig/stdio-common/tst-popen.c |
14608 | +++ git/stdio-common/tst-popen.c 2014-08-29 20:01:15.232070587 -0700 | 14685 | +++ git/stdio-common/tst-popen.c |
14609 | @@ -19,6 +19,7 @@ | 14686 | @@ -19,6 +19,7 @@ |
14610 | #include <stdio.h> | 14687 | #include <stdio.h> |
14611 | #include <string.h> | 14688 | #include <string.h> |
@@ -14614,7 +14691,7 @@ Index: git/stdio-common/tst-popen.c | |||
14614 | 14691 | ||
14615 | static int | 14692 | static int |
14616 | do_test (void) | 14693 | do_test (void) |
14617 | @@ -34,12 +35,14 @@ | 14694 | @@ -34,12 +35,14 @@ do_test (void) |
14618 | return 1; | 14695 | return 1; |
14619 | } | 14696 | } |
14620 | 14697 | ||
@@ -14631,17 +14708,18 @@ Index: git/stdio-common/tst-popen.c | |||
14631 | { | 14708 | { |
14632 | Index: git/stdio-common/tst-sprintf.c | 14709 | Index: git/stdio-common/tst-sprintf.c |
14633 | =================================================================== | 14710 | =================================================================== |
14634 | --- git.orig/stdio-common/tst-sprintf.c 2014-08-29 20:00:53.580070587 -0700 | 14711 | --- git.orig/stdio-common/tst-sprintf.c |
14635 | +++ git/stdio-common/tst-sprintf.c 2014-08-29 20:01:15.236070587 -0700 | 14712 | +++ git/stdio-common/tst-sprintf.c |
14636 | @@ -2,6 +2,7 @@ | 14713 | @@ -3,7 +3,7 @@ |
14637 | #include <stdlib.h> | ||
14638 | #include <locale.h> | 14714 | #include <locale.h> |
14639 | #include <string.h> | 14715 | #include <string.h> |
14716 | #include <libc-internal.h> | ||
14717 | - | ||
14640 | +#include <gnu/option-groups.h> | 14718 | +#include <gnu/option-groups.h> |
14641 | 14719 | ||
14642 | 14720 | static int | |
14643 | int | 14721 | do_test (void) |
14644 | @@ -10,12 +11,14 @@ | 14722 | @@ -11,12 +11,14 @@ do_test (void) |
14645 | char buf[100]; | 14723 | char buf[100]; |
14646 | int result = 0; | 14724 | int result = 0; |
14647 | 14725 | ||
@@ -14658,8 +14736,8 @@ Index: git/stdio-common/tst-sprintf.c | |||
14658 | #define STR(x) #x | 14736 | #define STR(x) #x |
14659 | Index: git/stdio-common/vfprintf.c | 14737 | Index: git/stdio-common/vfprintf.c |
14660 | =================================================================== | 14738 | =================================================================== |
14661 | --- git.orig/stdio-common/vfprintf.c 2014-08-29 20:00:53.588070587 -0700 | 14739 | --- git.orig/stdio-common/vfprintf.c |
14662 | +++ git/stdio-common/vfprintf.c 2014-08-29 20:01:15.236070587 -0700 | 14740 | +++ git/stdio-common/vfprintf.c |
14663 | @@ -29,6 +29,7 @@ | 14741 | @@ -29,6 +29,7 @@ |
14664 | #include <_itoa.h> | 14742 | #include <_itoa.h> |
14665 | #include <locale/localeinfo.h> | 14743 | #include <locale/localeinfo.h> |
@@ -14687,7 +14765,7 @@ Index: git/stdio-common/vfprintf.c | |||
14687 | #include "_i18n_number.h" | 14765 | #include "_i18n_number.h" |
14688 | 14766 | ||
14689 | /* Include the shared code for parsing the format string. */ | 14767 | /* Include the shared code for parsing the format string. */ |
14690 | @@ -1123,8 +1136,11 @@ | 14768 | @@ -1129,8 +1142,11 @@ vfprintf (FILE *s, const CHAR_T *format, |
14691 | # define process_string_arg(fspec) \ | 14769 | # define process_string_arg(fspec) \ |
14692 | LABEL (form_character): \ | 14770 | LABEL (form_character): \ |
14693 | /* Character. */ \ | 14771 | /* Character. */ \ |
@@ -14701,7 +14779,7 @@ Index: git/stdio-common/vfprintf.c | |||
14701 | --width; /* Account for the character itself. */ \ | 14779 | --width; /* Account for the character itself. */ \ |
14702 | if (!left) \ | 14780 | if (!left) \ |
14703 | PAD (' '); \ | 14781 | PAD (' '); \ |
14704 | @@ -1137,6 +1153,7 @@ | 14782 | @@ -1143,6 +1159,7 @@ vfprintf (FILE *s, const CHAR_T *format, |
14705 | break; \ | 14783 | break; \ |
14706 | \ | 14784 | \ |
14707 | LABEL (form_wcharacter): \ | 14785 | LABEL (form_wcharacter): \ |
@@ -14709,7 +14787,7 @@ Index: git/stdio-common/vfprintf.c | |||
14709 | { \ | 14787 | { \ |
14710 | /* Wide character. */ \ | 14788 | /* Wide character. */ \ |
14711 | char buf[MB_CUR_MAX]; \ | 14789 | char buf[MB_CUR_MAX]; \ |
14712 | @@ -1203,6 +1220,7 @@ | 14790 | @@ -1209,6 +1226,7 @@ vfprintf (FILE *s, const CHAR_T *format, |
14713 | } \ | 14791 | } \ |
14714 | else \ | 14792 | else \ |
14715 | { \ | 14793 | { \ |
@@ -14717,7 +14795,7 @@ Index: git/stdio-common/vfprintf.c | |||
14717 | const wchar_t *s2 = (const wchar_t *) string; \ | 14795 | const wchar_t *s2 = (const wchar_t *) string; \ |
14718 | mbstate_t mbstate; \ | 14796 | mbstate_t mbstate; \ |
14719 | \ | 14797 | \ |
14720 | @@ -1403,7 +1421,9 @@ | 14798 | @@ -1409,7 +1427,9 @@ vfprintf (FILE *s, const CHAR_T *format, |
14721 | LABEL (flag_quote): | 14799 | LABEL (flag_quote): |
14722 | group = 1; | 14800 | group = 1; |
14723 | 14801 | ||
@@ -14728,7 +14806,7 @@ Index: git/stdio-common/vfprintf.c | |||
14728 | { | 14806 | { |
14729 | #ifdef COMPILE_WPRINTF | 14807 | #ifdef COMPILE_WPRINTF |
14730 | thousands_sep = _NL_CURRENT_WORD (LC_NUMERIC, | 14808 | thousands_sep = _NL_CURRENT_WORD (LC_NUMERIC, |
14731 | @@ -1702,7 +1722,9 @@ | 14809 | @@ -1708,7 +1728,9 @@ do_positional: |
14732 | free (workstart); | 14810 | free (workstart); |
14733 | workstart = NULL; | 14811 | workstart = NULL; |
14734 | 14812 | ||
@@ -14741,8 +14819,8 @@ Index: git/stdio-common/vfprintf.c | |||
14741 | thousands_sep = _NL_CURRENT_WORD (LC_NUMERIC, | 14819 | thousands_sep = _NL_CURRENT_WORD (LC_NUMERIC, |
14742 | Index: git/stdio-common/vfscanf.c | 14820 | Index: git/stdio-common/vfscanf.c |
14743 | =================================================================== | 14821 | =================================================================== |
14744 | --- git.orig/stdio-common/vfscanf.c 2014-08-29 20:00:53.588070587 -0700 | 14822 | --- git.orig/stdio-common/vfscanf.c |
14745 | +++ git/stdio-common/vfscanf.c 2014-08-29 20:01:15.236070587 -0700 | 14823 | +++ git/stdio-common/vfscanf.c |
14746 | @@ -29,6 +29,7 @@ | 14824 | @@ -29,6 +29,7 @@ |
14747 | #include <wctype.h> | 14825 | #include <wctype.h> |
14748 | #include <bits/libc-lock.h> | 14826 | #include <bits/libc-lock.h> |
@@ -14764,7 +14842,7 @@ Index: git/stdio-common/vfscanf.c | |||
14764 | #define encode_error() do { \ | 14842 | #define encode_error() do { \ |
14765 | errval = 4; \ | 14843 | errval = 4; \ |
14766 | __set_errno (EILSEQ); \ | 14844 | __set_errno (EILSEQ); \ |
14767 | @@ -316,24 +323,35 @@ | 14845 | @@ -316,24 +323,35 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14768 | ARGCHECK (s, format); | 14846 | ARGCHECK (s, format); |
14769 | 14847 | ||
14770 | { | 14848 | { |
@@ -14807,7 +14885,7 @@ Index: git/stdio-common/vfscanf.c | |||
14807 | } | 14885 | } |
14808 | 14886 | ||
14809 | /* Lock the stream. */ | 14887 | /* Lock the stream. */ |
14810 | @@ -385,6 +403,8 @@ | 14888 | @@ -385,6 +403,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14811 | #ifndef COMPILE_WSCANF | 14889 | #ifndef COMPILE_WSCANF |
14812 | if (!isascii ((unsigned char) *f)) | 14890 | if (!isascii ((unsigned char) *f)) |
14813 | { | 14891 | { |
@@ -14816,7 +14894,7 @@ Index: git/stdio-common/vfscanf.c | |||
14816 | /* Non-ASCII, may be a multibyte. */ | 14894 | /* Non-ASCII, may be a multibyte. */ |
14817 | int len = __mbrlen (f, strlen (f), &state); | 14895 | int len = __mbrlen (f, strlen (f), &state); |
14818 | if (len > 0) | 14896 | if (len > 0) |
14819 | @@ -830,6 +850,8 @@ | 14897 | @@ -830,6 +850,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14820 | } | 14898 | } |
14821 | /* FALLTHROUGH */ | 14899 | /* FALLTHROUGH */ |
14822 | case L_('C'): | 14900 | case L_('C'): |
@@ -14825,7 +14903,7 @@ Index: git/stdio-common/vfscanf.c | |||
14825 | if (width == -1) | 14903 | if (width == -1) |
14826 | width = 1; | 14904 | width = 1; |
14827 | 14905 | ||
14828 | @@ -1172,6 +1194,8 @@ | 14906 | @@ -1172,6 +1194,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14829 | /* FALLTHROUGH */ | 14907 | /* FALLTHROUGH */ |
14830 | 14908 | ||
14831 | case L_('S'): | 14909 | case L_('S'): |
@@ -14834,7 +14912,7 @@ Index: git/stdio-common/vfscanf.c | |||
14834 | { | 14912 | { |
14835 | #ifndef COMPILE_WSCANF | 14913 | #ifndef COMPILE_WSCANF |
14836 | mbstate_t cstate; | 14914 | mbstate_t cstate; |
14837 | @@ -1419,10 +1443,17 @@ | 14915 | @@ -1419,10 +1443,17 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14838 | const char *mbdigits[10]; | 14916 | const char *mbdigits[10]; |
14839 | const char *mbdigits_extended[10]; | 14917 | const char *mbdigits_extended[10]; |
14840 | #endif | 14918 | #endif |
@@ -14852,7 +14930,7 @@ Index: git/stdio-common/vfscanf.c | |||
14852 | int n; | 14930 | int n; |
14853 | 14931 | ||
14854 | from_level = 0; | 14932 | from_level = 0; |
14855 | @@ -2088,6 +2119,7 @@ | 14933 | @@ -2088,6 +2119,7 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14856 | --width; | 14934 | --width; |
14857 | } | 14935 | } |
14858 | 14936 | ||
@@ -14860,7 +14938,7 @@ Index: git/stdio-common/vfscanf.c | |||
14860 | wctrans_t map; | 14938 | wctrans_t map; |
14861 | if (__builtin_expect ((flags & I18N) != 0, 0) | 14939 | if (__builtin_expect ((flags & I18N) != 0, 0) |
14862 | /* Hexadecimal floats make no sense, fixing localized | 14940 | /* Hexadecimal floats make no sense, fixing localized |
14863 | @@ -2304,6 +2336,7 @@ | 14941 | @@ -2304,6 +2336,7 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14864 | ; | 14942 | ; |
14865 | #endif | 14943 | #endif |
14866 | } | 14944 | } |
@@ -14868,7 +14946,7 @@ Index: git/stdio-common/vfscanf.c | |||
14868 | 14946 | ||
14869 | /* Have we read any character? If we try to read a number | 14947 | /* Have we read any character? If we try to read a number |
14870 | in hexadecimal notation and we have read only the `0x' | 14948 | in hexadecimal notation and we have read only the `0x' |
14871 | @@ -2343,7 +2376,10 @@ | 14949 | @@ -2343,7 +2376,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14872 | 14950 | ||
14873 | case L_('['): /* Character class. */ | 14951 | case L_('['): /* Character class. */ |
14874 | if (flags & LONG) | 14952 | if (flags & LONG) |
@@ -14880,7 +14958,7 @@ Index: git/stdio-common/vfscanf.c | |||
14880 | else | 14958 | else |
14881 | STRING_ARG (str, char, 100); | 14959 | STRING_ARG (str, char, 100); |
14882 | 14960 | ||
14883 | @@ -2417,6 +2453,7 @@ | 14961 | @@ -2417,6 +2453,7 @@ _IO_vfscanf_internal (_IO_FILE *s, const |
14884 | if (flags & LONG) | 14962 | if (flags & LONG) |
14885 | { | 14963 | { |
14886 | size_t now = read_in; | 14964 | size_t now = read_in; |
@@ -14890,8 +14968,8 @@ Index: git/stdio-common/vfscanf.c | |||
14890 | input_error (); | 14968 | input_error (); |
14891 | Index: git/stdlib/Makefile | 14969 | Index: git/stdlib/Makefile |
14892 | =================================================================== | 14970 | =================================================================== |
14893 | --- git.orig/stdlib/Makefile 2014-08-29 20:00:53.588070587 -0700 | 14971 | --- git.orig/stdlib/Makefile |
14894 | +++ git/stdlib/Makefile 2014-08-29 20:01:15.236070587 -0700 | 14972 | +++ git/stdlib/Makefile |
14895 | @@ -18,6 +18,8 @@ | 14973 | @@ -18,6 +18,8 @@ |
14896 | # | 14974 | # |
14897 | # Makefile for stdlib routines | 14975 | # Makefile for stdlib routines |
@@ -14901,7 +14979,7 @@ Index: git/stdlib/Makefile | |||
14901 | subdir := stdlib | 14979 | subdir := stdlib |
14902 | 14980 | ||
14903 | include ../Makeconfig | 14981 | include ../Makeconfig |
14904 | @@ -30,7 +32,7 @@ | 14982 | @@ -30,7 +32,7 @@ headers := stdlib.h bits/stdlib.h bits/s |
14905 | alloca.h fmtmsg.h \ | 14983 | alloca.h fmtmsg.h \ |
14906 | bits/stdlib-bsearch.h | 14984 | bits/stdlib-bsearch.h |
14907 | 14985 | ||
@@ -14910,7 +14988,7 @@ Index: git/stdlib/Makefile | |||
14910 | atof atoi atol atoll \ | 14988 | atof atoi atol atoll \ |
14911 | abort \ | 14989 | abort \ |
14912 | bsearch qsort msort \ | 14990 | bsearch qsort msort \ |
14913 | @@ -39,7 +41,6 @@ | 14991 | @@ -39,7 +41,6 @@ routines := \ |
14914 | quick_exit at_quick_exit cxa_at_quick_exit cxa_thread_atexit_impl \ | 14992 | quick_exit at_quick_exit cxa_at_quick_exit cxa_thread_atexit_impl \ |
14915 | abs labs llabs \ | 14993 | abs labs llabs \ |
14916 | div ldiv lldiv \ | 14994 | div ldiv lldiv \ |
@@ -14918,7 +14996,7 @@ Index: git/stdlib/Makefile | |||
14918 | random random_r rand rand_r \ | 14996 | random random_r rand rand_r \ |
14919 | drand48 erand48 lrand48 nrand48 mrand48 jrand48 \ | 14997 | drand48 erand48 lrand48 nrand48 mrand48 jrand48 \ |
14920 | srand48 seed48 lcong48 \ | 14998 | srand48 seed48 lcong48 \ |
14921 | @@ -52,9 +53,18 @@ | 14999 | @@ -52,9 +53,18 @@ routines := \ |
14922 | strtof_l strtod_l strtold_l \ | 15000 | strtof_l strtod_l strtold_l \ |
14923 | system canonicalize \ | 15001 | system canonicalize \ |
14924 | a64l l64a \ | 15002 | a64l l64a \ |
@@ -14939,7 +15017,7 @@ Index: git/stdlib/Makefile | |||
14939 | aux = grouping groupingwc tens_in_limb | 15017 | aux = grouping groupingwc tens_in_limb |
14940 | 15018 | ||
14941 | # These routines will be omitted from the libc shared object. | 15019 | # These routines will be omitted from the libc shared object. |
14942 | @@ -62,20 +72,22 @@ | 15020 | @@ -62,20 +72,22 @@ aux = grouping groupingwc tens_in_limb |
14943 | # linked against when the shared library will be used. | 15021 | # linked against when the shared library will be used. |
14944 | static-only-routines = atexit at_quick_exit | 15022 | static-only-routines = atexit at_quick_exit |
14945 | 15023 | ||
@@ -14970,7 +15048,7 @@ Index: git/stdlib/Makefile | |||
14970 | modules-names = tst-tls-atexit-lib | 15048 | modules-names = tst-tls-atexit-lib |
14971 | 15049 | ||
14972 | ifeq ($(build-shared),yes) | 15050 | ifeq ($(build-shared),yes) |
14973 | @@ -115,8 +127,10 @@ | 15051 | @@ -115,8 +127,10 @@ CFLAGS-tst-makecontext2.c = $(stack-alig |
14974 | tests-special += $(objpfx)isomac.out | 15052 | tests-special += $(objpfx)isomac.out |
14975 | 15053 | ||
14976 | ifeq ($(run-built-tests),yes) | 15054 | ifeq ($(run-built-tests),yes) |
@@ -14983,8 +15061,8 @@ Index: git/stdlib/Makefile | |||
14983 | 15061 | ||
14984 | Index: git/stdlib/strtod_l.c | 15062 | Index: git/stdlib/strtod_l.c |
14985 | =================================================================== | 15063 | =================================================================== |
14986 | --- git.orig/stdlib/strtod_l.c 2014-08-29 20:00:53.648070587 -0700 | 15064 | --- git.orig/stdlib/strtod_l.c |
14987 | +++ git/stdlib/strtod_l.c 2014-08-29 20:01:15.236070587 -0700 | 15065 | +++ git/stdlib/strtod_l.c |
14988 | @@ -17,6 +17,7 @@ | 15066 | @@ -17,6 +17,7 @@ |
14989 | License along with the GNU C Library; if not, see | 15067 | License along with the GNU C Library; if not, see |
14990 | <http://www.gnu.org/licenses/>. */ | 15068 | <http://www.gnu.org/licenses/>. */ |
@@ -14993,7 +15071,7 @@ Index: git/stdlib/strtod_l.c | |||
14993 | #include <xlocale.h> | 15071 | #include <xlocale.h> |
14994 | 15072 | ||
14995 | extern double ____strtod_l_internal (const char *, char **, int, __locale_t); | 15073 | extern double ____strtod_l_internal (const char *, char **, int, __locale_t); |
14996 | @@ -548,6 +549,7 @@ | 15074 | @@ -548,6 +549,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group |
14997 | /* Used in several places. */ | 15075 | /* Used in several places. */ |
14998 | int cnt; | 15076 | int cnt; |
14999 | 15077 | ||
@@ -15001,7 +15079,7 @@ Index: git/stdlib/strtod_l.c | |||
15001 | struct __locale_data *current = loc->__locales[LC_NUMERIC]; | 15079 | struct __locale_data *current = loc->__locales[LC_NUMERIC]; |
15002 | 15080 | ||
15003 | if (__glibc_unlikely (group)) | 15081 | if (__glibc_unlikely (group)) |
15004 | @@ -586,6 +588,17 @@ | 15082 | @@ -586,6 +588,17 @@ ____STRTOF_INTERNAL (nptr, endptr, group |
15005 | decimal_len = strlen (decimal); | 15083 | decimal_len = strlen (decimal); |
15006 | assert (decimal_len > 0); | 15084 | assert (decimal_len > 0); |
15007 | #endif | 15085 | #endif |
@@ -15021,8 +15099,8 @@ Index: git/stdlib/strtod_l.c | |||
15021 | exponent = 0; | 15099 | exponent = 0; |
15022 | Index: git/stdlib/tst-strtod.c | 15100 | Index: git/stdlib/tst-strtod.c |
15023 | =================================================================== | 15101 | =================================================================== |
15024 | --- git.orig/stdlib/tst-strtod.c 2014-08-29 20:00:53.700070587 -0700 | 15102 | --- git.orig/stdlib/tst-strtod.c |
15025 | +++ git/stdlib/tst-strtod.c 2014-08-29 20:01:15.236070587 -0700 | 15103 | +++ git/stdlib/tst-strtod.c |
15026 | @@ -23,6 +23,7 @@ | 15104 | @@ -23,6 +23,7 @@ |
15027 | #include <errno.h> | 15105 | #include <errno.h> |
15028 | #include <string.h> | 15106 | #include <string.h> |
@@ -15031,7 +15109,7 @@ Index: git/stdlib/tst-strtod.c | |||
15031 | 15109 | ||
15032 | struct ltest | 15110 | struct ltest |
15033 | { | 15111 | { |
15034 | @@ -176,7 +177,9 @@ | 15112 | @@ -176,7 +177,9 @@ main (int argc, char ** argv) |
15035 | 15113 | ||
15036 | status |= long_dbl (); | 15114 | status |= long_dbl (); |
15037 | 15115 | ||
@@ -15041,7 +15119,7 @@ Index: git/stdlib/tst-strtod.c | |||
15041 | 15119 | ||
15042 | return status ? EXIT_FAILURE : EXIT_SUCCESS; | 15120 | return status ? EXIT_FAILURE : EXIT_SUCCESS; |
15043 | } | 15121 | } |
15044 | @@ -219,6 +222,7 @@ | 15122 | @@ -219,6 +222,7 @@ long_dbl (void) |
15045 | return 0; | 15123 | return 0; |
15046 | } | 15124 | } |
15047 | 15125 | ||
@@ -15049,15 +15127,15 @@ Index: git/stdlib/tst-strtod.c | |||
15049 | /* Perform a few tests in a locale with thousands separators. */ | 15127 | /* Perform a few tests in a locale with thousands separators. */ |
15050 | static int | 15128 | static int |
15051 | locale_test (void) | 15129 | locale_test (void) |
15052 | @@ -276,3 +280,4 @@ | 15130 | @@ -276,3 +280,4 @@ locale_test (void) |
15053 | 15131 | ||
15054 | return result; | 15132 | return result; |
15055 | } | 15133 | } |
15056 | +#endif /* __OPTION_EGLIBC_LOCALE_CODE */ | 15134 | +#endif /* __OPTION_EGLIBC_LOCALE_CODE */ |
15057 | Index: git/streams/Makefile | 15135 | Index: git/streams/Makefile |
15058 | =================================================================== | 15136 | =================================================================== |
15059 | --- git.orig/streams/Makefile 2014-08-29 20:00:53.712070587 -0700 | 15137 | --- git.orig/streams/Makefile |
15060 | +++ git/streams/Makefile 2014-08-29 20:01:15.236070587 -0700 | 15138 | +++ git/streams/Makefile |
15061 | @@ -18,11 +18,14 @@ | 15139 | @@ -18,11 +18,14 @@ |
15062 | # | 15140 | # |
15063 | # Makefile for streams. | 15141 | # Makefile for streams. |
@@ -15076,8 +15154,8 @@ Index: git/streams/Makefile | |||
15076 | include ../Rules | 15154 | include ../Rules |
15077 | Index: git/string/Makefile | 15155 | Index: git/string/Makefile |
15078 | =================================================================== | 15156 | =================================================================== |
15079 | --- git.orig/string/Makefile 2014-08-29 20:00:53.716070587 -0700 | 15157 | --- git.orig/string/Makefile |
15080 | +++ git/string/Makefile 2014-08-29 20:01:15.236070587 -0700 | 15158 | +++ git/string/Makefile |
15081 | @@ -18,6 +18,8 @@ | 15159 | @@ -18,6 +18,8 @@ |
15082 | # | 15160 | # |
15083 | # Sub-makefile for string portion of library. | 15161 | # Sub-makefile for string portion of library. |
@@ -15087,7 +15165,7 @@ Index: git/string/Makefile | |||
15087 | subdir := string | 15165 | subdir := string |
15088 | 15166 | ||
15089 | include ../Makeconfig | 15167 | include ../Makeconfig |
15090 | @@ -39,10 +41,12 @@ | 15168 | @@ -39,10 +41,12 @@ routines := strcat strchr strcmp strcoll |
15091 | $(addprefix argz-,append count create ctsep next \ | 15169 | $(addprefix argz-,append count create ctsep next \ |
15092 | delete extract insert stringify \ | 15170 | delete extract insert stringify \ |
15093 | addsep replace) \ | 15171 | addsep replace) \ |
@@ -15101,7 +15179,7 @@ Index: git/string/Makefile | |||
15101 | strop-tests := memchr memcmp memcpy memmove mempcpy memset memccpy \ | 15179 | strop-tests := memchr memcmp memcpy memmove mempcpy memset memccpy \ |
15102 | stpcpy stpncpy strcat strchr strcmp strcpy strcspn \ | 15180 | stpcpy stpncpy strcat strchr strcmp strcpy strcspn \ |
15103 | strlen strncmp strncpy strpbrk strrchr strspn memmem \ | 15181 | strlen strncmp strncpy strpbrk strrchr strspn memmem \ |
15104 | @@ -51,10 +55,12 @@ | 15182 | @@ -51,10 +55,12 @@ strop-tests := memchr memcmp memcpy memm |
15105 | tests := tester inl-tester noinl-tester testcopy test-ffs \ | 15183 | tests := tester inl-tester noinl-tester testcopy test-ffs \ |
15106 | tst-strlen stratcliff tst-svc tst-inlcall \ | 15184 | tst-strlen stratcliff tst-svc tst-inlcall \ |
15107 | bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap \ | 15185 | bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap \ |
@@ -15119,17 +15197,17 @@ Index: git/string/Makefile | |||
15119 | 15197 | ||
15120 | Index: git/string/strcoll_l.c | 15198 | Index: git/string/strcoll_l.c |
15121 | =================================================================== | 15199 | =================================================================== |
15122 | --- git.orig/string/strcoll_l.c 2014-08-29 20:00:53.744070587 -0700 | 15200 | --- git.orig/string/strcoll_l.c |
15123 | +++ git/string/strcoll_l.c 2014-08-29 20:01:15.240070587 -0700 | 15201 | +++ git/string/strcoll_l.c |
15124 | @@ -25,6 +25,7 @@ | 15202 | @@ -24,6 +24,7 @@ |
15125 | #include <stdlib.h> | 15203 | #include <stdint.h> |
15126 | #include <string.h> | 15204 | #include <string.h> |
15127 | #include <sys/param.h> | 15205 | #include <sys/param.h> |
15128 | +#include <gnu/option-groups.h> | 15206 | +#include <gnu/option-groups.h> |
15129 | 15207 | ||
15130 | #ifndef STRING_TYPE | 15208 | #ifndef STRING_TYPE |
15131 | # define STRING_TYPE char | 15209 | # define STRING_TYPE char |
15132 | @@ -472,7 +473,11 @@ | 15210 | @@ -247,7 +248,11 @@ int |
15133 | STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) | 15211 | STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) |
15134 | { | 15212 | { |
15135 | struct __locale_data *current = l->__locales[LC_COLLATE]; | 15213 | struct __locale_data *current = l->__locales[LC_COLLATE]; |
@@ -15143,8 +15221,8 @@ Index: git/string/strcoll_l.c | |||
15143 | const unsigned char *rulesets; | 15221 | const unsigned char *rulesets; |
15144 | Index: git/string/strerror_l.c | 15222 | Index: git/string/strerror_l.c |
15145 | =================================================================== | 15223 | =================================================================== |
15146 | --- git.orig/string/strerror_l.c 2014-08-29 20:00:53.744070587 -0700 | 15224 | --- git.orig/string/strerror_l.c |
15147 | +++ git/string/strerror_l.c 2014-08-29 20:01:15.240070587 -0700 | 15225 | +++ git/string/strerror_l.c |
15148 | @@ -21,6 +21,7 @@ | 15226 | @@ -21,6 +21,7 @@ |
15149 | #include <stdlib.h> | 15227 | #include <stdlib.h> |
15150 | #include <string.h> | 15228 | #include <string.h> |
@@ -15153,7 +15231,7 @@ Index: git/string/strerror_l.c | |||
15153 | 15231 | ||
15154 | 15232 | ||
15155 | static __thread char *last_value; | 15233 | static __thread char *last_value; |
15156 | @@ -29,10 +30,14 @@ | 15234 | @@ -29,10 +30,14 @@ static __thread char *last_value; |
15157 | static const char * | 15235 | static const char * |
15158 | translate (const char *str, locale_t loc) | 15236 | translate (const char *str, locale_t loc) |
15159 | { | 15237 | { |
@@ -15170,8 +15248,8 @@ Index: git/string/strerror_l.c | |||
15170 | 15248 | ||
15171 | Index: git/string/strxfrm_l.c | 15249 | Index: git/string/strxfrm_l.c |
15172 | =================================================================== | 15250 | =================================================================== |
15173 | --- git.orig/string/strxfrm_l.c 2014-08-29 20:00:53.748070587 -0700 | 15251 | --- git.orig/string/strxfrm_l.c |
15174 | +++ git/string/strxfrm_l.c 2014-08-29 20:01:15.240070587 -0700 | 15252 | +++ git/string/strxfrm_l.c |
15175 | @@ -24,6 +24,7 @@ | 15253 | @@ -24,6 +24,7 @@ |
15176 | #include <stdlib.h> | 15254 | #include <stdlib.h> |
15177 | #include <string.h> | 15255 | #include <string.h> |
@@ -15180,23 +15258,23 @@ Index: git/string/strxfrm_l.c | |||
15180 | 15258 | ||
15181 | #ifndef STRING_TYPE | 15259 | #ifndef STRING_TYPE |
15182 | # define STRING_TYPE char | 15260 | # define STRING_TYPE char |
15183 | @@ -85,7 +86,11 @@ | 15261 | @@ -670,7 +671,11 @@ STRXFRM (STRING_TYPE *dest, const STRING |
15184 | STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l) | ||
15185 | { | 15262 | { |
15263 | locale_data_t l_data; | ||
15186 | struct __locale_data *current = l->__locales[LC_COLLATE]; | 15264 | struct __locale_data *current = l->__locales[LC_COLLATE]; |
15187 | +#if __OPTION_EGLIBC_LOCALE_CODE | 15265 | +#if __OPTION_EGLIBC_LOCALE_CODE |
15188 | uint_fast32_t nrules = current->values[_NL_ITEM_INDEX (_NL_COLLATE_NRULES)].word; | 15266 | l_data.nrules = current->values[_NL_ITEM_INDEX (_NL_COLLATE_NRULES)].word; |
15189 | +#else | 15267 | +#else |
15190 | + const uint_fast32_t nrules = 0; | 15268 | + l_data.nrules = 0; |
15191 | +#endif | 15269 | +#endif |
15192 | /* We don't assign the following values right away since it might be | 15270 | |
15193 | unnecessary in case there are no rules. */ | 15271 | /* Handle byte comparison case. */ |
15194 | const unsigned char *rulesets; | 15272 | if (l_data.nrules == 0) |
15195 | Index: git/string/test-strcmp.c | 15273 | Index: git/string/test-strcmp.c |
15196 | =================================================================== | 15274 | =================================================================== |
15197 | --- git.orig/string/test-strcmp.c 2014-08-29 20:00:53.752070587 -0700 | 15275 | --- git.orig/string/test-strcmp.c |
15198 | +++ git/string/test-strcmp.c 2014-08-29 20:01:15.240070587 -0700 | 15276 | +++ git/string/test-strcmp.c |
15199 | @@ -329,34 +329,6 @@ | 15277 | @@ -329,34 +329,6 @@ check (void) |
15200 | FOR_EACH_IMPL (impl, 0) | 15278 | FOR_EACH_IMPL (impl, 0) |
15201 | check_result (impl, s1 + i1, s2 + i2, exp_result); | 15279 | check_result (impl, s1 + i1, s2 + i2, exp_result); |
15202 | } | 15280 | } |
@@ -15233,8 +15311,8 @@ Index: git/string/test-strcmp.c | |||
15233 | 15311 | ||
15234 | Index: git/string/tst-strxfrm2.c | 15312 | Index: git/string/tst-strxfrm2.c |
15235 | =================================================================== | 15313 | =================================================================== |
15236 | --- git.orig/string/tst-strxfrm2.c 2014-08-29 20:00:53.756070587 -0700 | 15314 | --- git.orig/string/tst-strxfrm2.c |
15237 | +++ git/string/tst-strxfrm2.c 2014-08-29 20:01:15.240070587 -0700 | 15315 | +++ git/string/tst-strxfrm2.c |
15238 | @@ -1,6 +1,7 @@ | 15316 | @@ -1,6 +1,7 @@ |
15239 | #include <locale.h> | 15317 | #include <locale.h> |
15240 | #include <stdio.h> | 15318 | #include <stdio.h> |
@@ -15243,7 +15321,7 @@ Index: git/string/tst-strxfrm2.c | |||
15243 | 15321 | ||
15244 | static int | 15322 | static int |
15245 | do_test (void) | 15323 | do_test (void) |
15246 | @@ -38,6 +39,7 @@ | 15324 | @@ -38,6 +39,7 @@ do_test (void) |
15247 | res = 1; | 15325 | res = 1; |
15248 | } | 15326 | } |
15249 | 15327 | ||
@@ -15251,7 +15329,7 @@ Index: git/string/tst-strxfrm2.c | |||
15251 | if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) | 15329 | if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) |
15252 | { | 15330 | { |
15253 | puts ("setlocale failed"); | 15331 | puts ("setlocale failed"); |
15254 | @@ -75,6 +77,7 @@ | 15332 | @@ -75,6 +77,7 @@ do_test (void) |
15255 | res = 1; | 15333 | res = 1; |
15256 | } | 15334 | } |
15257 | } | 15335 | } |
@@ -15261,8 +15339,8 @@ Index: git/string/tst-strxfrm2.c | |||
15261 | } | 15339 | } |
15262 | Index: git/string/tst-strxfrm.c | 15340 | Index: git/string/tst-strxfrm.c |
15263 | =================================================================== | 15341 | =================================================================== |
15264 | --- git.orig/string/tst-strxfrm.c 2014-08-29 20:00:53.756070587 -0700 | 15342 | --- git.orig/string/tst-strxfrm.c |
15265 | +++ git/string/tst-strxfrm.c 2014-08-29 20:01:15.240070587 -0700 | 15343 | +++ git/string/tst-strxfrm.c |
15266 | @@ -3,6 +3,7 @@ | 15344 | @@ -3,6 +3,7 @@ |
15267 | #include <stdio.h> | 15345 | #include <stdio.h> |
15268 | #include <stdlib.h> | 15346 | #include <stdlib.h> |
@@ -15271,7 +15349,7 @@ Index: git/string/tst-strxfrm.c | |||
15271 | 15349 | ||
15272 | 15350 | ||
15273 | char const string[] = ""; | 15351 | char const string[] = ""; |
15274 | @@ -64,8 +65,10 @@ | 15352 | @@ -64,8 +65,10 @@ do_test (void) |
15275 | int result = 0; | 15353 | int result = 0; |
15276 | 15354 | ||
15277 | result |= test ("C"); | 15355 | result |= test ("C"); |
@@ -15284,8 +15362,8 @@ Index: git/string/tst-strxfrm.c | |||
15284 | } | 15362 | } |
15285 | Index: git/sunrpc/Makefile | 15363 | Index: git/sunrpc/Makefile |
15286 | =================================================================== | 15364 | =================================================================== |
15287 | --- git.orig/sunrpc/Makefile 2014-08-29 20:00:53.760070587 -0700 | 15365 | --- git.orig/sunrpc/Makefile |
15288 | +++ git/sunrpc/Makefile 2014-08-29 20:01:15.240070587 -0700 | 15366 | +++ git/sunrpc/Makefile |
15289 | @@ -18,6 +18,8 @@ | 15367 | @@ -18,6 +18,8 @@ |
15290 | # | 15368 | # |
15291 | # Sub-makefile for sunrpc portion of the library. | 15369 | # Sub-makefile for sunrpc portion of the library. |
@@ -15295,7 +15373,7 @@ Index: git/sunrpc/Makefile | |||
15295 | subdir := sunrpc | 15373 | subdir := sunrpc |
15296 | 15374 | ||
15297 | include ../Makeconfig | 15375 | include ../Makeconfig |
15298 | @@ -55,7 +57,6 @@ | 15376 | @@ -55,7 +57,6 @@ headers-in-tirpc = $(addprefix rpc/,auth |
15299 | headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ | 15377 | headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ |
15300 | $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h | 15378 | $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h |
15301 | headers = rpc/netdb.h | 15379 | headers = rpc/netdb.h |
@@ -15303,7 +15381,7 @@ Index: git/sunrpc/Makefile | |||
15303 | generated += $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ | 15381 | generated += $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ |
15304 | $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen | 15382 | $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen |
15305 | generated-dirs += rpcsvc | 15383 | generated-dirs += rpcsvc |
15306 | @@ -65,18 +66,28 @@ | 15384 | @@ -65,18 +66,28 @@ headers += $(headers-in-tirpc) $(headers |
15307 | endif | 15385 | endif |
15308 | 15386 | ||
15309 | ifeq ($(build-shared),yes) | 15387 | ifeq ($(build-shared),yes) |
@@ -15337,7 +15415,7 @@ Index: git/sunrpc/Makefile | |||
15337 | ifneq ($(link-obsolete-rpc),yes) | 15415 | ifneq ($(link-obsolete-rpc),yes) |
15338 | # We only add the RPC for compatibility to libc.so. | 15416 | # We only add the RPC for compatibility to libc.so. |
15339 | shared-only-routines = $(routines) | 15417 | shared-only-routines = $(routines) |
15340 | @@ -85,25 +96,28 @@ | 15418 | @@ -85,25 +96,28 @@ endif |
15341 | 15419 | ||
15342 | # We do not build rpcinfo anymore. It is not needed for a bootstrap | 15420 | # We do not build rpcinfo anymore. It is not needed for a bootstrap |
15343 | # and not wanted on complete systems. | 15421 | # and not wanted on complete systems. |
@@ -15378,9 +15456,9 @@ Index: git/sunrpc/Makefile | |||
15378 | omit-deps = $(librpcsvc-routines) | 15456 | omit-deps = $(librpcsvc-routines) |
15379 | Index: git/sysdeps/generic/ldsodefs.h | 15457 | Index: git/sysdeps/generic/ldsodefs.h |
15380 | =================================================================== | 15458 | =================================================================== |
15381 | --- git.orig/sysdeps/generic/ldsodefs.h 2014-08-29 20:00:53.904070587 -0700 | 15459 | --- git.orig/sysdeps/generic/ldsodefs.h |
15382 | +++ git/sysdeps/generic/ldsodefs.h 2014-08-29 20:01:15.240070587 -0700 | 15460 | +++ git/sysdeps/generic/ldsodefs.h |
15383 | @@ -425,6 +425,12 @@ | 15461 | @@ -425,6 +425,12 @@ extern struct rtld_global _rtld_global _ |
15384 | # undef __rtld_global_attribute__ | 15462 | # undef __rtld_global_attribute__ |
15385 | #endif | 15463 | #endif |
15386 | 15464 | ||
@@ -15393,7 +15471,7 @@ Index: git/sysdeps/generic/ldsodefs.h | |||
15393 | #ifndef SHARED | 15471 | #ifndef SHARED |
15394 | # define GLRO(name) _##name | 15472 | # define GLRO(name) _##name |
15395 | #else | 15473 | #else |
15396 | @@ -437,8 +443,10 @@ | 15474 | @@ -437,8 +443,10 @@ struct rtld_global_ro |
15397 | { | 15475 | { |
15398 | #endif | 15476 | #endif |
15399 | 15477 | ||
@@ -15406,9 +15484,9 @@ Index: git/sysdeps/generic/ldsodefs.h | |||
15406 | #define DL_DEBUG_BINDINGS (1 << 2) | 15484 | #define DL_DEBUG_BINDINGS (1 << 2) |
15407 | Index: git/sysdeps/gnu/Makefile | 15485 | Index: git/sysdeps/gnu/Makefile |
15408 | =================================================================== | 15486 | =================================================================== |
15409 | --- git.orig/sysdeps/gnu/Makefile 2014-08-29 20:00:53.924070587 -0700 | 15487 | --- git.orig/sysdeps/gnu/Makefile |
15410 | +++ git/sysdeps/gnu/Makefile 2014-08-29 20:01:15.240070587 -0700 | 15488 | +++ git/sysdeps/gnu/Makefile |
15411 | @@ -57,7 +57,8 @@ | 15489 | @@ -59,7 +59,8 @@ $(foreach o,$(object-suffixes) $(object- |
15412 | endif | 15490 | endif |
15413 | 15491 | ||
15414 | ifeq ($(subdir),login) | 15492 | ifeq ($(subdir),login) |
@@ -15420,9 +15498,9 @@ Index: git/sysdeps/gnu/Makefile | |||
15420 | sysdep_headers += utmpx.h bits/utmpx.h | 15498 | sysdep_headers += utmpx.h bits/utmpx.h |
15421 | Index: git/sysdeps/ieee754/ldbl-opt/Makefile | 15499 | Index: git/sysdeps/ieee754/ldbl-opt/Makefile |
15422 | =================================================================== | 15500 | =================================================================== |
15423 | --- git.orig/sysdeps/ieee754/ldbl-opt/Makefile 2014-08-29 20:00:54.452070587 -0700 | 15501 | --- git.orig/sysdeps/ieee754/ldbl-opt/Makefile |
15424 | +++ git/sysdeps/ieee754/ldbl-opt/Makefile 2014-08-29 20:01:15.244070587 -0700 | 15502 | +++ git/sysdeps/ieee754/ldbl-opt/Makefile |
15425 | @@ -11,19 +11,18 @@ | 15503 | @@ -11,19 +11,18 @@ libm-routines += s_nexttowardfd |
15426 | routines += math_ldbl_opt nldbl-compat | 15504 | routines += math_ldbl_opt nldbl-compat |
15427 | 15505 | ||
15428 | extra-libs += libnldbl | 15506 | extra-libs += libnldbl |
@@ -15451,7 +15529,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/Makefile | |||
15451 | strtold strtold_l strtoldint wcstold wcstold_l wcstoldint \ | 15529 | strtold strtold_l strtoldint wcstold wcstold_l wcstoldint \ |
15452 | qecvt qfcvt qgcvt qecvt_r qfcvt_r \ | 15530 | qecvt qfcvt qgcvt qecvt_r qfcvt_r \ |
15453 | isinf isnan finite signbit scalb log2 lgamma_r ceil \ | 15531 | isinf isnan finite signbit scalb log2 lgamma_r ceil \ |
15454 | @@ -38,9 +37,15 @@ | 15532 | @@ -38,9 +37,15 @@ libnldbl-calls = asprintf dprintf fprint |
15455 | casinh cexp clog cproj csin csinh csqrt ctan ctanh cpow \ | 15533 | casinh cexp clog cproj csin csinh csqrt ctan ctanh cpow \ |
15456 | cabs carg cimag creal clog10 \ | 15534 | cabs carg cimag creal clog10 \ |
15457 | isoc99_scanf isoc99_fscanf isoc99_sscanf \ | 15535 | isoc99_scanf isoc99_fscanf isoc99_sscanf \ |
@@ -15470,8 +15548,8 @@ Index: git/sysdeps/ieee754/ldbl-opt/Makefile | |||
15470 | libnldbl-static-only-routines = $(libnldbl-routines) | 15548 | libnldbl-static-only-routines = $(libnldbl-routines) |
15471 | Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | 15549 | Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c |
15472 | =================================================================== | 15550 | =================================================================== |
15473 | --- git.orig/sysdeps/ieee754/ldbl-opt/nldbl-compat.c 2014-08-29 20:00:54.468070587 -0700 | 15551 | --- git.orig/sysdeps/ieee754/ldbl-opt/nldbl-compat.c |
15474 | +++ git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c 2014-08-29 20:01:15.244070587 -0700 | 15552 | +++ git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c |
15475 | @@ -26,6 +26,7 @@ | 15553 | @@ -26,6 +26,7 @@ |
15476 | #include <locale/localeinfo.h> | 15554 | #include <locale/localeinfo.h> |
15477 | #include <sys/syslog.h> | 15555 | #include <sys/syslog.h> |
@@ -15480,7 +15558,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15480 | 15558 | ||
15481 | #include "nldbl-compat.h" | 15559 | #include "nldbl-compat.h" |
15482 | 15560 | ||
15483 | @@ -33,20 +34,14 @@ | 15561 | @@ -33,20 +34,14 @@ libc_hidden_proto (__nldbl_vfprintf) |
15484 | libc_hidden_proto (__nldbl_vsscanf) | 15562 | libc_hidden_proto (__nldbl_vsscanf) |
15485 | libc_hidden_proto (__nldbl_vsprintf) | 15563 | libc_hidden_proto (__nldbl_vsprintf) |
15486 | libc_hidden_proto (__nldbl_vfscanf) | 15564 | libc_hidden_proto (__nldbl_vfscanf) |
@@ -15501,7 +15579,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15501 | libc_hidden_proto (__nldbl___vasprintf_chk) | 15579 | libc_hidden_proto (__nldbl___vasprintf_chk) |
15502 | libc_hidden_proto (__nldbl___vdprintf_chk) | 15580 | libc_hidden_proto (__nldbl___vdprintf_chk) |
15503 | libc_hidden_proto (__nldbl___obstack_vprintf_chk) | 15581 | libc_hidden_proto (__nldbl___obstack_vprintf_chk) |
15504 | @@ -54,8 +49,17 @@ | 15582 | @@ -54,8 +49,17 @@ libc_hidden_proto (__nldbl___vstrfmon) |
15505 | libc_hidden_proto (__nldbl___vstrfmon_l) | 15583 | libc_hidden_proto (__nldbl___vstrfmon_l) |
15506 | libc_hidden_proto (__nldbl___isoc99_vsscanf) | 15584 | libc_hidden_proto (__nldbl___isoc99_vsscanf) |
15507 | libc_hidden_proto (__nldbl___isoc99_vfscanf) | 15585 | libc_hidden_proto (__nldbl___isoc99_vfscanf) |
@@ -15519,7 +15597,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15519 | 15597 | ||
15520 | static void | 15598 | static void |
15521 | __nldbl_cleanup (void *arg) | 15599 | __nldbl_cleanup (void *arg) |
15522 | @@ -117,6 +121,7 @@ | 15600 | @@ -117,6 +121,7 @@ __nldbl_fprintf (FILE *stream, const cha |
15523 | } | 15601 | } |
15524 | weak_alias (__nldbl_fprintf, __nldbl__IO_fprintf) | 15602 | weak_alias (__nldbl_fprintf, __nldbl__IO_fprintf) |
15525 | 15603 | ||
@@ -15527,7 +15605,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15527 | int | 15605 | int |
15528 | attribute_compat_text_section weak_function | 15606 | attribute_compat_text_section weak_function |
15529 | __nldbl_fwprintf (FILE *stream, const wchar_t *fmt, ...) | 15607 | __nldbl_fwprintf (FILE *stream, const wchar_t *fmt, ...) |
15530 | @@ -130,6 +135,7 @@ | 15608 | @@ -130,6 +135,7 @@ __nldbl_fwprintf (FILE *stream, const wc |
15531 | 15609 | ||
15532 | return done; | 15610 | return done; |
15533 | } | 15611 | } |
@@ -15535,7 +15613,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15535 | 15613 | ||
15536 | int | 15614 | int |
15537 | attribute_compat_text_section | 15615 | attribute_compat_text_section |
15538 | @@ -226,6 +232,7 @@ | 15616 | @@ -226,6 +232,7 @@ __nldbl_snprintf (char *s, size_t maxlen |
15539 | return done; | 15617 | return done; |
15540 | } | 15618 | } |
15541 | 15619 | ||
@@ -15543,7 +15621,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15543 | int | 15621 | int |
15544 | attribute_compat_text_section | 15622 | attribute_compat_text_section |
15545 | __nldbl_swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) | 15623 | __nldbl_swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) |
15546 | @@ -239,6 +246,7 @@ | 15624 | @@ -239,6 +246,7 @@ __nldbl_swprintf (wchar_t *s, size_t n, |
15547 | 15625 | ||
15548 | return done; | 15626 | return done; |
15549 | } | 15627 | } |
@@ -15551,7 +15629,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15551 | 15629 | ||
15552 | int | 15630 | int |
15553 | attribute_compat_text_section weak_function | 15631 | attribute_compat_text_section weak_function |
15554 | @@ -264,6 +272,7 @@ | 15632 | @@ -264,6 +272,7 @@ __nldbl_vdprintf (int d, const char *fmt |
15555 | } | 15633 | } |
15556 | libc_hidden_def (__nldbl_vdprintf) | 15634 | libc_hidden_def (__nldbl_vdprintf) |
15557 | 15635 | ||
@@ -15559,7 +15637,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15559 | int | 15637 | int |
15560 | attribute_compat_text_section weak_function | 15638 | attribute_compat_text_section weak_function |
15561 | __nldbl_vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) | 15639 | __nldbl_vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) |
15562 | @@ -275,6 +284,7 @@ | 15640 | @@ -275,6 +284,7 @@ __nldbl_vfwprintf (FILE *s, const wchar_ |
15563 | return res; | 15641 | return res; |
15564 | } | 15642 | } |
15565 | libc_hidden_def (__nldbl_vfwprintf) | 15643 | libc_hidden_def (__nldbl_vfwprintf) |
@@ -15567,7 +15645,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15567 | 15645 | ||
15568 | int | 15646 | int |
15569 | attribute_compat_text_section | 15647 | attribute_compat_text_section |
15570 | @@ -297,6 +307,7 @@ | 15648 | @@ -297,6 +307,7 @@ __nldbl_vsnprintf (char *string, size_t |
15571 | libc_hidden_def (__nldbl_vsnprintf) | 15649 | libc_hidden_def (__nldbl_vsnprintf) |
15572 | weak_alias (__nldbl_vsnprintf, __nldbl___vsnprintf) | 15650 | weak_alias (__nldbl_vsnprintf, __nldbl___vsnprintf) |
15573 | 15651 | ||
@@ -15575,7 +15653,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15575 | int | 15653 | int |
15576 | attribute_compat_text_section weak_function | 15654 | attribute_compat_text_section weak_function |
15577 | __nldbl_vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, | 15655 | __nldbl_vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, |
15578 | @@ -330,6 +341,7 @@ | 15656 | @@ -330,6 +341,7 @@ __nldbl_wprintf (const wchar_t *fmt, ... |
15579 | 15657 | ||
15580 | return done; | 15658 | return done; |
15581 | } | 15659 | } |
@@ -15583,7 +15661,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15583 | 15661 | ||
15584 | int | 15662 | int |
15585 | attribute_compat_text_section | 15663 | attribute_compat_text_section |
15586 | @@ -419,6 +431,7 @@ | 15664 | @@ -419,6 +431,7 @@ __nldbl_scanf (const char *fmt, ...) |
15587 | return done; | 15665 | return done; |
15588 | } | 15666 | } |
15589 | 15667 | ||
@@ -15591,7 +15669,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15591 | int | 15669 | int |
15592 | attribute_compat_text_section | 15670 | attribute_compat_text_section |
15593 | __nldbl_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) | 15671 | __nldbl_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) |
15594 | @@ -491,6 +504,7 @@ | 15672 | @@ -491,6 +504,7 @@ __nldbl_wscanf (const wchar_t *fmt, ...) |
15595 | 15673 | ||
15596 | return done; | 15674 | return done; |
15597 | } | 15675 | } |
@@ -15599,7 +15677,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15599 | 15677 | ||
15600 | int | 15678 | int |
15601 | attribute_compat_text_section | 15679 | attribute_compat_text_section |
15602 | @@ -506,6 +520,7 @@ | 15680 | @@ -506,6 +520,7 @@ __nldbl___fprintf_chk (FILE *stream, int |
15603 | return done; | 15681 | return done; |
15604 | } | 15682 | } |
15605 | 15683 | ||
@@ -15607,7 +15685,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15607 | int | 15685 | int |
15608 | attribute_compat_text_section | 15686 | attribute_compat_text_section |
15609 | __nldbl___fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) | 15687 | __nldbl___fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) |
15610 | @@ -519,6 +534,7 @@ | 15688 | @@ -519,6 +534,7 @@ __nldbl___fwprintf_chk (FILE *stream, in |
15611 | 15689 | ||
15612 | return done; | 15690 | return done; |
15613 | } | 15691 | } |
@@ -15615,7 +15693,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15615 | 15693 | ||
15616 | int | 15694 | int |
15617 | attribute_compat_text_section | 15695 | attribute_compat_text_section |
15618 | @@ -563,6 +579,7 @@ | 15696 | @@ -563,6 +579,7 @@ __nldbl___sprintf_chk (char *s, int flag |
15619 | return done; | 15697 | return done; |
15620 | } | 15698 | } |
15621 | 15699 | ||
@@ -15623,7 +15701,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15623 | int | 15701 | int |
15624 | attribute_compat_text_section | 15702 | attribute_compat_text_section |
15625 | __nldbl___swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, | 15703 | __nldbl___swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, |
15626 | @@ -577,6 +594,7 @@ | 15704 | @@ -577,6 +594,7 @@ __nldbl___swprintf_chk (wchar_t *s, size |
15627 | 15705 | ||
15628 | return done; | 15706 | return done; |
15629 | } | 15707 | } |
@@ -15631,7 +15709,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15631 | 15709 | ||
15632 | int | 15710 | int |
15633 | attribute_compat_text_section | 15711 | attribute_compat_text_section |
15634 | @@ -590,6 +608,7 @@ | 15712 | @@ -590,6 +608,7 @@ __nldbl___vfprintf_chk (FILE *s, int fla |
15635 | } | 15713 | } |
15636 | libc_hidden_def (__nldbl___vfprintf_chk) | 15714 | libc_hidden_def (__nldbl___vfprintf_chk) |
15637 | 15715 | ||
@@ -15639,7 +15717,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15639 | int | 15717 | int |
15640 | attribute_compat_text_section | 15718 | attribute_compat_text_section |
15641 | __nldbl___vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) | 15719 | __nldbl___vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) |
15642 | @@ -601,6 +620,7 @@ | 15720 | @@ -601,6 +620,7 @@ __nldbl___vfwprintf_chk (FILE *s, int fl |
15643 | return res; | 15721 | return res; |
15644 | } | 15722 | } |
15645 | libc_hidden_def (__nldbl___vfwprintf_chk) | 15723 | libc_hidden_def (__nldbl___vfwprintf_chk) |
@@ -15647,7 +15725,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15647 | 15725 | ||
15648 | int | 15726 | int |
15649 | attribute_compat_text_section | 15727 | attribute_compat_text_section |
15650 | @@ -635,6 +655,7 @@ | 15728 | @@ -635,6 +655,7 @@ __nldbl___vsprintf_chk (char *string, in |
15651 | } | 15729 | } |
15652 | libc_hidden_def (__nldbl___vsprintf_chk) | 15730 | libc_hidden_def (__nldbl___vsprintf_chk) |
15653 | 15731 | ||
@@ -15655,7 +15733,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15655 | int | 15733 | int |
15656 | attribute_compat_text_section | 15734 | attribute_compat_text_section |
15657 | __nldbl___vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, | 15735 | __nldbl___vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, |
15658 | @@ -668,6 +689,7 @@ | 15736 | @@ -668,6 +689,7 @@ __nldbl___wprintf_chk (int flag, const w |
15659 | 15737 | ||
15660 | return done; | 15738 | return done; |
15661 | } | 15739 | } |
@@ -15663,7 +15741,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15663 | 15741 | ||
15664 | int | 15742 | int |
15665 | attribute_compat_text_section | 15743 | attribute_compat_text_section |
15666 | @@ -775,6 +797,7 @@ | 15744 | @@ -775,6 +797,7 @@ __nldbl___printf_fp (FILE *fp, const str |
15667 | return ___printf_fp (fp, &info_no_ldbl, args); | 15745 | return ___printf_fp (fp, &info_no_ldbl, args); |
15668 | } | 15746 | } |
15669 | 15747 | ||
@@ -15671,7 +15749,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15671 | ssize_t | 15749 | ssize_t |
15672 | attribute_compat_text_section | 15750 | attribute_compat_text_section |
15673 | __nldbl_strfmon (char *s, size_t maxsize, const char *format, ...) | 15751 | __nldbl_strfmon (char *s, size_t maxsize, const char *format, ...) |
15674 | @@ -829,6 +852,7 @@ | 15752 | @@ -829,6 +852,7 @@ __nldbl___vstrfmon_l (char *s, size_t ma |
15675 | return res; | 15753 | return res; |
15676 | } | 15754 | } |
15677 | libc_hidden_def (__nldbl___vstrfmon_l) | 15755 | libc_hidden_def (__nldbl___vstrfmon_l) |
@@ -15679,7 +15757,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15679 | 15757 | ||
15680 | void | 15758 | void |
15681 | attribute_compat_text_section | 15759 | attribute_compat_text_section |
15682 | @@ -941,6 +965,7 @@ | 15760 | @@ -941,6 +965,7 @@ __nldbl___isoc99_scanf (const char *fmt, |
15683 | return done; | 15761 | return done; |
15684 | } | 15762 | } |
15685 | 15763 | ||
@@ -15687,7 +15765,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15687 | int | 15765 | int |
15688 | attribute_compat_text_section | 15766 | attribute_compat_text_section |
15689 | __nldbl___isoc99_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) | 15767 | __nldbl___isoc99_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) |
15690 | @@ -1014,6 +1039,7 @@ | 15768 | @@ -1014,6 +1039,7 @@ __nldbl___isoc99_wscanf (const wchar_t * |
15691 | 15769 | ||
15692 | return done; | 15770 | return done; |
15693 | } | 15771 | } |
@@ -15695,7 +15773,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15695 | 15773 | ||
15696 | #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) | 15774 | #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) |
15697 | compat_symbol (libc, __nldbl__IO_printf, _IO_printf, GLIBC_2_0); | 15775 | compat_symbol (libc, __nldbl__IO_printf, _IO_printf, GLIBC_2_0); |
15698 | @@ -1057,6 +1083,7 @@ | 15776 | @@ -1057,6 +1083,7 @@ compat_symbol (libc, __nldbl_printf_size |
15699 | compat_symbol (libc, __nldbl___strfmon_l, __strfmon_l, GLIBC_2_1); | 15777 | compat_symbol (libc, __nldbl___strfmon_l, __strfmon_l, GLIBC_2_1); |
15700 | #endif | 15778 | #endif |
15701 | #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_2) | 15779 | #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_2) |
@@ -15703,7 +15781,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15703 | compat_symbol (libc, __nldbl_swprintf, swprintf, GLIBC_2_2); | 15781 | compat_symbol (libc, __nldbl_swprintf, swprintf, GLIBC_2_2); |
15704 | compat_symbol (libc, __nldbl_vwprintf, vwprintf, GLIBC_2_2); | 15782 | compat_symbol (libc, __nldbl_vwprintf, vwprintf, GLIBC_2_2); |
15705 | compat_symbol (libc, __nldbl_wprintf, wprintf, GLIBC_2_2); | 15783 | compat_symbol (libc, __nldbl_wprintf, wprintf, GLIBC_2_2); |
15706 | @@ -1069,6 +1096,7 @@ | 15784 | @@ -1069,6 +1096,7 @@ compat_symbol (libc, __nldbl_vfwscanf, v |
15707 | compat_symbol (libc, __nldbl_vswscanf, vswscanf, GLIBC_2_2); | 15785 | compat_symbol (libc, __nldbl_vswscanf, vswscanf, GLIBC_2_2); |
15708 | compat_symbol (libc, __nldbl_vwscanf, vwscanf, GLIBC_2_2); | 15786 | compat_symbol (libc, __nldbl_vwscanf, vwscanf, GLIBC_2_2); |
15709 | compat_symbol (libc, __nldbl_wscanf, wscanf, GLIBC_2_2); | 15787 | compat_symbol (libc, __nldbl_wscanf, wscanf, GLIBC_2_2); |
@@ -15713,8 +15791,8 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15713 | compat_symbol (libc, __nldbl_strfmon_l, strfmon_l, GLIBC_2_3); | 15791 | compat_symbol (libc, __nldbl_strfmon_l, strfmon_l, GLIBC_2_3); |
15714 | Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h | 15792 | Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h |
15715 | =================================================================== | 15793 | =================================================================== |
15716 | --- git.orig/sysdeps/ieee754/ldbl-opt/nldbl-compat.h 2014-08-29 20:00:54.468070587 -0700 | 15794 | --- git.orig/sysdeps/ieee754/ldbl-opt/nldbl-compat.h |
15717 | +++ git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h 2014-08-29 20:01:15.244070587 -0700 | 15795 | +++ git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h |
15718 | @@ -30,6 +30,7 @@ | 15796 | @@ -30,6 +30,7 @@ |
15719 | #include <math.h> | 15797 | #include <math.h> |
15720 | #include <monetary.h> | 15798 | #include <monetary.h> |
@@ -15743,7 +15821,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h | |||
15743 | NLDBL_DECL (__asprintf); | 15821 | NLDBL_DECL (__asprintf); |
15744 | NLDBL_DECL (asprintf); | 15822 | NLDBL_DECL (asprintf); |
15745 | NLDBL_DECL (__printf_fp); | 15823 | NLDBL_DECL (__printf_fp); |
15746 | @@ -66,12 +63,18 @@ | 15824 | @@ -66,12 +63,18 @@ NLDBL_DECL (__isoc99_sscanf); |
15747 | NLDBL_DECL (__isoc99_vscanf); | 15825 | NLDBL_DECL (__isoc99_vscanf); |
15748 | NLDBL_DECL (__isoc99_vfscanf); | 15826 | NLDBL_DECL (__isoc99_vfscanf); |
15749 | NLDBL_DECL (__isoc99_vsscanf); | 15827 | NLDBL_DECL (__isoc99_vsscanf); |
@@ -15762,7 +15840,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h | |||
15762 | 15840 | ||
15763 | /* This one does not exist in the normal interface, only | 15841 | /* This one does not exist in the normal interface, only |
15764 | __nldbl___vstrfmon really exists. */ | 15842 | __nldbl___vstrfmon really exists. */ |
15765 | @@ -82,22 +85,23 @@ | 15843 | @@ -82,22 +85,23 @@ extern ssize_t __nldbl___vstrfmon (char |
15766 | since we don't compile with _FORTIFY_SOURCE. */ | 15844 | since we don't compile with _FORTIFY_SOURCE. */ |
15767 | extern int __nldbl___vfprintf_chk (FILE *__restrict, int, | 15845 | extern int __nldbl___vfprintf_chk (FILE *__restrict, int, |
15768 | const char *__restrict, _G_va_list); | 15846 | const char *__restrict, _G_va_list); |
@@ -15794,8 +15872,8 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h | |||
15794 | #endif /* __NLDBL_COMPAT_H */ | 15872 | #endif /* __NLDBL_COMPAT_H */ |
15795 | Index: git/sysdeps/unix/sysv/linux/gethostid.c | 15873 | Index: git/sysdeps/unix/sysv/linux/gethostid.c |
15796 | =================================================================== | 15874 | =================================================================== |
15797 | --- git.orig/sysdeps/unix/sysv/linux/gethostid.c 2014-08-29 20:00:58.840070587 -0700 | 15875 | --- git.orig/sysdeps/unix/sysv/linux/gethostid.c |
15798 | +++ git/sysdeps/unix/sysv/linux/gethostid.c 2014-08-29 20:01:15.244070587 -0700 | 15876 | +++ git/sysdeps/unix/sysv/linux/gethostid.c |
15799 | @@ -21,6 +21,7 @@ | 15877 | @@ -21,6 +21,7 @@ |
15800 | #include <unistd.h> | 15878 | #include <unistd.h> |
15801 | #include <netdb.h> | 15879 | #include <netdb.h> |
@@ -15804,7 +15882,7 @@ Index: git/sysdeps/unix/sysv/linux/gethostid.c | |||
15804 | 15882 | ||
15805 | #define HOSTIDFILE "/etc/hostid" | 15883 | #define HOSTIDFILE "/etc/hostid" |
15806 | 15884 | ||
15807 | @@ -89,6 +90,7 @@ | 15885 | @@ -89,6 +90,7 @@ gethostid (void) |
15808 | return id; | 15886 | return id; |
15809 | } | 15887 | } |
15810 | 15888 | ||
@@ -15812,7 +15890,7 @@ Index: git/sysdeps/unix/sysv/linux/gethostid.c | |||
15812 | /* Getting from the file was not successful. An intelligent guess for | 15890 | /* Getting from the file was not successful. An intelligent guess for |
15813 | a unique number of a host is its IP address. Return this. */ | 15891 | a unique number of a host is its IP address. Return this. */ |
15814 | if (__gethostname (hostname, MAXHOSTNAMELEN) < 0 || hostname[0] == '\0') | 15892 | if (__gethostname (hostname, MAXHOSTNAMELEN) < 0 || hostname[0] == '\0') |
15815 | @@ -115,5 +117,9 @@ | 15893 | @@ -115,5 +117,9 @@ gethostid (void) |
15816 | /* For the return value to be not exactly the IP address we do some | 15894 | /* For the return value to be not exactly the IP address we do some |
15817 | bit fiddling. */ | 15895 | bit fiddling. */ |
15818 | return (int32_t) (in.s_addr << 16 | in.s_addr >> 16); | 15896 | return (int32_t) (in.s_addr << 16 | in.s_addr >> 16); |
@@ -15824,8 +15902,8 @@ Index: git/sysdeps/unix/sysv/linux/gethostid.c | |||
15824 | #endif | 15902 | #endif |
15825 | Index: git/sysdeps/unix/sysv/linux/libc_fatal.c | 15903 | Index: git/sysdeps/unix/sysv/linux/libc_fatal.c |
15826 | =================================================================== | 15904 | =================================================================== |
15827 | --- git.orig/sysdeps/unix/sysv/linux/libc_fatal.c 2014-08-29 20:00:58.980070587 -0700 | 15905 | --- git.orig/sysdeps/unix/sysv/linux/libc_fatal.c |
15828 | +++ git/sysdeps/unix/sysv/linux/libc_fatal.c 2014-08-29 20:01:15.244070587 -0700 | 15906 | +++ git/sysdeps/unix/sysv/linux/libc_fatal.c |
15829 | @@ -23,6 +23,7 @@ | 15907 | @@ -23,6 +23,7 @@ |
15830 | #include <string.h> | 15908 | #include <string.h> |
15831 | #include <sys/mman.h> | 15909 | #include <sys/mman.h> |
@@ -15834,7 +15912,7 @@ Index: git/sysdeps/unix/sysv/linux/libc_fatal.c | |||
15834 | 15912 | ||
15835 | static bool | 15913 | static bool |
15836 | writev_for_fatal (int fd, const struct iovec *iov, size_t niov, size_t total) | 15914 | writev_for_fatal (int fd, const struct iovec *iov, size_t niov, size_t total) |
15837 | @@ -40,6 +41,7 @@ | 15915 | @@ -40,6 +41,7 @@ writev_for_fatal (int fd, const struct i |
15838 | static void | 15916 | static void |
15839 | backtrace_and_maps (int do_abort, bool written, int fd) | 15917 | backtrace_and_maps (int do_abort, bool written, int fd) |
15840 | { | 15918 | { |
@@ -15842,7 +15920,7 @@ Index: git/sysdeps/unix/sysv/linux/libc_fatal.c | |||
15842 | if (do_abort > 1 && written) | 15920 | if (do_abort > 1 && written) |
15843 | { | 15921 | { |
15844 | void *addrs[64]; | 15922 | void *addrs[64]; |
15845 | @@ -62,6 +64,7 @@ | 15923 | @@ -62,6 +64,7 @@ backtrace_and_maps (int do_abort, bool w |
15846 | close_not_cancel_no_status (fd2); | 15924 | close_not_cancel_no_status (fd2); |
15847 | } | 15925 | } |
15848 | } | 15926 | } |
@@ -15852,8 +15930,8 @@ Index: git/sysdeps/unix/sysv/linux/libc_fatal.c | |||
15852 | 15930 | ||
15853 | Index: git/time/Makefile | 15931 | Index: git/time/Makefile |
15854 | =================================================================== | 15932 | =================================================================== |
15855 | --- git.orig/time/Makefile 2014-08-29 20:00:59.504070587 -0700 | 15933 | --- git.orig/time/Makefile |
15856 | +++ git/time/Makefile 2014-08-29 20:01:15.244070587 -0700 | 15934 | +++ git/time/Makefile |
15857 | @@ -18,6 +18,8 @@ | 15935 | @@ -18,6 +18,8 @@ |
15858 | # | 15936 | # |
15859 | # Makefile for time routines | 15937 | # Makefile for time routines |
@@ -15863,7 +15941,7 @@ Index: git/time/Makefile | |||
15863 | subdir := time | 15941 | subdir := time |
15864 | 15942 | ||
15865 | include ../Makeconfig | 15943 | include ../Makeconfig |
15866 | @@ -30,14 +32,20 @@ | 15944 | @@ -30,15 +32,23 @@ routines := offtime asctime clock ctime |
15867 | tzfile getitimer setitimer \ | 15945 | tzfile getitimer setitimer \ |
15868 | stime dysize timegm ftime \ | 15946 | stime dysize timegm ftime \ |
15869 | getdate strptime strptime_l \ | 15947 | getdate strptime strptime_l \ |
@@ -15871,27 +15949,30 @@ Index: git/time/Makefile | |||
15871 | + strftime strftime_l \ | 15949 | + strftime strftime_l \ |
15872 | timespec_get | 15950 | timespec_get |
15873 | -aux := era alt_digit lc-time-cleanup | 15951 | -aux := era alt_digit lc-time-cleanup |
15874 | +routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ | ||
15875 | + := wcsftime wcsftime_l | ||
15876 | +aux-$(OPTION_EGLIBC_LOCALE_CODE) += alt_digit era lc-time-cleanup | ||
15877 | 15952 | ||
15878 | -tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \ | 15953 | -tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \ |
15879 | - tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \ | 15954 | - tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \ |
15955 | +routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ | ||
15956 | + := wcsftime wcsftime_l | ||
15957 | +aux-$(OPTION_EGLIBC_LOCALE_CODE) += alt_digit era lc-time-cleanup | ||
15958 | + | ||
15880 | +tests := test_time clocktest tst-posixtz \ | 15959 | +tests := test_time clocktest tst-posixtz \ |
15881 | + tst-getdate tst-mktime tst-mktime2 tst-strftime \ | 15960 | + tst-getdate tst-mktime tst-mktime2 tst-strftime \ |
15882 | tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \ | 15961 | tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \ |
15883 | tst-strptime3 bug-getdate1 tst-strptime-whitespace | 15962 | tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime |
15963 | |||
15884 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ | 15964 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ |
15885 | + += tst-strptime tst-ftime_l | 15965 | + += tst-strptime tst-ftime_l |
15886 | +tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ | 15966 | +tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ |
15887 | + += tst_wcsftime | 15967 | + += tst_wcsftime |
15888 | 15968 | + | |
15889 | include ../Rules | 15969 | include ../Rules |
15890 | 15970 | ||
15971 | tz-cflags = -DTZDIR='"$(zonedir)"' \ | ||
15891 | Index: git/time/strftime_l.c | 15972 | Index: git/time/strftime_l.c |
15892 | =================================================================== | 15973 | =================================================================== |
15893 | --- git.orig/time/strftime_l.c 2014-08-29 20:00:59.528070587 -0700 | 15974 | --- git.orig/time/strftime_l.c |
15894 | +++ git/time/strftime_l.c 2014-08-29 20:01:15.244070587 -0700 | 15975 | +++ git/time/strftime_l.c |
15895 | @@ -35,6 +35,10 @@ | 15976 | @@ -35,6 +35,10 @@ |
15896 | # include "../locale/localeinfo.h" | 15977 | # include "../locale/localeinfo.h" |
15897 | #endif | 15978 | #endif |
@@ -15903,7 +15984,7 @@ Index: git/time/strftime_l.c | |||
15903 | #if defined emacs && !defined HAVE_BCOPY | 15984 | #if defined emacs && !defined HAVE_BCOPY |
15904 | # define HAVE_MEMCPY 1 | 15985 | # define HAVE_MEMCPY 1 |
15905 | #endif | 15986 | #endif |
15906 | @@ -882,7 +886,7 @@ | 15987 | @@ -882,7 +886,7 @@ __strftime_internal (s, maxsize, format, |
15907 | case L_('C'): | 15988 | case L_('C'): |
15908 | if (modifier == L_('E')) | 15989 | if (modifier == L_('E')) |
15909 | { | 15990 | { |
@@ -15912,7 +15993,7 @@ Index: git/time/strftime_l.c | |||
15912 | struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); | 15993 | struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); |
15913 | if (era) | 15994 | if (era) |
15914 | { | 15995 | { |
15915 | @@ -955,7 +959,7 @@ | 15996 | @@ -955,7 +959,7 @@ __strftime_internal (s, maxsize, format, |
15916 | 15997 | ||
15917 | if (modifier == L_('O') && 0 <= number_value) | 15998 | if (modifier == L_('O') && 0 <= number_value) |
15918 | { | 15999 | { |
@@ -15921,7 +16002,7 @@ Index: git/time/strftime_l.c | |||
15921 | /* Get the locale specific alternate representation of | 16002 | /* Get the locale specific alternate representation of |
15922 | the number NUMBER_VALUE. If none exist NULL is returned. */ | 16003 | the number NUMBER_VALUE. If none exist NULL is returned. */ |
15923 | const CHAR_T *cp = nl_get_alt_digit (number_value | 16004 | const CHAR_T *cp = nl_get_alt_digit (number_value |
15924 | @@ -1260,7 +1264,7 @@ | 16005 | @@ -1260,7 +1264,7 @@ __strftime_internal (s, maxsize, format, |
15925 | case L_('Y'): | 16006 | case L_('Y'): |
15926 | if (modifier == 'E') | 16007 | if (modifier == 'E') |
15927 | { | 16008 | { |
@@ -15930,7 +16011,7 @@ Index: git/time/strftime_l.c | |||
15930 | struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); | 16011 | struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); |
15931 | if (era) | 16012 | if (era) |
15932 | { | 16013 | { |
15933 | @@ -1285,7 +1289,7 @@ | 16014 | @@ -1285,7 +1289,7 @@ __strftime_internal (s, maxsize, format, |
15934 | case L_('y'): | 16015 | case L_('y'): |
15935 | if (modifier == L_('E')) | 16016 | if (modifier == L_('E')) |
15936 | { | 16017 | { |
@@ -15941,8 +16022,8 @@ Index: git/time/strftime_l.c | |||
15941 | { | 16022 | { |
15942 | Index: git/time/strptime_l.c | 16023 | Index: git/time/strptime_l.c |
15943 | =================================================================== | 16024 | =================================================================== |
15944 | --- git.orig/time/strptime_l.c 2014-08-29 20:00:59.528070587 -0700 | 16025 | --- git.orig/time/strptime_l.c |
15945 | +++ git/time/strptime_l.c 2014-08-29 20:01:15.244070587 -0700 | 16026 | +++ git/time/strptime_l.c |
15946 | @@ -29,6 +29,7 @@ | 16027 | @@ -29,6 +29,7 @@ |
15947 | 16028 | ||
15948 | #ifdef _LIBC | 16029 | #ifdef _LIBC |
@@ -15951,7 +16032,7 @@ Index: git/time/strptime_l.c | |||
15951 | # include "../locale/localeinfo.h" | 16032 | # include "../locale/localeinfo.h" |
15952 | #endif | 16033 | #endif |
15953 | 16034 | ||
15954 | @@ -84,7 +85,7 @@ | 16035 | @@ -84,7 +85,7 @@ localtime_r (t, tp) |
15955 | if (val < from || val > to) \ | 16036 | if (val < from || val > to) \ |
15956 | return NULL; \ | 16037 | return NULL; \ |
15957 | } while (0) | 16038 | } while (0) |
@@ -15960,7 +16041,18 @@ Index: git/time/strptime_l.c | |||
15960 | # define get_alt_number(from, to, n) \ | 16041 | # define get_alt_number(from, to, n) \ |
15961 | ({ \ | 16042 | ({ \ |
15962 | __label__ do_normal; \ | 16043 | __label__ do_normal; \ |
15963 | @@ -820,6 +821,7 @@ | 16044 | @@ -257,8 +258,10 @@ __strptime_internal (rp, fmt, tmp, state |
16045 | int cnt; | ||
16046 | int cnt_longest; | ||
16047 | size_t val; | ||
16048 | +#if ! _LIBC || __OPTION_EGLIBC_LOCALE_CODE | ||
16049 | size_t num_eras; | ||
16050 | struct era_entry *era = NULL; | ||
16051 | +#endif | ||
16052 | enum ptime_locale_status { not, loc, raw } decided_longest; | ||
16053 | struct __strptime_state | ||
16054 | { | ||
16055 | @@ -820,6 +823,7 @@ __strptime_internal (rp, fmt, tmp, state | ||
15964 | s.want_xday = 1; | 16056 | s.want_xday = 1; |
15965 | break; | 16057 | break; |
15966 | case 'C': | 16058 | case 'C': |
@@ -15968,7 +16060,7 @@ Index: git/time/strptime_l.c | |||
15968 | if (s.decided != raw) | 16060 | if (s.decided != raw) |
15969 | { | 16061 | { |
15970 | if (s.era_cnt >= 0) | 16062 | if (s.era_cnt >= 0) |
15971 | @@ -856,10 +858,12 @@ | 16063 | @@ -856,10 +860,12 @@ __strptime_internal (rp, fmt, tmp, state |
15972 | 16064 | ||
15973 | s.decided = raw; | 16065 | s.decided = raw; |
15974 | } | 16066 | } |
@@ -15981,7 +16073,7 @@ Index: git/time/strptime_l.c | |||
15981 | if (s.decided != raw) | 16073 | if (s.decided != raw) |
15982 | { | 16074 | { |
15983 | get_number(0, 9999, 4); | 16075 | get_number(0, 9999, 4); |
15984 | @@ -918,9 +922,10 @@ | 16076 | @@ -918,9 +924,10 @@ __strptime_internal (rp, fmt, tmp, state |
15985 | 16077 | ||
15986 | s.decided = raw; | 16078 | s.decided = raw; |
15987 | } | 16079 | } |
@@ -15993,7 +16085,7 @@ Index: git/time/strptime_l.c | |||
15993 | if (s.decided != raw) | 16085 | if (s.decided != raw) |
15994 | { | 16086 | { |
15995 | num_eras = _NL_CURRENT_WORD (LC_TIME, | 16087 | num_eras = _NL_CURRENT_WORD (LC_TIME, |
15996 | @@ -948,6 +953,7 @@ | 16088 | @@ -948,6 +955,7 @@ __strptime_internal (rp, fmt, tmp, state |
15997 | 16089 | ||
15998 | s.decided = raw; | 16090 | s.decided = raw; |
15999 | } | 16091 | } |
@@ -16001,7 +16093,7 @@ Index: git/time/strptime_l.c | |||
16001 | get_number (0, 9999, 4); | 16093 | get_number (0, 9999, 4); |
16002 | tm->tm_year = val - 1900; | 16094 | tm->tm_year = val - 1900; |
16003 | s.want_century = 0; | 16095 | s.want_century = 0; |
16004 | @@ -1118,6 +1124,7 @@ | 16096 | @@ -1118,6 +1126,7 @@ __strptime_internal (rp, fmt, tmp, state |
16005 | tm->tm_year = (s.century - 19) * 100; | 16097 | tm->tm_year = (s.century - 19) * 100; |
16006 | } | 16098 | } |
16007 | 16099 | ||
@@ -16009,7 +16101,7 @@ Index: git/time/strptime_l.c | |||
16009 | if (s.era_cnt != -1) | 16101 | if (s.era_cnt != -1) |
16010 | { | 16102 | { |
16011 | era = _nl_select_era_entry (s.era_cnt HELPER_LOCALE_ARG); | 16103 | era = _nl_select_era_entry (s.era_cnt HELPER_LOCALE_ARG); |
16012 | @@ -1132,6 +1139,7 @@ | 16104 | @@ -1132,6 +1141,7 @@ __strptime_internal (rp, fmt, tmp, state |
16013 | tm->tm_year = era->start_date[0]; | 16105 | tm->tm_year = era->start_date[0]; |
16014 | } | 16106 | } |
16015 | else | 16107 | else |
@@ -16019,9 +16111,9 @@ Index: git/time/strptime_l.c | |||
16019 | /* No era found but we have seen an E modifier. Rectify some | 16111 | /* No era found but we have seen an E modifier. Rectify some |
16020 | Index: git/timezone/Makefile | 16112 | Index: git/timezone/Makefile |
16021 | =================================================================== | 16113 | =================================================================== |
16022 | --- git.orig/timezone/Makefile 2014-08-29 20:01:14.044070587 -0700 | 16114 | --- git.orig/timezone/Makefile |
16023 | +++ git/timezone/Makefile 2014-08-29 20:01:15.244070587 -0700 | 16115 | +++ git/timezone/Makefile |
16024 | @@ -115,7 +115,7 @@ | 16116 | @@ -117,7 +117,7 @@ $(testdata)/Asia/Tokyo: asia $(zic-deps) |
16025 | 16117 | ||
16026 | $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make | 16118 | $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make |
16027 | sed -e 's|/bin/bash|/bin/sh|' \ | 16119 | sed -e 's|/bin/bash|/bin/sh|' \ |
@@ -16032,8 +16124,8 @@ Index: git/timezone/Makefile | |||
16032 | -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ | 16124 | -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ |
16033 | Index: git/wcsmbs/Makefile | 16125 | Index: git/wcsmbs/Makefile |
16034 | =================================================================== | 16126 | =================================================================== |
16035 | --- git.orig/wcsmbs/Makefile 2014-08-29 20:00:59.548070587 -0700 | 16127 | --- git.orig/wcsmbs/Makefile |
16036 | +++ git/wcsmbs/Makefile 2014-08-29 20:01:15.244070587 -0700 | 16128 | +++ git/wcsmbs/Makefile |
16037 | @@ -18,15 +18,21 @@ | 16129 | @@ -18,15 +18,21 @@ |
16038 | # | 16130 | # |
16039 | # Sub-makefile for wcsmbs portion of the library. | 16131 | # Sub-makefile for wcsmbs portion of the library. |
@@ -16058,34 +16150,36 @@ Index: git/wcsmbs/Makefile | |||
16058 | btowc wctob mbsinit \ | 16150 | btowc wctob mbsinit \ |
16059 | mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs \ | 16151 | mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs \ |
16060 | mbsnrtowcs wcsnrtombs wcsnlen wcschrnul \ | 16152 | mbsnrtowcs wcsnrtombs wcsnlen wcschrnul \ |
16061 | @@ -38,14 +44,19 @@ | 16153 | @@ -38,14 +44,21 @@ routines := wcscat wcschr wcscmp wcscpy |
16062 | wcscoll_l wcsxfrm_l \ | 16154 | wcscoll_l wcsxfrm_l \ |
16063 | wcscasecmp wcsncase wcscasecmp_l wcsncase_l \ | 16155 | wcscasecmp wcsncase wcscasecmp_l wcsncase_l \ |
16064 | wcsmbsload mbsrtowcs_l \ | 16156 | wcsmbsload mbsrtowcs_l \ |
16065 | - isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf \ | 16157 | - isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf \ |
16066 | isoc99_swscanf isoc99_vswscanf \ | 16158 | isoc99_swscanf isoc99_vswscanf \ |
16067 | mbrtoc16 c16rtomb | 16159 | mbrtoc16 c16rtomb |
16068 | +routines-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ | ||
16069 | + += isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf | ||
16070 | 16160 | ||
16161 | +routines-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \ | ||
16162 | + += isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf | ||
16163 | + | ||
16071 | strop-tests := wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy | 16164 | strop-tests := wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy |
16072 | -tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \ | 16165 | -tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \ |
16073 | - tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \ | 16166 | - tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \ |
16074 | - tst-c16c32-1 wcsatcliff $(addprefix test-,$(strop-tests)) | 16167 | - tst-c16c32-1 wcsatcliff $(addprefix test-,$(strop-tests)) |
16168 | + | ||
16075 | +tests := tst-wchar-h | 16169 | +tests := tst-wchar-h |
16076 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ | 16170 | +tests-$(OPTION_EGLIBC_LOCALE_CODE) \ |
16077 | + += tst-btowc tst-mbrtowc tst-mbrtowc2 tst-wcrtomb tst-c16c32-1 | 16171 | + += tst-btowc tst-mbrtowc tst-mbrtowc2 tst-wcrtomb tst-c16c32-1 |
16078 | +tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ | 16172 | +tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \ |
16079 | + += tst-wcstof wcsmbs-tst1 tst-wcsnlen \ | 16173 | + += tst-wcstof wcsmbs-tst1 tst-wcsnlen \ |
16080 | + tst-wcpncpy tst-mbsrtowcs \ | 16174 | + tst-wcpncpy tst-mbsrtowcs \ |
16081 | + wcsatcliff $(addprefix test-,$(strop-tests)) | 16175 | + wcsatcliff $(addprefix test-,$(strop-tests)) |
16082 | tests-ifunc := $(strop-tests:%=test-%-ifunc) | 16176 | |
16083 | tests += $(tests-ifunc) | 16177 | include ../Rules |
16084 | 16178 | ||
16085 | Index: git/wcsmbs/wcsmbsload.c | 16179 | Index: git/wcsmbs/wcsmbsload.c |
16086 | =================================================================== | 16180 | =================================================================== |
16087 | --- git.orig/wcsmbs/wcsmbsload.c 2014-08-29 20:00:59.580070587 -0700 | 16181 | --- git.orig/wcsmbs/wcsmbsload.c |
16088 | +++ git/wcsmbs/wcsmbsload.c 2014-08-29 20:01:15.248070587 -0700 | 16182 | +++ git/wcsmbs/wcsmbsload.c |
16089 | @@ -21,6 +21,7 @@ | 16183 | @@ -21,6 +21,7 @@ |
16090 | #include <limits.h> | 16184 | #include <limits.h> |
16091 | #include <stdlib.h> | 16185 | #include <stdlib.h> |
@@ -16094,7 +16188,7 @@ Index: git/wcsmbs/wcsmbsload.c | |||
16094 | 16188 | ||
16095 | #include <locale/localeinfo.h> | 16189 | #include <locale/localeinfo.h> |
16096 | #include <wcsmbsload.h> | 16190 | #include <wcsmbsload.h> |
16097 | @@ -143,6 +144,7 @@ | 16191 | @@ -143,6 +144,7 @@ __wcsmbs_getfct (const char *to, const c |
16098 | }) | 16192 | }) |
16099 | 16193 | ||
16100 | 16194 | ||
@@ -16102,7 +16196,7 @@ Index: git/wcsmbs/wcsmbsload.c | |||
16102 | /* Some of the functions here must not be used while setlocale is called. */ | 16196 | /* Some of the functions here must not be used while setlocale is called. */ |
16103 | __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden) | 16197 | __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden) |
16104 | 16198 | ||
16105 | @@ -211,6 +213,17 @@ | 16199 | @@ -211,6 +213,17 @@ __wcsmbs_load_conv (struct __locale_data |
16106 | 16200 | ||
16107 | __libc_rwlock_unlock (__libc_setlocale_lock); | 16201 | __libc_rwlock_unlock (__libc_setlocale_lock); |
16108 | } | 16202 | } |
@@ -16122,8 +16216,8 @@ Index: git/wcsmbs/wcsmbsload.c | |||
16122 | /* Clone the current conversion function set. */ | 16216 | /* Clone the current conversion function set. */ |
16123 | Index: git/wctype/Makefile | 16217 | Index: git/wctype/Makefile |
16124 | =================================================================== | 16218 | =================================================================== |
16125 | --- git.orig/wctype/Makefile 2014-08-29 20:00:59.584070587 -0700 | 16219 | --- git.orig/wctype/Makefile |
16126 | +++ git/wctype/Makefile 2014-08-29 20:01:15.248070587 -0700 | 16220 | +++ git/wctype/Makefile |
16127 | @@ -18,14 +18,20 @@ | 16221 | @@ -18,14 +18,20 @@ |
16128 | # | 16222 | # |
16129 | # Sub-makefile for wctype portion of the library. | 16223 | # Sub-makefile for wctype portion of the library. |
@@ -16150,8 +16244,8 @@ Index: git/wctype/Makefile | |||
16150 | include ../Rules | 16244 | include ../Rules |
16151 | Index: git/sysdeps/nptl/Makefile | 16245 | Index: git/sysdeps/nptl/Makefile |
16152 | =================================================================== | 16246 | =================================================================== |
16153 | --- git.orig/sysdeps/nptl/Makefile 2014-08-29 20:00:58.036070587 -0700 | 16247 | --- git.orig/sysdeps/nptl/Makefile |
16154 | +++ git/sysdeps/nptl/Makefile 2014-08-29 20:01:15.248070587 -0700 | 16248 | +++ git/sysdeps/nptl/Makefile |
16155 | @@ -18,6 +18,9 @@ | 16249 | @@ -18,6 +18,9 @@ |
16156 | 16250 | ||
16157 | ifeq ($(subdir),nptl) | 16251 | ifeq ($(subdir),nptl) |
@@ -16164,8 +16258,8 @@ Index: git/sysdeps/nptl/Makefile | |||
16164 | ifeq ($(subdir),rt) | 16258 | ifeq ($(subdir),rt) |
16165 | Index: git/sysdeps/nptl/bits/libc-lock.h | 16259 | Index: git/sysdeps/nptl/bits/libc-lock.h |
16166 | =================================================================== | 16260 | =================================================================== |
16167 | --- git.orig/sysdeps/nptl/bits/libc-lock.h 2014-08-29 20:00:58.036070587 -0700 | 16261 | --- git.orig/sysdeps/nptl/bits/libc-lock.h |
16168 | +++ git/sysdeps/nptl/bits/libc-lock.h 2014-08-29 20:01:15.248070587 -0700 | 16262 | +++ git/sysdeps/nptl/bits/libc-lock.h |
16169 | @@ -24,6 +24,14 @@ | 16263 | @@ -24,6 +24,14 @@ |
16170 | #include <stddef.h> | 16264 | #include <stddef.h> |
16171 | 16265 | ||
@@ -16180,11 +16274,11 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16180 | + | 16274 | + |
16181 | /* Mutex type. */ | 16275 | /* Mutex type. */ |
16182 | #if defined _LIBC || defined _IO_MTSAFE_IO | 16276 | #if defined _LIBC || defined _IO_MTSAFE_IO |
16183 | # if (defined NOT_IN_libc && !defined IS_IN_libpthread) || !defined _LIBC | 16277 | # if (!IS_IN (libc) && !IS_IN (libpthread)) || !defined _LIBC |
16184 | @@ -87,6 +95,14 @@ | 16278 | @@ -87,6 +95,15 @@ typedef struct __libc_lock_recursive_opa |
16185 | 16279 | ||
16186 | /* Lock the recursive named lock variable. */ | 16280 | /* Lock the recursive named lock variable. */ |
16187 | #if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread) | 16281 | #if defined _LIBC && (IS_IN (libc) || IS_IN (libpthread)) |
16188 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 | 16282 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 |
16189 | +/* EGLIBC: Declare wrapper function for a big macro if either | 16283 | +/* EGLIBC: Declare wrapper function for a big macro if either |
16190 | + !__OPTION_EGLIBC_BIG_MACROS or we are using a back door from | 16284 | + !__OPTION_EGLIBC_BIG_MACROS or we are using a back door from |
@@ -16193,10 +16287,11 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16193 | +libc_hidden_proto (__libc_lock_lock_recursive_fn); | 16287 | +libc_hidden_proto (__libc_lock_lock_recursive_fn); |
16194 | +# endif /* __OPTION_EGLIBC_BIG_MACROS != 1 */ | 16288 | +# endif /* __OPTION_EGLIBC_BIG_MACROS != 1 */ |
16195 | +# if __OPTION_EGLIBC_BIG_MACROS | 16289 | +# if __OPTION_EGLIBC_BIG_MACROS |
16290 | + | ||
16196 | # define __libc_lock_lock_recursive(NAME) \ | 16291 | # define __libc_lock_lock_recursive(NAME) \ |
16197 | do { \ | 16292 | do { \ |
16198 | void *self = THREAD_SELF; \ | 16293 | void *self = THREAD_SELF; \ |
16199 | @@ -97,6 +113,10 @@ | 16294 | @@ -97,6 +114,10 @@ typedef struct __libc_lock_recursive_opa |
16200 | } \ | 16295 | } \ |
16201 | ++(NAME).cnt; \ | 16296 | ++(NAME).cnt; \ |
16202 | } while (0) | 16297 | } while (0) |
@@ -16207,10 +16302,10 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16207 | #else | 16302 | #else |
16208 | # define __libc_lock_lock_recursive(NAME) \ | 16303 | # define __libc_lock_lock_recursive(NAME) \ |
16209 | __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0) | 16304 | __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0) |
16210 | @@ -104,6 +124,14 @@ | 16305 | @@ -104,6 +125,14 @@ typedef struct __libc_lock_recursive_opa |
16211 | 16306 | ||
16212 | /* Try to lock the recursive named lock variable. */ | 16307 | /* Try to lock the recursive named lock variable. */ |
16213 | #if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread) | 16308 | #if defined _LIBC && (IS_IN (libc) || IS_IN (libpthread)) |
16214 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 | 16309 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 |
16215 | +/* EGLIBC: Declare wrapper function for a big macro if either | 16310 | +/* EGLIBC: Declare wrapper function for a big macro if either |
16216 | + !__OPTION_EGLIBC_BIG_MACROS or we are using a back door from | 16311 | + !__OPTION_EGLIBC_BIG_MACROS or we are using a back door from |
@@ -16222,7 +16317,7 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16222 | # define __libc_lock_trylock_recursive(NAME) \ | 16317 | # define __libc_lock_trylock_recursive(NAME) \ |
16223 | ({ \ | 16318 | ({ \ |
16224 | int result = 0; \ | 16319 | int result = 0; \ |
16225 | @@ -122,6 +150,10 @@ | 16320 | @@ -122,6 +151,10 @@ typedef struct __libc_lock_recursive_opa |
16226 | ++(NAME).cnt; \ | 16321 | ++(NAME).cnt; \ |
16227 | result; \ | 16322 | result; \ |
16228 | }) | 16323 | }) |
@@ -16233,10 +16328,10 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16233 | #else | 16328 | #else |
16234 | # define __libc_lock_trylock_recursive(NAME) \ | 16329 | # define __libc_lock_trylock_recursive(NAME) \ |
16235 | __libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0) | 16330 | __libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0) |
16236 | @@ -129,6 +161,14 @@ | 16331 | @@ -129,6 +162,14 @@ typedef struct __libc_lock_recursive_opa |
16237 | 16332 | ||
16238 | /* Unlock the recursive named lock variable. */ | 16333 | /* Unlock the recursive named lock variable. */ |
16239 | #if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread) | 16334 | #if defined _LIBC && (IS_IN (libc) || IS_IN (libpthread)) |
16240 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 | 16335 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 |
16241 | +/* EGLIBC: Declare wrapper function for a big macro if either | 16336 | +/* EGLIBC: Declare wrapper function for a big macro if either |
16242 | + !__OPTION_EGLIBC_BIG_MACROS, or we are using a back door from | 16337 | + !__OPTION_EGLIBC_BIG_MACROS, or we are using a back door from |
@@ -16248,7 +16343,7 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16248 | /* We do no error checking here. */ | 16343 | /* We do no error checking here. */ |
16249 | # define __libc_lock_unlock_recursive(NAME) \ | 16344 | # define __libc_lock_unlock_recursive(NAME) \ |
16250 | do { \ | 16345 | do { \ |
16251 | @@ -138,6 +178,10 @@ | 16346 | @@ -138,6 +179,10 @@ typedef struct __libc_lock_recursive_opa |
16252 | lll_unlock ((NAME).lock, LLL_PRIVATE); \ | 16347 | lll_unlock ((NAME).lock, LLL_PRIVATE); \ |
16253 | } \ | 16348 | } \ |
16254 | } while (0) | 16349 | } while (0) |
@@ -16261,8 +16356,8 @@ Index: git/sysdeps/nptl/bits/libc-lock.h | |||
16261 | __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0) | 16356 | __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0) |
16262 | Index: git/sysdeps/nptl/bits/libc-lockP.h | 16357 | Index: git/sysdeps/nptl/bits/libc-lockP.h |
16263 | =================================================================== | 16358 | =================================================================== |
16264 | --- git.orig/sysdeps/nptl/bits/libc-lockP.h 2014-08-29 20:00:58.044070587 -0700 | 16359 | --- git.orig/sysdeps/nptl/bits/libc-lockP.h |
16265 | +++ git/sysdeps/nptl/bits/libc-lockP.h 2014-08-29 20:01:15.248070587 -0700 | 16360 | +++ git/sysdeps/nptl/bits/libc-lockP.h |
16266 | @@ -33,6 +33,8 @@ | 16361 | @@ -33,6 +33,8 @@ |
16267 | #include <lowlevellock.h> | 16362 | #include <lowlevellock.h> |
16268 | #include <tls.h> | 16363 | #include <tls.h> |
@@ -16270,12 +16365,12 @@ Index: git/sysdeps/nptl/bits/libc-lockP.h | |||
16270 | +#include <errno.h> /* For EBUSY. */ | 16365 | +#include <errno.h> /* For EBUSY. */ |
16271 | +#include <gnu/option-groups.h> /* For __OPTION_EGLIBC_BIG_MACROS. */ | 16366 | +#include <gnu/option-groups.h> /* For __OPTION_EGLIBC_BIG_MACROS. */ |
16272 | 16367 | ||
16273 | /* Mutex type. */ | 16368 | #if IS_IN (libpthread) |
16274 | #if defined NOT_IN_libc && !defined IS_IN_libpthread | 16369 | /* This gets us the declarations of the __pthread_* internal names, |
16275 | @@ -159,10 +161,22 @@ | 16370 | @@ -171,10 +173,22 @@ typedef pthread_key_t __libc_key_t; |
16276 | 16371 | ||
16277 | /* Lock the named lock variable. */ | 16372 | /* Lock the named lock variable. */ |
16278 | #if !defined NOT_IN_libc || defined IS_IN_libpthread | 16373 | #if IS_IN (libc) || IS_IN (libpthread) |
16279 | -# ifndef __libc_lock_lock | 16374 | -# ifndef __libc_lock_lock |
16280 | -# define __libc_lock_lock(NAME) \ | 16375 | -# define __libc_lock_lock(NAME) \ |
16281 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 | 16376 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 |
@@ -16292,16 +16387,16 @@ Index: git/sysdeps/nptl/bits/libc-lockP.h | |||
16292 | -# endif | 16387 | -# endif |
16293 | +# endif | 16388 | +# endif |
16294 | +# else | 16389 | +# else |
16295 | +# define __libc_lock_lock(NAME) \ | 16390 | +# define __libc_lock_lock(NAME) \ |
16296 | + __libc_lock_lock_fn (&(NAME)) | 16391 | + __libc_lock_lock_fn (&(NAME)) |
16297 | +# endif /* __OPTION_EGLIBC_BIG_MACROS */ | 16392 | +# endif /* __OPTION_EGLIBC_BIG_MACROS */ |
16298 | #else | 16393 | #else |
16299 | # undef __libc_lock_lock | 16394 | # undef __libc_lock_lock |
16300 | # define __libc_lock_lock(NAME) \ | 16395 | # define __libc_lock_lock(NAME) \ |
16301 | @@ -175,10 +189,22 @@ | 16396 | @@ -187,10 +201,22 @@ typedef pthread_key_t __libc_key_t; |
16302 | 16397 | ||
16303 | /* Try to lock the named lock variable. */ | 16398 | /* Try to lock the named lock variable. */ |
16304 | #if !defined NOT_IN_libc || defined IS_IN_libpthread | 16399 | #if IS_IN (libc) || IS_IN (libpthread) |
16305 | -# ifndef __libc_lock_trylock | 16400 | -# ifndef __libc_lock_trylock |
16306 | -# define __libc_lock_trylock(NAME) \ | 16401 | -# define __libc_lock_trylock(NAME) \ |
16307 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 | 16402 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 |
@@ -16324,10 +16419,10 @@ Index: git/sysdeps/nptl/bits/libc-lockP.h | |||
16324 | #else | 16419 | #else |
16325 | # undef __libc_lock_trylock | 16420 | # undef __libc_lock_trylock |
16326 | # define __libc_lock_trylock(NAME) \ | 16421 | # define __libc_lock_trylock(NAME) \ |
16327 | @@ -194,8 +220,20 @@ | 16422 | @@ -206,8 +232,20 @@ typedef pthread_key_t __libc_key_t; |
16328 | 16423 | ||
16329 | /* Unlock the named lock variable. */ | 16424 | /* Unlock the named lock variable. */ |
16330 | #if !defined NOT_IN_libc || defined IS_IN_libpthread | 16425 | #if IS_IN (libc) || IS_IN (libpthread) |
16331 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 | 16426 | +# if __OPTION_EGLIBC_BIG_MACROS != 1 |
16332 | +/* EGLIBC: Declare wrapper function for a big macro if either | 16427 | +/* EGLIBC: Declare wrapper function for a big macro if either |
16333 | + !__OPTION_EGLIBC_BIG_MACROS, or we are using a back door from | 16428 | + !__OPTION_EGLIBC_BIG_MACROS, or we are using a back door from |
@@ -16347,8 +16442,8 @@ Index: git/sysdeps/nptl/bits/libc-lockP.h | |||
16347 | __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0) | 16442 | __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0) |
16348 | Index: git/sysdeps/nptl/small-macros-fns.c | 16443 | Index: git/sysdeps/nptl/small-macros-fns.c |
16349 | =================================================================== | 16444 | =================================================================== |
16350 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 16445 | --- /dev/null |
16351 | +++ git/sysdeps/nptl/small-macros-fns.c 2014-08-29 20:01:15.248070587 -0700 | 16446 | +++ git/sysdeps/nptl/small-macros-fns.c |
16352 | @@ -0,0 +1,72 @@ | 16447 | @@ -0,0 +1,72 @@ |
16353 | +/* EGLIBC: function wrappers for big macros. | 16448 | +/* EGLIBC: function wrappers for big macros. |
16354 | + Copyright (C) 2009 Free Software Foundation, Inc. | 16449 | + Copyright (C) 2009 Free Software Foundation, Inc. |
@@ -16424,8 +16519,8 @@ Index: git/sysdeps/nptl/small-macros-fns.c | |||
16424 | +#endif /*defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)*/ | 16519 | +#endif /*defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)*/ |
16425 | Index: git/crypt/crypt_common.c | 16520 | Index: git/crypt/crypt_common.c |
16426 | =================================================================== | 16521 | =================================================================== |
16427 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | 16522 | --- /dev/null |
16428 | +++ git/crypt/crypt_common.c 2014-08-29 20:01:15.248070587 -0700 | 16523 | +++ git/crypt/crypt_common.c |
16429 | @@ -0,0 +1,42 @@ | 16524 | @@ -0,0 +1,42 @@ |
16430 | +/* | 16525 | +/* |
16431 | + * crypt: crypt(3) implementation | 16526 | + * crypt: crypt(3) implementation |
@@ -16471,9 +16566,9 @@ Index: git/crypt/crypt_common.c | |||
16471 | +} | 16566 | +} |
16472 | Index: git/crypt/crypt_util.c | 16567 | Index: git/crypt/crypt_util.c |
16473 | =================================================================== | 16568 | =================================================================== |
16474 | --- git.orig/crypt/crypt_util.c 2014-08-29 20:00:43.028070587 -0700 | 16569 | --- git.orig/crypt/crypt_util.c |
16475 | +++ git/crypt/crypt_util.c 2014-08-29 20:01:15.248070587 -0700 | 16570 | +++ git/crypt/crypt_util.c |
16476 | @@ -242,10 +242,6 @@ | 16571 | @@ -242,10 +242,6 @@ static ufc_long eperm32tab[4][256][2]; |
16477 | */ | 16572 | */ |
16478 | static ufc_long efp[16][64][2]; | 16573 | static ufc_long efp[16][64][2]; |
16479 | 16574 | ||
@@ -16484,7 +16579,7 @@ Index: git/crypt/crypt_util.c | |||
16484 | /* | 16579 | /* |
16485 | * For use by the old, non-reentrant routines | 16580 | * For use by the old, non-reentrant routines |
16486 | * (crypt/encrypt/setkey) | 16581 | * (crypt/encrypt/setkey) |
16487 | @@ -949,17 +945,3 @@ | 16582 | @@ -949,17 +945,3 @@ setkey(__key) |
16488 | { | 16583 | { |
16489 | __setkey_r(__key, &_ufc_foobar); | 16584 | __setkey_r(__key, &_ufc_foobar); |
16490 | } | 16585 | } |
@@ -16504,9 +16599,9 @@ Index: git/crypt/crypt_util.c | |||
16504 | -} | 16599 | -} |
16505 | Index: git/sysdeps/arm/Makefile | 16600 | Index: git/sysdeps/arm/Makefile |
16506 | =================================================================== | 16601 | =================================================================== |
16507 | --- git.orig/sysdeps/arm/Makefile 2014-08-29 20:29:37.000000000 -0700 | 16602 | --- git.orig/sysdeps/arm/Makefile |
16508 | +++ git/sysdeps/arm/Makefile 2014-08-29 20:31:09.904070587 -0700 | 16603 | +++ git/sysdeps/arm/Makefile |
16509 | @@ -37,10 +37,13 @@ | 16604 | @@ -37,10 +37,13 @@ ifeq ($(subdir),csu) |
16510 | # get offset to rtld_global._dl_hwcap | 16605 | # get offset to rtld_global._dl_hwcap |
16511 | gen-as-const-headers += rtld-global-offsets.sym tlsdesc.sym | 16606 | gen-as-const-headers += rtld-global-offsets.sym tlsdesc.sym |
16512 | aeabi_constants = aeabi_lcsts aeabi_sighandlers aeabi_math | 16607 | aeabi_constants = aeabi_lcsts aeabi_sighandlers aeabi_math |
diff --git a/meta/recipes-core/glibc/glibc/fsl-ppc-no-fsqrt.patch b/meta/recipes-core/glibc/glibc/fsl-ppc-no-fsqrt.patch deleted file mode 100644 index f88eaf444e..0000000000 --- a/meta/recipes-core/glibc/glibc/fsl-ppc-no-fsqrt.patch +++ /dev/null | |||
@@ -1,100 +0,0 @@ | |||
1 | Create e5500 specific math_private.h and let it include when compiling for e5500/64bit core | ||
2 | We prefefine __CPU_HAS_FSQRT to 0 and then in general ppc64 math_private.h we check if its | ||
3 | already defined before redefining it. This way we can ensure that on e5500 builds it wont | ||
4 | emit fsqrt intructions | ||
5 | |||
6 | -Khem | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | Index: git/sysdeps/powerpc/fpu/math_private.h | ||
11 | =================================================================== | ||
12 | --- git.orig/sysdeps/powerpc/fpu/math_private.h 2014-08-29 10:31:30.224070587 -0700 | ||
13 | +++ git/sysdeps/powerpc/fpu/math_private.h 2014-08-29 10:31:30.212070587 -0700 | ||
14 | @@ -25,10 +25,12 @@ | ||
15 | #include <fenv_private.h> | ||
16 | #include_next <math_private.h> | ||
17 | |||
18 | -# if __WORDSIZE == 64 || defined _ARCH_PWR4 | ||
19 | -# define __CPU_HAS_FSQRT 1 | ||
20 | -# else | ||
21 | -# define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) | ||
22 | +# ifndef __CPU_HAS_FSQRT | ||
23 | +# if __WORDSIZE == 64 || defined _ARCH_PWR4 | ||
24 | +# define __CPU_HAS_FSQRT 1 | ||
25 | +# else | ||
26 | +# define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) | ||
27 | +# endif | ||
28 | # endif | ||
29 | |||
30 | extern double __slow_ieee754_sqrt (double); | ||
31 | Index: git/sysdeps/powerpc/powerpc64/e5500/fpu/math_private.h | ||
32 | =================================================================== | ||
33 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
34 | +++ git/sysdeps/powerpc/powerpc64/e5500/fpu/math_private.h 2014-08-29 10:31:30.212070587 -0700 | ||
35 | @@ -0,0 +1,9 @@ | ||
36 | +#ifndef _E5500_MATH_PRIVATE_H_ | ||
37 | +#define _E5500_MATH_PRIVATE_H_ 1 | ||
38 | +/* E5500 core FPU does not implement | ||
39 | + fsqrt */ | ||
40 | + | ||
41 | +#define __CPU_HAS_FSQRT 0 | ||
42 | +#include_next <math_private.h> | ||
43 | + | ||
44 | +#endif /* _E5500_MATH_PRIVATE_H_ */ | ||
45 | Index: git/sysdeps/powerpc/powerpc64/e6500/fpu/math_private.h | ||
46 | =================================================================== | ||
47 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
48 | +++ git/sysdeps/powerpc/powerpc64/e6500/fpu/math_private.h 2014-08-29 10:31:30.212070587 -0700 | ||
49 | @@ -0,0 +1,9 @@ | ||
50 | +#ifndef _E6500_MATH_PRIVATE_H_ | ||
51 | +#define _E6500_MATH_PRIVATE_H_ 1 | ||
52 | +/* E6500 core FPU does not implement | ||
53 | + fsqrt */ | ||
54 | + | ||
55 | +#define __CPU_HAS_FSQRT 0 | ||
56 | +#include_next <math_private.h> | ||
57 | + | ||
58 | +#endif /* _E6500_MATH_PRIVATE_H_ */ | ||
59 | Index: git/sysdeps/powerpc/powerpc32/e500mc/fpu/math_private.h | ||
60 | =================================================================== | ||
61 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
62 | +++ git/sysdeps/powerpc/powerpc32/e500mc/fpu/math_private.h 2014-08-29 10:31:30.212070587 -0700 | ||
63 | @@ -0,0 +1,9 @@ | ||
64 | +#ifndef _E500MC_MATH_PRIVATE_H_ | ||
65 | +#define _E500MC_MATH_PRIVATE_H_ 1 | ||
66 | +/* E500MC core FPU does not implement | ||
67 | + fsqrt */ | ||
68 | + | ||
69 | +#define __CPU_HAS_FSQRT 0 | ||
70 | +#include_next <math_private.h> | ||
71 | + | ||
72 | +#endif /* _E500MC_MATH_PRIVATE_H_ */ | ||
73 | Index: git/sysdeps/powerpc/powerpc32/e5500/fpu/math_private.h | ||
74 | =================================================================== | ||
75 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
76 | +++ git/sysdeps/powerpc/powerpc32/e5500/fpu/math_private.h 2014-08-29 10:31:30.216070587 -0700 | ||
77 | @@ -0,0 +1,9 @@ | ||
78 | +#ifndef _E5500_MATH_PRIVATE_H_ | ||
79 | +#define _E5500_MATH_PRIVATE_H_ 1 | ||
80 | +/* E5500 core FPU does not implement | ||
81 | + fsqrt */ | ||
82 | + | ||
83 | +#define __CPU_HAS_FSQRT 0 | ||
84 | +#include_next <math_private.h> | ||
85 | + | ||
86 | +#endif /* _E5500_MATH_PRIVATE_H_ */ | ||
87 | Index: git/sysdeps/powerpc/powerpc32/e6500/fpu/math_private.h | ||
88 | =================================================================== | ||
89 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
90 | +++ git/sysdeps/powerpc/powerpc32/e6500/fpu/math_private.h 2014-08-29 10:31:30.216070587 -0700 | ||
91 | @@ -0,0 +1,9 @@ | ||
92 | +#ifndef _E6500_MATH_PRIVATE_H_ | ||
93 | +#define _E6500_MATH_PRIVATE_H_ 1 | ||
94 | +/* E6500 core FPU does not implement | ||
95 | + fsqrt */ | ||
96 | + | ||
97 | +#define __CPU_HAS_FSQRT 0 | ||
98 | +#include_next <math_private.h> | ||
99 | + | ||
100 | +#endif /* _E6500_MATH_PRIVATE_H_ */ | ||
diff --git a/meta/recipes-core/glibc/glibc/grok_gold.patch b/meta/recipes-core/glibc/glibc/grok_gold.patch index 26875c79d4..5151802ecf 100644 --- a/meta/recipes-core/glibc/glibc/grok_gold.patch +++ b/meta/recipes-core/glibc/glibc/grok_gold.patch | |||
@@ -8,9 +8,9 @@ Upstream-Status: Backport | |||
8 | 8 | ||
9 | Index: git/configure | 9 | Index: git/configure |
10 | =================================================================== | 10 | =================================================================== |
11 | --- git.orig/configure 2014-08-29 10:32:34.464070587 -0700 | 11 | --- git.orig/configure |
12 | +++ git/configure 2014-08-29 10:32:34.456070587 -0700 | 12 | +++ git/configure |
13 | @@ -4592,7 +4592,7 @@ | 13 | @@ -4593,7 +4593,7 @@ else |
14 | # Found it, now check the version. | 14 | # Found it, now check the version. |
15 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5 | 15 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5 |
16 | $as_echo_n "checking version of $LD... " >&6; } | 16 | $as_echo_n "checking version of $LD... " >&6; } |
@@ -18,17 +18,17 @@ Index: git/configure | |||
18 | + ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU [Bbinutilsd][^.]* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` | 18 | + ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU [Bbinutilsd][^.]* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` |
19 | case $ac_prog_version in | 19 | case $ac_prog_version in |
20 | '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; | 20 | '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; |
21 | 2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) | 21 | 2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) |
22 | Index: git/configure.ac | 22 | Index: git/configure.ac |
23 | =================================================================== | 23 | =================================================================== |
24 | --- git.orig/configure.ac 2014-08-29 10:32:34.464070587 -0700 | 24 | --- git.orig/configure.ac |
25 | +++ git/configure.ac 2014-08-29 10:32:34.460070587 -0700 | 25 | +++ git/configure.ac |
26 | @@ -930,7 +930,7 @@ | 26 | @@ -913,7 +913,7 @@ AC_CHECK_PROG_VER(AS, $AS, --version, |
27 | [GNU assembler.* \([0-9]*\.[0-9.]*\)], | 27 | [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], |
28 | [2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as") | 28 | AS=: critic_missing="$critic_missing as") |
29 | AC_CHECK_PROG_VER(LD, $LD, --version, | 29 | AC_CHECK_PROG_VER(LD, $LD, --version, |
30 | - [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], | 30 | - [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], |
31 | + [GNU [Bbinutilsd][^.]* \([0-9][0-9]*\.[0-9.]*\)], | 31 | + [GNU [Bbinutilsd][^.]* \([0-9][0-9]*\.[0-9.]*\)], |
32 | [2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld") | 32 | [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], |
33 | LD=: critic_missing="$critic_missing ld") | ||
33 | 34 | ||
34 | # These programs are version sensitive. | ||
diff --git a/meta/recipes-core/glibc/glibc_2.20.bb b/meta/recipes-core/glibc/glibc_2.21.bb index 8a8b296def..5ebe2503c1 100644 --- a/meta/recipes-core/glibc/glibc_2.20.bb +++ b/meta/recipes-core/glibc/glibc_2.21.bb | |||
@@ -2,11 +2,12 @@ require glibc.inc | |||
2 | 2 | ||
3 | DEPENDS += "gperf-native kconfig-frontends-native" | 3 | DEPENDS += "gperf-native kconfig-frontends-native" |
4 | 4 | ||
5 | PV = "2.20" | 5 | SRCREV = "edac0a60c7514b8c9b59488cffdac6b22267e757" |
6 | 6 | ||
7 | SRCREV = "b8079dd0d360648e4e8de48656c5c38972621072" | 7 | #BRANCH = "release/${PV}/master" |
8 | BRANCH = "master" | ||
8 | 9 | ||
9 | SRC_URI = "git://sourceware.org/git/glibc.git;branch=release/${PV}/master \ | 10 | SRC_URI = "git://sourceware.org/git/glibc.git;branch=${BRANCH} \ |
10 | file://IO-acquire-lock-fix.patch \ | 11 | file://IO-acquire-lock-fix.patch \ |
11 | file://mips-rld-map-check.patch \ | 12 | file://mips-rld-map-check.patch \ |
12 | file://etc/ld.so.conf \ | 13 | file://etc/ld.so.conf \ |
@@ -16,15 +17,15 @@ SRC_URI = "git://sourceware.org/git/glibc.git;branch=release/${PV}/master \ | |||
16 | file://ppc-sqrt_finite.patch \ | 17 | file://ppc-sqrt_finite.patch \ |
17 | file://ppc_slow_ieee754_sqrt.patch \ | 18 | file://ppc_slow_ieee754_sqrt.patch \ |
18 | file://add_resource_h_to_wait_h.patch \ | 19 | file://add_resource_h_to_wait_h.patch \ |
19 | file://fsl-ppc-no-fsqrt.patch \ | ||
20 | file://0001-R_ARM_TLS_DTPOFF32.patch \ | 20 | file://0001-R_ARM_TLS_DTPOFF32.patch \ |
21 | file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ | 21 | file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ |
22 | file://fix-tibetian-locales.patch \ | 22 | file://fix-tibetian-locales.patch \ |
23 | file://ppce6500-32b_slow_ieee754_sqrt.patch \ | 23 | file://ppce6500-32b_slow_ieee754_sqrt.patch \ |
24 | file://grok_gold.patch \ | 24 | file://grok_gold.patch \ |
25 | file://fix_am_rootsbindir.patch \ | 25 | file://fix_am_rootsbindir.patch \ |
26 | file://0001-Add-unused-attribute.patch \ | ||
27 | file://0001-When-disabling-SSE-also-make-sure-that-fpmath-is-not.patch \ | ||
26 | ${EGLIBCPATCHES} \ | 28 | ${EGLIBCPATCHES} \ |
27 | ${CVEPATCHES} \ | ||
28 | " | 29 | " |
29 | EGLIBCPATCHES = "\ | 30 | EGLIBCPATCHES = "\ |
30 | file://timezone-re-written-tzselect-as-posix-sh.patch \ | 31 | file://timezone-re-written-tzselect-as-posix-sh.patch \ |
@@ -41,11 +42,6 @@ EGLIBCPATCHES = "\ | |||
41 | # file://initgroups_keys.patch \ | 42 | # file://initgroups_keys.patch \ |
42 | # | 43 | # |
43 | 44 | ||
44 | CVEPATCHES = "\ | ||
45 | file://CVE-2014-7817-wordexp-fails-to-honour-WRDE_NOCMD.patch \ | ||
46 | file://CVE-2012-3406-Stack-overflow-in-vfprintf-BZ-16617.patch \ | ||
47 | file://CVE-2014-9402_endless-loop-in-getaddr_r.patch \ | ||
48 | " | ||
49 | LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ | 45 | LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ |
50 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 46 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
51 | file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ | 47 | file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ |