[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:
Dragan Mladjenovic 2018-07-24 20:05:08 +02:00 committed by Dragan Mladjenovic
parent 5aae6fd9f4
commit 304ec0d1d9

View File

@ -9306,42 +9306,6 @@ mips_select_rtx_section (machine_mode mode, rtx x,
return default_elf_select_rtx_section (mode, x, align); 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. */ /* Implement TARGET_IN_SMALL_DATA_P. */
static bool static bool
@ -22606,8 +22570,6 @@ mips_asm_file_end (void)
#define TARGET_ASM_FUNCTION_EPILOGUE mips_output_function_epilogue #define TARGET_ASM_FUNCTION_EPILOGUE mips_output_function_epilogue
#undef TARGET_ASM_SELECT_RTX_SECTION #undef TARGET_ASM_SELECT_RTX_SECTION
#define TARGET_ASM_SELECT_RTX_SECTION mips_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 #undef TARGET_SCHED_INIT
#define TARGET_SCHED_INIT mips_sched_init #define TARGET_SCHED_INIT mips_sched_init