darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1, machopic_picsymbol_stub1.

2003-01-03  Dale Johannesen  <dalej@apple.com>

        * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
          machopic_picsymbol_stub1.
          (EXTRA_SECTION_FUNCTIONS):  Ditto.
        * rs6000/rs6000.c:  Update copyright.
          (machopic_output_stub):  Use them.  Remove an insn from stub code.

From-SVN: r60858
This commit is contained in:
Dale Johannesen 2003-01-03 23:09:33 +00:00 committed by Dale Johannesen
parent c75c7793f5
commit d3c300d238
3 changed files with 21 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2003-01-03 Dale Johannesen <dalej@apple.com>
* config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
machopic_picsymbol_stub1.
(EXTRA_SECTION_FUNCTIONS): Ditto.
* rs6000/rs6000.c: Update copyright.
(machopic_output_stub): Use them. Remove an insn from stub code.
2003-01-02 Jason Merrill <jason@redhat.com>
* fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.

View File

@ -510,7 +510,9 @@ FUNCTION () \
in_machopic_nl_symbol_ptr, \
in_machopic_lazy_symbol_ptr, \
in_machopic_symbol_stub, \
in_machopic_symbol_stub1, \
in_machopic_picsymbol_stub, \
in_machopic_picsymbol_stub1, \
in_darwin_exception, in_darwin_eh_frame, \
num_sections
@ -614,9 +616,15 @@ SECTION_FUNCTION (machopic_nl_symbol_ptr_section, \
SECTION_FUNCTION (machopic_symbol_stub_section, \
in_machopic_symbol_stub, \
".symbol_stub", 0) \
SECTION_FUNCTION (machopic_symbol_stub1_section, \
in_machopic_symbol_stub1, \
".section __TEXT,__symbol_stub1,symbol_stubs,pure_instructions,16", 0)\
SECTION_FUNCTION (machopic_picsymbol_stub_section, \
in_machopic_picsymbol_stub, \
".picsymbol_stub", 0) \
SECTION_FUNCTION (machopic_picsymbol_stub1_section, \
in_machopic_picsymbol_stub1, \
".section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32", 0)\
SECTION_FUNCTION (darwin_exception_section, \
in_darwin_exception, \
".section __DATA,__gcc_except_tab", 0) \

View File

@ -1,6 +1,6 @@
/* Subroutines used for code generation on IBM RS/6000.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002 Free Software Foundation, Inc.
2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC.
@ -12978,9 +12978,10 @@ machopic_output_stub (file, symb, stub)
GEN_LOCAL_LABEL_FOR_SYMBOL (local_label_0, symb, length, 0);
if (flag_pic == 2)
machopic_picsymbol_stub_section ();
machopic_picsymbol_stub1_section ();
else
machopic_symbol_stub_section ();
machopic_symbol_stub1_section ();
fprintf (file, "\t.align 2\n");
fprintf (file, "%s:\n", stub);
fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
@ -12993,11 +12994,9 @@ machopic_output_stub (file, symb, stub)
fprintf (file, "\taddis r11,r11,ha16(%s-%s)\n",
lazy_ptr_name, local_label_0);
fprintf (file, "\tmtlr r0\n");
fprintf (file, "\tlwz r12,lo16(%s-%s)(r11)\n",
fprintf (file, "\tlwzu r12,lo16(%s-%s)(r11)\n",
lazy_ptr_name, local_label_0);
fprintf (file, "\tmtctr r12\n");
fprintf (file, "\taddi r11,r11,lo16(%s-%s)\n",
lazy_ptr_name, local_label_0);
fprintf (file, "\tbctr\n");
}
else