[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r5084 - in /fsf/trunk/libc: ./ elf/ manual/ nptl/ nptl/sysdeps/unix/sysv/linux/x86_64/ sysdeps/unix/



Author: eglibc
Date: Fri Feb  8 00:07:07 2008
New Revision: 5084

Log:
Import glibc-mainline for 2008-02-08

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makeconfig
    fsf/trunk/libc/Makerules
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/elf/elf.h
    fsf/trunk/libc/elf/rtld-Rules
    fsf/trunk/libc/manual/libc.texinfo
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/Makeconfig
    fsf/trunk/libc/nptl/Makefile
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
    fsf/trunk/libc/sysdeps/unix/Makefile
    fsf/trunk/libc/sysdeps/unix/make-syscalls.sh

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Feb  8 00:07:07 2008
@@ -1,3 +1,35 @@
+2008-02-06  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* Makerules ($(common-objpfx)sysd-rules):
+	Depend on $(sysdep-makeconfigs).
+
+2008-01-31  Roland McGrath  <roland@xxxxxxxxxx>
+
+	[BZ #5442]
+	* configure.in: Use -print-file-name if it yields a directory,
+	for each of include and include-fixed.
+	* configure: Regenerated.
+
+	* Makeconfig (sysd-rules-targets): New variable.
+	* sysdeps/unix/make-syscalls.sh: Use it in the rules emitted.
+	* sysdeps/unix/Makefile (omit-deps): Append variants for each target.
+
+2008-01-30  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* manual/libc.texinfo: Update back-cover text.
+
+	* elf/elf.h (NT_386_TLS): New macro.
+
+2008-01-29  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* Makeconfig (sysd-rules-patterns): New variable.
+	* Makerules ($(common-objpfx)sysd-rules): Drive the loop from that.
+	(check-inhibit-asm): New canned sequence, replaces ...
+	(open-check-inhibit-asm, close-check-inhibit-asm): ... these, removed.
+	* elf/rtld-Rules ($(objpfx)rtld-%.os): Use $(rtld-CPPFLAGS) in commands.
+	(rtld-CPPFLAGS): Renamed from CPPFLAGS-rtld.
+	(CFLAGS-rtld): Variable removed.
+
 2008-01-24  Roland McGrath  <roland@xxxxxxxxxx>
 
 	* configure.in: Let configure fragments set base_os.

Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Fri Feb  8 00:07:07 2008
@@ -1,4 +1,5 @@
-# Copyright (C) 1991-2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+# Copyright (C) 1991-2003,2004,2005,2006,2007,2008
+#	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
@@ -931,12 +932,21 @@
 $(all-Depend-files): ;
 endif
 
+# This gives partial TARGET:SOURCE pattern pairs to have rules
+# emitted into sysd-rules.  A sysdeps Makeconfig fragment can
+# add its own special object file prefix to this list with e.g. foo-%:%
+# to have foo-*.? compiled from *.? using $(foo-CPPFLAGS).
+sysd-rules-patterns := %:% rtld-%:% m_%:s_%
+
 # Let sysdeps/ subdirs contain a Makeconfig fragment for us to include here.
 sysdep-makeconfigs := $(wildcard $(+sysdep_dirs:=/Makeconfig))
 ifneq (,$(sysdep-makeconfigs))
 include $(sysdep-makeconfigs)
 endif
 
+# Compute just the target patterns.  Makeconfig has set sysd-rules-patterns.
+sysd-rules-targets := $(foreach p,$(sysd-rules-patterns),\
+		      		$(firstword $(subst :, ,$p)))
 
 endif # Makeconfig not yet included
 

Modified: fsf/trunk/libc/Makerules
==============================================================================
--- fsf/trunk/libc/Makerules (original)
+++ fsf/trunk/libc/Makerules Fri Feb  8 00:07:07 2008
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1991-2006, 2007, 2008 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
@@ -207,10 +207,9 @@
 # patterns matching sysdep directories whose assembly source files should
 # be suppressed.
 ifdef inhibit-sysdep-asm
-define open-check-inhibit-asm
-case $$sysdir in $(subst $(empty) ,|,$(inhibit-sysdep-asm))) : ;; *)
-endef
-close-check-inhibit-asm = ;; esac ;
+define check-inhibit-asm
+case $$sysdir in $(subst $(empty) ,|,$(inhibit-sysdep-asm))) asm= ;; esac;
+endef
 endif
 
 -include $(common-objpfx)sysd-rules
