mirror of git://sourceware.org/git/glibc.git
Remove ARM EABI/old-ABI conditionals.
This commit is contained in:
parent
1f60a18d81
commit
8466459037
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue