diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-06-13 11:58:30 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-06-13 11:58:30 -0600 |
commit | 8e64b41ac23a4c021282326133582c8bfd4bf08c (patch) | |
tree | 5de7cd485f9d7004d7c52eed8ab07667d632eb5f | |
parent | 8102715466d22108b2b4779f8fb18fd364f48ebe (diff) | |
download | gcc-8e64b41ac23a4c021282326133582c8bfd4bf08c.zip gcc-8e64b41ac23a4c021282326133582c8bfd4bf08c.tar.gz gcc-8e64b41ac23a4c021282326133582c8bfd4bf08c.tar.bz2 |
pa.h (SELECT_RTX_SECTION): Place symbolic operands into the data section.
* pa.h (SELECT_RTX_SECTION): Place symbolic operands into the
data section.
From-SVN: r14235
-rw-r--r-- | gcc/config/pa/pa.c | 2 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 14 |
2 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 2f9ea94..5297cad 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1251,7 +1251,7 @@ emit_move_sequence (operands, mode, scratch_reg) && GET_CODE (XEXP (operand1, 0)) == PLUS && function_label_operand (XEXP (XEXP (operand1, 0), 0), Pmode)) { - rtx scratch_reg, temp, const_part; + rtx temp, const_part; /* Figure out what (if any) scratch register to use. */ if (reload_in_progress || reload_completed) diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 25e8d54..780557c 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1664,13 +1664,13 @@ while (0) 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 - if a particular label in the constant pool refers to a function address. - So just force everything into the data space during PIC generation. */ -#define SELECT_RTX_SECTION(RTX,MODE) \ - if (flag_pic) \ +/* Arghh. The hpux10 linker chokes if we have a reference to symbols + in a readonly data section when the symbol is defined in a shared + library. Since we can't know at compile time if a symbol will be + satisfied by a shared library or main program we put any symbolic + constant into the normal data section. */ +#define SELECT_RTX_SECTION(MODE,RTX) \ + if (symbolic_operand (RTX, MODE)) \ data_section (); \ else \ readonly_data_section (); |