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

[Commits] r20543 - in /fsf/trunk/libc: ./ csu/ elf/ localedata/ localedata/locales/ nptl/ ports/ ports/sysdeps/tile/ ports/sysdeps/uni...



Author: eglibc
Date: Fri Sep  7 00:01:43 2012
New Revision: 20543

Log:
Import glibc-mainline for 2012-09-07

Added:
    fsf/trunk/libc/nptl/tst-cancel21-static.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makeconfig
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/csu/libc-tls.c
    fsf/trunk/libc/elf/dl-tls.c
    fsf/trunk/libc/elf/elf.h
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/es_DO
    fsf/trunk/libc/localedata/locales/es_GT
    fsf/trunk/libc/localedata/locales/es_HN
    fsf/trunk/libc/localedata/locales/es_MX
    fsf/trunk/libc/localedata/locales/es_NI
    fsf/trunk/libc/localedata/locales/es_PA
    fsf/trunk/libc/localedata/locales/es_PR
    fsf/trunk/libc/localedata/locales/es_SV
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/Makefile
    fsf/trunk/libc/ports/ChangeLog.tile
    fsf/trunk/libc/ports/sysdeps/tile/__tls_get_addr.S
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/sys/procfs.h
    fsf/trunk/libc/stdlib/gen-tst-strtod-round.c
    fsf/trunk/libc/stdlib/tst-strtod-round.c
    fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/Makefile
    fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
    fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcmp.S
    fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcpy.S
    fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memset.S
    fsf/trunk/libc/sysdeps/sparc/bits/hwcap.h
    fsf/trunk/libc/sysdeps/sparc/dl-procinfo.c
    fsf/trunk/libc/sysdeps/sparc/dl-procinfo.h
    fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Sep  7 00:01:43 2012
@@ -1,3 +1,73 @@
+2012-09-06  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* elf/dl-tls.c (DL_INITIAL_DTV): Removed.
+	(_dl_initial_dtv): New.  Defined if SHARED isn't defined.
+	(_dl_deallocate_tls): Restore GL(dl_initial_dtv).
+
+2012-09-06  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* csu/libc-tls.c (static_dtv): Renamed to ...
+	(_dl_static_dtv): This.  Make it global.
+	(_dl_initial_dtv): Removed.
+	(__libc_setup_tls): Updated.
+	* elf/dl-tls.c (DL_INITIAL_DTV): New macro.
+	(_dl_deallocate_tls): Replace GL(dl_initial_dtv) with
+	DL_INITIAL_DTV.
+
+2012-09-06  Petr Machata  <pmachata@xxxxxxxxxx>
+
+	* elf/elf.h (NT_S390_HIGH_GPRS): New macro.
+	(NT_S390_TIMER, NT_S390_TODCMP, NT_S390_TODPREG): Likewise.
+	(NT_S390_CTRS, NT_S390_PREFIX, NT_S390_LAST_BREAK): Likewise.
+	(NT_S390_SYSTEM_CALL, NT_ARM_VFP): Likewise.
+
+2012-09-06  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14545]
+	* csu/libc-tls.c (_dl_initial_dtv): New variable.
+	* elf/dl-tls.c (_dl_deallocate_tls): Always check dtv before
+	freeing dtv[-1].
+
+2012-09-06  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14544]
+	* Makeconfig (link-static-before-libc): Replace $(+prector)
+	with $(+prectorT).
+	(link-static-after-libc): Replace $(+postctor) with
+	$(+postctorT).
+	(link-bounded): Replace $(+prector)/$(+postctor) with
+	$(+prectorT)/$(+postctorT).
+	(+prectorT): New macro.
+	(+postctorT): Likewise.
+
+2012-09-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* stdlib/gen-tst-strtod-round.c: Include <assert.h>.
+	(round_str): Handle values above the maximum for IBM long double
+	as inexact.
+	* stdlib/tst-strtod-round.c (tests): Regenerated.
+
+2012-09-06  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+	* sysdeps/s390/s390-32/multiarch/Makefile: Remove -mzarch
+	assembler flag.
+	* sysdeps/s390/s390-32/multiarch/memcmp.S: Use .machinemode
+	zarch_nohighgprs around the zarch optimized routines.
+	* sysdeps/s390/s390-32/multiarch/memcpy.S: Likewise.
+	* sysdeps/s390/s390-32/multiarch/memset.S: Likewise.
+	* sysdeps/s390/s390-32/multiarch/ifunc-resolve.c: Explicitly check
+	for zarch.
+
+2012-09-05  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* sysdeps/sparc/fpu/libm-test-ulps: Update.
+
+	* sysdeps/sparc/bits/hwcap.h (HWCAP_SPARC_PAUSE,
+	HWCAP_SPARC_CBCOND, HWCAP_SPARC_CRYPTO): Define.
+	* sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Increase to 27.
+	* sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add new
+	entries.
+
 2012-09-05  Alexandre Oliva  <aoliva@xxxxxxxxxx>
 
 	* malloc/arena.c: Fold copyright years.

Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Fri Sep  7 00:01:43 2012
@@ -445,13 +445,13 @@
 +link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \
 	      $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F))  \
 	      $(addprefix $(csu-objpfx),$(static-start-installed-name)) \
