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:
parent
c182a405dd
commit
25ce77f447
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user