Commit Graph

238 Commits

Author SHA1 Message Date
Marcus Shawcroft
8ab07407ba [AArch64] Use _dl_static_init to set GLR0(dl_pagesize) 2013-07-09 15:07:12 +01:00
Chris Metcalf
95a4e1ea3b tile: use _dl_static_init to set GLRO(gl_pagesize)
A recently-added test (dlfcn/tststatic5) pointed out that tile was not
properly initializing the variable pagesize in certain cases.  This
change just copies the existing code from MIPS.
2013-07-07 11:33:25 -04:00
Andreas Jaeger
521c6785e1 Sync sys/ptrace with Linux 3.10 2013-07-04 09:49:14 +02:00
Ryan S. Arnold
1ae8bfe07c Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type. 2013-06-28 16:50:48 -05:00
Marcus Shawcroft
03ea4d9b69 [AArch64] Simplify getcontext pstate initialization. 2013-06-28 11:23:58 +01:00
Maciej W. Rozycki
fe114d2064 _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.
2013-06-27 11:49:44 +01:00
Richard Henderson
385fd0d524 [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.
2013-06-24 18:12:24 -07:00
Siddhesh Poyarekar
61dd6208fb 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.
2013-06-15 12:24:15 +05:30
Kirk Meyer
c396afdfa4 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>
2013-06-14 10:26:32 +10:00
Joseph Myers
60d2f8f3c7 Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
Ondrej Bilka
44a988afd8 Fix executable mode. 2013-06-06 02:15:33 +02:00
Joseph Myers
5556231db2 Remove trailing whitespace in ports. 2013-06-05 20:26:40 +00:00
Marcus Shawcroft
6e445a3d2b [AArch64] Ensure getcontext() initializes PSTATE. 2013-06-04 10:13:59 +01:00
Edjunior Barbosa Machado
85118d4de3 Update bits/siginfo.h with Linux hwpoison SIGBUS changes
Adds new SIGBUS error codes for hardware poison signals, syncing with
the current kernel headers (v3.9). It also adds si_trapno field for
alpha.
2013-05-22 14:19:49 -05:00
Joseph Myers
04453c5625 Fix MIPS n32 cancellation in static libc (bug 15506). 2013-05-21 20:27:45 +00:00
Ryan S. Arnold
e054f49430 Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
Marcus Shawcroft
d842b1440d [AArch64] Fix out of range branch from ioctl() and clone()
2013-05-12  Marcus Shawcroft  <marcus.shawcroft@linaro.org>

	* sysdeps/unix/sysv/linux/aarch64/clone.S (__clone):
	Do not call sycall_error directly with a confitional branch.

	* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl):
	Do not call sycall_error directly with a confitional branch.
2013-05-12 18:09:33 +01: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
Thomas Schwinge
572676160d New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-04-02 13:51:02 +02:00
Joseph Myers
defa03577f Use LIBC_CONFIG_VAR for MIPS default-abi setting. 2013-03-21 00:41:56 +00:00
Joseph Myers
d56ca734b5 Use LIBC_CONFIG_VAR for ARM default-abi setting. 2013-03-20 23:15:42 +00:00
Andreas Schwab
4a97cddffb aarch64: Move rtld link to /lib 2013-03-19 12:08:44 +01:00
Thomas Schwinge
ae6b60cc5e Avoid duplicate MAP_ANONYMOUS definition for MIPS GNU/Linux.
Follow-up to commit 664a9ce4ca.
2013-03-15 18:59:23 +01:00
Andreas Schwab
cbc105f8b5 aarch64: use lib64 as default lib and slib directory 2013-03-14 10:00:26 +01:00
Mike Frysinger
4fdd5ec125 ia64: fix set-but-unused warnings with syscalls
These macros often set up a variable that later macros sometimes do
not use.  Add unused attribute to avoid that.

Similarly, the ia64 code tends to check the err field rather than
the val (which is opposite of most arches) leading to the same
kind of warning.  Replace this with a dummy reference.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-12 06:01:38 -04:00
Mike Frysinger
c5abd7ce01 ia64: fix strict aliasing warnings with func descriptors
Function pointers on ia64 are like parisc -- they're plabels.  While
the parisc port enjoys a gcc builtin for extracting the address here,
ia64 has no such luck.

Casting & dereferencing in one go triggers a strict aliasing warning.
Use a union to fix that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-12 06:00:05 -04:00
Joseph Myers
b7845b6388 Add comments about ARM configure -fno-unwind-tables handling. 2013-03-11 23:55:55 +00:00
Andreas Jaeger
cb83063b0c AM33: Use <bits/mman.h> 2013-03-11 19:57:48 +01:00
Andreas Jaeger
a0f487b2af Use <bits/mman.h> on ia64 2013-03-11 19:56:44 +01:00
Andreas Schwab
fb6b0fcbf1 Remove extra pthread_atfork compat symbols 2013-03-11 09:47:01 +01:00
Mike Frysinger
3c2ef5414f ia64: makecontext: fix signed warnings
The ia64_rse_is_rnat_slot func expects an unsigned pointer, but we're
passing in a signed pointer.  The signness doesn't matter here, so
convert it to unsigned.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-10 22:18:28 -04:00
Mike Frysinger
8233957f54 ia64: fix NEED_DL_SYSINFO_DSO conditionals
The recent change to clean up these defines missed the ia64 logic.
Update it accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-10 08:11:55 -04:00
Andreas Jaeger
642e52808d AARCH64: Use <bits/mman-linux.h>
* sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove all
	defines provided by bits/mman-linux.h and include <bits/mman-linux.h>.
