diff options
| author | Karl Heuer | 1996-07-16 00:46:45 +0000 |
|---|---|---|
| committer | Karl Heuer | 1996-07-16 00:46:45 +0000 |
| commit | c8958e9f09d976e19b74e4a3d673f5587257298c (patch) | |
| tree | 9e6280a298e369fdd179461a12de0b716b9e245e /src | |
| parent | 16b9b76d13f8c2798b63eb9b807d745a627a8c4d (diff) | |
| download | emacs-c8958e9f09d976e19b74e4a3d673f5587257298c.tar.gz emacs-c8958e9f09d976e19b74e4a3d673f5587257298c.zip | |
[__ELF__] (C_SWITCH_MACHINE): Define.
(NO_TERMIO): Define this unconditionally.
(COFF): Omit this if ELF.
Diffstat (limited to 'src')
| -rw-r--r-- | src/m/alpha.h | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/m/alpha.h b/src/m/alpha.h index f3ee56f3a73..7b07f6cd9b7 100644 --- a/src/m/alpha.h +++ b/src/m/alpha.h | |||
| @@ -139,6 +139,19 @@ NOTE-END | |||
| 139 | /* #define NO_SOCK_SIGIO */ | 139 | /* #define NO_SOCK_SIGIO */ |
| 140 | 140 | ||
| 141 | 141 | ||
| 142 | #ifdef __ELF__ | ||
| 143 | /* With ELF, make sure that all common symbols get allocated to in the | ||
| 144 | data section. Otherwise, the dump of temacs may miss variables in | ||
| 145 | the shared library that have been initialized. For example, with | ||
| 146 | GNU libc, __malloc_initialized would normally be resolved to the | ||
| 147 | shared library's .bss section, which is fatal. */ | ||
| 148 | # ifdef __GNUC__ | ||
| 149 | # define C_SWITCH_MACHINE -fno-common | ||
| 150 | # else | ||
| 151 | # error What gives? Fix me if DEC Unix supports ELF now. | ||
| 152 | # endif | ||
| 153 | #endif | ||
| 154 | |||
| 142 | #ifndef __ELF__ | 155 | #ifndef __ELF__ |
| 143 | 156 | ||
| 144 | /* Describe layout of the address space in an executing process. */ | 157 | /* Describe layout of the address space in an executing process. */ |
| @@ -277,14 +290,14 @@ extern void r_alloc_free (); | |||
| 277 | while (0) | 290 | while (0) |
| 278 | #endif | 291 | #endif |
| 279 | 292 | ||
| 280 | #ifdef linux | 293 | /* On the Alpha it's best to avoid including TERMIO since struct |
| 281 | #define COFF | 294 | termio and struct termios are mutually incompatible. */ |
| 282 | /* Linux/Alpha doesn't like it if termio.h and termios.h get included | ||
| 283 | simultaneously. */ | ||
| 284 | #define NO_TERMIO | 295 | #define NO_TERMIO |
| 285 | 296 | ||
| 286 | #define TEXT_END ({ extern int _etext; &_etext; }) | 297 | #ifdef LINUX |
| 287 | #ifndef __ELF__ | 298 | # define TEXT_END ({ extern int _etext; &_etext; }) |
| 288 | # define DATA_END ({ extern int _EDATA; &_EDATA; }) | 299 | # ifndef __ELF__ |
| 289 | #endif /* notdef __ELF__ */ | 300 | # define COFF |
| 301 | # define DATA_END ({ extern int _EDATA; &_EDATA; }) | ||
| 302 | # endif /* ! __ELF__ */ | ||
| 290 | #endif | 303 | #endif |