@@ -221,7 +220,8 @@
 FORCE:
 endif
 $(common-objpfx)sysd-rules: $(common-objpfx)config.make $(..)Makerules \
-			    $(sysdep-makefiles) $(sysd-rules-force)
+			    $(sysdep-makefiles) $(sysdep-makeconfigs) \
+			    $(sysd-rules-force)
 	-@rm -f $@T
 	(echo 'sysd-rules-sysdirs := $(config-sysdirs)';		      \
 	 for dir in $(config-sysdirs); do				      \
@@ -229,36 +229,22 @@
 	   /*) ;;							      \
 	   *) dir="\$$(..)$$dir" ;;					      \
 	   esac;							      \
-	   for o in $(all-object-suffixes); do \
-	     $(open-check-inhibit-asm) \
-	     echo "\$$(objpfx)%$$o: $$dir/%.S \$$(before-compile); \
-		  \$$(compile-command.S)";				      \
-	     echo "\$$(objpfx)%$$o: $$dir/%.s \$$(before-compile); \
-		  \$$(compile-command.s)";			              \
-	     echo "\$$(objpfx)rtld-%$$o: $$dir/%.S \$$(before-compile); \
-		  \$$(compile-command.S)";				      \
-	     echo "\$$(objpfx)rtld-%$$o: $$dir/%.s \$$(before-compile); \
-		  \$$(compile-command.s)";			              \
-	     echo "\$$(objpfx)ptw-%$$o: $$dir/%.S \$$(before-compile); \
-		  \$$(compile-command.S) -DPTW";			      \
-	     echo "\$$(objpfx)ptw-%$$o: $$dir/%.s \$$(before-compile); \
-		  \$$(compile-command.s) -DPTW";		              \
-	     echo "\$$(objpfx)m_%$$o: $$dir/s_%.S \$$(before-compile); \
-		  \$$(compile-command.S)";				      \
-	     echo "\$$(objpfx)m_%$$o: $$dir/s_%.s \$$(before-compile); \
-		  \$$(compile-command.s)";			              \
-	     $(close-check-inhibit-asm)	\
-	     echo "\$$(objpfx)%$$o: $$dir/%.c \$$(before-compile); \
-		  \$$(compile-command.c)";				      \
-	     echo "\$$(objpfx)rtld-%$$o: $$dir/%.c \$$(before-compile); \
-		  \$$(compile-command.c)";				      \
-	     echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \
-		  \$$(compile-command.c) -DPTW";			      \
-	     echo "\$$(objpfx)m_%$$o: $$dir/s_%.c \$$(before-compile); \
-		  \$$(compile-command.c)";				      \
-	   done; \
-	   echo "\$$(inst_includedir)/%.h: $$dir/%.h \$$(+force); \
-	   	 	\$$(do-install)"; 				      \
+	   asm='.S .s';							      \
+	   $(check-inhibit-asm)						      \
+	   for o in $(all-object-suffixes); do				      \
+	     set $(subst :, ,$(sysd-rules-patterns));			      \
+	     while [ $$# -ge 2 ]; do					      \
+	       t=$$1; shift; 						      \
+	       d=$$1; shift;						      \
+	       v=$${t%%%}; [ x"$$v" = x ] || v="\$$($${v}CPPFLAGS)";	      \
+	       for s in $$asm .c; do					      \
+		 echo "\$$(objpfx)$$t$$o: $$dir/$$d$$s \$$(before-compile)";  \
+		 echo "	\$$(compile-command$$s) $$v";			      \
+	       done;							      \
+	     done;							      \
+	   done;							      \
+	   echo "\$$(inst_includedir)/%.h: $$dir/%.h \$$(+force)";	      \
+	   echo "	\$$(do-install)"; 				      \
 	 done;								      \
 	 echo 'sysd-rules-done = t') > $@T
 	mv -f $@T $@

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Fri Feb  8 00:07:07 2008
@@ -5065,8 +5065,12 @@
 # header directory and add that to the list.  NOTE: Only does the right
 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
 if test -n "$sysheaders"; then
-  ccheaders=`$CC -print-file-name=include`
-  SYSINCLUDES="-nostdinc -isystem $ccheaders \
+  SYSINCLUDES=-nostdinc
+  for d in include include-fixed; do
+    i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" &&
+    SYSINCLUDES="$SYSINCLUDES -isystem $i"
+  done
+  SYSINCLUDES="$SYSINCLUDES \
 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
   if test -n "$CXX"; then
     cxxversion=`$CXX -dumpversion 2>&5` &&

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Fri Feb  8 00:07:07 2008
@@ -914,8 +914,12 @@
 # header directory and add that to the list.  NOTE: Only does the right
 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
 if test -n "$sysheaders"; then
-  ccheaders=`$CC -print-file-name=include`
-  SYSINCLUDES="-nostdinc -isystem $ccheaders \
+  SYSINCLUDES=-nostdinc
+  for d in include include-fixed; do
+    i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
+    SYSINCLUDES="$SYSINCLUDES -isystem $i"
+  done
+  SYSINCLUDES="$SYSINCLUDES \
 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
   if test -n "$CXX"; then
     cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&

Modified: fsf/trunk/libc/elf/elf.h
==============================================================================
--- fsf/trunk/libc/elf/elf.h (original)
+++ fsf/trunk/libc/elf/elf.h Fri Feb  8 00:07:07 2008
@@ -1,5 +1,6 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995-2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-2003,2004,2005,2006,2007,2008
+	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
@@ -605,6 +606,7 @@
 #define NT_PRFPXREG	20		/* Contains copy of fprxregset struct */
 #define NT_PRXFPREG	0x46e62b7f	/* Contains copy of user_fxsr_struct */
 #define NT_PPC_VMX	0x100		/* PowerPC Altivec/VMX registers */
+#define NT_386_TLS	0x200		/* i386 TLS slots (struct user_desc) */
 
 /* Legal values for the note segment descriptor types for object files.  */
 

Modified: fsf/trunk/libc/elf/rtld-Rules
==============================================================================
--- fsf/trunk/libc/elf/rtld-Rules (original)
+++ fsf/trunk/libc/elf/rtld-Rules Fri Feb  8 00:07:07 2008
@@ -1,6 +1,6 @@
 # Subroutine makefile for compiling libc modules linked into dynamic linker.
 
-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2008 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
@@ -93,9 +93,12 @@
 # These are the basic compilation rules corresponding to the Makerules ones.
 # The sysd-rules generated makefile already defines pattern rules for rtld-%
 # targets built from sysdeps source files.
-$(objpfx)rtld-%.os: %.S $(before-compile); $(compile-command.S)
-$(objpfx)rtld-%.os: %.s $(before-compile); $(compile-command.s)
-$(objpfx)rtld-%.os: %.c $(before-compile); $(compile-command.c)
+$(objpfx)rtld-%.os: %.S $(before-compile)
+	$(compile-command.S) $(rtld-CPPFLAGS)
+$(objpfx)rtld-%.os: %.s $(before-compile)
+	$(compile-command.s) $(rtld-CPPFLAGS)
+$(objpfx)rtld-%.os: %.c $(before-compile)
+	$(compile-command.c) $(rtld-CPPFLAGS)
 
 # The rules for generated source files.
 $(objpfx)rtld-%.os: $(objpfx)%.S $(before-compile); $(compile-command.S)
@@ -118,16 +121,7 @@
 -include $(rtld-depfiles)
 endif
 
-# Just in case we wind up e.g. regenerating dependencies for non-rtld objects,
-# we don't unconditionally modify the flags.  For rtld-% targets, use the
-# special flags set below.
-CFLAGS   += $(if $(filter rtld-%,$(@F)),$(CFLAGS-rtld))
-CPPFLAGS += $(if $(filter rtld-%,$(@F)),$(CPPFLAGS-rtld))
-
-
 # This here is the whole point of all the shenanigans.
-CPPFLAGS-rtld := -DNOT_IN_libc=1 -DIS_IN_rtld=1
-CFLAGS-rtld := # blah
-
+rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1
 
 endif

Modified: fsf/trunk/libc/manual/libc.texinfo
==============================================================================
--- fsf/trunk/libc/manual/libc.texinfo (original)
+++ fsf/trunk/libc/manual/libc.texinfo Fri Feb  8 00:07:07 2008
@@ -30,7 +30,7 @@
 of @cite{The GNU C Library Reference Manual}, for version @value{VERSION}.
 
 Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
-2003, 2007 Free Software Foundation, Inc.
+2003, 2007, 2008 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
@@ -41,9 +41,9 @@
 copy of the license is included in the section entitled "GNU Free
 Documentation License".
 
-(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
-this GNU Manual. Buying copies from GNU Press supports the FSF in
-developing GNU and promoting software freedom.''
+(a) The FSF's Back-Cover Text is: ``You have the freedom to
+copy and modify this GNU manual.  Buying copies from the FSF
+supports it in developing GNU and promoting software freedom.''
 @end copying
 
 @iftex

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri Feb  8 00:07:07 2008
@@ -1,3 +1,16 @@
+2008-01-31  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* Makefile (omit-deps): Variable removed.
+
+2008-01-30  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/x86_64/sem_post.S (sem_post): Avoid
+	unnecessary addr32 prefix.
+
+2008-01-29  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* Makeconfig (ptw-CPPFLAGS, sysd-rules-patterns): New variables.
+
 2008-01-22  Kaz Kojima  <kkojima@xxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/sh/sem_post.S: Don't overflow value field.
@@ -15,7 +28,7 @@
 	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
 	(pthread_rwlock_timedrdlock): Return correct return value.
 	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
-	(pthread_rwlock_timedwrlock): Likewise.  
+	(pthread_rwlock_timedwrlock): Likewise.
 
 2008-01-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
 

Modified: fsf/trunk/libc/nptl/Makeconfig
==============================================================================
--- fsf/trunk/libc/nptl/Makeconfig (original)
+++ fsf/trunk/libc/nptl/Makeconfig Fri Feb  8 00:07:07 2008
@@ -1,4 +1,4 @@
-# Copyright (C) 2002,2003,2005,2006 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003,2005,2006,2008 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -28,3 +28,7 @@
 bounded-thread-library = $(common-objpfx)nptl/libpthread_b.a
 
 rpath-dirs += nptl
+
+# This makes for ptw-*.? object rules in sysd-rules.
+ptw-CPPFLAGS := -DPTW
+sysd-rules-patterns += ptw-%:%

Modified: fsf/trunk/libc/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/Makefile (original)
+++ fsf/trunk/libc/nptl/Makefile Fri Feb  8 00:07:07 2008
@@ -1,4 +1,5 @@
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003,2004,2005,2006,2007,2008
+#	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
@@ -192,9 +193,6 @@
 
 CFLAGS-pt-system.c = -fexceptions
 
-# Don't generate deps for calls with no sources.  See sysdeps/unix/Makefile.
-omit-deps = $(unix-syscalls:%=ptw-%)
-
 
 tests = tst-typesizes \
 	tst-attr1 tst-attr2 tst-attr3 \

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S Fri Feb  8 00:07:07 2008
@@ -37,7 +37,7 @@
 #endif
 0:	cmpl	$SEM_VALUE_MAX, %eax
 	je	3f
-	leal	1(%eax), %esi
+	leal	1(%rax), %esi
 	LOCK
 #if VALUE == 0
 	cmpxchgl %esi, (%rdi)

Modified: fsf/trunk/libc/sysdeps/unix/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/Makefile Fri Feb  8 00:07:07 2008
@@ -1,4 +1,4 @@
-# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003, 2006
+# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003, 2006, 2008
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -260,7 +260,7 @@
 # which specifies objects to be compiled as simple Unix system calls.
 
 -include $(common-objpfx)sysd-syscalls
-omit-deps += $(unix-syscalls)
+omit-deps += $(foreach t,$(sysd-rules-targets),$(unix-syscalls:%=$t))
 
 ifeq (misc,$(subdir))
 sysdep_routines += $(unix-extra-syscalls)

Modified: fsf/trunk/libc/sysdeps/unix/make-syscalls.sh
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/make-syscalls.sh (original)
+++ fsf/trunk/libc/sysdeps/unix/make-syscalls.sh Fri Feb  8 00:07:07 2008
@@ -146,9 +146,8 @@
     ;;
   *)
     echo "\
-\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o) \
-\$(foreach o,\$(object-suffixes),\$(objpfx)ptw-$file\$o) \
-\$(objpfx)rtld-$file.os: \\"
+\$(foreach p,\$(sysd-rules-targets),\
+\$(foreach o,\$(object-suffixes),\$(objpfx)\$(patsubst %,\$p,$file)\$o)): \\"
     ;;
   esac
 
@@ -216,7 +215,8 @@
   done
 
   # And finally, pipe this all into the compiler.
-  echo '	) | $(compile-syscall)'
+  echo '	) | $(compile-syscall) '"\
+\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
 
   case $weak in
   *@*)