Commit Graph

285 Commits

Author SHA1 Message Date
Joseph Myers 8466459037 Remove ARM EABI/old-ABI conditionals. 2012-04-21 10:03:39 -07:00
Joseph Myers 1f60a18d81 Merge sysdeps/arm/eabi into sysdeps/arm. 2012-04-21 09:30:03 -07:00
Joseph Myers 9ec5b2613f Merge sysdeps/arm/elf/ into sysdeps/arm/. 2012-03-27 21:04:59 +00:00
Paul Eggert ab84e3ff9c Replace FSF snail mail address by URL. 2012-03-09 23:56:38 +00:00
Aurelien Jarno d653a08bfb Adjust ARM ULPS to take into account the new jn tests. 2012-02-17 17:34:28 +01:00
Joseph Myers 92e47068b3 Convert ARM to crti.S/crtn.S. 2012-02-08 23:35:36 +00:00
Joseph Myers 57920720f2 Use const instead of __const for ARM. 2012-01-08 13:06:46 +00:00
Joseph Myers 7b583f0ab7 Don't define or test NO_UNDERSCORES or HAVE_WEAK_SYMBOLS for ARM. 2012-01-08 13:02:02 +00:00
Joseph Myers 10fd25cc3b Remove HAVE_ELF conditional for ARM. 2012-01-08 02:01:21 +00:00
Joseph Myers 5155e70cbe Remove ARM old-ABI support (straightforward parts). 2012-01-07 20:32:29 +00:00
Nathan Sidwell 2d80bda390 Add ARM dependency of libmemusage.so on libc_nonshared.a. 2012-01-06 20:14:44 +00:00
David Alan Gilbert b21cb02fa2 Add ARMv6t2+ memchr. 2011-12-08 15:45:14 +00:00
Joseph Myers 6dcecc6486 Restore non-__thread cases for ARM that were used in dynamic linker. 2011-10-26 16:18:21 +00:00
Andreas Schwab 0507f293c9 arm: don't call ifunc functions in trace mode 2011-10-05 11:52:11 +02:00
Joseph Myers 6136cdd6dd Remove HAVE_TLS_SUPPORT conditionals for ARM. 2011-09-13 15:52:57 +00:00
Joseph Myers ce001f45bc Remove non-TLS support for ARM. 2011-09-11 11:15:50 +00:00
Richard Sandiford e5cd24d4bd [ARM] Align _start constant pool to 4 bytes 2011-06-30 15:55:49 +00:00
Joseph Myers 5411b5632d Define elf_ifunc_invoke for ARM. 2011-06-21 14:19:45 +00:00
Konstantinos Margaritis 58a9f49bf4 Detect arm-linux-gnueabi* as ARM EABI. 2011-05-09 14:10:56 +00:00
Richard Sandiford 70063199c3 Support for R_ARM_IRELATIVE relocations. 2011-04-26 21:00:46 +00:00
Joseph Myers b6dd51368d Define TLS_DTV_UNALLOCATED for ARM. 2011-04-11 13:30:33 +00:00
Ulrich Weigand ea4774c3f3 [arm] Remove linuxthreads support. 2011-03-21 20:46:01 +00:00
Joseph Myers 2242368302 Fix GPL and GCC references in last paragraphs of license notices. 2011-03-21 15:40:37 +00:00
Nathan Sidwell 3447f0d785 ARM TLS descriptors support. 2011-03-05 03:39:15 +00:00
Manjunath Matti 94fd527b67 Fix profiling libc for ARM EABI to use __gnu_mcount_nc interface when available. 2011-02-16 17:30:13 +00:00
Joseph Myers 038f24265e Fix ARM fenv.h fallbacks when excepts == 0. 2011-01-07 01:42:06 +00:00
Joseph Myers 7f3c9dd2cc Define DEFAULT_STACK_PERMS for ARM. 2010-12-21 00:39:39 +00:00
Andreas Schwab 82515b866b arm: only modify CFLAGS when configuring for arm-linux*eabi 2010-11-22 17:46:49 +01:00
Joseph Myers c6d5d85ccb Conditionally define FP_FAST_FMA* for ARM. 2010-10-19 20:09:24 +00:00
Joseph Myers 323e2ce5e0 Add hidden feupdateenv and fetestexcept definitions for ARM. 2010-10-11 14:57:33 +00:00
Joseph Myers 848fa4a9c0 Update ARM for ABIVERSION changes. 2010-03-30 16:26:07 +00:00
Thomas Schwinge 01b32e7361 Add CFI statements to ARM's assembly code. 2010-03-26 18:12:56 +00:00
Joseph Myers caf557426d Add hidden alias for ARM fegetenv. 2010-02-10 15:14:41 +00:00
Thomas Schwinge 2423dc241a Move ARM EABI mcount into a separate .S file. 2009-12-16 18:02:51 +00:00
Philip Blundell b2b2415fe0 Fix ARMv4T interworking.
* sysdeps/unix/sysv/linux/arm/clone.S: Support V4T interworking.
        * sysdeps/unix/sysv/linux/arm/sysdep.h (__local_syscall_error): Likewise.
        * sysdeps/arm/memcpy.S: Likewise.
        * sysdeps/arm/memmove.S: Likewise.
