diff options
-rw-r--r-- | debian/changelog | 21 | ||||
-rw-r--r-- | debian/patches/dyson-biarch.patch | 18 | ||||
-rw-r--r-- | debian/patches/dyson-ld_altexec.patch | 77 | ||||
-rw-r--r-- | debian/patches/dyson-pr12548-anonymous-version-tag.patch | 19 | ||||
-rw-r--r-- | debian/patches/dyson-pr14493-sol2.patch | 414 | ||||
-rw-r--r-- | debian/patches/series | 6 | ||||
-rwxr-xr-x | debian/rules | 11 |
7 files changed, 566 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 1b1f86b..c212ebb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -884,6 +884,12 @@ binutils (2.28-6) unstable; urgency=medium -- Matthias Klose <doko@debian.org> Thu, 15 Jun 2017 17:46:47 +0200 +binutils (2.28-5+dyson1) unstable; urgency=medium + + * Package for Dyson + + -- Igor Pashev <pashev.igor@gmail.com> Sat, 13 May 2017 13:33:58 +0300 + binutils (2.28-5) unstable; urgency=medium * Update, taken from the 2.28 branch 20170510. @@ -1306,6 +1312,21 @@ binutils (2.26-9) unstable; urgency=medium -- Matthias Klose <doko@debian.org> Thu, 12 May 2016 16:59:29 +0200 +binutils (2.26-8+dyson2) unstable; urgency=medium + + * Added debian/patches/dyson-pr12548-anonymous-version-tag.patch + + -- Igor Pashev <pashev.igor@gmail.com> Sun, 08 May 2016 22:12:53 +0300 + +binutils (2.26-8+dyson1) unstable; urgency=medium + + * Package for Dyson: + debian/patches/dyson-biarch.patch + debian/patches/dyson-ld_altexec.patch + debian/patches/dyson-pr14493-sol2.patch + + -- Igor Pashev <pashev.igor@gmail.com> Wed, 30 Mar 2016 19:39:36 +0300 + binutils (2.26-8) unstable; urgency=medium * Update, taken from the 2.26 branch 20160321. diff --git a/debian/patches/dyson-biarch.patch b/debian/patches/dyson-biarch.patch new file mode 100644 index 0000000..41d55d1 --- /dev/null +++ b/debian/patches/dyson-biarch.patch @@ -0,0 +1,18 @@ +Index: binutils/ld/emulparams/elf_i386_sol2.sh +=================================================================== +--- binutils.orig/ld/emulparams/elf_i386_sol2.sh 2012-10-28 21:44:11.532380262 +0400 ++++ binutils/ld/emulparams/elf_i386_sol2.sh 2012-10-28 22:16:29.024955547 +0400 +@@ -2,3 +2,13 @@ + . ${srcdir}/emulparams/solaris2.sh + EXTRA_EM_FILE=solaris2 + OUTPUT_FORMAT="elf32-i386-sol2" ++ ++# Dyson modify the default library search path to first include ++# a 32-bit specific directory. ++case "$target" in ++ x86_64*-solaris* | i[3-7]86*-solaris*) ++ case "$EMULATION_NAME" in ++ *i386*) LIBPATH_SUFFIX=32 ;; ++ esac ++ ;; ++esac diff --git a/debian/patches/dyson-ld_altexec.patch b/debian/patches/dyson-ld_altexec.patch new file mode 100644 index 0000000..d4c019a --- /dev/null +++ b/debian/patches/dyson-ld_altexec.patch @@ -0,0 +1,77 @@ +Index: binutils-2.26/ld/ld.texinfo +=================================================================== +--- binutils-2.26.orig/ld/ld.texinfo ++++ binutils-2.26/ld/ld.texinfo +@@ -2960,7 +2960,10 @@ You can change the behaviour of @command + @ifclear SingleFormat + @code{GNUTARGET}, + @end ifclear +-@code{LDEMULATION} and @code{COLLECT_NO_DEMANGLE}. ++@code{LDEMULATION}, ++@code{COLLECT_NO_DEMANGLE} ++and ++@code{LD_ALTEXEC}. + + @ifclear SingleFormat + @kindex GNUTARGET +@@ -2998,6 +3001,12 @@ a similar fashion by the @code{gcc} link + may be overridden by the @samp{--demangle} and @samp{--no-demangle} + options. + ++@kindex LD_ALTEXEC ++@cindex alternative linker ++@code{LD_ALTEXEC} sets alternative linker. @command{ld} executes, ++and passes control to this alternative linker. For instance one ++can set @code{LD_ALTEXEC=echo} to debug linker command line. ++ + @c man end + @end ifset + +Index: binutils-2.26/ld/ldmain.c +=================================================================== +--- binutils-2.26.orig/ld/ldmain.c ++++ binutils-2.26/ld/ldmain.c +@@ -49,6 +49,7 @@ + #endif + + #include <string.h> ++#include <errno.h> + + #ifdef HAVE_SBRK + #if !HAVE_DECL_SBRK +@@ -183,9 +184,35 @@ ld_bfd_assert_handler (const char *fmt, + config.make_executable = FALSE; + } + ++static void ++maybe_altexec(char **argv) ++{ ++ char *LD_ALTEXEC; ++ ++ /* If LD_ALTEXEC is not set or is empty, just return */ ++ LD_ALTEXEC = getenv("LD_ALTEXEC"); ++ if (LD_ALTEXEC == NULL) ++ return; ++ ++ if (*LD_ALTEXEC == '\0') ++ return; ++ ++ /* Unset LD_ALTEXEC for case when it points to this program itself ;-) */ ++ if (unsetenv("LD_ALTEXEC")) ++ exit(errno); ++ ++ argv[0] = LD_ALTEXEC; ++ execvp(LD_ALTEXEC, argv); ++ ++ /* We are here only if execvp() failed */ ++ exit(errno); ++} ++ + int + main (int argc, char **argv) + { ++ maybe_altexec(argv); ++ + char *emulation; + long start_time = get_run_time (); + #ifdef HAVE_SBRK diff --git a/debian/patches/dyson-pr12548-anonymous-version-tag.patch b/debian/patches/dyson-pr12548-anonymous-version-tag.patch new file mode 100644 index 0000000..1ccbcff --- /dev/null +++ b/debian/patches/dyson-pr12548-anonymous-version-tag.patch @@ -0,0 +1,19 @@ +Description: anonymous version tag mapped to base version +Bug: http://sourceware.org/bugzilla/show_bug.cgi?id=12548 +Index: binutils-2.26/ld/ldlang.c +=================================================================== +--- binutils-2.26.orig/ld/ldlang.c ++++ binutils-2.26/ld/ldlang.c +@@ -7947,9 +7947,9 @@ lang_register_vers_node (const char *nam + if (link_info.version_info != NULL + && (name[0] == '\0' || link_info.version_info->name[0] == '\0')) + { +- einfo (_("%X%P: anonymous version tag cannot be combined" +- " with other version tags\n")); +- free (version); ++ version->deps = NULL; ++ version->name = ""; ++ version->vernum = 0; + return; + } + diff --git a/debian/patches/dyson-pr14493-sol2.patch b/debian/patches/dyson-pr14493-sol2.patch new file mode 100644 index 0000000..cf6a47e --- /dev/null +++ b/debian/patches/dyson-pr14493-sol2.patch @@ -0,0 +1,414 @@ +Description: fix .SUNW_ldynsym section processing +Bug: http://sourceware.org/bugzilla/show_bug.cgi?id=14493 +@@ -, +, @@ +--- + bfd/ChangeLog.pr14493 | 27 ++++++++++++++++++ + bfd/Makefile.am | 4 +++ + bfd/Makefile.in | 5 ++++ + bfd/configure | 30 ++++++++++---------- + bfd/configure.in | 30 ++++++++++---------- + bfd/elf-sol2.c | 66 +++++++++++++++++++++++++++++++++++++++++++ + bfd/elf-sol2.h | 31 ++++++++++++++++++++ + bfd/elf32-i386.c | 10 +++++++ + bfd/elf64-x86-64.c | 10 +++++++ + include/elf/ChangeLog.pr14493 | 5 ++++ + include/elf/common.h | 4 +++ + 11 files changed, 192 insertions(+), 30 deletions(-) + create mode 100644 bfd/ChangeLog.pr14493 + create mode 100644 bfd/elf-sol2.c + create mode 100644 bfd/elf-sol2.h + create mode 100644 include/elf/ChangeLog.pr14493 +Index: binutils-2.26/bfd/ChangeLog.pr14493 +=================================================================== +--- /dev/null ++++ binutils-2.26/bfd/ChangeLog.pr14493 +@@ -0,0 +1,27 @@ ++2012-08-24 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR binutils/14493 ++ * Makefile.am (BFD32_BACKENDS): Add elf-sol2.lo. ++ (BFD64_BACKENDS): Likewise. ++ (BFD32_BACKENDS_CFILES): Add elf-sol2.c. ++ (BFD64_BACKENDS_CFILES): Likewise. ++ ++ * configure.in: Add elf-sol2.lo to ELF x86 vectors. ++ ++ * elf-sol2.c: New file. ++ * elf-sol2.h: Likewise. ++ ++ * elf32-i386.c: Include "elf-sol2.h". ++ (elf_backend_section_processing): Defined to ++ _bfd_solaris_section_processing for Solaris. ++ (bfd_elf32_bfd_copy_private_section_data): Defined to ++ _bfd_solaris_copy_private_section_data for Solaris. ++ ++ * elf64-x86-64.c: Include "elf-sol2.h". ++ (elf_backend_section_processing): Defined to ++ _bfd_solaris_section_processing for Solaris. ++ (bfd_elf64_bfd_copy_private_section_data): Defined to ++ _bfd_solaris_copy_private_section_data for Solaris. ++ ++ * Makefile.in: Regenerated. ++ * configure: Likewise. +Index: binutils-2.26/bfd/Makefile.am +=================================================================== +--- binutils-2.26.orig/bfd/Makefile.am ++++ binutils-2.26/bfd/Makefile.am +@@ -315,6 +315,7 @@ BFD32_BACKENDS = \ + elf-m10200.lo \ + elf-m10300.lo \ + elf-nacl.lo \ ++ elf-sol2.lo \ + elf-strtab.lo \ + elf-vxworks.lo \ + elf.lo \ +@@ -506,6 +507,7 @@ BFD32_BACKENDS_CFILES = \ + elf-m10200.c \ + elf-m10300.c \ + elf-nacl.c \ ++ elf-sol2.c \ + elf-strtab.c \ + elf-vxworks.c \ + elf.c \ +@@ -660,6 +662,7 @@ BFD64_BACKENDS = \ + coff-x86_64.lo \ + coff64-rs6000.lo \ + demo64.lo \ ++ elf-sol2.lo \ + elf32-ia64.lo \ + elf32-mips.lo \ + elf32-score.lo \ +@@ -699,6 +702,7 @@ BFD64_BACKENDS_CFILES = \ + coff-x86_64.c \ + coff64-rs6000.c \ + demo64.c \ ++ elf-sol2.c \ + elf32-mips.c \ + elf32-score.c \ + elf32-score7.c \ +Index: binutils-2.26/bfd/Makefile.in +=================================================================== +--- binutils-2.26.orig/bfd/Makefile.in ++++ binutils-2.26/bfd/Makefile.in +@@ -619,6 +619,7 @@ BFD32_BACKENDS = \ + elf-m10200.lo \ + elf-m10300.lo \ + elf-nacl.lo \ ++ elf-sol2.lo \ + elf-strtab.lo \ + elf-vxworks.lo \ + elf.lo \ +@@ -810,6 +811,7 @@ BFD32_BACKENDS_CFILES = \ + elf-m10200.c \ + elf-m10300.c \ + elf-nacl.c \ ++ elf-sol2.c \ + elf-strtab.c \ + elf-vxworks.c \ + elf.c \ +@@ -965,6 +967,7 @@ BFD64_BACKENDS = \ + coff-x86_64.lo \ + coff64-rs6000.lo \ + demo64.lo \ ++ elf-sol2.lo \ + elf32-ia64.lo \ + elf32-mips.lo \ + elf32-score.lo \ +@@ -1004,6 +1007,7 @@ BFD64_BACKENDS_CFILES = \ + coff-x86_64.c \ + coff64-rs6000.c \ + demo64.c \ ++ elf-sol2.c \ + elf32-mips.c \ + elf32-score.c \ + elf32-score7.c \ +@@ -1414,6 +1418,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-m10200.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-m10300.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-nacl.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-sol2.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-strtab.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-vxworks.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf.Plo@am__quote@ +Index: binutils-2.26/bfd/elf-sol2.c +=================================================================== +--- /dev/null ++++ binutils-2.26/bfd/elf-sol2.c +@@ -0,0 +1,66 @@ ++/* Solaris support for ELF ++ Copyright 2012 Free Software Foundation, Inc. ++ ++ This file is part of BFD, the Binary File Descriptor library. ++ ++ This program 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 of the License, or ++ (at your option) any later version. ++ ++ This program 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. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, ++ MA 02111-1307, USA. */ ++ ++#include "sysdep.h" ++#include "elf-sol2.h" ++ ++bfd_boolean ++_bfd_solaris_section_processing (bfd *abfd, Elf_Internal_Shdr *hdr) ++{ ++ asection *sec; ++ ++ switch (hdr->sh_type) ++ { ++ case SHT_SUNW_symsort: ++ sec = bfd_get_section_by_name (abfd, ".SUNW_ldynsym"); ++ if (sec != NULL) ++ hdr->sh_link = elf_section_data (sec)->this_idx; ++ break; ++ ++ case SHT_SUNW_LDYNSYM: ++ sec = bfd_get_section_by_name (abfd, ".dynstr"); ++ if (sec != NULL) ++ hdr->sh_link = elf_section_data (sec)->this_idx; ++ break; ++ } ++ ++ return TRUE; ++} ++ ++bfd_boolean ++_bfd_solaris_copy_private_section_data (bfd *ibfd, ++ asection *isec, ++ bfd *obfd, ++ asection *osec) ++{ ++ Elf_Internal_Shdr *ihdr, *ohdr; ++ ++ if (ibfd->xvec->flavour != bfd_target_elf_flavour ++ || obfd->xvec->flavour != bfd_target_elf_flavour) ++ return TRUE; ++ ++ ihdr = &elf_section_data (isec)->this_hdr; ++ ohdr = &elf_section_data (osec)->this_hdr; ++ ++ if (ihdr->sh_type == SHT_SUNW_LDYNSYM) ++ ohdr->sh_info = ihdr->sh_info; ++ ++ return _bfd_elf_copy_private_section_data (ibfd, isec, obfd, osec); ++} +Index: binutils-2.26/bfd/elf-sol2.h +=================================================================== +--- /dev/null ++++ binutils-2.26/bfd/elf-sol2.h +@@ -0,0 +1,31 @@ ++/* Solaris support for ELF ++ Copyright 2012 Free Software Foundation, Inc. ++ ++ This file is part of BFD, the Binary File Descriptor library. ++ ++ This program 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 of the License, or ++ (at your option) any later version. ++ ++ This program 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. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, ++ MA 02111-1307, USA. */ ++ ++#include "bfd.h" ++#include "elf-bfd.h" ++#include "elf/common.h" ++#include "elf/internal.h" ++ ++extern bfd_boolean _bfd_solaris_section_processing ++ (bfd *, Elf_Internal_Shdr *); ++extern bfd_boolean _bfd_solaris_copy_private_section_data (bfd *, ++ asection *, ++ bfd *, ++ asection *); +Index: binutils-2.26/bfd/elf32-i386.c +=================================================================== +--- binutils-2.26.orig/bfd/elf32-i386.c ++++ binutils-2.26/bfd/elf32-i386.c +@@ -24,6 +24,7 @@ + #include "libbfd.h" + #include "elf-bfd.h" + #include "elf-nacl.h" ++#include "elf-sol2.h" + #include "elf-vxworks.h" + #include "bfd_stdint.h" + #include "objalloc.h" +@@ -5871,7 +5872,14 @@ elf_i386_fbsd_post_process_headers (bfd + #undef elf_backend_want_plt_sym + #define elf_backend_want_plt_sym 1 + ++#undef elf_backend_section_processing ++#define elf_backend_section_processing _bfd_solaris_section_processing ++#undef bfd_elf32_bfd_copy_private_section_data ++#define bfd_elf32_bfd_copy_private_section_data \ ++ _bfd_solaris_copy_private_section_data + #include "elf32-target.h" ++#undef elf_backend_section_processing ++#undef bfd_elf32_bfd_copy_private_section_data + + /* Intel MCU support. */ + +Index: binutils-2.26/bfd/elf64-x86-64.c +=================================================================== +--- binutils-2.26.orig/bfd/elf64-x86-64.c ++++ binutils-2.26/bfd/elf64-x86-64.c +@@ -25,6 +25,7 @@ + #include "libbfd.h" + #include "elf-bfd.h" + #include "elf-nacl.h" ++#include "elf-sol2.h" + #include "bfd_stdint.h" + #include "objalloc.h" + #include "hashtab.h" +@@ -6468,8 +6469,17 @@ static const struct bfd_elf_special_sect + #undef elf_backend_want_plt_sym + #define elf_backend_want_plt_sym 1 + ++#undef elf_backend_section_processing ++#define elf_backend_section_processing _bfd_solaris_section_processing ++#undef bfd_elf64_bfd_copy_private_section_data ++#define bfd_elf64_bfd_copy_private_section_data \ ++ _bfd_solaris_copy_private_section_data ++ + #include "elf64-target.h" + ++#undef elf_backend_section_processing ++#undef bfd_elf64_bfd_copy_private_section_data ++ + /* Native Client support. */ + + static bfd_boolean +Index: binutils-2.26/include/elf/ChangeLog.pr14493 +=================================================================== +--- /dev/null ++++ binutils-2.26/include/elf/ChangeLog.pr14493 +@@ -0,0 +1,5 @@ ++2012-08-24 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR binutils/14493 ++ * common.h (SHT_SUNW_symsort): New. ++ (SHT_SUNW_LDYNSYM): Likewise. +Index: binutils-2.26/include/elf/common.h +=================================================================== +--- binutils-2.26.orig/include/elf/common.h ++++ binutils-2.26/include/elf/common.h +@@ -496,6 +496,10 @@ + /* #define SHT_HIUSER 0x8FFFFFFF *//* Application-specific semantics */ + #define SHT_HIUSER 0xFFFFFFFF /* New value, defined in Oct 4, 1999 Draft */ + ++/* Solaris section types. */ ++#define SHT_SUNW_symsort 0x6ffffff1 ++#define SHT_SUNW_LDYNSYM 0x6ffffff3 ++ + /* Values for section header, sh_flags field. */ + + #define SHF_WRITE (1 << 0) /* Writable data during execution */ +Index: binutils-2.26/bfd/configure.ac +=================================================================== +--- binutils-2.26.orig/bfd/configure.ac ++++ binutils-2.26/bfd/configure.ac +@@ -784,11 +784,11 @@ do + i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; + i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; + i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;; +- i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;; + i386_msdos_vec) tb="$tb i386msdos.lo" ;; + i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;; +@@ -811,10 +811,10 @@ do + ieee_vec) tb="$tb ieee.lo" ;; + ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; + iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; +- k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; + lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; + m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; +@@ -1011,13 +1011,13 @@ do + w65_coff_vec) tb="$tb coff-w65.lo reloc16.lo $coffgen" ;; + we32k_coff_vec) tb="$tb coff-we32k.lo $coffgen" ;; + x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;; +- x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; +- x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; +- x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; ++ x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; ++ x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;; + x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; + x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; +Index: binutils-2.26/bfd/configure +=================================================================== +--- binutils-2.26.orig/bfd/configure ++++ binutils-2.26/bfd/configure +@@ -15338,11 +15338,11 @@ do + i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; + i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; + i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;; +- i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; +- i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;; + i386_msdos_vec) tb="$tb i386msdos.lo" ;; + i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;; +@@ -15365,10 +15365,10 @@ do + ieee_vec) tb="$tb ieee.lo" ;; + ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; + iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; +- k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; +- l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; ++ l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-sol2.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; + lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; + m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; diff --git a/debian/patches/series b/debian/patches/series index 21dcd95..6b85d81 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -33,3 +33,9 @@ gold-no-keep-files-mapped.diff # experimental ... infinity-notes.diff #binutils-no-development.diff + + +dyson-biarch.patch +dyson-pr14493-sol2.patch +dyson-ld_altexec.patch +dyson-pr12548-anonymous-version-tag.patch diff --git a/debian/rules b/debian/rules index 2cda25e..8b47f81 100755 --- a/debian/rules +++ b/debian/rules @@ -461,6 +461,9 @@ DEB_TARGET_MULTIARCHN32_mips64r6el = mipsisa64r6el-linux-gnuabin32 DEB_TARGET_MULTIARCH32_arm64 = aarch64_ilp32-linux-gnu +DEB_TARGET_MULTIARCH32_illumos-amd64 = i386-illumos +DEB_TARGET_MULTIARCH64_illumos-i386 = x86_64-illumos + SET_MULTIARCH_ENV = \ DEB_TARGET_MULTIARCH=$(call _multiarch,$1) \ $(if $(DEB_TARGET_MULTIARCH32_$1) ,DEB_TARGET_MULTIARCH32=$(DEB_TARGET_MULTIARCH32_$1)) \ @@ -1037,6 +1040,14 @@ stamps/install: checkroot stamps/build $(install_stamps) sed -i -e '/^\.TH /s/[0-9]*-[0-9]*-[0-9]*/$(BUILD_DAY)/' $$f; \ done +ifeq (illumos,$(DEB_HOST_ARCH_OS)) + ln -sf ld $(pwd)/$(d_bin)/$(PF)/bin/ld_sol2 + for prog in ld as nm ; do \ + ln -sf $$prog $(pwd)/$(d_bin)/$(PF)/bin/g$$prog ; \ + ln -sf $$prog.1.gz $(pwd)/$(d_bin)/$(PF)/share/man/man1/g$$prog.1.gz ; \ + done +endif + ifeq ($(with_multiarch),yes) : # now install binutils-multiarch stuff env MAKE="$(MAKE) VERSION=$(MULTI_VERSION)" \ |