diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1994-10-19 20:51:33 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1994-10-19 20:51:33 +0000 |
commit | 05ca35c718e8540c9365559e517fb1e4aa5e1b14 (patch) | |
tree | dead7e5e05ce742b4bc0449683da243a38cebc86 | |
parent | a523d8009d836341e3d3b432efba1c2faeff713d (diff) | |
download | gcc-05ca35c718e8540c9365559e517fb1e4aa5e1b14.zip gcc-05ca35c718e8540c9365559e517fb1e4aa5e1b14.tar.gz gcc-05ca35c718e8540c9365559e517fb1e4aa5e1b14.tar.bz2 |
Fix -fpic -a problems.
From-SVN: r8315
-rw-r--r-- | gcc/config/i386/i386.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index c11aaa2..a5623a7 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -972,9 +972,15 @@ do \ \ ASM_GENERATE_INTERNAL_LABEL (counts, "LPBX", 2); \ cnt_rtx = gen_rtx (SYMBOL_REF, VOIDmode, counts); \ - CONSTANT_POOL_ADDRESS_P (cnt_rtx) = TRUE; \ + SYMBOL_REF_FLAG (cnt_rtx) = TRUE; \ \ - xops[0] = gen_rtx (MEM, SImode, plus_constant (cnt_rtx, (BLOCKNO)*4)); \ + if (BLOCKNO) \ + cnt_rtx = plus_constant (cnt_rtx, (BLOCKNO)*4); \ + \ + if (flag_pic) \ + cnt_rtx = gen_rtx (PLUS, Pmode, pic_offset_table_rtx, cnt_rtx); \ + \ + xops[0] = gen_rtx (MEM, SImode, cnt_rtx); \ output_asm_insn (AS1(inc%L0,%0), xops); \ } \ while (0) |