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

[commits] r1444 - in /fsf/trunk/libc: ChangeLog elf/Makefile elf/rtld.c sysdeps/i386/bits/byteswap.h sysdeps/x86_64/bits/byteswap.h



Author: eglibc
Date: Tue Feb 13 00:01:49 2007
New Revision: 1444

Log:
Import glibc-mainline for 2007-02-13

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/elf/Makefile
    fsf/trunk/libc/elf/rtld.c
    fsf/trunk/libc/sysdeps/i386/bits/byteswap.h
    fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Feb 13 00:01:49 2007
@@ -1,3 +1,15 @@
+2007-02-12  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/i386/bits/byteswap.h (__bswap_32): Add __amdfam10__
+	to the list of i486+ CPUs.
+	* sysdeps/x86_64/bits/byteswap.h (__bswap_32): Likewise.
+
+2007-02-12  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* elf/rtld.c (RESOLVE_MAP): Always return bootstrap_map reference.
+	* elf/Makefile ($(objpfx)ld.so): Check that ld.so has no undefined
+	references.
+
 2007-02-09  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Remove incorrect comment.

Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Tue Feb 13 00:01:49 2007
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1995-2004, 2005, 2006, 2007 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
@@ -307,6 +307,7 @@
 		  $(filter-out $(map-file),$^) $(load-map-file)		\
 		  -Wl,-soname=$(rtld-installed-name) -T $@.lds
 	rm -f $@.lds
+	nm -u $@ | cmp -s /dev/null -
 
 # interp.c exists just to get this string into the libraries.
 CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \

Modified: fsf/trunk/libc/elf/rtld.c
==============================================================================
--- fsf/trunk/libc/elf/rtld.c (original)
+++ fsf/trunk/libc/elf/rtld.c Tue Feb 13 00:01:49 2007
@@ -1,5 +1,5 @@
 /* Run time dynamic linker.
-   Copyright (C) 1995-2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1995-2006, 2007 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
@@ -359,10 +359,11 @@
 #endif
 
   /* This #define produces dynamic linking inline functions for
-     bootstrap relocation instead of general-purpose relocation.  */
+     bootstrap relocation instead of general-purpose relocation.
+     Since ld.so must not have any undefined symbols the result
+     is trivial: always the map of ld.so itself.  */
 #define RTLD_BOOTSTRAP
-#define RESOLVE_MAP(sym, version, flags) \
-  ((*(sym))->st_shndx == SHN_UNDEF ? 0 : &bootstrap_map)
+#define RESOLVE_MAP(sym, version, flags) (&bootstrap_map)
 #include "dynamic-link.h"
 
   if (HP_TIMING_INLINE && HP_TIMING_AVAIL)

Modified: fsf/trunk/libc/sysdeps/i386/bits/byteswap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/bits/byteswap.h (original)
+++ fsf/trunk/libc/sysdeps/i386/bits/byteswap.h Tue Feb 13 00:01:49 2007
@@ -68,7 +68,7 @@
 #  if !defined __i486__ && !defined __pentium__ && !defined __pentiumpro__ \
       && !defined __pentium4__ && !defined __k8__ && !defined __athlon__ \
       && !defined __k6__ && !defined __nocona__ && !defined __core2__ \
-      && !defined __geode__
+      && !defined __geode__ && !defined __amdfam10__
 #   define __bswap_32(x)						      \
      (__extension__							      \
       ({ register unsigned int __v, __x = (x);				      \

Modified: fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h Tue Feb 13 00:01:49 2007
@@ -61,7 +61,8 @@
 			  || defined __pentiumpro__ || defined __pentium4__   \
 			  || defined __k8__ || defined __athlon__	      \
 			  || defined __k6__ || defined __nocona__	      \
-			  || defined __core2__ || defined __geode__)
+			  || defined __core2__ || defined __geode__	      \
+			  || defined __amdfam10__)
 /* To swap the bytes in a word the i486 processors and up provide the
    `bswap' opcode.  On i386 we have to use three instructions.  */
 #  define __bswap_32(x) \