[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...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r20543 - in /fsf/trunk/libc: ./ csu/ elf/ localedata/ localedata/locales/ nptl/ ports/ ports/sysdeps/tile/ ports/sysdeps/uni...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 07 Sep 2012 00:01:44 -0000
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