2003-09-28 Alfred M. Szmidt <ams@kemisten.nu>
* sysdeps/mach/hurd/bits/libc-lock.h (__libc_cleanup_pop):
Redefine and use __libc_cleanup_region_end instead.
2003-09-29 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Use __inline and
fix prototypes for picky C++ compilers.
2003-09-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ustat.c (ustat): Set errno to EINVAL if
the device ID is invalid and return -1.
* sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise.
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.
2003-09-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: Include
sysdeps/i386/dl-procinfo.c instead of
sysdeps/unix/sysv/linux/i386/dl-procinfo.c.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Avoid using
#include_next.
GL(dl_stack_flags) according to rtld's own PT_GNU_STACK.
Move GL(dl_make_stack_executable_hook) initialization up.
* elf/tst-execstack-prog.c: New file.
* elf/Makefile (tests-execstack-yes): Add it.
(LDFLAGS-tst-execstack-prog): New variable.
calling _dl_start, using GOTOFF access.
* configure.in (libc_cv_z_execstack): New check.
* configure: Regenerated.
* config.make.in (have-z-execstack): New variable set by it.
* elf/tst-execstack.c: New file.
* elf/tst-execstack-mod.c: New file.
* elf/tst-execstack-needed.c: New file.
* elf/Makefile (tests-execstack-yes, modules-execstack-yes): New
variables.
(tests, modules-names): Conditionally include them.
(distribute): Add tst-execstack-mod.c here.
($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets.
(LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables.
($(objpfx)tst-execstack-needed): New target.
(LDFLAGS-tst-execstack-needed): New variable.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags
and _dl_make_stack_executable_hook. Declare _dl_make_stack_executable.
* elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags.
(dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr.
Initialize _dl_make_stack_executable_hook.
* elf/dl-support.c: Define those new variables.
(_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK.
(_dl_phdr): Fix type.
* elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and
enable execute permission for the stack if necessary.
* sysdeps/generic/dl-execstack.c: New file.
* elf/Makefile (dl-routines): Add it.
* elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable.
* sysdeps/unix/sysv/linux/dl-execstack.c: New file.
2003-09-20 Alfred M. Szmidt <ams@kemisten.nu>
* sysdeps/generic/utmp_file.c (setutent_file, LOCK_FILE,
UNLOCK_FILE, setutent_file): Use fcntl_not_cancel instead of
__fcntl_nocancel.
* posix/regcomp.c (build_word_op): Rename like...
(build_charclass_op): ...this. Accept two extra parameters,
CLASS_NAME and EXTRA. Add EXTRA to the result, not only _.
(peek_token): accept \s and \S as OP_SPACE and OP_NOTSPACE.
(parse_expression): replace build_word_op with
build_charclass_op, add new arguments, accept OP_SPACE
and OP_NOTSPACE.
* posix/regex_internal.h (re_token_type_t): Add OP_SPACE
and OP_NOTSPACE.
2003-09-20 Paolo Bonzini <bonzini@gnu.org>
* posix/regcomp.c (peek_token): Don't look back for ( or |
to check whether to treat a caret as special. It fails
for the (extended) regex \(^.
(parse, parse_reg_exp): Pass RE_CARET_ANCHORS_HERE to fetch_token.
* posix/regex.h: Define RE_CARET_ANCHORS_HERE.
* posix/regexec.c: Check out of bounds value before shifting.
* posix/regex_internal.h: Define __attribute for non-gcc.
2003-09-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/getcwd.c (__getcwd): If compiled for
ld.so, don't include NULL buffer pointer handling.
2003-09-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/wordexp.c (eval_expr_val): Use strtol since we
have to recognize octal and hexadecimal numbers as well. Simplify
function, signs are handled in strtol.
* posix/wordexp-test.c: Add tests for octal and hexadecimal
numbers in arithmetic expressions.
2003-09-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu
subdir, add -mpreferred-stack-boundary=4, with few exceptions.
2003-09-17 Jakub Jelinek <jakub@redhat.com>
* Makeconfig (stack-align-test-flags): Set.
* stdlib/Makefile (CFLAGS-tst-bsearch.c): Add
$(stack-align-test-flags).
* stdlib/tst-bsearch.c: Include tst-stack-align.h.
(align_check): New var.
(comp): Use TEST_STACK_ALIGN macro.
(do_test): Fail if align_check != 1.
* sysdeps/generic/tst-stack-align.h: New file.
* sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse.
* sysdeps/i386/i686/tst-stack-align.h: New file.
2003-09-17 Jakub Jelinek <jakub@redhat.com>
* dirent/scandir.c: Include bits/libc-lock.h.
(struct scandir_cancel_struct): New type.
(cancel_handler): New function.
(SCANDIR): Add __libc_cleanup_{push,pop}, save state into
scandir_cancel_struct.
2003-09-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/Dist: Remove internal_statvfs.c.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
Add internal_statvfs.
* sysdeps/unix/sysv/linux/fstatvfs.c: Call __internal_statvfs
instead of including "internal_statvfs.c".
* sysdeps/unix/sysv/linux/statvfs.c: Likewise.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Make it a real function.
Add code to avoid the stat calls on all the reported mount points
when we can determine mismatch in advance.
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Add AUTOFS_SUPER_MAGIC and
USBDEVFS_SUPER_MAGIC.
2003-09-16 Jakub Jelinek <jakub@redhat.com>
* posix/Versions (sched_getaffinity, sched_setaffinity): Change
from GLIBC_2.3.2 to GLIBC_2.3.3 symbol version.
2003-09-16 Bruno Haible <bruno@clisp.org>
* intl/tst-gettext2.sh: Set GCONV_PATH and LOCPATH only after
invoking msgfmt, not before.
2003-09-14 Ulrich Drepper <drepper@redhat.com>
* dirent/dirent.h: Remove __THROW from scandir.
2003-09-14 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap.S: Use sys_mmap2 if it's known
to be available.
* sysdeps/unix/sysv/linux/arm/mmap64.S: Optimise code a little.
* sysdeps/arm/memset.S: Rewrite.