aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h32
1 files changed, 14 insertions, 18 deletions
diff --git a/gcc/target.h b/gcc/target.h
index 8d679d3..96dc425 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -127,35 +127,31 @@ struct gcc_target
/* Output the assembler code for function exit. */
void (* function_epilogue) (FILE *, HOST_WIDE_INT);
+ /* Initialize target-specific sections. */
+ void (* init_sections) (void);
+
/* Tell assembler to change to section NAME with attributes FLAGS.
If DECL is non-NULL, it is the VAR_DECL or FUNCTION_DECL with
which this section is associated. */
void (* named_section) (const char *name, unsigned int flags, tree decl);
- /* Switch to the section that holds the exception table. */
- void (* exception_section) (void);
-
- /* Switch to the section that holds the exception frames. */
- void (* eh_frame_section) (void);
-
- /* Select and switch to a section for EXP. It may be a DECL or a
- constant. RELOC is nonzero if runtime relocations must be applied;
- bit 1 will be set if the runtime relocations require non-local
- name resolution. ALIGN is the required alignment of the data. */
- void (* select_section) (tree, int, unsigned HOST_WIDE_INT);
+ /* Return a section for EXP. It may be a DECL or a constant. RELOC
+ is nonzero if runtime relocations must be applied; bit 1 will be
+ set if the runtime relocations require non-local name resolution.
+ ALIGN is the required alignment of the data. */
+ section *(* select_section) (tree, int, unsigned HOST_WIDE_INT);
- /* Select and switch to a section for X with MODE. ALIGN is
- the desired alignment of the data. */
- void (* select_rtx_section) (enum machine_mode, rtx,
- unsigned HOST_WIDE_INT);
+ /* Return a section for X. MODE is X's mode and ALIGN is its
+ alignment in bits. */
+ section *(* select_rtx_section) (enum machine_mode, rtx,
+ unsigned HOST_WIDE_INT);
/* Select a unique section name for DECL. RELOC is the same as
for SELECT_SECTION. */
void (* unique_section) (tree, int);
- /* Tell assembler to switch to the readonly data section associated
- with function DECL. */
- void (* function_rodata_section) (tree);
+ /* Return the readonly data section associated with function DECL. */
+ section *(* function_rodata_section) (tree);
/* Output a constructor for a symbol with a given priority. */
void (* constructor) (rtx, int);