-	      $(+preinit) $(+prector) \
+	      $(+preinit) $(+prectorT) \
 	      $(filter-out $(addprefix $(csu-objpfx),start.o \
 						     $(start-installed-name))\
 			   $(+preinit) $(link-extra-libs-static) \
 			   $(common-objpfx)libc% $(+postinit),$^) \
 	      $(link-extra-libs-static) $(link-libc-static)
-+link-static-after-libc = $(+postctor) $(+postinit)
++link-static-after-libc = $(+postctorT) $(+postinit)
 +link-static = $(+link-static-before-libc) $(link-libc-static) \
 	       $(+link-static-after-libc)
 +link-static-tests = $(+link-static-before-libc) $(link-libc-static-tests) \
@@ -462,12 +462,12 @@
 +link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \
 	      $(sysdep-LDFLAGS) $(LDFLAGS)  \
 	      $(addprefix $(csu-objpfx),b$(static-start-installed-name)) \
-	      $(+preinit) $(+prector) \
+	      $(+preinit) $(+prectorT) \
 	      $(filter-out $(addprefix $(csu-objpfx),start.ob \
 						     $(start-installed-name))\
 			   $(+preinit) $(link-extra-libs-bounded) \
 			   $(common-objpfx)libc% $(+postinit),$^) \
-	      $(link-extra-libs-bounded) $(link-libc-bounded) $(+postctor) $(+postinit)
+	      $(link-extra-libs-bounded) $(link-libc-bounded) $(+postctorT) $(+postinit)
 endif
 ifndef config-LDFLAGS
 ifeq (yes,$(build-shared))
@@ -579,6 +579,9 @@
 # Variants of the two previous definitions for linking PIE programs.
 +prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
 +postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
+# Variants of the two previous definitions for statically linking programs.
++prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
++postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
 +interp = $(addprefix $(elf-objpfx),interp.os)
 csu-objpfx = $(common-objpfx)csu/
 elf-objpfx = $(common-objpfx)elf/

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Sep  7 00:01:43 2012
@@ -11,8 +11,9 @@
 
   1349, 3479, 5400, 6778, 6808, 9685, 9914, 11607, 13412, 13717, 13696,
   13939, 13966, 14042, 14090, 14166, 14150, 14151, 14154, 14157, 14166,
