frv.c (frv_asm_out_constructor): New.
* config/frv/frv.c (frv_asm_out_constructor): New. (frv_asm_out_destructor): New. * config/frv/frv.h (CTORS_SECTION_ASM_OP): New. (DTORS_SECTION_ASM_OP): New. (ASM_OUTPUT_CONSTRUCTOR): Remove. (ASM_OUTPUT_DESTRUCTOR): Remove. From-SVN: r65724
This commit is contained in:
parent
5c93e01bbc
commit
90a63880dd
3 changed files with 40 additions and 21 deletions
|
@ -1,3 +1,12 @@
|
|||
2003-04-16 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/frv/frv.c (frv_asm_out_constructor): New.
|
||||
(frv_asm_out_destructor): New.
|
||||
* config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
|
||||
(DTORS_SECTION_ASM_OP): New.
|
||||
(ASM_OUTPUT_CONSTRUCTOR): Remove.
|
||||
(ASM_OUTPUT_DESTRUCTOR): Remove.
|
||||
|
||||
2003-04-16 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
|
||||
|
|
|
@ -284,6 +284,8 @@ static bool frv_in_small_data_p PARAMS ((tree));
|
|||
static void frv_asm_output_mi_thunk
|
||||
PARAMS ((FILE *, tree, HOST_WIDE_INT, HOST_WIDE_INT, tree));
|
||||
static bool frv_rtx_costs PARAMS ((rtx, int, int, int*));
|
||||
static void frv_asm_out_constructor PARAMS ((rtx, int));
|
||||
static void frv_asm_out_destructor PARAMS ((rtx, int));
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
#undef TARGET_ASM_FUNCTION_PROLOGUE
|
||||
|
@ -304,6 +306,10 @@ static bool frv_rtx_costs PARAMS ((rtx, int, int, int*));
|
|||
#define TARGET_IN_SMALL_DATA_P frv_in_small_data_p
|
||||
#undef TARGET_RTX_COSTS
|
||||
#define TARGET_RTX_COSTS frv_rtx_costs
|
||||
#undef TARGET_ASM_CONSTRUCTOR
|
||||
#define TARGET_ASM_CONSTRUCTOR frv_asm_out_constructor
|
||||
#undef TARGET_ASM_DESTRUCTOR
|
||||
#define TARGET_ASM_DESTRUCTOR frv_asm_out_destructor
|
||||
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK frv_asm_output_mi_thunk
|
||||
|
@ -9853,3 +9859,23 @@ frv_rtx_costs (x, code, outer_code, total)
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
frv_asm_out_constructor (symbol, priority)
|
||||
rtx symbol;
|
||||
int priority ATTRIBUTE_UNUSED;
|
||||
{
|
||||
ctors_section ();
|
||||
assemble_align (POINTER_SIZE);
|
||||
assemble_integer_with_op ("\t.picptr\t", symbol);
|
||||
}
|
||||
|
||||
static void
|
||||
frv_asm_out_destructor (symbol, priority)
|
||||
rtx symbol;
|
||||
int priority ATTRIBUTE_UNUSED;
|
||||
{
|
||||
dtors_section ();
|
||||
assemble_align (POINTER_SIZE);
|
||||
assemble_integer_with_op ("\t.picptr\t", symbol);
|
||||
}
|
||||
|
|
|
@ -2640,6 +2640,11 @@ __asm__("\n" \
|
|||
#define INIT_SECTION_ASM_OP "\t.section .init,\"ax\""
|
||||
#define FINI_SECTION_ASM_OP "\t.section .fini,\"ax\""
|
||||
|
||||
#undef CTORS_SECTION_ASM_OP
|
||||
#undef DTORS_SECTION_ASM_OP
|
||||
#define CTORS_SECTION_ASM_OP "\t.section\t.ctors,\"a\""
|
||||
#define DTORS_SECTION_ASM_OP "\t.section\t.dtors,\"a\""
|
||||
|
||||
/* A C expression whose value is a string containing the assembler operation to
|
||||
switch to the fixup section that records all initialized pointers in a -fpic
|
||||
program so they can be changed program startup time if the program is loaded
|
||||
|
@ -2860,27 +2865,6 @@ do { \
|
|||
init section is not actually run automatically, but is still useful for
|
||||
collecting the lists of constructors and destructors. */
|
||||
#define INVOKE__main
|
||||
|
||||
/* Output appropriate code tp call a static constructor. */
|
||||
#undef ASM_OUTPUT_CONSTRUCTOR
|
||||
#define ASM_OUTPUT_CONSTRUCTOR(STREAM,NAME) \
|
||||
do { \
|
||||
ctors_section (); \
|
||||
fprintf (STREAM, "\t.picptr\t"); \
|
||||
assemble_name (STREAM, NAME); \
|
||||
fprintf (STREAM, "\n"); \
|
||||
} while (0)
|
||||
|
||||
/* Output appropriate code tp call a static destructor. */
|
||||
#undef ASM_OUTPUT_DESTRUCTOR
|
||||
#define ASM_OUTPUT_DESTRUCTOR(STREAM,NAME) \
|
||||
do { \
|
||||
dtors_section (); \
|
||||
fprintf (STREAM, "\t.picptr\t"); \
|
||||
assemble_name (STREAM, NAME); \
|
||||
fprintf (STREAM, "\n"); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/* Output of Assembler Instructions. */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue