]> sourceware.org Git - glibc.git/log
glibc.git
11 years agoDisable elision for any pthread_mutexattr_settype call
Andi Kleen [Thu, 27 Jun 2013 18:15:06 +0000 (11:15 -0700)]
Disable elision for any pthread_mutexattr_settype call

PTHREAD_MUTEX_NORMAL requires deadlock for nesting, DEFAULT
does not. Since glibc uses the same value (0) disable elision
for any call to pthread_mutexattr_settype() with a 0 value.
This implies that a program can disable elision by doing
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)

Based on a original proposal by Rich Felker.

11 years agoAdd elision to pthread_mutex_{try,timed,un}lock
Andi Kleen [Sat, 22 Dec 2012 09:03:04 +0000 (01:03 -0800)]
Add elision to pthread_mutex_{try,timed,un}lock

Add elision paths to the basic mutex locks.

The normal path has a check for RTM and upgrades the lock
to RTM when available. Trylocks cannot automatically upgrade,
so they check for elision every time.

We use a 4 byte value in the mutex to store the lock
elision adaptation state. This is separate from the adaptive
spin state and uses a separate field.

Condition variables currently do not support elision.

Recursive mutexes and condition variables may be supported at some point,
but are not in the current implementation. Also "trylock" will
not automatically enable elision unless some other lock call
has been already called on the lock.

This version does not use IFUNC, so it means every lock has one
additional check for elision. Benchmarking showed the overhead
to be negligible.

11 years agoAdd minimal test suite changes for elision enabled kernels
Andi Kleen [Fri, 28 Jun 2013 12:19:37 +0000 (05:19 -0700)]
Add minimal test suite changes for elision enabled kernels

tst-mutex5 and 8 test some behaviour not required by POSIX,
that elision changes. This changes these tests to not check
this when elision is enabled at configure time.

11 years agoAdd new internal mutex type flags for elision.
Andi Kleen [Sat, 22 Dec 2012 08:58:34 +0000 (00:58 -0800)]
Add new internal mutex type flags for elision.

Add Enable/disable flags used internally

Extend the mutex initializers to have the fields needed for
elision. The layout stays the same, and this is not visible
to programs.

These changes are not exposed outside pthread

11 years agoAdd the low level infrastructure for pthreads lock elision with TSX
Andi Kleen [Sat, 10 Nov 2012 08:51:26 +0000 (00:51 -0800)]
Add the low level infrastructure for pthreads lock elision with TSX

Lock elision using TSX is a technique to optimize lock scaling
It allows to run locks in parallel using hardware support for
a transactional execution mode in 4th generation Intel Core CPUs.
See http://www.intel.com/software/tsx for more Information.

This patch implements a simple adaptive lock elision algorithm based
on RTM. It enables elision for the pthread mutexes and rwlocks.
The algorithm keeps track whether a mutex successfully elides or not,
and stops eliding for some time when it is not.

When the CPU supports RTM the elision path is automatically tried,
otherwise any elision is disabled.

The adaptation algorithm and its tuning is currently preliminary.

The code adds some checks to the lock fast paths. Micro-benchmarks
show little to no difference without RTM.

This patch implements the low level "lll_" code for lock elision.
Followon patches hook this into the pthread implementation

Changes with the RTM mutexes:
-----------------------------
Lock elision in pthreads is generally compatible with existing programs.
There are some obscure exceptions, which are expected to be uncommon.
See the manual for more details.

- A broken program that unlocks a free lock will crash.
  There are ways around this with some tradeoffs (more code in hot paths)
  I'm still undecided on what approach to take here; have to wait for testing reports.
- pthread_mutex_destroy of a lock mutex will not return EBUSY but 0.
- There's also a similar situation with trylock outside the mutex,
  "knowing" that the mutex must be held due to some other condition.
  In this case an assert failure cannot be recovered. This situation is
  usually an existing bug in the program.
- Same applies to the rwlocks. Some of the return values changes
  (for example there is no EDEADLK for an elided lock, unless it aborts.
   However when elided it will also never deadlock of course)
- Timing changes, so broken programs that make assumptions about specific timing
  may expose already existing latent problems.  Note that these broken programs will
  break in other situations too (loaded system, new faster hardware, compiler
  optimizations etc.)
