diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2001-08-13 14:14:01 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-08-13 14:14:01 -0700 |
commit | 02c9b1ca813452f2546d21f4403d2b051d0f4302 (patch) | |
tree | c6a06ef31982df80ac8a32f8f8817a143e4f8715 | |
parent | 63d6f87a6d1eae6411542567d6834c27c4509f40 (diff) | |
download | gcc-02c9b1ca813452f2546d21f4403d2b051d0f4302.zip gcc-02c9b1ca813452f2546d21f4403d2b051d0f4302.tar.gz gcc-02c9b1ca813452f2546d21f4403d2b051d0f4302.tar.bz2 |
xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
* 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.
From-SVN: r44869
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/xcoff.h | 11 | ||||
-rw-r--r-- | gcc/defaults.h | 2 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 10 |
4 files changed, 25 insertions, 6 deletions
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 <rth@redhat.com> + + * 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 <geoffk@redhat.com> * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use @@ -226,7 +232,7 @@ Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz> * 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 <uweigand@de.ibm.com> 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 |