From 8e64b41ac23a4c021282326133582c8bfd4bf08c Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 13 Jun 1997 11:58:30 -0600 Subject: [PATCH] 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 --- gcc/config/pa/pa.c | 2 +- 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 2f9ea94c765..5297cad7b46 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 25e8d547a05..780557c9034 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 (); -- 2.30.2