Siddhesh Poyarekar
d755bba40f
Preserve errno across _PC_CHOWN_RESTRICTED call on XFS
...
Fix BZ #15305 .
On kernel versions earlier than 2.6.29, the Linux kernel exported a
sysctl called restrict_chown for xfs, which could be used to allow
chown to users other than the owner. 2.6.29 removed this support,
causing the open_not_cancel_2 to fail and thus modify errno. The fix
is to save and restore errno so that the caller sees it as unmodified.
Additionally, since the code to check the sysctl is not useful on
newer kernels, we add an ifdef so that in future the code block gets
rmeoved completely.
2013-04-03 10:56:45 +05:30
Joseph Myers
52ce486045
Fix cacosh inaccuracy and spurious exceptions (bug 15327).
2013-04-02 22:54:00 +00:00
Siddhesh Poyarekar
e7906a4789
Use mantissa_t in mpexp
2013-04-02 17:53:09 +05:30
Thomas Schwinge
572676160d
New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
...
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-04-02 13:51:02 +02:00
Adhemerval Zanella
60c414c346
PowerPC: remove branch prediction from rint implementation
...
The branch prediction hints is actually hurts performance in this case.
The assembly implementation make two assumptions: 1. 'fabs (x) < 2^52'
is unlikely and 2. 'x > 0.0' is unlike (if 1. is true). Since it a
general floating point function, expected input is not bounded and then
it is better to let the hardware handle the branches.
2013-04-01 06:36:51 -05:00
Joseph Myers
ccc8cadf75
Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).
2013-03-30 13:31:53 +00:00
Siddhesh Poyarekar
0d1029de12
Remove usage of ONE macro
...
I missed this instance, which caused a build failure in powerpc.
2013-03-29 16:53:05 +05:30
Siddhesh Poyarekar
c2d94018c6
Remove ONE and MONE
2013-03-29 16:40:36 +05:30
Siddhesh Poyarekar
27ec37f185
Format s_tan.c
2013-03-29 16:38:27 +05:30
Siddhesh Poyarekar
a64d7e0efb
Remove ZERO and MZERO macros
2013-03-29 16:37:26 +05:30
Siddhesh Poyarekar
d26dd3eb00
Format s_atan.c
2013-03-29 16:34:28 +05:30
Siddhesh Poyarekar
0f6a8d4b0b
Format e_log.c
2013-03-29 16:34:00 +05:30
Roland McGrath
288f7d79fe
Use __ehdr_start, if available, as fallback for AT_PHDR.
2013-03-28 16:15:48 -07:00
Roland McGrath
dc0a026385
Make _dl_phdr pointer to const.
2013-03-28 15:39:32 -07:00
Roland McGrath
3d3436ae68
Consolidate declarations of _dl_phdr, _dl_phnum.
2013-03-28 15:33:57 -07:00
Roland McGrath
356b348023
Never call syslog in __libc_message.
2013-03-28 10:38:37 -07:00
Alan Modra
b0f1246ab4
PowerPC: .eh_frame info in crt1.o isn't useful and triggers gold bug 14675.
...
The .eh_frame info in crt1.o isn't useful and this patch prevents it from
being generated on PowerPC. It triggers the following gold bug:
http://sourceware.org/bugzilla/show_bug.cgi?id=14675
2013-03-28 12:16:28 -05:00
Adhemerval Zanella
fbbe2b9a1f
Fix e_logl (128ibm) spurious underflow
2013-03-28 09:52:48 -03:00
Siddhesh Poyarekar
1728ab378e
Format and clean up s_atan2.c
2013-03-28 10:56:06 +05:30
Joseph Myers
3a7182a14b
Fix casinh inaccuracy near i, imaginary part > 1 (bug 15307).
2013-03-27 14:38:44 +00:00
Siddhesh Poyarekar
5739f705ee
Use integral constants
...
The compiler is smart enough to convert those into double for powerpc,
but if we put them as doubles, it adds overhead by performing those
operations in floating point mode.
2013-03-26 20:24:04 +05:30
Siddhesh Poyarekar
e375e83d17
Removed commented code
2013-03-26 20:14:18 +05:30
Siddhesh Poyarekar
6f2e90e78f
Make mantissa type of mp_no configurable
...
The mantissa of mp_no is intended to take only integral values. This
is a relatively good choice for powerpc due to its 4 fpus, but not for
other architectures, which suffer due to this choice. This change
makes the default mantissa a long integer and allows powerpc to
override it. Additionally, some operations have been optimized for
integer manipulation, resulting in a significant improvement in
performance.
2013-03-26 19:28:50 +05:30
Adhemerval Zanella
fce14d4e9c
PowerPC: fix libm ABI issue for llroundl
2013-03-26 10:01:57 -03:00
David S. Miller
eb66fd21bf
Update sparc ULPs.
...
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-03-22 13:29:31 -07:00
Adhemerval Zanella
e42a38dd9d
BZ#13889: expl (709.75) wrongly overflows for ldbl-128ibm
...
The patch increase the high value to check if expl overflows. Current
high mark value is not really correct, the algorithm accepts high values.
It also adds a correct wrapper function to check for overflow and underflow.
2013-03-22 12:39:10 -03:00
Dmitry V. Levin
2e0fb52187
BZ#11120: fix x86_64/strcmp.S NOT_IN_libc safeguards
...
Due to a typo repeated several times, this bug hasn't been fixed yet,
despite being marked as resolved in glibc 2.12.
* sysdeps/x86_64/strcmp.S: Replace all occurrences of NOT_IN_lib
with NOT_IN_libc.
2013-03-22 03:16:00 +00:00
Adhemerval Zanella
b5784d95bb
PowerPC: fix sqrtl ABI issue
...
This patch fixes a sqrtl ABI issue when building for powerpc64.
2013-03-21 14:15:45 -03:00
Thomas Schwinge
5aa4a1a1fd
On 32-bit x86, disable certain tests involving sNaN values.
...
Follow-up to commit 495ded2c8c
.
2013-03-21 16:05:29 +01:00
Joseph Myers
98c48fe5cc
Fix Bessel function spurious overflows for ldbl-128 / ldbl-128ibm (bug 15285).
2013-03-21 13:57:21 +00:00
Joseph Myers
0a1b2ae6f6
Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287).
2013-03-21 10:27:10 +00:00
Siddhesh Poyarekar
b33d4ce4a2
Replace 8388608.0 with HALFRAD in mp code
...
Minor cleanup
2013-03-21 13:07:44 +05:30
Joseph Myers
bef0b50749
Move system-specific settings out of toplevel configure.in and config.make.in.
2013-03-20 22:37:06 +00:00
Roland McGrath
a600e5cef5
Consolidate Linux and POSIX libc_fatal code.
2013-03-19 17:07:15 -07:00
Andreas Schwab
446737706c
s390x: Move rtld link to /lib
2013-03-19 12:08:35 +01:00
Ondrej Bilka
37bb363f03
Faster strlen on x64.
2013-03-18 07:39:12 +01:00
David S. Miller
cd18e90aa6
Update Sparc ULPs.
...
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2013-03-17 08:38:10 -07:00
Joseph Myers
d2f9799e7c
Fix y1l spurious overflows for ldbl-96 (bug 15283).
2013-03-16 17:51:48 +00:00
Joseph Myers
2a185d32e8
Fix spurious underflow exceptions for Bessel functions for ldbl-128 / ldbl-128ibm (bug 14155).
2013-03-16 17:50:28 +00:00
Roland McGrath
bc16e260d0
Move _dl_non_dynamic_init, _dl_aux_init declarations.
2013-03-15 14:32:04 -07:00
Thomas Schwinge
495ded2c8c
Promote a math test for sNaN handling to the top-level.
2013-03-15 19:12:10 +01:00
Thomas Schwinge
777b0332c0
Use GCC's builtins for generating NaNs.
2013-03-15 19:10:20 +01:00
Thomas Schwinge
67e971f18f
Better distinguish between NaN/qNaN/sNaN.
2013-03-15 19:06:02 +01:00
Siddhesh Poyarekar
1e3803454e
Revert configurable mantissa patch
...
Reverts d22ca8cdfb
since it is severely broken on 32-bit.
2013-03-15 23:18:51 +05:30
Adhemerval Zanella
83a6b66ae9
Reverting wrong commit.
...
Restore sysdeps/gnu/configure wrongly modified on
ef26eece63
.
2013-03-15 14:40:37 -03:00
Adhemerval Zanella
ef26eece63
PowerPC: gettimeofday optimization by using IFUNC
2013-03-15 10:58:56 -03:00
Siddhesh Poyarekar
d22ca8cdfb
Make mantissa type configurable
...
This allows the default mantissa to be integral, with powerpc
overriding it to take advantage of its FPUs.
2013-03-15 10:44:03 +05:30
Joseph Myers
06d5adfbda
Regenerate sysdeps/x86_64/preconfigure.
2013-03-15 01:18:32 +00:00
Joseph Myers
41c7328e85
Fix spurious underflow exceptions for Bessel functions for double (bug 14155).
2013-03-14 17:47:30 +00:00
Siddhesh Poyarekar
e25cfa6005
Fix formatting in last change
2013-03-14 08:18:48 +05:30
Petr Baudis
58a1335e76
Fix __times() handling of EFAULT when buf is NULL
2013-03-14 01:16:53 +01:00
Roland McGrath
9967e003b3
Add sysdeps/init_array to produce empty crt[in].o and use .preinit_array for gcrt1.o
2013-03-12 12:50:13 -07:00
Ondrej Bilka
80f844c9d8
Remove Prefer_SSE_for_memop on x64
2013-03-11 15:39:08 +01:00
Andreas Schwab
fb6b0fcbf1
Remove extra pthread_atfork compat symbols
2013-03-11 09:47:01 +01:00
Adhemerval Zanella
edf66e57fc
PowerPC: unify math_ldbl.h implementations
...
This patch removes redudant definition from PowerPC specific
math_ldbl, using the definitions from ieee754 math_ldbl.h.
2013-03-08 11:07:15 -03:00
Siddhesh Poyarekar
6d9145d817
Consolidate copies of mp code in powerpc
...
Retain a single copy of the mp code in power4 instead of the two
identical copies in powerpc32 and powerpc64.
2013-03-08 11:38:41 +05:30
Andreas Jaeger
4dd4e15794
Install <bits/mman-linux.h>
...
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
bits/mman-linux.h.
2013-03-07 13:06:20 +01:00
Siddhesh Poyarekar
ce544b5bda
Merge powerpc slowexp.c into generic code
2013-03-07 13:25:02 +05:30
Siddhesh Poyarekar
4cc149fd8e
Merge powerpc slowpow.c into generic code
2013-03-07 13:23:07 +05:30
Siddhesh Poyarekar
e6ebd4a7d5
Use an intermediate variable to sum exponents in powerpc __mul and __sqr
2013-03-07 13:18:56 +05:30
Siddhesh Poyarekar
82a9811d29
Use generic mpa.c code for everything except __mul and __sqr
2013-03-07 12:23:29 +05:30
Siddhesh Poyarekar
adbb8027be
Remove PIPE_BUF Linux-specific code
...
Fixes BZ #12723
The variable pipe buffer size does nothing to the value of PIPE_BUF,
since the number of bytes that are atomically written is still
PIPE_BUF on Linux.
2013-03-07 12:15:08 +05:30
Ondrej Bilka
87bd9bc4bd
Revert " * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation"
...
This reverts commit b79188d717
.
2013-03-06 22:27:18 +01:00
Ondrej Bilka
b79188d717
* sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation
...
which is faster on all x86_64 architectures.
Tested on AMD, Intel Nehalem, SNB, IVB.
2013-03-06 21:54:01 +01:00
Andreas Jaeger
664a9ce4ca
Use <bits/mman-linux.h> for MIPS
...
* sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS):
Allow definition via __MAP_ANONYMOUS.
* sysdeps/unix/sysv/linux/mips/bits/mman.h: Remove all defines
provided by bits/mman-linux.h and include <bits/mman-linux.h>.
(__MAP_ANONYMOUS): Define.
2013-03-06 17:36:37 +01:00
Andreas Jaeger
8e39047d31
Remove MAP_GROWSUP on s390
...
* sysdeps/unix/sysv/linux/s390/bits/mman.h (MAP_GROWSUP):
Remove, it's not part of Linux headers.
2013-03-06 16:39:56 +01:00
Andreas Jaeger
67525cb832
Sync with Linux 3.8
2013-03-06 16:35:19 +01:00
Joseph Myers
2d67d91ac0
Remove powerpc64 bounded-pointers code.
2013-03-06 00:10:21 +00:00
Andreas Jaeger
890b58d3bd
Define MCL_CURRENT, MCL_FUTURE in bits/mman-linux.h
...
* sysdeps/unix/sysv/linux/s390/bits/mman.h: Include
<bits/mman-linux.h>.
(MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value
is fine.
* sysdeps/unix/sysv/linux/sh/bits/mman.h: Move include of
<bits/mman-linux.h> to end of file.
(MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value
is fine.
* sysdeps/unix/sysv/linux/x86/bits/mman.h: Move include of
<bits/mman-linux.h> to end of file.
(MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value
is fine.
* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Move include of
<bits/mman-linux.h> to end of file.
* sysdeps/unix/sysv/linux/bits/mman-linux.h [!MCL_CURRENT]
(MCL_CURRENT, MCL_FUTURE): Define here.
2013-03-05 19:40:13 +01:00
Andreas Krebbel
5f67c04f5e
S/390: Use attribute_hidden in ifunc-resolve.c
2013-03-05 13:19:03 +01:00
Andreas Krebbel
c3e94a9533
S/390: Fix rt_sigprocmask syscall invocation in get/set/swapcontext.
2013-03-05 08:15:33 +01:00
Joseph Myers
cfb6382a4f
Remove powerpc32 strncmp comments about bounded pointers.
2013-03-04 23:53:05 +00:00
Andreas Jaeger
539d8e0188
Create <bits/mman-linux.h>
...
* sysdeps/unix/sysv/linux/bits/mman-linux.h: New file, with
Linux common definitions.
* sysdeps/unix/sysv/linux/sh/bits/mman.h: Remove all defines
provided by bits/mman-linux.h and include <bits/mman-linux.h>.
* sysdeps/unix/sysv/linux/x86/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
2013-03-04 20:26:59 +01:00
Adhemerval Zanella
e0b780ad5b
BZ #15055 : Use __ieee754_sqrl in acoshl for lbdl-128ibm
2013-03-04 11:37:51 -03:00
Joseph Myers
6850863319
Use same installed powerpc headers for hard and soft float.
2013-03-01 22:53:27 +00:00
Roland McGrath
7775448e57
Fix NEED_DL_SYSINFO_DSO conditionals.
2013-03-01 14:44:44 -08:00
Joseph Myers
b551088322
Remove powerpc32 bounded-pointers code.
2013-02-28 21:23:47 +00:00
Siddhesh Poyarekar
8d19fe64ee
Sync up ppc add_magnitudes and sub_magnitudes with default code
2013-02-28 11:13:05 +05:30
Siddhesh Poyarekar
09c14ed23e
Format mpsqrt.c
2013-02-27 11:28:20 +05:30
Siddhesh Poyarekar
a688864eed
Format mpatan2.c
2013-02-27 11:27:41 +05:30
Siddhesh Poyarekar
6295157a77
Format mpatan.c
2013-02-27 11:26:22 +05:30
Siddhesh Poyarekar
b8de22026d
Format mptan.c
2013-02-27 11:25:39 +05:30
Siddhesh Poyarekar
11d6e2f237
Format mplog.c
2013-02-27 11:24:45 +05:30
Siddhesh Poyarekar
45f058844c
Another tweak to the multiplication algorithm
...
Reduce the formula to calculate mantissa so that we reduce the net
number of multiplications performed.
2013-02-26 21:28:16 +05:30
Siddhesh Poyarekar
2236d3595a
Don't duplicate mpone and mptwo
2013-02-26 15:15:27 +05:30
Siddhesh Poyarekar
2a983a2e0a
Remove commented declarations
2013-02-25 18:11:14 +05:30
Siddhesh Poyarekar
e69804d14e
Use long wherever possible in mpa.c
...
Using long throughout like powerpc does is beneficial since it reduces
the need to switch to 32-bit instructions. It gives a very minor
performance improvement.
2013-02-25 16:43:03 +05:30
Siddhesh Poyarekar
2f22a1e8dd
Format slowexp.c
2013-02-25 16:13:35 +05:30
Siddhesh Poyarekar
8930ddc705
Reformat slowpow.c
2013-02-25 16:08:38 +05:30
Siddhesh Poyarekar
dc60cb110b
Remove commented code
2013-02-25 14:51:57 +05:30
Siddhesh Poyarekar
60f5a8b534
Sync up powerpc __mp_dbl with default code
2013-02-25 12:01:45 +05:30
Joseph Myers
2366713d87
Remove remaining bounded-pointers support from i386 .S files.
2013-02-21 22:21:52 +00:00
Siddhesh Poyarekar
8094523147
Mark __inv as static in powerpc
2013-02-21 15:05:28 +05:30
Siddhesh Poyarekar
bab8a695ee
Fix whitespace differences between generic and powerpc mpa.c
2013-02-21 14:31:42 +05:30
Andreas Krebbel
e21d7aa71c
S/390: Fix _dl_runtime_profile for 32 bit.
2013-02-21 09:47:55 +01:00
Siddhesh Poyarekar
4c7a4263af
Mark ZERO inputs to __mul as unlikely on powerpc
...
Syncs up with generic code.
2013-02-21 12:17:29 +05:30
Thomas Schwinge
50022a93fc
Respect the user's namespace in installed header files.
...
Fixup for commit c7b275d6b3
.
2013-02-20 18:51:56 +01:00
Thomas Schwinge
c7b275d6b3
bits/nan.h: Change __attribute_used__ to __attribute__ ((unused)).
2013-02-20 16:49:58 +01:00
Siddhesh Poyarekar
20cd7fb3ae
Copy comment about inner loop from powerpc mpa.c to the default one
2013-02-20 18:56:20 +05:30
Joseph Myers
92945b5261
Remove some bounded-pointers support from i386 .S files.
2013-02-19 21:58:08 +00:00