aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1994-10-19 20:51:33 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1994-10-19 20:51:33 +0000
commit05ca35c718e8540c9365559e517fb1e4aa5e1b14 (patch)
treedead7e5e05ce742b4bc0449683da243a38cebc86
parenta523d8009d836341e3d3b432efba1c2faeff713d (diff)
downloadgcc-05ca35c718e8540c9365559e517fb1e4aa5e1b14.zip
gcc-05ca35c718e8540c9365559e517fb1e4aa5e1b14.tar.gz
gcc-05ca35c718e8540c9365559e517fb1e4aa5e1b14.tar.bz2
Fix -fpic -a problems.
From-SVN: r8315
-rw-r--r--gcc/config/i386/i386.h10
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)