-  14173, 14195, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336,
-  14337, 14347, 14349, 14459, 14476, 14505, 14516, 14519, 14532, 14538
+  14173, 14195, 14237, 14252, 14283, 14298, 14303, 14307, 14328, 14331,
+  14336, 14337, 14347, 14349, 14459, 14476, 14505, 14510, 14516, 14519,
+  14532, 14538, 14544, 14545.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and
@@ -71,7 +72,7 @@
   14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075,
   14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134,
   14153, 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14277,
-  14278
+  14278,
 
 * Support for the x32 ABI on x86-64 added.  The x32 target is selected by
   configuring glibc with:

Modified: fsf/trunk/libc/csu/libc-tls.c
==============================================================================
--- fsf/trunk/libc/csu/libc-tls.c (original)
+++ fsf/trunk/libc/csu/libc-tls.c Fri Sep  7 00:01:43 2012
@@ -32,7 +32,7 @@
 extern size_t _dl_phnum;
 
 
-static dtv_t static_dtv[2 + TLS_SLOTINFO_SURPLUS];
+dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
 
 
 static struct
@@ -163,33 +163,33 @@
 		       & ~(max_align - 1));
 
   /* Initialize the dtv.  [0] is the length, [1] the generation counter.  */
-  static_dtv[0].counter = (sizeof (static_dtv) / sizeof (static_dtv[0])) - 2;
-  // static_dtv[1].counter = 0;		would be needed if not already done
+  _dl_static_dtv[0].counter = (sizeof (_dl_static_dtv) / sizeof (_dl_static_dtv[0])) - 2;
+  // _dl_static_dtv[1].counter = 0;		would be needed if not already done
 
   /* Initialize the TLS block.  */
 #if TLS_TCB_AT_TP