- Programs with non recursive mutexes that take them recursively in a thread and
  which would always deadlock without elision may not always see a deadlock.
  The deadlock will only happen on an early or delayed abort (which typically
  happens at some point)
  This only happens for mutexes not explicitely set to PTHREAD_MUTEX_NORMAL
  or PTHREAD_MUTEX_ADAPTIVE_NP.  PTHREAD_MUTEX_NORMAL mutexes do not elide.

The elision default can be set at configure time.

This patch implements the basic infrastructure for elision.

11 years agoEnable static 32-bit SSE4.2 strcasecmp/strncasecmp
H.J. Lu [Tue, 2 Jul 2013 15:03:29 +0000 (08:03 -0700)]
Enable static 32-bit SSE4.2 strcasecmp/strncasecmp

11 years agoImplement fma in soft-fp.
Joseph Myers [Tue, 2 Jul 2013 14:55:32 +0000 (14:55 +0000)]
Implement fma in soft-fp.

11 years agoARM: Pass dl_hwcap to IFUNC resolver functions.
Will Newton [Tue, 2 Jul 2013 13:01:21 +0000 (13:01 +0000)]
ARM: Pass dl_hwcap to IFUNC resolver functions.

11 years agoSupport no-FPU ColdFire in sysdeps/m68k/dl-trampoline.S and refactor code.
Joseph Myers [Sun, 30 Jun 2013 21:36:59 +0000 (21:36 +0000)]
Support no-FPU ColdFire in sysdeps/m68k/dl-trampoline.S and refactor code.

11 years agotile: switch to using <fenv.h> fallback functions
Chris Metcalf [Sun, 30 Jun 2013 15:48:31 +0000 (11:48 -0400)]
tile: switch to using <fenv.h> fallback functions

Now that the fallback functions match the desired semantics for tile
functions, just switch to using them.

11 years agoAdd more NEWS items for 2.18.
Joseph Myers [Fri, 28 Jun 2013 22:53:57 +0000 (22:53 +0000)]
Add more NEWS items for 2.18.

11 years agoSkip SSE4.2 versions on Intel Silvermont
Liubov Dmitrieva [Fri, 28 Jun 2013 22:28:50 +0000 (15:28 -0700)]
Skip SSE4.2 versions on Intel Silvermont

SSE2/SSSE3 versions are faster than SSE4.2 versions on Intel Silvermont.

11 years agoPowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8.
Ryan S. Arnold [Fri, 28 Jun 2013 21:52:49 +0000 (16:52 -0500)]
PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8.

11 years agoAdd GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.
Ryan S. Arnold [Fri, 28 Jun 2013 21:50:48 +0000 (16:50 -0500)]
Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.

11 years agoConsistently use page_shift in sysdeps/unix/sysv/linux/mmap64.c.
Joseph Myers [Fri, 28 Jun 2013 21:45:11 +0000 (21:45 +0000)]
Consistently use page_shift in sysdeps/unix/sysv/linux/mmap64.c.

11 years agoTest for mprotect failure in dl-load.c (bug 12492).
Pierre Ynard [Fri, 28 Jun 2013 21:43:42 +0000 (21:43 +0000)]
Test for mprotect failure in dl-load.c (bug 12492).

11 years agoMark packed structure element used with atomic operation aligned.
Nathan Froyd [Fri, 28 Jun 2013 21:42:19 +0000 (21:42 +0000)]
Mark packed structure element used with atomic operation aligned.

11 years agoFix sysdeps/m68k/fpu_control.h preprocessor indentation.
Joseph Myers [Fri, 28 Jun 2013 20:30:43 +0000 (20:30 +0000)]
Fix sysdeps/m68k/fpu_control.h preprocessor indentation.

11 years agoSupport no-FPU ColdFire in sysdeps/m68k/fpu_control.h.
Nathan Sidwell [Fri, 28 Jun 2013 20:28:25 +0000 (20:28 +0000)]
Support no-FPU ColdFire in sysdeps/m68k/fpu_control.h.

11 years agoAdd a dlopen/getpagesize static executable test.
Maciej W. Rozycki [Fri, 28 Jun 2013 16:43:07 +0000 (17:43 +0100)]
Add a dlopen/getpagesize static executable test.

