diff options
author | Roland McGrath <roland@gnu.org> | 2003-03-10 09:11:13 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-03-10 09:11:13 +0000 |
commit | e48f96382f237c0edad5c446eca867092406a51d (patch) | |
tree | 0cc492aa8b714292edaed64529ac9ae0bf523b2e | |
parent | 073e82bfaeeb5624b2c85012a5582a1308ddae05 (diff) | |
download | glibc-e48f96382f237c0edad5c446eca867092406a51d.tar.gz glibc-e48f96382f237c0edad5c446eca867092406a51d.tar.xz glibc-e48f96382f237c0edad5c446eca867092406a51d.zip |
* sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
assembler command. * sysdeps/unix/Makefile (compile-syscall): New variable. Pass -g0 to compiler for assembling syscall stubs from stdin. * sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO] (STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END): Define these to do nothing. * configure.in: New check for -g on .S files. * configure: Regenerated. * config.make.in (have-cpp-asm-debuginfo): New variable. * config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef. * Makeconfig (ASFLAGS): New variable, if undefined and $(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS). * Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | nptl/ChangeLog | 33 | ||||
-rw-r--r-- | sysdeps/i386/sysdep.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/Makefile | 8 | ||||
-rw-r--r-- | sysdeps/unix/make-syscalls.sh | 2 |
5 files changed, 69 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 52ae17aece..5ce1391cfe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2003-03-10 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for + assembler command. + * sysdeps/unix/Makefile (compile-syscall): New variable. + Pass -g0 to compiler for assembling syscall stubs from stdin. + + * sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO] + (STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END): + Define these to do nothing. + + * configure.in: New check for -g on .S files. + * configure: Regenerated. + * config.make.in (have-cpp-asm-debuginfo): New variable. + * config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef. + * Makeconfig (ASFLAGS): New variable, if undefined and + $(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS). + * Makerules (compile.S, COMPILE.S): Use $(ASFLAGS). + 2003-03-09 Roland McGrath <roland@redhat.com> * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args diff --git a/nptl/ChangeLog b/nptl/ChangeLog index ba58d28da8..b09d648e75 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,36 @@ +2003-03-10 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/lowlevelcond.sym: New file. + * sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add it. + * sysdeps/unix/sysv/linux/sh/lowlevelcond.h: File removed. + * sysdeps/unix/sysv/linux/i386/lowlevelcond.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: Likewise. + + * allocatestack.c (allocate_stack) [!TLS_MULTIPLE_THREADS_IN_TCB]: + Instead of setting PD->multiple_threads, set globals + __pthread_multiple_threads and __libc_multiple_threads. + * sysdeps/pthread/createthread.c (create_thread): Likewise. + * sysdeps/i386/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it. + * sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Likewise. + + * descr.h (struct pthread): Conditionalize first member on + [!TLS_DTV_AT_TP]. Replace the `header' member with an anonymous union + containing an anonymous tcbhead_t. Move `list' member out. + [TLS_MULTIPLE_THREADS_IN_TCB]: Define a `multiple_threads' member. + * allocatestack.c: Remove use of `header.data.' prefix. + * pthread_create.c: Likewise. + * init.c (__pthread_initialize_minimal_internal): Likewise. + * sysdeps/pthread/createthread.c (create_thread): Likewise. + * sysdeps/i386/tls.h (INSTALL_DTV): Add parens. + (THREAD_SELF, THREAD_DTV, INSTALL_NEW_DTV): No `header.data.' prefix. + * sysdeps/x86_64/tls.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h + (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h + (SINGLE_THREAD_P): Likewise. + * sysdeps/i386/tls.h (tcbhead_t): Remove `list' member. + * sysdeps/s390/tls.h (tcbhead_t): Likewise. + 2003-03-09 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file. diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h index 9fa7f8de68..e955b43f95 100644 --- a/sysdeps/i386/sysdep.h +++ b/sysdeps/i386/sysdep.h @@ -64,6 +64,14 @@ ASM_SIZE_DIRECTIVE(name) \ STABS_FUN_END(name) +#ifdef HAVE_CPP_ASM_DEBUGINFO +/* Disable that goop, because we just pass -g through to the assembler + and it generates proper line number information directly. */ +# define STABS_CURRENT_FILE1(name) +# define STABS_CURRENT_FILE(name) +# define STABS_FUN(name) +# define STABS_FUN_END(name) +#else /* Remove the following two lines once the gdb bug is fixed. */ #define STABS_CURRENT_FILE(name) \ STABS_CURRENT_FILE1 (#name) @@ -77,6 +85,7 @@ .stabs #namestr,36,0,0,name; #define STABS_FUN_END(name) \ 1: .stabs "",36,0,0,1b-name; +#endif /* If compiled for profiling, call `mcount' at the start of each function. */ #ifdef PROF diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile index 0d8284ecd3..18de414341 100644 --- a/sysdeps/unix/Makefile +++ b/sysdeps/unix/Makefile @@ -1,4 +1,5 @@ -# Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. +# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003 +# Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -286,6 +287,11 @@ endif export sysdirs export asm_CPP := $(COMPILE.S) -E -x assembler-with-cpp +# This is the end of the pipeline for compiling the syscall stubs. +# The stdin in assembler with cpp using sysdep.h macros. +# Be sure to disable debugging info since it would all just say "<stdin>". +compile-syscall = $(filter-out -g%,$(COMPILE.S)) -x assembler-with-cpp -o $@ - + ifndef avoid-generated $(common-objpfx)sysd-syscalls: $(..)sysdeps/unix/make-syscalls.sh \ $(wildcard $(+sysdep_dirs:%=%/syscalls.list)) diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh index 2c384f5e92..1d293cf9f2 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -198,7 +198,7 @@ shared-only-routines += $file done # And finally, pipe this all into the compiler. - echo ' ) | $(COMPILE.S) -x assembler-with-cpp -o $@ -' + echo ' ) | $(compile-syscall)' case $weak in *@*) |