-  static_dtv[2].pointer.val = ((char *) tlsblock + tcb_offset
+  _dl_static_dtv[2].pointer.val = ((char *) tlsblock + tcb_offset
 			       - roundup (memsz, align ?: 1));
   static_map.l_tls_offset = roundup (memsz, align ?: 1);
 #elif TLS_DTV_AT_TP
-  static_dtv[2].pointer.val = (char *) tlsblock + tcb_offset;
+  _dl_static_dtv[2].pointer.val = (char *) tlsblock + tcb_offset;
   static_map.l_tls_offset = tcb_offset;
 #else
 # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
 #endif
-  static_dtv[2].pointer.is_static = true;
+  _dl_static_dtv[2].pointer.is_static = true;
   /* sbrk gives us zero'd memory, so we don't need to clear the remainder.  */
-  memcpy (static_dtv[2].pointer.val, initimage, filesz);
+  memcpy (_dl_static_dtv[2].pointer.val, initimage, filesz);
 
   /* Install the pointer to the dtv.  */
 
   /* Initialize the thread pointer.  */
 #if TLS_TCB_AT_TP
-  INSTALL_DTV ((char *) tlsblock + tcb_offset, static_dtv);
+  INSTALL_DTV ((char *) tlsblock + tcb_offset, _dl_static_dtv);
 
   const char *lossage = TLS_INIT_TP ((char *) tlsblock + tcb_offset, 0);
 #elif TLS_DTV_AT_TP
-  INSTALL_DTV (tlsblock, static_dtv);
+  INSTALL_DTV (tlsblock, _dl_static_dtv);
   const char *lossage = TLS_INIT_TP (tlsblock, 0);
 #else
 # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"

Modified: fsf/trunk/libc/elf/dl-tls.c
==============================================================================
--- fsf/trunk/libc/elf/dl-tls.c (original)
+++ fsf/trunk/libc/elf/dl-tls.c Fri Sep  7 00:01:43 2012
@@ -464,6 +464,11 @@
 rtld_hidden_def (_dl_allocate_tls)
 
 
+#ifndef SHARED
+extern dtv_t _dl_static_dtv[];
+# define _dl_initial_dtv (&_dl_static_dtv[1])
+#endif
+
 void
 internal_function
 _dl_deallocate_tls (void *tcb, bool dealloc_tcb)
@@ -477,9 +482,7 @@
       free (dtv[1 + cnt].pointer.val);
 
   /* The array starts with dtv[-1].  */
-#ifdef SHARED
   if (dtv != GL(dl_initial_dtv))
-#endif
     free (dtv - 1);
 
   if (dealloc_tcb)

Modified: fsf/trunk/libc/elf/elf.h
==============================================================================
--- fsf/trunk/libc/elf/elf.h (original)
+++ fsf/trunk/libc/elf/elf.h Fri Sep  7 00:01:43 2012
@@ -622,6 +622,15 @@
 #define NT_386_TLS	0x200		/* i386 TLS slots (struct user_desc) */
 #define NT_386_IOPERM	0x201		/* x86 io permission bitmap (1=deny) */
 #define NT_X86_XSTATE	0x202		/* x86 extended state using xsave */
+#define NT_S390_HIGH_GPRS	0x300	/* s390 upper register halves */
+#define NT_S390_TIMER	0x301		/* s390 timer register */
+#define NT_S390_TODCMP	0x302		/* s390 TOD clock comparator register */
+#define NT_S390_TODPREG	0x303		/* s390 TOD programmable register */
+#define NT_S390_CTRS	0x304		/* s390 control registers */
+#define NT_S390_PREFIX	0x305		/* s390 prefix register */
+#define NT_S390_LAST_BREAK	0x306	/* s390 breaking event address */
+#define NT_S390_SYSTEM_CALL	0x307	/* s390 system call restart data */
+#define NT_ARM_VFP	0x400		/* ARM VFP/NEON registers */
 
 /* Legal values for the note segment descriptor types for object files.  */
 

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Fri Sep  7 00:01:43 2012
@@ -1,3 +1,15 @@
+2012-09-05  Jeff Law  <law@xxxxxxxxxx>
+
+	[BZ#14510]
+	* locales/es_DO: Fix LC_NUMERIC decimal_point and thousands_sep.
+	* locales/es_GT: Likewise.
+	* locales/es_HN: Likewise.
+	* locales/es_MX: Likewise.
+	* locales/es_NI: Likewise.
+	* locales/es_PA: Likewise.
+	* locales/es_PR: Likewise.
+	* locales/es_SV: Likewise.
+
 2012-06-20  Petr Baudis  <pasky@xxxxxx>
 
 	* locales/mag_IN: Fix comment character.

Modified: fsf/trunk/libc/localedata/locales/es_DO
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_DO (original)
+++ fsf/trunk/libc/localedata/locales/es_DO Fri Sep  7 00:01:43 2012
@@ -78,7 +78,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002C>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_GT
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_GT (original)
+++ fsf/trunk/libc/localedata/locales/es_GT Fri Sep  7 00:01:43 2012
@@ -77,7 +77,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002C>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_HN
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_HN (original)
+++ fsf/trunk/libc/localedata/locales/es_HN Fri Sep  7 00:01:43 2012
@@ -78,7 +78,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002C>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_MX
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_MX (original)
+++ fsf/trunk/libc/localedata/locales/es_MX Fri Sep  7 00:01:43 2012
@@ -78,7 +78,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U2009>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_NI
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_NI (original)
+++ fsf/trunk/libc/localedata/locales/es_NI Fri Sep  7 00:01:43 2012
@@ -69,7 +69,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002C>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_PA
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_PA (original)
+++ fsf/trunk/libc/localedata/locales/es_PA Fri Sep  7 00:01:43 2012
@@ -78,7 +78,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002c>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_PR
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_PR (original)
+++ fsf/trunk/libc/localedata/locales/es_PR Fri Sep  7 00:01:43 2012
@@ -69,7 +69,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002C>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/localedata/locales/es_SV
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_SV (original)
+++ fsf/trunk/libc/localedata/locales/es_SV Fri Sep  7 00:01:43 2012
@@ -78,7 +78,9 @@
 END LC_MONETARY
 
 LC_NUMERIC
-copy "es_ES"
+decimal_point        "<U002E>"
+thousands_sep        "<U002C>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri Sep  7 00:01:43 2012
@@ -1,3 +1,10 @@
+2012-09-06  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14545]
+	* Makefile (tests-static): Add tst-cancel21-static.
+	(tests): Likewise.
+	* tst-cancel21-static.c: New file.
+
 2012-09-01  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/pthread_getcpuclockid.c

Modified: fsf/trunk/libc/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/Makefile (original)
+++ fsf/trunk/libc/nptl/Makefile Fri Sep  7 00:01:43 2012
@@ -348,8 +348,9 @@
 link-libc-static := $(common-objpfx)libc.a $(static-gnulib) \
 		    $(common-objpfx)libc.a
 
-tests-static += tst-locale1 tst-locale2 tst-stackguard1-static
-tests += tst-stackguard1-static
+tests-static += tst-locale1 tst-locale2 tst-stackguard1-static \
+		tst-cancel21-static
+tests += tst-stackguard1-static tst-cancel21-static
 xtests-static += tst-setuid1-static
 
 # These tests are linked with libc before libpthread

Added: fsf/trunk/libc/nptl/tst-cancel21-static.c
==============================================================================
--- fsf/trunk/libc/nptl/tst-cancel21-static.c (added)
+++ fsf/trunk/libc/nptl/tst-cancel21-static.c Fri Sep  7 00:01:43 2012
@@ -1,0 +1,1 @@
+#include "tst-cancel21.c"

Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Fri Sep  7 00:01:43 2012
@@ -1,3 +1,10 @@
+2012-09-06  Chris Metcalf  <cmetcalf@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/tile/sys/procfs.h: Fix type of prfpregset_t.
+
+	[BZ #14237]
+	* sysdeps/tile/__tls_get_addr.S: Fix TLS module initialization bug.
+
 2012-08-27  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/tile/kernel-features.h

Modified: fsf/trunk/libc/ports/sysdeps/tile/__tls_get_addr.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/tile/__tls_get_addr.S (original)
+++ fsf/trunk/libc/ports/sysdeps/tile/__tls_get_addr.S Fri Sep  7 00:01:43 2012
@@ -76,6 +76,8 @@
 	 ADD_PTR r28, r28, r27	/* pointer into module array */
 	}
 	LD_PTR r26, r28		/* r26 = module TLS pointer */
+	CMPEQI r25, r26, -1     /* check r26 == TLS_DTV_UNALLOCATED */
+	BNEZ r25, .Lslowpath
 	{
 	 ADD_PTR r0, r26, r29
 	 jrp lr

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/sys/procfs.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/sys/procfs.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/sys/procfs.h Fri Sep  7 00:01:43 2012
@@ -113,7 +113,7 @@
 typedef elf_gregset_t prgregset_t;
 
 /* Provide dummy declaration here; we don't have FP registers. */
-typedef int prfpregset_t;
+typedef elf_fpregset_t prfpregset_t;
 
 /* We don't have any differences between processes and threads,
    therefore have only one PID type.  */

Modified: fsf/trunk/libc/stdlib/gen-tst-strtod-round.c
==============================================================================
--- fsf/trunk/libc/stdlib/gen-tst-strtod-round.c (original)
+++ fsf/trunk/libc/stdlib/gen-tst-strtod-round.c Fri Sep  7 00:01:43 2012
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define _GNU_SOURCE
+#include <assert.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -65,7 +66,19 @@
   mpfr_init (f);
   int r = string_to_fp (f, s, MPFR_RNDD);
   if (need_exact)
-    mpfr_printf ("\t%s,\n", r ? "false" : "true");
+    {
+      assert (prec == 106 && emin == -1073 && emax == 1024);
+      /* The maximum value in IBM long double has discontiguous
+	 mantissa bits.  */
+      mpfr_t max_value;
+      mpfr_init2 (max_value, 107);
+      mpfr_set_str (max_value, "0x1.fffffffffffff7ffffffffffffcp+1023", 0,
+		    MPFR_RNDN);
+      if (mpfr_cmpabs (f, max_value) > 0)
+	r = 1;
+      mpfr_printf ("\t%s,\n", r ? "false" : "true");
+      mpfr_clear (max_value);
+    }
   print_fp (f, suffix, ",\n");
   string_to_fp (f, s, MPFR_RNDN);
   print_fp (f, suffix, ",\n");

Modified: fsf/trunk/libc/stdlib/tst-strtod-round.c
==============================================================================
--- fsf/trunk/libc/stdlib/tst-strtod-round.c (original)
+++ fsf/trunk/libc/stdlib/tst-strtod-round.c Fri Sep  7 00:01:43 2012
@@ -1927,7 +1927,7 @@
 	0xf.ffffffffffffcp+1020L,
 	0xf.ffffffffffffcp+1020L,
 	0xf.ffffffffffffcp+1020L,
-	true,
+	false,
 	0xf.ffffffffffffcp+1020L,
 	0xf.ffffffffffffcp+1020L,
 	0xf.ffffffffffffcp+1020L,
@@ -2032,7 +2032,7 @@
 	-0xf.ffffffffffffcp+1020L,
 	-0xf.ffffffffffffcp+1020L,
 	-0xf.ffffffffffffcp+1020L,
-	true,
+	false,
 	-0xf.ffffffffffffcp+1020L,
 	-0xf.ffffffffffffcp+1020L,
 	-0xf.ffffffffffffcp+1020L,

Modified: fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/Makefile (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/Makefile Fri Sep  7 00:01:43 2012
@@ -1,9 +1,3 @@
-ASFLAGS-.o += -Wa,-mzarch
-ASFLAGS-.os += -Wa,-mzarch
-ASFLAGS-.op += -Wa,-mzarch
-ASFLAGS-.og += -Wa,-mzarch
-ASFLAGS-.ob += -Wa,-mzarch
-ASFLAGS-.oS += -Wa,-mzarch
 ifeq ($(subdir),string)
 sysdep_routines += ifunc-resolve memset memcpy memcmp
 endif

Modified: fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/ifunc-resolve.c (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/ifunc-resolve.c Fri Sep  7 00:01:43 2012
@@ -41,7 +41,8 @@
   void *resolve_##FUNC (unsigned long int dl_hwcap)			\
   {									\
     if ((dl_hwcap & HWCAP_S390_STFLE)					\
-	&& (dl_hwcap & HWCAP_S390_HIGH_GPRS)) /* Implies zarch */	\
+	&& (dl_hwcap & HWCAP_S390_ZARCH)				\
+	&& (dl_hwcap & HWCAP_S390_HIGH_GPRS))				\
       {									\
 	/* We want just 1 double word to be returned.  */		\
 	register unsigned long reg0 asm("0") = 0;			\

Modified: fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcmp.S (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcmp.S Fri Sep  7 00:01:43 2012
@@ -31,6 +31,7 @@
 
 ENTRY(memcmp_z196)
 	.machine "z196"
+	.machinemode "zarch_nohighgprs"
         ltr     %r4,%r4
         je      .L_Z196_4
         ahi     %r4,-1
@@ -64,6 +65,7 @@
 
 ENTRY(memcmp_z10)
 	.machine "z10"
+	.machinemode "zarch_nohighgprs"
         ltr     %r4,%r4
         je      .L_Z10_4
         ahi     %r4,-1

Modified: fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memcpy.S Fri Sep  7 00:01:43 2012
@@ -31,6 +31,7 @@
 
 ENTRY(memcpy_z196)
 	.machine "z196"
+	.machinemode "zarch_nohighgprs"
         llgfr   %r4,%r4
         ltgr    %r4,%r4
         je      .L_Z196_4
@@ -61,6 +62,7 @@
 
 ENTRY(memcpy_z10)
 	.machine "z10"
+	.machinemode "zarch_nohighgprs"
         llgfr   %r4,%r4
         cgije   %r4,0,.L_Z10_4
         aghi    %r4,-1

Modified: fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memset.S (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-32/multiarch/memset.S Fri Sep  7 00:01:43 2012
@@ -31,6 +31,7 @@
 
 ENTRY(memset_z196)
 	.machine "z196"
+	.machinemode "zarch_nohighgprs"
         llgfr   %r4,%r4
         ltgr    %r4,%r4
         je      .L_Z196_4
@@ -62,6 +63,7 @@
 
 ENTRY(memset_z10)
 	.machine "z10"
+	.machinemode "zarch_nohighgprs"
         llgfr   %r4,%r4
         cgije   %r4,0,.L_Z10_4
         stc     %r3,0(%r2)

Modified: fsf/trunk/libc/sysdeps/sparc/bits/hwcap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/bits/hwcap.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/bits/hwcap.h Fri Sep  7 00:01:43 2012
@@ -45,3 +45,6 @@
 #define HWCAP_SPARC_IMA		0x00400000
 #define HWCAP_SPARC_ASI_CACHE_SPARING \
 				0x00800000
+#define HWCAP_SPARC_PAUSE	0x01000000
+#define HWCAP_SPARC_CBCOND	0x02000000
+#define HWCAP_SPARC_CRYPTO	0x04000000

Modified: fsf/trunk/libc/sysdeps/sparc/dl-procinfo.c
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/dl-procinfo.c (original)
+++ fsf/trunk/libc/sysdeps/sparc/dl-procinfo.c Fri Sep  7 00:01:43 2012
@@ -46,13 +46,13 @@
 #if !defined PROCINFO_DECL && defined SHARED
   ._dl_sparc_cap_flags
 #else
-PROCINFO_CLASS const char _dl_sparc_cap_flags[24][11]
+PROCINFO_CLASS const char _dl_sparc_cap_flags[27][11]
 #endif
 #ifndef PROCINFO_DECL
   = { "flush", "stbar", "swap", "muldiv", "v9", "ultra3", "v9v", "v9v2",
       "mul32", "div32", "fsmuld", "v8plus", "popc", "vis", "vis2",
       "ASIBlkInit", "fmaf", "vis3", "hpc", "random", "trans", "fjfmau",
-      "ima", "cspare" }
+      "ima", "cspare", "pause", "cbcond", "crypto" }
 #endif
 #if !defined SHARED || defined PROCINFO_DECL
 ;

Modified: fsf/trunk/libc/sysdeps/sparc/dl-procinfo.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/dl-procinfo.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/dl-procinfo.h Fri Sep  7 00:01:43 2012
@@ -24,7 +24,7 @@
 #include <ldsodefs.h>
 #include <sysdep.h>
 
-#define _DL_HWCAP_COUNT 24
+#define _DL_HWCAP_COUNT 27
 
 static inline int
 __attribute__ ((unused))

Modified: fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps Fri Sep  7 00:01:43 2012
@@ -1187,6 +1187,12 @@
 ifloat: 1
 
 # cos
+Test "cos (0x1p+120) == -9.25879022854837867303861764107414946730833e-01":
+float: 1
+ifloat: 1
+Test "cos (0x1p+127) == 7.81914638714960072263910298466369236613162e-01":
+float: 1
+ifloat: 1
 Test "cos (M_PI_6l * 2.0) == 0.5":
 double: 1
 idouble: 1
@@ -2490,6 +2496,12 @@
 ifloat: 1
 
 # sincos
+Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
+float: 1
+ifloat: 1
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
 double: 1
 idouble: 1

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits