diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/m/sparc.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/m/sparc.h b/src/m/sparc.h index eabefdac4b2..6ab89cda332 100644 --- a/src/m/sparc.h +++ b/src/m/sparc.h | |||
| @@ -81,6 +81,19 @@ NOTE-END */ | |||
| 81 | 81 | ||
| 82 | #ifdef __arch64__ /* GCC, 64-bit ABI. */ | 82 | #ifdef __arch64__ /* GCC, 64-bit ABI. */ |
| 83 | #define BITS_PER_LONG 64 | 83 | #define BITS_PER_LONG 64 |
| 84 | #ifdef __linux__ | ||
| 85 | #undef START_FILES | ||
| 86 | #define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o | ||
| 87 | |||
| 88 | /* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. | ||
| 89 | The reason is that some functions in libgcc.a call functions from libc.a, | ||
| 90 | and some libc.a functions need functions from libgcc.a. Since most | ||
| 91 | versions of ld are one-pass linkers, we need to mention -lgcc twice, | ||
| 92 | or else we risk getting unresolved externals. */ | ||
| 93 | #undef LIB_STANDARD | ||
| 94 | #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o | ||
| 95 | #endif | ||
| 96 | |||
| 84 | #ifndef _LP64 | 97 | #ifndef _LP64 |
| 85 | #define _LP64 /* Done on Alpha -- not sure if it | 98 | #define _LP64 /* Done on Alpha -- not sure if it |
| 86 | should be here. -- fx */ | 99 | should be here. -- fx */ |