Commit Graph

25662 Commits

Author SHA1 Message Date
Roland McGrath 61c23e6234 BZ#14280: Fix Hurd ioctl macro to avoid warning. 2013-04-08 14:31:38 -07:00
Carlos O'Donell 96497bb806 sem_post.c: Include atomic.h.
The sem_post.c file uses atomic functions without including
atomic.h. Add `#include <atomic.h>' to the file to prevent
any compile time warnings when other headers change and
atomic.h isn't implicitly included.

---
nptl/

2013-04-07  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/sem_post.c: Include atomic.h.
2013-04-07 16:13:02 -04:00
Carlos O'Donell 085b2d41a4 README.libm-test: Use testrun.sh to run libm test.
Document the use of the convenience testrun.sh script for
running the libm test.

---

2013-04-06  Carlos O'Donell  <carlos@redhat.com>

	* math/README.libm-test (How can I generate "libm-test-ulps"?):
	Use testrun.sh to run libm tests.
2013-04-06 17:13:19 -04:00
Carlos O'Donell 7208a313b9 dl_open_worker: Memset all of seen array.
The seen array was doubled in size recently, but the memset to clear
the array was not adjusted. We adjust the memset to always be correct
regardless of the size of seen.

---

2013-04-06  Carlos O'Donell  <carlos@redhat.com>

	[BZ #15309]
	* elf/dl-open.c (dl_open_worker): memset all of seen array.
2013-04-06 17:00:02 -04:00
Marko Myllynen 872c0acd85 fi_FI: Define yesstr, nostr
Define yesstr/nostr in fi_FI (as "Kyllä" and "Ei").

Fixes part of BZ#15264.

---

2013-04-06  Marko Myllynen  <myllynen@redhat.com>

	[BZ #15264]
	* locales/fi_FI (LC_MESSAGES): Define yesstr and nostr.
2013-04-06 16:33:26 -04:00
Carlos O'Donell 26510bdda1 New Makefile target `regen-ulps'.
The wiki "Regeneration" page has this to say about update ULPs.

"The libm-test-ulps files are semiautomatically updated. To
update an ulps baseline, run each of the failing tests (test-float,
 test-double, etc.) with -u; this will generate a file called ULPs;
concatenate each of those files with the existing libm-test-ulps
file, after removing any entries for particularly huge numbers of
ulps that you do not want to mark as expected. Then run
gen-libm-test.pl -n -u FILE where FILE is the concatenated file
produced in the previous step. This generates a file called
NewUlps which is the new sorted version of libm-test-ulps."

The same information is listed in math/README.libm-test, and is a
lot of manual work that you often want to run over-and-over again
while working on a particular test.

The `regen-ulps' convenience target does this automatically for
developers.

We strictly assume the source tree is readonly and add a
new --output-dir option to libm-test.inc to allow for writing
out ULPs to $(objpfx).

When run the new target does the following:
* Starts with the baseline ULPs file.
* Runs each of the libm math tests with -u.
* Adds new changes seen with -u to the baseline.
* Sorts and prepares the test output with gen-libm-test.pl.
* Leaves math/NewUlps in your build tree to copy to your source
  tree, cleanup, and checkin.

The math test documentation in math/README.libm-test is updated
document the new Makefile target.

---

2013-04-06  Carlos O'Donell  <carlos@redhat.com>

	* Makefile.in (regen-ulps): New target.
	* math/Makefile [ifneq (no,$(PERL)]: Declare regen-ulps with .PHONY.
	[ifneq (no,$(PERL)] (run-regen-ulps): New variable.
	[ifneq (no,$(PERL)] (regen-ulps): New target.
	[ifeq (no,$(PERL)] (regen-ulps): New target.
	* math/libm-test.inc (ulps_file_name): Define.
	(output_dir): New variable.
	(options): Add "output-dir" option.
	(parse_opt): Handle 'o' case.
	(main): If output_dir is non-NULL use it as a prefix
	otherwise use "".
	* math/README.libm-test: Update `How can I generate "libm-test-ulps"?'
2013-04-06 16:22:47 -04:00
Carlos O'Donell a01f19c8fb i386: Fail at configure time for i386 builds.
This change does two things:

* Treats a target i386-* as if it were i686.
* Fails configure if the user is generating code
  for i386.

We no longer support i386 code-generation because the i386
lacks the atomic operations we need in glibc.

You can still configure for i386-*, but you get i686 code.

You can't build with --march=i386, --mtune=i386 or a compiler
that defaults to i386 code-generation.

I've added two i386 entries in the master todo list to discuss
merging and renaming:
http://sourceware.org/glibc/wiki/Development_Todo/Master#i386

The failure modes are fail-safe here. You compile for i386,
get i686, and try to run on i386 and it fails. The configure
log has a warning saying we elided to i686. There is no situation
that I can see where we run into any serious problems.

The patch makes the current state better in that we get less
confused users and we build successfully in more default
configurations.

The next enhancement would be to add --march=i?86
as suggested in #c20 of BZ#10062 for any i?86-* builds, which
would solve the problem of a 32-bit compiler that defaults to
i386 code-gen and glibc configured for i686-* target. Which
previously failed at build time, and now will fail at configure
time (requires adding --march=i686).

Updated NEWS with BZ #10060 and #10062.

No regressions.

---

