.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2004-10-28  Roland McGrath  <roland@frob.com>
2
3         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state
4         instead of machine_thread_state.
5
6 2004-10-28  Roland McGrath  <roland@redhat.com>
7
8         * sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot.
9
10 2004-10-28  Ulrich Drepper  <drepper@redhat.com>
11
12         * elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script.
13
14 2004-10-27  Ulrich Drepper  <drepper@redhat.com>
15
16         * elf/dl-load.c (_dl_map_object): Use cache_rpath to check for
17         existing rpath in main executable, not explicit test.
18
19 2004-10-27  Jakub Jelinek  <jakub@redhat.com>
20
21         * include/resolv.h (_res_opcodes): New extern.
22         Add libresolv_hidden_proto.
23         * resolv/res_debug.c (_res_opcodes): Remove.
24         (__p_class_syms, __p_type_syms): Add libresolv_hidden_proto
25         and libresolv_hidden_data_def.  Remove attribute_hidden.
26         * resolv/res_mkquery (_res_opcodes): Remove.
27         * resolv/res_data.c (_res_opcodes): Remove attribute_hidden.
28         Add libresolv_hidden_data_def.
29
30 2004-10-27  Ulrich Drepper  <drepper@redhat.com>
31
32         * elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO
33         into an empty namespace.
34
35         * elf/dl-fini.c (_dl_fini): Fix search for map in maps array.
36         Reverse order of namespaces.
37         * elf/Makefile: Add rules to build and run tst-dlmopen3.
38         * elf/tst-dlmopen3.c: New file.
39         * elf/tst-dlmopen1mod.c: Add check whether constructor runs.
40
41 2004-10-27  Jakub Jelinek  <jakub@redhat.com>
42
43         * sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it.
44         * posix/Makefile: Add rules to build and run bug-glob2 test.
45         * posix/bug-glob2.c: New test.
46
47 2004-10-27  Roland McGrath  <roland@frob.com>
48
49         * sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro.
50         (_hurd_tls_init): Use it.
51         (_hurd_tls_fork): New function.
52         * sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it.
53
54 2004-10-26  Roland McGrath  <roland@frob.com>
55
56         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb.
57
58 2004-10-26  Jakub Jelinek  <jakub@redhat.com>
59
60         * sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t
61         type instead of uint16_t.  Formatting.
62
63 2004-10-25  Roland McGrath  <roland@redhat.com>
64
65         * login/openpty.c (openpty): Add libutil_hidden_def.
66
67         * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to
68         either libc_hidden_def or libnss_files_hidden_def, not hidden_def.
69         This file is also compiled into libnss_hesiod by #include.
70
71 2004-10-25  Roland McGrath  <roland@frob.com>
72
73         * sysdeps/unix/bsd/hp: Directory and all files removed.
74         These are now in the ports repository.
75         * sysdeps/unix/bsd/osf: Likewise.
76         * sysdeps/unix/bsd/sequent: Likewise.
77         * sysdeps/unix/bsd/sony: Likewise.
78         * sysdeps/unix/bsd/ultrix4: Likewise.
79         * sysdeps/unix/sysv/aix: Likewise.
80         * sysdeps/unix/sysv/hpux: Likewise.
81         * sysdeps/unix/sysv/irix4: Likewise.
82         * sysdeps/unix/sysv/isc2.2: Likewise.
83         * sysdeps/unix/sysv/minix: Likewise.
84         * sysdeps/unix/sysv/sco3.2.4: Likewise.
85         * sysdeps/unix/sysv/sco3.2: Likewise.
86         * sysdeps/unix/sysv/sysv4: Likewise.
87
88         * configure.in (ASM_LINE_SEP): Move this setting to ...
89         * sysdeps/hppa/configure.in: ... here, new file.
90         * sysdeps/hppa/configure: New generated file.
91         * configure: Regenerated.
92
93 2004-10-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
94
95         * sysdeps/sh/dl-machine.h: Include sysdep.h.
96         (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives.
97         (elf_machine_runtime_setup): Add always_inline attribute.
98         (_dl_start_user): Pass the correct environ.
99         (elf_machine_rela): Replace static inline by auto inline, add
100         always_inline attribute.
101         (elf_machine_rela_relative): Likewise.
102         (elf_machine_lazy_rel): Likewise.
103
104 2004-10-24  Ulrich Drepper  <drepper@redhat.com>
105
106         * nis/nis_call.c: Pretty printing.  Minor cleanups.
107         * nis/nis_addmember.c (nis_addmember): Add assert to check buffer
108         bounds.
109
110         * resolv/nss_dns/dns-host.c: Avoid using PLTs.
111         * include/libc-symbols.h: Define hidden attribute macros for
112         libnss_nisplus and libutil.
113         * include/utmp.h: Add libutil_hidden_proto for login_tty.
114         * login/login_tty.c: Add libutil_hidden_def.
115         * nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers.
116         * nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def.
117         * include/pty.h: New file.
118         * include/rpcsvc/yp.h: New file.
119         * include/rpcsvc/ypclnt.h: New file.
120         * include/rpcsvc/ypupd.h: New file.
121         * include/libc-symbols.h: Define hidden attribute macros for libnsl.
122         * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
123         functions.
124         * nis/nis_add.c: Add libnsl_hidden_def.  Minor optimizations.
125         * nis/nis_call.c: Likewise.
126         * nis/nis_clone_obj.c: Likewise.
127         * nis/nis_defaults.c: Likewise.
128         * nis/nis_domain_of_r.c: Likewise.
129         * nis/nis_error.c: Likewise.
130         * nis/nis_file.c: Likewise.
131         * nis/nis_free.c: Likewise.
132         * nis/nis_local_names.c: Likewise.
133         * nis/nis_lookup.c: Likewise.
134         * nis/nis_modify.c: Likewise.
135         * nis/nis_print.c: Likewise.
136         * nis/nis_remove.c: Likewise.
137         * nis/nis_subr.c: Likewise.
138         * nis/nis_table.c: Likewise.
139         * nis/nis_util.c: Likewise.
140         * nis/yp_xdr.c: Likewise.
141         * nis/ypclnt.c: Likewise.
142         * nis/ypupdate_xdr.c: Likewise.
143
144         * resolv/res_send.c (send_dg): Cope with failures.
145
146         * include/libc-symbols.h: Define hidden attribute macros for
147         libnss_files.
148         * include/netdb.h: Use libnss_files_hidden_proto for the parsers
149         defined in libnss_files, not libc_hidden_proto.
150         * include/netinet/ether.h: Likewise.
151         * include/rpc/netdb.h: Likewise.
152         * nss/nss_files/files-parse.c: Use hidden_def in parser definitions
153         instead of libc_hidden_def.
154         * nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to
155         _nss_netgroup_parseline definition.
156
157 2004-10-23  Roland McGrath  <roland@frob.com>
158
159         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early
160         after an RPC succeeds.
161
162         * sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed.
163         These are now in the ports repository.
164         * sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise.
165         * sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise.
166         * sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise.
167         * sysdeps/standalone, sysdeps/z8000: Likewise.
168
169 2004-10-23  Ulrich Drepper  <drepper@redhat.com>
170
171         * resolv/res_send.c (send_dg): Combine write and read to socket
172         into one loop.
173
174 2004-10-22  Roland McGrath  <roland@frob.com>
175
176         * Makefile (%.bz2, %.gz): Move these pattern rules ...
177         * Makerules: ... to here.
178
179 2001-10-31  Alexandre Oliva  <aoliva@redhat.com>
180
181         * elf/elf.h: Add R_MN10300_* relocation numbers.
182
183 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
184
185         [BZ #471] Fix imported from gnulib.
186         * time/mktime.c (leapyear, ydms_tm_diff): Year is of type
187         long int, not int, to avoid problems when tm_year == INT_MAX
188         and tm_mon > 12.
189         (__mktime_intenral): Compute year using long int arithmetic,
190         not int arithmetic, to avoid problems on hosts where time_t
191         and long are 64 bits but int is 32.
192
193         [BZ #468] Import a fix from gnulib.
194         * time/mktime.c [! DEBUG]: Do not include <string.h>.
195         It's needed only if DEBUG is nonzero.
196
197         [BZ #470] Import fix from gnulib.
198         * time/mktime.c [!_LIBC] (__mktime_internal): Define to
199         mktime_internal, to avoid clashes with any __mktime_internal
200         function defined in the standard library.
201
202         [BZ #469] Imported from gnulib.
203         * time/mktime.c (__isleap): Remove; all uses replaced by:
204         (leapyear): New function, which avoids overflow by not adding
205         1900 to year before testing whether it is a leap year.
206
207         [BZ #472] Imported from gnulib.
208         * time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX;
209         no longer used.
210
211 2004-10-22  Ulrich Drepper  <drepper@redhat.com>
212
213         * resolv/res_send.c: Remove compatibility code which is unused in
214         glibc and probably bitrotten.
215
216         * debug/execinfo.h: Remove __THROW from backtrace prototype.
217
218 2004-10-22  Jakub Jelinek  <jakub@redhat.com>
219
220         * sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions.
221         * sysdeps/i386/backtrace.c: Include <bits/libc-lock.h>, <dlfcn.h>,
222         <stdlib.h> and <unwind.h>.  Remove <bp-checks.h> include.
223         (struct trace_arg): New type.
224         (unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New
225         fn pointers resp. macros.
226         (init, backtrace_helper): New functions.
227         (__backtrace): Rewritten to use _Unwind_Backtrace first and fall
228         back to frame pointer walking.
229
230 2004-10-22  Ulrich Drepper  <drepper@redhat.com>
231
232         * sysdeps/unix/sysv/linux/Versions: Things are still in flux, it
233         seems.  Undo last additions.
234
235 2004-10-21  Ulrich Drepper  <drepper@redhat.com>
236
237         * posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno
238         values.
239
240 2004-10-20  Roland McGrath  <roland@redhat.com>
241
242         * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
243         $(config-sysdirs) for shlib-versions files.
244
245         * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
246         use of ...
247         * scripts/soversions.awk: ... this new file.  Collect lib info and
248         match any DEFAULT line before emitting anything, so DEFAULT can come
249         later in the concatenation of shlib-versions files.
250
251         * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED,
252         EKEYREVOKED, EKEYREJECTED.
253         * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist.
254         * sysdeps/gnu/errlist.c: Regenerated
255
256         * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count
257         higher than ERR_MAX reports.  Instead, emit a #define ERR_MAX.
258         * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target.
259         (generated): Add errlist-compat.h.
260         * sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to
261         define ERR_MAX and use that for table size.
262
263 2004-10-20  Ulrich Drepper  <drepper@redhat.com>
264
265         * sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot,
266         key_add, key_request, and keyctl syscalls.
267         * sysdeps/unix/sysv/linux/Versions: Export them.
268
269 2004-10-19  Roland McGrath  <roland@frob.com>
270
271         * sysdeps/mach/readonly-area.c: New file.
272
273 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
274
275         * elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state.
276         * elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def.
277         * sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as
278         hidden but use rtld_hidden_proto.
279
280 2004-10-19  Alfred M. Szmidt  <ams@gnu.org>
281
282         * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
283         (__readonly_area): ... this.
284
285 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
286
287         * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
288         destlen only every 4 bytes.
289
290 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
291
292         * nss/getent.c (hosts_keys): Let inet_pton decide whether the
293         string is an address or not.
294
295 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
296
297         * elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.
298         Use DL_SYMBOL_ADDRESS to set dli_saddr.
299
300         * debug/Makefile (catchsegv): Prefix $LIB with a backslash.
301
302 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
303
304         * debug/Makefile ($(objpfx)catchsegv): To support multilib
305         platforms, use $LIB in path to slibdir.
306
307 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
308
309         * debug/catchsegv.sh: Update copyright year.
310         Use mktemp to create segv_output file.
311
312 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
313
314         * elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook):
315         New functions.
316         (__libc_dlopen_mode): Call __libc_register_dl_open_hook and
317         __libc_register_dlfcn_hook.
318         * dlfcn/Makefile (routines, elide-routines.os): Set.
319         Add rules to build and test tststatic2.
320         * dlfcn/tststatic2.c: New test.
321         * dlfcn/modstatic2.c: New test module.
322         * dlfcn/dladdr.c: Call _dlfcn_hook from libdl.so if not NULL.
323         Define __ prefixed routine in libc.a and in libdl.a just call it.
324         * dlfcn/dladdr1.c: Likewise.
325         * dlfcn/dlclose.c: Likewise.
326         * dlfcn/dlerror.c: Likewise.
327         * dlfcn/dlinfo.c: Likewise.
328         * dlfcn/dlmopen.c: Likewise.
329         * dlfcn/dlopen.c: Likewise.
330         * dlfcn/dlopenold.c: Likewise.
331         * dlfcn/dlsym.c: Likewise.
332         * dlfcn/dlvsym.c: Likewise.
333         * dlfcn/sdladdr.c: New file.
334         * dlfcn/sdladdr1.c: New file.
335         * dlfcn/sdlclose.c: New file.
336         * dlfcn/sdlerror.c: New file.
337         * dlfcn/sdlinfo.c: New file.
338         * dlfcn/sdlopen.c: New file.
339         * dlfcn/sdlsym.c: New file.
340         * dlfcn/sdlvsym.c: New file.
341         * dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE.
342         * include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define.
343         (struct dlfcn_hook): New type.
344         (_dlfcn_hook): New extern decl.
345         (__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1,
346         __dlinfo, __dlmopen, __libc_dlsym_private,
347         __libc_register_dl_open_hook, __libc_register_dlfcn_hook): New
348         prototypes.
349         (__dlvsym): Use DL_CALLER_DECL.
350         * include/libc-symbols.h: Define libdl_hidden_proto and friends.
351
352         * malloc/arena.c (_dl_open_hook): Extern decl.
353         (ptmalloc_init): Don't call _dl_addr when dlopened from statically
354         linked programs but don't use brk for them either.
355
356 2004-10-18  Roland McGrath  <roland@redhat.com>
357
358         * dlfcn/bug-dlsym1.c (main): Remove bogus setenv call.
359
360 2004-10-18  Ulrich Drepper  <drepper@redhat.com>
361
362         * elf/dl-open.c (dl_open_worker): Avoid dereferencing map in
363         statically linked code if there might none be found.
364
365 2004-10-06  Maciej W. Rozycki  <macro@mips.com>
366
367         * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
368         (__SYSCALL_CLOBBERS): Add "memory".
369         * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
370         (__SYSCALL_CLOBBERS): Likewise.
371         * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
372         (__SYSCALL_CLOBBERS): Likewise.
373
374 2004-10-17  Ulrich Drepper  <drepper@redhat.com>
375
376         * include/libc-symbols.h: Define libresolv_hidden_proto and friends.
377         * include/resolv.h: Add libresolv_hidden_proto for symbols defined,
378         used, and exported in libresolv.
379         * resolv/base64.c: Add libresolv_hidden_def.
380         * resolv/gethnamaddr.c: Likewise.
381         * resolv/ns_name.c: Likewise.
382         * resolv/ns_netint.c: Likewise.
383         * resolv/res_comp.c: Likewise.
384         * resolv/res_data.c: Likewise.
385         * resolv/res_debug.c: Likewise.
386         * resolv/res_mkquery.c: Likewise.
387         * resolv/res_query.c: Likewise.
388         * resolv/res_send.c: Likewise.
389
390 2004-10-15  Jakub Jelinek  <jakub@redhat.com>
391
392         * elf/dl-minimal.c (__chk_fail): New.  Add rtld_hidden_def.
393         * sysdeps/unix/sysv/linux/readonly-area.c: New file.
394         * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking
395         routine.
396         * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise.
397         * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
398         * sysdeps/i386/i686/memset.S (__memset_chk): Likewise.
399         * sysdeps/i386/i686/memmove-chk.S: New file.
400         * sysdeps/i386/i686/memcpy-chk.S: Likewise.
401         * sysdeps/i386/i686/mempcpy-chk.S: Likewise.
402         * sysdeps/i386/i686/memset-chk.S: Likewise.
403         * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail
404         if exactly fitting into buffer.
405         * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise.
406         * sysdeps/generic/readonly-area.c: New file.
407         * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test
408         destlen once.
409         * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine.
410         * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise.
411         * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk.
412         * sysdeps/x86_64/memcpy-chk.S: New file.
413         * sysdeps/x86_64/mempcpy-chk.S: Likewise.
414         * sysdeps/x86_64/memset-chk.S: Likewise.
415         * sysdeps/x86_64/strcpy-chk.S: Likewise.
416         * sysdeps/x86_64/stpcpy-chk.S: Likewise.
417         * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing.
418         * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise.
419         * debug/tst-chk1.c: New test.
420         * debug/tst-chk2.c: Likewise.
421         * debug/tst-chk3.c: Likewise.
422         * debug/test-strcpy_chk.c: Likewise.
423         * debug/test-stpcpy_chk.c: Likewise.
424         * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request
425         _IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
426         * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk,
427         vfprintf_chk, gets_chk and readonly-area.
428         (CFLAGS-*_chk.c): Set.
429         (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and
430         test-stpcpy_chk.
431         * debug/vprintf_chk.c: New file.
432         * debug/printf_chk.c: Likewise.
433         * debug/vfprintf_chk.c: Likewise.
434         * debug/fprintf_chk.c: Likewise.
435         * debug/gets_chk.c: Likewise.
436         * debug/chk_fail.c (__chk_fail): Add libc_hidden_def.
437         * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments
438         passed to __vsnprintf_chk.
439         * debug/Versions (libc): Export __printf_chk, __fprintf_chk,
440         __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4.
441         * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call
442         __vsnprintf, instead create a temporary file with
443         _IO_strn_jumps jumptable.  If flags > 0, request
444         _IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
445         * libio/Makefile (headers): Add bits/stdio2.h.
446         * libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL.
447         (sprintf, snprintf, vsprintf, vsnprintf): Remove defines.
448         * libio/strfile.h (_IO_strnfile): New type.
449         (_IO_strn_jumps): New extern.
450         * libio/vsnprintf.c (_IO_strnfile): Remove.
451         (_IO_strn_jumps): Remove static.
452         * libio/bits/stdio2.h: New file.
453         * libio/vswprintf.c (_IO_strnfile): Rename type to...
454         (_IO_wstrnfile): ...this.  Adjust all uses.
455         * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define.
456         * stdio-common/vfprintf.c (STR_LEN): Define.
457         (vfprintf): Add readonly_format variable.
458         Handle _IO_FLAGS2_CHECK_PERCENT_N.
459         (buffered_vfprintf): Copy _flags2.
460         * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
461         __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
462         __vfprintf_chk): New prototypes.
463         (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto.
464         * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk,
465         __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk,
466         __strncat_chk): New prototypes.
467         * include/bits/string3.h: New file.
468         * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto
469         and rtld_hidden_proto.
470         * string/Makefile (headers): Add bits/string3.h.
471         * string/bits/string3.h (bcopy, bzero): New defines.
472         (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change
473         macros so that inlines are used only if unknown destination size
474         or side-effects in destination argument.
475         (mempcpy, stpcpy): Likewise.  Protect with #ifdef __USE_GNU.
476
477 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
478
479         * debug/Makefile (routines): Add *_chk.
480         * debug/Versions (libc): Export __chk_fail, __memcpy_chk,
481         __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk,
482         __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk,
483         __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk
484         @GLIBC_2.3.4.
485         * debug/chk_fail.c: New file.
486         * debug/snprintf_chk.c: Likewise.
487         * debug/sprintf_chk.c: Likewise.
488         * debug/vsnprintf_chk.c: Likewise.
489         * debug/vsprintf_chk.c: Likewise.
490         * include/features.h (_FORTIFY_SOURCE): Document, handle.
491         (__USE_FORTIFY_LEVEL): Define.
492         (__GNUC_PREREQ): Move to earlier location.
493         * include/sys/cdefs.h (__chk_fail): New prototype.
494         * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf):
495         Define if __USE_FORTIFY_LEVEL.
496         * misc/sys/cdefs.h (__bos, __bos0): Define.
497         * string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL.
498         * bits/string/string3.h: New header.
499         * sysdeps/generic/memcpy_chk.c: New file.
500         * sysdeps/generic/memmove_chk.c: Likewise.
501         * sysdeps/generic/mempcpy_chk.c: Likewise.
502         * sysdeps/generic/memset_chk.c: Likewise.
503         * sysdeps/generic/stpcpy_chk.c: Likewise.
504         * sysdeps/generic/strcat_chk.c: Likewise.
505         * sysdeps/generic/strcpy_chk.c: Likewise.
506         * sysdeps/generic/strncat_chk.c: Likewise.
507         * sysdeps/generic/strncpy_chk.c: Likewise.
508
509 2004-10-17  Roland McGrath  <roland@frob.com>
510
511         * manual/memory.texi (Page Lock Functions): Typo fix.
512         Reported by Carlos Maziero <maziero@ppgia.pucpr.br>
513
514 2004-10-16  Alfred M. Szmidt  <ams@kemisten.nu>
515
516         * sysdeps/mach/hurd/Makefile (link-libc-static): Use
517         `$(static-gnulib') instead of `$(gnulib)'.
518
519 2004-10-17  Ulrich Drepper  <drepper@redhat.com>
520
521         * sunrpc/rpc_clntout.c: Avoid including rcsid into binary.
522         * sunrpc/rpc_cout.c: Likewise.
523         * sunrpc/rpc_hout.c: Likewise.
524         * sunrpc/rpc_main.c: Likewise.
525         * sunrpc/rpc_parse.c: Likewise.
526         * sunrpc/rpc_sample.c: Likewise.
527         * sunrpc/rpc_scan.c: Likewise.
528         * sunrpc/rpc_svcout.c: Likewise.
529         * sunrpc/rpc_tblout.c: Likewise.
530         * sunrpc/rpc_util.c: Likewise.
531
532 2004-10-15  Jakub Jelinek  <jakub@redhat.com>
533
534         * sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
535         POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define.
536         * sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
537         syscalls.
538
539 2004-10-15  Ulrich Drepper  <drepper@redhat.com>
540
541         * nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db.
542         (_PATH_NSCD_GROUP_DB): Likewise.
543         (_PATH_NSCD_HOSTS_DB): Likewise.
544         (_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run.
545         * nscd/connections.c (nscd_init): Non-persistent database files
546         are created with the _PATH_NSCD_XYZ_DB_TMP path.
547         * nscd/nscd.init: Create /var/db/nscd if necessary.
548
549 2004-10-15  Richard Henderson  <rth@redhat.com>
550
551         * sysdeps/unix/sysv/linux/alpha/register-dump.h: New file.
552         * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add
553         _code argument, pass sigcontext by pointer.
554         (SIGCONTEXT_EXTRA_ARGS): Likewise.
555         (GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer.
556
557 2004-10-14  Richard Henderson  <rth@redhat.com>
558
559         * sysdeps/alpha/dl-machine.h (elf_machine_rela,
560         elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
561         instead of static.
562
563         * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype
564         style definition.
565         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If
566         __ASSUME_TIMEVAL64, define __adjtime directly rather than
567         via strong_alias.
568
569 2004-10-14  Ulrich Drepper  <drepper@redhat.com>
570
571         * nscd/Makefile: When using compilers without -fpie support, also
572         link with -lselinux if necessary.
573         Patch by Arkadiusz Miskiewicz <arekm@pld-linux.org>.
574
575         * nscd/connections.c (nscd_init): Remove file if not persistent
576         and not shared.  Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.
577
578 2004-10-14  Jakub Jelinek  <jakub@redhat.com>
579
580         * sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
581         defined __NR_setresuid32 && !defined __NR_setresuid.
582         * sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
583         defined __NR_setresgid32 && !defined __NR_setresgid.
584
585         * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
586         __signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.
587
588         * sysdeps/generic/errno-loc.c: Don't undef #errno
589         if RTLD_PRIVATE_ERRNO.
590         * include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
591         add attribute_hidden.
592
593         * dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
594         chain with iteration over all namespaces' _ns_loaded chains.
595         * sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
596         Likewise.
597         * sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
598
599         * elf/rtld.c (_dl_start): Fix one last dl_loaded.
600         * elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of
601         label when it is not needed.
602         * elf/dl-close.c (_dl_close): Typo: & -> &&.
603
604 2004-10-12  Jakub Jelinek  <jakub@redhat.com>
605
606         * sysdeps/generic/segfault.c: Include alloca.h and stdint.h.
607         Don't include frame.h.
608         (CURRENT_STACK_FRAME, INNER_THAN, ADVANCE_STACK_FRAME): Remove.
609         (catch_segfault): Use backtrace function.
610
611         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment.
612         * sysdeps/unix/sysv/linux/ia64/register-dump.h: New file.
613         * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip
614         field.
615
616 2004-10-13  Ulrich Drepper  <drepper@redhat.com>
617
618         Add support for namespaces in the dynamic linker.
619         * dlfcn/Makefile (libdl-routines): Add dlmopen.
620         * dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
621         * dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
622         Declare dlmopen.  Document RTLD_DI_LMID.
623         * dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
624         * dlfcn/dlmopen.c: New file.
625         * dlfcn/dlopen.c: Pass new parameter to _dl_open.
626         * dlfcn/dlopenold.c: Likewise.
627         * elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
628         * elf/dl-caller.c: Likewise.
629         * elf/dl-close.c: Likewise.
630         * elf/dl-conflict.c: Likewise.
631         * elf/dl-debug.c: Likewise.
632         * elf/dl-lookup.c: Likewise.
633         * elf/dl-sym.c: Likewise.
634         * elf/dl-version.c: Likewise.
635         * elf/do-lookup.h: Likewise.
636         * elf/rtld.c: Likewise.
637         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
638         * elf/dl-depsc: Likewise.  Add new parameter to _dl_map_object.
639         * elf/dl-fini.c: Call destructors in all namespaces.
640         * elf/dl-iteratephdr.c: Compute total nloaded.  Adjust for removal of
641         GL(dl_loaded).
642         * elf/dl-libc.c: Pass new parameter to _dl_open.  Adjust for removal
643         of GL(dl_loaded).
644         * elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
645         time.  Reuse the one from the main namespace in all others.
646         Pass new parameter to _dl_new_object.
647         Adjust for removal of GL(dl_loaded).
648         * elf/dl-object.c: Take new parameter.  Use it to initialize l_ns.
649         Adjust for removal of GL(dl_loaded).
650         * elf/dl-open.c (_dl_open): Take new parameter.
651         Adjust for removal of GL(dl_loaded).
652         * elf/dl-support.c: Replace global _dl_loaded etc variables with
653         _dl_ns variable.
654         * include/dlfcn.h: Adjust prototype of _dl_open.
655         Define __LM_ID_CALLER.
656         * include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
657         * sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS.  Since libc is
658         using TLS we need memory appropriate to the number of namespaces.
659         * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
660         _dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
661         _dl_global_scope_alloc with _dl_ns element.  Define DL_NNS.
662         Adjust prototypes of _dl_map_object and member in rtld_global_ro.
663         * malloc/malloc.c: Include <dlfcn.h>.
664         * malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
665         never use brk.
666         * elf/Makefile: Add rules to build and run tst-dlmopen1 and
667         tst-dlmopen2.
668         * elf/tst-dlmopen1.c: New file.
669         * elf/tst-dlmopen1mod.c: New file.
670         * elf/tst-dlmopen2.c: New file.
671
672         * elf/dl-close.c: Improve reference counting by tracking direct loads.
673         * elf/dl-lookup.c (add_dependency): Likewise.
674         * elf/dl-open.c (dl_open_worker): Likewise.
675         * elf/rtld.c (dl_main): Likewise.
676
677 2004-09-09  GOTO Masanori  <gotom@debian.or.jp>
678
679         [BZ #77]
680         * elf/dl-close.c: Count down l_opencount to check not only for
681         l_reldeps, but also l_initfini.
682
683 2004-10-13  Ulrich Drepper  <drepper@redhat.com>
684
685         * elf/dl-close.c (_dl_close): Update bug reporting instructions.
686
687 2004-10-11  Ulrich Drepper  <drepper@redhat.com>
688
689         * timezone/asia: Update from tzdata2004e.
690         * timezone/southamerica: Likewise.
691         * timezone/private.h: Update from tzcode2004e.
692         * timezone/zdump.c: Likewise.
693
694         * stdio-common/vfscanf.c: Add support for reading localized
695         digits.  Patch mainly by Hamed Malek <hamed@bamdad.org>.
696
697         * resolv/res_init.c (res_thread_freeres): Reset _res.options.
698         [BZ #434]
699
700         * resolv/res_send.c (send_dg): Use nonblocking sockets.  Add
701         appropriate poll/select calls and restart operation if necessary.
702         Also handle EINTR.
703
704         * elf/tst-dlopenrpath.c (do_test): Enable code which was disabled
705         for debugging.
706
707         * elf/dl-sym.c (do_sym): Avoid using global variable.
708
709         * elf/dl-addr.c (_dl_addr): Really use match everywhere.
710
711 2004-10-09  Andreas Schwab  <schwab@suse.de>
712
713         * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as
714         lvalue.
715
716         * sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline
717         definitions.
718
719 2004-10-07  Andreas Schwab  <schwab@suse.de>
720
721         * misc/sys/uio.h: Change __vector to __iovec to avoid clash with
722         altivec.
723
724 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
725
726         * gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules".
727         * sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add
728         -msoft-float.
729         * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros.
730         (CALL_MCOUNT): Replace with a gas macro implementation.
731         (EALIGN): Delete PROF version.
732         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT.
733         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise.
734         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
735         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
736         * sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
737         * sysdeps/powerpc/powerpc64/memset.S: Likewise.
738         * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise.
739         * sysdeps/powerpc/powerpc64/strchr.S: Likewise.
740         * sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
741         * sysdeps/powerpc/powerpc64/strcpy.S: Likewise.
742         * sysdeps/powerpc/powerpc64/strlen.S: Likewise.
743         * sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
744         * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
745         * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
746         * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
747         * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
748         * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
749         * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise.
750         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
751         * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise.
752         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
753         * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
754         * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
755         * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
756         * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
757         * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
758         * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.
759
760         * sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point
761         past _mcount call.
762         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it.
763         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
764
765 2004-10-06  Ulrich Drepper  <drepper@redhat.com>
766
767         * resolv/res_mkquery.c (res_nmkquery): Reject randombits value if
768         low 16 bits are zero.
769
770 2004-10-06  Jakub Jelinek  <jakub@redhat.com>
771
772         * posix/tst-getaddrinfo2.c: Include stdlib.h and string.h.
773         (do_test): Use %p instead of 0x%08X to print a pointer.
774
775         * malloc/malloc.c: Include stdio-common/_itoa.h.
776
777 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
778
779         * elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf
780         for prelink message.
781
782 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
783
784         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h.
785         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
786
787 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
788
789         * grp/initgroups.c: Remove duplicate group IDs.
790         * grp/compat-initgroups.c: Likewise.
791         * nscd/initgrcache.c: Likewise.
792
793 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
794
795         * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L
796         for _SC_CPUTIME or _SC_THREAD_CPUTIME.
797
798         * nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus
799         -fpie if building PIE.
800         (CFLAGS-*.c): Use it.
801
802         * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
803         ($(objpfx)nscd): Add $(relro-LDFLAGS).
804
805         * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
806         (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
807         !HP_TIMING_AVAIL.
808
809 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
810
811         * nscd/Makefile (distribute): Remove TODO.
812         * nscd/TODO: Removed.
813
814 2004-10-04  Ulrich Drepper  <drepper@redhat.com>
815
816         * nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
817         defined and __ASSUME_NETLINK_SUPPORT is zero.
818         * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
819         -DNEED_NETLINK.
820
821         * malloc/mtrace.pl: Avoid calling location unless it is needed for
822         output.  Patch by Edward Bishop <binutils@gmail.com>.
823
824         * nscd/Makefile (CFLAGS-gai.c): Add -fpie.
825
826 2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
827
828         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
829         (clock_getcpuclockid): Add missing retval.
830
831         * sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo.
832
833 2004-10-04  Roland McGrath  <roland@redhat.com>
834
835         * include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
836         to rtld_errno.
837         * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
838         and don't define any other errno names.
839         * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
840         place of errno.
841         * sysdeps/unix/i386/sysdep.S: Likewise.
842         * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
843         * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
844         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
845         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
846         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
847         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
848         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
849         * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
850         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
851         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
852         * sysdeps/unix/x86_64/sysdep.S: Likewise.
853
854         * sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
855         attribute instead of `section'.
856
857 2004-10-04  Ulrich Drepper  <drepper@redhat.com>
858
859         * sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
860         * sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
861         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
862         testing code to...
863         * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here.  New file.
864         * sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
865         _SC_CPUTIME and _SC_THREAD_CPUTIME.
866
867         * nscd/connections.c (start_threads): Use sysconf in case
868         _POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero.
869
870         * nscd/Makefile (nscd-modules): Add gai.
871         * nscd/gai.c: New file.
872         * nscd/nscd.c: Remove getaddrinfo stub definition.
873
874         * assert/assert.h: Give up on using __builtin_expect.
875
876         * elf/rtld.c (dl_main): Only skip => output in ldd mode if both
877         strings are identical.
878
879 2004-03-18  Jakub Jelinek  <jakub@redhat.com>
880
881         * malloc/arena.c (aligned_heap_area): New variable.
882         (new_heap): If aligned_heap_area != NULL, attempt to use that
883         first.  If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes
884         aligned, remember the second half in aligned_heap_area.
885         (delete_heap): Clear aligned_heap_area if deleting the area right
886         before aligned_heap_area.
887
888 2004-10-03  Juerg Billeter  <j@bitron.ch>
889
890         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd
891         can't be used.  [BZ #424]
892
893 2004-10-03  Ulrich Drepper  <drepper@redhat.com>
894
895         Dynamically create new threads if necessary.
896         * nscd/connections.c (fd_ready): If no thread available for processing
897         the request, create a new one unless the limit is reached.
898         (start_threads): Check errors from pthread_create.
899         * nscd/nscd.h: Declare max_nthreads.
900         * nscd/nscd_conf.c: Parse max-nthreads entry.
901         * nscd/nscd.conf: Add max-threads entry.
902         * nscd/nscd_stat.c: Print current and maximum number of threads.
903
904         Implement paranoia mode.
905         * nscd/connections.c (nscd_init): Mark database and socket descriptors
906         as close on exec.
907         (restart): New function.
908         (restart_p): New function.
909         (nscd_run): Add missing descrement of nready in case readylist is
910         empty.
911         (main_loop_poll): Call restart_p and restart.
912         (main_loop_epoll): Likewise.
913         (begin_drop_privileges): Save original UID and GID.
914         * nscd/nscd.c: Define new variables paranoia, restart_time,
915         restart_interval, oldcwd, old_gid, old_uid.
916         (main): Disable paranoia mode if we are not forking.
917         (check_pid): When re-execing, the PID file contains the same PID as
918         the current process.  Do not fail in this case.
919         * nscd/nscd.conf: Add paranoia and restart-interval entries.
920         * nscd/nscd.h: Define RESTART_INTERVAL.  Declare new variables.
921         * nscd/nscd_conf.c: Parse paranoia and restart-internal configurations.
922         * nscd/nscd_stat.c: Print paranoia and restart-internal values.
923
924         * nscd/connections.c: Implement alternative loop for main thread
925         which uses epoll.
926         * sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
927         (CFLAGS-connections.c): Add -DHAVE_EPOLL.
928
929 2004-10-02  Ulrich Drepper  <drepper@redhat.com>
930
931         * nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables,
932         don't replace old content.
933
934         * nscd/connections.c: Rewrite handling of incoming connections.  All
935         are handled by one thread which then hands off the descriptors for the
936         real work to the worker threads.
937         * nscd/Makefile: Link nscd with librt.
938
939         * nscd/selinux.c: Pretty printing.
940
941         * nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to
942         output.  Let syslog do the formatting if debug_level == 0.
943
944         * nscd/nscd_helper.c (get_mapping): No need to check timestamp if
945         nscd_certainly_running is nonzero.
946
947 2004-10-02  Simon Josefsson  <jas@extundo.com>
948
949         [BZ #420]
950         * sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to
951         make the file usable inside gnulib.
952
953 2004-10-01  Ulrich Drepper  <drepper@redhat.com>
954
955         * malloc/malloc.c (public_vALLOc): Add missing use of hooks.
956         (public_pVALLOc): Likewise.
957
958         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
959         group the caller provided unless there is a real problem.
960
961         * posix/bug-glob1.c (prepare): Fix creation of symlink.
962
963 2004-09-30  Ulrich Drepper  <drepper@redhat.com>
964
965         * posix/Makefile: Add rules to build and run bug-glob1.
966         * posix/bug-glob1.c: New file.
967
968         * iconv/iconv_prog.c (main): Print progress information to stderr.
969
970         * nscd/nscd.c (termination_handler): Reset timestamp so that
971         clients immediately stop using the database.
972
973         * nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last
974         parameter.
975         (__nscd_drop_map_ref): Change second parameter to be a reference to
976         a variable.  Update variable when cycle count changed.
977         * nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too.
978         * nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref.  Reinitialize
979         all variables and avoid memory leak in case of retries.
980         * nscd/nscd_getgr_r.c: Likewise.
981         * nscd/nscd_gethst_r.c: Likewise.
982         * nscd/nscd_getpw_r.c: Likewise.
983         * nscd/nscd_initgroups.c: Likewise.
984
985         * nscd/nscd.h: Add declaration of addinitgroups and
986         readdinitgroups.
987
988 2004-09-30  Andreas Jaeger  <aj@suse.de>
989
990         * nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie.
991         (CFLAGS-initgrcache.c): Set to -fexceptions.
992
993 2004-09-29  Ulrich Drepper  <drepper@redhat.com>
994
995         * sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust
996         readdir results; for symlinks or files of unknown type check using
997         stat whether the file exists.
998
999         * posix/tst-gnuglob.c (find_file): Handle leading "./".  Fix
1000         recognition of files.
1001
1002 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
1003
1004         * time/tzfile.c (tzfile_mtime): New variable.
1005         (__tzfile_read): Reread the file if mtime is different.
1006
1007 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
1008
1009         * sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim):
1010         Handle +inf/+inf.
1011         * sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
1012         * sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
1013
1014 2004-09-29  Ulrich Drepper  <drepper@redhat.com>
1015
1016         * nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for
1017         testing result of __nscd_get_map_ref.
1018
1019 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
1020
1021         * sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf.
1022         * sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise.
1023         * sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise.
1024
1025 004-09-29  Ulrich Drepper  <drepper@redhat.com>
1026
1027         * grp/initgroups.c: Move compat_call implementation...
1028         * grp/compat-initgroups.c: ...to here.  New file.
1029         * grp/Makefile (distribute): Add compat-initgroups.c.
1030         (CFLAGS-initgroups.c): Add -DUSE_NSCD=1.
1031         * mscd/initgrcache.c: New file.
1032         * nscd/nscd_initgroups.c: New file.
1033         * nscd/Makefile (routines): Add nscd_initgroups.
1034         (nscd-modules): Add initgrcache.
1035         * nscd/cache.c (prune_cache): Add support for INITGROUPS entries.
1036         * nscd/connections.c: Handle INITGROUPS requests.
1037         * nscd/nscd-client.h: Define INITGROUPS, initgr_response_header.
1038         Add initgrdata element to struct datahead.  Fix typo in comment.
1039         * nscd/nscd_proto.h: Declare __nscd_getgrouplist.  Fix parameter
1040         type in __nscd_getgrgrid_r.
1041         * nscd/selinux.c (perms): Add INITGROUPS entry.
1042
1043         * nscd/nscd_getai.c: No need to include <sys/mman.h>.
1044
1045         * sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without
1046         assigned addresses.
1047         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1048         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
1049         * sunrpc/clnt_udp.c (is_network_up): Likewise.
1050
1051         * nscd/nscd.c: Define getaddrinfo hidden so that it is never found
1052         outside.
1053
1054         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags):
1055         Renamed from si_flags due to conflict with si_flags from <elf.h>.
1056
1057 2004-09-28  Ulrich Drepper  <drepper@redhat.com>
1058
1059         * nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
1060         of failing __nscd_get_map_ref.  Fix a few typos.
1061
1062         * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure
1063         SIGSETXID is not blocked.
1064         * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise.
1065         * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
1066         * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
1067         * sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID.
1068
1069         * sunrpc/get_myaddr.c (get_myaddress): Fix test for failing
1070         getifaddrs call.
1071         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1072         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
1073         * sunrpc/Makefile (xtests): Add tst-getmyaddr.
1074         * sunrpc/tst-getmyaddr.c: New file.
1075
1076         * malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to
1077         disable all checking.
1078
1079         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add
1080         support to get this value.
1081
1082 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
1083
1084         * io/utime.h (utime): Allow second argument to be NULL.
1085
1086 2004-09-28  Ulrich Drepper  <drepper@redhat.com>
1087
1088         * sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP
1089         address and AI_CANONNAME is set, return copy of NAME as ai_canonname.
1090
1091 2004-09-27  Andreas Jaeger  <aj@suse.de>
1092
1093         * sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace
1094         static inline by auto inline, add always_inline attribute.
1095         (elf_machine_rel): Likewise.
1096         (elf_machine_rela): Likewise.
1097         (elf_machine_lazy_rel): Likewise.
1098         (elf_machine_lazy_rela): Likewise.
1099         (elf_machine_rel_relative): Likewise.
1100
1101 2004-09-27  Ulrich Drepper  <drepper@redhat.com>
1102
1103         * sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases.
1104         * sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t.
1105         * sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER.
1106         Otherwise isvectordef will loop infinitely if typedef hyper int64_t
1107         is seen.
1108         (unsigned_dec): Use "u_quad_t" for similar reasons.
1109         * sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t.
1110
1111 2004-09-27  Roland McGrath  <roland@redhat.com>
1112
1113         * sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit
1114         twiddling in last change.
1115
1116         * posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED.
1117
1118         [BZ #409]
1119         * posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
1120         * stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
1121         * sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
1122         [WCONTINUED] (__WIFCONTINUED): New macro.
1123         (__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
1124         branches.
1125
1126         * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to
1127         all three syscall uses, not just one!
1128
1129 2004-09-26  Richard Henderson  <rth@redhat.com>
1130
1131         * sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue.
1132         * sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points
1133         to 16 byte boundaries.
1134
1135 2004-09-26  Ulrich Drepper  <drepper@redhat.com>
1136
1137         * elf/readlib.c (process_file): Before complaining about too-short
1138         file, check that it potentially be an ELF file.  Also complain about
1139         empty files.  [BZ #151].
1140
1141         * scripts/test-installation.pl: Fix ld.so recognition for new
1142         LD_TRACE_LOADED_OBJECTS output format.
1143         Patch by <jsberg04+computing.glibc@ftml.net>  [BZ #407].
1144
1145         * elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of
1146         environment.  [BZ #384]
1147
1148         * sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl.
1149         * sunrpc/get_myaddr.c (get_myaddress): Likewise.
1150         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1151         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.  Change interface
1152         to avoid buffer overrun and remove now useless parameters.
1153         (clnt_broadcast): Adjust caller.  [BZ #381].
1154
1155         * sysdeps/generic/s_fdim.c: Handle +inf/+inf
1156         * sysdeps/generic/s_fdimf.c: Likewise.
1157         * sysdeps/generic/s_fdiml.c: Likewise.
1158         * sysdeps/i386/i686/fpu/s_fdim.S: Likewise.
1159         * sysdeps/i386/i686/fpu/s_fdimf.S: Likewise.
1160         * sysdeps/i386/i686/fpu/s_fdiml.S: Likewise.
1161         * sysdeps/powerpc/fpu/s_fdim.c: Likewise.
1162         * sysdeps/powerpc/fpu/s_fdimf.c: Likewise.
1163         * sysdeps/x86_64/fpu/s_fdiml.S: Likewise.
1164         * math/libm-test.inc (fdim_test): Add test case.  [BZ #376].
1165
1166         * sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE
1167         for compilers without __GLIBC_HAVE_LONG_LONG.  [BZ #362]
1168
1169         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
1170         requirement on socktype and protocol.
1171         (gaih_inet): If numeric port number is given, return records for all
1172         possible socket types.
1173         * posix/tst-getaddrinfo2.c: New file.
1174         * posix/Makefile (tests): Add tst-getaddrinfo2.  [BZ #358]
1175
1176 2004-09-25  Ulrich Drepper  <drepper@redhat.com>
1177
1178         * locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE
1179         data where _nl_value_type_LC_CTYPE does not contain the type
1180         information.  Add range checks.
1181         Reported by John Lumby <johnlumby@hotmail.com> [BZ #356].
1182
1183         * libio/vasprintf.c (_IO_vasprintf): Fix condition to decide
1184         whether to realloc or not.
1185         Reported by Pavel Kankovsky <peak@argo.troja.mff.cuni.cz> [BZ #346].
1186
1187         * intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
1188         * intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
1189         decided < 0.
1190         * intl/finddomain.c (_nl_find_domain): Likewise.
1191         * intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
1192         are done.  First set to -1 to signal initialization is ongoing.
1193         Protect against concurrent callers with recursive lock.
1194         * intl/finddomain.c (_nl_find_domain): Protect calls to
1195         _nl_make_l10nflist.  [BZ #322]
1196
1197         * sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of
1198         source address fails, initialized source_addr_len field so that
1199         duplicate address recognition does not copy junk.
1200
1201 2004-09-25  Jakub Jelinek  <jakub@redhat.com>
1202
1203         * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second
1204         result declaration.
1205
1206 2004-09-22  Andreas Schwab  <schwab@suse.de>
1207
1208         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace.
1209
1210 2004-09-24  Ulrich Drepper  <drepper@redhat.com>
1211
1212         * misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
1213         opened.
1214
1215         * nis/ypclnt.c (do_ypcall): Add one missing unlock.  Simplify the
1216         code a bit.
1217
1218         * misc/daemon.c (daemon): Define errno in case /dev/null is not
1219         the correct device.
1220
1221         * nis/ypclnt.c (yp_bind_file): Optimize a bit.  Minimal cleanups.
1222
1223 2004-09-23  Andreas Jaeger  <aj@suse.de>
1224
1225         * locale/weight.h (findidx): Remove static, it's not supported
1226         anymore with GCC 4.0 in a block scope.
1227         * locale/weightwc.h (findidx): Likewise.
1228         * posix/regcomp.c (seek_collating_symbol_entry): Likewise.
1229         (lookup_collation_sequence_value): Likewise.
1230         (build_range_exp): Likewise.
1231         (build_collating_symbol): Likewise.
1232         * iconv/iconvconfig.c (write_output): Likewise.
1233         * elf/do-rel.h (elf_dynamic_do_rel): Likewise.
1234
1235         * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove
1236         static, add always_inline attribute.
1237         (elf_machine_rela): Likewise.
1238         (elf_machine_lazy_rel): Likewise.
1239
1240         * elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend
1241         on !RESOLVE so that it's not defined in local scope.
1242
1243 2004-09-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1244
1245         * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define.
1246
1247 2004-09-23  Thorsten Kukuk  <kukuk@suse.de>
1248
1249         * sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag
1250         and BLK* ioctls with linux kernel headers.
1251
1252 2004-09-23  Ulrich Drepper  <drepper@redhat.com>
1253
1254         * sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
1255         * elf/dl-object.c (_dl_new_object): Add new parameter mode.  If mode
1256         has RTLD_DEEPBIND set add local searchlist before global scope.
1257         * sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
1258         * elf/rtld.c: Adjust callers of _dl_new_object.
1259         * elf/dl-load.c: Likewise.
1260         (_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
1261         for DF_SYMBOLIC.
1262         * elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
1263         _dl_map_object_deps.
1264         * elf/tst-deep1.c: New file.
1265         * elf/tst-deep1mod1.c: New file.
1266         * elf/tst-deep1mod2.c: New file.
1267         * elf/tst-deep1mod3.c: New file.
1268         * elf/Makefile: Add rules to build and run new tests.
1269
1270         * elf/dl-deps.c: Pretty printing.
1271
1272 2004-09-23  Jakub Jelinek  <jakub@redhat.com>
1273
1274         * sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name
1275         argument to numbers from syscall names.
1276         (INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr.
1277         (INTERNAL_SYSCALL_NCS): Renamed from...
1278         (INTERNAL_SYSCALL_1): ... this.  Use INTERNAL_SYSCALL_NCS.
1279         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
1280         (INTERNAL_SYSCALL_NCS): Define.
1281         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
1282         (INTERNAL_SYSCALL_NCS): Likewise.
1283         * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]):
1284         Change name argument to numbers from syscall names.
1285         (INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust.
1286         (INTERNAL_SYSCALL_NCS): Define.
1287
1288 2004-09-22  Ulrich Drepper  <drepper@redhat.com>
1289
1290         * malloc/malloc.c (malloc_printerr): Use syslog if writev failed.
1291
1292         * string/string.h: Add __nonnull annotations.
1293         * stdlib/stdlib.h: Likewise.
1294
1295 2004-09-20  H.J. Lu  <hongjiu.lu@intel.com>
1296
1297         * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL):
1298         Renamed to ...
1299         (DO_INLINE_SYSCALL_NCS): This.
1300         (DO_INLINE_SYSCALL): New.
1301         (INLINE_SYSCALL): Updated.
1302         (INTERNAL_SYSCALL_NCS): Updated.
1303
1304 2004-09-21  Ulrich Drepper  <drepper@redhat.com>
1305
1306         * elf/sprof.c (load_shobj): Add support for reading symbol table
1307         from debuginfo file.
1308
1309         * elf/ldd.bash.in: Fix syntax errors.
1310
1311 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
1312
1313         * sysdeps/unix/sysv/linux/dl-execstack.c
1314         (_dl_make_stack_executable): Remove some duplication.
1315
1316         * nscd/nscd.c (options): Mark S option as hidden.
1317         (parse_opt): When S option is used, print warning message.
1318         * nscd/grpcache.c (adgrptbyX): Don't handle secure mode.
1319         * nscd/hstcache.c (addhstbyX): Don't handle secure mode.
1320         * nscd/aicache.c (addhstaiX): Don't handle secure mode.
1321         * nscd/pwdcache.c (addpwbyX): Don't handle secure mode.
1322
1323 2004-09-20  Roland McGrath  <roland@frob.com>
1324
1325         * elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN
1326         in initializer #if defined.
1327
1328 2004-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1329
1330         [BZ #391]
1331         * stdlib/getsubopt.c: Merge fixes from gnulib.
1332         (__strchrnul) [!_LIBC]: Define and include "strchrnul.c".
1333         (getsubopt): Use prototypes, not K&R style.
1334         Fix bug: memcmp(A,B,N) was being invoked on a memory block B
1335         whose size might be smaller than N.  Use strncmp to avoid the bug.
1336
1337 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
1338
1339         * configure.in: If selinux has not explictly been requested, don't
1340         comment on it missing.
1341
1342         * elf/dl-load.c: Define __stack_prot.
1343         * sysdeps/unix/sysv/linux/dl-execstack.c: Don't define
1344         __stack_prot here, just declare it.
1345
1346 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
1347
1348         * configure.in (libc_cv_z_relro): Only set to yes if linker script
1349         contains DATA_SEGMENT_RELRO_END.
1350
1351 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
1352
1353         * elf/dl-load.c (_dl_map_object_from_fd): Add some error checking.
1354         Reorder code slightly.
1355         * elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH]
1356         is non-null, _dl_setup_hash will do that.
1357
1358 2004-09-19  Ulrich Drepper  <drepper@redhat.com>
1359
1360         * sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call
1361         callback to set IDs in all other threads as well.
1362         * sysdeps/unix/sysv/linux/seteuid.c: Likewise.
1363         * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
1364         * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
1365         * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
1366         * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
1367         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
1368         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
1369         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
1370         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
1371         * sysdeps/unix/sysv/linux/setuid.c: New file.
1372         * sysdeps/unix/sysv/linux/setgid.c: New file.
1373         * sysdeps/unix/sysv/linux/setreuid.c: New file.
1374         * sysdeps/unix/sysv/linux/setregid.c: New file.
1375         * sysdeps/unix/sysv/linux/setresuid.c: New file.
1376         * sysdeps/unix/sysv/linux/setresgid.c: New file.
1377         * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS.
1378         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
1379         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
1380         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
1381         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
1382         * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version.
1383         * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
1384         * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
1385         * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
1386         * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid
1387         and setresuid.
1388         * nscd/aicache.c: Use pthread_seteuid_np instead of seteuid.
1389         * nscd/grpcache.c: Likewise.
1390         * nscd/hstcache.c: Likewise.
1391         * nscd/pwdcache.c: Likewise.
1392
1393         * resolv/res_mkquery.c (res_nmkquery): Fix typo.
1394
1395 2004-09-18  Ulrich Drepper  <drepper@redhat.com>
1396
1397         * sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag
1398         from memory.
1399         * elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to
1400         __stack_flags.
1401
1402         * sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
1403         gethostbyname3_r if we are not looking for the canonical name.
1404
1405         * resolv/res_mkquery.c (res_nmkquery): Randomize request ID every
1406         time.
1407
1408 2004-09-18  Roland McGrath  <roland@redhat.com>
1409
1410         * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to
1411         system call.
1412
1413 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
1414
1415         * include/link.h (struct link_map): Add l_used element.
1416         * sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
1417         * elf/rtld.c (process_dl_debug): Recognize unused.
1418         (dl_main): When unused debug flag is set check for unused direct
1419         dependencies.
1420         When printing dependencies and SONAME starts with /, omit the SONAME =>
1421         part.
1422         * elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
1423         symbol has been found as used.
1424         * elf/ldd.bash.in: Add -u option.
1425
1426 2004-09-18  Jakub Jelinek  <jakub@redhat.com>
1427
1428         * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
1429         Do nothing if __NR_set_tid_address is not defined.  [BZ #390]
1430
1431 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
1432
1433         * sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function
1434         in case it is available.
1435
1436 2004-09-17  Jakub Jelinek  <jakub@redhat.com>
1437
1438         * nscd/nscd.c (parse_opt): Write arg string instead of (void *)
1439         key to the socket.
1440
1441 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
1442
1443         * misc/sys/cdefs.h: Define __nonnull using nonnull function attribute
1444         for gcc 3.3 and higher.
1445         * io/fcntl.h: Add __nonnull where appropriate.
1446         * io/ftw.h: Likewise.
1447         * io/utime.h: Likewise.
1448         * io/sys/poll.h: Likewise.
1449         * io/sys/sendfile.h: Likewise.
1450         * io/sys/stat.h: Likewise.
1451         * io/sys/statfs.h: Likewise.
1452         * io/sys/statvfs.h: Likewise.
1453         * posix/unistd.h: Likewise.
1454         * catgets/nl_types.h: Likewise.
1455         * crypt/crypt.h: Likewise.
1456         * debug/execinfo.h: Likewise.
1457
1458 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
1459
1460         * posix/glob.h: Remove cruft to make header usable outside glibc.
1461         The maintenance headache is too big.
1462
1463         * configure.in: Add test for required SELinux features.
1464         * config.make.in: Add have-selinux entry.
1465         * config.h.in: Add HAVE_SELINUX entry.
1466         * nscd/Makefile (nscd-modules): Add selinux.
1467         (CFLAGS-selinux.c): Add -fpie.
1468         Define selinux-LIBS and use in link line.
1469         * nscd/connections.c (handle_request): Check access SELinux permissions
1470         before processing request.
1471         * nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread.
1472         * nscd/nscd_stat.c: Transmit and print AVC statistics.
1473         * nscd/selinux.c: New file.
1474         * nscd/selinux.h: New file.
1475         Patch mostly by Matthew Rickard <mjricka@epoch.ncsc.mil>.
1476
1477 2004-09-16  Jakub Jelinek  <jakub@redhat.com>
1478
1479         * nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap
1480         instead of munmap.
1481
1482         * nscd/Makefile (CFLAGS-aicache.c): Set to -fpie.
1483
1484 2004-09-16  Thorsten Kukuk  <kukuk@suse.de>
1485
1486         * sysdeps/posix/getaddrinfo.c (gaih_inet): Check
1487         __nss_not_use_nscd_hosts variable if nscd should be used or not.
1488
1489 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
1490
1491         * nscd/nscd_proto.h: Define NSS_NSCD_RETRY.
1492         Add __nscd_getai prototype.
1493         * nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY.
1494         * nscd/nscd-client.h: Remove __nscd_getai prototype.
1495         * nscd/nscd_getai.c: Include nscd_proto.h.
1496
1497         * elf/ldd.bash.in: Add support for SELinux environments.
1498         Patch by Stephen Smalley <sds@epoch.ncsc.mil>.
1499
1500 2004-09-16  Roland McGrath  <roland@redhat.com>
1501
1502         * configure.in (--with-headers): Let argument contain a : separated
1503         list of directories to use, not just one.
1504         * configure: Regenerated.
1505
1506 2004-09-15  Richard Henderson  <rth@redhat.com>
1507
1508         * sysdeps/alpha/fpu/libm-test-ulps: Update.
1509         * scripts/data/c++-types-alpha-linux-gnu.data: New file.
1510
1511 2004-09-15  Ulrich Drepper  <drepper@redhat.com>
1512
1513         * nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also
1514         get ttl and canonical name.  Use these two values.
1515         * resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns.
1516         * resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters.
1517         If nonnull fill with TTL and pointer to canonical name respectively.
1518         (_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r.
1519         (_nss_dns_gethostbyname2_r): Just wrapper around
1520         _nss_dns_gethostbyname3_r.
1521         (_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r.
1522         Take two new parameters which as passed to getanswer_r.
1523
1524         * nscd/Makefile (rountines): Add nscd_getai.
1525         (nscd-modules): Add aicache.
1526         * nscd/aicache.c: New file.
1527         * nscd/nscd_getai.c: New file.
1528         * nscd/cache.c (prune_cache): Handle GETAI request type.
1529         * nscd/connections.c: Add GETAI support in request handling.
1530         * nscd/nscd-client.h (request_type): Add GETAI.
1531         Define ai_response_header and struct nscd_ai_result types.
1532         (struct datahead): Add aidata field.
1533         Declare __nscd_getai.
1534         * nscd/nscd.c: Add getaddrinfo definition to catch problems.
1535         * nscd/nscd.h: Declare addhstai and readdhstai.
1536
1537         * sysdeps/posix/getaddrinfo.c: Add support for using cached results.
1538         * posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD.
1539
1540         * nscd/nscd-client.h  (struct datahead): Use uint8_t instead of bool.
1541
1542 2004-09-14  Ulrich Drepper  <drepper@redhat.com>
1543
1544         * misc/sys/cdefs.h: Remove debugging text from __P and __PMT.
1545
1546 2004-09-13  Ulrich Drepper  <drepper@redhat.com>
1547
1548         * misc/sys/cdefs.h: Restore old definition of __P.
1549         * csu/munch.awk: Remove uses of __P and __PMT.
1550         * gmon/gmon.c: Likewise.
1551         * hesiod/hesiod.h: Likewise.
1552         * include/stdio.h: Likewise.
1553         * io/fts.c: Likewise.
1554         * libio/genops.c: Likewise.
1555         * libio/libioP.h: Likewise.
1556         * libio/fileops.c: Likewise.
1557         * libio/iolibio.h: Likewise.
1558         * libio/libio.h: Likewise.
1559         * libio/memstream.c: Likewise.
1560         * libio/oldfileops.c: Likewise.
1561         * libio/oldstdfiles.c: Likewise.
1562         * libio/iopopen.c: Likewise.
1563         * libio/vsnprintf.c: Likewise.
1564         * libio/vswprintf.c: Likewise.
1565         * libio/wgenops.c: Likewise.
1566         * libio/oldiopopen.c: Likewise.
1567         * locale/programs/xmalloc.c: Likewise.
1568         * locale/programs/xstrdup.c: Likewise.
1569         * malloc/mtrace.c: Likewise.
1570         * misc/getttyent.c: Likewise.
1571         * misc/getusershell.c: Likewise.
1572         * nis/rpcsvc/ypupd.h: Likewise.
1573         * posix/fnmatch.h: Likewise.
1574         * posix/glob.h: Likewise.
1575         * resolv/arpa/nameser.h: Likewise.
1576         * resolv/gethnamaddr.c: Likewise.
1577         * resolv/resolv.h: Likewise.
1578         * resolv/inet_net_ntop.c: Likewise.
1579         * resolv/inet_net_pton.c: Likewise.
1580         * resolv/res_init.c: Likewise.
1581         * resolv/nss_dns/dns-network.c: Likewise.
1582         * stdio-common/vfprintf.c: Likewise.
1583         * stdio-common/reg-printf.c: Likewise.
1584         * sysdeps/generic/chflags.c: Likewise.
1585         * sysdeps/generic/fchflags.c: Likewise.
1586         * sysdeps/generic/glob.c: Likewise.
1587         * sysdeps/generic/printf_fphex.c: Likewise.
1588         * sysdeps/generic/memcmp.c: Likewise.
1589         * sysdeps/generic/memcopy.h: Likewise.
1590         * sysdeps/generic/morecore.c: Likewise.
1591         * sysdeps/generic/sstk.c: Likewise.
1592         * sysdeps/posix/sigvec.c: Likewise.
1593         * sysdeps/posix/ttyname_r.c: Likewise.
1594         * sysdeps/standalone/arm/bits/errno.h: Likewise.
1595         * sysdeps/standalone/standalone.h: Likewise.
1596         * sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
1597         * sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
1598         * sysdeps/unix/arm/start.c: Likewise.
1599         * sysdeps/unix/bsd/sigaction.c: Likewise.
1600         * sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
1601         * sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
1602         * sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
1603         * sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
1604         * sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
1605         * sysdeps/unix/sparc/start.c: Likewise.
1606         * sysdeps/unix/sysv/getdents.c: Likewise.
1607         * sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
1608         * sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
1609         * sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
1610         * sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
1611         * sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
1612         * sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
1613         * sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
1614         * sysdeps/unix/sysv/irix4/start.c: Likewise.
1615         * sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
1616         * sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
1617         * sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
1618         * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
1619         * sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
1620         * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
1621         * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
1622         * sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
1623         * sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
1624         * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
1625         * sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
1626         * sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
1627         * time/tzset.c: Likewise.
1628         * time/strftime_l.c: Likewise.
1629         * time/strptime_l.c: Likewise.
1630         * crypt/md5.h: Likewise.
1631
1632 2004-09-13  Andreas Jaeger  <aj@suse.de>
1633
1634         * configure.in: Support GCC 4.x.
1635         * configure: Regenerated.
1636
1637 2004-09-13  Thorsten Kukuk  <kukuk@suse.de>
1638
1639         * nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services.
1640
1641         * nscd/nscd.init: Fix path to socket.
1642
1643 2004-09-12  Ulrich Drepper  <drepper@redhat.com>
1644
1645         * nscd/nscd_helper.c (get_mapping): Correctly check cmsg length.
1646         Avoid file descriptor leak in case of size mismatch.
1647
1648         * nscd/nscd-client.h: Fix database structure layout for biarch.
1649         * nscd/mem.c (gc): Add casts to avoid warnings.
1650
1651         * nss/getent.c: Don't preconstruct help message.  Do it only when
1652         needed.
1653
1654         * locale/programs/locale.c: Simplify help message printing.
1655
1656 2004-09-12  Roland McGrath  <roland@frob.com>
1657
1658         * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls
1659         missing in last change.
1660
1661 2004-09-11  Thorsten Kukuk  <kukuk@suse.de>
1662
1663         * nis/nss_compat/compat-grp.c: Check that buflen is greater zero
1664         before writing data into the buffer with negative offset.
1665         * nis/nss_compat/compat-initgroups.c: Likewise.
1666         * nis/nss_compat/compat-pwd.c: Likewise.
1667         * nis/nss_compat/compat-spwd.c Likewise.
1668
1669 2004-09-12  Ulrich Drepper  <drepper@redhat.com>
1670
1671         * misc/syslog.c (vsyslog): Fix copying of PID in case of
1672         out-of-memory situation.  [BZ #365].
1673
1674         * sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
1675         __THROW in inline function definitions.
1676
1677         * posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK.
1678         * posix/spawnattr_setflags.c: Check whether any unknown bit is set
1679         in FLAGS parameter and fail if this is the case.
1680         * sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is
1681         set.
1682
1683         * nscd/pwdcache.c (cache_addpw): Sync also negative results to disk.
1684         * nscd/grpcache.c (cache_addgr): Likewise.
1685         * nscd/hstcache.c (cache_addhst): Likewise.
1686
1687 2004-09-11  Roland McGrath  <roland@frob.com>
1688
1689         * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]:
1690         Set _dl_phdr and _dl_phnum.
1691         (init1): When bootstrap task, bail early and never examine *D.
1692
1693 2004-09-11  Alfred M. Szmidt  <ams@kemisten.nu>
1694
1695         * sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]:
1696         Cast THR, SEL and DESC to `void'.
1697
1698 2004-09-11  Ulrich Drepper  <drepper@redhat.com>
1699
1700         * nscd/connections.c (nscd_run): Call setup_thread only for enabled
1701         databases.
1702
1703         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr.
1704
1705 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
1706
1707         * nscd/nscd.c (pagesize_m1): New variable.
1708         (main): Initialize it.
1709         * nscd/nscd.h: Declare pagesize_m1.
1710         * nscd/hstcache.c: Pass correctly aligned address to msync.
1711         * nscd/grpcache.c: Likewise.
1712         * nscd/pwdcache.c: Likewise.
1713
1714 2004-09-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1715
1716         * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement
1717         __nwaiters.  If pthread_cond_destroy has been called and this is
1718         the last waiter, signal pthread_cond_destroy caller and avoid
1719         using the pthread_cond_t structure after unlock.
1720         * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
1721
1722 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
1723
1724         * sysdeps/unix/sysv/linux/kernel-features.h: Don't define
1725         __ASSUME_CLONE_STOPPED.
1726
1727 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
1728
1729         * misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and
1730         __asm__ for C++.  [BZ #377]
1731
1732 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
1733
1734         * nscd/nscd_stat.c: Improve output by also printing .shared and
1735         .persistent.
1736
1737         * nscd/connections.c: Allow cache sharing to be really disabled.
1738
1739 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
1740
1741         * malloc/malloc.c (_int_free): Only do arena boundary check for
1742         contiguous arenas.
1743
1744 2004-09-10  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1745
1746         * stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken
1747         instruct operands.
1748         * elf/elf.h: Add R_M32R_* relocs.
1749
1750 2004-09-09  Ulrich Drepper  <drepper@redhat.com>
1751
1752         * misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2
1753         seems not to support the nothrow attribute.  Use it only for gcc
1754         3.3 and higher.
1755
1756         * malloc/hooks.c (top_check): Print top chunk corruption as normal
1757         error message.
1758
1759         * malloc/malloc.c (malloc_printerr): Don't make informational
1760         message look like error message.
1761
1762 2004-09-09  Andreas Jaeger  <aj@suse.de>
1763
1764         * nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie.
1765
1766 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1767
1768         * sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed.
1769
1770         * malloc/malloc.c (_int_free): Add inexpensive double free and
1771         memory corruption tests.
1772         (malloc_printf_nc): Renamed to malloc_printerr.  Second parameter
1773         is no format string anymore.  Don't use stdio.  Adjust all callers.
1774         * malloc/hooks.c: Adjust malloc_printf_nc callers.
1775
1776 2004-09-08  Roland McGrath  <roland@redhat.com>
1777
1778         * malloc/mcheck.c: Don't use __P.
1779         Use prototypes definitions for static functions.
1780
1781 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1782
1783         * sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW.
1784
1785 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1786             Jakub Jelinek  <jakub@redhat.com>
1787
1788         * nscd/nscd-client.h: Add a few #includes.
1789
1790         * nscd/Makefile (nscd-modules): Add nscd_setup_thread.
1791         * nscd/connections.c (nscd_run): Call setup_thread for maintenance
1792         threads.
1793         * nscd/nscd-client.h (struct database_pers_head): Add
1794         nscd_certainly_running field.
1795         * nscd/nscd.h: Declare setup_thread.
1796         * nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
1797         nscd_certainly_running is nonzero.
1798         * sysdeps/generic/nscd_setup_thread.c: New file.
1799         * sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.
1800
1801 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1802
1803         * nscd/connections.c: Implement r/o sharing of nscd's cache with client
1804         processes via shared memory.
1805         * nscd/nscd-client.h: Likewise.
1806         * nscd/nscd.h: Likewise.
1807         * nscd/nscd_conf.c: Likewise.
1808         * nscd/nscd_getgr_r.c: Likewise.
1809         * nscd/nscd_getpw_r.c: Likewise.
1810         * nscd/nscd_gethst_r.c: Likewise.
1811         * nscd/nscd.conf: Add new config parameters.
1812         * nscd/Makefile (aux): Add nscd_helper.
1813         * nscd/nscd_helper.c: New file.
1814         * nscd/mem.c (gc): Indicate beginning and end of the gc cycle.
1815
1816         * nscd/hstcache.c: Simplify a lot.  We cache only the request itself,
1817         no derived information.
1818         * connections.c (nscd_init): Fix bug in testing size of the persistent.
1819
1820         * nis/Makefile (aux): Add nis_hash.
1821         * nis/nis_hash.c: New file.  Split out from nis_util.c.
1822         * nis/nis_util.c: Move __nis_hash code in separate file.
1823
1824         * csu/tst-atomic.c: Improve atomic_increment_val test which would
1825         not have found a ppc bug.
1826
1827         * sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes.
1828
1829         * malloc/arena.c: Remove __MALLOC_P uses.
1830         * malloc/malloc.c: Likewise.
1831
1832         * malloc/mtrace.c: Remove __P uses.
1833         * malloc/mcheck-init.c: Likewise.
1834
1835 2004-09-07  Jakub Jelinek  <jakub@redhat.com>
1836
1837         * sysdeps/powerpc/powerpc64/configure.in: New file.
1838         * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add.
1839         * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove.
1840         * sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
1841         (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX,
1842         BODY_PREFIX): Define.
1843         (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support
1844         HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols,
1845         USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries.
1846         * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h.
1847         (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros.
1848
1849 2004-09-07  Ulrich Drepper  <drepper@redhat.com>
1850
1851         * malloc/malloc.h: Don't define __THROW if it is already defined.
1852
1853         * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define.
1854         (atomic_decrement): Define.
1855
1856         * sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and
1857         atomic_decrement_val.
1858         * sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise.
1859         * sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise.
1860
1861         * csu/tst-atomic.c (do_test): Add tests of atomic_increment_val
1862         and atomic_decrement_val.
1863
1864         * include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
1865         and atomic_delay is not already defined.
1866         * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
1867         * sysdeps/x86_64/bits/atomic.h: Likewise.
1868
1869         * miscd/sys/cdefs.h (__NTH): New macro.
1870         (__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
1871         (__REDIRECT_NTH): New macro.
1872         * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
1873         * ctype/ctype.h: Likewise.
1874         * dirent/dirent.h: Likewise.
1875         * io/fcntl.h: Likewise.
1876         * io/sys/sendfile.h: Likewise.
1877         * io/sys/stat.h: Likewise.
1878         * io/sys/statfs.h: Likewise.
1879         * io/sys/statvfs.h: Likewise.
1880         * libio/bits/stdio.h: Likewise.
1881         * misc/sys/mman.h: Likewise.
1882         * posix/unistd.h: Likewise.
1883         * resource/sys/resource.h: Likewise.
1884         * rt/aio.h: Likewise.
1885         * signal/signal.h: Likewise.
1886         * stdlib/stdlib.h: Likewise.
1887         * string/argz.h: Likewise.
1888         * string/string.h: Likewise.
1889         * sysdeps/generic/inttypes.h: Likewise.
1890         * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
1891         * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
1892         * sysdeps/s390/fpu/bits/mathinline.h: Likewise.
1893         * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
1894         * sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
1895         * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
1896         * wcsmbs/wchar.h: Likewise.
1897
1898         * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.
1899
1900         * resolv/gethnamaddr.c (getanswer): Remove __P use in variable
1901         definition.
1902
1903         * io/sys/poll.h: Remove __THROW from poll prototype, it's a
1904         cancellation point.
1905
1906         * io/fts.c (fts_open): Remove uses of __P.
1907
1908         * include/stdlib.h: No need to use __THROW in this header.
1909
1910 2004-09-06  Roland McGrath  <roland@frob.com>
1911
1912         * sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD
1913         validity, since __assert_fail gets to here anyway.  Just fail.
1914
1915 2004-09-06  Ulrich Drepper  <drepper@redhat.com>
1916
1917         * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with
1918         AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6
1919         addresses.
1920
1921 2004-09-05  Richard Henderson  <rth@redhat.com>
1922
1923         * sysdeps/alpha/fpu/fraiseexcpt.c: Remove file.
1924         * sysdeps/unix/sysv/linux/kernel-features.h
1925         (__ASSUME_IEEE_RAISE_EXCEPTION): New.
1926         * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file.
1927         * sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file.
1928         * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it.
1929         * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
1930
1931 2004-09-05  Richard Henderson  <rth@redhat.com>
1932
1933         * sysdeps/alpha/div.S: Save and restore FPCR around fp operations.
1934         * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S,
1935         sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S,
1936         sysdeps/alpha/remqu.S: Likewise.
1937         * sysdeps/alpha/div_libc.h (FRAME): Increase to 64.
1938
1939 2004-09-05  Ulrich Drepper  <drepper@redhat.com>
1940
1941         * nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and
1942         GETHOSTBYADDRv6 requests.
1943
1944 2004-09-04  Ulrich Drepper  <drepper@redhat.com>
1945
1946         * nscd/pwdcache.c (cache_addpw): Use correct key length in
1947         cache_add calls.
1948         * nscd/grpcache.c (cache_addgr): Likewise.
1949
1950 2004-09-03  Alfred M. Szmidt  <ams@kemisten.nu>
1951
1952         * sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV
1953         to `dtv_t *'.
1954
1955 2004-09-03  Ulrich Drepper  <drepper@redhat.com>
1956
1957         * nscd/nscd.c (parse_opt): Use writev instead of two write for
1958         invalidate command.
1959
1960 2004-09-02  Ulrich Drepper  <drepper@redhat.com>
1961
1962         * nscd/connections.c (nscd_run): Check early for invalid request types.
1963
1964 2004-09-02  Roland McGrath  <roland@frob.com>
1965
1966         * sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
1967         (INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
1968         (THREAD_SELF): New macro.
1969
1970 2004-09-02  Steven Munroe  <sjmunroe@us.ibm.com>
1971
1972         [BZ #357]
1973         * stdlib/tst-setcontext.c (test_stack): Added test for stack clobber.
1974         (main): Call test_stack.
1975         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
1976         (__getcontext): Push stack frame then save parms in local frame.
1977         Improve instruction scheduling.
1978         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
1979         (__swapcontext): Likewise.
1980
1981 2004-09-01  Andreas Schwab  <schwab@suse.de>
1982
1983         * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use
1984         __builtin_offsetof.
1985
1986 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
1987
1988         [BZ #361]
1989         * posix/fnmatch_loop.c (FCT): For backslash between brackets, branch
1990         to normal_bracket after fetching the next character.
1991         * posix/tst-fnmatch.input: Add 25 new tests.
1992         Reported by Markus Oberhumer <markus@oberhumer.com>.
1993
1994 2004-09-01  Ulrich Drepper  <drepper@redhat.com>
1995
1996         * elf/rtld.c (dl_main): First check existence of ld.so.preload
1997         with access.
1998
1999 2004-09-01  Roland McGrath  <roland@redhat.com>
2000
2001         * sysdeps/unix/sysv/linux/bits/waitflags.h
2002         (WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros.
2003         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
2004         New macro.
2005         * sysdeps/unix/sysv/linux/waitid.c: New file.  Use new syscall when
2006         available, or fall back to the waitpid-based generic code.
2007
2008 2004-08-14  Alfred M. Szmidt  <ams@kemisten.nu>
2009
2010         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc
2011         clobber the `ebp' register.
2012         * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
2013         Reverts change from 2004-05-07 by Jeroen Dekkers.
2014
2015         * sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
2016         NEWSP from `void *' to `int *'.  Changed all casts accordingly.
2017
2018 2004-08-31  Jakub Jelinek  <jakub@redhat.com>
2019
2020         * wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden
2021         before return type.
2022         * locale/localename.c (__current_locale_name): Likewise.
2023
2024 2004-08-30  Roland McGrath  <roland@frob.com>
2025
2026         * scripts/extract-abilist.awk: If `lastversion' variable defined, omit
2027         later sets from output.
2028         * Makerules (check-abi): Pass option to set that with value of
2029         LIB-abi-frozen variable if one is set.
2030
2031         * abilist/libcidn.abilist: New file (empty).
2032
2033 2004-08-30  Jakub Jelinek  <jakub@redhat.com>
2034
2035         * posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If
2036         not __USE_XOPEN2K, use the Unix98 mandated values.
2037
2038 2004-08-27  Roland McGrath  <roland@redhat.com>
2039
2040         * configure.in (usetls): Default to yes.
2041         * configure: Regenerated.
2042
2043 2004-08-26  Roland McGrath  <roland@redhat.com>
2044
2045         * configure.in (add_ons_automatic): New variable, set to yes or no
2046         indicating --enable-add-ons with no explicit list.
2047         (running add-on fragments): Allow a fragment to modify $libc_add_on
2048         and have that affect its place in the list of add-ons to use.
2049         * configure: Regenerated.
2050
2051 2004-08-26  Ulrich Drepper  <drepper@redhat.com>
2052
2053         * nscd/cache.c: Major rewrite.  The data is now optionally kept in
2054         a mmaped memory region which is automatically mirrored on disk.
2055         This implements persistent data storage.  The Memory handled
2056         needed to be completely revamped, it now uses a garbage collection
2057         mechanism instead of malloc.
2058         * nscd/connections.c: Likewise.
2059         * nscd/nscd.c: Likewise.
2060         * nscd/nscd.h: Likewise.
2061         * nscd/nscd_conf.c: Likewise.
2062         * nscd/nscd_stat.c: Likewise.
2063         * nscd/grpcache.c: Likewise.
2064         * nscd/hstcache.c:: Likewise.
2065         * nscd/pwdcache.c:: Likewise.
2066         * nscd/Makefile: Add rules to build mem.c.
2067         * nscd/mem.c: New file.
2068         * nscd/nscd.conf: Describe new configuration options.
2069
2070 2004-08-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2071
2072         * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
2073         NO_SGIDEFS_H isn't defined.
2074         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
2075         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
2076
2077         * sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and
2078         _MIPS_SIM.
2079         * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
2080         * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
2081         * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.
2082
2083 2004-08-26  Ulrich Drepper  <drepper@redhat.com>
2084
2085         * nscd/connections.c (nscd_run): atomic_increment was not missing.
2086
2087         * sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval.
2088         Patch by Greg Schafer.
2089
2090 2004-08-25  Richard Henderson  <rth@redhat.com>
2091
2092         * sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind
2093         instead of $31.  Zero $15.
2094         * sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise.
2095
2096 2004-08-25  Ulrich Drepper  <drepper@redhat.com>
2097
2098         * sysdeps/powerpc/powerpc64/bits/atomic.h
2099         (__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
2100         is negative.
2101         (__arch_compare_and_exchange_bool_32_rel): Likewise.
2102
2103         * nscd/connections.c: Make socket nonblocking so that threads
2104         don't get stuck on accept.  Fix locking.
2105
2106         * nscd/grpcache.c (cache_addgr): Use copy of original key in hash
2107         entry with alternative key.
2108         * nscd/pwdcache.c (cache_addpw): Likewise.
2109
2110 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
2111
2112         * sysdeps/mips/dl-machine.h (_dl_start_user): Don't set
2113         __libc_stack_end.
2114
2115 2004-08-23  Ulrich Drepper  <drepper@redhat.com>
2116
2117         * sysdeps/gnu/netinet/udp.h: Cosmetic changes.  Remove unnecessary
2118         __BEGIN_DECLS/__END_DECLS.
2119
2120 2004-08-23  Andreas Jaeger  <aj@suse.de>
2121
2122         [BZ #341]
2123         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define.
2124         * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise.
2125         * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise.
2126         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise.
2127         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise.
2128         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise.
2129         * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise.
2130         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise.
2131         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise.
2132         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise.
2133         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise.
2134         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise.
2135         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise.
2136
2137 2004-08-21  Ulrich Drepper  <drepper@redhat.com>
2138
2139         * malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c.
2140         (check_action): Likewise.
2141         When printing error messages, use malloc_printf_nc now instead of
2142         fiddling with the streams cancellation flag in every place.
2143         * malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition.  Change
2144         default to 3.
2145         (check_action): New variable.
2146         (unlink): Print error message and eventually terminate in case list
2147         is corrupted.
2148         (malloc_printf_nc): New function.  Use it in _int_free.
2149         Change proposed by Arjan van de Ven.
2150
2151         * dlfcn/Makefile: Don't build eval.c anymore.
2152
2153 2004-08-20  Roland McGrath  <roland@frob.com>
2154
2155         * csu/Makefile ($(objpfx)version-info.h): Use printf in place
2156         of echo -e for POSIX.2 portability.
2157         Reported by Paul Jarc <prj@po.cwru.edu>.
2158
2159 2004-08-19  Ulrich Drepper  <drepper@redhat.com>
2160
2161         * sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in
2162         list generation.
2163
2164         * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use
2165         getcanonname_r function if AI_CANONNAME flag is not set in
2166         request.
2167
2168         * nis/nss_compat/compat-initgroups.c (getgrent_next_nss):
2169         Initialize mysize with limits only if latter is >= 0.  Use mysize
2170         in malloc call.
2171
2172 2004-08-19  Jakub Jelinek  <jakub@redhat.com>
2173
2174         * sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
2175         to avoid warning.
2176
2177         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
2178         status to NSS_STATUS_UNAVAIL.
2179
2180 2004-08-19  Ulrich Drepper  <drepper@redhat.com>
2181
2182         * sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
2183         cannoname lookup since it has the FQDN even if the original NAME
2184         value has not.
2185
2186 2004-08-18  Ulrich Drepper  <drepper@redhat.com>
2187
2188         * sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter
2189         pointer in new variable ORIG_NAME and use this pointer when
2190         determination of canonical name failed, not the possibly IDN
2191         translated value of NAME.
2192
2193 2004-08-17  Ulrich Drepper  <drepper@redhat.com>
2194
2195         * resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT.
2196         * resolv/res_init.c (res_setoptions): Recognize ip6-dotint option.
2197         Reset RES_NOIP6DOTINT flag in this case..
2198
2199         * sysdeps/posix/getaddrinfo.c: Fix memory handling of
2200         ai_canonname.
2201
2202 2004-08-16  Ulrich Drepper  <drepper@redhat.com>
2203
2204         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use
2205         CNAME records, we better follow the chain of CNAME records which
2206         can be accomplished with A/AAAA lookups.
2207
2208 2004-08-15  Roland McGrath  <roland@redhat.com>
2209
2210         * sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who):
2211         Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro.
2212         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2213         * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
2214         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2215
2216 2004-08-15  Roland McGrath  <roland@frob.com>
2217
2218         * sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to
2219         this, not ...
2220         (static-only-routines): ... this.
2221         * sysdeps/ia64/Makefile: Likewise.
2222         * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
2223         * sysdeps/sparc/sparc64/Makefile: Likewise.
2224         * sysdeps/x86_64/Makefile: Likewise.
2225         * sysdeps/i386/i686/hp-timing.c: Revert copyright terms change.
2226         * sysdeps/ia64/hp-timing.c: Likewise.
2227         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
2228         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
2229
2230         * csu/elf-init.c: Update copyright terms including special exception
2231         for these trivial files, which are statically linked into executables
2232         that use dynamic linking for the significant library code.
2233         * io/fstat.c: Likewise.
2234         * io/fstat64.c: Likewise.
2235         * io/lstat.c: Likewise.
2236         * io/lstat64.c: Likewise.
2237         * io/stat.c: Likewise.
2238         * io/stat64.c: Likewise.
2239         * stdlib/atexit.c: Likewise.
2240         * sysdeps/alpha/elf/initfini.c: Likewise.
2241         * sysdeps/alpha/elf/start.S: Likewise.
2242         * sysdeps/arm/elf/start.S: Likewise.
2243         * sysdeps/cris/elf/start.S: Likewise.
2244         * sysdeps/generic/initfini.c: Likewise.
2245         * sysdeps/generic/mknod.c: Likewise.
2246         * sysdeps/hppa/elf/initfini.c: Likewise.
2247         * sysdeps/hppa/elf/start.S: Likewise.
2248         * sysdeps/i386/elf/start.S: Likewise.
2249         * sysdeps/i386/i686/hp-timing.c: Likewise.
2250         * sysdeps/ia64/elf/initfini.c: Likewise.
2251         * sysdeps/ia64/elf/start.S: Likewise.
2252         * sysdeps/ia64/hp-timing.c: Likewise.
2253         * sysdeps/m68k/elf/start.S: Likewise.
2254         * sysdeps/mach/start.c: Likewise.
2255         * sysdeps/mips/elf/start.S: Likewise.
2256         * sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
2257         * sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
2258         * sysdeps/s390/s390-32/elf/start.S: Likewise.
2259         * sysdeps/s390/s390-32/initfini.c: Likewise.
2260         * sysdeps/s390/s390-64/elf/start.S: Likewise.
2261         * sysdeps/s390/s390-64/initfini.c: Likewise.
2262         * sysdeps/sh/elf/initfini.c: Likewise.
2263         * sysdeps/sh/elf/start.S: Likewise.
2264         * sysdeps/sparc/sparc32/elf/start.S: Likewise.
2265         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
2266         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
2267         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
2268         * sysdeps/standalone/i386/start.S: Likewise.
2269         * sysdeps/standalone/i960/start.S: Likewise.
2270         * sysdeps/standalone/m68k/m68020/start.S: Likewise.
2271         * sysdeps/unix/arm/start.c: Likewise.
2272         * sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
2273         * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
2274         * sysdeps/unix/sparc/start.c: Likewise.
2275         * sysdeps/unix/start.c: Likewise.
2276         * sysdeps/unix/sysv/aix/start.s: Likewise.
2277         * sysdeps/unix/sysv/irix4/start.c: Likewise.
2278         * sysdeps/x86_64/elf/initfini.c: Likewise.
2279         * sysdeps/x86_64/elf/start.S: Likewise.
2280
2281 2004-08-15  Roland McGrath  <roland@redhat.com>
2282
2283         [BZ #227]
2284         * sysdeps/unix/sysv/linux/kernel-features.h
2285         (__ASSUME_BRK_PAGE_ROUNDED): New macro.
2286         * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
2287         [! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
2288         the partial page after the dynamic linker's own data segment.
2289
2290 2004-08-15  Ulrich Drepper  <drepper@redhat.com>
2291
2292         * sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of
2293         v4-mapped addresses a bit.
2294         (gethosts): Move alloca out of macro, so that it is done only once.
2295
2296         * sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
2297         addr to avoid casts.
2298         (gethosts): Removed.
2299         (gethosts2): Renamed to gethosts.  Make it usable for family !=
2300         AF_UNSPEC.  Fix AI_V4MAPPED.
2301         (gaih_inet): Remove use of old gethosts.  Always use what used to be
2302         gethosts2.  If entry is found, try to use the same NSS module's
2303         getcanonname_r function.  Use gethostbyaddr for AI_CANONNAME only
2304         if getcanonname_r was not available.  Fix filtering of AI_V4MAPPED
2305         addresses.  Numerous cleanups.
2306         * resolv/nss_dns/dns-canon.c: New file.
2307         * resolv/Makefile (libnss_dns-routines): Add dns-canon.
2308         * resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.
2309
2310         * elf/Makefile: Add rules to build and run tst-dlopenrpath.
2311         * elf/tst-dlopenrpath.c: New file.
2312         * elf/tst-dlopenrpathmod.c: New file.
2313
2314         * intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
2315         * intl/tst-gettext.c: Likewise.
2316
2317         * nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses.
2318
2319         * nss/getent.c: Allow queries for getaddrinfo with AF_INET and
2320         AF_INET6.
2321
2322 2004-08-14  Ulrich Drepper  <drepper@redhat.com>
2323
2324         * po/de.po: Update from translation team.
2325
2326 2004-08-14  Roland McGrath  <roland@frob.com>
2327
2328         * sysdeps/mach/configure: Regenerated.
2329         * sysdeps/mach/hurd/configure: Regenerated.
2330
2331 2004-08-14  Ulrich Drepper  <drepper@redhat.com>
2332
2333         * sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is
2334         performed, make sure it is still the first entry after sorting
2335         that has the ai_canonname information.
2336
2337         * sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname
2338         only in one entry.
2339
2340 2004-08-13  Daniel Jacobowitz  <dan@debian.org>
2341
2342         * scripts/output-format.sed: Handle default case of three-argument
2343         OUTPUT_FORMAT.
2344
2345         * sysdeps/arm/machine-gmon.h (mcount_internal): Mark as
2346         __attribute_used__.
2347
2348 2004-08-13  Ulrich Drepper  <drepper@redhat.com>
2349
2350         * nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the
2351         first returned entry.  Print name only if not NULL.
2352
2353         * nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct
2354         __netgrent object passed in instead of global variables.
2355         Optimize.
2356         * nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data
2357         in struct __netgrent object passed in instead of global variables.
2358         * inet/netgroup.h (struct __netgrent): Add service_user field.
2359         Move cursor in anonymous union, add new field location to that
2360         union.
2361         * inet/getnetgrent_r.c: Extensive rewrite to really enable
2362         concurrent uset of set/get/endnetgrent and innetgr.
2363         Reported by Chuck Simmons.
2364
2365         * inet/netgroup.h (struct name_list): Replace name pointer with
2366         zero-sized array.
2367         * inet/getnetgrent_r.c: Adjust code for change in name_list
2368         layout.  Numerous strdup and free calls removed.
2369
2370         * elf/sprof.c (read_symbols): When comparing aliases, prefer
2371         non-hidden over hidden symbols and strong over weak symbols
2372         if both don't start with '_'.
2373
2374         * malloc/malloc.c: Use strong_alias instead of weak_alias wherever
2375         possible.
2376
2377 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
2378
2379         * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
2380         RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly.
2381         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2382         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2383         * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
2384         Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros
2385         accordingly.
2386
2387 2004-08-11  Andreas Schwab  <schwab@suse.de>
2388
2389         * resolv/res_libc.c: Move definition of __res_initstamp ...
2390         * resolv/res_init.c: ... here.
2391
2392 2004-08-10  GOTO Masanori  <gotom@debian.or.jp>
2393
2394         * locale/C-time.c: Change default ERA value from NULL to "".
2395         * locale/tst-C-locale.c: Add test case for ERA keywords.
2396
2397 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
2398
2399         * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
2400         RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly.
2401         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2402         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2403
2404 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
2405
2406         * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING,
2407         RLIMIT_MSGQUEUE): Add.
2408         (RLIMIT_NLIMITS, RLIM_NLIMITS): Adjust.
2409         * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING,
2410         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
2411         (RLIM_NLIMITS): Adjust.
2412         * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING,
2413         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
2414         (RLIM_NLIMITS): Adjust.
2415         * sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING,
2416         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
2417         (RLIM_NLIMITS): Adjust.
2418
2419 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
2420
2421         * resolv/res_query.c (__libc_res_nsearch): Protect the debugging
2422         printf with #ifdef DEBUG and RES_DEBUG check.
2423
2424         * sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after
2425         __USE_MISC #endif.
2426         * sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize
2427         declaration.
2428         * sysdeps/gnu/bits/shm.h: Likewise.
2429         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
2430         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
2431         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
2432         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
2433         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
2434
2435 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
2436
2437         * po/ca.po: Update from translation team.
2438
2439 2004-08-11  Ulrich Drepper  <drepper@redhat.com>
2440
2441         * sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for
2442         __getpagesize declaration.
2443
2444 2004-08-11  Roland McGrath  <roland@redhat.com>
2445
2446         * configure.in (libc_cv_cpp_asm_debuginfo): Add missing braces around
2447         commands inside &&.
2448         Reported by Andreas Schwab <schwab@suse.de>.
2449         * configure: Regenerated.
2450
2451         * posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL.
2452
2453 2004-08-11  Ulrich Drepper  <drepper@redhat.com>
2454
2455         * time/tzset.c (tzset_internal): Add new parameter which is
2456         nonzero if called through tzset.  Use TZDEFAULT name including
2457         name comparison if the new parameter is zero.  This means implicit
2458         tzset calls will not cause files to be opened and read by tzfile.c
2459         all the time.
2460
2461 2004-08-11  Jakub Jelinek  <jakub@redhat.com>
2462
2463         * rt/tst-timer2.c (do_test): If timer_create fails, just continue.
2464         * rt/tst-timer4.c (do_test): If one of the timer_create calls fails,
2465         return 1 immediately.
2466
2467         * time/tzfile.c (__tzfile_read): Free transitions only if it will
2468         not be reused.
2469
2470         * sysdeps/ieee754/dbl-64/mpa.c: Include <sys/param.h>.
2471         * sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed.
2472
2473         * stdio-common/tst-popen.c: Include <string.h>.
2474
2475         * resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG.
2476
2477         * sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn
2478         attribute.  Return NULL instead of calling pthread_exit at the end.
2479
2480 2004-08-11  Roland McGrath  <roland@redhat.com>
2481
2482         * iconvdata/testdata/ISO-2022-JP-3: Regenerated.
2483
2484 2004-08-10  Alfred M. Szmidt  <ams@kemisten.nu>
2485
2486         * sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition.
2487
2488 2004-08-10  Jakub Jelinek  <jakub@redhat.com>
2489
2490         * libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t).
2491         (fwrite_unlocked): When checking if size * n is <= 8, cast each
2492         argument to size_t individually.  Cast n to (void) instead of
2493         (size_t), surround with (), return (size_t) 0 if one of n or size
2494         is 0.  [BZ #316]
2495         * stdio-common/Makefile (tests): Add tst-unlockedio.
2496         * stdio-common/tst-unlockedio.c: New test.
2497
2498 2004-08-09  Roland McGrath  <roland@frob.com>
2499
2500         * manual/install.texi (Supported Configurations): Replace bug-glibc
2501         mention with web URL.
2502         * INSTALL: Regenerated.
2503         * locale/iso-3166.def: Likewise, in comment.
2504         * locale/iso-4217.def: Likewise.
2505         * locale/iso-639.def: Likewise.
2506         * posix/cpio.h: Remove bug reporting comment.
2507
2508 2004-08-09  Ulrich Drepper  <drepper@redhat.com>
2509
2510         * libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t)
2511         casts to handle funny calls with floating point argument values
2512         and signed values correctly and without warning.
2513         (fwrite_unlocked): Likewise.  [BZ #309]
2514
2515         * malloc/memusage.c (me): Use creat64, not creat.
2516         * malloc/memusagestat.c: Fix handling of very large sizes.  [BZ #285]
2517         Patch by Guy Maor <guymaor@yahoo.com>.
2518
2519         * elf/ldconfig.c (options): Mark parameter option names as
2520         translatable.  [BZ #253]  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
2521
2522         * iconv/gconv_charset.h (strip): Also allow comma which is what is
2523         used to separate options.  [BZ #194]
2524
2525 2004-08-09  Roland McGrath  <roland@redhat.com>
2526
2527         * FAQ.in: Refer to web pages instead of bug-glibc.
2528         * FAQ: Regenerated.
2529
2530         * time/strptime_l.c: #include <stdbool.h>, `bool' used in last change.
2531
2532 2004-08-09  Ulrich Drepper  <drepper@redhat.com>
2533
2534         * time/tzset.c (tzset_internal): If TZ is not set do not compare
2535         old and new tz value since it might be /etc/localtime in both
2536         cases although the file changed.  [BZ #154]
2537         Patch by Christian Franke <franke@computer.org>.
2538
2539         * time/tzfile.c (__tzfile_read): Determine dev/ino of file.
2540         Compare with values of previously opened file.  Don't do anything
2541         is they match.
2542
2543 2004-08-08  Ulrich Drepper  <drepper@redhat.com>
2544
2545         * elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
2546         reset loader before the actual loading.
2547         * elf/dl-open.c (dl_open_worker): If file name contains no path
2548         element determine map of caller.  Pass caller map in this case to
2549         _dl_map_object.  Set __RTLD_CALLMAP in mode.
2550         * include/dlfcn.h (__RTLD_CALLMAP): Define.  [BZ #116]
2551         Patch by Greg Wolodkin <greg@mathworks.com>.
2552
2553         * misc/syslog.c (openlog_internal): Always try both UDP and TCP.
2554         [BZ #108]  Patch mainly by Bjorn Andersson <bjorn@iki.fi>.
2555
2556         * configure.in: Also recognize i786. [BZ #106]
2557         Patch by <pluto@pld-linux.org>.
2558
2559         * resolv/res_query.c (__libc_res_nsearch): Correctly test whether
2560         name contains any dots. [BZ #95]
2561
2562         * resolv/res_send.c: Compiling with DEBUG defined works again.
2563         * resolv/gethnamaddr.c (dprintf): Renamed to Dprintf.  Adjust all
2564         callers.
2565
2566         * resolv/tst-leaks.c (TIMEOUT): Define so that if no server is
2567         available the process is not killed. [BZ #41]
2568
2569         * intl/tst-gettext.c (main): Improve some messages. [BZ #33]
2570
2571         * time/strptime_l.c (__strptime_internal): Fix handling of %Ey.
2572         [BZ #28]
2573
2574         * po/sv.po: Update from translation team.
2575
2576 2004-08-07  Ulrich Drepper  <drepper@redhat.com>
2577
2578         * inet/netinet/in.h: Add more const to the setipv4soucefilter,
2579         getsourcefilter, and setsourcefilter parameter list.
2580         * sysdeps/generic/setipv4sourcefilter.c: Likewise.
2581         * sysdeps/generic/getsourcefilter.c: Likewise.
2582         * sysdeps/generic/setsourcefilter.c: Likewise.
2583         * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise.
2584         * sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise.
2585         * sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise.
2586
2587         * po/tr.po: Update from translation team.
2588
2589 2004-08-06  Ulrich Drepper  <drepper@redhat.com>
2590
2591         * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo.
2592         Reported by Paolo Bonzini.
2593
2594 2004-08-06  Jakub Jelinek  <jakub@redhat.com>
2595
2596         * sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add
2597         always_inline.
2598         * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup,
2599         elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise.
2600
2601         * sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h
2602         before including linux/atalk.h.
2603
2604         * resolv/res_libc.c: Include atomic.h.
2605
2606         * intl/finddomain.c (free_mem): Rename to...
2607         (_nl_finddomain_subfreeres): ... this.  Add
2608         __libc_freeres_fn_section.
2609         * intl/loadmsgcat.c (_nl_unload_domain): Add
2610         __libc_freeres_fn_section.
2611         * intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
2612         Add attribute_hidden.
2613         (_nl_findomain_subfreeres): New prototype.
2614         * iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres.
2615
2616 2004-07-30  Guido Guenther  <agx@sigxcpu.org>
2617
2618         * nss/getent.c (passwd_keys): Use strtoul instead of isdigit to
2619         test if the key is numeric or not.
2620         (group_keys): Likewise.
2621
2622 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2623
2624         * inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE,
2625         struct group_filter, and GROUP_FILTER_SIZE.
2626         * include/sys/socket.h: Declare __getsockopt.
2627         * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file.
2628         * sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file.
2629         * sysdeps/unix/sysv/linux/setsourcefilter.c: New file.
2630         * sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211]
2631
2632         * po/ko.po: Update from translation team.
2633
2634 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2635
2636         * hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
2637         memset.
2638         (__hesiod_res_set): Free nsaddrs.
2639
2640         * include/resolv.h (__res_maybe_init): Add prototype.
2641         * resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
2642         * resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
2643         * resolv/res_libc.c (__res_initstamp, lock): New variables.
2644         (res_init): Increase __res_initstamp.
2645         (__res_maybe_init): New function.
2646         * resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
2647         * hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
2648         of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
2649         * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
2650         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
2651         _nss_dns_gethostbyaddr_r): Likewise.
2652         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
2653         _nss_dns_getnetbyaddr_r): Likewise.
2654         * resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
2655         gethostbyaddr): Likewise.
2656         * resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
2657         res_isourserver, res_sendsigned, res_update, res_search,
2658         res_querydomain): Likewise.
2659         * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
2660         * nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
2661         * nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
2662         Likewise.
2663
2664 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2665
2666         * sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
2667         V4-mapped IPv6 addresses and req->ai_family==AF_INET.
2668         Reported by A. Guru <a.guru@sympatico.ca>.
2669
2670         * po/sv.po: Update from translation team.
2671         * po/sk.po: Likewise.
2672         * po/pl.po: Likewise.
2673
2674 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2675             Ulrich Drepper  <drepper@redhat.com>
2676
2677         * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input
2678         characters than necessary.
2679
2680 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2681
2682         * wcsmbs/Makefile (tests): Add tst-mbsrtowcs.
2683         * wcsmbs/tst-mbsrtowcs.c: New file.
2684
2685         * po/fr.po: Update from translation team.
2686
2687 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2688
2689         * resolv/inet_pton.c (inet_pton4): Disallow octal numbers.  Reported
2690         by A. Guru <a.guru@sympatico.ca>.  [BZ #295]
2691
2692 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2693
2694         * po/nl.po: Update from translation team.
2695
2696         * sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4
2697         numeric address formats inet_addr knows.
2698         (getaddrinfo): Allow AI_NUMERICSERV flag.
2699         If neither IPv4 nor IPv6 interface is present we cannot make any
2700         decision for AI_ADDRCONFIG.  Fail if AI_NUMERICSERV is set and the
2701         string is not just a number.  Remove useless freeaddrinfo call.
2702         * resolv/netdb.h (AI_NUMERICSERV): Define.
2703         Based on a patch by a.guru@sympatico.ca.
2704
2705 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2706
2707         * stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure
2708         instead of trying to initialize some, but not all, fields one by
2709         one.
2710         * stdio-common/printf_size.c (printf_size): Initialize fb_info
2711         structure with *info instead of trying to initialize some, but not
2712         all, fields from it.
2713
2714         * nscd/connections.c (handle_request): Check if req->type is in
2715         LASTDBREQ .. LASTREQ range instead of req.
2716
2717         * locale/programs/linereader.c (lr_create): Initialize
2718         lr->return_widestr to 0.
2719
2720         * elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section.
2721         (free_mem): Call free_slotinfo just once.
2722
2723         * stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead
2724         of NULL.
2725
2726         * locale/localeinfo.h (_nl_locale_subfreeres): New prototype.
2727         * locale/setlocale.c (free_category): Add __libc_freeres_fn_section.
2728         (free_mem): Rename to _nl_locale_subfreeres.
2729         * iconv/gconv_db.c: Include locale/localeinfo.h.
2730         (free_derivation, free_modules_db): Add __libc_freeres_fn_section.
2731         (free_mem): Call _nl_locale_subfreeres.
2732         * iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section.
2733
2734 2004-08-04  Roland McGrath  <roland@frob.com>
2735
2736         * Makeconfig ($(common-objpfx)config.status):
2737         Fix typo: $(add_ons) -> $(add-ons).
2738         (Makeconfig-add-on): New variable.  When doing $(sysdep-makeconfigs)
2739         include, use black magic to get it set to an add-on's name during the
2740         include of the add-on's Makeconfig.
2741
2742         * configure.in: Use variable name `libc_add_on' when sourcing add-on
2743         configure fragments, so they can refer to this.
2744         * configure: Regenerated.
2745
2746 2004-08-04  Roland McGrath  <roland@redhat.com>
2747
2748         * posix/tst-waitid.c (test_child): Sleep a second before stopping.
2749         (do_test): Bump sleep to three seconds.
2750         (sigchld, check_sigchld): New functions.
2751         (do_test): Handle SIGCHLD and check for getting the right details.
2752
2753         * posix/tst-waitid.c (do_test): Kill the child process when bailing
2754         out early on some failure.
2755         [WCONTINUED]: Test WCONTINUED functionality.
2756
2757 2004-08-03  Ulrich Drepper  <drepper@redhat.com>
2758
2759         * nscd/connections.c (handle_request): Print more descriptive
2760         message for invalid request types.
2761
2762 2004-08-02  Jakub Jelinek  <jakub@redhat.com>
2763
2764         * iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff.
2765         Always treat high as highest number in range + 1.
2766         * iconvdata/ibm943.c (BODY): Likewise.
2767
2768 2004-07-31  Bruno Haible  <bruno@clisp.org>
2769
2770         * iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004.
2771         * iconvdata/jisx0213.c (__jisx0213_to_ucs_main,
2772         __jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1,
2773         __jisx0213_from_ucs_level2): Regenerated.
2774         * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function.
2775         * iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from
2776         JISX0213_1_set.
2777         (JISX0213_1_2004_set): New enum value.
2778         (BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O.
2779         (BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O
2780         when possible, ESC $ ( Q when needed.
2781         * iconvdata/testdata/EUC-JISX0213: Add the 10 new characters.
2782         * iconvdata/testdata/EUC-JISX0213..UTF8: Update.
2783         * iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters.
2784         * iconvdata/testdata/SHIFT_JISX0213..UTF8: Update.
2785         * iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters.
2786         * iconvdata/testdata/ISO-2022-JP-3..UTF8: Update.
2787
2788 2004-07-22  Bruno Haible  <bruno@clisp.org>
2789
2790         * iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003.
2791
2792 2004-07-29  David S. Miller  <davem@redhat.com>
2793
2794         * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy): Optimize
2795         better for smaller than 256 byte copies.  Also, use only one
2796         unrolled loop instead of two for the large copy case.
2797
2798 2004-07-30  Richard Henderson  <rth@redhat.com>
2799
2800         * sysdeps/alpha/divq.S: Save t3 before it gets clobbered.
2801         * sysdeps/alpha/remq.S: Likewise.
2802         * sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the
2803         new division algorithms in divl.S and divq.S respectively.
2804
2805 2004-07-28  GOTO Masanori  <gotom@debian.or.jp>
2806
2807         * timezone/asia: Update from tzdata2004b.
2808         * timezone/backward: Likewise.
2809         * timezone/europe: Likewise.
2810         * timezone/iso3166.tab: Likewise.
2811         * timezone/leapseconds: Likewise.
2812         * timezone/northamerica: Likewise.
2813         * timezone/southamerica: Likewise.
2814         * timezone/zone.tab: Likewise.
2815
2816         * timezone/private.h: Update from tzcode2004b.
2817         * timezone/zic.c: Likewise.
2818
2819 2004-07-27  Ulrich Drepper  <drepper@redhat.com>
2820
2821         * nscd/grpcache.c (cache_addgr): If necessary, add entry also
2822         under the name the user provided.
2823         * nscd/pwdcache.c (cache_addpw): Likewise.
2824
2825 2004-07-26  Roland McGrath  <roland@redhat.com>
2826
2827         * sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for
2828         call to __waitpid.
2829
2830 2004-07-26  Ulrich Drepper  <drepper@redhat.com>
2831
2832         * nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to
2833         memory leaks.
2834
2835         * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for
2836         new buffer at the right time.
2837         Reported by Jakub Bogusz <qboosh@pld-linux.org>.
2838
2839 2004-07-25  Ulrich Drepper  <drepper@redhat.com>
2840
2841         * inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter,
2842         getsourcefilter, setipv4sourcefilter, and setsourcefilter.
2843         * inet/Makefile (routines): Likewise.
2844         * inet/netinet/in.h: Add prototypes for getipv4sourcefilter,
2845         getsourcefilter, setipv4sourcefilter, and setsourcefilter.
2846         * sysdeps/generic/getipv4sourcefilter.c: New file.
2847         * sysdeps/generic/setipv4sourcefilter.c: New file.
2848         * sysdeps/generic/getsourcefilter.c: New file.
2849         * sysdeps/generic/setsourcefilter.c: New file.
2850
2851 2004-07-17  Steven Munroe  <sjmunroe@us.ibm.com>
2852
2853         * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
2854         for POWER4 machines.
2855
2856 2004-07-21  Jakub Jelinek  <jakub@redhat.com>
2857
2858         [BZ #274]
2859         * stdlib/strtod_l.c (INTERNAL (__STRTOF)): Fix used >=
2860         BITS_PER_MP_LIMB shifting up.
2861         * stdlib/tst-strtod.c (main): Add new tests.
2862
2863 2004-07-23  Jakub Jelinek  <jakub@redhat.com>
2864
2865         [BZ #282]
2866         * libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
2867         _IO_no_init.  Remove wd from struct locked_FILE.
2868         (_IO_wproc_jumps): Remove.
2869         Reported by Andrew Josey <a.josey@opengroup.org>.
2870         * stdio-common/Makefile (tests): Add tst-popen.
2871         * stdio-common/tst-popen.c: New test.
2872
2873 2004-07-23  Ulrich Drepper  <drepper@redhat.com>
2874
2875         * posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
2876         _POSIX_OPEN_MAX.  Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX,
2877         _POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX.
2878         Reported by Andrew Josey.
2879
2880         * include/features.h: Document _POSIX_C_SOURCE == 200112L.
2881
2882         * grp/grp.h: Define gid_t if __USE_XOPEN2K is defined.
2883         * pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined.
2884         * io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t,
2885         off_t, time_t, and uid_t if __USE_XOPEN2K is defined.
2886         * signal/signal.h: Define pid_t if __USE_XOPEN2K is defined.
2887         * posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and
2888         useconds_t if __USE_XOPEN2K is defined.
2889         * io/utime.h: Define time_t if __USE_XOPEN2K is defined.
2890         * libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined.
2891
2892 2004-07-19  Thorsten Kukuk  <kukuk@suse.de>
2893
2894         * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
2895         allocate memory for large temporary variables with alloca.
2896
2897 2004-07-22  Ulrich Drepper  <drepper@redhat.com>
2898
2899         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility
2900         code must have version GLIBC_2.0.  Patch by Dwayne McConnell.
2901
2902         * nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL
2903         pointer and zero length.
2904
2905 2004-07-21  Ulrich Drepper  <drepper@redhat.com>
2906
2907         * nscd/cache.c (prune_cache): Print correct list when debugging.
2908
2909 2004-07-21  Jakub Jelinek  <jakub@redhat.com>
2910
2911         * resolv/res_libc.c (res_init): If RES_INIT is set and
2912         _res.nscount > 0, call __res_nclose and free nsaddrs.
2913         * resolv/Makefile: Add rules to build and run tst-leaks2.
2914         * resolv/tst-leaks2.c: New test.
2915
2916 2004-07-21  Ulrich Drepper  <drepper@redhat.com>
2917
2918         * intl/libintl.h: Don't define macros for C++.
2919         Patch by Goto Masanori.
2920
2921 2004-07-22  GOTO Masanori  <gotom@debian.or.jp>
2922
2923         [BZ #276]
2924         * include/arpa/inet.h: Change inet_aton type from in_addr_t to int.
2925         * inet/arpa/inet.h: Likewise.
2926         * resolv/inet_addr.c: Likewise.
2927
2928 2004-07-21  Alexandre Oliva  <aoliva@redhat.com>
2929
2930         * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop.
2931
2932 2004-07-20  Roland McGrath  <roland@redhat.com>
2933
2934         * configure.in (add_ons): Substitute this.  Move $add_ons handling
2935         after AC_CANONICAL_HOST and default setting of $machine et al.
2936         Don't set $subdirs from $add_ons.
2937         Instead, source add-on/configure fragments early on.
2938         (base_machine): If it's already set, don't set it based on $machine.
2939         (libc_config_ok): New variable, set to no.  If an add-on fragment sets
2940         it to yes, skip the  tuple sanity check as if --enable-hacker-mode.
2941         (sysnames): Try appending add-on names after machine as well.
2942         * config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@.
2943         * Makeconfig ($(common-objpfx)config.status): Also depend on configure
2944         files in $(add_ons) dirs.
2945
2946         * sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove
2947         definition, now in netinet/in.h proper.
2948
2949 2004-07-20  Alexandre Oliva  <aoliva@redhat.com>
2950
2951         * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
2952         Sort by syscalls.  Make sure we get headers such as sgidefs.h from
2953         the build tree before just-installed ones.
2954
2955         * sysdeps/mips/atomicity.h: Use standard names for ABI macros,
2956         include sgidefs.h where appropriate.
2957         * sysdeps/mips/dl-machine.h: Likewise.
2958         * sysdeps/mips/machine-gmon.h: Likewise.
2959         * sysdeps/mips/bits/setjmp.h: Likewise.
2960         * sysdeps/mips/fpu/bits/mathdef.h: Likewise.
2961         * sysdeps/mips/mips64/__longjmp.c: Likewise.
2962         * sysdeps/mips/mips64/setjmp_aux.c: Likewise.
2963         * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
2964         * sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
2965         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
2966         * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
2967         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
2968         * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
2969         * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
2970         * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
2971         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
2972         * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
2973         * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
2974         * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
2975         * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
2976         * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
2977         * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
2978         * sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.
2979         * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
2980         Likewise.
2981         * sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h):
2982         Likewise.
2983
2984         * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use
2985         _dl_lookup_symbol_x.
2986         (elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error.
2987
2988 2004-07-20  Ulrich Drepper  <drepper@redhat.com>
2989
2990         * inet/netinet/in.h: Define struct ip_mreq and struct
2991         ip_mreq_source.
2992         Define struct group_req and struct group_source_req.
2993         * sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
2994         IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
2995         IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
2996         MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
2997         MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
2998         MCAST_MSFILTER.
2999         Define MCAST_INCLUDE and MCAST_EXCLUDE.
3000
3001         * iconvdata/gconv-modules: Add alias for IBM874 [BZ #244].
3002
3003 2004-07-19  Jakub Jelinek  <jakub@redhat.com>
3004
3005         [BZ #258]
3006         * math/libm-test.inc (max_value, min_value): New variables.
3007         (initialize): Initialize them.
3008         (pow_test): Add a couple of new tests.
3009         * sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Don't generate invalid
3010         exception if |y| >= 1U<<31.
3011         * sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Don't generate invalid
3012         exception if |y| >= 1L<<63.
3013         * sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
3014         If y*log2(x) overflows to +-inf, return still +inf/+0 instead of NaN.
3015         * sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.
3016
3017 2004-07-18  Ulrich Drepper  <drepper@redhat.com>
3018
3019         * nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful
3020         lookup a bit.
3021         * nscd/grpcache.c (cache_addgr): Likewise.
3022         * nscd/hstcache.c (cache_addhst): Likewise.
3023
3024 2004-07-10  GOTO Masanori  <gotom@debian.or.jp>
3025
3026         * sysdeps/s390/s390-32/elf/start.S: Remove symbol _fp_hw.
3027         * sysdeps/s390/s390-64/elf/start.S: Likewise.
3028
3029 2004-04-16  Andreas Schwab  <schwab@suse.de>
3030
3031         * sysdeps/ia64/bits/atomic.h: Cast first argument of
3032         __sync_bool_compare_and_swap_si correct to void*.
3033
3034 2004-07-17  Ulrich Drepper  <drepper@redhat.com>
3035
3036         * iconv/iconv_prog.c (print_known_names): Make machine-readable
3037         output even less cluttered.
3038
3039 2004-07-16  Steven Munroe  <sjmunroe@us.ibm.com>
3040
3041         [BZ #269]
3042         * setjmp/Makefile (tests): Add bug269-setjmp.
3043         * setjmp/bug269-setjmp.c: New file.
3044         * sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]:
3045         Store R2 from jmpbuf in callers TOC save area.
3046         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]:
3047         Store R2 in TOC save area.
3048         * sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]:
3049         Copy TOC save area from previous frame as R2 (TOC) in jmpbuf.
3050
3051 2004-07-16  Jakub Jelinek  <jakub@redhat.com>
3052
3053         * locale/newlocale.c: Include bits/libc-lock.h.
3054         (__libc_setlocale_lock): Extern decl.
3055         (__newlocale): Use it.
3056         Reported by Ulrich Weigand <Ulrich.Weigand@de.ibm.com>.
3057
3058 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
3059
3060         * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove
3061         static inline __attribute ((always_inline)).  Don't define if
3062         NO_CANCELLATION.
3063         (__libc_fcntl): Use INLINE_SYSCALL directly instead of
3064         __fcntl_nocancel.
3065         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel):
3066         Remove static inline __attribute ((always_inline)).  Don't define
3067         if NO_CANCELLATION.
3068         (__libc_fcntl): Use INLINE_SYSCALL directly instead of
3069         __fcntl_nocancel.
3070         * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to
3071         __libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0.
3072         Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0.
3073         (__libc_fcntl): Don't define if __fcntl_nocancel is a macro.
3074
3075         [BZ #262]
3076         * sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
3077         for main.
3078         * elf/Makefile: Add rules to build and run tst-pie1.
3079         * elf/tst-pie1.c: New test.
3080         * elf/tst-piemod1.c: New file.
3081
3082 2004-07-14  Jakub Jelinek  <jakub@redhat.com>
3083
3084         [BZ #266]
3085         * manual/string.texi (l64a): Note that the static buffer is 7 bytes
3086         long.  Rewrite example code so that it takes into account l64a output
3087         shorter than 6 characters.
3088         Reported by Julian Graham <julian.graham@aya.yale.edu>.
3089
3090 2004-07-14  Kaz  Kojima  <kkojima@rr.iij4u.or.jp>
3091
3092         * sysdeps/sh/dl-machine.h: Don't reset _dl_starting_up here.
3093         (elf_machine_rela_relative): Remove unused valiable.
3094
3095 2004-07-12  Paul Eggert  <eggert@cs.ucla.edu>
3096
3097         [BZ #263]
3098         * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store
3099         outside the buffer if the read returns 0.  __strtod_l can't set
3100         endp to NULL, so remove a test for that case.
3101
3102 2004-07-12  Roland McGrath  <roland@redhat.com>
3103
3104         * manual/signal.texi (Interrupted Primitives): Make clear that
3105         TEMP_FAILURE_RETRY evaluates its expression as long int and compares
3106         it to -1 to define "failure".
3107
3108 2004-07-10  Ulrich Drepper  <drepper@redhat.com>
3109
3110         * elf/ldconfig.c: Define PROCINFO_CLASS as static before including
3111         ldsodefs.h.
3112         * sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
3113         already defined.
3114         * sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
3115         already defined.
3116
3117         * elf/rtld.c (print_statistics): Mark with noinline attribute.
3118         * sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
3119         attribute.
3120         (elf_machine_rel_relative): Likewise.
3121
3122         * include/string.h: Add libc_hidden_proto for __strtok_r and
3123         __strsep_g.
3124         * sysdeps/generic/strsep.c: Add libc_hidden_def.
3125         * sysdeps/generic/strtok_r.c: Likewise.
3126         * sysdeps/i386/strtok_r.S: Add alias for internal symbol.
3127         * sysdeps/i386/i686/strtok_r.S: Likewise.
3128         * sysdeps/x86_64/strtok_r.S: Likewise.
3129
3130 2004-07-09  Alexandre Oliva  <aoliva@redhat.com>
3131
3132         * inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
3133         instead of internal-linkage, such that we can alias to it.
3134         (internal_endnetgrent, internal_getnetgrent_r): Likewise.
3135
3136 2004-07-09  Ulrich Drepper  <drepper@redhat.com>
3137
3138         * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute
3139         to the front for gcc 3.5+.
3140         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
3141         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
3142         * include/fcntl.h: Don't declare __fcntl_nocancel here if
3143         NO_CANCELLATION is defined.
3144
3145 2004-07-07  Jakub Jelinek  <jakub@redhat.com>
3146
3147         * elf/dl-fini.c (_dl_fini): Add nloaded variable, load
3148         GL(dl_nloaded) into it while still in critical section.
3149
3150 2004-07-06  Thorsten Kukuk  <kukuk@suse.de>
3151
3152         * nss/getent.c (print_group, print_passwd): Use %lu format for
3153         `unsigned long int' values.
3154
3155         * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Fix syntax
3156         error typos in goto statements.
3157
3158 2004-07-07  Roland McGrath  <roland@frob.com>
3159
3160         * Makefile (dist-separate): New variable.
3161         (glibc-%.tar rule): Make separate tar files for add-ons listed there.
3162         Depend on their configure files.
3163         (dist-do-separate-dirs): New canned sequence to do that.
3164         (dist-separate-libidn, dist-separate-linuxthreads): New variables.
3165         (dist): Depend on add-on tar files based on $(dist-separate).
3166         (dist-version): New variable, default to $(version).
3167         (tag-for-dist, dist): Use that in place of $(version) in deps.
3168
3169 2004-07-07  Ulrich Drepper  <drepper@redhat.com>
3170
3171         * elf/dl-fini.c (_dl_fini): Move the unlock of the ld.so lock
3172         before the loop running the destructors.
3173
3174 2004-05-18  Andreas Schwab  <schwab@suse.de>
3175
3176         * elf/dl-load.c (_dl_map_object_from_fd): Use the end address of
3177         the first segment for mprotect, not l_text_end.
3178
3179 2004-07-05  Ulrich Drepper  <drepper@redhat.com>
3180
3181         * elf/dl-profile.c (_dl_start_profile): Compact error handling.
3182         Remove hashfraction variable.  Make kcount and kcountsize local
3183         variables.
3184
3185         * elf/dl-init.c: Don't define and use _dl_starting_up if
3186         HAVE_INLINED_SYSCALLS is defined and the variable is not used.
3187         * elf/dl-support.c: Likewise.
3188         * elf/rtld.c: Likewise.
3189         * elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly
3190         if HAVE_INLINED_SYSCALLS is defined.
3191         * sysdeps/powerpc/powerpc64/dl-machine.h: Don't reset _dl_starting_up
3192         here.
3193         * sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
3194         * sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS.
3195         * config.h.in: Add entry for HAVE_INLINED_SYSCALLS.
3196
3197         * sysdeps/posix/profil.c: If compiled for ld.so, omit code which
3198         is needed to stop profiling.
3199         * elf/dl-open.c (dl_open_worker): If a newly opened object is to be
3200         profile make sure it cannot be unloaded.
3201
3202         * sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall.
3203
3204         * sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
3205         support, make sure the helper function is inlined.
3206         * sysdeps/unix/sysv/linux/pread.c: Likewise.
3207         * sysdeps/unix/sysv/linux/pwrite.c: Likewise.
3208         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
3209         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
3210
3211 2004-07-05  Jakub Jelinek  <jakub@redhat.com>
3212
3213         * include/string.h (ffs): Add libc_hidden_builtin_proto.
3214         * sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def.
3215         * sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise.
3216         * sysdeps/alpha/ffs.S (ffs): Likewise.
3217         * sysdeps/s390/ffs.c (ffs): Likewise.
3218         * sysdeps/powerpc/ffs.c (ffs): Likewise.
3219         * sysdeps/i386/ffs.c (ffs): Likewise.
3220         * sysdeps/i386/i686/ffs.c (ffs): Likewise.
3221         * sysdeps/m68k/ffs.c (ffs): Likewise.
3222         * sysdeps/generic/ffs.c (ffs): Likewise.
3223         * sysdeps/m88k/ffs.c (ffs): Likewise.
3224         * sysdeps/am29k/ffs.c (ffs): Likewise.
3225         * sysdeps/i960/ffs.c (ffs): Likewise.
3226         * sysdeps/x86_64/ffs.c (ffs): Likewise.
3227
3228         * Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0.
3229
3230         * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
3231         __libc_siglongjmp): Remove symbol_version.
3232         * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
3233         Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
3234         * sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
3235         unconditionally.
3236         * sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
3237         * sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
3238         strong_alias instead of default_symbol_version, remove
3239         symbol_version.
3240         * sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
3241         * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
3242         into strong_alias to __novmxsetjmp.
3243         (__vmx__setjmp): Similarly with __vmxsetjmp.
3244         (__setjmp): Make it strong_alias to __vmx__setjmp, remove
3245         default_symbol_version and symbol_version.
3246         * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
3247         into strong_alias to __novmxsetjmp.
3248         (__vmx__setjmp): Similarly with __vmxsetjmp.
3249         (__setjmp): Make it strong_alias to __vmx__setjmp, remove
3250         default_symbol_version and symbol_version.
3251
3252         * nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.
3253
3254 2004-07-05  Ulrich Drepper  <drepper@redhat.com>
3255
3256         * elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro.
3257
3258 2004-07-04  Matthew Reppert  <arashi@kai.vm.bytemark.co.uk>
3259
3260         * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Use libc_hidden_ver
3261         instead of libc_hidden_def.
3262
3263 2004-07-01  Roland McGrath  <roland@redhat.com>
3264
3265         * aclocal.m4: Add provide for AC_CONFIG_AUX_DIR_DEFAULT.
3266
3267         * Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level
3268         $(..)shlib-versions file to last in deps list.  This lets add-ons give
3269         more-specific matches that override defaults in the top-level file.
3270
3271         * sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was
3272         already set, don't set it or libc_cv_gcc_unwind_find_fde.
3273         * sysdeps/unix/sysv/linux/configure: Regenerated.
3274
3275 2004-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3276
3277         * sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES]
3278         (__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction.
3279         (__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction.
3280         * sysdeps/s390/fpu/e_sqrt.c: New file.
3281         * sysdeps/s390/fpu/e_sqrtf.c: New file.
3282         * sysdeps/s390/Implies: New file.
3283         * sysdeps/s390/s390-32/Implies: Remove ieee754, move
3284         ieee754/dbl-64 and ieee754/flt-32 to s390/Implies.
3285         * sysdeps/s390/s390-64/Implies: Likewise.
3286
3287 2004-06-30  Jakub Jelinek  <jakub@redhat.com>
3288
3289         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h.
3290         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
3291
3292         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start):
3293         DO_CALL (exit, 1) instead of branching to _exit.
3294         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start):
3295         Likewise.
3296
3297         * sysdeps/s390/fpu/bits/mathinline.h: New file.
3298
3299         * include/glob.h (glob64): Add libc_hidden_proto.
3300         * sysdeps/generic/glob64.c (glob64): Add libc_hidden_def.
3301         * sysdeps/gnu/glob64.c (glob64): Likewise.
3302         * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise.
3303
3304 2004-06-11  Jakub Jelinek  <jakub@redhat.com>
3305
3306         * sysdeps/i386/fpu/libm-test-ulps: Update for GCC 3.4.
3307         * sysdeps/s390/fpu/libm-test-ulps: Likewise.
3308
3309 2004-06-11  Dwayne Grant McConnell  <dgm69@us.ibm.com>
3310
3311         * sysdeps/powerpc/fpu/s_lround.c: Removed.
3312         * sysdeps/powerpc/fpu/s_lroundf.c: Removed.
3313         * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file.
3314         * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file.
3315         * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file.
3316         * sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file.
3317         * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed.
3318         * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file.
3319         * sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file.
3320         * sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file.
3321         * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file.
3322         * sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file.
3323         * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file.
3324         * sysdeps/powerpc/powerpc32/fpu/s_round.S: New file.
3325         * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file.
3326         * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file.
3327
3328 2004-06-30  Ulrich Drepper  <drepper@redhat.com>
3329
3330         * include/net/if.h: Handle if_nameindex and if_freenameindex with
3331         libc_proto_hidden.
3332         * sysdeps/unix/sysv/linux/netlinkaccess.h: New file.
3333         * sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions.
3334         * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using
3335         netlink if possible.  Fall back on ioctl method if necessary.
3336         * sysdeps/unix/sysv/linux/Dist: Add netlinkaccess.h.
3337
3338         * include/unistd.h: Declare __truncate.
3339         * sysdeps/generic/truncate.c: Also define __truncate.
3340         * sysdeps/mach/hurd/truncate.c: Likewise.
3341         * sysdeps/unix/common/syscalls.list: Likewise.
3342         * sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate.
3343
3344 2004-06-29  Ulrich Drepper  <drepper@redhat.com>
3345
3346         * stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize
3347         info.extra.  Patch by Marcus Meissner.
3348
3349 2004-06-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3350
3351         * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
3352         Fix branch offset for a PLT entry.
3353
3354 2004-06-20  Jim Meyering  <jim@meyering.net>
3355
3356         * malloc/obstack.h (obstack_base): Cast to `void *', to align with
3357         documentation.
3358
3359 2004-06-28  Ulrich Drepper  <drepper@redhat.com>
3360
3361         * inet/bug-if1.c (do_test): Simply use 0 as invalid index.
3362         Workaround for [BZ #232].
3363
3364         * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Use extend_alloca.
3365
3366 2004-06-28  GOTO Masanori  <gotom@debian.or.jp>
3367
3368         * iconv/gconv_simple.c: Use get16/put16 for user given buffer
3369         in ucs2/ucs2reverse when unaligned memory access is attempted.
3370         * iconv/tst-iconv5.c: New file.
3371         * iconv/Makefile (tests): Add tst-iconv5.
3372
3373 2004-06-28  Jakub Jelinek  <jakub@redhat.com>
3374
3375         * inet/bug-if1.c: Include <string.h>.
3376
3377 2004-06-19  Roland McGrath  <roland@redhat.com>
3378
3379         * sysdeps/posix/waitid.c (do_waitid) [DO_WAITID]: Define function
3380         under this macro name instead.
3381         [NO_DO_WAITID]: Don't define it at all.
3382         (do_waitid) [WNOWAIT, WEXITED]: If these POSIX.1 waitid flag bits are
3383         defined, then return ENOTSUP for combinations of selection bits other
3384         than WEXITED and WEXITED|WSTOPPED, which this version cannot support.
3385
3386         * posix/tst-waitid.c: New file.
3387         * posix/Makefile (tests): Add it.
3388
3389 2004-06-28  Jakub Jelinek  <jakub@redhat.com>
3390
3391         * sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo.
3392
3393         [BZ #231]
3394         * sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp
3395         relocation in librt.so.
3396
3397         [BZ #230]
3398         * sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load
3399         _dl_skip_args.  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
3400
3401 2004-06-27  Ulrich Drepper  <drepper@redhat.com>
3402
3403         * elf/ldconfig.c (add_dir): Take chroot into account.
3404         Based on changes by HJ Lu and Hideki Iwamoto.
3405
3406         * nscd/connections.c (invalidate_cache): If the host cache has to
3407         be invalidated, re-read resolv.conf.
3408
3409         * resolv/resolv.h (RES_NOIP6DOTINT): Define.
3410         * resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option.
3411         * resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int
3412         if RES_NOIP6DOTINT flag is set.
3413         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
3414
3415 2004-06-25  Jakub Jelinek  <jakub@redhat.com>
3416
3417         * sysdeps/unix/sysv/linux/powerpc/fcntl.c: Move to...
3418         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: ... here.
3419         * sysdeps/unix/sysv/linux/powerpc/lockf64.c: Move to...
3420         * sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: ... here.
3421         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: New file.
3422
3423         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_GETLK, F_SETLK,
3424         F_SETLKW): Fix values for -m32 -D_FILE_OFFSET_BITS=64.
3425
3426 2004-06-21  Jakub Jelinek  <jakub@redhat.com>
3427
3428         [BZ #231]
3429         * sysdeps/unix/alpha/Makefile: New file.
3430         * sysdeps/unix/alpha/rt-sysdep.S: New file.
3431         Reported by Jakub Bogusz <qboosh@pld-linux.org>.
3432
3433 2004-06-18  Ulrich Drepper  <drepper@redhat.com>
3434
3435         * sysdeps/posix/getaddrinfo.c (gaih_inet): For AI_CANONNAME,
3436         determine the canonical name only for the first returned entry.
3437
3438         * inet/bug-if1.c: New file.
3439         * inet/Makefile (tests): Add bug-if1.
3440
3441 2004-06-18  Roland McGrath  <roland@frob.com>
3442
3443         * Makerules (compile-mkdep-flags): Add -MT $@.
3444
3445         * Makefile (dist, tag-for-dist): New targets.
3446         (files-for-dist, tag-of-stem): New variables.
3447         (glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule.
3448         Make tar files using cvs export.
3449         (%.bz2, %.gz, tag-%): New pattern rules.
3450         (distribute): Variable removed.
3451         (+subdir_targets): Remove distinfo targets.
3452         (echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed.
3453         (rpm/%): Pattern rule removed.
3454         * rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed.
3455         * Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist):
3456         Targets removed.
3457         * Makerules (dist, subdir_distinfo): Targets removed.
3458         ($(objpfx)distinfo): Depend on $(distribute).
3459         * Make-dist: File removed.
3460
3461         * NEWS: Fix a typo.  Update bug-reporting instructions.
3462
3463 2004-06-17  Thorsten Kukuk  <kukuk@suse.de>
3464
3465         * sysdeps/unix/sysv/linux/sched_setaffinity.c
3466         (__sched_setaffinity_new): Set errno to EINVAL and return -1 if
3467         cpuset is wrongly set.
3468
3469 2004-06-15  Steven Munroe  <sjmunroe@us.ibm.com>
3470
3471         * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
3472         for POWER4 machines.
3473
3474 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
3475
3476         [BZ #218]
3477         * sunrpc/pmap_prot2.c (xdr_pmaplist): When freeing, remember pml_next
3478         in a local variable, point rp to that local variable afterwards.
3479
3480 2004-06-11  Jakub Jelinek  <jakub@redhat.com>
3481
3482         * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Handle special
3483         cases properly.
3484
3485 2004-06-17  Ulrich Drepper  <drepper@redhat.com>
3486
3487         * sysdeps/unix/sysv/linux/if_index.c (if_indextoname): Correct
3488         error value for unknown interface. [BZ #198]
3489
3490 2004-06-13  Jakub Jelinek  <jakub@redhat.com>
3491
3492         * sysdeps/i386/bits/string.h (memcpy): Add () around arguments.
3493         (memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c,
3494         __strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory
3495         the asm uses as its input, either of size __n where __n is known or
3496         0xfffffff.
3497         (strstr): Add "memory" clobber.
3498
3499 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
3500
3501         [BZ #219]
3502         * nss/nsswitch.c (free_mem): Don't try to close a library handle
3503         if the handle is invalid.  Patch by David Kimdon <kimdon@esrf.fr>.
3504
3505 2004-06-11  Dmitry V. Levin  <ldv@altlinux.org>
3506
3507         [BZ #217]
3508         * debug/xtrace.sh: Fix typo in error diagnostics.
3509
3510 2004-06-14  Andreas Schwab  <schwab@suse.de>
3511
3512         * stdio-common/psignal.c (psignal): Don't use BUF when asprintf
3513         failed.
3514
3515 2004-06-15  Steven Munroe  <sjmunroe@us.ibm.com>
3516
3517         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Fix pasto
3518         that clobbers r19.  Fix pasto that overflowed sigcontext.v_reserve.
3519         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Fix pasto
3520         that clobbers r19.
3521         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Fix pasto
3522         that clobbers r19.  Fix pasto that overflowed sigcontext.v_reserve.
3523         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S:
3524         Fix setting of sigcontext.v_regs.  Fix pasto that clobbers r19.
3525         Fix pasto that overflowed sigcontext.v_reserve.
3526         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S:
3527         Fix pasto that clobbers r19.
3528         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Fix setting