diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c29ae7631eb..24e0a2f8d95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2001-10-25 Kaveh R. Ghazi + + * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside + of macro guards. Fix #endif comment. + + * output.h (default_exception_section, default_eh_frame_section): + Move prototypes outside of macro guard. + + * crtstuff.c: Fix #endif comment. + Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com) * doc/md.texi (movMM): Clarify semantics of storing into a diff --git a/gcc/crtstuff.c b/gcc/crtstuff.c index e62f0c0a8c2..dae5190f904 100644 --- a/gcc/crtstuff.c +++ b/gcc/crtstuff.c @@ -460,7 +460,7 @@ STATIC int __FRAME_END__[] __attribute__ ((unused, mode(SI), section(EH_FRAME_SECTION_NAME), aligned(4))) = { 0 }; -#endif /* EH_FRAME_SECTION */ +#endif /* EH_FRAME_SECTION_NAME */ #ifdef JCR_SECTION_NAME /* Null terminate the .jcr section array. */ diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index caa1e9a77e3..a5acdb57fa7 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -107,6 +107,30 @@ dwarf2out_do_frame () unique to each function definition. */ unsigned current_funcdef_number = 0; +/* The size of the target's pointer type. */ +#ifndef PTR_SIZE +#define PTR_SIZE (POINTER_SIZE / BITS_PER_UNIT) +#endif + +/* Default version of targetm.eh_frame_section. Note this must appear + outside the DWARF2_DEBUGGING_INFO || DWARF2_UNWIND_INFO macro + guards. */ + +void +default_eh_frame_section () +{ +#ifdef EH_FRAME_SECTION_NAME + named_section_flags (EH_FRAME_SECTION_NAME, SECTION_WRITE); +#else + tree label = get_file_function_name ('F'); + + data_section (); + ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); + ASM_GLOBALIZE_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); + ASM_OUTPUT_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); +#endif +} + #if defined (DWARF2_DEBUGGING_INFO) || defined (DWARF2_UNWIND_INFO) /* How to start an assembler comment. */ @@ -175,11 +199,6 @@ dw_fde_node; /* Maximum size (in bytes) of an artificially generated label. */ #define MAX_ARTIFICIAL_LABEL_BYTES 30 -/* The size of the target's pointer type. */ -#ifndef PTR_SIZE -#define PTR_SIZE (POINTER_SIZE / BITS_PER_UNIT) -#endif - /* The size of addresses as they appear in the Dwarf 2 data. Some architectures use word addresses to refer to code locations, but Dwarf 2 info always uses byte addresses. On such machines, @@ -1968,21 +1987,6 @@ output_call_frame_info (for_eh) app_disable (); } -void -default_eh_frame_section () -{ -#ifdef EH_FRAME_SECTION_NAME - named_section_flags (EH_FRAME_SECTION_NAME, SECTION_WRITE); -#else - tree label = get_file_function_name ('F'); - - data_section (); - ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); - ASM_GLOBALIZE_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); - ASM_OUTPUT_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); -#endif -} - /* Output a marker (i.e. a label) for the beginning of a function, before the prologue. */ @@ -11807,4 +11811,4 @@ dwarf2out_finish (input_filename) dw2_asm_output_data (1, DW_MACINFO_end_file, "End file"); } } -#endif /* DWARF2_DEBUGGING_INFO */ +#endif /* DWARF2_DEBUGGING_INFO || DWARF2_UNWIND_INFO */ diff --git a/gcc/output.h b/gcc/output.h index 585d355bbcb..e18ceeaa714 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -208,12 +208,6 @@ extern void named_section PARAMS ((tree, const char *, int)); /* Tell assembler to switch to the section for function DECL. */ extern void function_section PARAMS ((tree)); -/* Tell assembler to switch to the section for the exception table. */ -extern void default_exception_section PARAMS ((void)); - -/* Tell assembler to switch to the section for the EH frames. */ -extern void default_eh_frame_section PARAMS ((void)); - /* Tell assembler to switch to the section for string merging. */ extern void mergeable_string_section PARAMS ((tree, unsigned HOST_WIDE_INT, unsigned int)); @@ -462,6 +456,12 @@ extern int profile_label_no; /* Default target function prologue and epilogue assembler output. */ extern void default_function_pro_epilogue PARAMS ((FILE *, HOST_WIDE_INT)); +/* Tell assembler to switch to the section for the exception table. */ +extern void default_exception_section PARAMS ((void)); + +/* Tell assembler to switch to the section for the EH frames. */ +extern void default_eh_frame_section PARAMS ((void)); + /* Default target hook that outputs nothing to a stream. */ extern void no_asm_to_stream PARAMS ((FILE *));