aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2001-08-13 14:14:01 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-08-13 14:14:01 -0700
commit02c9b1ca813452f2546d21f4403d2b051d0f4302 (patch)
treec6a06ef31982df80ac8a32f8f8817a143e4f8715
parent63d6f87a6d1eae6411542567d6834c27c4509f40 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/config/rs6000/xcoff.h11
-rw-r--r--gcc/defaults.h2
-rw-r--r--gcc/doc/tm.texi10
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