]>
Commit | Line | Data |
---|---|---|
1 | --- glibc-2.12-2-gc4ccff1/ChangeLog | |
2 | +++ glibc-2.12-1/ChangeLog | |
3 | @@ -241,6 +241,12 @@ | |
4 | ||
5 | * Makerules (libc-abis): Fix search for libc-abis in add-ons. | |
6 | ||
7 | +2010-04-06 Ulrich Drepper <drepper@redhat.com> | |
8 | + | |
9 | + * sysdeps/posix/getaddrinfo.c (default_scopes): Assign global | |
10 | + scope to RFC 1918 addresses. | |
11 | + * posix/gai.conf: Document difference from RFC 3484. | |
12 | + | |
13 | 2010-04-05 Thomas Schwinge <thomas@schwinge.name> | |
14 | ||
15 | * sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/. | |
16 | @@ -995,6 +1001,19 @@ | |
17 | * sysdeps/x86_64/fpu/fegetenv.c: Likewise | |
18 | * sysdeps/s390/fpu/fegetenv.c: Likewise. Remove unused headers. | |
19 | ||
20 | +2009-10-27 Aurelien Jarno <aurelien@aurel32.net> | |
21 | + | |
22 | + [BZ #10855] | |
23 | + * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory | |
24 | + used later with MMAP_FIXED | MMAP_SHARED to cope with different | |
25 | + alignment restrictions. | |
26 | + | |
27 | +2010-02-08 Andreas Schwab <schwab@redhat.com> | |
28 | + | |
29 | + [BZ #11155] | |
30 | + * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Include i386 | |
31 | + version. | |
32 | + | |
33 | 2010-02-05 H.J. Lu <hongjiu.lu@intel.com> | |
34 | ||
35 | [BZ #11230] | |
36 | @@ -2938,6 +2957,11 @@ d2009-10-30 Ulrich Drepper <drepper@re | |
37 | * sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in | |
38 | the unique symbol hash table should not be const. | |
39 | ||
40 | +2009-07-22 Jakub Jelinek <jakub@redhat.com> | |
41 | + | |
42 | + * Makeconfig (ASFLAGS): Append $(sysdep-ASFLAGS). | |
43 | + * sysdeps/i386/Makefile (sysdep-ASFLAGS): Add -U__i686. | |
44 | + | |
45 | 2009-07-21 Ulrich Drepper <drepper@redhat.com> | |
46 | ||
47 | * sysdeps/x86_64/multiarch/strstr.c: Minor cleanups. Remove | |
48 | @@ -3203,6 +3227,11 @@ d2009-10-30 Ulrich Drepper <drepper@re | |
49 | out common code into new function get_common_indeces. Determine | |
50 | extended family and model for Intel processors. | |
51 | ||
52 | +2009-06-26 Andreas Schwab <aschwab@redhat.com> | |
53 | + | |
54 | + * timezone/zic.c (stringzone): Don't try to generate a POSIX TZ | |
55 | + string when the timezone ends in DST. | |
56 | + | |
57 | 2009-06-26 Ulrich Drepper <drepper@redhat.com> | |
58 | ||
59 | * resolv/resolv.h: Define RES_SNGLKUPREOP. | |
60 | @@ -11896,6 +11925,10 @@ d2009-10-30 Ulrich Drepper <drepper@re | |
61 | [BZ #4368] | |
62 | * stdlib/stdlib.h: Remove obsolete part of comment for realpath. | |
63 | ||
64 | +2007-04-16 Jakub Jelinek <jakub@redhat.com> | |
65 | + | |
66 | + * locale/programs/locarchive.c (add_alias, insert_name): Remove static. | |
67 | + | |
68 | 2007-04-16 Ulrich Drepper <drepper@redhat.com> | |
69 | ||
70 | [BZ #4364] | |
71 | @@ -13153,6 +13186,15 @@ d2009-10-30 Ulrich Drepper <drepper@re | |
72 | separators also if no non-zero digits found. | |
73 | * stdlib/Makefile (tests): Add tst-strtod3. | |
74 | ||
75 | +2006-12-10 Jakub Jelinek <jakub@redhat.com> | |
76 | + | |
77 | + * sysdeps/unix/sysv/linux/netlinkaccess.h: Include linux/if_addr.h | |
78 | + if IFA_MAX is not defined. | |
79 | + (IFA_RTA, IFA_PAYLOAD, IFLA_RTA, IFLA_PAYLOAD): Define if not | |
80 | + defined. | |
81 | + * sysdeps/unix/sysv/linux/check_pf.c: Include netlinkaccess.h | |
82 | + instead of asm/types.h, linux/netlink.h and linux/rtnetlink.h. | |
83 | + | |
84 | 2006-12-09 Ulrich Drepper <drepper@redhat.com> | |
85 | ||
86 | [BZ #3632] | |
87 | --- glibc-2.12-2-gc4ccff1/ChangeLog.15 | |
88 | +++ glibc-2.12-1/ChangeLog.15 | |
89 | @@ -477,6 +477,14 @@ | |
90 | ||
91 | 2004-11-26 Jakub Jelinek <jakub@redhat.com> | |
92 | ||
93 | + * posix/Makefile (generated: Add getconf.speclist. | |
94 | + ($(inst_libexecdir)/getconf): Use getconf.speclist instead of | |
95 | + getconf output. | |
96 | + ($(objpfx)getconf.speclist): New rule. | |
97 | + * posix/getconf.speclist.h: New file. | |
98 | + | |
99 | +2004-11-26 Jakub Jelinek <jakub@redhat.com> | |
100 | + | |
101 | * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR. | |
102 | ||
103 | 2004-11-26 Kaz Kojima <kkojima@rr.iij4u.or.jp> | |
104 | @@ -1103,6 +1111,13 @@ | |
105 | * sysdeps/generic/tempname.c (__path_search): Add missing argument | |
106 | TRY_TMPDIR. | |
107 | ||
108 | +2004-11-02 Jakub Jelinek <jakub@redhat.com> | |
109 | + | |
110 | + * include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat | |
111 | + GCC 3.4.x-RH >= 3.4.2-8. | |
112 | + * debug/tst-chk1.c (do_test): Deal with GCC 3.4.x-RH not | |
113 | + being able to recognize subobjects. | |
114 | + | |
115 | 2004-10-31 Mariusz Mazur <mmazur@kernel.pl> | |
116 | ||
117 | * sysdeps/unix/sysv/linux/alpha/setregid.c: New file. | |
118 | @@ -1443,6 +1458,11 @@ | |
119 | * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ... | |
120 | (__readonly_area): ... this. | |
121 | ||
122 | +2004-10-19 Jakub Jelinek <jakub@redhat.com> | |
123 | + | |
124 | + * include/features.h (__USE_FORTIFY_LEVEL): Enable even with | |
125 | + Red Hat gcc4 4.0.0 and above. | |
126 | + | |
127 | 2004-10-18 Jakub Jelinek <jakub@redhat.com> | |
128 | ||
129 | * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking | |
130 | @@ -3182,6 +3202,23 @@ | |
131 | before return type. | |
132 | * locale/localename.c (__current_locale_name): Likewise. | |
133 | ||
134 | +2004-08-31 Jakub Jelinek <jakub@redhat.com> | |
135 | + | |
136 | + * elf/ldconfig.c (parse_conf): Add prefix argument, prepend it | |
137 | + before arguments to add_dir and pass to parse_conf_include. | |
138 | + (parse_conf_include): Add prefix argument, pass it down to | |
139 | + parse_conf. | |
140 | + (main): Call arch_startup. Adjust parse_conf caller. | |
141 | + Call add_arch_dirs. | |
142 | + * sysdeps/generic/dl-cache.h (arch_startup, add_arch_dirs): Define. | |
143 | + * sysdeps/unix/sysv/linux/i386/dl-cache.h: New file. | |
144 | + * sysdeps/unix/sysv/linux/ia64/dl-cache.h (EMUL_HACK, arch_startup, | |
145 | + add_arch_dirs): Define. | |
146 | + * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Prepend | |
147 | + /emul/ia32-linux before the 32-bit ld.so pathname. | |
148 | + * sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file. | |
149 | + * sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file. | |
150 | + | |
151 | 2004-08-30 Roland McGrath <roland@frob.com> | |
152 | ||
153 | * scripts/extract-abilist.awk: If `lastversion' variable defined, omit | |
154 | --- glibc-2.12-2-gc4ccff1/ChangeLog.16 | |
155 | +++ glibc-2.12-1/ChangeLog.16 | |
156 | @@ -2042,6 +2042,9 @@ | |
157 | (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT | |
158 | followed by __THROW. | |
159 | ||
160 | + * sysdeps/unix/sysv/linux/futimesat.c (futimesat): If | |
161 | + file == NULL, use __futimes unconditionally. | |
162 | + | |
163 | 2006-02-02 Ulrich Drepper <drepper@redhat.com> | |
164 | ||
165 | * sysdeps/unix/sysv/linux/futimesat.c [__NR_futimesat] | |
166 | @@ -2101,6 +2104,11 @@ | |
167 | * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Fix a typo. | |
168 | * sysdeps/s390/fpu/libm-test-ulps: Remove llrint ulps. | |
169 | ||
170 | +2006-01-30 Jakub Jelinek <jakub@redhat.com> | |
171 | + | |
172 | + * include/bits/stdlib-ldbl.h: New file. | |
173 | + * include/bits/wchar-ldbl.h: New file. | |
174 | + | |
175 | 2006-01-19 Thomas Schwinge <tschwinge@gnu.org> | |
176 | ||
177 | * libio/genops.c: Include <stdbool.h>. | |
178 | @@ -8922,6 +8930,12 @@ | |
179 | * argp/argp-help.c (__argp_error): __asprintf -> vasprintf. | |
180 | (__argp_failure): Likewise. | |
181 | ||
182 | +2005-08-08 Jakub Jelinek <jakub@redhat.com> | |
183 | + | |
184 | + * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): | |
185 | + Shift marked &errno down on big-endian instead of up. | |
186 | + * elf/tst-stackguard1.c (do_test): Fix a typo. | |
187 | + | |
188 | 2005-08-08 Ulrich Drepper <drepper@redhat.com> | |
189 | ||
190 | * nscd/cache.c (cache_add): Commit hash table and header to disk. | |
191 | @@ -9046,6 +9060,17 @@ | |
192 | __syslog_chk. | |
193 | * misc/Versions: Export __syslog_chk and __vsyslog_chk. | |
194 | ||
195 | +2005-07-29 Jakub Jelinek <jakub@redhat.com> | |
196 | + | |
197 | + * sysdeps/unix/sysv/linux/dl-osinfo.h: Include errno.h, hp-timing.h, | |
198 | + endian.h. | |
199 | + (_dl_setup_stack_chk_guard): Even without | |
200 | + --enable-stackguard-randomization attempt to do some guard | |
201 | + randomization using hp-timing (if available) and kernel stack and | |
202 | + mmap randomization. | |
203 | + * elf/tst-stackguard1.c (do_test): Don't fail if the poor man's | |
204 | + randomization doesn't work well enough. | |
205 | + | |
206 | 2005-07-28 Thomas Schwinge <schwinge@nic-nac-project.de> | |
207 | ||
208 | [BZ #1137] | |
209 | --- glibc-2.12-2-gc4ccff1/Makeconfig | |
210 | +++ glibc-2.12-1/Makeconfig | |
211 | @@ -789,12 +789,12 @@ endif | |
212 | # The assembler can generate debug information too. | |
213 | ifndef ASFLAGS | |
214 | ifeq ($(have-cpp-asm-debuginfo),yes) | |
215 | -ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS)) | |
216 | +ASFLAGS = $(filter -g% -fdebug-prefix-map=%,$(CFLAGS)) | |
217 | else | |
218 | -ASFLAGS := | |
219 | +ASFLAGS = | |
220 | endif | |
221 | endif | |
222 | -ASFLAGS += $(ASFLAGS-config) $(asflags-cpu) | |
223 | +ASFLAGS += $(ASFLAGS-config) $(asflags-cpu) $(sysdep-ASFLAGS) | |
224 | ||
225 | ifndef BUILD_CC | |
226 | BUILD_CC = $(CC) | |
227 | --- glibc-2.12-2-gc4ccff1/csu/Makefile | |
228 | +++ glibc-2.12-1/csu/Makefile | |
229 | @@ -93,7 +93,8 @@ omit-deps += $(crtstuff) | |
230 | $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h | |
231 | $(compile.S) -g0 $(ASFLAGS-.os) -o $@ | |
232 | ||
233 | -CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) | |
234 | +CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \ | |
235 | + -fno-asynchronous-unwind-tables | |
236 | ||
237 | vpath initfini.c $(sysdirs) | |
238 | ||
239 | --- glibc-2.12-2-gc4ccff1/csu/elf-init.c | |
240 | +++ glibc-2.12-1/csu/elf-init.c | |
241 | @@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int, | |
242 | extern void (*__fini_array_start []) (void) attribute_hidden; | |
243 | extern void (*__fini_array_end []) (void) attribute_hidden; | |
244 | ||
245 | +#if defined HAVE_VISIBILITY_ATTRIBUTE \ | |
246 | + && (defined SHARED || defined LIBC_NONSHARED) | |
247 | +# define hidden_undef_2(x) #x | |
248 | +# define hidden_undef_1(x) hidden_undef_2 (x) | |
249 | +# define hidden_undef(x) \ | |
250 | + __asm (hidden_undef_1 (ASM_GLOBAL_DIRECTIVE) " " #x); \ | |
251 | + __asm (".hidden " #x); | |
252 | +#else | |
253 | +# define hidden_undef(x) | |
254 | +#endif | |
255 | + | |
256 | +hidden_undef (__preinit_array_start) | |
257 | +hidden_undef (__preinit_array_end) | |
258 | +hidden_undef (__init_array_start) | |
259 | +hidden_undef (__init_array_end) | |
260 | +hidden_undef (__fini_array_start) | |
261 | +hidden_undef (__fini_array_end) | |
262 | ||
263 | /* These function symbols are provided for the .init/.fini section entry | |
264 | points automagically by the linker. */ | |
265 | --- glibc-2.12-2-gc4ccff1/debug/tst-chk1.c | |
266 | +++ glibc-2.12-1/debug/tst-chk1.c | |
267 | @@ -17,6 +17,9 @@ | |
268 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
269 | 02111-1307 USA. */ | |
270 | ||
271 | +/* Hack: make sure GCC doesn't know __chk_fail () will not return. */ | |
272 | +#define __noreturn__ | |
273 | + | |
274 | #include <assert.h> | |
275 | #include <fcntl.h> | |
276 | #include <locale.h> | |
277 | @@ -242,7 +245,7 @@ do_test (void) | |
278 | if (memcmp (a.buf1, "aabcdabcjj", 10)) | |
279 | FAIL (); | |
280 | ||
281 | -#if __USE_FORTIFY_LEVEL < 2 | |
282 | +#if __USE_FORTIFY_LEVEL < 2 || !__GNUC_PREREQ (4, 0) | |
283 | /* The following tests are supposed to crash with -D_FORTIFY_SOURCE=2 | |
284 | and sufficient GCC support, as the string operations overflow | |
285 | from a.buf1 into a.buf2. */ | |
286 | @@ -357,7 +360,7 @@ do_test (void) | |
287 | memset (a.buf1 + 9, 'j', l0 + 2); | |
288 | CHK_FAIL_END | |
289 | ||
290 | -# if __USE_FORTIFY_LEVEL >= 2 | |
291 | +# if __USE_FORTIFY_LEVEL >= 2 && __GNUC_PREREQ (4, 0) | |
292 | # define O 0 | |
293 | # else | |
294 | # define O 1 | |
295 | --- glibc-2.12-2-gc4ccff1/elf/ldconfig.c | |
296 | +++ glibc-2.12-1/elf/ldconfig.c | |
297 | @@ -1031,17 +1031,19 @@ search_dirs (void) | |
298 | ||
299 | ||
300 | static void parse_conf_include (const char *config_file, unsigned int lineno, | |
301 | - bool do_chroot, const char *pattern); | |
302 | + const char *prefix, bool do_chroot, | |
303 | + const char *pattern); | |
304 | ||
305 | /* Parse configuration file. */ | |
306 | static void | |
307 | -parse_conf (const char *filename, bool do_chroot) | |
308 | +parse_conf (const char *filename, const char *prefix, bool do_chroot) | |
309 | { | |
310 | FILE *file = NULL; | |
311 | char *line = NULL; | |
312 | const char *canon; | |
313 | size_t len = 0; | |
314 | unsigned int lineno; | |
315 | + size_t prefix_len = prefix ? strlen (prefix) : 0; | |
316 | ||
317 | if (do_chroot && opt_chroot) | |
318 | { | |
319 | @@ -1102,7 +1104,14 @@ parse_conf (const char *filename, bool d | |
320 | cp += 8; | |
321 | while ((dir = strsep (&cp, " \t")) != NULL) | |
322 | if (dir[0] != '\0') | |
323 | - parse_conf_include (filename, lineno, do_chroot, dir); | |
324 | + parse_conf_include (filename, lineno, prefix, do_chroot, dir); | |
325 | + } | |
326 | + else if (prefix != NULL) | |
327 | + { | |
328 | + size_t cp_len = strlen (cp); | |
329 | + char new_cp [prefix_len + cp_len + 1]; | |
330 | + memcpy (mempcpy (new_cp, prefix, prefix_len), cp, cp_len + 1); | |
331 | + add_dir (new_cp); | |
332 | } | |
333 | else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5])) | |
334 | { | |
335 | @@ -1165,7 +1174,7 @@ parse_conf (const char *filename, bool d | |
336 | config files to read. */ | |
337 | static void | |
338 | parse_conf_include (const char *config_file, unsigned int lineno, | |
339 | - bool do_chroot, const char *pattern) | |
340 | + const char *prefix, bool do_chroot, const char *pattern) | |
341 | { | |
342 | if (opt_chroot && pattern[0] != '/') | |
343 | error (EXIT_FAILURE, 0, | |
344 | @@ -1197,7 +1206,7 @@ parse_conf_include (const char *config_f | |
345 | { | |
346 | case 0: | |
347 | for (size_t i = 0; i < gl.gl_pathc; ++i) | |
348 | - parse_conf (gl.gl_pathv[i], false); | |
349 | + parse_conf (gl.gl_pathv[i], prefix, false); | |
350 | globfree64 (&gl); | |
351 | break; | |
352 | ||
353 | @@ -1240,6 +1249,8 @@ main (int argc, char **argv) | |
354 | /* Set the text message domain. */ | |
355 | textdomain (_libc_intl_domainname); | |
356 | ||
357 | + arch_startup (argc, argv); | |
358 | + | |
359 | /* Parse and process arguments. */ | |
360 | int remaining; | |
361 | argp_parse (&argp, argc, argv, 0, &remaining, NULL); | |
362 | @@ -1349,12 +1360,14 @@ main (int argc, char **argv) | |
363 | ||
364 | if (!opt_only_cline) | |
365 | { | |
366 | - parse_conf (config_file, true); | |
367 | + parse_conf (config_file, NULL, true); | |
368 | ||
369 | /* Always add the standard search paths. */ | |
370 | add_system_dir (SLIBDIR); | |
371 | if (strcmp (SLIBDIR, LIBDIR)) | |
372 | add_system_dir (LIBDIR); | |
373 | + | |
374 | + add_arch_dirs (config_file); | |
375 | } | |
376 | ||
377 | char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; | |
378 | --- glibc-2.12-2-gc4ccff1/elf/tst-stackguard1.c | |
379 | +++ glibc-2.12-1/elf/tst-stackguard1.c | |
380 | @@ -160,17 +160,21 @@ do_test (void) | |
381 | the 16 runs, something is very wrong. */ | |
382 | int ndifferences = 0; | |
383 | int ndefaults = 0; | |
384 | + int npartlyrandomized = 0; | |
385 | for (i = 0; i < N; ++i) | |
386 | { | |
387 | if (child_stack_chk_guards[i] != child_stack_chk_guards[i+1]) | |
388 | ndifferences++; | |
389 | else if (child_stack_chk_guards[i] == default_guard) | |
390 | ndefaults++; | |
391 | + else if (*(char *) &child_stack_chk_guards[i] == 0) | |
392 | + npartlyrandomized++; | |
393 | } | |
394 | ||
395 | - printf ("differences %d defaults %d\n", ndifferences, ndefaults); | |
396 | + printf ("differences %d defaults %d partly randomized %d\n", | |
397 | + ndifferences, ndefaults, npartlyrandomized); | |
398 | ||
399 | - if (ndifferences < N / 2 && ndefaults < N / 2) | |
400 | + if ((ndifferences + ndefaults + npartlyrandomized) < 3 * N / 4) | |
401 | { | |
402 | puts ("stack guard canaries are not randomized enough"); | |
403 | puts ("nor equal to the default canary value"); | |
404 | --- glibc-2.12-2-gc4ccff1/include/bits/stdlib-ldbl.h | |
405 | +++ glibc-2.12-1/include/bits/stdlib-ldbl.h | |
406 | @@ -0,0 +1 @@ | |
407 | +#include <stdlib/bits/stdlib-ldbl.h> | |
408 | --- glibc-2.12-2-gc4ccff1/include/bits/wchar-ldbl.h | |
409 | +++ glibc-2.12-1/include/bits/wchar-ldbl.h | |
410 | @@ -0,0 +1 @@ | |
411 | +#include <wcsmbs/bits/wchar-ldbl.h> | |
412 | --- glibc-2.12-2-gc4ccff1/include/features.h | |
413 | +++ glibc-2.12-1/include/features.h | |
414 | @@ -308,8 +308,13 @@ | |
415 | #endif | |
416 | ||
417 | #if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \ | |
418 | - && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 | |
419 | -# if _FORTIFY_SOURCE > 1 | |
420 | + && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 | |
421 | +# if !__GNUC_PREREQ (4, 1) | |
422 | +# ifdef __GNUC_RH_RELEASE__ | |
423 | +# warning _FORTIFY_SOURCE supported only with GCC 4.1 and later | |
424 | +# endif | |
425 | +# define __USE_FORTIFY_LEVEL 0 | |
426 | +# elif _FORTIFY_SOURCE > 1 | |
427 | # define __USE_FORTIFY_LEVEL 2 | |
428 | # else | |
429 | # define __USE_FORTIFY_LEVEL 1 | |
430 | --- glibc-2.12-2-gc4ccff1/intl/locale.alias | |
431 | +++ glibc-2.12-1/intl/locale.alias | |
432 | @@ -57,8 +57,6 @@ korean ko_KR.eucKR | |
433 | korean.euc ko_KR.eucKR | |
434 | ko_KR ko_KR.eucKR | |
435 | lithuanian lt_LT.ISO-8859-13 | |
436 | -no_NO nb_NO.ISO-8859-1 | |
437 | -no_NO.ISO-8859-1 nb_NO.ISO-8859-1 | |
438 | norwegian nb_NO.ISO-8859-1 | |
439 | nynorsk nn_NO.ISO-8859-1 | |
440 | polish pl_PL.ISO-8859-2 | |
441 | --- glibc-2.12-2-gc4ccff1/libio/stdio.h | |
442 | +++ glibc-2.12-1/libio/stdio.h | |
443 | @@ -165,10 +165,12 @@ typedef _G_fpos64_t fpos64_t; | |
444 | extern struct _IO_FILE *stdin; /* Standard input stream. */ | |
445 | extern struct _IO_FILE *stdout; /* Standard output stream. */ | |
446 | extern struct _IO_FILE *stderr; /* Standard error output stream. */ | |
447 | +#ifdef __STDC__ | |
448 | /* C89/C99 say they're macros. Make them happy. */ | |
449 | #define stdin stdin | |
450 | #define stdout stdout | |
451 | #define stderr stderr | |
452 | +#endif | |
453 | ||
454 | __BEGIN_NAMESPACE_STD | |
455 | /* Remove file FILENAME. */ | |
456 | --- glibc-2.12-2-gc4ccff1/locale/iso-4217.def | |
457 | +++ glibc-2.12-1/locale/iso-4217.def | |
458 | @@ -8,6 +8,7 @@ | |
459 | * | |
460 | * !!! The list has to be sorted !!! | |
461 | */ | |
462 | +DEFINE_INT_CURR("ADP") /* Andorran Peseta -> EUR */ | |
463 | DEFINE_INT_CURR("AED") /* United Arab Emirates Dirham */ | |
464 | DEFINE_INT_CURR("AFN") /* Afghanistan Afgani */ | |
465 | DEFINE_INT_CURR("ALL") /* Albanian Lek */ | |
466 | @@ -15,12 +16,14 @@ DEFINE_INT_CURR("AMD") /* Armenia Dram | |
467 | DEFINE_INT_CURR("ANG") /* Netherlands Antilles */ | |
468 | DEFINE_INT_CURR("AOA") /* Angolan Kwanza */ | |
469 | DEFINE_INT_CURR("ARS") /* Argentine Peso */ | |
470 | +DEFINE_INT_CURR("ATS") /* Austrian Schilling -> EUR */ | |
471 | DEFINE_INT_CURR("AUD") /* Australian Dollar */ | |
472 | DEFINE_INT_CURR("AWG") /* Aruba Guilder */ | |
473 | DEFINE_INT_CURR("AZM") /* Azerbaijan Manat */ | |
474 | DEFINE_INT_CURR("BAM") /* Bosnian and Herzegovina Convertible Mark */ | |
475 | DEFINE_INT_CURR("BBD") /* Barbados Dollar */ | |
476 | DEFINE_INT_CURR("BDT") /* Bangladesh Taka */ | |
477 | +DEFINE_INT_CURR("BEF") /* Belgian Franc -> EUR */ | |
478 | DEFINE_INT_CURR("BGN") /* Bulgarian Lev */ | |
479 | DEFINE_INT_CURR("BHD") /* Bahraini Dinar */ | |
480 | DEFINE_INT_CURR("BIF") /* Burundi Franc */ | |
481 | @@ -44,6 +47,7 @@ DEFINE_INT_CURR("CUP") /* Cuban Peso * | |
482 | DEFINE_INT_CURR("CVE") /* Cape Verde Escudo */ | |
483 | DEFINE_INT_CURR("CYP") /* Cypriot Pound */ | |
484 | DEFINE_INT_CURR("CZK") /* Czech Koruna */ | |
485 | +DEFINE_INT_CURR("DEM") /* German Mark -> EUR */ | |
486 | DEFINE_INT_CURR("DJF") /* Djibouti Franc */ | |
487 | DEFINE_INT_CURR("DKK") /* Danish Krone (Faroe Islands, Greenland) */ | |
488 | DEFINE_INT_CURR("DOP") /* Dominican Republic */ | |
489 | @@ -51,16 +55,20 @@ DEFINE_INT_CURR("DZD") /* Algerian Dina | |
490 | DEFINE_INT_CURR("EEK") /* Estonian Kroon */ | |
491 | DEFINE_INT_CURR("EGP") /* Egyptian Pound */ | |
492 | DEFINE_INT_CURR("ERN") /* Eritrean Nakfa */ | |
493 | +DEFINE_INT_CURR("ESP") /* Spanish Peseta -> EUR */ | |
494 | DEFINE_INT_CURR("ETB") /* Ethiopian Birr */ | |
495 | DEFINE_INT_CURR("EUR") /* European Union Euro */ | |
496 | +DEFINE_INT_CURR("FIM") /* Finnish Markka -> EUR */ | |
497 | DEFINE_INT_CURR("FJD") /* Fiji Dollar */ | |
498 | DEFINE_INT_CURR("FKP") /* Falkland Islands Pound (Malvinas) */ | |
499 | +DEFINE_INT_CURR("FRF") /* French Franc -> EUR */ | |
500 | DEFINE_INT_CURR("GBP") /* British Pound */ | |
501 | DEFINE_INT_CURR("GEL") /* Georgia Lari */ | |
502 | DEFINE_INT_CURR("GHC") /* Ghana Cedi */ | |
503 | DEFINE_INT_CURR("GIP") /* Gibraltar Pound */ | |
504 | DEFINE_INT_CURR("GMD") /* Gambian Dalasi */ | |
505 | DEFINE_INT_CURR("GNF") /* Guinea Franc */ | |
506 | +DEFINE_INT_CURR("GRD") /* Greek Drachma -> EUR */ | |
507 | DEFINE_INT_CURR("GTQ") /* Guatemala Quetzal */ | |
508 | DEFINE_INT_CURR("GYD") /* Guyana Dollar */ | |
509 | DEFINE_INT_CURR("HKD") /* Hong Kong Dollar */ | |
510 | @@ -69,12 +77,14 @@ DEFINE_INT_CURR("HRK") /* Croatia Kuna | |
511 | DEFINE_INT_CURR("HTG") /* Haiti Gourde */ | |
512 | DEFINE_INT_CURR("HUF") /* Hungarian Forint */ | |
513 | DEFINE_INT_CURR("IDR") /* Indonesia Rupiah */ | |
514 | +DEFINE_INT_CURR("IEP") /* Irish Pound -> EUR */ | |
515 | DEFINE_INT_CURR("ILS") /* Israeli Shekel */ | |
516 | DEFINE_INT_CURR("IMP") /* Isle of Man Pounds */ | |
517 | DEFINE_INT_CURR("INR") /* Indian Rupee (Bhutan) */ | |
518 | DEFINE_INT_CURR("IQD") /* Iraqi Dinar */ | |
519 | DEFINE_INT_CURR("IRR") /* Iranian Rial */ | |
520 | DEFINE_INT_CURR("ISK") /* Iceland Krona */ | |
521 | +DEFINE_INT_CURR("ITL") /* Italian Lira -> EUR */ | |
522 | DEFINE_INT_CURR("JEP") /* Jersey Pound */ | |
523 | DEFINE_INT_CURR("JMD") /* Jamaican Dollar */ | |
524 | DEFINE_INT_CURR("JOD") /* Jordanian Dinar */ | |
525 | @@ -94,6 +104,7 @@ DEFINE_INT_CURR("LKR") /* Sri Lankan Ru | |
526 | DEFINE_INT_CURR("LRD") /* Liberian Dollar */ | |
527 | DEFINE_INT_CURR("LSL") /* Lesotho Maloti */ | |
528 | DEFINE_INT_CURR("LTL") /* Lithuanian Litas */ | |
529 | +DEFINE_INT_CURR("LUF") /* Luxembourg Franc -> EUR */ | |
530 | DEFINE_INT_CURR("LVL") /* Latvia Lat */ | |
531 | DEFINE_INT_CURR("LYD") /* Libyan Arab Jamahiriya Dinar */ | |
532 | DEFINE_INT_CURR("MAD") /* Moroccan Dirham */ | |
533 | @@ -114,6 +125,7 @@ DEFINE_INT_CURR("MZM") /* Mozambique Me | |
534 | DEFINE_INT_CURR("NAD") /* Namibia Dollar */ | |
535 | DEFINE_INT_CURR("NGN") /* Nigeria Naira */ | |
536 | DEFINE_INT_CURR("NIO") /* Nicaragua Cordoba Oro */ | |
537 | +DEFINE_INT_CURR("NLG") /* Netherlands Guilder -> EUR */ | |
538 | DEFINE_INT_CURR("NOK") /* Norwegian Krone */ | |
539 | DEFINE_INT_CURR("NPR") /* Nepalese Rupee */ | |
540 | DEFINE_INT_CURR("NZD") /* New Zealand Dollar */ | |
541 | @@ -124,6 +136,7 @@ DEFINE_INT_CURR("PGK") /* Papau New Gui | |
542 | DEFINE_INT_CURR("PHP") /* Philippines Peso */ | |
543 | DEFINE_INT_CURR("PKR") /* Pakistan Rupee */ | |
544 | DEFINE_INT_CURR("PLN") /* Polish Zloty */ | |
545 | +DEFINE_INT_CURR("PTE") /* Portugese Escudo -> EUR */ | |
546 | DEFINE_INT_CURR("PYG") /* Paraguay Guarani */ | |
547 | DEFINE_INT_CURR("QAR") /* Qatar Rial */ | |
548 | DEFINE_INT_CURR("ROL") /* Romanian Leu */ | |
549 | --- glibc-2.12-2-gc4ccff1/locale/programs/locarchive.c | |
550 | +++ glibc-2.12-1/locale/programs/locarchive.c | |
551 | @@ -134,7 +134,7 @@ create_archive (const char *archivefname | |
552 | size_t reserved = RESERVE_MMAP_SIZE; | |
553 | int xflags = 0; | |
554 | if (total < reserved | |
555 | - && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, | |
556 | + && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, | |
557 | -1, 0)) != MAP_FAILED)) | |
558 | xflags = MAP_FIXED; | |
559 | else | |
560 | @@ -241,9 +241,9 @@ oldlocrecentcmp (const void *a, const vo | |
561 | /* forward decls for below */ | |
562 | static uint32_t add_locale (struct locarhandle *ah, const char *name, | |
563 | locale_data_t data, bool replace); | |
564 | -static void add_alias (struct locarhandle *ah, const char *alias, | |
565 | - bool replace, const char *oldname, | |
566 | - uint32_t *locrec_offset_p); | |
567 | +void add_alias (struct locarhandle *ah, const char *alias, | |
568 | + bool replace, const char *oldname, | |
569 | + uint32_t *locrec_offset_p); | |
570 | ||
571 | ||
572 | static bool | |
573 | @@ -396,7 +396,7 @@ enlarge_archive (struct locarhandle *ah, | |
574 | size_t reserved = RESERVE_MMAP_SIZE; | |
575 | int xflags = 0; | |
576 | if (total < reserved | |
577 | - && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, | |
578 | + && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, | |
579 | -1, 0)) != MAP_FAILED)) | |
580 | xflags = MAP_FIXED; | |
581 | else | |
582 | @@ -614,7 +614,7 @@ open_archive (struct locarhandle *ah, bo | |
583 | int xflags = 0; | |
584 | void *p; | |
585 | if (st.st_size < reserved | |
586 | - && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, | |
587 | + && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, | |
588 | -1, 0)) != MAP_FAILED)) | |
589 | xflags = MAP_FIXED; | |
590 | else | |
591 | @@ -649,7 +649,7 @@ close_archive (struct locarhandle *ah) | |
592 | #include "../../intl/explodename.c" | |
593 | #include "../../intl/l10nflist.c" | |
594 | ||
595 | -static struct namehashent * | |
596 | +struct namehashent * | |
597 | insert_name (struct locarhandle *ah, | |
598 | const char *name, size_t name_len, bool replace) | |
599 | { | |
600 | @@ -707,7 +707,7 @@ insert_name (struct locarhandle *ah, | |
601 | return &namehashtab[idx]; | |
602 | } | |
603 | ||
604 | -static void | |
605 | +void | |
606 | add_alias (struct locarhandle *ah, const char *alias, bool replace, | |
607 | const char *oldname, uint32_t *locrec_offset_p) | |
608 | { | |
609 | --- glibc-2.12-2-gc4ccff1/localedata/Makefile | |
610 | +++ glibc-2.12-1/localedata/Makefile | |
611 | @@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo | |
612 | echo -n '...'; \ | |
613 | input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ | |
614 | $(LOCALEDEF) --alias-file=../intl/locale.alias \ | |
615 | + --no-archive \ | |
616 | -i locales/$$input -c -f charmaps/$$charset \ | |
617 | $(addprefix --prefix=,$(install_root)) $$locale; \ | |
618 | echo ' done'; \ | |
619 | --- glibc-2.12-2-gc4ccff1/localedata/SUPPORTED | |
620 | +++ glibc-2.12-1/localedata/SUPPORTED | |
621 | @@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \ | |
622 | cy_GB/ISO-8859-14 \ | |
623 | da_DK.UTF-8/UTF-8 \ | |
624 | da_DK/ISO-8859-1 \ | |
625 | +da_DK.ISO-8859-15/ISO-8859-15 \ | |
626 | de_AT.UTF-8/UTF-8 \ | |
627 | de_AT/ISO-8859-1 \ | |
628 | de_AT@euro/ISO-8859-15 \ | |
629 | @@ -116,6 +117,7 @@ en_DK.UTF-8/UTF-8 \ | |
630 | en_DK/ISO-8859-1 \ | |
631 | en_GB.UTF-8/UTF-8 \ | |
632 | en_GB/ISO-8859-1 \ | |
633 | +en_GB.ISO-8859-15/ISO-8859-15 \ | |
634 | en_HK.UTF-8/UTF-8 \ | |
635 | en_HK/ISO-8859-1 \ | |
636 | en_IE.UTF-8/UTF-8 \ | |
637 | @@ -131,6 +133,7 @@ en_SG.UTF-8/UTF-8 \ | |
638 | en_SG/ISO-8859-1 \ | |
639 | en_US.UTF-8/UTF-8 \ | |
640 | en_US/ISO-8859-1 \ | |
641 | +en_US.ISO-8859-15/ISO-8859-15 \ | |
642 | en_ZA.UTF-8/UTF-8 \ | |
643 | en_ZA/ISO-8859-1 \ | |
644 | en_ZW.UTF-8/UTF-8 \ | |
645 | @@ -307,6 +310,8 @@ nl_NL/ISO-8859-1 \ | |
646 | nl_NL@euro/ISO-8859-15 \ | |
647 | nn_NO.UTF-8/UTF-8 \ | |
648 | nn_NO/ISO-8859-1 \ | |
649 | +no_NO.UTF-8/UTF-8 \ | |
650 | +no_NO/ISO-8859-1 \ | |
651 | nr_ZA/UTF-8 \ | |
652 | nso_ZA/UTF-8 \ | |
653 | oc_FR.UTF-8/UTF-8 \ | |
654 | @@ -367,6 +372,7 @@ sv_FI/ISO-8859-1 \ | |
655 | sv_FI@euro/ISO-8859-15 \ | |
656 | sv_SE.UTF-8/UTF-8 \ | |
657 | sv_SE/ISO-8859-1 \ | |
658 | +sv_SE.ISO-8859-15/ISO-8859-15 \ | |
659 | ta_IN/UTF-8 \ | |
660 | te_IN/UTF-8 \ | |
661 | tg_TJ.UTF-8/UTF-8 \ | |
662 | --- glibc-2.12-2-gc4ccff1/localedata/locales/cy_GB | |
663 | +++ glibc-2.12-1/localedata/locales/cy_GB | |
664 | @@ -248,8 +248,11 @@ mon "<U0049><U006F><U006E><U0061 | |
665 | d_t_fmt "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" | |
666 | d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>" | |
667 | t_fmt "<U0025><U0054>" | |
668 | -am_pm "";"" | |
669 | -t_fmt_ampm "" | |
670 | +am_pm "<U0041><U004D>";"<U0050><U004D>" | |
671 | +t_fmt_ampm "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>" | |
672 | +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ | |
673 | +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ | |
674 | +<U0025><U005A><U0020><U0025><U0059>" | |
675 | END LC_TIME | |
676 | ||
677 | LC_MESSAGES | |
678 | --- glibc-2.12-2-gc4ccff1/localedata/locales/en_GB | |
679 | +++ glibc-2.12-1/localedata/locales/en_GB | |
680 | @@ -116,8 +116,8 @@ mon "<U004A><U0061><U006E><U0075 | |
681 | d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" | |
682 | d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" | |
683 | t_fmt "<U0025><U0054>" | |
684 | -am_pm "";"" | |
685 | -t_fmt_ampm "" | |
686 | +am_pm "<U0041><U004D>";"<U0050><U004D>" | |
687 | +t_fmt_ampm "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>" | |
688 | date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ | |
689 | <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ | |
690 | <U0025><U005A><U0020><U0025><U0059>" | |
691 | --- glibc-2.12-2-gc4ccff1/localedata/locales/no_NO | |
692 | +++ glibc-2.12-1/localedata/locales/no_NO | |
693 | @@ -0,0 +1,69 @@ | |
694 | +escape_char / | |
695 | +comment_char % | |
696 | + | |
697 | +% Norwegian language locale for Norway | |
698 | +% Source: Norsk Standardiseringsforbund | |
699 | +% Address: University Library, | |
700 | +% Drammensveien 41, N-9242 Oslo, Norge | |
701 | +% Contact: Kolbjoern Aamboe | |
702 | +% Tel: +47 - 22859109 | |
703 | +% Fax: +47 - 22434497 | |
704 | +% Email: kolbjorn.aambo@usit.uio.no | |
705 | +% Language: no | |
706 | +% Territory: NO | |
707 | +% Revision: 4.3 | |
708 | +% Date: 1996-10-15 | |
709 | +% Application: general | |
710 | +% Users: general | |
711 | +% Repertoiremap: mnemonic.ds | |
712 | +% Charset: ISO-8859-1 | |
713 | +% Distribution and use is free, also | |
714 | +% for commercial purposes. | |
715 | + | |
716 | +LC_IDENTIFICATION | |
717 | +copy "nb_NO" | |
718 | +END LC_IDENTIFICATION | |
719 | + | |
720 | +LC_COLLATE | |
721 | +copy "nb_NO" | |
722 | +END LC_COLLATE | |
723 | + | |
724 | +LC_CTYPE | |
725 | +copy "nb_NO" | |
726 | +END LC_CTYPE | |
727 | + | |
728 | +LC_MONETARY | |
729 | +copy "nb_NO" | |
730 | +END LC_MONETARY | |
731 | + | |
732 | +LC_NUMERIC | |
733 | +copy "nb_NO" | |
734 | +END LC_NUMERIC | |
735 | + | |
736 | +LC_TIME | |
737 | +copy "nb_NO" | |
738 | +END LC_TIME | |
739 | + | |
740 | +LC_MESSAGES | |
741 | +copy "nb_NO" | |
742 | +END LC_MESSAGES | |
743 | + | |
744 | +LC_PAPER | |
745 | +copy "nb_NO" | |
746 | +END LC_PAPER | |
747 | + | |
748 | +LC_TELEPHONE | |
749 | +copy "nb_NO" | |
750 | +END LC_TELEPHONE | |
751 | + | |
752 | +LC_MEASUREMENT | |
753 | +copy "nb_NO" | |
754 | +END LC_MEASUREMENT | |
755 | + | |
756 | +LC_NAME | |
757 | +copy "nb_NO" | |
758 | +END LC_NAME | |
759 | + | |
760 | +LC_ADDRESS | |
761 | +copy "nb_NO" | |
762 | +END LC_ADDRESS | |
763 | --- glibc-2.12-2-gc4ccff1/localedata/locales/zh_TW | |
764 | +++ glibc-2.12-1/localedata/locales/zh_TW | |
765 | @@ -1,7 +1,7 @@ | |
766 | comment_char % | |
767 | escape_char / | |
768 | % | |
769 | -% Chinese language locale for Taiwan R.O.C. | |
770 | +% Chinese language locale for Taiwan | |
771 | % charmap: BIG5-CP950 | |
772 | % | |
773 | % Original Author: | |
774 | @@ -17,7 +17,7 @@ escape_char / | |
775 | % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf | |
776 | ||
777 | LC_IDENTIFICATION | |
778 | -title "Chinese locale for Taiwan R.O.C." | |
779 | +title "Chinese locale for Taiwan" | |
780 | source "" | |
781 | address "" | |
782 | contact "" | |
783 | @@ -25,7 +25,7 @@ email "bug-glibc-locales@gnu.org" | |
784 | tel "" | |
785 | fax "" | |
786 | language "Chinese" | |
787 | -territory "Taiwan R.O.C." | |
788 | +territory "Taiwan" | |
789 | revision "0.2" | |
790 | date "2000-08-02" | |
791 | % | |
792 | --- glibc-2.12-2-gc4ccff1/malloc/mcheck.c | |
793 | +++ glibc-2.12-1/malloc/mcheck.c | |
794 | @@ -24,9 +24,25 @@ | |
795 | # include <mcheck.h> | |
796 | # include <stdint.h> | |
797 | # include <stdio.h> | |
798 | +# include <stdlib.h> | |
799 | # include <libintl.h> | |
800 | #endif | |
801 | ||
802 | +#ifdef _LIBC | |
803 | +extern __typeof (malloc) __libc_malloc; | |
804 | +extern __typeof (free) __libc_free; | |
805 | +extern __typeof (realloc) __libc_realloc; | |
806 | +libc_hidden_proto (__libc_malloc) | |
807 | +libc_hidden_proto (__libc_realloc) | |
808 | +libc_hidden_proto (__libc_free) | |
809 | +libc_hidden_proto (__libc_memalign) | |
810 | +#else | |
811 | +# define __libc_malloc(sz) malloc (sz) | |
812 | +# define __libc_free(ptr) free (ptr) | |
813 | +# define __libc_realloc(ptr, sz) realloc (ptr, sz) | |
814 | +# define __libc_memalign(al, sz) memalign (al, sz) | |
815 | +#endif | |
816 | + | |
817 | /* Old hook values. */ | |
818 | static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t); | |
819 | static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t); | |
820 | @@ -197,7 +213,7 @@ freehook (__ptr_t ptr, const __ptr_t cal | |
821 | if (old_free_hook != NULL) | |
822 | (*old_free_hook) (ptr, caller); | |
823 | else | |
824 | - free (ptr); | |
825 | + __libc_free (ptr); | |
826 | __free_hook = freehook; | |
827 | } | |
828 | ||
829 | @@ -214,7 +230,7 @@ mallochook (__malloc_size_t size, const | |
830 | hdr = (struct hdr *) (*old_malloc_hook) (sizeof (struct hdr) + size + 1, | |
831 | caller); | |
832 | else | |
833 | - hdr = (struct hdr *) malloc (sizeof (struct hdr) + size + 1); | |
834 | + hdr = (struct hdr *) __libc_malloc (sizeof (struct hdr) + size + 1); | |
835 | __malloc_hook = mallochook; | |
836 | if (hdr == NULL) | |
837 | return NULL; | |
838 | @@ -245,7 +261,7 @@ memalignhook (__malloc_size_t alignment, | |
839 | if (old_memalign_hook != NULL) | |
840 | block = (*old_memalign_hook) (alignment, slop + size + 1, caller); | |
841 | else | |
842 | - block = memalign (alignment, slop + size + 1); | |
843 | + block = __libc_memalign (alignment, slop + size + 1); | |
844 | __memalign_hook = memalignhook; | |
845 | if (block == NULL) | |
846 | return NULL; | |
847 | @@ -300,8 +316,8 @@ reallochook (__ptr_t ptr, __malloc_size_ | |
848 | sizeof (struct hdr) + size + 1, | |
849 | caller); | |
850 | else | |
851 | - hdr = (struct hdr *) realloc ((__ptr_t) hdr, | |
852 | - sizeof (struct hdr) + size + 1); | |
853 | + hdr = (struct hdr *) __libc_realloc ((__ptr_t) hdr, | |
854 | + sizeof (struct hdr) + size + 1); | |
855 | __free_hook = freehook; | |
856 | __malloc_hook = mallochook; | |
857 | __memalign_hook = memalignhook; | |
858 | @@ -361,8 +377,8 @@ mcheck (func) | |
859 | if (__malloc_initialized <= 0 && !mcheck_used) | |
860 | { | |
861 | /* We call malloc() once here to ensure it is initialized. */ | |
862 | - void *p = malloc (0); | |
863 | - free (p); | |
864 | + void *p = __libc_malloc (0); | |
865 | + __libc_free (p); | |
866 | ||
867 | old_free_hook = __free_hook; | |
868 | __free_hook = freehook; | |
869 | --- glibc-2.12-2-gc4ccff1/manual/libc.texinfo | |
870 | +++ glibc-2.12-1/manual/libc.texinfo | |
871 | @@ -5,7 +5,7 @@ | |
872 | @c setchapternewpage odd | |
873 | ||
874 | @comment Tell install-info what to do. | |
875 | -@dircategory Software libraries | |
876 | +@dircategory Libraries | |
877 | @direntry | |
878 | * Libc: (libc). C library. | |
879 | @end direntry | |
880 | --- glibc-2.12-2-gc4ccff1/misc/sys/cdefs.h | |
881 | +++ glibc-2.12-1/misc/sys/cdefs.h | |
882 | @@ -132,7 +132,10 @@ | |
883 | #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) | |
884 | #define __bos0(ptr) __builtin_object_size (ptr, 0) | |
885 | ||
886 | -#if __GNUC_PREREQ (4,3) | |
887 | +#if __GNUC_PREREQ (4,3) \ | |
888 | + || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ | |
889 | + && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ | |
890 | + && __GNUC_RH_RELEASE__ >= 31) | |
891 | # define __warndecl(name, msg) \ | |
892 | extern void name (void) __attribute__((__warning__ (msg))) | |
893 | # define __warnattr(msg) __attribute__((__warning__ (msg))) | |
894 | @@ -291,10 +294,16 @@ | |
895 | ||
896 | /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 | |
897 | inline semantics, unless -fgnu89-inline is used. */ | |
898 | -#if !defined __cplusplus || __GNUC_PREREQ (4,3) | |
899 | +#if !defined __cplusplus || __GNUC_PREREQ (4,3) \ | |
900 | + || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ | |
901 | + && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ | |
902 | + && __GNUC_RH_RELEASE__ >= 31) | |
903 | # if defined __GNUC_STDC_INLINE__ || defined __cplusplus | |
904 | # define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) | |
905 | -# if __GNUC_PREREQ (4,3) | |
906 | +# if __GNUC_PREREQ (4,3) \ | |
907 | + || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ | |
908 | + && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ | |
909 | + && __GNUC_RH_RELEASE__ >= 31) | |
910 | # define __extern_always_inline \ | |
911 | extern __always_inline __attribute__ ((__gnu_inline__, __artificial__)) | |
912 | # else | |
913 | @@ -314,7 +323,10 @@ | |
914 | ||
915 | /* GCC 4.3 and above allow passing all anonymous arguments of an | |
916 | __extern_always_inline function to some other vararg function. */ | |
917 | -#if __GNUC_PREREQ (4,3) | |
918 | +#if __GNUC_PREREQ (4,3) \ | |
919 | + || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ | |
920 | + && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ | |
921 | + && __GNUC_RH_RELEASE__ >= 31) | |
922 | # define __va_arg_pack() __builtin_va_arg_pack () | |
923 | # define __va_arg_pack_len() __builtin_va_arg_pack_len () | |
924 | #endif | |
925 | --- glibc-2.12-2-gc4ccff1/nis/nss | |
926 | +++ glibc-2.12-1/nis/nss | |
927 | @@ -25,7 +25,7 @@ | |
928 | # memory with every getXXent() call. Otherwise each getXXent() call | |
929 | # might result into a network communication with the server to get | |
930 | # the next entry. | |
931 | -#SETENT_BATCH_READ=TRUE | |
932 | +SETENT_BATCH_READ=TRUE | |
933 | # | |
934 | # ADJUNCT_AS_SHADOW | |
935 | # If set to TRUE, the passwd routines in the NIS NSS module will not | |
936 | --- glibc-2.12-2-gc4ccff1/nptl/ChangeLog | |
937 | +++ glibc-2.12-1/nptl/ChangeLog | |
938 | @@ -3884,6 +3884,15 @@ | |
939 | Use __sigfillset. Document that sigfillset does the right thing wrt | |
940 | to SIGSETXID. | |
941 | ||
942 | +2005-08-08 Jakub Jelinek <jakub@redhat.com> | |
943 | + | |
944 | + * tst-stackguard1.c (do_test): Likewise. | |
945 | + | |
946 | +2005-07-29 Jakub Jelinek <jakub@redhat.com> | |
947 | + | |
948 | + * tst-stackguard1.c (do_test): Don't fail if the poor man's | |
949 | + randomization doesn't work well enough. | |
950 | + | |
951 | 2005-07-11 Jakub Jelinek <jakub@redhat.com> | |
952 | ||
953 | [BZ #1102] | |
954 | @@ -4620,6 +4629,11 @@ | |
955 | Move definition inside libpthread, libc, librt check. Provide | |
956 | definition for rtld. | |
957 | ||
958 | +2004-09-02 Jakub Jelinek <jakub@redhat.com> | |
959 | + | |
960 | + * pthread_cond_destroy.c (__pthread_cond_destroy): If there are | |
961 | + waiters, awake all waiters on the associated mutex. | |
962 | + | |
963 | 2004-09-02 Ulrich Drepper <drepper@redhat.com> | |
964 | ||
965 | * sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp. | |
966 | @@ -6694,6 +6708,11 @@ | |
967 | ||
968 | * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules). | |
969 | ||
970 | +2003-07-22 Jakub Jelinek <jakub@redhat.com> | |
971 | + | |
972 | + * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h | |
973 | + if __need_struct_pthread_size, instead define lll_lock_t. | |
974 | + | |
975 | 2003-07-25 Jakub Jelinek <jakub@redhat.com> | |
976 | ||
977 | * tst-cancel17.c (do_test): Check if aio_cancel failed. | |
978 | --- glibc-2.12-2-gc4ccff1/nptl/Makefile | |
979 | +++ glibc-2.12-1/nptl/Makefile | |
980 | @@ -341,7 +341,8 @@ endif | |
981 | extra-objs += $(crti-objs) $(crtn-objs) | |
982 | omit-deps += crti crtn | |
983 | ||
984 | -CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) | |
985 | +CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \ | |
986 | + -fno-asynchronous-unwind-tables | |
987 | endif | |
988 | ||
989 | CFLAGS-flockfile.c = -D_IO_MTSAFE_IO | |
990 | @@ -527,15 +528,19 @@ $(addprefix $(objpfx), \ | |
991 | $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \ | |
992 | $(objpfx)libpthread_nonshared.a | |
993 | $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so | |
994 | -# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so, | |
995 | +# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so, | |
996 | # since otherwise libpthread.so comes before libc.so when linking. | |
997 | $(addprefix $(objpfx), $(tests-reverse)): \ | |
998 | - $(objpfx)../libc.so $(objpfx)libpthread.so \ | |
999 | + $(objpfx)linklibc.so $(objpfx)libpthread.so \ | |
1000 | $(objpfx)libpthread_nonshared.a | |
1001 | $(objpfx)../libc.so: $(common-objpfx)libc.so ; | |
1002 | $(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a | |
1003 | ||
1004 | $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so | |
1005 | + | |
1006 | +$(objpfx)linklibc.so: $(common-objpfx)libc.so | |
1007 | + ln -s ../libc.so $@ | |
1008 | +generated += libclink.so | |
1009 | else | |
1010 | $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a | |
1011 | endif | |
1012 | --- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h | |
1013 | +++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h | |
1014 | @@ -189,4 +189,7 @@ | |
1015 | /* Typed memory objects are not available. */ | |
1016 | #define _POSIX_TYPED_MEMORY_OBJECTS -1 | |
1017 | ||
1018 | +/* Streams are not available. */ | |
1019 | +#define _XOPEN_STREAMS -1 | |
1020 | + | |
1021 | #endif /* bits/posix_opt.h */ | |
1022 | --- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/kernel-features.h | |
1023 | +++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/kernel-features.h | |
1024 | @@ -0,0 +1,6 @@ | |
1025 | +#include_next <kernel-features.h> | |
1026 | + | |
1027 | +/* NPTL can always assume all clone thread flags work. */ | |
1028 | +#ifndef __ASSUME_CLONE_THREAD_FLAGS | |
1029 | +# define __ASSUME_CLONE_THREAD_FLAGS 1 | |
1030 | +#endif | |
1031 | --- glibc-2.12-2-gc4ccff1/nptl/tst-stackguard1.c | |
1032 | +++ glibc-2.12-1/nptl/tst-stackguard1.c | |
1033 | @@ -190,17 +190,21 @@ do_test (void) | |
1034 | the 16 runs, something is very wrong. */ | |
1035 | int ndifferences = 0; | |
1036 | int ndefaults = 0; | |
1037 | + int npartlyrandomized = 0; | |
1038 | for (i = 0; i < N; ++i) | |
1039 | { | |
1040 | if (child_stack_chk_guards[i] != child_stack_chk_guards[i+1]) | |
1041 | ndifferences++; | |
1042 | else if (child_stack_chk_guards[i] == default_guard) | |
1043 | ndefaults++; | |
1044 | + else if (*(char *) &child_stack_chk_guards[i] == 0) | |
1045 | + npartlyrandomized++; | |
1046 | } | |
1047 | ||
1048 | - printf ("differences %d defaults %d\n", ndifferences, ndefaults); | |
1049 | + printf ("differences %d defaults %d partly randomized %d\n", | |
1050 | + ndifferences, ndefaults, npartlyrandomized); | |
1051 | ||
1052 | - if (ndifferences < N / 2 && ndefaults < N / 2) | |
1053 | + if ((ndifferences + ndefaults + npartlyrandomized) < 3 * N / 4) | |
1054 | { | |
1055 | puts ("stack guard canaries are not randomized enough"); | |
1056 | puts ("nor equal to the default canary value"); | |
1057 | --- glibc-2.12-2-gc4ccff1/nscd/nscd.conf | |
1058 | +++ glibc-2.12-1/nscd/nscd.conf | |
1059 | @@ -33,7 +33,7 @@ | |
1060 | # logfile /var/log/nscd.log | |
1061 | # threads 4 | |
1062 | # max-threads 32 | |
1063 | -# server-user nobody | |
1064 | + server-user nscd | |
1065 | # stat-user somebody | |
1066 | debug-level 0 | |
1067 | # reload-count 5 | |
1068 | --- glibc-2.12-2-gc4ccff1/nscd/nscd.init | |
1069 | +++ glibc-2.12-1/nscd/nscd.init | |
1070 | @@ -9,6 +9,7 @@ | |
1071 | # slow naming services like NIS, NIS+, LDAP, or hesiod. | |
1072 | # processname: /usr/sbin/nscd | |
1073 | # config: /etc/nscd.conf | |
1074 | +# config: /etc/sysconfig/nscd | |
1075 | # | |
1076 | ### BEGIN INIT INFO | |
1077 | # Provides: nscd | |
1078 | @@ -28,20 +29,8 @@ | |
1079 | # Source function library. | |
1080 | . /etc/init.d/functions | |
1081 | ||
1082 | -# nscd does not run on any kernel lower than 2.2.0 because of threading | |
1083 | -# problems, so we require that in first place. | |
1084 | -case $(uname -r) in | |
1085 | - 2.[2-9].*) | |
1086 | - # this is okay | |
1087 | - ;; | |
1088 | - [3-9]*) | |
1089 | - # these are of course also okay | |
1090 | - ;; | |
1091 | - *) | |
1092 | - #this is not | |
1093 | - exit 1 | |
1094 | - ;; | |
1095 | -esac | |
1096 | +# Source an auxiliary options file if we have one, and pick up NSCD_OPTIONS. | |
1097 | +[ -r /etc/sysconfig/nscd ] && . /etc/sysconfig/nscd | |
1098 | ||
1099 | RETVAL=0 | |
1100 | prog=nscd | |
1101 | @@ -50,7 +39,7 @@ start () { | |
1102 | [ -d /var/run/nscd ] || mkdir /var/run/nscd | |
1103 | [ -d /var/db/nscd ] || mkdir /var/db/nscd | |
1104 | echo -n $"Starting $prog: " | |
1105 | - daemon /usr/sbin/nscd | |
1106 | + daemon /usr/sbin/nscd $NSCD_OPTIONS | |
1107 | RETVAL=$? | |
1108 | echo | |
1109 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd | |
1110 | @@ -83,7 +72,7 @@ restart() { | |
1111 | # See how we were called. | |
1112 | case "$1" in | |
1113 | start) | |
1114 | - start | |
1115 | + [ -e /var/lock/subsys/nscd ] || start | |
1116 | RETVAL=$? | |
1117 | ;; | |
1118 | stop) | |
1119 | @@ -99,14 +88,17 @@ case "$1" in | |
1120 | RETVAL=$? | |
1121 | ;; | |
1122 | try-restart | condrestart) | |
1123 | - [ -e /var/lock/subsys/nscd ] && restart | |
1124 | + [ ! -e /var/lock/subsys/nscd ] || restart | |
1125 | RETVAL=$? | |
1126 | ;; | |
1127 | force-reload | reload) | |
1128 | echo -n $"Reloading $prog: " | |
1129 | - killproc /usr/sbin/nscd -HUP | |
1130 | - RETVAL=$? | |
1131 | - echo | |
1132 | + RETVAL=0 | |
1133 | + /usr/sbin/nscd -i passwd || RETVAL=$? | |
1134 | + /usr/sbin/nscd -i group || RETVAL=$? | |
1135 | + /usr/sbin/nscd -i hosts || RETVAL=$? | |
1136 | + /usr/sbin/nscd -i services || RETVAL=$? | |
1137 | + echo | |
1138 | ;; | |
1139 | *) | |
1140 | echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" | |
1141 | --- glibc-2.12-2-gc4ccff1/posix/Makefile | |
1142 | +++ glibc-2.12-1/posix/Makefile | |
1143 | @@ -305,15 +305,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi | |
1144 | mv -f $@/$$spec.new $@/$$spec; \ | |
1145 | done < $(objpfx)getconf.speclist | |
1146 | ||
1147 | -$(objpfx)getconf.speclist: $(objpfx)getconf | |
1148 | -ifeq (no,$(cross-compiling)) | |
1149 | - LC_ALL=C GETCONF_DIR=/dev/null \ | |
1150 | - $(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new | |
1151 | - LC_ALL=C GETCONF_DIR=/dev/null \ | |
1152 | - $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS >> $@.new | |
1153 | - LC_ALL=C GETCONF_DIR=/dev/null \ | |
1154 | - $(run-program-prefix) $< _XBS5_WIDTH_RESTRICTED_ENVS >> $@.new | |
1155 | -else | |
1156 | - > $@.new | |
1157 | -endif | |
1158 | +$(objpfx)getconf.speclist: getconf.speclist.h | |
1159 | + $(CC) -E $(CFLAGS) $(CPPFLAGS) $< \ | |
1160 | + | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|_XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \ | |
1161 | + > $@.new | |
1162 | mv -f $@.new $@ | |
1163 | --- glibc-2.12-2-gc4ccff1/posix/gai.conf | |
1164 | +++ glibc-2.12-1/posix/gai.conf | |
1165 | @@ -41,7 +41,7 @@ | |
1166 | # | |
1167 | # precedence <mask> <value> | |
1168 | # Add another rule to the RFC 3484 precedence table. See section 2.1 | |
1169 | -# and 10.3 in RFC 3484. The default is: | |
1170 | +# and 10.3 in RFC 3484. The RFC requires: | |
1171 | # | |
1172 | #precedence ::1/128 50 | |
1173 | #precedence ::/0 40 | |
1174 | @@ -58,7 +58,7 @@ | |
1175 | # Add another rule to the RFC 3484 scope table for IPv4 addresses. | |
1176 | # By default the scope IDs described in section 3.2 in RFC 3484 are | |
1177 | # used. Changing these defaults should hardly ever be necessary. | |
1178 | -# The defaults are equivalent to: | |
1179 | +# The definitions in RFC 1918 are equivalent to: | |
1180 | # | |
1181 | #scopev4 ::ffff:169.254.0.0/112 2 | |
1182 | #scopev4 ::ffff:127.0.0.0/104 2 | |
1183 | @@ -75,3 +75,5 @@ | |
1184 | #scopev4 ::ffff:169.254.0.0/112 2 | |
1185 | #scopev4 ::ffff:127.0.0.0/104 2 | |
1186 | #scopev4 ::ffff:0.0.0.0/96 14 | |
1187 | +# | |
1188 | +# This is what the Red Hat setting currently uses. | |
1189 | --- glibc-2.12-2-gc4ccff1/posix/getconf.speclist.h | |
1190 | +++ glibc-2.12-1/posix/getconf.speclist.h | |
1191 | @@ -0,0 +1,39 @@ | |
1192 | +#include <unistd.h> | |
1193 | +const char *START_OF_STRINGS = | |
1194 | +#if _POSIX_V7_ILP32_OFF32 == 1 | |
1195 | +"POSIX_V7_ILP32_OFF32" | |
1196 | +#endif | |
1197 | +#if _POSIX_V7_ILP32_OFFBIG == 1 | |
1198 | +"POSIX_V7_ILP32_OFFBIG" | |
1199 | +#endif | |
1200 | +#if _POSIX_V7_LP64_OFF64 == 1 | |
1201 | +"POSIX_V7_LP64_OFF64" | |
1202 | +#endif | |
1203 | +#if _POSIX_V7_LPBIG_OFFBIG == 1 | |
1204 | +"POSIX_V7_LPBIG_OFFBIG" | |
1205 | +#endif | |
1206 | +#if _POSIX_V6_ILP32_OFF32 == 1 | |
1207 | +"POSIX_V6_ILP32_OFF32" | |
1208 | +#endif | |
1209 | +#if _POSIX_V6_ILP32_OFFBIG == 1 | |
1210 | +"POSIX_V6_ILP32_OFFBIG" | |
1211 | +#endif | |
1212 | +#if _POSIX_V6_LP64_OFF64 == 1 | |
1213 | +"POSIX_V6_LP64_OFF64" | |
1214 | +#endif | |
1215 | +#if _POSIX_V6_LPBIG_OFFBIG == 1 | |
1216 | +"POSIX_V6_LPBIG_OFFBIG" | |
1217 | +#endif | |
1218 | +#if _XBS5_ILP32_OFF32 == 1 | |
1219 | +"XBS5_ILP32_OFF32" | |
1220 | +#endif | |
1221 | +#if _XBS5_ILP32_OFFBIG == 1 | |
1222 | +"XBS5_ILP32_OFFBIG" | |
1223 | +#endif | |
1224 | +#if _XBS5_LP64_OFF64 == 1 | |
1225 | +"XBS5_LP64_OFF64" | |
1226 | +#endif | |
1227 | +#if _XBS5_LPBIG_OFFBIG == 1 | |
1228 | +"XBS5_LPBIG_OFFBIG" | |
1229 | +#endif | |
1230 | +""; | |
1231 | --- glibc-2.12-2-gc4ccff1/streams/Makefile | |
1232 | +++ glibc-2.12-1/streams/Makefile | |
1233 | @@ -21,7 +21,7 @@ | |
1234 | # | |
1235 | subdir := streams | |
1236 | ||
1237 | -headers = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h | |
1238 | +#headers = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h | |
1239 | routines = isastream getmsg getpmsg putmsg putpmsg fattach fdetach | |
1240 | ||
1241 | include ../Rules | |
1242 | --- glibc-2.12-2-gc4ccff1/sysdeps/generic/dl-cache.h | |
1243 | +++ glibc-2.12-1/sysdeps/generic/dl-cache.h | |
1244 | @@ -36,6 +36,14 @@ | |
1245 | # define add_system_dir(dir) add_dir (dir) | |
1246 | #endif | |
1247 | ||
1248 | +#ifndef arch_startup | |
1249 | +# define arch_startup(argc, argv) do { } while (0) | |
1250 | +#endif | |
1251 | + | |
1252 | +#ifndef add_arch_dirs | |
1253 | +# define add_arch_dirs(config_file) do { } while (0) | |
1254 | +#endif | |
1255 | + | |
1256 | #define CACHEMAGIC "ld.so-1.7.0" | |
1257 | ||
1258 | /* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another | |
1259 | --- glibc-2.12-2-gc4ccff1/sysdeps/i386/Makefile | |
1260 | +++ glibc-2.12-1/sysdeps/i386/Makefile | |
1261 | @@ -2,6 +2,8 @@ | |
1262 | # Every i386 port in use uses gas syntax (I think). | |
1263 | asm-CPPFLAGS += -DGAS_SYNTAX | |
1264 | ||
1265 | +sysdep-ASFLAGS += -U__i686 | |
1266 | + | |
1267 | # The i386 `long double' is a distinct type we support. | |
1268 | long-double-fcts = yes | |
1269 | ||
1270 | @@ -64,6 +66,14 @@ endif | |
1271 | ||
1272 | ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS))) | |
1273 | defines += -DNO_TLS_DIRECT_SEG_REFS | |
1274 | +else | |
1275 | +# .a libraries are not performance critical and so we | |
1276 | +# build them without direct TLS segment references | |
1277 | +# always. | |
1278 | +CPPFLAGS-.o += -DNO_TLS_DIRECT_SEG_REFS | |
1279 | +CFLAGS-.o += -mno-tls-direct-seg-refs | |
1280 | +CPPFLAGS-.oS += -DNO_TLS_DIRECT_SEG_REFS | |
1281 | +CFLAGS-.oS += -mno-tls-direct-seg-refs | |
1282 | endif | |
1283 | ||
1284 | ifeq ($(subdir),elf) | |
1285 | --- glibc-2.12-2-gc4ccff1/sysdeps/ia64/Makefile | |
1286 | +++ glibc-2.12-1/sysdeps/ia64/Makefile | |
1287 | @@ -12,8 +12,8 @@ elide-routines.os += hp-timing | |
1288 | ||
1289 | ifeq (yes,$(build-shared)) | |
1290 | # Compatibility | |
1291 | -sysdep_routines += ia64libgcc | |
1292 | -shared-only-routines += ia64libgcc | |
1293 | +sysdep_routines += libgcc-compat | |
1294 | +shared-only-routines += libgcc-compat | |
1295 | endif | |
1296 | endif | |
1297 | ||
1298 | --- glibc-2.12-2-gc4ccff1/sysdeps/ia64/ia64libgcc.S | |
1299 | +++ glibc-2.12-1/sysdeps/ia64/ia64libgcc.S | |
1300 | @@ -1,350 +0,0 @@ | |
1301 | -/* From the Intel IA-64 Optimization Guide, choose the minimum latency | |
1302 | - alternative. */ | |
1303 | - | |
1304 | -#include <sysdep.h> | |
1305 | -#undef ret | |
1306 | - | |
1307 | -#include <shlib-compat.h> | |
1308 | - | |
1309 | -#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) | |
1310 | - | |
1311 | -/* __divtf3 | |
1312 | - Compute a 80-bit IEEE double-extended quotient. | |
1313 | - farg0 holds the dividend. farg1 holds the divisor. */ | |
1314 | - | |
1315 | -ENTRY(___divtf3) | |
1316 | - cmp.eq p7, p0 = r0, r0 | |
1317 | - frcpa.s0 f10, p6 = farg0, farg1 | |
1318 | - ;; | |
1319 | -(p6) cmp.ne p7, p0 = r0, r0 | |
1320 | - .pred.rel.mutex p6, p7 | |
1321 | -(p6) fnma.s1 f11 = farg1, f10, f1 | |
1322 | -(p6) fma.s1 f12 = farg0, f10, f0 | |
1323 | - ;; | |
1324 | -(p6) fma.s1 f13 = f11, f11, f0 | |
1325 | -(p6) fma.s1 f14 = f11, f11, f11 | |
1326 | - ;; | |
1327 | -(p6) fma.s1 f11 = f13, f13, f11 | |
1328 | -(p6) fma.s1 f13 = f14, f10, f10 | |
1329 | - ;; | |
1330 | -(p6) fma.s1 f10 = f13, f11, f10 | |
1331 | -(p6) fnma.s1 f11 = farg1, f12, farg0 | |
1332 | - ;; | |
1333 | -(p6) fma.s1 f11 = f11, f10, f12 | |
1334 | -(p6) fnma.s1 f12 = farg1, f10, f1 | |
1335 | - ;; | |
1336 | -(p6) fma.s1 f10 = f12, f10, f10 | |
1337 | -(p6) fnma.s1 f12 = farg1, f11, farg0 | |
1338 | - ;; | |
1339 | -(p6) fma.s0 fret0 = f12, f10, f11 | |
1340 | -(p7) mov fret0 = f10 | |
1341 | - br.ret.sptk rp | |
1342 | -END(___divtf3) | |
1343 | - .symver ___divtf3, __divtf3@GLIBC_2.2 | |
1344 | - | |
1345 | -/* __divdf3 | |
1346 | - Compute a 64-bit IEEE double quotient. | |
1347 | - farg0 holds the dividend. farg1 holds the divisor. */ | |
1348 | - | |
1349 | -ENTRY(___divdf3) | |
1350 | - cmp.eq p7, p0 = r0, r0 | |
1351 | - frcpa.s0 f10, p6 = farg0, farg1 | |
1352 | - ;; | |
1353 | -(p6) cmp.ne p7, p0 = r0, r0 | |
1354 | - .pred.rel.mutex p6, p7 | |
1355 | -(p6) fmpy.s1 f11 = farg0, f10 | |
1356 | -(p6) fnma.s1 f12 = farg1, f10, f1 | |
1357 | - ;; | |
1358 | -(p6) fma.s1 f11 = f12, f11, f11 | |
1359 | -(p6) fmpy.s1 f13 = f12, f12 | |
1360 | - ;; | |
1361 | -(p6) fma.s1 f10 = f12, f10, f10 | |
1362 | -(p6) fma.s1 f11 = f13, f11, f11 | |
1363 | - ;; | |
1364 | -(p6) fmpy.s1 f12 = f13, f13 | |
1365 | -(p6) fma.s1 f10 = f13, f10, f10 | |
1366 | - ;; | |
1367 | -(p6) fma.d.s1 f11 = f12, f11, f11 | |
1368 | -(p6) fma.s1 f10 = f12, f10, f10 | |
1369 | - ;; | |
1370 | -(p6) fnma.d.s1 f8 = farg1, f11, farg0 | |
1371 | - ;; | |
1372 | -(p6) fma.d fret0 = f8, f10, f11 | |
1373 | -(p7) mov fret0 = f10 | |
1374 | - br.ret.sptk rp | |
1375 | - ;; | |
1376 | -END(___divdf3) | |
1377 | - .symver ___divdf3, __divdf3@GLIBC_2.2 | |
1378 | - | |
1379 | -/* __divsf3 | |
1380 | - Compute a 32-bit IEEE float quotient. | |
1381 | - farg0 holds the dividend. farg1 holds the divisor. */ | |
1382 | - | |
1383 | -ENTRY(___divsf3) | |
1384 | - cmp.eq p7, p0 = r0, r0 | |
1385 | - frcpa.s0 f10, p6 = farg0, farg1 | |
1386 | - ;; | |
1387 | -(p6) cmp.ne p7, p0 = r0, r0 | |
1388 | - .pred.rel.mutex p6, p7 | |
1389 | -(p6) fmpy.s1 f8 = farg0, f10 | |
1390 | -(p6) fnma.s1 f9 = farg1, f10, f1 | |
1391 | - ;; | |
1392 | -(p6) fma.s1 f8 = f9, f8, f8 | |
1393 | -(p6) fmpy.s1 f9 = f9, f9 | |
1394 | - ;; | |
1395 | -(p6) fma.s1 f8 = f9, f8, f8 | |
1396 | -(p6) fmpy.s1 f9 = f9, f9 | |
1397 | - ;; | |
1398 | -(p6) fma.d.s1 f10 = f9, f8, f8 | |
1399 | - ;; | |
1400 | -(p6) fnorm.s.s0 fret0 = f10 | |
1401 | -(p7) mov fret0 = f10 | |
1402 | - br.ret.sptk rp | |
1403 | - ;; | |
1404 | -END(___divsf3) | |
1405 | - .symver ___divsf3, __divsf3@GLIBC_2.2 | |
1406 | - | |
1407 | -/* __divdi3 | |
1408 | - Compute a 64-bit integer quotient. | |
1409 | - in0 holds the dividend. in1 holds the divisor. */ | |
1410 | - | |
1411 | -ENTRY(___divdi3) | |
1412 | - .regstk 2,0,0,0 | |
1413 | - /* Transfer inputs to FP registers. */ | |
1414 | - setf.sig f8 = in0 | |
1415 | - setf.sig f9 = in1 | |
1416 | - ;; | |
1417 | - /* Convert the inputs to FP, so that they won't be treated as | |
1418 | - unsigned. */ | |
1419 | - fcvt.xf f8 = f8 | |
1420 | - fcvt.xf f9 = f9 | |
1421 | - ;; | |
1422 | - /* Compute the reciprocal approximation. */ | |
1423 | - frcpa.s1 f10, p6 = f8, f9 | |
1424 | - ;; | |
1425 | - /* 3 Newton-Raphson iterations. */ | |
1426 | -(p6) fnma.s1 f11 = f9, f10, f1 | |
1427 | -(p6) fmpy.s1 f12 = f8, f10 | |
1428 | - ;; | |
1429 | -(p6) fmpy.s1 f13 = f11, f11 | |
1430 | -(p6) fma.s1 f12 = f11, f12, f12 | |
1431 | - ;; | |
1432 | -(p6) fma.s1 f10 = f11, f10, f10 | |
1433 | -(p6) fma.s1 f11 = f13, f12, f12 | |
1434 | - ;; | |
1435 | -(p6) fma.s1 f10 = f13, f10, f10 | |
1436 | -(p6) fnma.s1 f12 = f9, f11, f8 | |
1437 | - ;; | |
1438 | -(p6) fma.s1 f10 = f12, f10, f11 | |
1439 | - ;; | |
1440 | - /* Round quotient to an integer. */ | |
1441 | - fcvt.fx.trunc.s1 f10 = f10 | |
1442 | - ;; | |
1443 | - /* Transfer result to GP registers. */ | |
1444 | - getf.sig ret0 = f10 | |
1445 | - br.ret.sptk rp | |
1446 | - ;; | |
1447 | -END(___divdi3) | |
1448 | - .symver ___divdi3, __divdi3@GLIBC_2.2 | |
1449 | - | |
1450 | -/* __moddi3 | |
1451 | - Compute a 64-bit integer modulus. | |
1452 | - in0 holds the dividend (a). in1 holds the divisor (b). */ | |
1453 | - | |
1454 | -ENTRY(___moddi3) | |
1455 | - .regstk 2,0,0,0 | |
1456 | - /* Transfer inputs to FP registers. */ | |
1457 | - setf.sig f14 = in0 | |
1458 | - setf.sig f9 = in1 | |
1459 | - ;; | |
1460 | - /* Convert the inputs to FP, so that they won't be treated as | |
1461 | - unsigned. */ | |
1462 | - fcvt.xf f8 = f14 | |
1463 | - fcvt.xf f9 = f9 | |
1464 | - ;; | |
1465 | - /* Compute the reciprocal approximation. */ | |
1466 | - frcpa.s1 f10, p6 = f8, f9 | |
1467 | - ;; | |
1468 | - /* 3 Newton-Raphson iterations. */ | |
1469 | -(p6) fmpy.s1 f12 = f8, f10 | |
1470 | -(p6) fnma.s1 f11 = f9, f10, f1 | |
1471 | - ;; | |
1472 | -(p6) fma.s1 f12 = f11, f12, f12 | |
1473 | -(p6) fmpy.s1 f13 = f11, f11 | |
1474 | - ;; | |
1475 | -(p6) fma.s1 f10 = f11, f10, f10 | |
1476 | -(p6) fma.s1 f11 = f13, f12, f12 | |
1477 | - ;; | |
1478 | - sub in1 = r0, in1 | |
1479 | -(p6) fma.s1 f10 = f13, f10, f10 | |
1480 | -(p6) fnma.s1 f12 = f9, f11, f8 | |
1481 | - ;; | |
1482 | - setf.sig f9 = in1 | |
1483 | -(p6) fma.s1 f10 = f12, f10, f11 | |
1484 | - ;; | |
1485 | - fcvt.fx.trunc.s1 f10 = f10 | |
1486 | - ;; | |
1487 | - /* r = q * (-b) + a */ | |
1488 | - xma.l f10 = f10, f9, f14 | |
1489 | - ;; | |
1490 | - /* Transfer result to GP registers. */ | |
1491 | - getf.sig ret0 = f10 | |
1492 | - br.ret.sptk rp | |
1493 | - ;; | |
1494 | -END(___moddi3) | |
1495 | - .symver ___moddi3, __moddi3@GLIBC_2.2 | |
1496 | - | |
1497 | -/* __udivdi3 | |
1498 | - Compute a 64-bit unsigned integer quotient. | |
1499 | - in0 holds the dividend. in1 holds the divisor. */ | |
1500 | - | |
1501 | -ENTRY(___udivdi3) | |
1502 | - .regstk 2,0,0,0 | |
1503 | - /* Transfer inputs to FP registers. */ | |
1504 | - setf.sig f8 = in0 | |
1505 | - setf.sig f9 = in1 | |
1506 | - ;; | |
1507 | - /* Convert the inputs to FP, to avoid FP software-assist faults. */ | |
1508 | - fcvt.xuf.s1 f8 = f8 | |
1509 | - fcvt.xuf.s1 f9 = f9 | |
1510 | - ;; | |
1511 | - /* Compute the reciprocal approximation. */ | |
1512 | - frcpa.s1 f10, p6 = f8, f9 | |
1513 | - ;; | |
1514 | - /* 3 Newton-Raphson iterations. */ | |
1515 | -(p6) fnma.s1 f11 = f9, f10, f1 | |
1516 | -(p6) fmpy.s1 f12 = f8, f10 | |
1517 | - ;; | |
1518 | -(p6) fmpy.s1 f13 = f11, f11 | |
1519 | -(p6) fma.s1 f12 = f11, f12, f12 | |
1520 | - ;; | |
1521 | -(p6) fma.s1 f10 = f11, f10, f10 | |
1522 | -(p6) fma.s1 f11 = f13, f12, f12 | |
1523 | - ;; | |
1524 | -(p6) fma.s1 f10 = f13, f10, f10 | |
1525 | -(p6) fnma.s1 f12 = f9, f11, f8 | |
1526 | - ;; | |
1527 | -(p6) fma.s1 f10 = f12, f10, f11 | |
1528 | - ;; | |
1529 | - /* Round quotient to an unsigned integer. */ | |
1530 | - fcvt.fxu.trunc.s1 f10 = f10 | |
1531 | - ;; | |
1532 | - /* Transfer result to GP registers. */ | |
1533 | - getf.sig ret0 = f10 | |
1534 | - br.ret.sptk rp | |
1535 | - ;; | |
1536 | -END(___udivdi3) | |
1537 | - .symver ___udivdi3, __udivdi3@GLIBC_2.2 | |
1538 | - | |
1539 | -/* __umoddi3 | |
1540 | - Compute a 64-bit unsigned integer modulus. | |
1541 | - in0 holds the dividend (a). in1 holds the divisor (b). */ | |
1542 | - | |
1543 | -ENTRY(___umoddi3) | |
1544 | - .regstk 2,0,0,0 | |
1545 | - /* Transfer inputs to FP registers. */ | |
1546 | - setf.sig f14 = in0 | |
1547 | - setf.sig f9 = in1 | |
1548 | - ;; | |
1549 | - /* Convert the inputs to FP, to avoid FP software assist faults. */ | |
1550 | - fcvt.xuf.s1 f8 = f14 | |
1551 | - fcvt.xuf.s1 f9 = f9 | |
1552 | - ;; | |
1553 | - /* Compute the reciprocal approximation. */ | |
1554 | - frcpa.s1 f10, p6 = f8, f9 | |
1555 | - ;; | |
1556 | - /* 3 Newton-Raphson iterations. */ | |
1557 | -(p6) fmpy.s1 f12 = f8, f10 | |
1558 | -(p6) fnma.s1 f11 = f9, f10, f1 | |
1559 | - ;; | |
1560 | -(p6) fma.s1 f12 = f11, f12, f12 | |
1561 | -(p6) fmpy.s1 f13 = f11, f11 | |
1562 | - ;; | |
1563 | -(p6) fma.s1 f10 = f11, f10, f10 | |
1564 | -(p6) fma.s1 f11 = f13, f12, f12 | |
1565 | - ;; | |
1566 | - sub in1 = r0, in1 | |
1567 | -(p6) fma.s1 f10 = f13, f10, f10 | |
1568 | -(p6) fnma.s1 f12 = f9, f11, f8 | |
1569 | - ;; | |
1570 | - setf.sig f9 = in1 | |
1571 | -(p6) fma.s1 f10 = f12, f10, f11 | |
1572 | - ;; | |
1573 | - /* Round quotient to an unsigned integer. */ | |
1574 | - fcvt.fxu.trunc.s1 f10 = f10 | |
1575 | - ;; | |
1576 | - /* r = q * (-b) + a */ | |
1577 | - xma.l f10 = f10, f9, f14 | |
1578 | - ;; | |
1579 | - /* Transfer result to GP registers. */ | |
1580 | - getf.sig ret0 = f10 | |
1581 | - br.ret.sptk rp | |
1582 | - ;; | |
1583 | -END(___umoddi3) | |
1584 | - .symver ___umoddi3, __umoddi3@GLIBC_2.2 | |
1585 | - | |
1586 | -/* __multi3 | |
1587 | - Compute a 128-bit multiply of 128-bit multiplicands. | |
1588 | - in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b). */ | |
1589 | - | |
1590 | -ENTRY(___multi3) | |
1591 | - .regstk 4,0,0,0 | |
1592 | - setf.sig f6 = in1 | |
1593 | - movl r19 = 0xffffffff | |
1594 | - setf.sig f7 = in2 | |
1595 | - ;; | |
1596 | - and r14 = r19, in0 | |
1597 | - ;; | |
1598 | - setf.sig f10 = r14 | |
1599 | - and r14 = r19, in2 | |
1600 | - xmpy.l f9 = f6, f7 | |
1601 | - ;; | |
1602 | - setf.sig f6 = r14 | |
1603 | - shr.u r14 = in0, 32 | |
1604 | - ;; | |
1605 | - setf.sig f7 = r14 | |
1606 | - shr.u r14 = in2, 32 | |
1607 | - ;; | |
1608 | - setf.sig f8 = r14 | |
1609 | - xmpy.l f11 = f10, f6 | |
1610 | - xmpy.l f6 = f7, f6 | |
1611 | - ;; | |
1612 | - getf.sig r16 = f11 | |
1613 | - xmpy.l f7 = f7, f8 | |
1614 | - ;; | |
1615 | - shr.u r14 = r16, 32 | |
1616 | - and r16 = r19, r16 | |
1617 | - getf.sig r17 = f6 | |
1618 | - setf.sig f6 = in0 | |
1619 | - ;; | |
1620 | - setf.sig f11 = r14 | |
1621 | - getf.sig r21 = f7 | |
1622 | - setf.sig f7 = in3 | |
1623 | - ;; | |
1624 | - xma.l f11 = f10, f8, f11 | |
1625 | - xma.l f6 = f6, f7, f9 | |
1626 | - ;; | |
1627 | - getf.sig r18 = f11 | |
1628 | - ;; | |
1629 | - add r18 = r18, r17 | |
1630 | - ;; | |
1631 | - and r15 = r19, r18 | |
1632 | - cmp.ltu p7, p6 = r18, r17 | |
1633 | - ;; | |
1634 | - getf.sig r22 = f6 | |
1635 | -(p7) adds r14 = 1, r19 | |
1636 | - ;; | |
1637 | -(p7) add r21 = r21, r14 | |
1638 | - shr.u r14 = r18, 32 | |
1639 | - shl r15 = r15, 32 | |
1640 | - ;; | |
1641 | - add r20 = r21, r14 | |
1642 | - ;; | |
1643 | - add ret0 = r15, r16 | |
1644 | - add ret1 = r22, r20 | |
1645 | - br.ret.sptk rp | |
1646 | - ;; | |
1647 | -END(___multi3) | |
1648 | - .symver ___multi3, __multi3@GLIBC_2.2 | |
1649 | - | |
1650 | -#endif | |
1651 | --- glibc-2.12-2-gc4ccff1/sysdeps/ia64/libgcc-compat.c | |
1652 | +++ glibc-2.12-1/sysdeps/ia64/libgcc-compat.c | |
1653 | @@ -0,0 +1,84 @@ | |
1654 | +/* pre-.hidden libgcc compatibility | |
1655 | + Copyright (C) 2002 Free Software Foundation, Inc. | |
1656 | + This file is part of the GNU C Library. | |
1657 | + | |
1658 | + The GNU C Library is free software; you can redistribute it and/or | |
1659 | + modify it under the terms of the GNU Lesser General Public | |
1660 | + License as published by the Free Software Foundation; either | |
1661 | + version 2.1 of the License, or (at your option) any later version. | |
1662 | + | |
1663 | + The GNU C Library is distributed in the hope that it will be useful, | |
1664 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | |
1665 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
1666 | + Lesser General Public License for more details. | |
1667 | + | |
1668 | + You should have received a copy of the GNU Lesser General Public | |
1669 | + License along with the GNU C Library; if not, write to the Free | |
1670 | + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
1671 | + 02111-1307 USA. */ | |
1672 | + | |
1673 | + | |
1674 | +#include <stdint.h> | |
1675 | +#include <shlib-compat.h> | |
1676 | + | |
1677 | +#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) | |
1678 | + | |
1679 | +typedef int int128_t __attribute__((__mode__(TI))); | |
1680 | + | |
1681 | +extern long double __divtf3 (long double, long double) attribute_hidden; | |
1682 | +long double INTUSE (__divtf3) (long double x, long double y) | |
1683 | +{ | |
1684 | + return __divtf3 (x, y); | |
1685 | +} | |
1686 | +symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2); | |
1687 | + | |
1688 | +extern double __divdf3 (double, double) attribute_hidden; | |
1689 | +double INTUSE (__divdf3) (double x, double y) | |
1690 | +{ | |
1691 | + return __divdf3 (x, y); | |
1692 | +} | |
1693 | +symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2); | |
1694 | + | |
1695 | +extern float __divsf3 (float, float) attribute_hidden; | |
1696 | +float INTUSE (__divsf3) (float x, float y) | |
1697 | +{ | |
1698 | + return __divsf3 (x, y); | |
1699 | +} | |
1700 | +symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2); | |
1701 | + | |
1702 | +extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden; | |
1703 | +int64_t INTUSE (__divdi3) (int64_t x, int64_t y) | |
1704 | +{ | |
1705 | + return __divdi3 (x, y); | |
1706 | +} | |
1707 | +symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2); | |
1708 | + | |
1709 | +extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden; | |
1710 | +int64_t INTUSE (__moddi3) (int64_t x, int64_t y) | |
1711 | +{ | |
1712 | + return __moddi3 (x, y); | |
1713 | +} | |
1714 | +symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2); | |
1715 | + | |
1716 | +extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden; | |
1717 | +uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y) | |
1718 | +{ | |
1719 | + return __udivdi3 (x, y); | |
1720 | +} | |
1721 | +symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2); | |
1722 | + | |
1723 | +extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden; | |
1724 | +uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y) | |
1725 | +{ | |
1726 | + return __umoddi3 (x, y); | |
1727 | +} | |
1728 | +symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2); | |
1729 | + | |
1730 | +extern int128_t __multi3 (int128_t, int128_t) attribute_hidden; | |
1731 | +int128_t INTUSE (__multi3) (int128_t x, int128_t y) | |
1732 | +{ | |
1733 | + return __multi3 (x, y); | |
1734 | +} | |
1735 | +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); | |
1736 | + | |
1737 | +#endif | |
1738 | --- glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c | |
1739 | +++ glibc-2.12-1/sysdeps/posix/getaddrinfo.c | |
1740 | @@ -1099,10 +1099,12 @@ static const struct scopeentry | |
1741 | /* Link-local addresses: scope 2. */ | |
1742 | { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 }, | |
1743 | { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 }, | |
1744 | +#if 0 | |
1745 | /* Site-local addresses: scope 5. */ | |
1746 | { { { 10, 0, 0, 0 } }, htonl_c (0xff000000), 5 }, | |
1747 | { { { 172, 16, 0, 0 } }, htonl_c (0xfff00000), 5 }, | |
1748 | { { { 192, 168, 0, 0 } }, htonl_c (0xffff0000), 5 }, | |
1749 | +#endif | |
1750 | /* Default: scope 14. */ | |
1751 | { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 } | |
1752 | }; | |
1753 | --- glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/Makefile | |
1754 | +++ glibc-2.12-1/sysdeps/powerpc/powerpc64/Makefile | |
1755 | @@ -30,6 +30,7 @@ ifneq ($(elf),no) | |
1756 | # we use -fpic instead which is much better. | |
1757 | CFLAGS-initfini.s += -fpic -O1 | |
1758 | endif | |
1759 | +CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables | |
1760 | endif | |
1761 | ||
1762 | ifeq ($(subdir),elf) | |
1763 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/nice.c | |
1764 | +++ glibc-2.12-1/sysdeps/unix/nice.c | |
1765 | @@ -42,7 +42,12 @@ nice (int incr) | |
1766 | __set_errno (save); | |
1767 | } | |
1768 | ||
1769 | - result = setpriority (PRIO_PROCESS, 0, prio + incr); | |
1770 | + prio += incr; | |
1771 | + if (prio < PRIO_MIN) | |
1772 | + prio = PRIO_MIN; | |
1773 | + else if (prio >= PRIO_MAX) | |
1774 | + prio = PRIO_MAX - 1; | |
1775 | + result = setpriority (PRIO_PROCESS, 0, prio); | |
1776 | if (result == -1) | |
1777 | { | |
1778 | if (errno == EACCES) | |
1779 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/check_pf.c | |
1780 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/check_pf.c | |
1781 | @@ -27,13 +27,10 @@ | |
1782 | #include <unistd.h> | |
1783 | #include <sys/socket.h> | |
1784 | ||
1785 | -#include <asm/types.h> | |
1786 | -#include <linux/netlink.h> | |
1787 | -#include <linux/rtnetlink.h> | |
1788 | - | |
1789 | #include <not-cancel.h> | |
1790 | #include <kernel-features.h> | |
1791 | ||
1792 | +#include "netlinkaccess.h" | |
1793 | ||
1794 | #ifndef IFA_F_HOMEADDRESS | |
1795 | # define IFA_F_HOMEADDRESS 0 | |
1796 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/dl-osinfo.h | |
1797 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/dl-osinfo.h | |
1798 | @@ -17,10 +17,13 @@ | |
1799 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
1800 | 02111-1307 USA. */ | |
1801 | ||
1802 | +#include <errno.h> | |
1803 | #include <kernel-features.h> | |
1804 | #include <dl-sysdep.h> | |
1805 | #include <fcntl.h> | |
1806 | #include <stdint.h> | |
1807 | +#include <hp-timing.h> | |
1808 | +#include <endian.h> | |
1809 | ||
1810 | #ifndef MIN | |
1811 | # define MIN(a,b) (((a)<(b))?(a):(b)) | |
1812 | @@ -80,6 +83,32 @@ _dl_setup_stack_chk_guard (void *dl_rand | |
1813 | unsigned char *p = (unsigned char *) &ret; | |
1814 | p[sizeof (ret) - 1] = 255; | |
1815 | p[sizeof (ret) - 2] = '\n'; | |
1816 | +#ifdef HP_TIMING_NOW | |
1817 | + hp_timing_t hpt; | |
1818 | + HP_TIMING_NOW (hpt); | |
1819 | + hpt = (hpt & 0xffff) << 8; | |
1820 | + ret ^= hpt; | |
1821 | +#endif | |
1822 | + uintptr_t stk; | |
1823 | + /* Avoid GCC being too smart. */ | |
1824 | + asm ("" : "=r" (stk) : "r" (p)); | |
1825 | + stk &= 0x7ffff0; | |
1826 | +#if __BYTE_ORDER == __LITTLE_ENDIAN | |
1827 | + stk <<= (__WORDSIZE - 23); | |
1828 | +#elif __WORDSIZE == 64 | |
1829 | + stk <<= 31; | |
1830 | +#endif | |
1831 | + ret ^= stk; | |
1832 | + /* Avoid GCC being too smart. */ | |
1833 | + p = (unsigned char *) &errno; | |
1834 | + asm ("" : "=r" (stk) : "r" (p)); | |
1835 | + stk &= 0x7fff00; | |
1836 | +#if __BYTE_ORDER == __LITTLE_ENDIAN | |
1837 | + stk <<= (__WORDSIZE - 29); | |
1838 | +#else | |
1839 | + stk >>= 8; | |
1840 | +#endif | |
1841 | + ret ^= stk; | |
1842 | } | |
1843 | else | |
1844 | #endif | |
1845 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/futimesat.c | |
1846 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/futimesat.c | |
1847 | @@ -37,14 +37,14 @@ futimesat (fd, file, tvp) | |
1848 | { | |
1849 | int result; | |
1850 | ||
1851 | + if (file == NULL) | |
1852 | + return __futimes (fd, tvp); | |
1853 | + | |
1854 | #ifdef __NR_futimesat | |
1855 | # ifndef __ASSUME_ATFCTS | |
1856 | if (__have_atfcts >= 0) | |
1857 | # endif | |
1858 | { | |
1859 | - if (file == NULL) | |
1860 | - return __futimes (fd, tvp); | |
1861 | - | |
1862 | result = INLINE_SYSCALL (futimesat, 3, fd, file, tvp); | |
1863 | # ifndef __ASSUME_ATFCTS | |
1864 | if (result == -1 && errno == ENOSYS) | |
1865 | @@ -58,22 +58,7 @@ futimesat (fd, file, tvp) | |
1866 | #ifndef __ASSUME_ATFCTS | |
1867 | char *buf = NULL; | |
1868 | ||
1869 | - if (file == NULL) | |
1870 | - { | |
1871 | - static const char procfd[] = "/proc/self/fd/%d"; | |
1872 | - /* Buffer for the path name we are going to use. It consists of | |
1873 | - - the string /proc/self/fd/ | |
1874 | - - the file descriptor number. | |
1875 | - The final NUL is included in the sizeof. A bit of overhead | |
1876 | - due to the format elements compensates for possible negative | |
1877 | - numbers. */ | |
1878 | - size_t buflen = sizeof (procfd) + sizeof (int) * 3; | |
1879 | - buf = alloca (buflen); | |
1880 | - | |
1881 | - __snprintf (buf, buflen, procfd, fd); | |
1882 | - file = buf; | |
1883 | - } | |
1884 | - else if (fd != AT_FDCWD && file[0] != '/') | |
1885 | + if (fd != AT_FDCWD && file[0] != '/') | |
1886 | { | |
1887 | size_t filelen = strlen (file); | |
1888 | if (__builtin_expect (filelen == 0, 0)) | |
1889 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/dl-cache.h | |
1890 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/i386/dl-cache.h | |
1891 | @@ -0,0 +1,59 @@ | |
1892 | +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. | |
1893 | + Copyright (C) 2004 Free Software Foundation, Inc. | |
1894 | + This file is part of the GNU C Library. | |
1895 | + | |
1896 | + The GNU C Library is free software; you can redistribute it and/or | |
1897 | + modify it under the terms of the GNU Lesser General Public | |
1898 | + License as published by the Free Software Foundation; either | |
1899 | + version 2.1 of the License, or (at your option) any later version. | |
1900 | + | |
1901 | + The GNU C Library is distributed in the hope that it will be useful, | |
1902 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | |
1903 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
1904 | + Lesser General Public License for more details. | |
1905 | + | |
1906 | + You should have received a copy of the GNU Lesser General Public | |
1907 | + License along with the GNU C Library; if not, write to the Free | |
1908 | + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
1909 | + 02111-1307 USA. */ | |
1910 | + | |
1911 | +static inline int | |
1912 | +is_ia64 (void) | |
1913 | +{ | |
1914 | + unsigned int fl1, fl2; | |
1915 | + | |
1916 | + /* See if we can use cpuid. */ | |
1917 | + __asm__ ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;" | |
1918 | + "pushl %0; popfl; pushfl; popl %0; popfl" | |
1919 | + : "=&r" (fl1), "=&r" (fl2) | |
1920 | + : "i" (0x00200000)); | |
1921 | + if (((fl1 ^ fl2) & 0x00200000) == 0) | |
1922 | + return 0; | |
1923 | + | |
1924 | + /* Host supports cpuid. See if cpuid gives capabilities, try | |
1925 | + CPUID(0). Preserve %ebx and %ecx; cpuid insn clobbers these, we | |
1926 | + don't need their CPUID values here, and %ebx may be the PIC | |
1927 | + register. */ | |
1928 | + __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx" | |
1929 | + : "=a" (fl1) : "0" (0) : "edx", "cc"); | |
1930 | + if (fl1 == 0) | |
1931 | + return 0; | |
1932 | + | |
1933 | + /* Invoke CPUID(1), return %edx; caller can examine bits to | |
1934 | + determine what's supported. */ | |
1935 | + __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx" | |
1936 | + : "=d" (fl2), "=a" (fl1) : "1" (1) : "cc"); | |
1937 | + return (fl2 & (1 << 30)) != 0; | |
1938 | +} | |
1939 | + | |
1940 | +#define arch_startup(argc, argv) \ | |
1941 | + do { \ | |
1942 | + /* On IA-64, try to execute 64-bit ldconfig if possible. \ | |
1943 | + This is because the badly designed /emul/ia32-linux hack \ | |
1944 | + will cause 32-bit ldconfig to do all sorts of weird things. */ \ | |
1945 | + if (is_ia64 ()) \ | |
1946 | + execv ("/emul/ia32-linux/../../sbin/ldconfig", \ | |
1947 | + (char *const *) argv); \ | |
1948 | + } while (0) | |
1949 | + | |
1950 | +#include_next <dl-cache.h> | |
1951 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-cache.h | |
1952 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-cache.h | |
1953 | @@ -22,4 +22,31 @@ | |
1954 | #define _dl_cache_check_flags(flags) \ | |
1955 | ((flags) == _DL_CACHE_DEFAULT_ID) | |
1956 | ||
1957 | +#define EMUL_HACK "/emul/ia32-linux" | |
1958 | + | |
1959 | +#define arch_startup(argc, argv) unlink (EMUL_HACK LD_SO_CACHE) | |
1960 | + | |
1961 | +#define add_arch_dirs(config_file) \ | |
1962 | + do { \ | |
1963 | + int save_verbose = opt_verbose; \ | |
1964 | + opt_verbose = 0; \ | |
1965 | + \ | |
1966 | + parse_conf (config_file, EMUL_HACK, true); \ | |
1967 | + \ | |
1968 | + /* Always add the standard search paths. */ \ | |
1969 | + add_system_dir (EMUL_HACK SLIBDIR); \ | |
1970 | + if (strcmp (SLIBDIR, LIBDIR)) \ | |
1971 | + add_system_dir (EMUL_HACK LIBDIR); \ | |
1972 | + \ | |
1973 | + char emul_config_file[strlen (config_file) \ | |
1974 | + + sizeof EMUL_HACK]; \ | |
1975 | + strcpy (mempcpy (emul_config_file, EMUL_HACK, \ | |
1976 | + strlen (EMUL_HACK)), config_file); \ | |
1977 | + \ | |
1978 | + if (! access (emul_config_file, R_OK)) \ | |
1979 | + parse_conf (emul_config_file, EMUL_HACK, true); \ | |
1980 | + \ | |
1981 | + opt_verbose = save_verbose; \ | |
1982 | + } while (0) | |
1983 | + | |
1984 | #include_next <dl-cache.h> | |
1985 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c | |
1986 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c | |
1987 | @@ -0,0 +1,5 @@ | |
1988 | +#ifdef IS_IN_ldconfig | |
1989 | +#include <sysdeps/i386/dl-procinfo.c> | |
1990 | +#else | |
1991 | +#include <sysdeps/generic/dl-procinfo.c> | |
1992 | +#endif | |
1993 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h | |
1994 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h | |
1995 | @@ -0,0 +1,5 @@ | |
1996 | +#ifdef IS_IN_ldconfig | |
1997 | +#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h> | |
1998 | +#else | |
1999 | +#include <sysdeps/generic/dl-procinfo.h> | |
2000 | +#endif | |
2001 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed | |
2002 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed | |
2003 | @@ -1 +1 @@ | |
2004 | -s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 \2\3"_ | |
2005 | +s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_ | |
2006 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/netlinkaccess.h | |
2007 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/netlinkaccess.h | |
2008 | @@ -25,6 +25,24 @@ | |
2009 | ||
2010 | #include <kernel-features.h> | |
2011 | ||
2012 | +#ifndef IFA_MAX | |
2013 | +/* 2.6.19 kernel headers helpfully removed some macros and | |
2014 | + moved lots of stuff into new headers, some of which aren't | |
2015 | + included by linux/rtnetlink.h. */ | |
2016 | +#include <linux/if_addr.h> | |
2017 | +#endif | |
2018 | + | |
2019 | +#ifndef IFA_RTA | |
2020 | +# define IFA_RTA(r) \ | |
2021 | + ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifaddrmsg)))) | |
2022 | +# define IFA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifaddrmsg)) | |
2023 | +#endif | |
2024 | + | |
2025 | +#ifndef IFLA_RTA | |
2026 | +# define IFLA_RTA(r) \ | |
2027 | + ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifinfomsg)))) | |
2028 | +# define IFLA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifinfomsg)) | |
2029 | +#endif | |
2030 | ||
2031 | struct netlink_res | |
2032 | { | |
2033 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/paths.h | |
2034 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/paths.h | |
2035 | @@ -62,7 +62,7 @@ | |
2036 | #define _PATH_TTY "/dev/tty" | |
2037 | #define _PATH_UNIX "/boot/vmlinux" | |
2038 | #define _PATH_UTMP "/var/run/utmp" | |
2039 | -#define _PATH_VI "/usr/bin/vi" | |
2040 | +#define _PATH_VI "/bin/vi" | |
2041 | #define _PATH_WTMP "/var/log/wtmp" | |
2042 | ||
2043 | /* Provide trailing slash, since mostly used for building pathnames. */ | |
2044 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c | |
2045 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c | |
2046 | @@ -1 +1 @@ | |
2047 | -#include "../../fxstat.c" | |
2048 | +#include "../../i386/fxstat.c" | |
2049 | --- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/tcsetattr.c | |
2050 | +++ glibc-2.12-1/sysdeps/unix/sysv/linux/tcsetattr.c | |
2051 | @@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios | |
2052 | { | |
2053 | struct __kernel_termios k_termios; | |
2054 | unsigned long int cmd; | |
2055 | + int retval; | |
2056 | ||
2057 | switch (optional_actions) | |
2058 | { | |
2059 | @@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios | |
2060 | memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0], | |
2061 | __KERNEL_NCCS * sizeof (cc_t)); | |
2062 | ||
2063 | - return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); | |
2064 | + retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); | |
2065 | + | |
2066 | + if (retval == 0 && cmd == TCSETS) | |
2067 | + { | |
2068 | + /* The Linux kernel has a bug which silently ignore the invalid | |
2069 | + c_cflag on pty. We have to check it here. */ | |
2070 | + int save = errno; | |
2071 | + retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios); | |
2072 | + if (retval) | |
2073 | + { | |
2074 | + /* We cannot verify if the setting is ok. We don't return | |
2075 | + an error (?). */ | |
2076 | + __set_errno (save); | |
2077 | + retval = 0; | |
2078 | + } | |
2079 | + else if ((termios_p->c_cflag & (PARENB | CREAD)) | |
2080 | + != (k_termios.c_cflag & (PARENB | CREAD)) | |
2081 | + || ((termios_p->c_cflag & CSIZE) | |
2082 | + && ((termios_p->c_cflag & CSIZE) | |
2083 | + != (k_termios.c_cflag & CSIZE)))) | |
2084 | + { | |
2085 | + /* It looks like the Linux kernel silently changed the | |
2086 | + PARENB/CREAD/CSIZE bits in c_cflag. Report it as an | |
2087 | + error. */ | |
2088 | + __set_errno (EINVAL); | |
2089 | + retval = -1; | |
2090 | + } | |
2091 | + } | |
2092 | + | |
2093 | + return retval; | |
2094 | } | |
2095 | libc_hidden_def (tcsetattr) | |
2096 | --- glibc-2.12-2-gc4ccff1/timezone/zic.c | |
2097 | +++ glibc-2.12-1/timezone/zic.c | |
2098 | @@ -1921,7 +1921,7 @@ const int zonecount; | |
2099 | if (stdrp != NULL && stdrp->r_hiyear == 2037) | |
2100 | return; | |
2101 | } | |
2102 | - if (stdrp == NULL && zp->z_nrules != 0) | |
2103 | + if (stdrp == NULL && (zp->z_nrules != 0 || zp->z_stdoff != 0)) | |
2104 | return; | |
2105 | abbrvar = (stdrp == NULL) ? "" : stdrp->r_abbrvar; | |
2106 | doabbr(result, zp->z_format, abbrvar, FALSE, TRUE); |