Commit d3c300d2 by Dale Johannesen Committed by Dale Johannesen

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
parent c75c7793
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> 2003-01-02 Jason Merrill <jason@redhat.com>
* fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better. * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
......
...@@ -510,7 +510,9 @@ FUNCTION () \ ...@@ -510,7 +510,9 @@ FUNCTION () \
in_machopic_nl_symbol_ptr, \ in_machopic_nl_symbol_ptr, \
in_machopic_lazy_symbol_ptr, \ in_machopic_lazy_symbol_ptr, \
in_machopic_symbol_stub, \ in_machopic_symbol_stub, \
in_machopic_symbol_stub1, \
in_machopic_picsymbol_stub, \ in_machopic_picsymbol_stub, \
in_machopic_picsymbol_stub1, \
in_darwin_exception, in_darwin_eh_frame, \ in_darwin_exception, in_darwin_eh_frame, \
num_sections num_sections
...@@ -614,9 +616,15 @@ SECTION_FUNCTION (machopic_nl_symbol_ptr_section, \ ...@@ -614,9 +616,15 @@ SECTION_FUNCTION (machopic_nl_symbol_ptr_section, \
SECTION_FUNCTION (machopic_symbol_stub_section, \ SECTION_FUNCTION (machopic_symbol_stub_section, \
in_machopic_symbol_stub, \ in_machopic_symbol_stub, \
".symbol_stub", 0) \ ".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, \ SECTION_FUNCTION (machopic_picsymbol_stub_section, \
in_machopic_picsymbol_stub, \ in_machopic_picsymbol_stub, \
".picsymbol_stub", 0) \ ".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, \ SECTION_FUNCTION (darwin_exception_section, \
in_darwin_exception, \ in_darwin_exception, \
".section __DATA,__gcc_except_tab", 0) \ ".section __DATA,__gcc_except_tab", 0) \
......
/* Subroutines used for code generation on IBM RS/6000. /* Subroutines used for code generation on IBM RS/6000.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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) Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -12978,9 +12978,10 @@ machopic_output_stub (file, symb, stub) ...@@ -12978,9 +12978,10 @@ machopic_output_stub (file, symb, stub)
GEN_LOCAL_LABEL_FOR_SYMBOL (local_label_0, symb, length, 0); GEN_LOCAL_LABEL_FOR_SYMBOL (local_label_0, symb, length, 0);
if (flag_pic == 2) if (flag_pic == 2)
machopic_picsymbol_stub_section (); machopic_picsymbol_stub1_section ();
else else
machopic_symbol_stub_section (); machopic_symbol_stub1_section ();
fprintf (file, "\t.align 2\n");
fprintf (file, "%s:\n", stub); fprintf (file, "%s:\n", stub);
fprintf (file, "\t.indirect_symbol %s\n", symbol_name); fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
...@@ -12993,11 +12994,9 @@ machopic_output_stub (file, symb, stub) ...@@ -12993,11 +12994,9 @@ machopic_output_stub (file, symb, stub)
fprintf (file, "\taddis r11,r11,ha16(%s-%s)\n", fprintf (file, "\taddis r11,r11,ha16(%s-%s)\n",
lazy_ptr_name, local_label_0); lazy_ptr_name, local_label_0);
fprintf (file, "\tmtlr r0\n"); 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); lazy_ptr_name, local_label_0);
fprintf (file, "\tmtctr r12\n"); fprintf (file, "\tmtctr r12\n");
fprintf (file, "\taddi r11,r11,lo16(%s-%s)\n",
lazy_ptr_name, local_label_0);
fprintf (file, "\tbctr\n"); fprintf (file, "\tbctr\n");
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment