jlayton/glibc.git
10 years ago* manual/job.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.

10 years ago* manual/getopt.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.

10 years ago* manual/ctype.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.

10 years ago[BZ #16046] Static dlopen correction fallout fixes.
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.

10 years ago* manual/debug.texi: Document MTASC-safety properties.
Alexandre Oliva [Thu, 30 Jan 2014 20:50:57 +0000 (18:50 -0200)]
* manual/debug.texi: Document MTASC-safety properties.

10 years agoDisable x87 inline functions for SSE2 math
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.

10 years ago* manual/charset.texi: Document MTASC-safety properties.
Alexandre Oliva [Wed, 29 Jan 2014 17:29:59 +0000 (15:29 -0200)]
* manual/charset.texi: Document MTASC-safety properties.

10 years ago[AArch64] Regenerate libm-test-ulps.
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.

10 years agoFix spaces before tabs
Siddhesh Poyarekar [Wed, 29 Jan 2014 07:55:17 +0000 (13:25 +0530)]
Fix spaces before tabs

10 years ago* manual/crypt.texi: Document MTASC-safety properties.
Alexandre Oliva [Wed, 29 Jan 2014 07:27:54 +0000 (05:27 -0200)]
* manual/crypt.texi: Document MTASC-safety properties.

10 years ago* manual/conf.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.

10 years ago* manual/arith.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.

10 years ago* manual/argp.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.

10 years ago* manual/macros.texi: Introduce macros to document multi
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.

10 years agoAdd -mieee to SH sysdep-CFLAGS for older SH compilers.
Kaz Kojima [Tue, 28 Jan 2014 00:03:14 +0000 (09:03 +0900)]
Add -mieee to SH sysdep-CFLAGS for older SH compilers.

10 years agom68k: regenerate libm test ULPs
Andreas Schwab [Mon, 27 Jan 2014 17:38:19 +0000 (18:38 +0100)]
m68k: regenerate libm test ULPs

10 years agoLet gen-libm-test.pl find itself when run outside source directory
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

10 years agoAdd bug entry for previous commit in NEWS
Siddhesh Poyarekar [Mon, 27 Jan 2014 11:38:54 +0000 (17:08 +0530)]
Add bug entry for previous commit in NEWS

10 years agoFix invalid memory access when parsing netgroup files with blank lines (BZ #16506)
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.

10 years agoAvoid undefined behaviour in netgroupcache
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.

10 years agoUpdate French translations
Allan McRae [Mon, 27 Jan 2014 01:28:02 +0000 (11:28 +1000)]
Update French translations

10 years agoRegenerate SH libm-test-ulps with proper compiler options.
Kaz Kojima [Sun, 26 Jan 2014 23:50:47 +0000 (08:50 +0900)]
Regenerate SH libm-test-ulps with proper compiler options.

10 years agoRebuild sparc ULPs.
David S. Miller [Sat, 25 Jan 2014 02:32:43 +0000 (18:32 -0800)]
Rebuild sparc ULPs.

* sysdeps/sparc/fpu/libm-test-ulps: Regenerate.

10 years agoMove SH libm-test-ulps to sysdeps/sh and regenerate it.
Kaz Kojima [Sat, 25 Jan 2014 01:22:14 +0000 (10:22 +0900)]
Move SH libm-test-ulps to sysdeps/sh and regenerate it.

10 years agotile: Regenerate libm-test-ulps
Chris Metcalf [Fri, 3 Jan 2014 18:45:51 +0000 (13:45 -0500)]
tile: Regenerate libm-test-ulps

10 years agoalpha: Update libm-test-ulps
Richard Henderson [Fri, 24 Jan 2014 17:43:19 +0000 (09:43 -0800)]
alpha: Update libm-test-ulps

10 years agoalpha: Fix tls-macros.h
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.

10 years agoARM: Fix clone build for ARMv4
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.

10 years agoAdjust pointers to triplets in netgroup query data (BZ #16474)
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.

10 years agoRestore ucontext ABI for soft-float sh4.
Kaz Kojima [Fri, 24 Jan 2014 03:56:12 +0000 (12:56 +0900)]
Restore ucontext ABI for soft-float sh4.

10 years agoS/390: Increase tst-tls7 test case timeout
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.

10 years agoAdjust SH specific fpu_control.h and ucontext.h files.
Kaz Kojima [Thu, 23 Jan 2014 05:22:58 +0000 (14:22 +0900)]
Adjust SH specific fpu_control.h and ucontext.h files.

10 years agoS/390: Merge 32 and 64 bit ucontext.h.
Andreas Krebbel [Wed, 22 Jan 2014 17:43:45 +0000 (18:43 +0100)]
S/390: Merge 32 and 64 bit ucontext.h.

10 years agoInclude generic symbol-hacks.h for x32
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.

10 years agoPowerPC: Fix gettimeofday ifunc selection
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.

10 years ago[AArch64] Fix type in abi-lp64_be-options.
Marcus Shawcroft [Mon, 20 Jan 2014 17:45:06 +0000 (17:45 +0000)]
[AArch64] Fix type in abi-lp64_be-options.

10 years ago[AArch64] BZ #16169 Add CFI directives to clone.S
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.

10 years ago[AArch64] Define BE loader name.
Marcus Shawcroft [Wed, 1 Jan 2014 17:29:23 +0000 (17:29 +0000)]
[AArch64] Define BE loader name.

10 years agoUpdate Catalan translations
Allan McRae [Mon, 20 Jan 2014 01:36:13 +0000 (11:36 +1000)]
Update Catalan translations

10 years agoDon't check asynchronous cancellation on system
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.

10 years agoFix incorrect ChangeLog formatting
Adam Conrad [Fri, 17 Jan 2014 20:11:26 +0000 (13:11 -0700)]
Fix incorrect ChangeLog formatting

10 years agos390: implement sotruss support
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>
10 years agoAdd BZ#16430 to NEWS.
Adhemerval Zanella [Thu, 16 Jan 2014 13:15:30 +0000 (07:15 -0600)]
Add BZ#16430 to NEWS.

10 years agoPowerPC: Fix ftime gettimeofday internal call returning bogus data
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.

10 years agoFix math/test-fpucw-*.c for sysdeps test-fpucw.c overrides.
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.

10 years agoMention addition of multiple precision fallback libm probes in NEWS
Siddhesh Poyarekar [Thu, 16 Jan 2014 04:49:18 +0000 (10:19 +0530)]
Mention addition of multiple precision fallback libm probes in NEWS

10 years agoDon't use alloca in addgetnetgrentX (BZ #16453)
Siddhesh Poyarekar [Thu, 16 Jan 2014 04:50:22 +0000 (10:20 +0530)]
Don't use alloca in addgetnetgrentX (BZ #16453)

addgetnetgrentX has a buffer which is grown as per the needs of the
requested size either by using alloca or by falling back to malloc if
the size is larger than 1K.  There are two problems with the alloca
bits: firstly, it doesn't really extend the buffer since it does not
use the return value of the extend_alloca macro, which is the location
of the reallocated buffer.  Due to this the buffer does not actually
extend itself and hence a subsequent write may overwrite stuff on the
stack.

The second problem is more subtle - the buffer growth on the stack is
discontinuous due to block scope local variables.  Combine that with
the fact that unlike realloc, extend_alloca does not copy over old
content and you have a situation where the buffer just has garbage in
the space where it should have had data.

This could have been fixed by adding code to copy over old data
whenever we call extend_alloca, but it seems unnecessarily
complicated.  This code is not exactly a performance hotspot (it's
called when there is a cache miss, so factors like network lookup or
file reads will dominate over memory allocation/reallocation), so this
premature optimization is unnecessary.

Thanks Brad Hubbard <bhubbard@redhat.com> for his help with debugging
the problem.

10 years agoPowerPC: sotruss-lib implementation
Adhemerval Zanella [Wed, 15 Jan 2014 17:05:00 +0000 (11:05 -0600)]
PowerPC: sotruss-lib implementation

This patch add the missing sotruss-lib interfaces for PowerPC.

10 years agoAdd ChangeLog entry
Ondřej Bílka [Wed, 15 Jan 2014 17:43:03 +0000 (18:43 +0100)]
Add ChangeLog entry

10 years agoDo not enable asynchronous cancellation in system. Fixes bug 14782.
Ondřej Bílka [Tue, 14 Jan 2014 15:07:50 +0000 (16:07 +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.

10 years ago[BZ #16427] Fix ldbl-128 exp overflows.
Andreas Krebbel [Wed, 15 Jan 2014 08:50:31 +0000 (09:50 +0100)]
[BZ #16427] Fix ldbl-128 exp overflows.

Invoke the non-IEEE handling only for numbers special also in the IEEE
case.  This aligns the exp handling with the other ldbl variants.

10 years agoS/390: Regenerate ULPs.
Andreas Krebbel [Wed, 15 Jan 2014 08:49:54 +0000 (09:49 +0100)]
S/390: Regenerate ULPs.

10 years agoARM: Don't apply pointer encryption to the frame pointer
Will Newton [Tue, 10 Dec 2013 16:26:38 +0000 (16:26 +0000)]
ARM: Don't apply pointer encryption to the frame pointer

The frame pointer register is rarely used for that purpose on ARM and
applications that look at the contents of the jmp_buf may be relying
on reading an unencrypted value. For example, Ruby uses the contents
of jmp_buf to find the root set for garbage collection so relies on
this pointer value being unencrypted. Without this patch the Ruby
testsuite fails with a segmentation fault.

ports/ChangeLog.arm:

2013-01-14  Will Newton  <will.newton@linaro.org>

* sysdeps/arm/__longjmp.S: Don't apply pointer encryption
to fp register.
* sysdeps/arm/setjmp.S: Likewise.
* sysdeps/arm/include/bits/setjmp.h (JMP_BUF_REGLIST): Add
fp to register list, remove a4.
* sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE_LOAD):
New macro.

10 years agoMention BZ 9721
Paul Pluzhnikov [Sun, 12 Jan 2014 17:23:10 +0000 (09:23 -0800)]
Mention BZ 9721

10 years agoAdd BZ #15850 to ChangeLog.
Carlos O'Donell [Sun, 12 Jan 2014 17:17:33 +0000 (12:17 -0500)]
Add BZ #15850 to ChangeLog.

10 years agoBZ 16133 has been fixed (async signal safe TLS).
Paul Pluzhnikov [Sun, 12 Jan 2014 00:59:43 +0000 (16:59 -0800)]
BZ 16133 has been fixed (async signal safe TLS).

10 years agoFix a race in tst-tls7, which caused crashes on ppc32.
Paul Pluzhnikov [Sun, 12 Jan 2014 00:34:15 +0000 (16:34 -0800)]
Fix a race in tst-tls7, which caused crashes on ppc32.

10 years agoAdd 15850 to NEWS.
Ondřej Bílka [Sat, 11 Jan 2014 12:49:33 +0000 (13:49 +0100)]
Add 15850 to NEWS.

10 years agoUpdate Bulgarian translations
Allan McRae [Sat, 11 Jan 2014 05:03:34 +0000 (15:03 +1000)]
Update Bulgarian translations

10 years agoUpdate German translations
Allan McRae [Sat, 11 Jan 2014 05:01:50 +0000 (15:01 +1000)]
Update German translations

10 years agoARM: Disable compat mcount code when unneeded.
Roland McGrath [Fri, 10 Jan 2014 21:32:35 +0000 (13:32 -0800)]
ARM: Disable compat mcount code when unneeded.

10 years agoCorrect inputs for sin and cos
Siddhesh Poyarekar [Fri, 10 Jan 2014 04:27:51 +0000 (09:57 +0530)]
Correct inputs for sin and cos

The inputs for the slowest path in asin and acos were incorrect and
had some fast path inputs there too.

10 years agoUpdate Swedish translations
Allan McRae [Fri, 10 Jan 2014 02:25:00 +0000 (12:25 +1000)]
Update Swedish translations

10 years agoUpdate Vietnamese translations
Allan McRae [Fri, 10 Jan 2014 02:24:12 +0000 (12:24 +1000)]
Update Vietnamese translations

10 years agoUpdate Esperanto translations
Allan McRae [Fri, 10 Jan 2014 02:22:47 +0000 (12:22 +1000)]
Update Esperanto translations

10 years agoUpdate Czech translations
Allan McRae [Fri, 10 Jan 2014 02:21:14 +0000 (12:21 +1000)]
Update Czech translations

10 years agoUpdate Dutch translations
Allan McRae [Fri, 10 Jan 2014 02:19:01 +0000 (12:19 +1000)]
Update Dutch translations

10 years agoUpdate Polish translations
Allan McRae [Fri, 10 Jan 2014 02:16:23 +0000 (12:16 +1000)]
Update Polish translations

10 years agoUpdate Russian translations
Allan McRae [Fri, 10 Jan 2014 02:15:25 +0000 (12:15 +1000)]
Update Russian translations

10 years agoUpdate Ukrainian translations
Allan McRae [Fri, 10 Jan 2014 02:13:43 +0000 (12:13 +1000)]
Update Ukrainian translations

10 years agoObvious comment typo fix ("openened") in elf/dl-load.c.
Brooks Moses [Thu, 9 Jan 2014 02:46:53 +0000 (18:46 -0800)]
Obvious comment typo fix ("openened") in elf/dl-load.c.

10 years agoRename header.pot to pot.header.
Carlos O'Donell [Wed, 8 Jan 2014 22:09:48 +0000 (17:09 -0500)]
Rename header.pot to pot.header.

The Translation Project has asked us to rename the
pot header file `header.pot' to something else. Their
scripts automatically look for pot files and the
file `header.pot' is not actually a pot file but a
header that we use when regenerating `libc.pot.'
This commit renames `header.pot' to `pot.header' to
avoid causing errors or complicating the TP project
scripts.

10 years agoFix a thinko/typo in i686's memmove (aka __memmove_ia32).
Yuriy Kaminskiy [Wed, 8 Jan 2014 20:49:54 +0000 (09:49 +1300)]
Fix a thinko/typo in i686's memmove (aka __memmove_ia32).

* sysdeps/i386/i686/memmove.S (memmove): Compare distance between
SRC and DEST against LEN.

10 years agoPowerPC: remove wrong truncl implementation for PowerPC64
Adhemerval Zanella [Wed, 8 Jan 2014 11:10:41 +0000 (05:10 -0600)]
PowerPC: remove wrong truncl implementation for PowerPC64

The truncl assembly implementation (sysdeps/powerpc/powerpc64/fpu/s_truncl.S)
returns wrong results for some inputs where first double is a exact integer
and the precision is determined by second long double.

Checking on implementation comments and history, I am very confident the
assembly implementation was based on a version before commit
5c68d401698a58cf7da150d9cce769fa6679ba5f that fixes BZ#2423 (Errors in
long double (ldbl-128ibm) rounding functions in glibc-2.4).

By just removing the implementation and make the build select
sysdeps/ieee754/ldbl-128ibm/s_truncl.c instead it fixes tgammal
issues regarding wrong result sign.

10 years agoUpdate powerpc-fpu ULPs.
Adhemerval Zanella [Wed, 8 Jan 2014 13:45:54 +0000 (07:45 -0600)]
Update powerpc-fpu ULPs.

10 years agoFix ldbl-128ibm expm1l on large arguments (bug 16408).
Joseph Myers [Wed, 8 Jan 2014 13:32:39 +0000 (13:32 +0000)]
Fix ldbl-128ibm expm1l on large arguments (bug 16408).

This patch fixes bug 16408, ldbl-128ibm expm1l returning NaN for some
large arguments.

The basic problem is that the approach of converting the exponent to
the form n * log(2) + y, where -0.5 <= y <= 0.5, then computing 2^n *
expm1(y) + (2^n - 1) falls over when 2^n overflows (starting slightly
before the point where expm1 overflows, when y is negative and n is
the least integer for which 2^n overflows).  The ldbl-128 code, and
the x86/x86_64 code, make expm1l fall back to expl for large positive
arguments to avoid this issue.  This patch makes the ldbl-128ibm code
do the same.  (The problem appears for the particular argument in the
testsuite because the ldbl-128ibm code also uses an overflow threshold
that's for ldbl-128 and is too big for ldbl-128ibm, but the problem
described applies for large non-overflowing cases as well, although
during the freeze is not a suitable time for making the expm1 tests
cover cases close to overflow more thoroughly.)

This leaves some code for large positive arguments in expm1l that is
now dead.  To keep the code for ldbl-128 and ldbl-128ibm similar, and
to avoid unnecessary changes during the freeze, the patch doesn't
remove it; instead I propose to file a bug in Bugzilla as a reminder
that this code (for overflow, including errno setting, and for
arguments of +Inf) is no longer needed and should be removed from both
those expm1l implementations.

Tested powerpc32.

* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Use __expl
for large positive arguments.

10 years agoUse separate libc.abilist for MIPS o32 soft float.
Joseph Myers [Tue, 7 Jan 2014 23:58:45 +0000 (23:58 +0000)]
Use separate libc.abilist for MIPS o32 soft float.

Examining MIPS test results showed an ABI test failure that I must
have missed in 2.18 testing: hard-float and soft-float o32 no longer
have the same set of symbols (because of the __mips_fpu_getcw and
__mips_fpu_setcw functions, present for hard-float only, used by
fpu_control.h for hard-float MIPS16) and so need separate ABI test
baselines (they always were ABI-incompatible - the function-calling
interface is different - but previously had the same set of symbols
and versions so didn't need separate baselines).

Tested for hard-float and soft-float o32.

* sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist: Move to
....
* sysdeps/unix/sysv/linux/mips/mips32/fpu/nptl/libc.abilist:
... here.
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/nptl/libc.abilist: New
file.

10 years agoRegenerate powerpc-nofpu ulps (again).
Joseph Myers [Tue, 7 Jan 2014 23:32:04 +0000 (23:32 +0000)]
Regenerate powerpc-nofpu ulps (again).

10 years agoMark more libm tests with xfail-rounding:ldbl-128ibm.
Joseph Myers [Tue, 7 Jan 2014 22:41:58 +0000 (22:41 +0000)]
Mark more libm tests with xfail-rounding:ldbl-128ibm.

This patch marks more libm tests as expected to fail for ldbl-128ibm
in non-default rounding modes.  Given this, my expm1l fix
<https://sourceware.org/ml/libc-alpha/2014-01/msg00135.html> and my
libgcc fix <http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00157.html>
for spurious overflows, the remaining failures in test-ldouble.out
(for powerpc32 hard float) are small ulps, spurious underflow and
inexact exceptions (the former probably arising from libgcc bugs
though I haven't checked each case; the latter are barely meaningful
for this format anyway when basic arithmetic isn't correctly rounding,
though most of them are probably GCC bug 59412 which doesn't actually
involve long double), missing underflow exceptions from clog, ctan and
ctanh (probably one of the known bugs for another function), and logb
in round-downward mode (bug 887, though it's really a GCC bug that
we're not currently working around).

Tested for powerpc32 hard float.

* math/auto-libm-test-in: Mark various tests with
xfail-rounding:ldbl-128ibm.
* math/auto-libm-test-out: Regenerated.

10 years agoFix ldbl-128ibm coshl spurious overflows (bug 16407).
Joseph Myers [Tue, 7 Jan 2014 22:00:04 +0000 (22:00 +0000)]
Fix ldbl-128ibm coshl spurious overflows (bug 16407).

This patch fixes bug 16407, spurious overflows from ldbl-128ibm coshl.
The implementation assumed that a high part (reinterpreted as an
integer) of the absolute value of the argument of 0x408633ce8fb9f87dLL
or more meant overflow, but the actual threshold has high part
0x408633ce8fb9f87eLL (and a negative low part).  The patch adjusts the
threshold accordingly.

sinhl probably has the same issue, but I didn't get that far in adding
tests of special cases (such as just below and above overflow) before
the freeze and during the freeze is not a suitable time to add them
(as they'd require ulps to be regenerated again), so I'm not changing
that function for now; when I add more tests of special cases, we'll
discover whether sinhl indeed has this problem.

Tested powerpc32.

* sysdeps/ieee754/ldbl-128ibm/e_coshl.c (__ieee754_coshl):
Increase overflow threshold.

10 years ago[AArch64] Fix FP_ROUNDMODE.
Marcus Shawcroft [Tue, 7 Jan 2014 16:16:35 +0000 (16:16 +0000)]
[AArch64] Fix FP_ROUNDMODE.

[BZ #16387] Fix FP_ROUNDMODE to extract the correct bits from FPCR.

10 years ago[AArch64] Remove sqrt from libm-test-ulps
Marcus Shawcroft [Wed, 1 Jan 2014 23:25:32 +0000 (23:25 +0000)]
[AArch64] Remove sqrt from libm-test-ulps

10 years agoFix integer overflow in vfwprintf. Fixes bug 14286.
Ondřej Bílka [Tue, 7 Jan 2014 11:02:15 +0000 (12:02 +0100)]
Fix integer overflow in vfwprintf. Fixes bug 14286.

10 years ago[AArch64] Fix CFA adjustment on dynamic linker entry.
Marcus Shawcroft [Tue, 7 Jan 2014 10:12:35 +0000 (10:12 +0000)]
[AArch64] Fix CFA adjustment on dynamic linker entry.

10 years agoS/390: Remove __tls_get_addr argument cast.
Andreas Krebbel [Tue, 7 Jan 2014 08:40:39 +0000 (09:40 +0100)]
S/390: Remove __tls_get_addr argument cast.

10 years agoS/390: Get rid of unused variable warning in dl-machine.h
Andreas Krebbel [Tue, 7 Jan 2014 08:40:00 +0000 (09:40 +0100)]
S/390: Get rid of unused variable warning in dl-machine.h

10 years agoS/390: Make ucontext_t extendible.
Andreas Krebbel [Tue, 7 Jan 2014 08:37:31 +0000 (09:37 +0100)]
S/390: Make ucontext_t extendible.

10 years agoS/390: Make jmp_buf extendible.
Andreas Krebbel [Tue, 7 Jan 2014 08:36:31 +0000 (09:36 +0100)]
S/390: Make jmp_buf extendible.

10 years agoia64: regen libm-test-ulps from scratch
Mike Frysinger [Tue, 7 Jan 2014 01:36:26 +0000 (20:36 -0500)]
ia64: regen libm-test-ulps from scratch

Truncate the file first so as to delete old entries and to lower ULPs
for tests that have improved.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agoia64: drop large results from libm-test-ulps [BZ #16401]
Mike Frysinger [Tue, 7 Jan 2014 01:31:11 +0000 (20:31 -0500)]
ia64: drop large results from libm-test-ulps [BZ #16401]

We don't want to record these test results as a good thing.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agoFix ldbl-128 / ldbl-128ibm lgammal spurious underflow (bug 16400).
Joseph Myers [Mon, 6 Jan 2014 18:20:20 +0000 (18:20 +0000)]
Fix ldbl-128 / ldbl-128ibm lgammal spurious underflow (bug 16400).

This patch fixes bug 16400, spurious underflow exceptions for ldbl-128
/ ldbl-128ibm lgammal with small positive arguments, by just using
-__logl (x) as the result in the problem cases (similar to the
previous fix for problems with small negative arguments).

Tested powerpc32, and also tested on mips64 that this does not require
ulps regeneration for the ldbl-128 case.

* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
Return -__logl (x) for small positive arguments without evaluating
a polynomial.

10 years agoia64: regenerate libm-test-ulps
Mike Frysinger [Mon, 6 Jan 2014 13:21:46 +0000 (08:21 -0500)]
ia64: regenerate libm-test-ulps

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agoia64: add __ prefix to pt_all_user_regs/ia64_fpreg [BZ #762]
Mike Frysinger [Sun, 5 Jan 2014 21:23:42 +0000 (16:23 -0500)]
ia64: add __ prefix to pt_all_user_regs/ia64_fpreg [BZ #762]

This addresses a long standing collision between userspace headers and
kernel headers only on ia64 systems.  All other types have a __ prefix
in the ptrace headers except these two.  Let's finally namespace these.

Verified that at least strace still builds after this change, as well
as after deleting all the struct hacks it has specifically for ia64.

URL: https://sourceware.org/bugzilla/show_bug.cgi?id=762
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agoptrace.h: add __ prefix to ptrace_peeksiginfo_args
Mike Frysinger [Sun, 5 Jan 2014 21:07:13 +0000 (16:07 -0500)]
ptrace.h: add __ prefix to ptrace_peeksiginfo_args

All the other ptrace structures in this file have a __ prefix except this
new one.  This in turn causes build problems for most packages that try to
use ptrace such as strace:

gcc -DHAVE_CONFIG_H -I. -I../..  -I../../linux/x86_64 -I../../linux \
-I./linux  -Wall -Wwrite-strings -g -O2 -MT process.o -MD -MP \
-MF .deps/process.Tpo -c -o process.o ../../process.c
In file included from ../../process.c:63:0:
/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args'
 struct ptrace_peeksiginfo_args {
        ^
In file included from ../../defs.h:159:0,
                 from ../../process.c:37:
/usr/include/sys/ptrace.h:191:8: note: originally defined here
 struct ptrace_peeksiginfo_args
        ^

Since this struct was introduced in glibc-2.18, there shouldn't be any
real regressions with adding the __ prefix.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agoFix typo in inet/netinet/in.h comment
Allan McRae [Mon, 6 Jan 2014 01:27:43 +0000 (11:27 +1000)]
Fix typo in inet/netinet/in.h comment

10 years agoUpdate ULPs for i386
Andreas Jaeger [Sun, 5 Jan 2014 20:48:54 +0000 (21:48 +0100)]
Update ULPs for i386

Update based on testing with GCC 4.8.1 on Intel i7

10 years agoRegenerate libc.po
Allan McRae [Sun, 5 Jan 2014 07:47:49 +0000 (17:47 +1000)]
Regenerate libc.po

10 years agoFix gettext call formatting
Allan McRae [Sun, 5 Jan 2014 07:39:45 +0000 (17:39 +1000)]
Fix gettext call formatting

10 years agoia64: fix build failure after async tls updates
Mike Frysinger [Sat, 4 Jan 2014 13:55:03 +0000 (08:55 -0500)]
ia64: fix build failure after async tls updates

The recent commit 7f507ee17aee720fa423fa38502bc3caa0dd03d7 added a new
local variable "offset" to tls_get_addr_tail.  This conflicts with the
ia64 code which also declares an offset code inline in this func.  So
have the ia64 code rename its local vars with a prefix that shouldn't
collide with anything else in the future.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agonscd: list all tables in usage()
Sami Kerola [Fri, 3 Jan 2014 21:00:56 +0000 (21:00 +0000)]
nscd: list all tables in usage()

Usage output for option --invalidate=TABLE is not helpful without
list of tables.  The list is also missing from nscd(8) manual which
made it pretty difficult to know what are the tables.