[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/
- To: commits@xxxxxxxxxx
- Subject: [commits] r5084 - in /fsf/trunk/libc: ./ elf/ manual/ nptl/ nptl/sysdeps/unix/sysv/linux/x86_64/ sysdeps/unix/
- From: eglibc@xxxxxxxxxx
- Date: Fri, 08 Feb 2008 08:07:16 -0000
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
*@*)