Commit Graph

301 Commits

Author SHA1 Message Date
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
e6898b8d92 Update miscellaneous copyright dates. 2013-01-02 19:43:40 +00: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
3cb3bb9b40 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:05:39 -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
Adam Conrad
270a72ed73 Fix ChangeLog formatting for arm and aarch64 2012-12-06 16:48:21 -07:00
Joseph Myers
d981452619 Change sources.redhat.com references to sourceware.org. 2012-12-06 15:32:46 +00:00
Joseph Myers
effbd42a77 Ports-related README updates. 2012-12-05 22:15:52 +00:00
Joseph Myers
ea2c5872e2 Specify powerpc-nofpu fegetexceptflag return type. 2012-12-05 18:11:55 +00:00
Joseph Myers
8d65d9d7a7 Fix typo in ChangeLog.mips. 2012-12-04 22:08:24 +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
9e4eee23af hppa: Fix ChangeLog format issues.
Remove trailing whitespace and canonicalize path names.
2012-11-29 14:53:57 -08: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
Carlos O'Donell
77a13b85e3 hppa: Add BZ#14447 to NEWS and ChangeLog.hppa. 2012-11-29 10:08:31 -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
87ae5e366e Update language in ChangeLog.tile. 2012-11-07 13:19:54 -05: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