[MIPS] Remove TARGET_ASM_FUNCTION_RODATA_SECTION
Since 'Remove obsolete IRIX 6.5 support' [1] we only use gp-relative jump-tables for PIC code. We can fall back to default behaviour for asm_function_rodata_section. [1] https://gcc.gnu.org/ml/libstdc++/2012-03/msg00067.html 2018-06-04 Dragan Mladjenovic <dragan.mladjenovic@rt-rk.com> gcc/ * config/mips/mips.c (mips_function_rodata_section, TARGET_ASM_FUNCTION_RODATA_SECTION): Removed.
This commit is contained in:
parent
5aae6fd9f4
commit
304ec0d1d9
@ -9306,42 +9306,6 @@ mips_select_rtx_section (machine_mode mode, rtx x,
|
||||
return default_elf_select_rtx_section (mode, x, align);
|
||||
}
|
||||
|
||||
/* Implement TARGET_ASM_FUNCTION_RODATA_SECTION.
|
||||
|
||||
The complication here is that, with the combination TARGET_ABICALLS
|
||||
&& !TARGET_ABSOLUTE_ABICALLS && !TARGET_GPWORD, jump tables will use
|
||||
absolute addresses, and should therefore not be included in the
|
||||
read-only part of a DSO. Handle such cases by selecting a normal
|
||||
data section instead of a read-only one. The logic apes that in
|
||||
default_function_rodata_section. */
|
||||
|
||||
static section *
|
||||
mips_function_rodata_section (tree decl, bool)
|
||||
{
|
||||
if (!TARGET_ABICALLS || TARGET_ABSOLUTE_ABICALLS || TARGET_GPWORD)
|
||||
return default_function_rodata_section (decl, false);
|
||||
|
||||
if (decl && DECL_SECTION_NAME (decl))
|
||||
{
|
||||
const char *name = DECL_SECTION_NAME (decl);
|
||||
if (DECL_COMDAT_GROUP (decl) && startswith (name, ".gnu.linkonce.t."))
|
||||
{
|
||||
char *rname = ASTRDUP (name);
|
||||
rname[14] = 'd';
|
||||
return get_section (rname, SECTION_LINKONCE | SECTION_WRITE, decl);
|
||||
}
|
||||
else if (flag_function_sections
|
||||
&& flag_data_sections
|
||||
&& startswith (name, ".text."))
|
||||
{
|
||||
char *rname = ASTRDUP (name);
|
||||
memcpy (rname + 1, "data", 4);
|
||||
return get_section (rname, SECTION_WRITE, decl);
|
||||
}
|
||||
}
|
||||
return data_section;
|
||||
}
|
||||
|
||||
/* Implement TARGET_IN_SMALL_DATA_P. */
|
||||
|
||||
static bool
|
||||
@ -22606,8 +22570,6 @@ mips_asm_file_end (void)
|
||||
#define TARGET_ASM_FUNCTION_EPILOGUE mips_output_function_epilogue
|
||||
#undef TARGET_ASM_SELECT_RTX_SECTION
|
||||
#define TARGET_ASM_SELECT_RTX_SECTION mips_select_rtx_section
|
||||
#undef TARGET_ASM_FUNCTION_RODATA_SECTION
|
||||
#define TARGET_ASM_FUNCTION_RODATA_SECTION mips_function_rodata_section
|
||||
|
||||
#undef TARGET_SCHED_INIT
|
||||
#define TARGET_SCHED_INIT mips_sched_init
|
||||
|
Loading…
Reference in New Issue
Block a user