From: danglin Date: Thu, 20 Dec 2007 01:17:57 +0000 (+0000) Subject: PR target/34525 X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=dc58a0ec0da89a61027681c8214d93045715f3dd;p=pf3gnuchains%2Fgcc-fork.git PR target/34525 * pa.c (legitimize_pic_address): Force function labels into memory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131096 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7066277b236..5e4ac241865 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-12-19 John David Anglin + + PR target/34525 + * pa.c (legitimize_pic_address): Force function labels into memory. + 2007-12-19 Zdenek Dvorak * omp-low.c (build_omp_regions_1): Recognition of combined parallels diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index b4d890c930c..46ecbc1a1df 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -694,6 +694,10 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) tmp_reg = ((reload_in_progress || reload_completed) ? reg : gen_reg_rtx (Pmode)); + /* Force function labels into memory. */ + if (function_label_operand (orig, mode)) + orig = force_const_mem (mode, orig); + emit_move_insn (tmp_reg, gen_rtx_PLUS (word_mode, pic_offset_table_rtx, gen_rtx_HIGH (word_mode, orig)));