Commit Graph

422 Commits

Author SHA1 Message Date
Thomas Schwinge
2636ffe654 Align to generic file. 2013-02-20 16:48:56 +01:00
Joseph Myers
92363eb87c Add FUTEX_*_REQUEUE_PI support for MIPS. 2013-02-19 00:49:25 +00:00
Joseph Myers
6c89344ec2 Add FUTEX_*_REQUEUE_PI support for ARM. 2013-02-18 23:49:05 +00:00
Siddhesh Poyarekar
4bf6b9dd8e Add __cxa_thread_atexit_impl to aarch64 abilist 2013-02-18 22:23:19 +05:30
Siddhesh Poyarekar
ba384f6ed9 C++11 thread_local destructors support
This feature is specifically for the C++ compiler to offload calling
thread_local object destructors on thread program exit, to glibc.
This is to overcome the possible complication of destructors of
thread_local objects getting called after the DSO in which they're
defined is unloaded by the dynamic linker.  The DSO is marked as
'unloadable' if it has a constructed thread_local object and marked as
'unloadable' again when all the constructed thread_local objects
defined in it are destroyed.
2013-02-18 19:08:21 +05:30
Joseph Myers
2bdd4ca6b6 Remove miscellaneous bounded-pointers relics in C code. 2013-02-15 00:51:53 +00:00
Carlos O'Donell
dd395cf110 hppa: Remove unused lll_unlock_wake_cb.
There hasn't been a use for lll_unlock_wake_cb since it was
removed globally in 2007-05-29. This patch removes the
function from hppa's lowlevellock.[ch] implementation.
2013-02-14 10:34:48 -05:00
Marcus Shawcroft
1739edf7a5 aarch64: Update libm-test-ulps. 2013-02-14 14:06:12 +00:00
Joseph Myers
e97ed6ddbe Remove bp-sym.h and BP_SYM uses from C code. 2013-02-14 13:12:02 +00:00
Joseph Myers
70d9946a44 Remove __ptrvalue, __bounded and __unbounded. 2013-02-13 23:30:40 +00:00
Joseph Myers
aea7a9b9d2 Add CFI information for MIPS assembly sources. 2013-02-11 18:19:14 +00:00
Andreas Schwab
3392138235 m68k: update kernel-features.h 2013-02-08 23:19:49 +01:00
Joseph Myers
a2da1673fe Remove CHECK_N and bp-checks.h. 2013-02-08 20:06:30 +00:00
Carlos O'Donell
b39949d211 ARM: Support loading unmarked objects from cache.
ARM now supports loading unmarked objects from
the dynamic loader cache. Unmarked objects can
be used with the hard-float or soft-float ABI.
We must support loading unmarked objects during
the transition period from a binutils that does
not mark objects to one that does mark them with
the correct ELF flags.

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
2013-02-08 12:26:12 -05:00
Joseph Myers
a6ee178332 Use ENTRY and END in more MIPS .S files. 2013-02-08 02:03:10 +00:00
Joseph Myers
f3aae3f3eb Remove CHECK_1 and CHECK_1_NULL_OK. 2013-02-08 01:12:11 +00:00
Maciej W. Rozycki
f9834ea477 MIPS: Correct formatting of syscall wrapper `asm' specifiers. 2013-02-05 15:31:08 +00:00
Maciej W. Rozycki
b82ba2f011 MIPS: Respect the legacy syscall restart convention.
That convention requires the instruction immediately preceding SYSCALL
to initialize $v0 with the syscall number.  Then if a restart triggers,
$v0 will have been clobbered by the syscall interrupted, and needs to be
reinititalized.  The kernel will decrement the PC by 4 before switching
back to the user mode so that $v0 has been reloaded before SYSCALL is
executed again.  This implies the place $v0 is loaded from must be
preserved across a syscall, e.g. an immediate, static register, stack
slot, etc.

The restriction was lifted with Linux 2.6.36 kernel release and no
special requirements are placed around the SYSCALL instruction anymore,
however we still support older kernel binaries.
2013-02-05 14:55:20 +00:00
Joseph Myers
6277fdabc0 Remove CHECK_STRING, CHECK_STRING_NULL_OK and __ubp_memchr. 2013-02-04 16:29:39 +00:00
Joseph Myers
32a45bea39 Remove CHECK_SIGSET and CHECK_SIGSET_NULL_OK. 2013-01-31 23:00:15 +00:00
Joseph Myers
2e8a5c8c46 Remove bp-semctl.h and CHECK_SEMCTL. 2013-01-31 22:59:04 +00:00
Maciej W. Rozycki
29bfb065e3 MIPS: Correct NewABI syscall wrapper whitespace damage. 2013-01-29 13:30:16 +00:00
Steve Ellcey
c6af74e473 2013-01-25 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memmove.c: Remove.
2013-01-25 16:11:40 -08:00
Marcus Shawcroft
a0b1cd8869 AArch64: Adding optimized strncmp implementation. 2013-01-24 14:33:12 +00:00
Marcus Shawcroft
4499bb3e1b AArch64: Adding optimized strnlen implementation. 2013-01-24 14:33:11 +00:00
Andreas Schwab
ba6f5ae50b m68k: update libm test ULPs 2013-01-20 21:00:09 +01:00
Andreas Schwab
7cd24045d6 m68k: add unwind tables to backtrace 2013-01-20 14:29:57 +01:00
Andreas Schwab
32ebef017f Add backtrace for m68k 2013-01-19 23:47:27 +01:00
Andreas Schwab
41597a7c02 Add not-cancel.h for m68k/nptl 2013-01-19 21:23:15 +01:00
Marcus Shawcroft
d542f8ed21 AArch64: Implement optimized strlen. 2013-01-17 10:56:50 +00:00
Marcus Shawcroft
38fecb39a0 AArch64: Implement optimized strcmp 2013-01-17 10:56:49 +00:00
Marcus Shawcroft
7ac4d96239 AArch64: Implement optimized bzero. 2013-01-17 10:56:49 +00:00
Marcus Shawcroft
c2b6221ed3 AArch64: Implement optimized memmove. 2013-01-17 10:56:49 +00:00
Marcus Shawcroft
857c8d2228 AArch64: Implement optimized memcpy. 2013-01-17 10:56:49 +00:00
Marcus Shawcroft
58faa0874b AArch64: Implement optimized memset. 2013-01-17 10:56:48 +00:00
Marcus Shawcroft
14d941e4dc AArch64: Implement optimized memcmp. 2013-01-17 10:56:48 +00:00
Marcus Shawcroft
62216a0a1e AArch64: Tidyup whitespace. 2013-01-17 10:56:48 +00:00
Joseph Myers
828beb132d Use __extension__ with long long in installed headers. 2013-01-10 20:19:45 +00:00
Chris Metcalf
176f2fe0a1 tilegx: fix ldd to work with both tilegx64 and tilegx32
This uses the same ldd-rewrite.sed hook as other platforms, with
the minor tweak that tilegx uses /lib (64-bit) and /lib32 (32-bit).
2013-01-10 10:16:06 -05:00
Steve Ellcey
b13c7b55ed Fix trailing blank. 2013-01-08 14:41:24 -08:00
Steve Ellcey
d9014c080a 2013-01-08 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memcpy.S: Change prefetch hint, reorder partial
	loads and stores, set and use MAX_PREFETCH_SIZE.
2013-01-08 14:40:28 -08:00
Andreas Jaeger
c40ea3d9a3 BZ#14985: Remove erroneous EPOLL_NONBLOCK
[BZ# 14985]
	* sysdeps/unix/sysv/linux/sparc/bits/epoll.h (EPOLL_NONBLOCK):
	Remove.
	* sysdeps/unix/sysv/linux/bits/epoll.h (EPOLL_NONBLOCK):
	Likewise.
	* sysdeps/unix/sysv/linux/x86/bits/epoll.h (EPOLL_NONBLOCK):
	Likewise.

ChangeLog.mips:
	[BZ# 14985]
	* sysdeps/unix/sysv/linux/mips/bits/epoll.h (EPOLL_NONBLOCK):
	* Remove.

ChangeLog.hppa:
	[BZ# 14985]
	* sysdeps/unix/sysv/linux/hppa/sys/epoll.h (EPOLL_NONBLOCK):
	Remove.

ChangeLog.alpha:
	[BZ# 14985]
	* sysdeps/unix/sysv/linux/alpha/bits/epoll.h (EPOLL_NONBLOCK):
	Remove.
2013-01-08 19:32:00 +01:00
Andreas Schwab
8729819ba4 Update m68k libm test ULPs 2013-01-04 17:27:59 +01:00
Joseph Myers
0e2f956295 Fix copyright notice corruption from update-copyright bug. 2013-01-02 19:28:45 +00:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Richard Henderson
caed4e98ca alpha: Add lll_futex_timed_wait_bitset 2013-01-02 09:00:46 -08:00
Joseph Myers
f4cf5f2d8b Add script to update copyright notices and reformat some to facilitate its use. 2013-01-01 16:29:10 +00:00
Chris Metcalf
fdfc65d21f tile: support lll_futex_timed_wait_bitset 2012-12-28 12:13:01 -05:00
Chris Metcalf
2bc2d8e823 tile: fix DWARF bug in clone() for created thread
Previously, we would see a bad frame in the gdb backtrace output, e.g.:

  (gdb) bt
  #0  foo () at foo.c:5
  #1  0x000000aaaab68ee8 in start_thread () from /lib/libpthread.so.0
  #2  0x000000aaaad01c88 in clone () from /lib/libc.so.6
  #3  0x0000000000000000 in ?? ()

With this change the bogus frame #3 is gone and we have the
same output as x86 does for the same program.
2012-12-21 15:29:55 -05:00
Marcus Shawcroft
99aad51087 aarch64: Fix compiler warning for unused declaration _x0 2012-12-10 10:33:30 +00:00
Richard Henderson
7514f09e1e alpha: Fix redefinition of __isnanl macro warning
In bdd7898a58 we added self-definitions
of __isnan and friends in order to indicate specialized architecture
support, and avoid redefinitions within various generic math_private.h.

There is no generic math_private.h that concerns ldbl-128, and while
we provide __isnanl in the alpha math_private.h there's no need to
protect the function against redefinition.
2012-12-07 13:08:31 -06:00
Richard Henderson
1aec5f74bb alpha: Avoid builtin warning for isnanf 2012-12-07 12:43:06 -06:00
Marcus Shawcroft
ad2d839f37 aarch64: Regenerate libm-test-ulps. 2012-12-07 12:46:04 +00:00
Marcus Shawcroft
82bf34183f aarch64: Resolve sc_err and _x0 defined but not used warnings. 2012-12-07 12:33:53 +00:00
Marcus Shawcroft
bb3c2a5391 aarch64: Resolve implict cast warning. 2012-12-07 12:31:29 +00:00
Marcus Shawcroft
443d9489b1 aarch64: Resolve strtab defined but not used warning. 2012-12-07 12:28:52 +00:00
Joseph Myers
ea2c5872e2 Specify powerpc-nofpu fegetexceptflag return type. 2012-12-05 18:11:55 +00:00
Joseph Myers
0993dd9b0c Fix warnings from MIPS soft-float _FPU_GETCW. 2012-12-04 22:07:03 +00:00
Marcus Shawcroft
a915e17fe7 aarch64: Tag ARM libc6-dependent libraries with FLAG_ELF_LIBC6
* sysdeps/unix/sysv/linux/aarch64/ldconfig.h: Add entries
        for /lib/ld-linux.so.3 and /lib/ld-linux-armhf.so.3.

Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
2012-12-04 13:07:25 +00:00
Marcus Shawcroft
ba835e1074 aarch64: Tag ARM and AArch64 binaries in the ldconfig cache
Add the correct tags for ARM and AArch64 libraries in the ldconfig
cache for AArch64.

Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
2012-12-04 13:07:25 +00:00
Marcus Shawcroft
931ed9559b arm: Check for the FLAG_ARM_LIBHF flag in the ldconfig cache
Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
2012-12-04 13:07:24 +00:00
Marcus Shawcroft
bc7981ac2b arm: Tag ARM libc6-dependent binaries with FLAG_ELF_LIBC6
Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
2012-12-04 11:00:19 +00:00
Marcus Shawcroft
a55bca6542 arm: Tag ARM and AArch64 binaries in the ldconfig cache.
Add the correct tags for ARM and AArch64 libraries in the ldconfig
cache for ARM.

Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
2012-12-04 10:50:34 +00:00
Joseph Myers
ec13345bab Update ARM libm-test-ulps. 2012-11-30 20:41:26 +00:00
Joseph Myers
8018f81bde Update MIPS libm-test-ulps. 2012-11-30 20:35:34 +00:00
Richard Henderson
b062e14ff3 alpha: Add sysdeps/alpha/sotruss-lib.c. 2012-11-30 09:54:34 -08:00
Joseph Myers
2a398e6f5b Remove powerpc-nofpu fma ulps. 2012-11-30 17:38:37 +00:00
Joseph Myers
05f5c45cff Update powerpc-nofpu libm-test-ulps. 2012-11-30 17:33:37 +00:00
Richard Henderson
4bf2253280 alpha: Update libm-test-ulps. 2012-11-30 09:21:12 -08:00
Mike Frysinger
6355e122f5 ia64: clock_getcpuclockid.c: drop unused file
Since we no longer support __ASSUME_POSIX_CPU_TIMERS, the ia64 code
no longer needs to override HAS_CPUCLOCK in the common file.  Drop
the ia64 shim as well.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-11-29 19:32:05 -05:00
Andreas Schwab
38f34d05c3 m68k: update libm-test ULPs 2012-11-30 00:36:34 +01:00
Joseph Myers
1672585fc1 Add 64-bit support to MIPS register-dump.h (bug 14893). 2012-11-29 23:03:48 +00:00
Carlos O'Donell
506fdf71df hppa: Remove socket.h and implement socket_type.h. 2012-11-29 18:00:01 -05:00
Carlos O'Donell
80ceeaeef9 hppa: Cleanup two build warnings for integer to pointers casts. 2012-11-29 17:59:59 -05:00
Chris Metcalf
ebdcf03979 tile: remove redundant defines of libc_fetestexcept, etc. in s_fmaf.c 2012-11-29 11:17:29 -05:00
Marcus Shawcroft
8d953369ef aarch64: Use FLAG_AARCH64_LIB64 ldconfig cache tag.
Use the new FLAG_AARCH64_LIB64 ldconfig cache tag for AArch64,
similarly to the way tags are handled for other architectures.

Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
Reviewed-by: Carlos O'Donell  <carlos@systemhalted.org>
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@linaro.org>
2012-11-29 10:38:49 +00:00
Andreas Schwab
3e2e43e250 m68k/cf: fix copying frame in _dl_runtime_profile 2012-11-25 20:59:31 +01:00
Andreas Schwab
9205a99176 m68k: add sotruss-lib.c 2012-11-25 20:59:30 +01:00
Marcus Shawcroft
e061318880 aarch64: Re-generate libm-test-ulps. 2012-11-22 06:38:42 +00:00
Joseph Myers
fc6394c6fc Implement MIPS n64 sendfile64 as alias of sendfile syscall (bug 14822). 2012-11-22 02:37:02 +00:00
Andreas Schwab
5a22385ad1 m68k: fix return value of lll_futex_timed_wait_bitset 2012-11-21 22:59:20 +01:00
Joseph Myers
a451ee33af Avoid $(shell) in determining default ARM ABI. 2012-11-21 21:04:33 +00:00
Joseph Myers
ad35f2dd75 Make ARM fesetenv (FE_NOMASK_ENV) detect failure (bug 14866). 2012-11-21 20:26:56 +00:00
Joseph Myers
c3151ad100 Cast to uintptr_t in MIPS jmpbuf-unwind.h. 2012-11-21 16:41:57 +00:00
Marcus Shawcroft
86fe56bbde aarch64: Fix lll_futex_timed_wait_bitset return value sign.
The implementation of lll_futex_timed_wait_bitset should not be negating
the futex syscall return value on error.
2012-11-21 12:24:11 +00:00
Marcus Shawcroft
3bae7c5d98 aarch64: Remove weak_aliasx macro. 2012-11-21 08:16:06 +00:00
Marcus Shawcroft
ea8867b7fe aarch64: Remove support for NO_LONG_DOUBLE. 2012-11-21 08:16:04 +00:00
Marcus Shawcroft
5c5bd24ec1 aarch64: Indent preprocessor directives. 2012-11-21 08:16:02 +00:00
Marcus Shawcroft
0f28d32059 aarch64: Use range in copyright years. 2012-11-21 08:16:00 +00:00
Marcus Shawcroft
887a4ca5b0 aarch64: Rename .x files to .c 2012-11-21 08:16:00 +00:00
Marcus Shawcroft
5e543752f1 aarch64: Don't use K&R C 2012-11-21 08:16:00 +00:00
Joseph Myers
e0ba0e189a Add sotruss-lib.c for MIPS. 2012-11-21 02:29:29 +00:00
Chris Metcalf
c10f7382a3 tile: update libm-test-ulps for new tests 2012-11-20 15:06:38 -05:00
Chris Metcalf
73deba6d3c tile: Fix __bswap_64 return type in tile bits/byteswap.h 2012-11-20 15:05:59 -05:00
Chris Metcalf
3d45177146 tile: remove redundant defines of libc_fetestexcept, etc. in s_fma.c 2012-11-20 15:05:32 -05:00
Andreas Schwab
615f651b7e m68k: Remove indirection through weak_aliasx 2012-11-20 21:00:09 +01:00
Joseph Myers
f59cba71d8 Use parentheses around MIPS syscall macro arguments. 2012-11-20 02:45:45 +00:00
Joseph Myers
aa099ade81 Fix int-to-pointer-cast warnings for MIPS. 2012-11-20 02:40:12 +00:00
Joseph Myers
bd077d205a Fix warnings from aborting MIPS atomic macros. 2012-11-20 00:56:29 +00:00
Joseph Myers
c9c253d372 Fix unused-variable warnings from MIPS RESOLVE_GOTSYM macro. 2012-11-20 00:00:35 +00:00
Joseph Myers
6eb43a28af Fix unused variable warnings from MIPS syscall macros. 2012-11-19 23:08:27 +00:00
Marcus Shawcroft
a6d9783fe7 AArch64: Adding optimized maths functions. 2012-11-19 15:15:18 +00:00
Carlos O'Donell
6e63f4ff60 hppa: Mark __pthread_once as a hidden def. 2012-11-19 00:55:04 -05:00
Carlos O'Donell
da66ca0fc0 hppa: Fix fesetenv for FE_DFL_ENV.
Switching back to FE_DFL_ENV should reset the FPU to the state
as it was at the start of the program.
2012-11-19 00:44:00 -05:00
Carlos O'Donell
886ce148c0 hppa: Implement get-rounding-mode.h
Implement get_rounding_mode using the new fpu_control.h
support. Use get_rounding_mode from fegetround.
2012-11-19 00:40:05 -05:00
Carlos O'Donell
030c5d66b8 hppa: Implement fpu_control.h.
The HP-PARISC processor has full IEEE-754 support
and we implement all of fpu_control.h.
2012-11-19 00:37:56 -05:00
Carlos O'Donell
0d6bed7150 hppa: Add ____longjmp_check C implementation. 2012-11-19 00:36:08 -05:00
Carlos O'Donell
320194d5b9 hppa: Implement __longjmp_chk.
Implement longjmp and the chk variant in C.
2012-11-19 00:28:30 -05:00
Andreas Schwab
67f2b51c62 m68k: fix cancellable syscall with 5 or 6 arguments 2012-11-18 01:22:38 +01:00
Andreas Schwab
e510ab5eff m68k: define ELF_MACHINE_RUNTIME_FIXUP_PARAMS 2012-11-18 01:22:37 +01:00
Andreas Schwab
43b13a23e0 m68k: update libm test ULPs 2012-11-18 01:22:36 +01:00
Andreas Schwab
05860e4b07 m68k: define lll_futex_timed_wait_bitset 2012-11-18 01:22:35 +01:00
Joseph Myers
018f9a78d3 Fix "set but not used" warnings from MIPS bits/atomic.h. 2012-11-17 03:35:27 +00:00
Marcus Shawcroft
f507f7d598 Fix thumb2 build breakage in libcrypt 2012-11-14 23:06:40 +00:00
Marcus Shawcroft
554066b83b AArch64 Port 2012-11-09 17:54:04 +00:00
Chris Metcalf
fdf689a977 tile: use memcpy in memmove when possible 2012-11-06 22:19:31 -05:00
Maxim Kuvyrkov
19218757e6 Use memcpy in memmove when possible 2012-11-06 17:47:55 -08:00
Chris Metcalf
351dc60c55 tile: use atomic op to unlock pthread_spinlock_t
Atomic ops are issued directly from the core, rather than
potentially sitting in the write buffer, so can improve the
performance of other waiters.  In addition, if we didn't end
up pulling a copy of the cache line where the lock is into cache,
by using an atomic op we don't have to acquire the cache line
before we can unlock.
2012-11-06 09:50:47 -05:00
Chris Metcalf
a0bce338e8 Make ieee754 fma tolerate architectures without exception support. 2012-11-06 09:48:53 -05:00
Chris Metcalf
fedff58953 tile: support very large shared objects
With gcc 4.8 tilegx has support for -mcmodel=large, to tolerate very
large shared objects.  This option changes the compiler output to
not include direct jump instructions, which have a range of only
2^30, i.e +/- 512MB.  Instead the compiler marshalls the target PCs
into registers and then uses jump- or call-to-register instructions.

For glibc, the upshot is that we need to arrange for a few functions
to tolerate the possibility of a large range between the PC and
the target.  In particular, the crti.S and start.S code needs
to be able to reach from .init to the PLT, as does gmon-start.c.
The elf-init.c code has the reverse problem, needing to call from
libc_nonshared.a (linked at the end of shared objects) back to the
_init section at the beginning.

No other functions in *_nonshared.a need to be built this way, as
they only call the PLT (or potentially each other), but all of that
code is linked at the very end of the shared object.

We don't build the standard -static archives with this option as the
performance cost is high enough and the use case is rare enough that
it doesn't seem worthwhile.  Instead, we would encourage developers
who need the -static model with huge executables to build a private
copy of glibc and configure it with -mcmodel=large.

Note that libc.so et al don't need any changes; the only changes
are for code that is statically linked into user code built with
-mcmodel=large.

For the assembly code, I just rewrote it so that it unconditionally
uses the large model.  To be able to pass -mcmodel=large to
csu/elf-init.c and csu/gmon-start.c, I need to check to see if the
compiler supports that flag, since gcc 4.7 doesn't; I added the
support by creating a small Makefile fragment that just runs the
compiler to check.
2012-11-06 09:48:49 -05:00
Chris Metcalf
e7776fefa7 tile: improve simulator notification for relative paths in dlopen
Normally, the simulator is notified of absolute pathnames by the
_dl_load_hook hook.  However, when a relative pathname is used, the
simulator may not know that the relative path matches a path that
it could figure out in the file system that it has access to.
Instead we provide a simplified version of the realpath function
so we can pass a plausible absolute pathname to the simulator.

Since we're now doing more work at object load time, we also add
a guard so we do no work at all if we're not running on the simulator.
2012-11-06 09:24:44 -05:00
Chris Metcalf
cd84016efe Optimize tile (mostly tilegx) memcpy and memmove performance.
- Override <memcopy.h> so we use full 8-byte word copies on tilegx32
  for memmove, then use op_t in memcpy instead of the previous
  locally-defined word_t just to avoid proliferating identical types.
- Fix bug in memcpy prefetch that caused us to never prefetch past
  the first cache line.
- Optimize misaligned memcpy by inlining _wordcopy_fwd_dest_aligned
  instead of just doing a dumb word-at-a-time copy.
- Make memcpy safe for forward copies by doing all the loads from
  a given cache line prior to doing a wh64 (cache line zero-fill)
  on the destination.  Remove now-redundant src == dst check.
- Copy and optimize the generic wordcopy.c routines to use the tile
  "double align" instruction instead of the MERGE macro; to avoid
  offset addressing mode (which tile doesn't have) by rewriting the
  pointer math to load and store with a zero index; and to use
  post-increment addresses in the inner loops to improve scheduling.
2012-11-06 09:24:19 -05:00
Joseph Myers
d7fcee3a58 Define lll_futex_timed_wait_bitset for MIPS. 2012-11-05 22:30:54 +00:00
Joseph Myers
316a1b67e1 Define lll_futex_timed_wait_bitset for ARM. 2012-11-05 22:30:37 +00:00
Joseph Myers
acfa885ff1 Fix types of FE_DFL_ENV and FE_NOMASK_ENV (bug 14805). 2012-11-05 13:38:40 +00:00
Thomas Schwinge
b830319d49 [BZ #157] Remove include/stub-tag.h for good. 2012-11-04 19:59:40 +01:00
Joseph Myers
5b5b04d628 Make fma use of Dekker and Knuth algorithms use round-to-nearest (bug 14796). 2012-11-03 19:48:53 +00:00
Joseph Myers
fbeafedeea Make fenv.h FE_* macros usable in #if (bug 3439). 2012-11-03 17:07:56 +00:00
Chris Metcalf
0244426b93 tile: Account for new tests (missed test-double changes) 2012-11-03 08:46:09 -04:00
Thomas Schwinge
46879baebf Regenerate all configure scripts. 2012-11-01 18:04:56 +01:00
Andreas Jaeger
53176cd906 Convert alpha to use <bits/fcntl-linux.h> 2012-11-01 06:07:38 +01:00
Thomas Schwinge
4c68e86547 BZ#14743: Move clock_* symbols from librt to libc.
Change missing from commit 6e6249d0b4.
2012-11-01 01:59:19 +01:00
Andreas Schwab
5a03cb1e85 Fix powerpc abilist sort order 2012-10-31 23:28:48 +01:00
Steve Ellcey
84097ebac3 Remove 'Contributed' line, glibc is not using them anymore. 2012-10-31 13:03:45 -07:00
Steve Ellcey
d002339920 Remove trailing white spaces. 2012-10-31 10:39:48 -07:00
Steve Ellcey
e6ff7f84f7 2012-10-31 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memcpy.S: Add prefetching and more unrolling, make
	it work in 32 or 64 bit modes.
	* sysdeps/mips/mips64/memcpy.S: Remove.
2012-10-31 10:38:17 -07:00
Ryan S. Arnold
09dec6c37e Correct cacheline size to 32-bytes for ppc405 memset.S (bug 14595).
This patch also creates a version of memset.S for the ppc476 processor
which uses a 128-byte cacheline size for dcbz insns.
2012-10-30 17:07:18 -05:00
Chris Metcalf
47cc1490e0 Invoke DL_AFTER_LOAD if defined
This hook is useful for any arch-specific functionality that
should be done on loaded objects.  For the tile architecture,
the hook is already provided (though we switch to using the new
macro name with this commit) and implements a simulator notifier
so that the simulator can load Elf symbols to match the object
and generate better error messages for PC's.

Also, remove a spurious definition of DL_UNMAP in dl-runtime.c
2012-10-30 14:16:18 -04:00
Chris Metcalf
d44a6f8b99 tile: improve ABI and #include use in gettimeofday vdso support 2012-10-30 14:11:54 -04:00
Chris Metcalf
5ff3789785 tile: update libm-test-ulps for new tests 2012-10-30 14:11:22 -04:00
Joseph Myers
2a27fd6dae Fix strtod handling of underflow (bug 14047). 2012-10-30 13:51:27 +00:00
Carlos O'Donell
236bb0623d hppa: Add cfi direcvtives.
We add cfi directives to the syscall assembly.
2012-10-29 23:36:41 -04:00
Carlos O'Donell
e22f413005 hppa: Fix r19 save and restore.
We must save and restore r19 in both PIC and non-PIC
situations since the kernel paths that clobber r19
are independent of that PIC-ness of userspace.
In addition we choose r4 as the temporary register over
r3 which is being used by recent gcc's as the frame
pointer.
2012-10-29 23:16:44 -04:00
Carlos O'Donell
4ebdb01027 hppa: Optimize syscall sequence.
We remove an extraneous nop from the syscall sequence.
No DO_CALL* may end in an instruction with a delay slot.
2012-10-29 23:11:06 -04:00
Carlos O'Donell
f0b8ce0c73 Fix trailing whitespace. 2012-10-29 22:08:00 -04:00
Steve Ellcey
48b76e2d04 2012-10-29 Steve Ellcey <sellcey@mips.com>
* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/configure.in: Create default_abi.make.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/Makefile: Include default_abi.make.
	(abi-variants): Add hard and soft float versions.
	(abi-o32-options): Remove.
	(abi-o32-condition): Remove.
	(abi-n32-options): Remove.
	(abi-n32-condition): Remove.
	(abi-n64-options): Remove.
	(abi-n64-condition): Remove.
	(abi-o32_soft-options): New.
	(abi-o32_soft-condition): New.
	(abi-o32_hard-options): New.
	(abi-o32_hard-condition): New.
	(abi-n32_soft-options): New.
	(abi-n32_soft-condition): New.
	(abi-n32_hard-options): New.
	(abi-n32_hard-condition): New.
	(abi-n64_soft-options): New.
	(abi-n64_soft-condition): New.
	(abi-n64_hard-options): New.
	(abi-n64_hard-condition): New.
2012-10-29 11:42:39 -07:00
Steve Ellcey
55e64efadf 2012-10-29 Steve Ellcey <sellcey@mips.com>
* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/configure.in: Create default_abi.make.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/Makefile: Include default_abi.make.
	(abi-variants): Add hard and soft float versions.
	(abi-o32-options): Remove.
	(abi-o32-condition): Remove.
	(abi-n32-options): Remove.
	(abi-n32-condition): Remove.
	(abi-n64-options): Remove.
	(abi-n64-condition): Remove.
	(abi-o32_soft-options): New.
	(abi-o32_soft-condition): New.
	(abi-o32_hard-options): New.
	(abi-o32_hard-condition): New.
	(abi-n32_soft-options): New.
	(abi-n32_soft-condition): New.
	(abi-n32_hard-options): New.
	(abi-n32_hard-condition): New.
	(abi-n64_soft-options): New.
	(abi-n64_soft-condition): New.
	(abi-n64_hard-options): New.
	(abi-n64_hard-condition): New.
2012-10-29 11:40:31 -07:00
Chris Metcalf
d11260f86a tile: add vDSO support for gettimeofday() 2012-10-29 13:47:57 -04:00
Andreas Jaeger
86ebe6b133 Remove redundant defines of __O_LARGEFILE
* sysdeps/unix/sysv/linux/x86/bits/fcntl.h (__O_LARGEFILE)
	[!__x86_64]: Do not define, take value from <bits/fcntl-linux.h>.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (__O_LARGEFILE):
	[__WORDSIZE != 64]: Likewise.

	* sysdeps/unix/sysv/linux/generic/bits/fcntl.h: (__O_LARGEFILE)
	[__WORDSIZE != 64]: Do not define, take value from
	<bits/fcntl-linux.h>.
2012-10-27 13:49:30 +02:00
Andreas Jaeger
76a82e29f8 HPPA: Use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
	(__O_PATH): Define.
2012-10-26 21:17:06 +02:00
Andreas Jaeger
af3a9965e5 Convert ia64, linux-generic, m68k <bits/fcntl.h> to use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.

	* sysdeps/unix/sysv/linux/generic/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.

	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-25 20:20:08 +02:00
Roland McGrath
6e6249d0b4 BZ#14743: Move clock_* symbols from librt to libc. 2012-10-24 14:50:46 -07:00
Andreas Jaeger
de2b6422c6 Convert MIPS to use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-24 22:13:15 +02:00
Joseph Myers
0bf57f872c Don't set resource limits in tst-oddstacklimit-ENV. 2012-10-24 17:13:24 +00:00
Andreas Jaeger
2a0e2669f9 Always define __O_LARGEFILE 2012-10-22 16:23:20 +02:00
Andreas Jaeger
7597ceba89 ARM: Use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-22 09:34:11 +02:00
Chris Metcalf
b8d7c0968c tilegx: add optimized sched_getcpu() using TILE_COORD SPR
We can discover our x,y coordinate in the core mesh with an
mfspr instruction, multiply y by the core mesh width, and have
the core number without needing to ask the kernel.
2012-10-12 14:26:25 -04:00
Carlos O'Donell
9d9358f2eb hppa: Update pthread.h
Updates the hppa-specific pthread.h from the generic version.
After this update the only difference between the generic
version and the hppa version is the footer protected by the
_PTHREAD_H_HPPA_ guard.
2012-10-10 23:00:00 -04:00
Carlos O'Donell
fd328df065 hppa: Remove pt-initfini.c
Rmoves the unused pt-initfini.c
2012-10-10 22:52:00 -04:00
Carlos O'Donell
0883bc35b4 hppa: Restore nptl/shlib-versions.
On 2012-01-07 the nptl/shlib-versions file removed the hppa entry.
This restores that entry in the hppa ports tree.
2012-10-10 22:42:52 -04:00
Roland McGrath
b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
Roland McGrath
fb228a2d94 Clean up R_ARM_PC24 handling. 2012-10-05 12:56:00 -07:00
Steve Ellcey
8f565a27ed 2012-10-03 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/ieee754.h: Move to...
	* sysdeps/mips/ieee754/ieee754.h: Here.
	* sysdeps/mips/mips32/Implies: Add mips/ieee754.
	* sysdeps/mips/mips64/Implies: Ditto.
	* sysdeps/mips/mips64/n32/Implies: Ditto.
	* sysdeps/mips/mips64/n64/Implies: Ditto.
2012-10-03 14:32:26 -07:00
Steve Ellcey
05088f14d6 2012-10-03 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/ieee754.h: Move to...
	* sysdeps/mips/ieee754/ieee754.h: Here.
	* sysdeps/mips/mips32/Implies: Add mips/ieee754.
	* sysdeps/mips/mips64/Implies: Ditto.
	* sysdeps/mips/mips64/n32/Implies: Ditto.
	* sysdeps/mips/mips64/n64/Implies: Ditto.
2012-10-03 14:31:00 -07:00
Siddhesh Poyarekar
adcdc775e1 Fix clone flag name in comment to CLONE_CHILD_CLEARTID. 2012-10-02 08:52:55 +05:30
Roland McGrath
51367701af Get rid of unused __swblk_t type. 2012-10-01 14:39:29 -07:00
Roland McGrath
93c65d4384 Clean up init-first.c files. 2012-10-01 12:55:34 -07:00
H.J. Lu
4ff2d4c2f6 Remove mips VERSYMIDX macro definition 2012-09-28 11:31:18 -07:00
H.J. Lu
f8419467bb Remove arm ADDRIDX macro definition 2012-09-28 11:31:13 -07:00
Richard Henderson
c18b7473cb alpha: Fix all users of SYSCALL_ERROR_HANDLER
The fix begun in 64e65bc1 was incomplete.  Fixed by adding
a new SYSCALL_ERROR_FALLTHRU macro.
2012-09-28 10:51:01 -07:00
Joseph Myers
f6a2737f08 Add __ppc_get_timebase_freq to powerpc-nofpu ABI baseline. 2012-09-26 00:30:54 +00:00
Mike Frysinger
15055a1cd7 ia64: define new get-rounding-mode.h header
The new strtod function wants rounding information from the C lib, so
move the guts of the ia64 version into a header file for it to use.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-09-24 17:56:18 -04:00
Mike Frysinger
2d48610df2 ia64: override crtbeginT.o
The ia64 gcc port has never shipped a crtbeginT.o, so keep using the
old crtbegin.o object when static linking.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-09-24 17:56:18 -04:00
Chris Metcalf
27ed6484ec tile: fix two comments that said "tile" to properly say "tilepro" 2012-09-24 16:03:33 -04:00
Joseph Myers
eaf6f205ff Correct order of arguments of __arm_assisted_compare_and_exchange_val_32_acq. 2012-09-21 23:42:16 +00:00
Carlos O'Donell
11aaf6ef2d hppa: Use __prlimit64 as the internal name.
Fix a build failure by using __prlimit64 as the internal
function name for the versioned symbol prlimit64. Without
this patch the build system attempts to alias prlimit64
to itself and that is invalid.
2012-09-20 10:39:27 -04:00
Carlos O'Donell
eee7025916 hppa: Add EHWPOISON and bump errlist-compat to 260
Add errno EHWPOISON and bump the errlist-compat table to 260,
providing 2 padding entries for future use before bumping is
again required.
2012-09-20 03:18:47 -04:00
Chris Metcalf
f737a641b6 tile: update libm-test-ulps for new tests 2012-09-17 14:57:49 -04:00
Richard Henderson
01e80428f7 alpha: Streamline __setfpucw
The convert_bit macro allows the compiler to translate the bit
positions more efficiently.  The assumption of only running at
program startup allows eliding the __ieee_get_fp_control call.
2012-09-13 13:13:22 -07:00
Richard Henderson
c899d15cbd alpha: Update localplt.data 2012-09-13 13:13:22 -07:00
Richard Henderson
758610860b alpha: Update ulps 2012-09-13 13:13:22 -07:00
Richard Henderson
361818d502 alpha: Add get-rounding-mode.h 2012-09-13 07:35:26 -07:00
Richard Henderson
b2d36dda9b alpha: Work around gcc 4.8 aliasing difference/bug 2012-09-12 17:18:25 -07:00
Joseph Myers
6c9b0f6826 Make strtod respect the rounding mode (bug 14518). 2012-09-12 23:36:19 +00:00
Chris Metcalf
48bac3debb tile: fix type of prfpregset_t in <sys/procfs.h>
The previous dummy definition (as type int) was fine in general, since
tile doesn't have floating-point registers, but it confused gdb's
configure, leading to later compile errors.  This change also makes
prfpregset_t parallel to prgregset_t, which seems like generally the
right thing regardless of the non-existence of the actual registers :-)
2012-09-06 11:43:56 -04:00
Chris Metcalf
053406fa70 tile: BZ#14237: fix __tls_get_addr bug initializing new modules
We were missing a check for TLS_DTV_UNALLOCATED; if set, we need
to go to the slow path.
2012-09-06 11:25:04 -04:00
Joseph Myers
ad845c0be9 Remove __ASSUME_STAT64_SYSCALL. 2012-08-27 19:36:04 +00:00
Guido Guenther
89570c6269 mips: clear condition bit 23 in fpu too
We've been carrying this in Gentoo for quite a long time to fix some test
failures that people hit.

Original message:
	> make[4]: *** [/glibc/glibc-package-2.3/mips-linux/obj/math/test-fpucw.out] Error 1
	This test fails since the read back fpu control word is 0x80000 instead
	of 0x0. I wonder if this patch is correct:
	...
	which additionally masks out the condition bit 23 - note that the other
	condition bits (25-31) are masked out too?

URL: http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-27 12:41:28 -04:00
Mike Frysinger
563c840564 alpha: add conditional fdatasync support
While most arches have had the fdatasync syscall for a long time, the
alpha port didn't add it until the 2.6.22 release.

This is heavily based on Aurelien Jarno's initial work.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-27 12:16:28 -04:00
Steve McIntyre
d3bafbc98e Check floating-point ABI in ARM VALID_ELF_HEADER. 2012-08-23 20:38:25 +00:00
Joseph Myers
eaeffd07f7 Clean up MIPS stat64 handling. 2012-08-22 21:03:12 +00:00
Joseph Myers
0e1d99119e Remove __ASSUME_FADVISE64_64_SYSCALL. 2012-08-21 21:07:22 +00:00
Joseph Myers
348363b2c3 Remove __ASSUME_MMAP2_SYSCALL. 2012-08-20 14:37:27 +00:00
Carlos O'Donell
30f696374d Fifth argument of la_pltenter() is not constant.
The original runtime linker auditing interface described
by Solaris allows the 5th argument of la_pltenter() to be
modified. This patch cleans up the ldsodefs.h definitions
such that the 5th argument is not constant.

At one point the 5th argument *was* constant but this was
changed with commit 2413fdba7a.
This patch updates alpha, ia64, mips, sh and sparc with similar
changes.
2012-08-16 08:41:05 -07:00
Maxim Kuvyrkov
309becf120 Optimize __libc_lock_lock and __libc_lock_trylock for MIPS. 2012-08-15 16:44:30 -07:00
Maxim Kuvyrkov
ef4009734b Add generic versions of pthread_spin_lock and pthread_spin_trylock. 2012-08-15 16:29:06 -07:00
Roland McGrath
fdd3affb97 Rename ARM bits/atomic.h not to be specific to nptl add-on. 2012-08-15 09:40:28 -07:00
Roland McGrath
f3bdd5f843 Separate ARM bits/atomic.h into generic and Linux-specific files. 2012-08-15 09:40:28 -07:00
Joseph Myers
5544c7e000 Update MIPS dl-lookup.c from generic version. 2012-08-15 09:49:07 +00:00
Mike Frysinger
9770df4f12 arm: fix up style in reloc fix
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-14 21:38:15 -04:00