aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68k.c
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-03-02 18:10:41 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-03-02 18:10:41 +0000
commitf3ad332b7e9c0af3d6113f57269449a54511432d (patch)
tree993836c3443e07de1f50d05e90f891a86bcd1d74 /gcc/config/m68k/m68k.c
parent4b4494ef2297c07108037e29275a754119dc22ea (diff)
(output_function_prologue): Use m68k svr4 PIC format to
load the address of _GLOBAL_OFFSET_TABLE_ into PIC_OFFSET_TABLE_REG in function prologue when doing PIC. (print_operand_address): Always add "@GOT" suffix for the global object operand when doing PIC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3595 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68k.c')
-rw-r--r--gcc/config/m68k/m68k.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index c7f3dc1dcfb..a5d210cd493 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -216,10 +216,7 @@ output_function_prologue (stream, size)
if (flag_pic && current_function_uses_pic_offset_table)
{
#ifdef MOTOROLA
- asm_fprintf (stream, "\t%Omove.l %0I__GLOBAL_OFFSET_TABLE_, %s\n",
- reg_names[PIC_OFFSET_TABLE_REGNUM]);
- asm_fprintf (stream, "\tlea.l (%Rpc,%s.l),%s\n",
- reg_names[PIC_OFFSET_TABLE_REGNUM],
+ asm_fprintf (stream, "\t%Olea (%Rpc, %U_GLOBAL_OFFSET_TABLE_@GOTPC), %s\n",
reg_names[PIC_OFFSET_TABLE_REGNUM]);
#else
asm_fprintf (stream, "\tmovel %0I__GLOBAL_OFFSET_TABLE_, %s\n",
@@ -1873,10 +1870,8 @@ print_operand_address (file, addr)
if (addr != 0)
{
output_addr_const (file, addr);
- if ((flag_pic == 1) && (breg == pic_offset_table_rtx))
- fprintf (file, ".w");
- if ((flag_pic == 2) && (breg == pic_offset_table_rtx))
- fprintf (file, ".l");
+ if (flag_pic && (breg == pic_offset_table_rtx))
+ fprintf (file, "@GOT");
}
fprintf (file, "(%s", reg_names[REGNO (breg)]);
if (ireg != 0)