Don't define or test NO_UNDERSCORES or HAVE_WEAK_SYMBOLS for ARM.

This commit is contained in:
Joseph Myers 2012-01-08 13:02:02 +00:00
parent 5de7dd3ece
commit 7b583f0ab7
4 changed files with 9 additions and 23 deletions

View File

@ -1,3 +1,10 @@
2012-01-08 Joseph Myers <joseph@codesourcery.com>
* 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 <joseph@codesourcery.com>
* sysdeps/arm/sysdep.h: Remove non-ELF support.

View File

@ -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

View File

@ -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

View File

@ -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 <tls.h>
#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.