Commit 8f851c1f by Jeffrey A Law Committed by Jeff Law

pa.h (SELECT_SECTION): Define.

Mon Aug  9 01:15:24 1999  Jeffrey A Law  (law@cygnus.com)

        * pa.h (SELECT_SECTION): Define.
        * som.h (SELECT_SECTION): Delete.

From-SVN: r28617
parent e547bb67
Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
* pa.h (SELECT_SECTION): Define.
* som.h (SELECT_SECTION): Delete.
Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* alias.c (init_alias_analysis): Wrap call to * alias.c (init_alias_analysis): Wrap call to
......
...@@ -1586,6 +1586,26 @@ extern struct rtx_def *hppa_legitimize_address (); ...@@ -1586,6 +1586,26 @@ extern struct rtx_def *hppa_legitimize_address ();
else \ else \
readonly_data_section (); readonly_data_section ();
/* On hpux10, the linker will give an error if we have a reference
in the read-only data section to a symbol defined in a shared
library. Therefore, expressions that might require a reloc can
not be placed in the read-only data section. */
#define SELECT_SECTION(EXP,RELOC) \
if (TREE_CODE (EXP) == VAR_DECL \
&& TREE_READONLY (EXP) \
&& !TREE_THIS_VOLATILE (EXP) \
&& DECL_INITIAL (EXP) \
&& (DECL_INITIAL (EXP) == error_mark_node \
|| TREE_CONSTANT (DECL_INITIAL (EXP))) \
&& !RELOC) \
readonly_data_section (); \
else if (TREE_CODE_CLASS (TREE_CODE (EXP)) == 'c' \
&& !(TREE_CODE (EXP) == STRING_CST && flag_writable_strings) \
&& !RELOC) \
readonly_data_section (); \
else \
data_section ();
/* Define this macro if references to a symbol must be treated /* Define this macro if references to a symbol must be treated
differently depending on something about the variable or differently depending on something about the variable or
function named by the symbol (such as what section it is in). function named by the symbol (such as what section it is in).
......
...@@ -51,26 +51,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -51,26 +51,6 @@ Boston, MA 02111-1307, USA. */
fprintf (FILE, \ fprintf (FILE, \
"\t.stabs \"\",%d,0,0,L$text_end0000\nL$text_end0000:\n", N_SO) "\t.stabs \"\",%d,0,0,L$text_end0000\nL$text_end0000:\n", N_SO)
/* On hpux10, the linker will give an error if we have a reference
in the read-only data section to a symbol defined in a shared
library. Therefore, expressions that might require a reloc can
not be placed in the read-only data section. */
#define SELECT_SECTION(EXP,RELOC) \
if (TREE_CODE (EXP) == VAR_DECL \
&& TREE_READONLY (EXP) \
&& !TREE_THIS_VOLATILE (EXP) \
&& DECL_INITIAL (EXP) \
&& (DECL_INITIAL (EXP) == error_mark_node \
|| TREE_CONSTANT (DECL_INITIAL (EXP))) \
&& !RELOC) \
readonly_data_section (); \
else if (TREE_CODE_CLASS (TREE_CODE (EXP)) == 'c' \
&& !(TREE_CODE (EXP) == STRING_CST && flag_writable_strings) \
&& !RELOC) \
readonly_data_section (); \
else \
data_section ();
/* HPUX has a program 'chatr' to list the dependencies of dynamically /* HPUX has a program 'chatr' to list the dependencies of dynamically
linked executables and shared libraries. */ linked executables and shared libraries. */
#define LDD_SUFFIX "chatr" #define LDD_SUFFIX "chatr"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment