This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

More EH fixes for the PA



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 ----





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]