Don't define or test NO_UNDERSCORES or HAVE_WEAK_SYMBOLS for ARM.
This commit is contained in:
parent
5de7dd3ece
commit
7b583f0ab7
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user