Commit 9fdd8bdb by Stan Cox

(legitimize_address, print_operand): Make -fPIC work

From-SVN: r6681
parent 8cf85c4b
......@@ -313,10 +313,16 @@ legitimize_address (pic, orig, reg, scratch)
temp = ((reload_in_progress || reload_completed)
? reg : gen_reg_rtx (Pmode));
emit_insn (gen_rtx (SET, VOIDmode,
temp, gen_rtx (HIGH, SImode, addr)));
emit_insn (gen_rtx (SET, VOIDmode,
temp, gen_rtx (LO_SUM, SImode, temp, addr)));
emit_insn (gen_rtx (SET, VOIDmode, temp,
gen_rtx (HIGH, SImode,
gen_rtx (UNSPEC, SImode,
gen_rtvec (1, addr),
0))));
emit_insn (gen_rtx (SET, VOIDmode, temp,
gen_rtx (LO_SUM, SImode, temp,
gen_rtx (UNSPEC, SImode,
gen_rtvec (1, addr),
0))));
addr = temp;
}
new = gen_rtx (MEM, Pmode,
......@@ -2938,6 +2944,11 @@ print_operand (file, x, code)
output_address (x);
else if (xc == MEM)
output_address (XEXP (x, 0));
else if (flag_pic && xc == UNSPEC)
{
output_addr_const (file, XVECEXP (x, 0, 0));
fputs ("#got_rel", file);
}
else if (xc == CONST_DOUBLE)
output_operand_lossage ("operand is const_double");
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment