Allan McRae [Wed, 5 Feb 2014 11:21:09 +0000 (21:21 +1000)]
Revert "Patch [1/4] async-signal safe TLS."
This reverts commit
69a17d9d245dc3551792e95e1823cc2d877592f3.
Allan McRae [Wed, 5 Feb 2014 11:21:00 +0000 (21:21 +1000)]
Revert "Patch 3/4 of the effort to make TLS access async-signal-safe."
This reverts commit
35e8f7ab94c910659de9d507aa0f3e1f8973d914.
Allan McRae [Wed, 5 Feb 2014 11:19:51 +0000 (21:19 +1000)]
Revert "Patch 2/4 of the effort to make TLS access async-signal-safe."
This reverts commit
1f33d36a8a9e78c81bed59b47f260723f56bb7e6.
Conflicts:
elf/dl-misc.c
Also reverts the follow commits that were bug fixes to new code introduced
in the above commit:
063b2acbce83549df82ab30f5af573f1b9c4bd19
b627fdd58554bc36bd344dc40a8787c4b7a9cc46
e81c64bba13d2d8b2a4e53254a82cc80f27c8497
Allan McRae [Wed, 5 Feb 2014 11:14:59 +0000 (21:14 +1000)]
Revert "Async-signal safe TLS."
This reverts commit
7f507ee17aee720fa423fa38502bc3caa0dd03d7.
Conflicts:
ChangeLog
nptl/tst-tls7.c
nptl/tst-tls7mod.c
Carlos O'Donell [Wed, 5 Feb 2014 15:33:42 +0000 (10:33 -0500)]
Fix comment in kernel-features.h.
Use "was" not "were."
Carlos O'Donell [Wed, 5 Feb 2014 15:10:34 +0000 (10:10 -0500)]
Fix tst-setgetname for Linux kernels < 2.6.33.
Support for /proc/self/task/$tid/comm as added in Linux 2.6.33,
therefore since the test tst-setgetname relies on this functionality
to operate we must skip the test in kernels < 2.6.33. We wrap the
checks with __ASSUME_PROC_PID_TASK_COMM such that in the future when
we move arch_minimum_kernel to 2.6.33 we can remove this code.
David Holsgrove [Mon, 3 Feb 2014 23:30:34 +0000 (09:30 +1000)]
microblaze: Update libm-test-ulps
Update libm-test-ulps for microblaze, and remove unneeded copy
libm-test-ulps_new.
ports/ChangeLog.microblaze
2014-02-04 David Holsgrove <david.holsgrove@xilinx.com>
* sysdeps/microblaze/libm-test-ulps: Update.
* sysdeps/microblaze/libm-test-ulps_new: Deleted redundant file.
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
David Holsgrove [Mon, 3 Feb 2014 23:26:15 +0000 (09:26 +1000)]
microblaze BZ #15705: Define MMAP2_PAGE_SHIFT
Define MMAP2_PAGE_SHIFT to -1 for microblaze so the correct shift
for the syscall is determined dynamically using getpagesize
ports/ChangeLog.microblaze
2014-02-04 David Holsgrove <david.holsgrove@xilinx.com>
* sysdeps/unix/sysv/linux/microblaze/mmap64.c: New file.
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
David Holsgrove [Mon, 3 Feb 2014 23:22:42 +0000 (09:22 +1000)]
microblaze: Use <fenv.h> fallback functions
Delete redundant fegetround.c and fesetround.c for microblaze
and use the fallback functions instead.
ports/ChangeLog.microblaze
2014-02-04 David Holsgrove <david.holsgrove@xilinx.com>
* sysdeps/microblaze/fegetround.c: Delete redundant file.
* sysdeps/microblaze/fesetround.c: Likewise.
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
Siddhesh Poyarekar [Wed, 5 Feb 2014 07:20:22 +0000 (12:50 +0530)]
Update NEWS for #16398
Siddhesh Poyarekar [Wed, 5 Feb 2014 07:19:00 +0000 (12:49 +0530)]
Fix infinite loop in ftell when writing wide char data (BZ #16398)
ftell tries to avoid flushing the buffer when it is in write mode by
converting the wide char data and placing it into the binary buffer.
If the output buffer space is full and there is data to write, the
code reverts to flushing the buffer. This breaks when there is space
in the buffer but it is not enough to convert the next character in
the wide data buffer, due to which __codecvt_do_out returns a
__codecvt_partial status. In this case, ftell keeps running in an
infinite loop.
The fix here is to detect the __codecvt_partial status in addition to
checking if the buffer is full. I have also added a test case that
demonstrates the infinite loop.
Siddhesh Poyarekar [Wed, 5 Feb 2014 06:52:58 +0000 (12:22 +0530)]
Update contrib.texi
This may not be a complete list of new contributors added to the list,
so I'd love it if more people look at contributions and suggest
additions.
David S. Miller [Wed, 5 Feb 2014 04:54:58 +0000 (20:54 -0800)]
Adjust sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update for some 64-bit differences from
32-bit.
Adhemerval Zanella [Tue, 4 Feb 2014 11:49:34 +0000 (09:49 -0200)]
PowerPC: powerpc64le abilist for 2.17
This patch is the abifiles for powerpc64le based on GLIBC 2.17.
Adhemerval Zanella [Tue, 4 Feb 2014 11:49:08 +0000 (09:49 -0200)]
PowerPC: Change powerpc64le start ABI to 2.17.
Adhemerval Zanella [Tue, 4 Feb 2014 11:48:47 +0000 (09:48 -0200)]
abilist-pattern configurability
This patch creates implicit rules to match the abifiles if
abilist-pattern is defined in the architecture Makefile. This allows
machine specific Makefiles to define different abifiles names
(for instance *-le.abilist for powerpc64le).
Eric Wong [Tue, 4 Feb 2014 00:33:57 +0000 (10:33 +1000)]
Update x86_64 ULPs (AMD family 21, model 2)
Tested on an AMD FX-8320 CPU
Eric Wong [Mon, 3 Feb 2014 23:41:18 +0000 (09:41 +1000)]
Update x86_64 ULPs (AMD Family 10h)
Roland McGrath [Mon, 3 Feb 2014 22:37:53 +0000 (14:37 -0800)]
Remove excessive redundant ChangeLog header lines.
Carlos O'Donell [Mon, 3 Feb 2014 21:21:13 +0000 (16:21 -0500)]
[hppa] Regenerate libm-test-ulps.
Regenerate libm-test-ulps from scratch.
Carlos O'Donell [Mon, 3 Feb 2014 17:43:25 +0000 (12:43 -0500)]
Fix manual build warnings.
The mixed use of automatic and manual node next, previous,
and top specification causes warning when building the manual.
This fix explicitly specifies the node's next, previous and top
values to fix the warning.
Alexandre Oliva [Mon, 3 Feb 2014 19:26:08 +0000 (17:26 -0200)]
* manual/macros.texi: Add comments before MTASC-safety macros.
Alexandre Oliva [Mon, 3 Feb 2014 19:25:38 +0000 (17:25 -0200)]
* manual/users.texi: Document MTASC-safety properties.
Alexandre Oliva [Mon, 3 Feb 2014 19:17:59 +0000 (17:17 -0200)]
* manual/threads.texi (pthread_key_create, pthread_key_delete,
pthread_getspecific, pthread_setspecific): Format with
@deftypefun, and add @safety note.
* manual/signal.texi: Move comments that analyze the above
functions to their home place.
Allan McRae [Mon, 3 Feb 2014 00:12:05 +0000 (10:12 +1000)]
Update Slovenian translations
Alexandre Oliva [Sun, 2 Feb 2014 23:50:54 +0000 (21:50 -0200)]
* manual/time.texi (timegm): Add missing blank after @c.
Reported by Joseph Myers <joseph@codesourcery.com>.
Alexandre Oliva [Sat, 1 Feb 2014 06:31:05 +0000 (04:31 -0200)]
* manual/check-safety.sh: New.
* manual/Makefile ($(objpfx)stamp-summary): Run it.
Alexandre Oliva [Sat, 1 Feb 2014 05:53:15 +0000 (03:53 -0200)]
* manual/terminal.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 05:50:11 +0000 (03:50 -0200)]
* manual/filesys.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 05:49:25 +0000 (03:49 -0200)]
* manual/errno.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 05:48:32 +0000 (03:48 -0200)]
* manual/intro.texi: Document safety identifiers and
conditionals.
Alexandre Oliva [Sat, 1 Feb 2014 05:38:33 +0000 (03:38 -0200)]
* manual/string.texi (wcstok): Fix prototype.
(wcstok, strtok, strtok_r): Adjust reentrancy remarks.
Alexandre Oliva [Sat, 1 Feb 2014 04:51:51 +0000 (02:51 -0200)]
* manual/time.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 04:46:54 +0000 (02:46 -0200)]
* manual/string.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 03:29:35 +0000 (01:29 -0200)]
* manual/threads.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 03:27:52 +0000 (01:27 -0200)]
* manual/stdio.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 03:22:09 +0000 (01:22 -0200)]
* manual/syslog.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 03:16:09 +0000 (01:16 -0200)]
* manual/sysinfo.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 03:04:59 +0000 (01:04 -0200)]
* manual/startup.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 03:03:33 +0000 (01:03 -0200)]
* manual/socket.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 02:58:50 +0000 (00:58 -0200)]
* manual/signal.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:49:07 +0000 (23:49 -0200)]
* manual/setjmp.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:47:28 +0000 (23:47 -0200)]
* manual/search.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:46:01 +0000 (23:46 -0200)]
* manual/resource.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:44:19 +0000 (23:44 -0200)]
* manual/process.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:40:29 +0000 (23:40 -0200)]
* manual/platform.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:37:28 +0000 (23:37 -0200)]
* manual/pipe.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:36:46 +0000 (23:36 -0200)]
* manual/pattern.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:31:22 +0000 (23:31 -0200)]
* manual/message.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:28:38 +0000 (23:28 -0200)]
[BZ #12751]
* manual/memory.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:27:25 +0000 (23:27 -0200)]
* manual/math.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:26:23 +0000 (23:26 -0200)]
* manual/locale.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:25:06 +0000 (23:25 -0200)]
* manual/llio.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:23:59 +0000 (23:23 -0200)]
* manual/libdl.texi: New.
Alexandre Oliva [Sat, 1 Feb 2014 01:21:48 +0000 (23:21 -0200)]
* manual/lang.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:20:02 +0000 (23:20 -0200)]
* manual/job.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:16:56 +0000 (23:16 -0200)]
* manual/getopt.texi: Document MTASC-safety properties.
Alexandre Oliva [Sat, 1 Feb 2014 01:14:14 +0000 (23:14 -0200)]
* manual/ctype.texi: Document MTASC-safety properties.
Maciej W. Rozycki [Fri, 31 Jan 2014 17:51:31 +0000 (17:51 +0000)]
[BZ #16046] Static dlopen correction fallout fixes.
Fixes to address issues from BZ #15022 resolution, as follows:
* TLS updates to csu/libc-tls.c -- we now have a proper main map, so
there's no longer a need to create a separate fake one to keep TLS
structures,
* random updates to elf/dl-close.c -- LM_ID_BASE is now a valid name
space ID for static executables as well, so assert that we don't
unload the main map. Similarly dl_nns isn't supposed to be 0 for
static executables anymore,
* actual BZ #16046 fix to elf/dl-iteratephdr.c -- the dl_iterate_phdr
special function for static executables isn't needed anymore, provided
that l_phdr and l_phnum members of the main map have been properly
initialized (done in _dl_non_dynamic_init in elf/dl-support.c now),
* ld.so.cache loader update to elf/dl-load.c --
GL(dl_ns)[LM_ID_BASE]._ns_loaded is now always initialized in static
executables so can become the fallback loader map to check for
DF_1_NODEFLIB, provided that the l_flags_1 member of the main map has
been properly initialized (done in elf/dl-support.c now); this also
ensures previous semantics elsewhere in elf/dl-load.c,
* matching updates to elf/dl-support.c -- to complement the two fixes
above.
Alexandre Oliva [Thu, 30 Jan 2014 20:50:57 +0000 (18:50 -0200)]
* manual/debug.texi: Document MTASC-safety properties.
H.J. Lu [Wed, 29 Jan 2014 15:51:41 +0000 (07:51 -0800)]
Disable x87 inline functions for SSE2 math
When i386 and x86-64 mathinline.h was merged into a single mathinline.h,
"gcc -m32" enables x87 inline functions on x86-64 even when -mfpmath=sse
and SSE2 is enabled. It is a regression on x86-64. We should check
__SSE2_MATH__ instead of __x86_64__ when disabling x87 inline functions.
Alexandre Oliva [Wed, 29 Jan 2014 17:29:59 +0000 (15:29 -0200)]
* manual/charset.texi: Document MTASC-safety properties.
Marcus Shawcroft [Tue, 21 Jan 2014 14:39:10 +0000 (14:39 +0000)]
[AArch64] Regenerate libm-test-ulps.
Re-generate libm-test-ulps from scratch.
Siddhesh Poyarekar [Wed, 29 Jan 2014 07:55:17 +0000 (13:25 +0530)]
Fix spaces before tabs
Alexandre Oliva [Wed, 29 Jan 2014 07:27:54 +0000 (05:27 -0200)]
* manual/crypt.texi: Document MTASC-safety properties.
Alexandre Oliva [Wed, 29 Jan 2014 07:26:47 +0000 (05:26 -0200)]
* manual/conf.texi: Document MTASC-safety properties.
Alexandre Oliva [Wed, 29 Jan 2014 07:25:36 +0000 (05:25 -0200)]
* manual/arith.texi: Document MTASC-safety properties.
Alexandre Oliva [Wed, 29 Jan 2014 07:24:32 +0000 (05:24 -0200)]
* manual/argp.texi: Document MTASC-safety properties.
Alexandre Oliva [Wed, 29 Jan 2014 07:20:37 +0000 (05:20 -0200)]
* manual/macros.texi: Introduce macros to document multi
thread, asynchronous signal and asynchronous cancellation
safety properties.
* manual/intro.texi: Introduce the properties themselves.
Kaz Kojima [Tue, 28 Jan 2014 00:03:14 +0000 (09:03 +0900)]
Add -mieee to SH sysdep-CFLAGS for older SH compilers.
Andreas Schwab [Mon, 27 Jan 2014 17:38:19 +0000 (18:38 +0100)]
m68k: regenerate libm test ULPs
Andreas Schwab [Mon, 27 Jan 2014 17:19:48 +0000 (18:19 +0100)]
Let gen-libm-test.pl find itself when run outside source directory
Siddhesh Poyarekar [Mon, 27 Jan 2014 11:38:54 +0000 (17:08 +0530)]
Add bug entry for previous commit in NEWS
Siddhesh Poyarekar [Mon, 27 Jan 2014 11:19:33 +0000 (16:49 +0530)]
Fix invalid memory access when parsing netgroup files with blank lines (BZ #16506)
The netgroups file parsing code tries to access the character before
the newline in parsed lines to see if it is a backslash (\). This
results in an access before the block allocated for the line if the
line is blank, i.e. does not have anything other than the newline
character. This doesn't seem like it will cause any crashes because
the byte belongs to the malloc metadata block and hence access to it
will always succeed.
There could be an invalid alteration in code flow where a blank line
is seen as a continuation due to the preceding byte *happening* to be
'\\'. This could be done by interposing malloc, but that's not really
a security problem since one could interpose getnetgrent_r itself and
achieve a similar 'exploit'.
The possibility of actually exploiting this is remote to impossible
since it also requires the previous line to end with a '\\', which
would happen only on invalid configurations.
Siddhesh Poyarekar [Mon, 27 Jan 2014 06:02:44 +0000 (11:32 +0530)]
Avoid undefined behaviour in netgroupcache
Using a buffer after it has been reallocated is undefined behaviour,
so get offsets of the triplets in the old buffer before reallocating
it.
Allan McRae [Mon, 27 Jan 2014 01:28:02 +0000 (11:28 +1000)]
Update French translations
Kaz Kojima [Sun, 26 Jan 2014 23:50:47 +0000 (08:50 +0900)]
Regenerate SH libm-test-ulps with proper compiler options.
David S. Miller [Sat, 25 Jan 2014 02:32:43 +0000 (18:32 -0800)]
Rebuild sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Regenerate.
Kaz Kojima [Sat, 25 Jan 2014 01:22:14 +0000 (10:22 +0900)]
Move SH libm-test-ulps to sysdeps/sh and regenerate it.
Chris Metcalf [Fri, 3 Jan 2014 18:45:51 +0000 (13:45 -0500)]
tile: Regenerate libm-test-ulps
Richard Henderson [Fri, 24 Jan 2014 17:43:19 +0000 (09:43 -0800)]
alpha: Update libm-test-ulps
Richard Henderson [Fri, 24 Jan 2014 17:07:04 +0000 (09:07 -0800)]
alpha: Fix tls-macros.h
Reported to the gcc bugzilla, there was a missing dependency on $gp
that let the compiler generated $gp reload be scheduled across the
macros here.
Will Newton [Thu, 23 Jan 2014 11:11:24 +0000 (11:11 +0000)]
ARM: Fix clone build for ARMv4
ARMv4 does not have the blx instruction, so use the BLX macro which
handles abstracting this for us.
Build tested for armv7, armv4t and armv4.
ports/ChangeLog.arm:
2014-01-24 Will Newton <will.newton@linaro.org>
[BZ #16499]
* sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead
of blx instruction directly.
Siddhesh Poyarekar [Fri, 24 Jan 2014 08:21:15 +0000 (13:51 +0530)]
Adjust pointers to triplets in netgroup query data (BZ #16474)
The _nss_*_getnetgrent_r query populates the netgroup results in the
allocated buffer and then sets the result triplet to point to strings
in the buffer. This is a problem when the buffer is reallocated since
the pointers to the triplet strings are no longer valid. The pointers
need to be adjusted so that they now point to strings in the
reallocated buffer.
Kaz Kojima [Fri, 24 Jan 2014 03:56:12 +0000 (12:56 +0900)]
Restore ucontext ABI for soft-float sh4.
Stefan Liebler [Thu, 23 Jan 2014 10:56:16 +0000 (16:26 +0530)]
S/390: Increase tst-tls7 test case timeout
TLS in a dlopened object works fine when accessed from a signal
handler. The default kernel scheduling parameters prevents the
testcase to finish within the 4 seconds.
Tested the bigger timeout on s390 and s390x.
Kaz Kojima [Thu, 23 Jan 2014 05:22:58 +0000 (14:22 +0900)]
Adjust SH specific fpu_control.h and ucontext.h files.
Andreas Krebbel [Wed, 22 Jan 2014 17:43:45 +0000 (18:43 +0100)]
S/390: Merge 32 and 64 bit ucontext.h.
H.J. Lu [Mon, 20 Jan 2014 19:05:22 +0000 (11:05 -0800)]
Include generic symbol-hacks.h for x32
In BZ #15605 fix with addding memset/memmove alias in symbol-hacks.h,
x32 symbol-hacks.h change was missing. Fixed by including
<sysdeps/generic/symbol-hacks.h> in x32 symbol-hacks.h.
Adhemerval Zanella [Mon, 20 Jan 2014 18:29:51 +0000 (12:29 -0600)]
PowerPC: Fix gettimeofday ifunc selection
The IFUNC selector for gettimeofday runs before _libc_vdso_platform_setup where
__vdso_gettimeofday is set. The selector then sets __gettimeofday (the internal
version used within GLIBC) to use the system call version instead of the vDSO one.
This patch changes the check if vDSO is available to get its value directly
instead of rely on __vdso_gettimeofday.
This patch changes it by getting the vDSO value directly.
It fixes BZ#16431.
Marcus Shawcroft [Mon, 20 Jan 2014 17:45:06 +0000 (17:45 +0000)]
[AArch64] Fix type in abi-lp64_be-options.
Tom Tromey [Mon, 20 Jan 2014 12:58:03 +0000 (12:58 +0000)]
[AArch64] BZ #16169 Add CFI directives to clone.S
[BZ #16169] Add CFI directives to the AArch64 clone.S implementation
and ensure that the FP in the child is zero'd in order to comply with
AAPCS.
Marcus Shawcroft [Wed, 1 Jan 2014 17:29:23 +0000 (17:29 +0000)]
[AArch64] Define BE loader name.
Allan McRae [Mon, 20 Jan 2014 01:36:13 +0000 (11:36 +1000)]
Update Catalan translations
H.J. Lu [Sat, 18 Jan 2014 14:58:36 +0000 (06:58 -0800)]
Don't check asynchronous cancellation on system
Since asynchronous cancellation was removed from system by
commit
c4dd57c300aa05ab2f957d571c321237a58d0368
Author: Ondřej Bílka <neleai@seznam.cz>
Date: Tue Jan 14 16:07:50 2014 +0100
Do not enable asynchronous cancellation in system. Fixes bug 14782.
We needlessly enabled thread cancellation before it was necessary.
As
only call that needs to be guarded is waitpid which is cancellation
point we could remove cancellation altogether.
we shouldn't check asynchronous cancellation on system.
[BZ #14782]
* tst-cancel-wrappers.sh: Remove system.
Adam Conrad [Fri, 17 Jan 2014 20:11:26 +0000 (13:11 -0700)]
Fix incorrect ChangeLog formatting
Mike Frysinger [Tue, 24 Dec 2013 09:31:22 +0000 (04:31 -0500)]
s390: implement sotruss support
See commit
41b1792698a335d3a85381921a84a16e9635f36a for testcase.
Note: while this works on s390x, the s390 code hangs when using -e.
But it hangs regardless of this code (the hang seems to occur before
the exit func is even called). I didn't look too closely at it as
it seems to be an issue external to this file, so this code shouldn't
make the situation any worse.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Adhemerval Zanella [Thu, 16 Jan 2014 13:15:30 +0000 (07:15 -0600)]
Add BZ#16430 to NEWS.
Adhemerval Zanella [Thu, 16 Jan 2014 12:53:18 +0000 (06:53 -0600)]
PowerPC: Fix ftime gettimeofday internal call returning bogus data
This patches fixes BZ#16430 by setting a different symbol for internal
GLIBC calls that points to ifunc resolvers. For PPC32, if the symbol
is defined as hidden (which is the case for gettimeofday and time) the
compiler will create local branches (symbol@local) and linker will not
create PLT calls (required for IFUNC). This will leads to internal symbol
calling the IFUNC resolver instead of the resolved symbol.
For PPC64 this behavior does not occur because a call to a function in
another translation unit might use a different toc pointer thus requiring
a PLT call.
Joseph Myers [Thu, 16 Jan 2014 05:30:52 +0000 (05:30 +0000)]
Fix math/test-fpucw-*.c for sysdeps test-fpucw.c overrides.
ARM has an override of the test math/test-fpucw.c, to disable (for
soft-float testing) definitions of hard-float macros in fpu_control.h
that the header normally defines not only when building for
hard-float, but also when building for soft-float with _LIBC defined
so that libc code can dynamically test whether VFP hardware is
present. (_LIBC is defined when building tests, although ideally it
wouldn't be.)
The override doesn't work for the derived tests test-fpucw-*.c because
they use #include "" instead of <> to include test-fpucw.c, so always
get the math/ version instead of the ARM sysdeps override. This patch
changes them to use <> so the sysdeps override is effective.
(test-fpucw-ieee-static.c doesn't need a change because it includes
test-fpucw-ieee.c, which isn't itself being overridden, which in turn
includes test-fpucw.c with a #include changed by this patch.)
Tested for ARM (big-endian soft-float, non-VFP hardware).
* math/test-fpucw-ieee.c: Use <> in #include of test-fpucw.c.
* math/test-fpucw-static.c: Likewise.