diff options
author | Dale Johannesen <dalej@apple.com> | 2004-08-03 18:23:35 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@gcc.gnu.org> | 2004-08-03 18:23:35 +0000 |
commit | d974312d077aeccd53b6a042d40f6e1789b6efb7 (patch) | |
tree | 264e60950e1d973eccc0c1f4c8b76eb09c4d8306 /gcc/config/rs6000/rs6000.c | |
parent | 8e9031ec4da9923e18540f5b902e50fad27af977 (diff) | |
download | gcc-d974312d077aeccd53b6a042d40f6e1789b6efb7.zip gcc-d974312d077aeccd53b6a042d40f6e1789b6efb7.tar.gz gcc-d974312d077aeccd53b6a042d40f6e1789b6efb7.tar.bz2 |
rs6000.c (machopic_output_stub): Align Darwin stubs.
2004-08-03 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.c (machopic_output_stub): Align Darwin stubs.
* c-common.c: Include opts.h.
(c_common_get_alias_set): Fix check for a single input file.
* toplev.c: Remove current_file_decl.
* tree.h: Ditto.
From-SVN: r85492
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 1a9cf8d..b571094 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -16076,13 +16076,14 @@ machopic_output_stub (FILE *file, const char *symb, const char *stub) machopic_picsymbol_stub1_section (); else machopic_symbol_stub1_section (); - fprintf (file, "\t.align 2\n"); - - fprintf (file, "%s:\n", stub); - fprintf (file, "\t.indirect_symbol %s\n", symbol_name); if (flag_pic == 2) { + fprintf (file, "\t.align 5\n"); + + fprintf (file, "%s:\n", stub); + fprintf (file, "\t.indirect_symbol %s\n", symbol_name); + label++; local_label_0 = alloca (sizeof("\"L0000000000$spb\"")); sprintf (local_label_0, "\"L%011d$spb\"", label); @@ -16099,12 +16100,17 @@ machopic_output_stub (FILE *file, const char *symb, const char *stub) fprintf (file, "\tbctr\n"); } else - { - fprintf (file, "\tlis r11,ha16(%s)\n", lazy_ptr_name); - fprintf (file, "\tlwzu r12,lo16(%s)(r11)\n", lazy_ptr_name); - fprintf (file, "\tmtctr r12\n"); - fprintf (file, "\tbctr\n"); - } + { + fprintf (file, "\t.align 4\n"); + + fprintf (file, "%s:\n", stub); + fprintf (file, "\t.indirect_symbol %s\n", symbol_name); + + fprintf (file, "\tlis r11,ha16(%s)\n", lazy_ptr_name); + fprintf (file, "\tlwzu r12,lo16(%s)(r11)\n", lazy_ptr_name); + fprintf (file, "\tmtctr r12\n"); + fprintf (file, "\tbctr\n"); + } machopic_lazy_symbol_ptr_section (); fprintf (file, "%s:\n", lazy_ptr_name); |