mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
[__ELF__ && __GNUC__] (C_SWITCH_MACHINE): Add -fno-common.
(TEXT_START, DATA_START, DATA_SEG_BITS, UNEXEC): Define only if __ELF__ is not defined. (LINUX_SBRK_BUG): Define only if LINUX and __GNU_LIBRARY__ < 6. (NO_TERMIO): Always define this. No Alpha system should need termio. (COFF, DATA_END): Define only if __ELF__ is not defined.
This commit is contained in:
parent
513dea0acb
commit
821f376d2c
1 changed files with 30 additions and 11 deletions
|
|
@ -139,6 +139,21 @@ NOTE-END
|
|||
/* #define NO_SOCK_SIGIO */
|
||||
|
||||
|
||||
#ifdef __ELF__
|
||||
/* With ELF, make sure that all common symbols get allocated to in the
|
||||
data section. Otherwise, the dump of temacs may miss variables in
|
||||
the shared library that have been initialized. For example, with
|
||||
GNU libc, __malloc_initialized would normally be resolved to the
|
||||
shared library's .bss section, which is fatal. */
|
||||
# ifdef __GNUC__
|
||||
# define C_SWITCH_MACHINE -fno-common
|
||||
# else
|
||||
# error What gives? Fix me if DEC Unix supports ELF now.
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef __ELF__
|
||||
|
||||
/* Describe layout of the address space in an executing process. */
|
||||
|
||||
#define TEXT_START 0x120000000
|
||||
|
|
@ -149,6 +164,12 @@ NOTE-END
|
|||
|
||||
#define DATA_SEG_BITS 0x140000000
|
||||
|
||||
/* The program to be used for unexec. */
|
||||
|
||||
#define UNEXEC unexalpha.o
|
||||
|
||||
#endif /* notdef __ELF__ */
|
||||
|
||||
#ifdef OSF1
|
||||
#define ORDINARY_LINK
|
||||
|
||||
|
|
@ -175,15 +196,11 @@ NOTE-END
|
|||
#define START_FILES pre-crt0.o
|
||||
#endif
|
||||
|
||||
#ifdef LINUX
|
||||
#if defined (LINUX) && __GNU_LIBRARY__ - 0 < 6
|
||||
/* This controls a conditional in main. */
|
||||
#define LINUX_SBRK_BUG
|
||||
#endif
|
||||
|
||||
/* The program to be used for unexec. */
|
||||
|
||||
#define UNEXEC unexalpha.o
|
||||
|
||||
|
||||
#define PNTR_COMPARISON_TYPE unsigned long
|
||||
|
||||
|
|
@ -273,12 +290,14 @@ extern void r_alloc_free ();
|
|||
while (0)
|
||||
#endif
|
||||
|
||||
#ifdef linux
|
||||
#define COFF
|
||||
/* Linux/Alpha doesn't like it if termio.h and termios.h get included
|
||||
simultaneously. */
|
||||
/* On the Alpha it's best to avoid including TERMIO since struct
|
||||
termio and struct termios are mutually incompatible. */
|
||||
#define NO_TERMIO
|
||||
|
||||
#define TEXT_END ({ extern int _etext; &_etext; })
|
||||
#define DATA_END ({ extern int _EDATA; &_EDATA; })
|
||||
#ifdef LINUX
|
||||
# define TEXT_END ({ extern int _etext; &_etext; })
|
||||
# ifndef __ELF__
|
||||
# define COFF
|
||||
# define DATA_END ({ extern int _EDATA; &_EDATA; })
|
||||
# endif /* notdef __ELF__ */
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue