diff options
Diffstat (limited to 'gcc/config/arm/aof.h')
-rw-r--r-- | gcc/config/arm/aof.h | 46 |
1 files changed, 3 insertions, 43 deletions
diff --git a/gcc/config/arm/aof.h b/gcc/config/arm/aof.h index 45aacfe8c5b..8a1223c45d8 100644 --- a/gcc/config/arm/aof.h +++ b/gcc/config/arm/aof.h @@ -44,48 +44,6 @@ #define LIBGCC_SPEC "libgcc.a%s" -/* Dividing the Output into Sections (Text, Data, ...) */ -/* AOF Assembler syntax is a nightmare when it comes to areas, since once - we change from one area to another, we can't go back again. Instead, - we must create a new area with the same attributes and add the new output - to that. Unfortunately, there is nothing we can do here to guarantee that - two areas with the same attributes will be linked adjacently in the - resulting executable, so we have to be careful not to do pc-relative - addressing across such boundaries. */ -#define TEXT_SECTION_ASM_OP aof_text_section () - -#define DATA_SECTION_ASM_OP aof_data_section () - -#define EXTRA_SECTIONS in_zero_init, in_common - -#define EXTRA_SECTION_FUNCTIONS \ - ZERO_INIT_SECTION \ - COMMON_SECTION - -#define ZERO_INIT_SECTION \ - void \ - zero_init_section () \ - { \ - static int zero_init_count = 1; \ - \ - if (in_section != in_zero_init) \ - { \ - fprintf (asm_out_file, "\tAREA |C$$zidata%d|,NOINIT\n", \ - zero_init_count++); \ - in_section = in_zero_init; \ - } \ - } - -/* Used by ASM_OUTPUT_COMMON (below) to tell varasm.c that we've - changed areas. */ -#define COMMON_SECTION \ - void \ - common_section () \ - { \ - if (in_section != in_common) \ - in_section = in_common; \ - } - #define CTOR_LIST_BEGIN \ asm (CTORS_SECTION_ASM_OP); \ extern func_ptr __CTOR_END__[1]; \ @@ -130,6 +88,8 @@ whole table generation until the end of the function. */ #define JUMP_TABLES_IN_TEXT_SECTION 1 +#define TARGET_ASM_INIT_SECTIONS aof_asm_init_sections + /* Some systems use __main in a way incompatible with its use in gcc, in these cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to give the same symbol without quotes for an alternative entry point. You @@ -159,7 +119,7 @@ /* Output of Uninitialized Variables. */ #define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \ - (common_section (), \ + (in_section = NULL, \ fprintf ((STREAM), "\tAREA "), \ assemble_name ((STREAM), (NAME)), \ fprintf ((STREAM), ", DATA, COMMON\n\t%% %d\t%s size=%d\n", \ |