This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
More EH fixes for the PA
- To: gcc-patches at gcc dot gnu dot org
- Subject: More EH fixes for the PA
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Fri, 18 May 2001 09:07:10 -0700
The SOM linker will blow chunks if you have any dynamic relocations
in a readonly section.
As a result, we can not put exception data into the readonly
section as they reference data items from libstdc++.sl.
This patch simply defines EXCEPTION_SECTION. With this patch the
PA32 port gets better c++ test results than we ever have on the GCC 3.0
branch.
Though I do wonder why SELECT_SECTION wasn't used instead of defining a
new set of macros for determining the exception section.
Anyway, I've installed on the branch as well as in the mainline sources.
* config/pa/som.h (EXCEPTION_SECTION): Define.
Index: som.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/pa/som.h,v
retrieving revision 1.13.4.7
diff -c -3 -p -r1.13.4.7 som.h
*** som.h 2001/05/14 14:55:13 1.13.4.7
--- som.h 2001/05/18 16:08:32
*************** do { \
*** 251,256 ****
--- 251,263 ----
#define BSS_SECTION_ASM_OP "\t.SPACE $PRIVATE$\n\t.SUBSPA $BSS$\n"
+ /* We must not have a reference to an external symbol defined in a
+ shared library in a readonly section, else the SOM linker will
+ complain.
+
+ So, we force exception information into the data section. */
+ #define EXCEPTION_SECTION data_section
+
/* Define the .bss section for ASM_OUTPUT_LOCAL to use. */
#ifndef CTORS_SECTION_FUNCTION
*************** do { \
*** 353,356 ****
/* SOM does not support the init_priority C++ attribute. */
#undef SUPPORTS_INIT_PRIORITY
#define SUPPORTS_INIT_PRIORITY 0
-
--- 360,362 ----