* sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
authorRoland McGrath <roland@gnu.org>
Mon, 10 Mar 2003 09:11:13 +0000 (09:11 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 10 Mar 2003 09:11:13 +0000 (09:11 +0000)
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).

ChangeLog
nptl/ChangeLog
sysdeps/i386/sysdep.h
sysdeps/unix/Makefile
sysdeps/unix/make-syscalls.sh

index 52ae17a..5ce1391 100644 (file)
--- 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
index ba58d28..b09d648 100644 (file)
@@ -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.
index 9fa7f8d..e955b43 100644 (file)
   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
index 0d8284e..18de414 100644 (file)
@@ -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))
index 2c384f5..1d293cf 100644 (file)
@@ -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
   *@*)