Commit Graph

25838 Commits

Author SHA1 Message Date
Roland McGrath 7214d558d3 ARM: Macroize assembly use of EABI unwind directives. 2013-04-19 11:33:01 -07:00
Adam Conrad ccdad15df5 Remove __wur from setfsuid and setfsgid. 2013-04-18 23:58:16 -06:00
David Holsgrove 7756ba9d6d MicroBlaze Port
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2013-04-18 11:00:13 +10:00
Carlos O'Donell 5c5b07da03 Update ChangeLog.
Update ChangeLog for 0f122b8d12.
2013-04-17 17:17:59 -07:00
Carlos O'Donell 0f122b8d12 Configuring for i386 is no longer supported.
We no longer support configuring for i386, nor do we
elide such a configuration to i686. Configuring with
i386-* is a failure, and we provide an example of
how to fix that.

---

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

	* configure.in: Remove i386 configure warning. Remove i386 case.
	* configure: Regenerate.
	* sysdeps/i386/configure.in: Raise error if config_machine is i386.
	Add example to error message.
	* sysdeps/i386/configure: Regenerate.
2013-04-17 17:13:20 -07:00
Siddhesh Poyarekar 037714dd49 Add benchmark inputs for cos and tan 2013-04-17 17:45:55 +05:30
Roland McGrath e913141d5f Don't test O_RDONLY case in tst-aio7. 2013-04-16 12:11:26 -07:00
Siddhesh Poyarekar 4856bcd2df Define NOT_IN_libc when compiling benchmark programs 2013-04-16 18:34:03 +05:30
Siddhesh Poyarekar a296407432 Add target bench-clean 2013-04-16 14:07:21 +05:30
David Holsgrove 9fbf9acabe Adding MicroBlaze support to elf/elf.h
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2013-04-16 09:48:08 +10:00
Thomas Schwinge 207d1e2a6c Fix coding-style violation.
Introduced in commit ee091edf1a.
2013-04-15 22:11:30 +02:00
Andreas Schwab 306dfba9e1 Properly check for short writes when sending the response in nscd 2013-04-15 10:33:52 +02:00
Siddhesh Poyarekar 206a669911 Write to bench.out-tmp only once
Appending benchmark program output on every run could result in a case
where the benchmark run was cancelled, resulting in a partially
written file.  This file gets used again on the next run, resulting in
results being appended to old results.

It could have been possible to remove the file before every benchmark
run, but it is easier to just write the output to bench.out-tmp only
once.
2013-04-15 13:53:35 +05:30
Andreas Schwab 0582f6b3d6 nscd: don't fork twice 2013-04-15 09:49:55 +02:00
Siddhesh Poyarekar 5cb26d0aed Fix off-by-one bug in tst-fwrite-error
tst-fwrite-error did not allocate enough space for the string 'world'
and its NULL terminator.  Fixed.
2013-04-15 11:35:43 +05:30
Siddhesh Poyarekar acb4325fc7 Rebuild benchmark sources when Makefile is updated
Benchmark programs are generated using parameters from the Makefile,
so it is necessary to rebuild them whenever the parameters in the
Makefile are updated.  Hence, added a dependency for the generated C
source on the Makefile so that it gets regenerated when the Makefile
is updated.
2013-04-15 11:17:01 +05:30
Roland McGrath 477925062f BZ#15361: Make aio_fsync not check open modes. 2013-04-12 13:11:20 -07:00
Siddhesh Poyarekar 8fc1bee546 Move bench target to benchtests
The bench target will only be used within the benchtests directory.
2013-04-12 15:01:44 +05:30
Andreas Schwab 0a033d342e m68k: update libm test ULPs 2013-04-11 16:37:44 +02:00
Carlos O'Donell aba5e333d4 libm-test.inc: Fix tests where cos(PI/2) != 0.
The value of PI is never exactly PI in any floating point representation,
and the value of PI/2 is never PI/2. It is wrong to expect cos(M_PI_2l)
to return 0, instead it will return an answer that is  non-zero because
M_PI_2l doesn't round to exactly PI/2 in the type used.

That is to say that the correct answer is to do the following:
* Take PI or PI/2.
* Round to the floating point representation.
* Take the rounded value and compute an infinite precision cos or sin.
* Use the rounded result of the infinite precision cos or sin as the
  answer to the test.

I used printf to do the type rounding, and Wolfram's Alpha to do the
infinite precision cos calculations.

The following changes bring x86-64 and x86 to 1/2 ulp for two tests.
It shows that the x86 cos implementation is quite good, and that
our test are flawed.

Unfortunately given that the rounding errors are type dependent we
need to fix this for each type. No regressions on x86-64 or x86.

---

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

	* math/libm-test.inc (cos_test): Fix PI/2 test.
	(sincos_test): Likewise.
	* sysdeps/x86_64/fpu/libm-test-ulps: Regenerate.
	* sysdeps/i386/fpu/libm-test-ulps: Regenerate.
2013-04-11 08:52:18 -04:00
Andreas Schwab 4f682b2ae9 Extend i486 pthread_cond_timedwait to use futex syscall with absolute timeout 2013-04-11 10:40:39 +02:00
Andreas Schwab 6ecec3b616 Don't accept exp char without preceding digits in scanf float parsing 2013-04-11 10:24:37 +02:00
Andreas Schwab 273cdee86d Fix invalid free of memory allocated during rtld init 2013-04-11 09:22:05 +02:00
Siddhesh Poyarekar 01dc6df938 Don't use run-via-rtld-prefix for anything other than tests
run-via-rtld-prefix checks whether the program to be run is a static
test and skips if it is.  This is fine, except that it assumes that
the program to be run is the second $^, which is true only for tests.

This change creates an rtld-prefix, which is simply the dynamic linker
prefix with the necessary arguments and uses that in the non-test
targets.
2013-04-11 09:37:50 +05:30
Siddhesh Poyarekar 8da491f585 Remove eval
It's not needed.
2013-04-11 09:15:52 +05:30
Siddhesh Poyarekar abe7f530bf Accept leading and trailing spaces in getdate input string
Fixes #15346.

The POSIX description of getdate allows for extra spaces in the
getdate input string.  __getdate_r uses strptime internally, which
works fine with extra spaces between format strings (and hence within
an input string) but not with leading and trailing spaces.  So we trim
off the leading and trailing spaces before we pass it on to strptime.
2013-04-10 11:31:46 +05:30
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