pa.h (SELECT_SECTION): Define.

* pa/pa.h (SELECT_SECTION): Define.  Never place a something
        into the read-only data section if it requires a reloc.

From-SVN: r11847
This commit is contained in:
Jeff Law 1996-04-18 00:36:41 -06:00
parent c182a405dd
commit 25ce77f447

View File

@ -1557,6 +1557,26 @@ while (0)
1 + (SYMBOL_NAME)[1] == '@'\
: (SYMBOL_NAME)[0] == '@'))
/* 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 ();
/* Arghh. This is used for stuff in the constant pool; this may include
function addresses on the PA, which during PIC code generation must
reside in the data space. Unfortunately, there's no way to determine