2004-04-29 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT
entries.
[BZ #140]
* sysdeps/unix/sysv/linux/sys/sysctl.h: Remove linux/compiler.h
include.
(_LINUX_KERNEL_H, _LINUX_TYPES_H, _LINUX_LIST_H): Only define if not
yet defined, #undef back after including linux/sysctl.h if defined
here.
(__LINUX_COMPILER_H, __user): Define if not yet defined, #undef
back after including linux/sysctl.h if defined here.
2004-04-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31
for single precision register, add it to __asm clobbers [BZ #139].
* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31
for single precision register, add it to __asm clobbers.
* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox
instead of fqtoi in QP_HANDLE_EXCEPTIONS.
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise.
Reported by M. H. VanLeeuwen <vanl@megsinet.net>.
2004-04-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31
for single precision register, add it to __asm clobbers [BZ #139].
* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31
for single precision register, add it to __asm clobbers.
* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox
instead of fqtoi in QP_HANDLE_EXCEPTIONS.
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise.
Reported by M. H. VanLeeuwen <vanl@megsinet.net>.
(parse_conf): Call it to parse lines starting with "include".
Remaining words are glob patterns for more config files to read.
Take additional bool argument to disable opt_chroot processing.
(main): Update caller.
of duplicated code from __yp_bind.
(__yp_bind_file): New, binding dir code from __yp_bind.
(__yp_bind_client_create): New, ypbind code from __yp_bind.
(__ypclnt_call): New, make NIS query.
(do_ypcall): At first use cached data, then try data from
binding directory, after this ask ypbind for a working ypserv.
Based on a patch from Jeff Bastian <jmbastia@ti.com> and
Chris Barrera <cbarrera@ti.com>
register as second parameter to the REGISTER macro.
* sysdeps/ia64/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/powerpc/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/sh/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/sparc/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/s390/tls.h (DB_THREAD_SELF): Pass __WORDSIZE as bit size
of thread register as second parameter to REGISTER macro in 64 case.
(time_t_is_integer, twos_complement_arithmetic,
right_shift_propagates_sign, base_year_is_a_multiple_of_100,
C99_integer_division): Document these longstanding assumptions in the
code, and verify them at compile-time.
* time/mktime.c (verify): New macro.
(time_t_is_integer, twos_complement_arithmetic,
right_shift_propagates_sign, base_year_is_a_multiple_of_100,
C99_integer_division): Document these longstanding assumptions in the
code, and verify them at compile-time.
Remove. All uses changed to __localtime_r.
(__localtime_r) [!defined _LIBC]: New macro. Include "time_r.h" to
get its implementation.
Fix compile-command to allow for TIME_R_POSIX.
* time/strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r):
Remove. All uses changed to __localtime_r and __gmtime_r.
(__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
Include "time_r.h" to get their implementations.
* time/timegm.c: Allow use in GNU applications outside glibc.
[defined HAVE_CONFIG_H]: Include <config.h>.
[!defined _LIBC]: Include "timegm.h", <time_r.h>.
Define __gmtime_r, and declare __mktime_internal.
(timegm): Define via a prototype, since we can safely assume C89 now.
"long" -> "long int", as per usual GNU style.
(main): Likewise.
Don't loop if the iteration overflows time_t.
Allow a negative step in the iteration.
* time/mktime.c: Assume freestanding C89 or better.
(HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove;
assume they're 1.
(__P): Remove; not used.
(CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
(mktime, not_equal_tm, print_tm, check_result, main): Use prototypes.
Prototypes use const * where appropriate.
(main) [DEBUG]: Fix typo in testing code uncovered by above changes,
which caused the testing code to dump core on some hosts.
* time/mktime.c (check_result): Use less-confusing report format.
"long" -> "long int", as per usual GNU style.
(main): Likewise.
Don't loop if the iteration overflows time_t.
Allow a negative step in the iteration.
* time/mktime.c: Assume freestanding C89 or better.
(HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove;
assume they're 1.
(__P): Remove; not used.
(CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
(mktime, not_equal_tm, print_tm, check_result, main): Use prototypes.
Prototypes use const * where appropriate.
(main) [DEBUG]: Fix typo in testing code uncovered by above changes,
which caused the testing code to dump core on some hosts.
* locales/hr_HR: Correct the email address of Tomislav Vujec.
* locales/ja_JP: Document EUC-JP as the recommended charset.
* locales/ko_KR: List Won-kyu Park as the author/contact for the
locale.
* locales/ru_UA: Correct the email address of Denis V. Dmitrienko.
* Makefile (tests): Add it.
(tst-oddstacklimit-ENV): New variable.
* init.c (__pthread_initialize_minimal_internal): Round stack rlimit
value up to page size for __default_stacksize.
* structs.def: Use it for __nptl_create_event and __nptl_death_event.
* db_info.c (DB_FUNCTION): New macro.
* td_symbol_list.c (DB_FUNCTION): New macro, prepend "." to symbol
name under [HAVE_ASM_GLOBAL_DOT_NAME].
(td_lookup) [HAVE_ASM_GLOBAL_DOT_NAME]: If lookup fails with PS_NOSYM
and name starts with a dot, try it without the dot.
* thread_dbP.h (DB_FUNCTION): New macro.
* structs.def: Use it for __nptl_create_event and __nptl_death_event.
* db_info.c (DB_FUNCTION): New macro.
* td_symbol_list.c (DB_FUNCTION): New macro, prepend "." to symbol
name under [HAVE_ASM_GLOBAL_DOT_NAME].
(td_lookup) [HAVE_ASM_GLOBAL_DOT_NAME]: If lookup fails with PS_NOSYM
and name starts with a dot, try it without the dot.
2003-10-15 Roland McGrath <roland@redhat.com>
* elf/dl-iteratephdr.c [! SHARED] (dl_iterate_phdr): New function.
Fake an entry for the main executable and then call __dl_iterate_phdr.
* elf/Makefile (routines): Remove dl-iteratephdr-static.
(elide-routines.os): Likewise.
(CFLAGS-dl-iterate-phdr-static.c): Variable removed.
* sysdeps/generic/dl-iteratephdr-static.c: File removed.
* sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: File removed.
Don't check for zero __libc_stack_end, it should be initialized.
[_STACK_GROWS_DOWN] [PROT_GROWSDOWN]: Try using PROT_GROWSDOWN flag
and fall back if it fails with EINVAL.
[_STACK_GROWS_UP] [PROT_GROWSUP]: Likewise for PROT_GROWSUP.
* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable):
Don't check for zero __libc_stack_end, it should be initialized.
[_STACK_GROWS_DOWN] [PROT_GROWSDOWN]: Try using PROT_GROWSDOWN flag
and fall back if it fails with EINVAL.
[_STACK_GROWS_UP] [PROT_GROWSUP]: Likewise for PROT_GROWSUP.