Remove ARM EABI/old-ABI conditionals.

This commit is contained in:
Joseph Myers 2012-04-21 10:03:39 -07:00
parent 1f60a18d81
commit 8466459037
8 changed files with 24 additions and 53 deletions

View File

@ -1,5 +1,15 @@
2012-04-21 Joseph Myers <joseph@codesourcery.com>
[BZ #13556]
* sysdeps/arm/shlib-versions (arm.*-.*-linux.*): Remove old-ABI
entry.
* sysdeps/arm/start.S: Remove __ARM_EABI__ conditionals.
* sysdeps/arm/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/arm/clone.S: Likewise.
* sysdeps/unix/sysv/linux/arm/ldsodefs.h: Likewise.
* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
[BZ #13556]
* sysdeps/arm/preconfigure: Don't include /eabi in $machine.
* sysdeps/arm/Makefile [subdir = elf] (sysdep_routines): Add

View File

@ -1,4 +1,3 @@
arm.*-.*-linux-gnueabi.* DEFAULT GLIBC_2.4
arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3
arm.*-.*-linux.* ld=ld-linux.so.2

View File

@ -1,6 +1,5 @@
/* Startup code for ARM & ELF
Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002, 2005, 2008
Free Software Foundation, Inc.
Copyright (C) 1995-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -58,14 +57,12 @@
NULL
*/
#if defined(__ARM_EABI__)
/* Tag_ABI_align8_preserved: This code preserves 8-byte
alignment in any callee. */
.eabi_attribute 25, 1
/* Tag_ABI_align8_needed: This code may require 8-byte alignment from
the caller. */
.eabi_attribute 24, 1
#endif
#if defined(__thumb2__)
.thumb

View File

@ -77,8 +77,8 @@
/* If compiled for profiling, call `mcount' at the start of each function. */
#ifdef PROF
/* Call __gnu_mcount_nc if GCC >= 4.4 and abi = EABI. */
#if __GNUC_PREREQ(4,4) && defined(__ARM_EABI__)
/* Call __gnu_mcount_nc if GCC >= 4.4. */
#if __GNUC_PREREQ(4,4)
#define CALL_MCOUNT \
str lr,[sp, #-4]!; \
cfi_adjust_cfa_offset (4); \
@ -104,19 +104,17 @@
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error
#if __GNUC_PREREQ(4,4) && defined(__ARM_EABI__)
#if __GNUC_PREREQ(4,4)
#define mcount __gnu_mcount_nc
#else
#define mcount _mcount
#endif
#if defined(__ARM_EABI__)
/* Tag_ABI_align8_preserved: This code preserves 8-byte
alignment in any callee. */
.eabi_attribute 25, 1
/* Tag_ABI_align8_needed: This code may require 8-byte alignment from
the caller. */
.eabi_attribute 24, 1
#endif
#endif /* __ASSEMBLER__ */

View File

@ -1,5 +1,4 @@
/* Copyright (C) 1996, 1997, 1998, 1999, 2002, 2005, 2008, 2009, 2010
Free Software Foundation, Inc.
/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Pat Beirne <patb@corelcomputer.com>
@ -49,33 +48,19 @@ ENTRY(__clone)
mov ip, r2
#endif
@ new sp is already in r1
#ifdef __ARM_EABI__
stmfd sp!, {r4, r7}
cfi_adjust_cfa_offset (8)
cfi_rel_offset (r4, 0)
cfi_rel_offset (r7, 4)
#else
str r4, [sp, #-8]!
cfi_adjust_cfa_offset (8)
cfi_rel_offset (r4, 0)
#endif
ldr r2, [sp, #8]
ldr r3, [sp, #12]
ldr r4, [sp, #16]
#ifdef __ARM_EABI__
ldr r7, =SYS_ify(clone)
swi 0x0
#else
swi SYS_ify(clone)
#endif
cfi_endproc
cmp r0, #0
beq 1f
#ifdef __ARM_EABI__
ldmfd sp!, {r4, r7}
#else
ldr r4, [sp], #8
#endif
blt PLTJMP(C_SYMBOL_NAME(__syscall_error))
RETINSTR(, lr)
@ -94,12 +79,8 @@ PSEUDO_END (__clone)
mov r1, r0
tst ip, #CLONE_VM
movne r0, #-1
#ifdef __ARM_EABI__
ldr r7, =SYS_ify(getpid)
swieq 0x0
#else
swieq SYS_ify(getpid)
#endif
str r0, [r1, #PID_OFFSET]
str r0, [r1, #TID_OFFSET]
3:

View File

@ -25,11 +25,7 @@
#undef VALID_ELF_OSABI
#undef MORE_ELF_HEADER_DATA
#ifdef __ARM_EABI__
#define EXTRA_OSABI ELFOSABI_ARM_AEABI
#else
#define EXTRA_OSABI ELFOSABI_ARM
#endif
#define VALID_ELF_HEADER(hdr,exp,size) \
(memcmp (hdr, exp, size) == 0 \

View File

@ -1,5 +1,4 @@
/* Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2005, 2006
Free Software Foundation, Inc.
/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -35,26 +34,21 @@ int __libc_missing_rt_sigs;
#define SA_RESTORER 0x04000000
#ifdef __ARM_EABI__
extern void __default_sa_restorer_v1(void);
extern void __default_sa_restorer_v2(void);
extern void __default_rt_sa_restorer_v1(void);
extern void __default_rt_sa_restorer_v2(void);
# ifdef __ASSUME_SIGFRAME_V2
# define __default_sa_restorer __default_sa_restorer_v2
# define __default_rt_sa_restorer __default_rt_sa_restorer_v2
# else
# include <ldsodefs.h>
# define __default_sa_restorer (GLRO(dl_osversion) >= 0x020612 \
#ifdef __ASSUME_SIGFRAME_V2
# define __default_sa_restorer __default_sa_restorer_v2
# define __default_rt_sa_restorer __default_rt_sa_restorer_v2
#else
# include <ldsodefs.h>
# define __default_sa_restorer (GLRO(dl_osversion) >= 0x020612 \
? __default_sa_restorer_v2 \
: __default_sa_restorer_v1)
# define __default_rt_sa_restorer (GLRO(dl_osversion) >= 0x020612 \
# define __default_rt_sa_restorer (GLRO(dl_osversion) >= 0x020612 \
? __default_rt_sa_restorer_v2 \
: __default_rt_sa_restorer_v1)
# endif
#else
extern void __default_sa_restorer(void);
extern void __default_rt_sa_restorer(void);
#endif
/* When RT signals are in use we need to use a different return stub. */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Philip Blundell <philb@gnu.org>.
@ -32,7 +32,6 @@ ENTRY (__vfork)
#ifdef SAVE_PID
SAVE_PID
#endif
#ifdef __ARM_EABI__
/* The DO_CALL macro saves r7 on the stack, to enable generation
of ARM unwind info. Since the stack is initially shared between
parent and child of vfork, that saved value could be corrupted.
@ -51,9 +50,6 @@ ENTRY (__vfork)
cfi_adjust_cfa_offset (-4)
mov r7, ip
cfi_restore (r7);
#else
swi SYS_ify(vfork)
#endif
#ifdef RESTORE_PID
RESTORE_PID
#endif