2009-11-06 08:07:18 +00:00
Daniel Gutson 274895575e Add ARM EABI build attributes.
Ensure that all objects in ARM EABI glibc have the proper EABI build
attributes to indicate that 8-byte stack alignment is required and
preserved.  (GNU ld does not currently give errors for mixing code
requiring 8-byte alignment - such as anything built with GCC - and
code not marked as preserving it, because of the prevalence of
assembly code without proper markers to indicate that alignment is
preserved.  The ARM RealView linker does give such errors.)

The bulk of the markers are accomplished by the change to sysdep.h,
but a few .S files do not include sysdep.h.  In the case of
internal_accept4.S, no code is generated because EABI does not have
socketcall, but for completeness a dummy file with the right
attributes is used to override the default version in libc.

	* sysdeps/arm/sysdep.h: (Tag_ABI_align8_preserved,
	Tag_ABI_align8_needed): Attributes added.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/arm/eabi/abi-note.S: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S: New
	file.
2009-10-22 19:39:47 +00:00
Andrew Stubbs fbc4c20a80 Fix register conflicts and avoid deprecated instructions in ARM EABI setjmp/longjmp.
* setjmp and longjmp were using the obsolete fstmiax and fldmiax
  instructions.

* Because of a confusion with two different sets of names for the same
  registers (r0...r3 and a1...a4), if VFP was present then the
  subsequent check for iWMMXt support would use a register that had
  been clobbered by saving/restoring the VFP registers.  (The bit
  being checked was clobbered by a reserved bit of FPSCR that it
  always 0 on present hardware, and no present hardware has both VFP
  and iWMMXt, so this did not cause visible problems.)

2009-10-22  Andrew Stubbs  <ams@codesourcery.com>
            Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/eabi/setjmp.S (__sigsetjmp): Replace deprecated
	instruction fstmiax with vstmia.
	Correct register conflict and comment.
	* sysdeps/arm/eabi/__longjmp.S (__longjmp): Use vldmia not fldmiax.
	Don't clobber r1/a2 register before testing IWMMXT hwcap.
2009-10-22 19:35:53 +00:00
Julian Brown b5c2620bee Fix locating GOT for Thumb-2 PIE binaries.
* sysdeps/arm/elf/start.S (_start): Avoid dependency on PC pipeline
	offset.
2009-10-22 19:22:35 +00:00
Joseph Myers 53df8bcec0 Add alternate signal stack support to ARM ____longjmp_chk.
* sysdeps/arm/____longjmp_chk.S: Remove.  Replaced by....
	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S,
	sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S: This.  New
	files.
	* sysdeps/arm/__longjmp.S, sysdeps/arm/eabi/__longjmp.S: Use r4
	for saved sp.
2009-08-06 16:53:09 +00:00
Paul Brook f40617927c Avoid invalid unwind directives when building crti.o and crtn.o for ARM EABI.
* sysdeps/arm/eabi/Makefile (CFLAGS-initfini.s): Add
	-fno-asynchronous-unwind-tables -fno-unwind-tables.
	(CFLAGS-pt-initfini.s): Ditto.