11 years ago[BZ #15022] Correct global-scope dlopen issues in static executables.
Maciej W. Rozycki [Fri, 28 Jun 2013 15:20:26 +0000 (16:20 +0100)]
[BZ #15022] Correct global-scope dlopen issues in static executables.

This change creates a link map in static executables to serve as the
global search list for dlopen.  It fixes a problem with the inability
to access the global symbol object and a crash on an attempt to map a
DSO into the global scope.  Some code that has become dead after the
addition of this link map is removed too and test cases are provided.

11 years ago[AArch64] Adjust elf_machine_dynamic to find _DYNAMIC via _GLOBAL_OFFSET_TABLE_
Marcus Shawcroft [Fri, 28 Jun 2013 10:27:26 +0000 (11:27 +0100)]
[AArch64] Adjust elf_machine_dynamic to find _DYNAMIC via _GLOBAL_OFFSET_TABLE_

11 years ago[AArch64] Simplify getcontext pstate initialization.
Marcus Shawcroft [Fri, 28 Jun 2013 10:23:58 +0000 (11:23 +0100)]
[AArch64] Simplify getcontext pstate initialization.

11 years ago_dl_static_init: Remove nested locking.
Maciej W. Rozycki [Thu, 27 Jun 2013 10:15:51 +0000 (11:15 +0100)]
_dl_static_init: Remove nested locking.

This function is now called from dl_open_worker with the GL(dl_load_lock)
lock held and no longer needs local protection.  GL(dl_load_lock) also
correctly protects _dl_lookup_symbol_x called here that relies on the
caller to have serialized access to the data structures it uses.

11 years agoRequire GCC 4.4 or later to build glibc.
Joseph Myers [Wed, 26 Jun 2013 23:10:48 +0000 (23:10 +0000)]
Require GCC 4.4 or later to build glibc.

11 years agoAdd a test for BZ #15674
H.J. Lu [Wed, 26 Jun 2013 22:23:08 +0000 (15:23 -0700)]
Add a test for BZ #15674

11 years agoMention BZ #15674
H.J. Lu [Wed, 26 Jun 2013 19:29:47 +0000 (12:29 -0700)]
Mention BZ #15674

11 years agoFix buffers overrun in x86_64 memcmp-ssse3.S
Liubov Dmitrieva [Wed, 26 Jun 2013 19:28:43 +0000 (12:28 -0700)]
Fix buffers overrun in x86_64 memcmp-ssse3.S

11 years ago[BZ #15022] Avoid repeated calls to DL_STATIC_INIT for the same module.
Maciej W. Rozycki [Wed, 26 Jun 2013 18:14:29 +0000 (19:14 +0100)]
[BZ #15022] Avoid repeated calls to DL_STATIC_INIT for the same module.

11 years agoAdd AT_HWCAP2 as a new auxv_t a_type to elf.h.
Ryan S. Arnold [Wed, 26 Jun 2013 13:50:20 +0000 (08:50 -0500)]
Add AT_HWCAP2 as a new auxv_t a_type to elf.h.

11 years agodrop NEWS mention
Mike Frysinger [Tue, 25 Jun 2013 19:20:13 +0000 (15:20 -0400)]
drop NEWS mention

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoFix missing libc-internal.h include.
Richard Henderson [Tue, 25 Jun 2013 16:27:01 +0000 (09:27 -0700)]
Fix missing libc-internal.h include.

* locale/programs/locarchive.c: Include <libc-internal.h>

11 years agoUpdate texinfo.tex.
Joseph Myers [Tue, 25 Jun 2013 17:21:48 +0000 (17:21 +0000)]
Update texinfo.tex.

11 years agom68k: fix bad use of register alias in cfi insn
Andreas Schwab [Tue, 25 Jun 2013 16:57:42 +0000 (18:57 +0200)]
m68k: fix bad use of register alias in cfi insn

11 years ago[BZ #15666] alpha: Add __sqrt*_finite definitions
Richard Henderson [Mon, 24 Jun 2013 16:59:26 +0000 (09:59 -0700)]
[BZ #15666] alpha: Add __sqrt*_finite definitions

With compatibility for ev6 and non-ev6 builds, as the non-ev6 did
manage to get definitions emitted for the float and double functions.

11 years ago[BZ #10283] localedef: align fixed maps to SHMLBA
Mike Frysinger [Thu, 23 May 2013 16:42:28 +0000 (12:42 -0400)]
[BZ #10283] localedef: align fixed maps to SHMLBA

Many Linux arches require fixed mmaps to be aligned higher than pagesize,
so use the SHMLBA define as it represents this quantity exactly.

This fixes spurious errors seen on those arches like:
cannot map archive header: Invalid argument

URL: http://sourceware.org/bugzilla/show_bug.cgi?id=10283
Reported-by: CHIKAMA Masaki <masaki.chikama@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agolibc-internal.h: add ALIGN helper macros
Mike Frysinger [Tue, 28 May 2013 22:25:54 +0000 (18:25 -0400)]
libc-internal.h: add ALIGN helper macros

Rather than open coding the masks, add helper macros to do the magic.
This makes code easier to read.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoBZ #12310: pthread_exit in static app. segfaults
Vladimir Nikulichev [Mon, 24 Jun 2013 21:08:07 +0000 (17:08 -0400)]
BZ #12310: pthread_exit in static app. segfaults

Static applications that call pthread_exit on the main
thread segfault. This is because after a thread terminates
__libc_start_main decrements __nptl_nthreads which is only
defined in pthread_create. Therefore the right solution is
to add a requirement to pthread_create from pthread_exit.

~~~
nptl/

2013-06-24  Vladimir Nikulichev  <v.nikulichev@gmail.com>

[BZ #12310]
* pthread_exit.c: Add reference to pthread_create.

11 years agoPowerPC: Enable POWER8 platform sans hwcap bits.
Ryan S. Arnold [Mon, 24 Jun 2013 20:33:32 +0000 (15:33 -0500)]
PowerPC: Enable POWER8 platform sans hwcap bits.

11 years agoRegenerate INSTALL file
Siddhesh Poyarekar [Mon, 24 Jun 2013 16:16:41 +0000 (21:46 +0530)]
Regenerate INSTALL file

11 years agoFix typo in comment
Siddhesh Poyarekar [Mon, 24 Jun 2013 12:37:37 +0000 (18:07 +0530)]
Fix typo in comment

11 years agoalpha: Update libm-test-ulps
Richard Henderson [Sun, 23 Jun 2013 18:05:40 +0000 (11:05 -0700)]
alpha: Update libm-test-ulps

11 years agoInclude <string.h> in nptl/pthread_setattr_default_np.c.
Joseph Myers [Sat, 22 Jun 2013 19:32:50 +0000 (19:32 +0000)]
Include <string.h> in nptl/pthread_setattr_default_np.c.

11 years agoInclude <string.h> in sysdeps/unix/sysv/linux/libc_fatal.c.
Joseph Myers [Sat, 22 Jun 2013 19:30:10 +0000 (19:30 +0000)]
Include <string.h> in sysdeps/unix/sysv/linux/libc_fatal.c.

11 years agoFix soft-fp shadowing between __FP_FRAC_ADD_3 and _FP_MUL_MEAT_2_wide_3mul (bug 15667).
Joseph Myers [Sat, 22 Jun 2013 19:27:41 +0000 (19:27 +0000)]
Fix soft-fp shadowing between __FP_FRAC_ADD_3 and _FP_MUL_MEAT_2_wide_3mul (bug 15667).

11 years agoRemove dead DL_DST_REQ_STATIC code.
Maciej W. Rozycki [Fri, 21 Jun 2013 23:39:42 +0000 (00:39 +0100)]
Remove dead DL_DST_REQ_STATIC code.

11 years agoAdd sh4 implementation of fegetexceptflag (bug 15655).
Kaz Kojima [Fri, 21 Jun 2013 22:46:45 +0000 (07:46 +0900)]
Add sh4 implementation of fegetexceptflag (bug 15655).

11 years agoFix bad shift in soft-fp (bug 7006).
Joseph Myers [Fri, 21 Jun 2013 19:00:43 +0000 (19:00 +0000)]
Fix bad shift in soft-fp (bug 7006).

11 years agodlfcn/Makefile: Avoid repeated $(*-ENV) definitions.
Maciej W. Rozycki [Fri, 21 Jun 2013 17:13:39 +0000 (18:13 +0100)]
dlfcn/Makefile: Avoid repeated $(*-ENV) definitions.

11 years agoAdd sh4 implementation of fegetexceptflag.
Kaz Kojima [Fri, 21 Jun 2013 09:07:31 +0000 (18:07 +0900)]
Add sh4 implementation of fegetexceptflag.

11 years agoFix loop construction to functions calls
Adhemerval Zanella [Fri, 21 Jun 2013 00:40:55 +0000 (19:40 -0500)]
Fix loop construction to functions calls

Check wheter the compiler has the option -fno-tree-loop-distribute-patterns
to inhibit loop transformation to library calls and uses it on memset
and memmove default implementation to avoid recursive calls.

11 years agoAllow fesetround failures in math/test-misc.c if ROUNDING_TESTS fails.
Joseph Myers [Thu, 20 Jun 2013 19:11:34 +0000 (19:11 +0000)]
Allow fesetround failures in math/test-misc.c if ROUNDING_TESTS fails.

11 years agoAvoid spurious failures from <fenv.h> fallback functions (bug 15654).
Joseph Myers [Thu, 20 Jun 2013 19:10:44 +0000 (19:10 +0000)]
Avoid spurious failures from <fenv.h> fallback functions (bug 15654).

11 years agoUse rtld-CPPFLAGS in rtld-%.os rules for generated sources.
Roland McGrath [Tue, 18 Jun 2013 23:29:25 +0000 (16:29 -0700)]
Use rtld-CPPFLAGS in rtld-%.os rules for generated sources.

11 years agosysdeps/arm/arm-mcount.S: Comment typo fix.
Roland McGrath [Tue, 18 Jun 2013 22:58:48 +0000 (15:58 -0700)]
sysdeps/arm/arm-mcount.S: Comment typo fix.

11 years agoARM: Make armv7 memcpy implementations SFI-friendly
Roland McGrath [Tue, 18 Jun 2013 22:42:56 +0000 (15:42 -0700)]
ARM: Make armv7 memcpy implementations SFI-friendly

11 years agoARM: Clean up __libc_ifunc_impl_list
Roland McGrath [Tue, 18 Jun 2013 17:11:02 +0000 (10:11 -0700)]
ARM: Clean up __libc_ifunc_impl_list

11 years agoFix warnings from ARM soft-float fpu_control.h.
Joseph Myers [Tue, 18 Jun 2013 00:35:03 +0000 (00:35 +0000)]
Fix warnings from ARM soft-float fpu_control.h.

11 years agoWrap test-fpucw.c for ARM.
Joseph Myers [Tue, 18 Jun 2013 00:30:44 +0000 (00:30 +0000)]
Wrap test-fpucw.c for ARM.

11 years agoPowerPC: Reserve TCB space for EBB framework
Adhemerval Zanella [Mon, 17 Jun 2013 20:50:53 +0000 (15:50 -0500)]
PowerPC: Reserve TCB space for EBB framework

This patch reserves four pointer to be used in future Event-Based
Branch framework for PowerPC.

11 years agoMake ARM feenableexcept detect failure (bug 14907).
Joseph Myers [Mon, 17 Jun 2013 17:20:23 +0000 (17:20 +0000)]
Make ARM feenableexcept detect failure (bug 14907).

11 years agoSort sysd-rules-patterns by descending pattern length.
Roland McGrath [Mon, 17 Jun 2013 16:54:51 +0000 (09:54 -0700)]
Sort sysd-rules-patterns by descending pattern length.

11 years agoRewrite sysd-rules generation using an awk script.
Roland McGrath [Mon, 17 Jun 2013 16:55:21 +0000 (09:55 -0700)]
Rewrite sysd-rules generation using an awk script.

11 years agoUse math-tests.h more in math/test-misc.
Joseph Myers [Mon, 17 Jun 2013 11:48:11 +0000 (11:48 +0000)]
Use math-tests.h more in math/test-misc.

11 years agoFix spurious "inexact" exceptions from dbl-64 sqrt (bug 15631).
Joseph Myers [Sat, 15 Jun 2013 19:59:41 +0000 (19:59 +0000)]
Fix spurious "inexact" exceptions from dbl-64 sqrt (bug 15631).

11 years agoAdd another fma test.
Joseph Myers [Sat, 15 Jun 2013 19:58:38 +0000 (19:58 +0000)]
Add another fma test.

11 years agoAdd documentation for default pthread attribute functions
Siddhesh Poyarekar [Sat, 15 Jun 2013 06:57:40 +0000 (12:27 +0530)]
Add documentation for default pthread attribute functions

11 years agoNew API to set default thread attributes
Siddhesh Poyarekar [Sat, 15 Jun 2013 06:54:15 +0000 (12:24 +0530)]
New API to set default thread attributes

This patch introduces two new convenience functions to set the default
thread attributes used for creating threads.  This allows a programmer
to set the default thread attributes just once in a process and then
run pthread_create without additional attributes.

11 years agoStop MIPS setjmp / longjmp saving / restoring floating-point flags (bug 14909).
Joseph Myers [Fri, 14 Jun 2013 21:42:24 +0000 (21:42 +0000)]
Stop MIPS setjmp / longjmp saving / restoring floating-point flags (bug 14909).

11 years agoUpdate ARM _FPU_RESERVED value.
Joseph Myers [Fri, 14 Jun 2013 21:19:35 +0000 (21:19 +0000)]
Update ARM _FPU_RESERVED value.

11 years agoAdd math-tests.h for MIPS.
Joseph Myers [Fri, 14 Jun 2013 20:21:40 +0000 (20:21 +0000)]
Add math-tests.h for MIPS.

11 years agoSet fast unaligned load flag for new Intel microarchitecture
Liubov Dmitrieva [Fri, 14 Jun 2013 18:46:15 +0000 (20:46 +0200)]
Set fast unaligned load flag for new Intel microarchitecture

I have small patch for new Intel Silvermont machines.

http://newsroom.intel.com/community/intel_newsroom/blog/2013/05/06/intel-launches-low-power-high-performance-silvermont-microarchitecture

I checked this on my machine and see that strcpy, ... unaligned
versions are faster than ssse3 versions.

11 years agoAdd rtld-memset.S for x86_64
Siddhesh Poyarekar [Fri, 14 Jun 2013 18:39:26 +0000 (00:09 +0530)]
Add rtld-memset.S for x86_64

Resolves: BZ #15627

Add an assembler version of rtld-memset to avoid using SSE registers.

11 years agoMake tst-strtod-round use ROUNDING_TESTS.
Joseph Myers [Fri, 14 Jun 2013 17:58:41 +0000 (17:58 +0000)]
Make tst-strtod-round use ROUNDING_TESTS.

11 years agoMicroBlaze: negated errors in lowlevellock.h
Kirk Meyer [Fri, 14 Jun 2013 00:11:02 +0000 (10:11 +1000)]
MicroBlaze: negated errors in lowlevellock.h

The macros in lowlevellock.h are returning positive errors, but the
users of the macros expect negative. This causes e.g. sem_wait to
sometimes return an error with errno set to -EWOULDBLOCK.

Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
11 years agoFix raciness in waitid test.
Roland McGrath [Thu, 13 Jun 2013 22:09:29 +0000 (15:09 -0700)]
Fix raciness in waitid test.

11 years agoAvoid access beyond memory bounds in pthread_attr_getaffinity_np
Siddhesh Poyarekar [Thu, 13 Jun 2013 19:50:06 +0000 (01:20 +0530)]
Avoid access beyond memory bounds in pthread_attr_getaffinity_np

Resolves BZ #15618.

pthread_attr_getaffinity_np may write beyond bounds of the input
cpuset buffer if the size of the input buffer is smaller than the
buffer present in the input pthread attributes.  Fix is to copy to the
extent of the minimum of the source and the destination.

11 years agoFix NEWS entry about clock precision
Siddhesh Poyarekar [Thu, 13 Jun 2013 17:42:00 +0000 (23:12 +0530)]
Fix NEWS entry about clock precision

Text by Roland McGrath.

11 years agoDon't let ld.so that failed its sanity check land in place.
Roland McGrath [Thu, 13 Jun 2013 17:26:44 +0000 (10:26 -0700)]
Don't let ld.so that failed its sanity check land in place.

11 years agotile: default to little-endian in bits/endian.h
Chris Metcalf [Wed, 12 Jun 2013 20:48:33 +0000 (16:48 -0400)]
tile: default to little-endian in bits/endian.h

This turns out to be helpful when doing a from-scratch cross-compile of
gcc and glibc, since you can then do "make install-headers" in glibc
even before you have a functioning tile gcc.

11 years agoRework tst-strtod-round handling of inexact results.
Joseph Myers [Thu, 13 Jun 2013 15:41:58 +0000 (15:41 +0000)]
Rework tst-strtod-round handling of inexact results.

11 years agoFix formatting of comment
Andreas Jaeger [Thu, 13 Jun 2013 07:52:49 +0000 (09:52 +0200)]
Fix formatting of comment

11 years agoUpdate sv_FI@euro
Johan Heikkila [Thu, 13 Jun 2013 07:50:02 +0000 (09:50 +0200)]
Update sv_FI@euro

[BZ#15432]
* locales/sv_FI@euro: Add LC_MEASUREMENT.

11 years agoUpdate sv_FI
Johan Heikkila [Thu, 13 Jun 2013 07:49:03 +0000 (09:49 +0200)]
Update sv_FI

[BZ#15431]
* locales/sv_FI: Add LC_MEASUREMENT, use copy in LC_TELEPHONE,
update LC_ADDRESS with using postal_fmt from Finnish Post Office
recommendations at
http://www.posti.fi/hinnatjaohjeet/osoitejakuorimerkinnat/osoitemerkinnat.html
and add missing entries.

11 years agoFix ChangeLog entry
Siddhesh Poyarekar [Thu, 13 Jun 2013 04:49:49 +0000 (10:19 +0530)]
Fix ChangeLog entry

11 years agoImprove precision of clock() function on Linux
Siddhesh Poyarekar [Thu, 13 Jun 2013 04:24:35 +0000 (09:54 +0530)]
Improve precision of clock() function on Linux

Resolves #12515.

Use CLOCK_PROCESS_CPUTIME_ID instead of times to get better precision
in the value returned by clock.

11 years agoFix unsafe compiler optimization
Adhemerval Zanella [Wed, 12 Jun 2013 15:21:22 +0000 (10:21 -0500)]
Fix unsafe compiler optimization

GCC 4.8 enables -ftree-loop-distribute-patterns at -O3 by default and
this optimization may transform loops into memset/memmove calls. Without
proper handling this may generate unexpected PLT calls on GLIBC.
This patch fixes by create memset/memmove alias to internal GLIBC
__GI_memset/__GI_memmove symbols.

11 years agoMake more libm tests condition exceptions tests with math-tests.h.
Joseph Myers [Wed, 12 Jun 2013 12:41:25 +0000 (12:41 +0000)]
Make more libm tests condition exceptions tests with math-tests.h.

11 years agoUpdate Interlingua translation from translation project
Andreas Jaeger [Wed, 12 Jun 2013 08:12:19 +0000 (10:12 +0200)]
Update Interlingua translation from translation project

11 years agoSet/restore rounding mode only when needed
Siddhesh Poyarekar [Wed, 12 Jun 2013 05:06:48 +0000 (10:36 +0530)]
Set/restore rounding mode only when needed

The most common use case of math functions is with default rounding
mode, i.e. rounding to nearest.  Setting and restoring rounding mode
is an unnecessary overhead for this, so I've added support for a
context, which does the set/restore only if the FP status needs a
change.  The code is written such that only x86 uses these.  Other
architectures should be unaffected by it, but would definitely benefit
if the set/restore has as much overhead relative to the rest of the
code, as the x86 bits do.

Here's a summary of the performance improvement due to these
improvements; I've only mentioned functions that use the set/restore
and have benchmark inputs for x86_64:

Before:

cos(): ITERS:4.69335e+08: TOTAL:28884.6Mcy, MAX:4080.28cy, MIN:57.562cy, 16248.6 calls/Mcy
exp(): ITERS:4.47604e+08: TOTAL:28796.2Mcy, MAX:207.721cy, MIN:62.385cy, 15543.9 calls/Mcy
pow(): ITERS:1.63485e+08: TOTAL:28879.9Mcy, MAX:362.255cy, MIN:172.469cy, 5660.86 calls/Mcy
sin(): ITERS:3.89578e+08: TOTAL:28900Mcy, MAX:704.859cy, MIN:47.583cy, 13480.2 calls/Mcy
tan(): ITERS:7.0971e+07: TOTAL:28902.2Mcy, MAX:1357.79cy, MIN:388.58cy, 2455.55 calls/Mcy

After:

cos(): ITERS:6.0014e+08: TOTAL:28875.9Mcy, MAX:364.283cy, MIN:45.716cy, 20783.4 calls/Mcy
exp(): ITERS:5.48578e+08: TOTAL:28764.9Mcy, MAX:191.617cy, MIN:51.011cy, 19071.1 calls/Mcy
pow(): ITERS:1.70013e+08: TOTAL:28873.6Mcy, MAX:689.522cy, MIN:163.989cy, 5888.18 calls/Mcy
sin(): ITERS:4.64079e+08: TOTAL:28891.5Mcy, MAX:6959.3cy, MIN:36.189cy, 16062.8 calls/Mcy
tan(): ITERS:7.2354e+07: TOTAL:28898.9Mcy, MAX:1295.57cy, MIN:380.698cy, 2503.7 calls/Mcy

So the improvements are:

cos: 27.9089%
exp: 22.6919%
pow: 4.01564%
sin: 19.1585%
tan: 1.96086%

The downside of the change is that it will have an adverse performance
impact on non-default rounding modes, but I think the tradeoff is
justified.

11 years agoConvert iso-639.def to utf-8
Siddhesh Poyarekar [Tue, 11 Jun 2013 16:44:43 +0000 (22:14 +0530)]
Convert iso-639.def to utf-8

11 years agoAdd exception information to math-tests.h and use it in libm-test.inc.
Joseph Myers [Tue, 11 Jun 2013 15:44:31 +0000 (15:44 +0000)]
Add exception information to math-tests.h and use it in libm-test.inc.

11 years agoPort remaining string benchmarks
Siddhesh Poyarekar [Tue, 11 Jun 2013 15:21:55 +0000 (20:51 +0530)]
Port remaining string benchmarks

There were a few more string benchmarks (strcpy_chk and stpcpy_check)
in the debug directory that needed to be ported over.

11 years agoPowerPC: Remove redundant ports/sysdeps/powerpc/dl-procinfo.[ch].
Ryan S. Arnold [Tue, 11 Jun 2013 14:33:33 +0000 (09:33 -0500)]
PowerPC: Remove redundant ports/sysdeps/powerpc/dl-procinfo.[ch].

11 years agoPowerPC: Merge ports/ dl-procinfo.[ch] with base.
Ryan S. Arnold [Tue, 11 Jun 2013 14:32:41 +0000 (09:32 -0500)]
PowerPC: Merge ports/ dl-procinfo.[ch] with base.

11 years agoUpdate BIG5-HKSCS charmap to HKSCS-2008
Andreas Schwab [Thu, 10 Jan 2013 16:46:49 +0000 (17:46 +0100)]
Update BIG5-HKSCS charmap to HKSCS-2008

11 years agoFix indentation and add copyright header to time.h
Siddhesh Poyarekar [Tue, 11 Jun 2013 13:12:42 +0000 (18:42 +0530)]
Fix indentation and add copyright header to time.h

11 years agoRemove performance-related bits from string tests
Siddhesh Poyarekar [Tue, 4 Jun 2013 12:41:43 +0000 (18:11 +0530)]
Remove performance-related bits from string tests

11 years agoCopy over string performance tests into benchtests
Siddhesh Poyarekar [Tue, 4 Jun 2013 11:18:56 +0000 (16:48 +0530)]
Copy over string performance tests into benchtests

Copy over already existing string performance tests into benchtests.
Bits not related to performance measurements have been omitted.

11 years agoBegin porting string performance tests to benchtests
Siddhesh Poyarekar [Tue, 16 Apr 2013 12:07:24 +0000 (17:37 +0530)]
Begin porting string performance tests to benchtests

This is the initial support for string function performance tests,
along with copying tests for memcpy and memcpy-ifunc as proof of
concept.  The string function benchmarks perform operations at
different alignments and for different sizes and compare performance
between plain operations and the optimized string operations.  Due to
this their output is incompatible with the function benchmarks where
we're interested in fastest time, throughput, etc.

In future, the correctness checks in the benchmark tests can be
removed.  Same goes for the performance measurements in the
string/test-*.

This page took 0.686747 seconds and 5 git commands to generate.