2013-03-07 15:28:54 +01:00
Andreas Jaeger
664a9ce4ca Use <bits/mman-linux.h> for MIPS
* sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS):
	Allow definition via __MAP_ANONYMOUS.

	* sysdeps/unix/sysv/linux/mips/bits/mman.h: Remove all defines
	provided by bits/mman-linux.h and include <bits/mman-linux.h>.
	(__MAP_ANONYMOUS): Define.
2013-03-06 17:36:37 +01:00
Richard Henderson
79fd873111 arm: Implement hard-tp for GET_TLS 2013-03-06 07:47:21 -08:00
Richard Henderson
55668624cf arm: Use push/pop mnemonics
For arm this makes no difference--the result is bit-for-bit identical;
for thumb this results in smaller encodings.  Perhaps it ought not and
this is in fact an assembler bug, but I also think it's clearer.
2013-03-06 07:46:45 -08:00
Richard Henderson
5232b909bf arm: Introduce and use GET_TLS
Factor out the sequence needed to call kuser_get_tls, as we can't
play subtract into pc games in thumb mode.  Prepare for hard-tp,
pulling the save of LR into the macro.
2013-03-06 07:46:38 -08:00
Richard Henderson
3ae44082ab arm: Introduce and use NEGOFF series of macros
There are several places in which we access negative offsets from
the thread-pointer, but thumb2 only supports positive offsets in
memory references.

Avoid duplicating the rather large macros in which these references
are embedded by abstracting out the operation.
2013-03-06 07:44:25 -08:00
Richard Henderson
cd24e113c3 arm: Introduce and use LDST_PCREL
Macro-ising the few instances where we need to distinguish between
arm and thumb pc-relative memory operations.
2013-03-06 07:44:24 -08:00
Andreas Jaeger
67525cb832 Sync with Linux 3.8 2013-03-06 16:35:19 +01:00
Andreas Jaeger
adb729bc11 Use <bits/mman-linux.h> on M68k 2013-03-06 16:29:30 +01:00
Andreas Jaeger
c91a49fe20 Use <bits/mman-linux.h> on ARM 2013-03-06 16:27:24 +01:00
Andreas Jaeger
72a3b700c5 Use bits/mman-linux.h for TILE
* sysdeps/unix/sysv/linux/tile/bits/mman.h: Remove all defines
	provided by bits/mman-linux.h and include <bits/mman-linux.h>.
2013-03-05 21:59:58 +01:00
Chris Metcalf
fd6cdc6da4 tile: Add priority inheritance futex support 2013-02-28 18:07:33 -05:00
Joseph Myers
c7a8ba9404 Remove bounded-pointers relics from am33 code. 2013-02-28 21:28:57 +00:00
Richard Henderson
365261c37f arm: Mark assembly files that will not use thumb mode
Some routines are written with complex LDM/STM insns that cannot be
used in thumb mode, or are highly conditional requiring excessive
IT insns.

When a future patch goes in to enable thumb2 by default, this marker
will be used to override that default.
2013-02-28 00:18:30 -08:00
Richard Henderson
6ccd0107f3 arm: Add IT insns for thumb mode
These are ignored by the assembler in ARM mode, so by
default this has no effect on generated code.
2013-02-28 00:17:21 -08:00
Richard Henderson
783a65c253 arm: Introduce and use PC_OFS
Scour the source for raw "-8" adjustments that are related to the
offset created by reading the pc.
2013-02-28 00:16:05 -08:00
Richard Henderson
63cc0e75ea arm: Tidy whitespace in sysdep.h files 2013-02-28 00:12:07 -08:00
Richard Henderson
c98ec0b97f arm: Include libc-do-syscall in sysdep-rtld-routines
When compiling with -mthumb, ld.so itself also needs __libc_do_syscall.
2013-02-28 00:08:59 -08:00
Roland McGrath
f4564ff0b6 ARM: Macroize use of .cfi_sections directive. 2013-02-27 16:36:47 -08:00
Maciej W. Rozycki
43301bd3c2 Add support for building as MIPS16 code. 2013-02-27 23:45:07 +00:00
Richard Henderson
97ccb9d55a Add FUTEX_*_REQUEUE_PI support for Alpha. 2013-02-20 16:57:55 -08:00
Thomas Schwinge
f6432d898e Properly sort a libc.abilist file.
Inconsistency introduced in commit 84b3fd8407.
2013-02-20 16:49:59 +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
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
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
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
Andreas Schwab
41597a7c02 Add not-cancel.h for m68k/nptl 2013-01-19 21:23:15 +01: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
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
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
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
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
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
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
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
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
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
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
6eb43a28af Fix unused variable warnings from MIPS syscall macros. 2012-11-19 23:08:27 +00:00