2013-04-06  Carlos O'Donell  <carlos@redhat.com>

	[BZ #10060, #10062]
	* aclocal.m4 (LIBC_COMPILER_BUILTIN_INLINED): New macro.
	* sysdeps/i386/configure.in: Use LIBC_COMPILER_BUILTIN_INLINED and
	fail configure if __sync_val_compare_and_swap is not inlined.
	* sysdeps/i386/configure: Regenerate.
	* configure.in: Build for i686 when configured for i386.
	* configure: Regenerate.
	* README: Remove i386 reference.
2013-04-06 12:00:35 -04:00
Carlos O'Donell b7a329a561 Update ChangeLog.
Update ChangeLog for commit:
24116fcdbe
2013-04-06 11:41:44 -04:00
Carlos O'Donell 24116fcdbe s390/s390x: Undef PSEUDO before redef.
The s390 and s390x sysdep.h files include the more generic sysdep.h.
The more generic sysdep.h defines PSEUDO. This causes an annoying
CPP warning saying the PSEUDO was redefined. This patch removes the
warning by undefining PSEUDO before the redefinition. This is in line
with what all the other machines do.

---

2013-04-06  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/s390/s390-32/sysdep.h: Undefine PSEUDO before redefinition.
	* sysdeps/s390/s390-64/sysdep.h: Likewise.
2013-04-06 10:53:54 -04:00
Thomas Schwinge ee091edf1a More tests for external charater sequences representing NaNs. 2013-04-05 22:41:20 +02:00
Thomas Schwinge a8b792d6bb Properly collect individual tests' results.
Fixup for commit 003c9895a8.
2013-04-05 22:39:26 +02:00
Thomas Schwinge a1cbf437a5 [BZ #14686, #15336] Fix standard compliance. Don't use hard-coded qNaN values. 2013-04-05 22:34:52 +02:00
Thomas Schwinge 8b43a0c9f2 [BZ #15335, #15342] Fix standard compliance. Don't use hard-coded qNaN values. 2013-04-05 22:27:29 +02:00
Thomas Schwinge d91da4ce87 Remove unreachable code.
The case of y == 0 is handled at the beginning of the function.
2013-04-05 21:30:28 +02:00
Thomas Schwinge bf0f50dfc6 Remove unused hard-coded qNaN definition. 2013-04-05 21:28:03 +02:00
Siddhesh Poyarekar 5113cea9b7 Add BZ #15337 to NEWS 2013-04-04 19:47:41 +05:30
Siddhesh Poyarekar 9ac3b5047e Fix static build when configured with --disable-hidden-plt
Fixes BZ #15337.

Static builds fail with the following warning:

/home/tools/glibc/glibc/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:80:
undefined reference to `__GI___pthread_unwind'

When the source is configured with --disable-hidden-plt.  This is
because the preprocessor conditional in cancellation.S only checks if
the build is for SHARED, whereas hidden_def is defined appropriately
only for a SHARED build that will have symbol versioning *and* hidden
defs are enabled.  The last case is false here.
2013-04-04 19:43:56 +05:30
Joseph Myers 05e166c887 Fix missing underflow from cexp (bug 14478). 2013-04-03 16:51:46 +00:00
Andreas Schwab 5b535ac419 Update NEWS 2013-04-03 17:56:47 +02:00
Andreas Schwab 1cef1b1908 Fix stack overflow in getaddrinfo with many results 2013-04-03 17:39:15 +02:00
Thomas Schwinge 74d87055bf Refer to two GCC PRs. 2013-04-03 14:13:44 +02:00
Siddhesh Poyarekar 90d5d5bbd8 Update bench.out and bench.out.old only upon completion
Write output from the currently running benchmark into a temporary
file and move files around only once the current run is complete.
That way we don't lose data from the last two runs due to an
incomplete run.
2013-04-03 15:52:16 +05:30
Siddhesh Poyarekar 73e0cd5d0d Echo benchmark that is currently running
This will be useful when the benchmark has many functions.
2013-04-03 15:51:18 +05:30
Siddhesh Poyarekar 64aabd4b80 Add benchmark inputs for atan
Add separate inputs for slow and fast paths of atan
2013-04-03 15:50:15 +05:30
Siddhesh Poyarekar c871eccd1e Remove TWO
Minor cleanup to remove the macro TWO and use the value directly
instead.
2013-04-03 15:47:01 +05:30
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
Siddhesh Poyarekar 92e3664bb5 Add benchmark inputs for sin 2013-04-02 17:48:47 +05:30
Siddhesh Poyarekar 81f311c2ee Add benchmark tests for slowpow and slowexp
Separate benchmarks for the fast and slow implementations of pow and
exp since measuring both together doesn't make sense.  Adjust the
iterations for pow and exp accordingly so that they run long enough
for the measurements to be meaningful.
2013-04-02 17:45:45 +05:30
Adhemerval Zanella ab0f1aa994 Add missing ChangeLog from commit 60c414c346 2013-04-02 07:08:09 -05:00
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
David S. Miller 6142896d53 Update German translations.
* po/de.po: Update from translation team.
2013-03-30 17:01:53 -04: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 e57b0c6100 Avoid unconditional __call_tls_dtors calls in static linking. 2013-03-28 16:52:57 -07:00
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
Joseph Myers af15c19176 Fix typo in bug number in NEWS. 2013-03-28 21:43:56 +00: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 7a86be6e5f Don't add input group during initgroups_dyn in hesiod
Fixes BZ #15304.

The *initgroups_dyn functions are called with a group argument.  This
group gid is usually skipped while populating the grouplist since the
caller adds that group id in advance.

The hesiod initgroups_dyn implementation however adds the group gid to
the list if it does not already exist.  While it works fine for the
usual initgroups, it breaks nscd since it calls initgroups_dyn with -1
as the gid (to have all groups included).
2013-03-28 11:45:47 +05:30