| Index: gcc/gcc/config/sparc/sol2-gld-bi.h
|
| diff --git a/gcc/gcc/config/sparc/sol2-gld-bi.h b/gcc/gcc/config/sparc/sol2-gld-bi.h
|
| index aa9a40bdfcb7ed5dfff0c8ffe383f55d9124fd3c..04d5da45cf1036a85cea5c0850ba1d5c27dfc1b1 100644
|
| --- a/gcc/gcc/config/sparc/sol2-gld-bi.h
|
| +++ b/gcc/gcc/config/sparc/sol2-gld-bi.h
|
| @@ -1,5 +1,28 @@
|
| /* Definitions of target machine for GCC, for bi-arch SPARC
|
| - running Solaris 2 using the GNU linker. */
|
| + running Solaris 2 using the GNU linker.
|
| +
|
| +Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
| +
|
| +This file is part of GCC.
|
| +
|
| +GCC is free software; you can redistribute it and/or modify it under
|
| +the terms of the GNU General Public License as published by the Free
|
| +Software Foundation; either version 3, or (at your option) any later
|
| +version.
|
| +
|
| +GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
| +WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
| +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
| +for more details.
|
| +
|
| +Under Section 7 of GPL version 3, you are granted additional
|
| +permissions described in the GCC Runtime Library Exception, version
|
| +3.1, as published by the Free Software Foundation.
|
| +
|
| +You should have received a copy of the GNU General Public License and
|
| +a copy of the GCC Runtime Library Exception along with this program;
|
| +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
| +<http://www.gnu.org/licenses/>. */
|
|
|
| #undef LINK_ARCH32_SPEC
|
| #define LINK_ARCH32_SPEC \
|
| @@ -9,25 +32,35 @@
|
| #define LINK_ARCH64_SPEC \
|
| LINK_ARCH64_SPEC_BASE "%{!static: -rpath-link %R/usr/lib/sparcv9}"
|
|
|
| +/* Since binutils 2.21, GNU ld supports new *_sol2 emulations to strictly
|
| + follow the Solaris 2 ABI. Prefer them if present. */
|
| +#ifdef HAVE_LD_SOL2_EMULATION
|
| +#define SPARC32_EMULATION "elf32_sparc_sol2"
|
| +#define SPARC64_EMULATION "elf64_sparc_sol2"
|
| +#else
|
| +#define SPARC32_EMULATION "elf32_sparc"
|
| +#define SPARC64_EMULATION "elf64_sparc"
|
| +#endif
|
| +
|
| #undef LINK_ARCH_SPEC
|
| #if DISABLE_MULTILIB
|
| #if DEFAULT_ARCH32_P
|
| #define LINK_ARCH_SPEC "\
|
| -%{m32:-m elf32_sparc %(link_arch32)} \
|
| +%{m32:-m " SPARC32_EMULATION " %(link_arch32)} \
|
| %{m64:%edoes not support multilib} \
|
| %{!m32:%{!m64:%(link_arch_default)}} \
|
| "
|
| #else
|
| #define LINK_ARCH_SPEC "\
|
| %{m32:%edoes not support multilib} \
|
| -%{m64:-m elf64_sparc %(link_arch64)} \
|
| +%{m64:-m " SPARC64_EMULATION " %(link_arch64)} \
|
| %{!m32:%{!m64:%(link_arch_default)}} \
|
| "
|
| #endif
|
| #else
|
| #define LINK_ARCH_SPEC "\
|
| -%{m32:-m elf32_sparc %(link_arch32)} \
|
| -%{m64:-m elf64_sparc %(link_arch64)} \
|
| +%{m32:-m " SPARC32_EMULATION " %(link_arch32)} \
|
| +%{m64:-m " SPARC64_EMULATION " %(link_arch64)} \
|
| %{!m32:%{!m64:%(link_arch_default)}} \
|
| "
|
| #endif
|
|
|