aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1997-06-13 11:58:30 -0600
committerJeff Law <law@gcc.gnu.org>1997-06-13 11:58:30 -0600
commit8e64b41ac23a4c021282326133582c8bfd4bf08c (patch)
tree5de7cd485f9d7004d7c52eed8ab07667d632eb5f
parent8102715466d22108b2b4779f8fb18fd364f48ebe (diff)
downloadgcc-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.c2
-rw-r--r--gcc/config/pa/pa.h14
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 ();