summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/i386/i386.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/i386/i386.h')
-rw-r--r--contrib/gcc/config/i386/i386.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/contrib/gcc/config/i386/i386.h b/contrib/gcc/config/i386/i386.h
index b00b0e5..efc956a 100644
--- a/contrib/gcc/config/i386/i386.h
+++ b/contrib/gcc/config/i386/i386.h
@@ -1286,6 +1286,22 @@ do \
} \
while (0)
+/* Define this macro if a SYMBOL_REF representing a non-global
+ address must be marked specially. This is called for
+ compiler-generated local symbols, such as "__EXCEPTION_TABLE__".
+
+ On i386, if using PIC, we use this to set the rtx's
+ SYMBOL_REF_FLAG, so that we may access it directly as
+ an offset from the GOT register. */
+
+#define MARK_LOCAL_ADDRESS(X) \
+do \
+ { \
+ if (flag_pic && GET_CODE (X) == SYMBOL_REF) \
+ SYMBOL_REF_FLAG (X) = 1; \
+ } \
+while (0)
+
/* Initialize data used by insn expanders. This is called from
init_emit, once for each function, before code is generated.
For 386, clear stack slot assignments remembered from previous
OpenPOWER on IntegriCloud