From cc2af1837d7bca898fa95e8eaa28d13b48c6e6fa Mon Sep 17 00:00:00 2001 From: rth Date: Mon, 12 Mar 2007 18:15:51 +0000 Subject: * config/alpha/alpha.c (alpha_elf_section_type_flags): New. (TARGET_SECTION_TYPE_FLAGS): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122850 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/alpha/alpha.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gcc/config/alpha') diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index e6ea03f1b49..817aa479479 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -9343,6 +9343,22 @@ alpha_elf_select_rtx_section (enum machine_mode mode, rtx x, return default_elf_select_rtx_section (mode, x, align); } +static unsigned int +alpha_elf_section_type_flags (tree decl, const char *name, int reloc) +{ + unsigned int flags = 0; + + if (strcmp (name, ".sdata") == 0 + || strncmp (name, ".sdata.", 7) == 0 + || strncmp (name, ".gnu.linkonce.s.", 16) == 0 + || strcmp (name, ".sbss") == 0 + || strncmp (name, ".sbss.", 6) == 0 + || strncmp (name, ".gnu.linkonce.sb.", 17) == 0) + flags = SECTION_SMALL; + + flags |= default_section_type_flags (decl, name, reloc); + return flags; +} #endif /* OBJECT_FORMAT_ELF */ /* Structure to collect function names for final output in link section. */ @@ -10580,6 +10596,8 @@ alpha_init_libfuncs (void) #define TARGET_ASM_RELOC_RW_MASK alpha_elf_reloc_rw_mask #undef TARGET_ASM_SELECT_RTX_SECTION #define TARGET_ASM_SELECT_RTX_SECTION alpha_elf_select_rtx_section +#undef TARGET_SECTION_TYPE_FLAGS +#define TARGET_SECTION_TYPE_FLAGS alpha_elf_section_type_flags #endif #undef TARGET_ASM_FUNCTION_END_PROLOGUE -- cgit v1.2.1