From 48b1580ecc131e1a05995216d9cdf30bd05c17bd Mon Sep 17 00:00:00 2001 From: Vladimir Makarov Date: Mon, 21 Jun 1999 09:42:51 +0000 Subject: [PATCH] elf.h (BSS_SECTION_ASM_OP, [...]): Add the macros. Mon Jun 21 12:27:17 1999 Vladimir Makarov * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Add the macros. * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Ditto. * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Ditto. * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Ditto. From-SVN: r27659 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/config/arm/telf.h | 24 ++++++++++++++++++++++++ gcc/config/m68k/m68kelf.h | 24 ++++++++++++++++++++++++ gcc/config/mips/elf.h | 24 ++++++++++++++++++++++++ gcc/config/sh/sh.h | 24 ++++++++++++++++++++++++ 5 files changed, 110 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a02178..f7d6aee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +Mon Jun 21 12:27:17 1999 Vladimir Makarov + + * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Add the macros. + + * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Ditto. + + * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Ditto. + + * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Ditto. + Mon Jun 21 14:58:42 1999 Nick Clifton * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu diff --git a/gcc/config/arm/telf.h b/gcc/config/arm/telf.h index 3e14a5f..a7740ca 100644 --- a/gcc/config/arm/telf.h +++ b/gcc/config/arm/telf.h @@ -105,6 +105,30 @@ extern int arm_structure_size_boundary; #define USER_LABEL_PREFIX "" +/* If defined, a C expression whose value is a string containing the + assembler operation to identify the following data as + uninitialized global data. If not defined, and neither + `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, + uninitialized global data will be output in the data section if + `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be + used. */ +#ifndef BSS_SECTION_ASM_OP +#define BSS_SECTION_ASM_OP ".section\t.bss" +#endif + +/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a + separate, explicit argument. If you define this macro, it is used + in place of `ASM_OUTPUT_BSS', and gives you more flexibility in + handling the required alignment of the variable. The alignment is + specified as the number of bits. + + Try to use function `asm_output_aligned_bss' defined in file + `varasm.c' when defining this macro. */ +#ifndef ASM_OUTPUT_ALIGNED_BSS +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) +#endif + /* Don't know how to order these. UNALIGNED_WORD_ASM_OP is in dwarf2.out. */ #define UNALIGNED_WORD_ASM_OP ".4byte" diff --git a/gcc/config/m68k/m68kelf.h b/gcc/config/m68k/m68kelf.h index 88dfc3d..ce87414 100644 --- a/gcc/config/m68k/m68kelf.h +++ b/gcc/config/m68k/m68kelf.h @@ -275,3 +275,27 @@ extern int switch_table_difference_label_flag; #undef STARTFILE_SPEC #define STARTFILE_SPEC "crtbegin.o%s" + +/* If defined, a C expression whose value is a string containing the + assembler operation to identify the following data as + uninitialized global data. If not defined, and neither + `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, + uninitialized global data will be output in the data section if + `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be + used. */ +#ifndef BSS_SECTION_ASM_OP +#define BSS_SECTION_ASM_OP ".section\t.bss" +#endif + +/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a + separate, explicit argument. If you define this macro, it is used + in place of `ASM_OUTPUT_BSS', and gives you more flexibility in + handling the required alignment of the variable. The alignment is + specified as the number of bits. + + Try to use function `asm_output_aligned_bss' defined in file + `varasm.c' when defining this macro. */ +#ifndef ASM_OUTPUT_ALIGNED_BSS +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) +#endif diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h index 53af046..43f92e8 100644 --- a/gcc/config/mips/elf.h +++ b/gcc/config/mips/elf.h @@ -90,6 +90,30 @@ do { \ #define TYPE_ASM_OP ".type" #define SIZE_ASM_OP ".size" +/* If defined, a C expression whose value is a string containing the + assembler operation to identify the following data as + uninitialized global data. If not defined, and neither + `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, + uninitialized global data will be output in the data section if + `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be + used. */ +#ifndef BSS_SECTION_ASM_OP +#define BSS_SECTION_ASM_OP ".section\t.bss" +#endif + +/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a + separate, explicit argument. If you define this macro, it is used + in place of `ASM_OUTPUT_BSS', and gives you more flexibility in + handling the required alignment of the variable. The alignment is + specified as the number of bits. + + Try to use function `asm_output_aligned_bss' defined in file + `varasm.c' when defining this macro. */ +#ifndef ASM_OUTPUT_ALIGNED_BSS +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) +#endif + /* These macros generate the special .type and .size directives which are used to set the corresponding fields of the linker symbol table entries in an ELF object file under SVR4. These macros also output diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 23c315f..e8ea3e4 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -1759,6 +1759,30 @@ dtors_section() \ } \ } +/* If defined, a C expression whose value is a string containing the + assembler operation to identify the following data as + uninitialized global data. If not defined, and neither + `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, + uninitialized global data will be output in the data section if + `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be + used. */ +#ifndef BSS_SECTION_ASM_OP +#define BSS_SECTION_ASM_OP ".section\t.bss" +#endif + +/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a + separate, explicit argument. If you define this macro, it is used + in place of `ASM_OUTPUT_BSS', and gives you more flexibility in + handling the required alignment of the variable. The alignment is + specified as the number of bits. + + Try to use function `asm_output_aligned_bss' defined in file + `varasm.c' when defining this macro. */ +#ifndef ASM_OUTPUT_ALIGNED_BSS +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) +#endif + /* Define this so that jump tables go in same section as the current function, which could be text or it could be a user defined section. */ #define JUMP_TABLES_IN_TEXT_SECTION 1 -- 2.7.4