aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Hastings <stuart@apple.com>2003-01-25 01:35:50 +0000
committerStuart Hastings <stuart@gcc.gnu.org>2003-01-25 01:35:50 +0000
commit095fa59493ef3d03074448223ca543acd29eea31 (patch)
tree031d6c0c5426410843d2e08e10dbb16d15e0666a
parent1e4c04e02ab3913e505993c9b60b2ea35836376b (diff)
downloadgcc-095fa59493ef3d03074448223ca543acd29eea31.zip
gcc-095fa59493ef3d03074448223ca543acd29eea31.tar.gz
gcc-095fa59493ef3d03074448223ca543acd29eea31.tar.bz2
* config/i386/i386.c (x86_output_mi_thunk) Add Darwin/x86 support.
From-SVN: r61755
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.c11
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1cb8d9e..4512400 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-01-24 Stuart Hastings <stuart@apple.com>
+
+ * config/i386/i386.c (x86_output_mi_thunk) Add Darwin/x86 support.
+
2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (UNSPEC_BU): New constants.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 45165f4..eaaf4ab 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -14801,6 +14801,17 @@ x86_output_mi_thunk (file, thunk, delta, vcall_offset, function)
if (!flag_pic || (*targetm.binds_local_p) (function))
output_asm_insn ("jmp\t%P0", xops);
else
+#if defined TARGET_MACHO
+ if (TARGET_MACHO)
+ {
+ char *ip = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (function));
+ tmp = gen_rtx_SYMBOL_REF (Pmode, machopic_stub_name (ip));
+ tmp = gen_rtx_MEM (QImode, tmp);
+ xops[0] = tmp;
+ output_asm_insn ("jmp\t%0", xops);
+ }
+ else
+#endif /* TARGET_MACHO */
{
tmp = gen_rtx_REG (SImode, 2 /* ECX */);
output_set_got (tmp);