From: rth Date: Mon, 13 Aug 2001 21:14:01 +0000 (+0000) Subject: * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New. X-Git-Tag: upstream/4.9.2~92647 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4b6d9d505dcfead35717f156c9eda0e0edaf69d6;p=platform%2Fupstream%2Flinaro-gcc.git * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New. * defaults.h (EH_FRAME_SECTION_NAME): Respect it. * doc/tm.texi (Exception Region Output): Document it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44869 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7b8cb0f..1b24e2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-08-13 Richard Henderson + + * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New. + * defaults.h (EH_FRAME_SECTION_NAME): Respect it. + * doc/tm.texi (Exception Region Output): Document it. + 2001-08-13 Geoffrey Keating * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use @@ -226,7 +232,7 @@ Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux: Clean up code: add missing comments and prototypes, fix warnings, - remove obsolete code, fix spacing to conform to coding style. + remove obsolete code, fix spacing to conform to coding style. 2001-08-11 Ulrich Weigand diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h index f7d6c5f..c120e64 100644 --- a/gcc/config/rs6000/xcoff.h +++ b/gcc/config/rs6000/xcoff.h @@ -492,8 +492,11 @@ toc_section () \ /* Switch into a generic section. */ #define TARGET_ASM_NAMED_SECTION xcoff_asm_named_section -/* Define the name of the section to use for the exception tables. - TODO: test and see if we can use read_only_data_section, if so, - remove this. */ - +/* Define the name of the section to use for the EH language specific + data areas (.gcc_except_table on most other systems). */ #define EXCEPTION_SECTION data_section + +/* Define to prevent DWARF2 unwind info in the data section rather + than in the .eh_frame section. We do this because the AIX linker + would otherwise garbage collect these sections. */ +#define EH_FRAME_IN_DATA_SECTION 1 diff --git a/gcc/defaults.h b/gcc/defaults.h index d20bc28..14635b3 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -211,7 +211,7 @@ do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNATE_NAME (INSN)); } while (0) /* If we have named sections, and we're using crtstuff to run ctors, use them for registering eh frame information. */ -#if defined (TARGET_ASM_NAMED_SECTION) +#if defined (TARGET_ASM_NAMED_SECTION) && !defined(EH_FRAME_IN_DATA_SECTION) #ifndef EH_FRAME_SECTION_NAME #define EH_FRAME_SECTION_NAME ".eh_frame" #endif diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index caf0a02..538888b 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -7068,6 +7068,16 @@ provide a default definition if the target supports named sections. You should define this symbol if your target supports DWARF 2 frame unwind information and the default definition does not work. +@findex EH_FRAME_IN_DATA_SECTION +@item EH_FRAME_IN_DATA_SECTION +If defined, DWARF 2 frame unwind information will be placed in the +data section even though the target supports named sections. This +might be necessary, for instance, if the system linker does garbage +collection and sections cannot be marked as not to be collected. + +Do not define this macro unless @code{TARGET_ASM_NAMED_SECTION} is +also defined. + @findex OMIT_EH_TABLE @item OMIT_EH_TABLE () A C expression that is nonzero if the normal exception table output