2009-06-30 20:10:14 +00:00
Nathan Froyd 5a6ba634c6 Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.
* sysdeps/arm/eabi/aeabi_lcsts.c (__aeabi_stdin, __aeabi_stdout,
	__aeabi_stderr): New variables.
	(setup_aeabi_stdio): New function.  Add it to .preinit_array.
2009-06-25 13:27:59 +00:00
Maxim Kuvyrkov b6dec1881f ARM EABI backtrace using unwind information.
2009-06-24  Maxim Kuvyrkov  <maxim@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>
            Kazu Hirata  <kazu@codesourcery.com>

	* sysdeps/arm/eabi/backtrace.c: New.
	* sysdeps/arm/eabi/Makefile (CFLAGS-backtrace.c): Add
	-funwind-tables.
	* sysdeps/arm/preconfigure: Add -fno-unwind-tables to CFLAGS.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: Remove
	-fno-unwind-tables from CFLAGS.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerate.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h (_Unwind_Trace_Fn):
	Define.
	(_Unwind_Backtrace): Declare.
2009-06-24 15:55:04 +00:00
Joseph Myers bf89c0e245 Use unsigned comparison in ARM ____longjmp_chk.
* sysdeps/arm/____longjmp_chk.S (CHECK_SP): Use unsigned
	comparison.
2009-05-18 19:48:54 +00:00
Joseph Myers ef889ffe8d ____longjmp_chk for ARM.
* sysdeps/arm/____longjmp_chk.S: New file.
	* sysdeps/arm/__longjmp.S: If CHECK_SP is defined, use it.
	* sysdeps/arm/eabi/__longjmp.S: Likewise.
2009-05-16 22:20:23 +00:00
Joseph Myers ba35741e51 2009-04-25 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/arm/eabi/fpu_control.h: If soft-float, don't use
	floating-point registers.
2009-04-25 15:23:44 +00:00
Joseph Myers 440eb79d6c * sysdeps/arm/bits/link.h: Uglify function parameter names.
* sysdeps/unix/sysv/linux/arm/sys/io.h: Likewise.
	* sysdeps/arm/eabi/bits/setjmp.h: Uglify attribute name.
2009-03-15 16:53:46 +00:00
Joseph Myers 5631abde36 2009-02-05 Paul Brook <paul@codesourcery.com>
Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/arm/dl-machine.h (elf_machine_dynamic): Ditto.
	(elf_machine_load_address): Clear T bit of PLT entry contents.
	(RTLD_START): Mark function symbols as such.  Tweak pc-relative
	addressing to avoid depending on pc read pipeline offset.
	* sysdeps/arm/machine-gmon.h (MCOUNT): Add Thumb-2 implementation.
	* sysdeps/arm/tls-macros.h: Add alignment for Thumb-2.
	(ARM_PC_OFFSET): Define.
	(TLS_IE): Define differently for Thumb-2.
	(TLS_LE, TLS_LD, TLS_GD): Use ARM_PC_OFFSET.
	* sysdeps/arm/elf/start.S: Switch to thumb mode for Thumb-2.
	* sysdeps/unix/sysv/linux/arm/eabi/sysdep.h (INTERNAL_SYSCALL_RAW):
	Add Thumb implementation.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/aio_misc.h: New.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c: Enforce
	alignment for Thumb-2.  Adjust offset from PC for Thumb-2.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c: Ditto.
	* sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h (atomic_full_barrier,
	__arch_compare_and_exchange_val_32_acq): Add Thumb-2 implementation.
2009-02-05 14:46:41 +00:00
Daniel Jacobowitz f2c9d88207 2009-01-27 Min Zhang <mzhang@mvista.com>
* sysdeps/arm/memset.S (memset): Use stm instead of two
	str instructions.
2009-01-27 17:10:08 +00:00
Daniel Jacobowitz 856cb7775f 2009-01-27 Kirill A. Shutemov <kirill@shutemov.name>
* sysdeps/arm/elf/start.S (_start): Use position-independent code
	if SHARED.  Clear lr.
2009-01-27 16:01:19 +00:00
Joseph Myers e5c922c902 2009-01-12 Mike Frysinger <vapier@gentoo.org>
* sysdeps/arm/fpu/setjmp.S: Add hidden_def (__sigsetjmp).
2009-01-12 16:49:33 +00:00