|
20 | 20 | #ifndef GCC_AARCH64_COFF_H |
21 | 21 | #define GCC_AARCH64_COFF_H |
22 | 22 |
|
23 | | -#ifndef LOCAL_LABEL_PREFIX |
24 | | -# define LOCAL_LABEL_PREFIX "" |
25 | | -#endif |
| 23 | +#undef LOCAL_LABEL_PREFIX |
| 24 | +#define LOCAL_LABEL_PREFIX "." |
26 | 25 |
|
27 | 26 | /* Using long long breaks -ansi and -std=c90, so these will need to be |
28 | 27 | made conditional for an LLP64 ABI. */ |
|
37 | 36 |
|
38 | 37 | #define TARGET_SEH 1 |
39 | 38 |
|
| 39 | +#undef TARGET_MAX_ANCHOR_OFFSET |
| 40 | +#define TARGET_MAX_ANCHOR_OFFSET 0 |
| 41 | + |
40 | 42 | #ifndef ASM_GENERATE_INTERNAL_LABEL |
41 | 43 | # define ASM_GENERATE_INTERNAL_LABEL(STRING, PREFIX, NUM) \ |
42 | 44 | sprintf (STRING, "*%s%s%u", LOCAL_LABEL_PREFIX, PREFIX, (unsigned int)(NUM)) |
|
56 | 58 | } |
57 | 59 | #endif |
58 | 60 |
|
59 | | -/* Output a local common block. /bin/as can't do this, so hack a |
60 | | - `.space' into the bss segment. Note that this is *bad* practice, |
61 | | - which is guaranteed NOT to work since it doesn't define STATIC |
62 | | - COMMON space but merely STATIC BSS space. */ |
63 | | -#ifndef ASM_OUTPUT_ALIGNED_LOCAL |
64 | | -# define ASM_OUTPUT_ALIGNED_LOCAL(STREAM, NAME, SIZE, ALIGN) \ |
65 | | - { \ |
66 | | - switch_to_section (bss_section); \ |
67 | | - ASM_OUTPUT_ALIGN (STREAM, floor_log2 (ALIGN / BITS_PER_UNIT)); \ |
68 | | - ASM_OUTPUT_LABEL (STREAM, NAME); \ |
69 | | - fprintf (STREAM, "\t.space\t%d\n", (int)(SIZE)); \ |
70 | | - } |
71 | | -#endif |
| 61 | +#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ |
| 62 | +( fputs (".lcomm ", (FILE)), \ |
| 63 | + assemble_name ((FILE), (NAME)), \ |
| 64 | + fprintf ((FILE), ",%u\n", (int)(ROUNDED))) |
72 | 65 |
|
73 | 66 | #define ASM_OUTPUT_SKIP(STREAM, NBYTES) \ |
74 | 67 | fprintf (STREAM, "\t.space\t%d // skip\n", (int) (NBYTES)) |
|
0 commit comments