From 7b583f0ab7ba2c141a3cd5c86436a9afee88bbb7 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sun, 8 Jan 2012 13:02:02 +0000 Subject: [PATCH] Don't define or test NO_UNDERSCORES or HAVE_WEAK_SYMBOLS for ARM. --- ChangeLog.arm | 7 +++++++ sysdeps/arm/sysdep.h | 6 ------ sysdeps/unix/arm/start.c | 13 +------------ sysdeps/unix/arm/sysdep.S | 6 +----- 4 files changed, 9 insertions(+), 23 deletions(-) diff --git a/ChangeLog.arm b/ChangeLog.arm index dd88d9e..377439a 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,5 +1,12 @@ 2012-01-08 Joseph Myers + * sysdeps/arm/sysdep.h: Don't test or define NO_UNDERSCORES. + * sysdeps/unix/arm/start.c: Don't test HAVE_WEAK_SYMBOLS or + NO_UNDERSCORES. + * sysdeps/unix/arm/sysdep.S: Don't test NO_UNDERSCORES. + +2012-01-08 Joseph Myers + * sysdeps/arm/sysdep.h: Remove non-ELF support. 2012-01-07 Joseph Myers diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h index 62fee04..4fa10d9 100644 --- a/sysdeps/arm/sysdep.h +++ b/sysdeps/arm/sysdep.h @@ -35,10 +35,6 @@ #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,%##typearg; #define ASM_SIZE_DIRECTIVE(name) .size name,.-name -/* In ELF C symbols are asm symbols. */ -#undef NO_UNDERSCORES -#define NO_UNDERSCORES - #define PLTJMP(_x) _x##(PLT) /* APCS-32 doesn't preserve the condition codes across function call. */ @@ -105,7 +101,6 @@ #define CALL_MCOUNT /* Do nothing. */ #endif -#ifdef NO_UNDERSCORES /* Since C identifiers are not normally prefixed with an underscore on this system, the asm identifier `syscall_error' intrudes on the C name space. Make sure we use an innocuous name. */ @@ -115,7 +110,6 @@ #else #define mcount _mcount #endif -#endif #if defined(__ARM_EABI__) /* Tag_ABI_align8_preserved: This code preserves 8-byte diff --git a/sysdeps/unix/arm/start.c b/sysdeps/unix/arm/start.c index 6bf08b1..3bfb6d2 100644 --- a/sysdeps/unix/arm/start.c +++ b/sysdeps/unix/arm/start.c @@ -1,5 +1,5 @@ /* Special startup code for ARM a.out binaries. - Copyright (C) 1998, 2004 Free Software Foundation, Inc. + Copyright (C) 1998, 2004, 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 @@ -41,9 +41,7 @@ /* The first piece of initialized data. */ int __data_start = 0; -#ifdef HAVE_WEAK_SYMBOLS weak_alias (__data_start, data_start) -#endif extern void __libc_init (int argc, char **argv, char **envp); extern int main (int argc, char **argv, char **envp); @@ -53,16 +51,7 @@ extern int main (int argc, char **argv, char **envp); /* If this was in C it might create its own stack frame and screw up the arguments. */ -#ifdef NO_UNDERSCORES asm (".text; .globl _start; _start: B start1"); -#else -asm (".text; .globl __start; __start: B _start1"); - -/* Make an alias called `start' (no leading underscore, so it can't - conflict with C symbols) for `_start'. This is the name vendor crt0.o's - tend to use, and thus the name most linkers expect. */ -asm (".set start, __start"); -#endif /* Fool gcc into thinking that more args are passed. This makes it look on the stack (correctly) for the real arguments. It causes somewhat diff --git a/sysdeps/unix/arm/sysdep.S b/sysdeps/unix/arm/sysdep.S index 2a534ba..41386fe 100644 --- a/sysdeps/unix/arm/sysdep.S +++ b/sysdeps/unix/arm/sysdep.S @@ -1,5 +1,5 @@ /* Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2002, 2003, - 2004, 2005, 2009, 2011 + 2004, 2005, 2009, 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -29,11 +29,7 @@ #include #undef syscall_error -#ifdef NO_UNDERSCORES __syscall_error: -#else -syscall_error: -#endif #if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN /* We translate the system's EWOULDBLOCK error into EAGAIN. The GNU C library always defines EWOULDBLOCK==EAGAIN. -- 2.7.4