From 24b42dab6b34355db2cb499374346f91d7daeb09 Mon Sep 17 00:00:00 2001 From: Lionel Sambuc Date: Sun, 26 Apr 2015 20:01:25 +0000 Subject: [PATCH] Step 2: base tools: devel/binutils --- devel/binutils/Makefile | 64 ++--- devel/binutils/PLIST.common | 52 ++-- devel/binutils/builtin.mk | 12 +- devel/binutils/distinfo | 137 ++++++++-- devel/binutils/override-as.mk | 4 +- devel/binutils/patches/patch-aa | 15 -- devel/binutils/patches/patch-bfd_Makefile.am | 13 + devel/binutils/patches/patch-bfd_Makefile.in | 21 ++ devel/binutils/patches/patch-bfd_aoutx.h | 13 + devel/binutils/patches/patch-bfd_archive.c | 70 +++++ devel/binutils/patches/patch-bfd_bfd-in2.h | 16 ++ devel/binutils/patches/patch-bfd_cache.c | 28 -- devel/binutils/patches/patch-bfd_coff-alpha.c | 14 + devel/binutils/patches/patch-bfd_config.bfd | 38 ++- devel/binutils/patches/patch-bfd_configure | 24 +- devel/binutils/patches/patch-bfd_configure.ac | 25 -- .../binutils/patches/patch-bfd_configure.host | 23 ++ devel/binutils/patches/patch-bfd_configure.in | 12 + .../patches/patch-bfd_doc_Makefile.in | 15 ++ .../binutils/patches/patch-bfd_doc_reloc.texi | 17 ++ devel/binutils/patches/patch-bfd_elf.c | 28 ++ devel/binutils/patches/patch-bfd_elf32-arm.c | 15 ++ devel/binutils/patches/patch-bfd_elf32-hppa.c | 15 ++ devel/binutils/patches/patch-bfd_elf32-i386.c | 23 ++ devel/binutils/patches/patch-bfd_elf32-m68k.c | 13 + devel/binutils/patches/patch-bfd_elf32-ppc.c | 22 ++ devel/binutils/patches/patch-bfd_elf32-sh.c | 15 ++ devel/binutils/patches/patch-bfd_elf32-vax.c | 117 +++++++++ .../binutils/patches/patch-bfd_elf64-alpha.c | 49 ++++ devel/binutils/patches/patch-bfd_elf64-mips.c | 32 +++ devel/binutils/patches/patch-bfd_elf64-ppc.c | 15 ++ .../binutils/patches/patch-bfd_elf64-x86-64.c | 15 ++ devel/binutils/patches/patch-bfd_elflink.c | 20 ++ .../binutils/patches/patch-bfd_elfn32-mips.c | 31 +++ devel/binutils/patches/patch-bfd_elfxx-mips.c | 33 +++ .../binutils/patches/patch-bfd_elfxx-sparc.c | 28 ++ devel/binutils/patches/patch-bfd_libbfd.h | 12 + devel/binutils/patches/patch-bfd_reloc.c | 22 ++ devel/binutils/patches/patch-bfd_targets.c | 12 + .../patches/patch-binutils_Makefile.in | 53 ++++ .../patches/patch-binutils_aclocal.m4 | 60 +++++ .../binutils/patches/patch-binutils_bucomm.c | 20 ++ .../patches/patch-binutils_doc_Makefile.am | 139 ++++++++++ .../patches/patch-binutils_doc_Makefile.in | 171 ++++++++++++ .../patches/patch-binutils_doc_strings.1 | 13 + devel/binutils/patches/patch-binutils_dwarf.c | 12 + .../binutils/patches/patch-binutils_objcopy.c | 13 + .../binutils/patches/patch-binutils_readelf.c | 99 +++++++ .../binutils/patches/patch-binutils_strings.c | 13 + devel/binutils/patches/patch-config.guess | 15 ++ devel/binutils/patches/patch-configure | 13 + devel/binutils/patches/patch-configure.ac | 15 -- .../binutils/patches/patch-gas_atof-generic.c | 37 +++ .../patches/patch-gas_config_atof-vax.c | 34 +++ .../patches/patch-gas_config_tc-arm.c | 27 ++ .../patches/patch-gas_config_tc-i386.c | 10 + .../patches/patch-gas_config_tc-i386.h | 15 ++ .../patches/patch-gas_config_tc-m68k.c | 19 ++ .../patches/patch-gas_config_tc-mips.c | 244 ++++++++++++++++++ .../patches/patch-gas_config_tc-vax.c | 194 ++++++++++++++ .../patches/patch-gas_config_te-armnbsd.h | 27 ++ .../patches/patch-gas_config_te-armnbsdeabi.h | 30 +++ .../patch-gas_config_te-armnbsdeabihf.h | 30 +++ .../patches/patch-gas_config_te-minix.h | 14 + .../patches/patch-gas_config_vax-inst.h | 13 + devel/binutils/patches/patch-gas_configure | 58 +---- .../binutils/patches/patch-gas_configure.tgt | 24 +- .../patches/patch-gas_doc_Makefile.am | 22 ++ .../patches/patch-gas_doc_Makefile.in | 31 +++ .../patches/patch-gas_doc_c-mips.texi | 19 ++ devel/binutils/patches/patch-gas_remap.c | 15 ++ devel/binutils/patches/patch-gold_Makefile.am | 13 + devel/binutils/patches/patch-gold_Makefile.in | 31 +-- devel/binutils/patches/patch-gold_config.in | 15 ++ devel/binutils/patches/patch-gold_configure | 23 ++ .../binutils/patches/patch-gold_configure.ac | 10 + devel/binutils/patches/patch-gold_gold.h | 24 ++ devel/binutils/patches/patch-gold_i386.cc | 15 ++ devel/binutils/patches/patch-gold_options.h | 36 --- devel/binutils/patches/patch-gold_plugin.cc | 43 +++ devel/binutils/patches/patch-gold_resolve.cc | 22 -- .../binutils/patches/patch-gold_stringpool.cc | 23 ++ devel/binutils/patches/patch-gold_system.h | 13 - .../patches/patch-gold_testsuite_Makefile.in | 12 + devel/binutils/patches/patch-gprof_corefile.c | 13 + devel/binutils/patches/patch-gprof_gprof.c | 13 + .../binutils/patches/patch-include_bfdlink.h | 15 ++ .../patches/patch-include_elf_common.h | 12 + .../binutils/patches/patch-include_objalloc.h | 20 ++ .../patches/patch-include_opcode_mips.h | 16 ++ .../patches/patch-include_safe-ctype.h | 48 +++- devel/binutils/patches/patch-ld_Makefile.am | 62 +++++ devel/binutils/patches/patch-ld_Makefile.in | 42 +++ .../binutils/patches/patch-ld_configdoc.texi | 32 +++ devel/binutils/patches/patch-ld_configure.tgt | 37 +-- .../patch-ld_emulparams_armelf__minix.sh | 20 ++ .../patch-ld_emulparams_armelf__nbsd.sh | 17 ++ .../patch-ld_emulparams_armelf__nbsd__eabi.sh | 23 ++ ...patch-ld_emulparams_armelfb__nbsd__eabi.sh | 7 + .../patch-ld_emulparams_elf32__sparc.sh | 12 + .../patch-ld_emulparams_elf32bmipn32-defs.sh | 12 + .../patch-ld_emulparams_elf64alpha__nbsd.sh | 13 + .../patches/patch-ld_emulparams_elf__i386.sh | 19 ++ .../patch-ld_emulparams_elf__i386__minix.sh | 8 + .../patches/patch-ld_emulparams_elf__minix.sh | 6 + .../patches/patch-ld_emulparams_hppalinux.sh | 11 + .../patches/patch-ld_emulparams_hppaobsd.sh | 10 + .../patches/patch-ld_emulparams_m68kelf.sh | 11 + .../patch-ld_emulparams_m68kelfnbsd.sh | 10 + .../patches/patch-ld_emulparams_sh.sh | 13 + .../patch-ld_emulparams_shelf__nbsd.sh | 17 ++ .../patches/patch-ld_emultempl_elf32.em | 157 +++++++++++ devel/binutils/patches/patch-ld_ldlex.h | 12 + devel/binutils/patches/patch-ld_ldlex.l | 24 ++ devel/binutils/patches/patch-ld_ldmain.c | 62 +++++ devel/binutils/patches/patch-ld_ldmain.h | 12 + devel/binutils/patches/patch-ld_lexsup.c | 38 +++ .../patches/patch-ld_scripttempl_elf.sc | 13 + .../patches/patch-ld_scripttempl_sh.sc | 62 +++++ .../patches/patch-libiberty_Makefile.in | 14 - .../patches/patch-libiberty_floatformat.c | 16 ++ .../patches/patch-libiberty_objalloc.c | 34 +++ .../patches/patch-libiberty_strerror.c | 13 + devel/binutils/patches/patch-opcodes_cgen.sh | 12 + .../binutils/patches/patch-opcodes_configure | 19 ++ .../patches/patch-opcodes_configure.in | 19 ++ .../binutils/patches/patch-opcodes_mips-opc.c | 27 ++ 127 files changed, 3579 insertions(+), 383 deletions(-) delete mode 100644 devel/binutils/patches/patch-aa create mode 100644 devel/binutils/patches/patch-bfd_Makefile.am create mode 100644 devel/binutils/patches/patch-bfd_Makefile.in create mode 100644 devel/binutils/patches/patch-bfd_aoutx.h create mode 100644 devel/binutils/patches/patch-bfd_archive.c create mode 100644 devel/binutils/patches/patch-bfd_bfd-in2.h delete mode 100644 devel/binutils/patches/patch-bfd_cache.c create mode 100644 devel/binutils/patches/patch-bfd_coff-alpha.c delete mode 100644 devel/binutils/patches/patch-bfd_configure.ac create mode 100644 devel/binutils/patches/patch-bfd_configure.host create mode 100644 devel/binutils/patches/patch-bfd_configure.in create mode 100644 devel/binutils/patches/patch-bfd_doc_Makefile.in create mode 100644 devel/binutils/patches/patch-bfd_doc_reloc.texi create mode 100644 devel/binutils/patches/patch-bfd_elf.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-arm.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-hppa.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-i386.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-m68k.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-ppc.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-sh.c create mode 100644 devel/binutils/patches/patch-bfd_elf32-vax.c create mode 100644 devel/binutils/patches/patch-bfd_elf64-alpha.c create mode 100644 devel/binutils/patches/patch-bfd_elf64-mips.c create mode 100644 devel/binutils/patches/patch-bfd_elf64-ppc.c create mode 100644 devel/binutils/patches/patch-bfd_elf64-x86-64.c create mode 100644 devel/binutils/patches/patch-bfd_elflink.c create mode 100644 devel/binutils/patches/patch-bfd_elfn32-mips.c create mode 100644 devel/binutils/patches/patch-bfd_elfxx-mips.c create mode 100644 devel/binutils/patches/patch-bfd_elfxx-sparc.c create mode 100644 devel/binutils/patches/patch-bfd_libbfd.h create mode 100644 devel/binutils/patches/patch-bfd_reloc.c create mode 100644 devel/binutils/patches/patch-bfd_targets.c create mode 100644 devel/binutils/patches/patch-binutils_Makefile.in create mode 100644 devel/binutils/patches/patch-binutils_aclocal.m4 create mode 100644 devel/binutils/patches/patch-binutils_bucomm.c create mode 100644 devel/binutils/patches/patch-binutils_doc_Makefile.am create mode 100644 devel/binutils/patches/patch-binutils_doc_Makefile.in create mode 100644 devel/binutils/patches/patch-binutils_doc_strings.1 create mode 100644 devel/binutils/patches/patch-binutils_dwarf.c create mode 100644 devel/binutils/patches/patch-binutils_objcopy.c create mode 100644 devel/binutils/patches/patch-binutils_readelf.c create mode 100644 devel/binutils/patches/patch-binutils_strings.c create mode 100644 devel/binutils/patches/patch-config.guess create mode 100644 devel/binutils/patches/patch-configure delete mode 100644 devel/binutils/patches/patch-configure.ac create mode 100644 devel/binutils/patches/patch-gas_atof-generic.c create mode 100644 devel/binutils/patches/patch-gas_config_atof-vax.c create mode 100644 devel/binutils/patches/patch-gas_config_tc-arm.c create mode 100644 devel/binutils/patches/patch-gas_config_tc-i386.c create mode 100644 devel/binutils/patches/patch-gas_config_tc-i386.h create mode 100644 devel/binutils/patches/patch-gas_config_tc-m68k.c create mode 100644 devel/binutils/patches/patch-gas_config_tc-mips.c create mode 100644 devel/binutils/patches/patch-gas_config_tc-vax.c create mode 100644 devel/binutils/patches/patch-gas_config_te-armnbsd.h create mode 100644 devel/binutils/patches/patch-gas_config_te-armnbsdeabi.h create mode 100644 devel/binutils/patches/patch-gas_config_te-armnbsdeabihf.h create mode 100644 devel/binutils/patches/patch-gas_config_te-minix.h create mode 100644 devel/binutils/patches/patch-gas_config_vax-inst.h create mode 100644 devel/binutils/patches/patch-gas_doc_Makefile.am create mode 100644 devel/binutils/patches/patch-gas_doc_Makefile.in create mode 100644 devel/binutils/patches/patch-gas_doc_c-mips.texi create mode 100644 devel/binutils/patches/patch-gas_remap.c create mode 100644 devel/binutils/patches/patch-gold_Makefile.am create mode 100644 devel/binutils/patches/patch-gold_config.in create mode 100644 devel/binutils/patches/patch-gold_configure create mode 100644 devel/binutils/patches/patch-gold_configure.ac create mode 100644 devel/binutils/patches/patch-gold_gold.h create mode 100644 devel/binutils/patches/patch-gold_i386.cc delete mode 100644 devel/binutils/patches/patch-gold_options.h create mode 100644 devel/binutils/patches/patch-gold_plugin.cc delete mode 100644 devel/binutils/patches/patch-gold_resolve.cc create mode 100644 devel/binutils/patches/patch-gold_stringpool.cc delete mode 100644 devel/binutils/patches/patch-gold_system.h create mode 100644 devel/binutils/patches/patch-gold_testsuite_Makefile.in create mode 100644 devel/binutils/patches/patch-gprof_corefile.c create mode 100644 devel/binutils/patches/patch-gprof_gprof.c create mode 100644 devel/binutils/patches/patch-include_bfdlink.h create mode 100644 devel/binutils/patches/patch-include_elf_common.h create mode 100644 devel/binutils/patches/patch-include_objalloc.h create mode 100644 devel/binutils/patches/patch-include_opcode_mips.h create mode 100644 devel/binutils/patches/patch-ld_Makefile.am create mode 100644 devel/binutils/patches/patch-ld_Makefile.in create mode 100644 devel/binutils/patches/patch-ld_configdoc.texi create mode 100644 devel/binutils/patches/patch-ld_emulparams_armelf__minix.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_armelf__nbsd.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_armelf__nbsd__eabi.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_armelfb__nbsd__eabi.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_elf32__sparc.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_elf32bmipn32-defs.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_elf64alpha__nbsd.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_elf__i386.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_elf__i386__minix.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_elf__minix.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_hppalinux.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_hppaobsd.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_m68kelf.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_m68kelfnbsd.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_sh.sh create mode 100644 devel/binutils/patches/patch-ld_emulparams_shelf__nbsd.sh create mode 100644 devel/binutils/patches/patch-ld_emultempl_elf32.em create mode 100644 devel/binutils/patches/patch-ld_ldlex.h create mode 100644 devel/binutils/patches/patch-ld_ldlex.l create mode 100644 devel/binutils/patches/patch-ld_ldmain.c create mode 100644 devel/binutils/patches/patch-ld_ldmain.h create mode 100644 devel/binutils/patches/patch-ld_lexsup.c create mode 100644 devel/binutils/patches/patch-ld_scripttempl_elf.sc create mode 100644 devel/binutils/patches/patch-ld_scripttempl_sh.sc delete mode 100644 devel/binutils/patches/patch-libiberty_Makefile.in create mode 100644 devel/binutils/patches/patch-libiberty_floatformat.c create mode 100644 devel/binutils/patches/patch-libiberty_objalloc.c create mode 100644 devel/binutils/patches/patch-libiberty_strerror.c create mode 100644 devel/binutils/patches/patch-opcodes_cgen.sh create mode 100644 devel/binutils/patches/patch-opcodes_configure create mode 100644 devel/binutils/patches/patch-opcodes_configure.in create mode 100644 devel/binutils/patches/patch-opcodes_mips-opc.c diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile index c6ad070c1..4255cdebd 100644 --- a/devel/binutils/Makefile +++ b/devel/binutils/Makefile @@ -1,6 +1,8 @@ -# $NetBSD: Makefile,v 1.69 2015/06/09 20:24:39 ryoon Exp $ +# $NetBSD: Makefile,v 1.57 2014/01/26 03:49:01 ryoon Exp $ -DISTNAME= binutils-2.25 +# MINIX: We currently only support Binutils 2.23 as patched in our base system. +#DISTNAME= binutils-2.24 +DISTNAME= binutils-2.23.2 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=binutils/} @@ -10,17 +12,17 @@ COMMENT= GNU binary utilities LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 EXTRACT_SUFX= .tar.bz2 -# bfd.h used without depending on it -MAKE_JOBS_SAFE= no - CONFLICTS= avr-binutils<2.13.2.1nb1 +NOT_FOR_PLATFORM= Darwin-*-* Interix-*-* + +MAKE_JOBS_SAFE= no + USE_PKGLOCALEDIR= yes REPLACE_LOCALEDIR_PATTERNS+= Make-in USE_LANGUAGES= c c++ USE_LIBTOOL= yes -USE_TOOLS+= gmake # PR pkg/48504, ksh is sufficient for NetBSD 5.2 and NetBSD 6.1 .include "../../mk/bsd.prefs.mk" @@ -44,33 +46,39 @@ INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1 # gprof (XXX: and others?) cannot be built on all platforms # -PLIST_VARS+= gprof ld gold SunOS +PLIST_VARS+= gprof ld .include "../../mk/bsd.prefs.mk" -.if ${OPSYS} != IRIX +.if ${OPSYS} != "IRIX" PLIST.gprof= yes EXTRA_FILES+= gprof .endif -.if ${OPSYS} != SunOS +.if ${OPSYS} != "SunOS" PLIST.ld= yes EXTRA_FILES+= ld .endif -.if ${OPSYS} == SunOS -PLIST.SunOS= yes -.endif +.if ${OPSYS} == "NetBSD" && ${OS_VARIANT} == "Minix" +CONFIGURE_ARGS+= \ + --with-sysroot=/ \ + --enable-gold=yes \ + --enable-ld=default \ + --enable-plugins \ + --enable-lto -.if ${OPSYS} == DragonFly \ - || (${OPSYS} == FreeBSD && empty(OS_VERSION:M[12345678].*)) \ - || (${OPSYS} == OpenBSD && empty(OS_VERSION:M[1234].*)) \ - || (${OPSYS} == NetBSD && empty(OS_VERSION:M[12345].*)) -BUILD_GOLD= yes -PLIST.gold= yes -USE_TOOLS+= bison -EXTRA_FILES+= dwp ld.gold -CONFIGURE_ARGS+=--enable-gold --enable-plugins +# LSC - Somehow configure doesn't find the installed ld when compiling inside +# a jail... +CONFIGURE_ENV+= LD=/usr/bin/ld + +# BJG - gold requires bison +USE_TOOLS+= bison lex +# BJG - there is a harmless warning in ld we need to ignore +CFLAGS+= -Wno-error +# BJG - gcc expects binaries with this program prefix +MINIX_PROGRAM_PREFIX=i586-elf32-minix- +CPPFLAGS+= -DHAVE_DLFCN_H .endif CFLAGS.OpenBSD+= -Wno-bounded @@ -79,13 +87,7 @@ CFLAGS.OpenBSD+= -Wno-bounded .if !empty(PKGSRC_COMPILER:Mclang) CFLAGS+= -Wno-unused-value -Wno-format-security \ -Wno-uninitialized -Wno-format -Wno-string-plus-int \ - -Wno-empty-body -Wno-self-assign -Wno-unused-function \ - -Wno-error=unused-const-variable -.endif - -# Issue is fixed in upstream binutils, remove this when upgraded past 2.24 -.if !empty(CC_VERSION:Mgcc-4.9.*) -CONFIGURE_ARGS+= --disable-werror + -Wno-empty-body -Wno-self-assign -Wno-unused-function .endif # Prevent the need to run texi2pod.pl and pod2man which would @@ -107,9 +109,6 @@ SYMLINK_FILES+= gprof .if defined(PLIST.ld) SYMLINK_FILES+= ld .endif -.if defined(BUILD_GOLD) -SYMLINK_FILES+= ld.gold dwp -.endif post-install: cd ${DESTDIR}${PREFIX} && \ @@ -120,6 +119,8 @@ post-install: set -e; \ if [ -f ${DESTDIR}${PREFIX}/bin/g${f:Q} ]; then \ ${LN} -sf ${PREFIX}/bin/g${f} ${DESTDIR}${PREFIX}/${PKGGNUDIR}bin/${f}; \ + ${LN} -sf ${PREFIX}/bin/g${f} ${DESTDIR}${PREFIX}/bin/${f}; \ + ${LN} -sf ${PREFIX}/bin/g${f} ${DESTDIR}${PREFIX}/bin/${MINIX_PROGRAM_PREFIX}${f}; \ fi if [ -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/g${f:Q}.1 ]; then \ ${LN} -sf ${PREFIX}/${PKGMANDIR}/man1/g${f}.1 \ @@ -127,5 +128,4 @@ post-install: fi .endfor -.include "../../mk/dlopen.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/devel/binutils/PLIST.common b/devel/binutils/PLIST.common index 6d1daecee..6f7474b2b 100644 --- a/devel/binutils/PLIST.common +++ b/devel/binutils/PLIST.common @@ -1,24 +1,55 @@ -@comment $NetBSD: PLIST.common,v 1.25 2015/06/17 14:02:40 sborrill Exp $ +@comment $NetBSD: PLIST.common,v 1.22 2014/01/06 14:58:41 wiz Exp $ ${MACHINE_GNU_PLATFORM}/bin/ar ${MACHINE_GNU_PLATFORM}/bin/as ${MACHINE_GNU_PLATFORM}/bin/ld ${MACHINE_GNU_PLATFORM}/bin/ld.bfd -${PLIST.gold}${MACHINE_GNU_PLATFORM}/bin/ld.gold +${MACHINE_GNU_PLATFORM}/bin/ld.gold ${MACHINE_GNU_PLATFORM}/bin/nm ${MACHINE_GNU_PLATFORM}/bin/objcopy ${MACHINE_GNU_PLATFORM}/bin/objdump ${MACHINE_GNU_PLATFORM}/bin/ranlib ${MACHINE_GNU_PLATFORM}/bin/strip -${PLIST.gold}bin/gdwp +bin/addr2line +bin/ar +bin/as +bin/c++filt +bin/elfedit +bin/gprof +bin/ld +bin/ld.bfd +bin/nm +bin/objcopy +bin/objdump +bin/ranlib +bin/readelf +bin/size +bin/strings +bin/strip bin/gaddr2line bin/gar bin/gas bin/gc++filt +bin/i586-elf32-minix-addr2line +bin/i586-elf32-minix-ar +bin/i586-elf32-minix-as +bin/i586-elf32-minix-c++filt +bin/i586-elf32-minix-elfedit +bin/i586-elf32-minix-gprof +bin/i586-elf32-minix-ld +bin/i586-elf32-minix-ld.bfd +bin/i586-elf32-minix-nm +bin/i586-elf32-minix-objcopy +bin/i586-elf32-minix-objdump +bin/i586-elf32-minix-ranlib +bin/i586-elf32-minix-readelf +bin/i586-elf32-minix-size +bin/i586-elf32-minix-strings +bin/i586-elf32-minix-strip ${PLIST.gprof}bin/ggprof bin/gelfedit bin/gld bin/gld.bfd -${PLIST.gold}bin/gld.gold +bin/gld.gold bin/gnm bin/gobjcopy bin/gobjdump @@ -32,12 +63,10 @@ gnu/bin/addr2line gnu/bin/ar gnu/bin/as gnu/bin/c++filt -${PLIST.gold}gnu/bin/dwp ${PLIST.gprof}gnu/bin/gprof gnu/bin/elfedit ${PLIST.ld}gnu/bin/ld gnu/bin/ld.bfd -${PLIST.gold}gnu/bin/ld.gold gnu/bin/nm gnu/bin/objcopy gnu/bin/objdump @@ -69,8 +98,8 @@ include/ansidecl.h include/bfd.h include/bfdlink.h include/dis-asm.h -include/plugin-api.h include/symcat.h +include/plugin-api.h info/as.info info/bfd.info info/binutils.info @@ -111,14 +140,12 @@ ${PLIST.gprof}share/locale/eo/LC_MESSAGES/gprof.mo share/locale/es/LC_MESSAGES/bfd.mo share/locale/es/LC_MESSAGES/binutils.mo share/locale/es/LC_MESSAGES/gas.mo -${PLIST.gold}share/locale/es/LC_MESSAGES/gold.mo ${PLIST.gprof}share/locale/es/LC_MESSAGES/gprof.mo share/locale/es/LC_MESSAGES/ld.mo share/locale/es/LC_MESSAGES/opcodes.mo share/locale/fi/LC_MESSAGES/bfd.mo share/locale/fi/LC_MESSAGES/binutils.mo share/locale/fi/LC_MESSAGES/gas.mo -${PLIST.gold}share/locale/fi/LC_MESSAGES/gold.mo ${PLIST.gprof}share/locale/fi/LC_MESSAGES/gprof.mo share/locale/fi/LC_MESSAGES/ld.mo share/locale/fi/LC_MESSAGES/opcodes.mo @@ -131,13 +158,10 @@ share/locale/fr/LC_MESSAGES/opcodes.mo ${PLIST.gprof}share/locale/ga/LC_MESSAGES/gprof.mo share/locale/ga/LC_MESSAGES/ld.mo share/locale/ga/LC_MESSAGES/opcodes.mo -share/locale/hr/LC_MESSAGES/binutils.mo -${PLIST.gprof}share/locale/hu/LC_MESSAGES/gprof.mo ${PLIST.gprof}share/locale/id/LC_MESSAGES/gprof.mo share/locale/id/LC_MESSAGES/bfd.mo share/locale/id/LC_MESSAGES/binutils.mo share/locale/id/LC_MESSAGES/gas.mo -${PLIST.gold}share/locale/id/LC_MESSAGES/gold.mo share/locale/id/LC_MESSAGES/ld.mo share/locale/id/LC_MESSAGES/opcodes.mo share/locale/it/LC_MESSAGES/binutils.mo @@ -147,7 +171,6 @@ share/locale/it/LC_MESSAGES/opcodes.mo share/locale/ja/LC_MESSAGES/bfd.mo share/locale/ja/LC_MESSAGES/binutils.mo share/locale/ja/LC_MESSAGES/gas.mo -${PLIST.gold}share/locale/it/LC_MESSAGES/gold.mo ${PLIST.gprof}share/locale/ja/LC_MESSAGES/gprof.mo share/locale/ja/LC_MESSAGES/ld.mo ${PLIST.gprof}share/locale/ms/LC_MESSAGES/gprof.mo @@ -169,7 +192,6 @@ share/locale/rw/LC_MESSAGES/gas.mo ${PLIST.gprof}share/locale/rw/LC_MESSAGES/gprof.mo share/locale/sk/LC_MESSAGES/binutils.mo ${PLIST.gprof}share/locale/sr/LC_MESSAGES/gprof.mo -share/locale/sr/LC_MESSAGES/binutils.mo share/locale/sv/LC_MESSAGES/bfd.mo share/locale/sv/LC_MESSAGES/binutils.mo ${PLIST.gprof}share/locale/sv/LC_MESSAGES/gprof.mo @@ -184,12 +206,10 @@ share/locale/tr/LC_MESSAGES/opcodes.mo share/locale/uk/LC_MESSAGES/bfd.mo share/locale/uk/LC_MESSAGES/binutils.mo ${PLIST.gprof}share/locale/uk/LC_MESSAGES/gprof.mo -share/locale/uk/LC_MESSAGES/gas.mo share/locale/uk/LC_MESSAGES/ld.mo share/locale/uk/LC_MESSAGES/opcodes.mo share/locale/vi/LC_MESSAGES/bfd.mo share/locale/vi/LC_MESSAGES/binutils.mo -${PLIST.gold}share/locale/vi/LC_MESSAGES/gold.mo share/locale/vi/LC_MESSAGES/ld.mo share/locale/vi/LC_MESSAGES/opcodes.mo share/locale/zh_CN/LC_MESSAGES/bfd.mo diff --git a/devel/binutils/builtin.mk b/devel/binutils/builtin.mk index 60b54c188..2367d9f06 100644 --- a/devel/binutils/builtin.mk +++ b/devel/binutils/builtin.mk @@ -1,4 +1,4 @@ -# $NetBSD: builtin.mk,v 1.9 2015/06/08 06:49:55 dsainty Exp $ +# $NetBSD: builtin.mk,v 1.6 2007/08/13 12:55:22 rillig Exp $ BINUTILS_PREFIX?= /usr @@ -71,11 +71,11 @@ CHECK_BUILTIN.binutils?= no .if !empty(CHECK_BUILTIN.binutils:M[nN][oO]) . if !empty(USE_BUILTIN.binutils:M[nN][oO]) -AR= ${BUILDLINK_PREFIX.binutils}/bin/gar -AS= ${BUILDLINK_PREFIX.binutils}/bin/gas -LD= ${BUILDLINK_PREFIX.binutils}/bin/gld -NM= ${BUILDLINK_PREFIX.binutils}/bin/gnm -RANLIB= ${BUILDLINK_PREFIX.binutils}/bin/granlib +AR= ${BUILDLINK_PREFIX.binutils}/bin/ar +AS= ${BUILDLINK_PREFIX.binutils}/bin/as +LD= ${BUILDLINK_PREFIX.binutils}/bin/ld +NM= ${BUILDLINK_PREFIX.binutils}/bin/nm +RANLIB= ${BUILDLINK_PREFIX.binutils}/bin/ranlib . endif .endif # CHECK_BUILTIN.binutils diff --git a/devel/binutils/distinfo b/devel/binutils/distinfo index a6bfda2b6..737c1634b 100644 --- a/devel/binutils/distinfo +++ b/devel/binutils/distinfo @@ -1,20 +1,119 @@ -$NetBSD: distinfo,v 1.24 2015/09/03 20:55:55 sevan Exp $ +$NetBSD: distinfo,v 1.15 2014/01/26 03:49:01 ryoon Exp $ -SHA1 (binutils-2.25.tar.bz2) = b46cc90ebaba7ffcf6c6d996d60738881b14e50d -RMD160 (binutils-2.25.tar.bz2) = af6f54aa304d4840e1b1a3bd8a4cd165b30f9c1e -Size (binutils-2.25.tar.bz2) = 24049133 bytes -SHA1 (patch-aa) = 1a127f82c807cbd1ac6fee073c618f3fb48667f6 -SHA1 (patch-bfd_cache.c) = db48182cee9f0bf16fbefca260b542171f0ef596 -SHA1 (patch-bfd_config.bfd) = 4383d7dc10996e0f14f4ad0e80ac9c56f01df5ea -SHA1 (patch-bfd_configure) = 3beac7243447be24c28ec5f6451e43c05d460787 -SHA1 (patch-bfd_configure.ac) = cfff26cead0f2727503eac7d3338150837e88a0b -SHA1 (patch-configure.ac) = 7bd7b90e57d850705286f2cc6464ecc45e0657c0 -SHA1 (patch-gas_configure) = 2365091529f5444c8c3a0615304cd4a2b043625c -SHA1 (patch-gas_configure.tgt) = 15089d02437af6d3130d33367d93414b0d96a7ff -SHA1 (patch-gold_Makefile.in) = ca87f7589025752713127110cbf9738f1080b62a -SHA1 (patch-gold_options.h) = 3a1f9f59a1ce105f8f8d5a09fe60e0fe673b61a9 -SHA1 (patch-gold_resolve.cc) = 7e6c45cafddc73a4195c4bdacc43102a0fde3c13 -SHA1 (patch-gold_system.h) = 68655247b884cd520daf6a98cbc3f365396049bd -SHA1 (patch-include_safe-ctype.h) = 480c46b1528f623435e9b52b7ba8247745e4e254 -SHA1 (patch-ld_configure.tgt) = 7b6c20bf268edee913ed4e421e62ac33409ec403 -SHA1 (patch-libiberty_Makefile.in) = fd07f4fafe6c25e9ab65c65ec3807c89bfd9f0b5 +SHA1 (binutils-2.23.2.tar.bz2) = 042c51073205ebaf88c272d6168f9deb71984b56 +RMD160 (binutils-2.23.2.tar.bz2) = 9788e2a8c4a7c74360919347c3bc72040e87b898 +Size (binutils-2.23.2.tar.bz2) = 21440347 bytes +SHA1 (patch-bfd_Makefile.am) = fd99b7fd950f98cb0ba7d35ac55f3362f26e6d53 +SHA1 (patch-bfd_Makefile.in) = 5801972db727ac835d30e096cb814d8a02ad3ef0 +SHA1 (patch-bfd_aoutx.h) = 27b630f174597ff8d6565806c72e62e8f7098894 +SHA1 (patch-bfd_archive.c) = 405727f383751ea24058ff3d4d9ea29d01601d86 +SHA1 (patch-bfd_bfd-in2.h) = 442dc19a0badcb3b4a309eeb3e4d9f9275e53f68 +SHA1 (patch-bfd_coff-alpha.c) = 3c7f0479e5245e375942076fbb99e3cb31b49307 +SHA1 (patch-bfd_config.bfd) = 00f724a9f8dc05bbe76ca1aa137044e006e48c65 +SHA1 (patch-bfd_configure) = 7b770676ae00bfe8909764a681bd9c003e0b9b3b +SHA1 (patch-bfd_configure.host) = 70c37d4ad4a17d55f566987b32158b13ea12c1ba +SHA1 (patch-bfd_configure.in) = 804bb5722364b3bdbc53b02bb7390e54db393f97 +SHA1 (patch-bfd_doc_Makefile.in) = e23a84d0de4244781f8277127763b01655fd7856 +SHA1 (patch-bfd_doc_reloc.texi) = 1e4e750b616b7d5d841685094e8294b739e041a4 +SHA1 (patch-bfd_elf.c) = 322c88a7ed6e8efcd8f5645a67dd440d5cb79015 +SHA1 (patch-bfd_elf32-arm.c) = 5c2148b41fe482e86a4c816208d1e71bfe67aa0d +SHA1 (patch-bfd_elf32-hppa.c) = cac56122a2b321dee3f0c7a6b7551bb874ddc909 +SHA1 (patch-bfd_elf32-i386.c) = cea8858d9daea0e8145736c12b3fd6acaf6b3f90 +SHA1 (patch-bfd_elf32-m68k.c) = 38a7e81bbd857db863110860dabdfa2f25e7083b +SHA1 (patch-bfd_elf32-ppc.c) = 61405d500bbd110603566a49fa6dce6aadb4e688 +SHA1 (patch-bfd_elf32-sh.c) = f7d653c4d6c0a222fdf1235f67fc6b4238d17092 +SHA1 (patch-bfd_elf32-vax.c) = a17a64619f8c3c30599ec1dde46dd92b29b203a0 +SHA1 (patch-bfd_elf64-alpha.c) = 82f445f76b8ab92ae083c2ade7bef882f174e40c +SHA1 (patch-bfd_elf64-mips.c) = 6a3afa8713a9799509c9c069898dfd1619212d4f +SHA1 (patch-bfd_elf64-ppc.c) = e98166c6928df768e5ef24cbbad878a74bdd7ae7 +SHA1 (patch-bfd_elf64-x86-64.c) = abf5a94105c761d1e729d7499ba6726605cbc3ef +SHA1 (patch-bfd_elflink.c) = a78e598abeadd72e1005a3639c7b62240ad1cf76 +SHA1 (patch-bfd_elfn32-mips.c) = b03f034ff7e82a3ebe846597f49b26f22a3d7f1f +SHA1 (patch-bfd_elfxx-mips.c) = 1f0b928de4b0d280de8815b61ad8eb8e9bb32f06 +SHA1 (patch-bfd_elfxx-sparc.c) = b7ba36ca279aafae665dc5373219a303e3662e68 +SHA1 (patch-bfd_libbfd.h) = 00d7890b0b3d3c144efd83891f1ad12aa83c1a6e +SHA1 (patch-bfd_reloc.c) = 80bd2510b10867e69f57f07eb001f95dcad56abc +SHA1 (patch-bfd_targets.c) = 10e5683ede64ea69b055041ecb1c778f5fb7876b +SHA1 (patch-binutils_Makefile.in) = 45d184a1a474f905e3425c05dacf4fbd3ca2fb6a +SHA1 (patch-binutils_aclocal.m4) = 37dd1a8ce8151ed700277352ee6c4150e62fc726 +SHA1 (patch-binutils_bucomm.c) = e32fbef0b3e41d72c99b82bc5e2c92f2e7ff0527 +SHA1 (patch-binutils_doc_Makefile.am) = fed61303b9c084b11468439032fc2b14a1207233 +SHA1 (patch-binutils_doc_Makefile.in) = dee313b87cdc3f2c67372727cda67131fb046737 +SHA1 (patch-binutils_doc_strings.1) = 6a0a36eb086e765f1676fbd36a3d9f67a61253ce +SHA1 (patch-binutils_dwarf.c) = 026d9436864c2a16d5d29778af7f1448bf8066cb +SHA1 (patch-binutils_objcopy.c) = 24b3558a95c83923baa9527a10c477f34bad710f +SHA1 (patch-binutils_readelf.c) = ba42c657757080cdceed61d642ff5f2dabf6a401 +SHA1 (patch-binutils_strings.c) = d74e414094bc6fbbf5d8a24222b6069f0091647c +SHA1 (patch-config.guess) = 6a7970e303411934e9b479b2a8790ad73dbb4ed0 +SHA1 (patch-configure) = 89d299a057c21a1a915ca0eb1c1b80dde7add907 +SHA1 (patch-gas_atof-generic.c) = 3d6506cffc04dc11317f0c9bd062eb9b3ec474fe +SHA1 (patch-gas_config_atof-vax.c) = 6e4ff39e7c4d57428f310eee2af1d53ba607e037 +SHA1 (patch-gas_config_tc-arm.c) = 548dadc89e4713e4513f85d36116ffa714c2eff2 +SHA1 (patch-gas_config_tc-i386.c) = 3f157e21d013768e94785f1da7aaa49f95912954 +SHA1 (patch-gas_config_tc-i386.h) = d8659b16a66a687ef2ca9b572c74a59781ce490c +SHA1 (patch-gas_config_tc-m68k.c) = 7210e66596a3bdda3fd07c4c57b789be7f93e8d6 +SHA1 (patch-gas_config_tc-mips.c) = d33238bbfc40238c6673033f91fada97aef0ff97 +SHA1 (patch-gas_config_tc-vax.c) = 1ab3dc66101b49502df7ef49961683dfeb685831 +SHA1 (patch-gas_config_te-armnbsd.h) = 319b23db5b53a1262786cddc8d84d6567152d853 +SHA1 (patch-gas_config_te-armnbsdeabi.h) = 39ace294844d92420dfe032e75bdc7dd32164ec2 +SHA1 (patch-gas_config_te-armnbsdeabihf.h) = ae55113008054786d391cc8275a22169b903624d +SHA1 (patch-gas_config_te-minix.h) = 8cd9f15420a165aa86a2de1bf3a1db67e1bdbd13 +SHA1 (patch-gas_config_vax-inst.h) = 65f15749e9177537c11b6b67d6d6274b99af20b4 +SHA1 (patch-gas_configure) = fb6aa85bd838842ad4d1f890ece13c5dfaffe681 +SHA1 (patch-gas_configure.tgt) = 944f36874318c90e0c552d1efe6742ab72b5f398 +SHA1 (patch-gas_doc_Makefile.am) = f2b5a523adb2818d2532310fe744cf73e8efe781 +SHA1 (patch-gas_doc_Makefile.in) = d0b2d9094b710b7fde16cdb34a1598fd7bf97dbd +SHA1 (patch-gas_doc_c-mips.texi) = 6f9f8782d09101f65b3c79d19d2e955dee5e3eed +SHA1 (patch-gas_remap.c) = 6b019ec1b12454fa807d5f017df74efe9c6b77eb +SHA1 (patch-gold_Makefile.am) = 03f4fb79e6991a166c8bc57065cbac6490c98519 +SHA1 (patch-gold_Makefile.in) = 2cfd3e6ac1dc3a9caa4ff1f1ec8060a9e94473eb +SHA1 (patch-gold_config.in) = 7168529de17339e64688453a4a6bbb7c0c12b7fc +SHA1 (patch-gold_configure) = ca4095633d4d5e80e899ba8979d785057b2f8e25 +SHA1 (patch-gold_configure.ac) = e3e9383ebec4ec14ca2f1a87a46887967ff0e117 +SHA1 (patch-gold_gold.h) = 5c4350bb950d660a77e94f41970d67752385a3d5 +SHA1 (patch-gold_i386.cc) = 45c784858488b165c5cc431bde8f6b4d02f5c1f1 +SHA1 (patch-gold_plugin.cc) = 71813bc9dc62de97778b5da74e75db97e0d49bcb +SHA1 (patch-gold_stringpool.cc) = 8f89828d3023a2e15f5aa2b1a7e22baeeced0c89 +SHA1 (patch-gold_testsuite_Makefile.in) = eaadf798b4617d7433413c9c9d22c6179627e76a +SHA1 (patch-gprof_corefile.c) = 042582721b2c4ba7a2d6d04c7ea1c1f6da6d1fa1 +SHA1 (patch-gprof_gprof.c) = 686b7b54da4c0b90067f80833c150f000806bf85 +SHA1 (patch-include_bfdlink.h) = 86ccf6324f6ab96a39235d84b0b9467e1780278f +SHA1 (patch-include_elf_common.h) = 880337cb2b1740bbaa786fa6ce3f0138d70be4d1 +SHA1 (patch-include_objalloc.h) = 5a393717b5d0bba0c049e0dda3804310bc5318b8 +SHA1 (patch-include_opcode_mips.h) = 1b1d935978f94f19bb45508eb39d338151220d3b +SHA1 (patch-include_safe-ctype.h) = f79b25ba21e89c9e3c26dac3220ba9d0883c904e +SHA1 (patch-ld_Makefile.am) = 550a38fe9675c44749c462fcfda7d09698ecfe1d +SHA1 (patch-ld_Makefile.in) = 9e9443280686f262403d342e0153539598e902b2 +SHA1 (patch-ld_configdoc.texi) = 733e589e3b8c2f5dd30f1b9aea5d33c4f56b7086 +SHA1 (patch-ld_configure.tgt) = ff661a6099ae583e2cb9c896f2ed1779e0f98282 +SHA1 (patch-ld_emulparams_armelf__minix.sh) = 990dc803d9d357639ce1254e7c76e4d0bf9d6d70 +SHA1 (patch-ld_emulparams_armelf__nbsd.sh) = 61c1fcf0f10a5d2895bbf18bee191777cbeca23c +SHA1 (patch-ld_emulparams_armelf__nbsd__eabi.sh) = f75d388559677df54a6ce11abd30180b5fe7d034 +SHA1 (patch-ld_emulparams_armelfb__nbsd__eabi.sh) = 6805a5baff8268ecef5e476129676801b33a2b22 +SHA1 (patch-ld_emulparams_elf32__sparc.sh) = 9490d5fb7f3b26a1dc391d71c06435b07b50f3d7 +SHA1 (patch-ld_emulparams_elf32bmipn32-defs.sh) = ff10b1da9cf02a56b85abb6e3f566e50278a23c8 +SHA1 (patch-ld_emulparams_elf64alpha__nbsd.sh) = 2f40277974773bdea61e751d067971e34fbf4151 +SHA1 (patch-ld_emulparams_elf__i386.sh) = 8dbd68df00746399b4bb8fb7d29ed7504fc3dd2c +SHA1 (patch-ld_emulparams_elf__i386__minix.sh) = c311d44ef54c459b9c3e718f8c21d98c61d295b5 +SHA1 (patch-ld_emulparams_elf__minix.sh) = 56587c61df0053e212238a67b3c7da4c84b150df +SHA1 (patch-ld_emulparams_hppalinux.sh) = 6d37fe3d99f505ad6e63203b7031cd336cad4e43 +SHA1 (patch-ld_emulparams_hppaobsd.sh) = 0c224db8a5c280c21dc1dd3c477dddfe6a84419a +SHA1 (patch-ld_emulparams_m68kelf.sh) = 2e198f3f6aa6c532db72110693e6402aef50ebc6 +SHA1 (patch-ld_emulparams_m68kelfnbsd.sh) = 122060258b80dcbefc7fc6b9ded89b38ecbecca3 +SHA1 (patch-ld_emulparams_sh.sh) = 33a215ba22d3573f2ce3811ad63aa5fab5452ad9 +SHA1 (patch-ld_emulparams_shelf__nbsd.sh) = 795f61e6de81f194903c7b763b3dac3769c090be +SHA1 (patch-ld_emultempl_elf32.em) = 41f9a5b1391b133ef549dcd748aeea7c0da43300 +SHA1 (patch-ld_ldlex.h) = b37fb9f18bc01b6c9267ec90a254f2b2f4a219f0 +SHA1 (patch-ld_ldlex.l) = 6f8864f1d2ae2ed1f92e7b8d8c4c05d681724646 +SHA1 (patch-ld_ldmain.c) = e15806af3b1c98149a7b0fb95da61c749625af1a +SHA1 (patch-ld_ldmain.h) = 6559b7f2b955caa91e0f9d14a5c7bfe54ee087eb +SHA1 (patch-ld_lexsup.c) = a3275b2094af31a0da4ad058ba9d2872818cd4ce +SHA1 (patch-ld_scripttempl_elf.sc) = d62676801867c0d77e6b9bf92321c54ab85deb41 +SHA1 (patch-ld_scripttempl_sh.sc) = 2ba41b7245375f12713671cdef7661ab25cdb638 +SHA1 (patch-libiberty_floatformat.c) = 8f34313a2f95d447f13bfae041505634acc7d83b +SHA1 (patch-libiberty_objalloc.c) = 195ae4681f1d735ba37fcfc8622ef0b5a3081d24 +SHA1 (patch-libiberty_strerror.c) = db1010c597fe6ff9c3feff69952be3fca76ad0a8 +SHA1 (patch-opcodes_cgen.sh) = 2eff76a6aabf69475a4b56e199fc3660498a1b7e +SHA1 (patch-opcodes_configure) = f97e29bcce93189aba91dbb34e9e0b94b13cd117 +SHA1 (patch-opcodes_configure.in) = d286ca9a001562a0a8d49f69e969b9ce86c4d404 +SHA1 (patch-opcodes_mips-opc.c) = 5c6b5ed56eb2b57423e604643e1f68be8407428c diff --git a/devel/binutils/override-as.mk b/devel/binutils/override-as.mk index 2359eafd8..4b0ff938a 100644 --- a/devel/binutils/override-as.mk +++ b/devel/binutils/override-as.mk @@ -1,4 +1,4 @@ -# $NetBSD: override-as.mk,v 1.8 2015/02/04 14:13:29 jperkin Exp $ +# $NetBSD: override-as.mk,v 1.7 2013/08/15 06:48:50 richard Exp $ # This Makefile fragment can be included by packages that wish to # override the default selection of as(1) and use the one from devel/binutils @@ -20,7 +20,5 @@ ${SPECS_AS}: _WRAP_EXTRA_ARGS.CC+= -specs=${SPECS_AS} _WRAP_EXTRA_ARGS.CXX+= -specs=${SPECS_AS} -CWRAPPERS_APPEND.cc+= -specs=${SPECS_AS} -CWRAPPERS_APPEND.cxx+= -specs=${SPECS_AS} .endif diff --git a/devel/binutils/patches/patch-aa b/devel/binutils/patches/patch-aa deleted file mode 100644 index abece8c31..000000000 --- a/devel/binutils/patches/patch-aa +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-aa,v 1.5 2012/07/23 12:24:34 jperkin Exp $ - -Remove etc - ---- configure.orig 2011-08-14 21:28:15.000000000 +0900 -+++ configure 2012-02-13 10:34:04.000000000 +0900 -@@ -2667,7 +2667,7 @@ - # binutils, gas and ld appear in that order because it makes sense to run - # "make check" in that particular order. - # If --enable-gold is used, "gold" may replace "ld". --host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools" -+host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof expect dejagnu m4 utils guile fastjar gnattools" - - # libgcj represents the runtime libraries only used by gcj. - libgcj="target-libffi \ diff --git a/devel/binutils/patches/patch-bfd_Makefile.am b/devel/binutils/patches/patch-bfd_Makefile.am new file mode 100644 index 000000000..7c8407ac1 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_Makefile.am @@ -0,0 +1,13 @@ +$NetBSD$ + +--- bfd/Makefile.am.orig Mon Mar 25 09:08:05 2013 ++++ bfd/Makefile.am +@@ -35,7 +35,7 @@ AM_CFLAGS = $(WARN_CFLAGS) + AM_CPPFLAGS = -DBINDIR='"$(bindir)"' + if PLUGINS + bfdinclude_HEADERS += $(INCDIR)/plugin-api.h +-LIBDL = -ldl ++LIBDL = @lt_cv_dlopen_libs@ + endif + + # bfd.h goes here, for now diff --git a/devel/binutils/patches/patch-bfd_Makefile.in b/devel/binutils/patches/patch-bfd_Makefile.in new file mode 100644 index 000000000..a554d474d --- /dev/null +++ b/devel/binutils/patches/patch-bfd_Makefile.in @@ -0,0 +1,21 @@ +$NetBSD$ + +--- bfd/Makefile.in.orig Mon Mar 25 09:08:08 2013 ++++ bfd/Makefile.in +@@ -293,6 +293,7 @@ libdir = @libdir@ + libexecdir = @libexecdir@ + localedir = @localedir@ + localstatedir = @localstatedir@ ++lt_cv_dlopen_libs = @lt_cv_dlopen_libs@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ +@@ -336,7 +337,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -release `cat libt + @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la + AM_CFLAGS = $(WARN_CFLAGS) + AM_CPPFLAGS = -DBINDIR='"$(bindir)"' +-@PLUGINS_TRUE@LIBDL = -ldl ++@PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@ + + # bfd.h goes here, for now + BFD_H = bfd.h diff --git a/devel/binutils/patches/patch-bfd_aoutx.h b/devel/binutils/patches/patch-bfd_aoutx.h new file mode 100644 index 000000000..e73d6640f --- /dev/null +++ b/devel/binutils/patches/patch-bfd_aoutx.h @@ -0,0 +1,13 @@ +$NetBSD$ + +--- bfd/aoutx.h.orig Tue May 1 16:07:33 2012 ++++ bfd/aoutx.h +@@ -762,7 +762,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch, + break; + + case bfd_arch_arm: +- if (machine == 0) ++ if (machine == 0 || machine == 5) + arch_flags = M_ARM; + break; + diff --git a/devel/binutils/patches/patch-bfd_archive.c b/devel/binutils/patches/patch-bfd_archive.c new file mode 100644 index 000000000..de397af28 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_archive.c @@ -0,0 +1,70 @@ +$NetBSD$ + +--- bfd/archive.c.orig Mon Mar 25 08:06:19 2013 ++++ bfd/archive.c +@@ -157,6 +157,9 @@ struct ar_cache + #define ar_maxnamelen(abfd) ((abfd)->xvec->ar_max_namelen) + + #define arch_eltdata(bfd) ((struct areltdata *) ((bfd)->arelt_data)) ++ ++static const char * normalize (bfd *, const char *); ++ + #define arch_hdr(bfd) ((struct ar_hdr *) arch_eltdata (bfd)->arch_header) + + /* True iff NAME designated a BSD 4.4 extended name. */ +@@ -760,7 +763,9 @@ bfd_generic_openr_next_archived_file (bfd *archive, bf + /* Pad to an even boundary... + Note that last_file->origin can be odd in the case of + BSD-4.4-style element with a long odd size. */ +- filestart += filestart % 2; ++ if (!strncmp(arch_hdr (last_file)->ar_name, "#1/", 3)) ++ size += strlen(normalize(last_file, last_file->filename)); ++ filestart += size % 2; + } + + return _bfd_get_elt_at_filepos (archive, filestart); +@@ -2180,11 +2185,22 @@ _bfd_write_archive_contents (bfd *arch) + current = current->archive_next) + { + char buffer[DEFAULT_BUFFERSIZE]; +- bfd_size_type remaining = arelt_size (current); ++ bfd_size_type saved_size = arelt_size (current); ++ bfd_size_type remaining = saved_size; ++ struct ar_hdr *hdr = arch_hdr (current); + + /* Write ar header. */ + if (!_bfd_write_ar_hdr (arch, current)) +- return FALSE; ++ return FALSE; ++ /* Write filename if it is a 4.4BSD extended file, and add to size. */ ++ if (!strncmp (hdr->ar_name, "#1/", 3)) ++ { ++ const char *normal = normalize (current, current->filename); ++ unsigned int thislen = strlen (normal); ++ if (bfd_write (normal, 1, thislen, arch) != thislen) ++ return FALSE; ++ saved_size += thislen; ++ } + if (bfd_is_thin_archive (arch)) + continue; + if (bfd_seek (current, (file_ptr) 0, SEEK_SET) != 0) +@@ -2457,11 +2473,19 @@ bsd_write_armap (bfd *arch, + { + do + { ++#if 1 ++ bfd_size_type size = arelt_size (current); ++ if (!strncmp(arch_hdr (current)->ar_name, "#1/", 3)) ++ size += strlen(normalize(current, current->filename)); ++ firstreal += size + sizeof (struct ar_hdr); ++ firstreal += size % 2; ++#else + struct areltdata *ared = arch_eltdata (current); + + firstreal += (ared->parsed_size + ared->extra_size + + sizeof (struct ar_hdr)); + firstreal += firstreal % 2; ++#endif + current = current->archive_next; + } + while (current != map[count].u.abfd); diff --git a/devel/binutils/patches/patch-bfd_bfd-in2.h b/devel/binutils/patches/patch-bfd_bfd-in2.h new file mode 100644 index 000000000..3125c9cc0 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_bfd-in2.h @@ -0,0 +1,16 @@ +$NetBSD$ + +--- bfd/bfd-in2.h.orig Tue Sep 4 12:53:41 2012 ++++ bfd/bfd-in2.h +@@ -5788,6 +5788,11 @@ struct bfd + /* This BFD has been created by the linker and doesn't correspond + to any input file. */ + #define BFD_LINKER_CREATED 0x2000 ++ /* This may be set before writing out a BFD to request that it ++ be written using values for UIDs, GIDs, timestamps, etc. that ++ will be consistent from run to run. */ ++#define BFD_DETERMINISTIC_OUTPUT 0x4000 ++ + + /* This may be set before writing out a BFD to request that it + be written using values for UIDs, GIDs, timestamps, etc. that diff --git a/devel/binutils/patches/patch-bfd_cache.c b/devel/binutils/patches/patch-bfd_cache.c deleted file mode 100644 index 9638027ef..000000000 --- a/devel/binutils/patches/patch-bfd_cache.c +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD: patch-bfd_cache.c,v 1.3 2015/06/09 20:24:39 ryoon Exp $ - -Fix sign-compare on SunOS. -Handle 256 file descriptor limit in 32-bit SunOS environment. - ---- bfd/cache.c.orig 2014-10-14 07:32:02.000000000 +0000 -+++ bfd/cache.c -@@ -50,6 +50,10 @@ SUBSECTION - #include - #endif - -+#if defined(__sun) && !defined(_LP64) -+#include -+#endif -+ - /* In some cases we can optimize cache operation when reopening files. - For instance, a flush is entirely unnecessary if the file is already - closed, so a flush would use CACHE_NO_OPEN. Similarly, a seek using -@@ -90,6 +94,9 @@ bfd_cache_max_open (void) - #else - max = 10; - #endif /* _SC_OPEN_MAX */ -+#if defined(__sun) && !defined(_LP64) -+ max = max > (OPEN_MAX / 8) ? (OPEN_MAX / 8) : max; -+#endif - max_open_files = max < 10 ? 10 : max; - } - diff --git a/devel/binutils/patches/patch-bfd_coff-alpha.c b/devel/binutils/patches/patch-bfd_coff-alpha.c new file mode 100644 index 000000000..fd1e3a8ae --- /dev/null +++ b/devel/binutils/patches/patch-bfd_coff-alpha.c @@ -0,0 +1,14 @@ +$NetBSD$ + +--- bfd/coff-alpha.c.orig Fri Jul 13 14:22:42 2012 ++++ bfd/coff-alpha.c +@@ -642,7 +642,9 @@ alpha_adjust_reloc_in (bfd *abfd, + case ALPHA_R_OP_STORE: + /* The STORE reloc needs the size and offset fields. We store + them in the addend. */ ++#if 0 + BFD_ASSERT (intern->r_offset <= 256); ++#endif + rptr->addend = (intern->r_offset << 8) + intern->r_size; + break; + diff --git a/devel/binutils/patches/patch-bfd_config.bfd b/devel/binutils/patches/patch-bfd_config.bfd index 9b24276e0..340565418 100644 --- a/devel/binutils/patches/patch-bfd_config.bfd +++ b/devel/binutils/patches/patch-bfd_config.bfd @@ -1,25 +1,23 @@ -$NetBSD: patch-bfd_config.bfd,v 1.1 2015/09/03 20:55:55 sevan Exp $ +$NetBSD$ -Add Bitrig/amd64 support -https://sourceware.org/bugzilla/show_bug.cgi?id=18920 - ---- bfd/config.bfd.orig Thu Sep 3 16:46:04 2015 +--- bfd/config.bfd.orig Tue Sep 4 14:14:59 2012 +++ bfd/config.bfd -@@ -615,7 +620,7 @@ case "${targ}" in - targ_selvecs="i386_elf32_vec i386_aout_bsd_vec" - targ_underscore=yes +@@ -315,7 +315,7 @@ case "${targ}" in ;; -- i[3-7]86-*-openbsd*) -+ i[3-7]86-*-openbsd* | i[3-7]86-*-bitrig*) - targ_defvec=i386_elf32_vec - targ_selvecs=i386_aout_nbsd_vec + arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ +- arm*-*-eabi* ) ++ arm*-*-eabi* | arm*-*-minix*) + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec ;; -@@ -666,7 +671,7 @@ case "${targ}" in - targ_selvecs="i386_elf32_fbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec" - want64=true +@@ -709,6 +709,9 @@ case "${targ}" in ;; -- x86_64-*-netbsd* | x86_64-*-openbsd*) -+ x86_64-*-netbsd* | x86_64-*-openbsd* | x86_64-*-bitrig*) - targ_defvec=x86_64_elf64_vec - targ_selvecs="i386_elf32_vec i386_aout_nbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" - want64=true + i[3-7]86-none-*) + targ_defvec=i386coff_vec ++ ;; ++ i[3-7]86-*-minix) ++ targ_defvec=bfd_elf32_i386_minix_vec + ;; + i[3-7]86-*-aout* | i[3-7]86*-*-vsta*) + targ_defvec=i386aout_vec diff --git a/devel/binutils/patches/patch-bfd_configure b/devel/binutils/patches/patch-bfd_configure index 8940ac0cc..dc0e66463 100644 --- a/devel/binutils/patches/patch-bfd_configure +++ b/devel/binutils/patches/patch-bfd_configure @@ -1,16 +1,12 @@ -$NetBSD: patch-bfd_configure,v 1.1 2015/09/03 20:55:55 sevan Exp $ +$NetBSD$ -Add Bitrig/amd64 support -https://sourceware.org/bugzilla/show_bug.cgi?id=18920 - ---- bfd/configure.orig Thu Sep 3 16:43:37 2015 +--- bfd/configure.orig Mon Mar 25 09:08:07 2013 +++ bfd/configure -@@ -14175,7 +14175,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ - x86_64-*-linux*) - CORE_HEADER='"hosts/x86-64linux.h"' - ;; -- x86_64-*-netbsd* | x86_64-*-openbsd*) -+ x86_64-*-netbsd* | x86_64-*-openbsd* | x86_64-*-bitrig*) - COREFILE=netbsd-core.lo - ;; - esac +@@ -15231,6 +15231,7 @@ do + bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; + bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ bfd_elf32_i386_minix_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; diff --git a/devel/binutils/patches/patch-bfd_configure.ac b/devel/binutils/patches/patch-bfd_configure.ac deleted file mode 100644 index 7f7bf3890..000000000 --- a/devel/binutils/patches/patch-bfd_configure.ac +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-bfd_configure.ac,v 1.1 2015/09/03 20:55:55 sevan Exp $ - -Add Bitrig/amd64 support -https://sourceware.org/bugzilla/show_bug.cgi?id=18920 - ---- bfd/configure.ac.orig Thu Sep 3 16:39:03 2015 -+++ bfd/configure.ac -@@ -311,7 +311,7 @@ changequote([,])dnl - TRAD_HEADER='"hosts/i386bsd.h"' - ;; - changequote(,)dnl -- i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*) -+ i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd* | i[3-7]86-*-bitrig*) - changequote([,])dnl - COREFILE=netbsd-core.lo - ;; -@@ -485,7 +485,7 @@ changequote([,])dnl - x86_64-*-linux*) - CORE_HEADER='"hosts/x86-64linux.h"' - ;; -- x86_64-*-netbsd* | x86_64-*-openbsd*) -+ x86_64-*-netbsd* | x86_64-*-openbsd* | x86_64-*-bitrig*) - COREFILE=netbsd-core.lo - ;; - esac diff --git a/devel/binutils/patches/patch-bfd_configure.host b/devel/binutils/patches/patch-bfd_configure.host new file mode 100644 index 000000000..ace1b7814 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_configure.host @@ -0,0 +1,23 @@ +$NetBSD$ + +--- bfd/configure.host.orig Fri Dec 31 11:00:52 2010 ++++ bfd/configure.host +@@ -57,6 +57,18 @@ mips*-*-riscos*) HDEFINES="-G 4" ;; + + m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;; + ++sparc64*-*-netbsd*) host64=true; HOST_64BIT_TYPE=long ;; ++ ++x86_64*-*-netbsd*) host64=true; HOST_64BIT_TYPE=long ;; ++ ++*-*-aix*) HOST_64BIT_TYPE="long long" ++ HOST_U_64BIT_TYPE="unsigned long long" ++ ;; ++ ++*-*-solaris*) HOST_64BIT_TYPE="long long" ++ HOST_U_64BIT_TYPE="unsigned long long" ++ ;; ++ + # Some Solaris systems (osol0906 at least) have a libc that doesn't recognise + # the "MS-ANSI" code page name, so we define an override for CP_ACP (sets the + # default code page used by windres/windmc when not specified by a commandline diff --git a/devel/binutils/patches/patch-bfd_configure.in b/devel/binutils/patches/patch-bfd_configure.in new file mode 100644 index 000000000..62c1fcf9a --- /dev/null +++ b/devel/binutils/patches/patch-bfd_configure.in @@ -0,0 +1,12 @@ +$NetBSD$ + +--- bfd/configure.in.orig Mon Mar 25 09:08:05 2013 ++++ bfd/configure.in +@@ -723,6 +723,7 @@ do + bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; + bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; ++ bfd_elf32_i386_minix_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; diff --git a/devel/binutils/patches/patch-bfd_doc_Makefile.in b/devel/binutils/patches/patch-bfd_doc_Makefile.in new file mode 100644 index 000000000..bc12d3149 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_doc_Makefile.in @@ -0,0 +1,15 @@ +$NetBSD$ + +--- bfd/doc/Makefile.in.orig Mon Mar 25 09:08:08 2013 ++++ bfd/doc/Makefile.in +@@ -417,7 +417,9 @@ mostlyclean-libtool: + clean-libtool: + -rm -rf .libs _libs + +-bfd.info: bfd.texinfo $(bfd_TEXINFOS) ++bfd.info: ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_bfd.info: bfd.texinfo $(bfd_TEXINFOS) + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ diff --git a/devel/binutils/patches/patch-bfd_doc_reloc.texi b/devel/binutils/patches/patch-bfd_doc_reloc.texi new file mode 100644 index 000000000..79a36a170 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_doc_reloc.texi @@ -0,0 +1,17 @@ +$NetBSD$ + +--- bfd/doc/reloc.texi.orig Tue Nov 13 14:19:29 2012 ++++ bfd/doc/reloc.texi +@@ -570,6 +570,12 @@ For ELF. + @deffnx {} BFD_RELOC_68K_TLS_LE8 + Relocations used by 68K ELF. + @end deffn ++@deffn {} BFD_RELOC_VAX_GLOB_DAT ++@deffnx {} BFD_RELOC_VAX_GLOB_REF ++@deffnx {} BFD_RELOC_VAX_JMP_SLOT ++@deffnx {} BFD_RELOC_VAX_RELATIVE ++Relocations used by VAX ELF. ++@end deffn + @deffn {} BFD_RELOC_32_BASEREL + @deffnx {} BFD_RELOC_16_BASEREL + @deffnx {} BFD_RELOC_LO16_BASEREL diff --git a/devel/binutils/patches/patch-bfd_elf.c b/devel/binutils/patches/patch-bfd_elf.c new file mode 100644 index 000000000..928248a13 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf.c @@ -0,0 +1,28 @@ +$NetBSD$ + +--- bfd/elf.c.orig Mon Mar 25 08:06:19 2013 ++++ bfd/elf.c +@@ -8756,6 +8756,23 @@ elfcore_grok_netbsd_note (bfd *abfd, Elf_Internal_Note + return TRUE; + } + ++ /* On SuperH, PT_GETREGS == mach+3 and PT_GETFPREGS == mach+5. ++ There's also old PT___GETREGS40 == mach + 1 for old reg ++ structure which lacks GBR. */ ++ ++ case bfd_arch_sh: ++ switch (note->type) ++ { ++ case NT_NETBSDCORE_FIRSTMACH+3: ++ return elfcore_make_note_pseudosection (abfd, ".reg", note); ++ ++ case NT_NETBSDCORE_FIRSTMACH+5: ++ return elfcore_make_note_pseudosection (abfd, ".reg2", note); ++ ++ default: ++ return TRUE; ++ } ++ + /* On all other arch's, PT_GETREGS == mach+1 and + PT_GETFPREGS == mach+3. */ + diff --git a/devel/binutils/patches/patch-bfd_elf32-arm.c b/devel/binutils/patches/patch-bfd_elf32-arm.c new file mode 100644 index 000000000..291e14531 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-arm.c @@ -0,0 +1,15 @@ +$NetBSD$ + +--- bfd/elf32-arm.c.orig Mon Mar 25 08:06:19 2013 ++++ bfd/elf32-arm.c +@@ -13475,6 +13475,10 @@ elf32_arm_readonly_dynrelocs (struct elf_link_hash_ent + { + struct bfd_link_info *info = (struct bfd_link_info *) inf; + ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ h->root.root.string); + info->flags |= DF_TEXTREL; + + /* Not an error, just cut short the traversal. */ diff --git a/devel/binutils/patches/patch-bfd_elf32-hppa.c b/devel/binutils/patches/patch-bfd_elf32-hppa.c new file mode 100644 index 000000000..14f7b4fea --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-hppa.c @@ -0,0 +1,15 @@ +$NetBSD$ + +--- bfd/elf32-hppa.c.orig Fri Jun 29 14:45:58 2012 ++++ bfd/elf32-hppa.c +@@ -2191,6 +2191,10 @@ readonly_dynrelocs (struct elf_link_hash_entry *eh, vo + { + struct bfd_link_info *info = inf; + ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ eh->root.root.string); + info->flags |= DF_TEXTREL; + + /* Not an error, just cut short the traversal. */ diff --git a/devel/binutils/patches/patch-bfd_elf32-i386.c b/devel/binutils/patches/patch-bfd_elf32-i386.c new file mode 100644 index 000000000..c5f75dc0a --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-i386.c @@ -0,0 +1,23 @@ +$NetBSD$ + +--- bfd/elf32-i386.c.orig Mon Mar 25 08:06:19 2013 ++++ bfd/elf32-i386.c +@@ -4976,6 +4976,18 @@ elf_i386_add_symbol_hook (bfd * abfd, + + #include "elf32-target.h" + ++/* MINIX3 support. */ ++ ++#undef TARGET_LITTLE_SYM ++#define TARGET_LITTLE_SYM bfd_elf32_i386_minix_vec ++#undef TARGET_LITTLE_NAME ++#define TARGET_LITTLE_NAME "elf32-i386-minix" ++ ++#undef elf32_bed ++#define elf32_bed elf32_i386_minix_bed ++ ++#include "elf32-target.h" ++ + /* FreeBSD support. */ + + #undef TARGET_LITTLE_SYM diff --git a/devel/binutils/patches/patch-bfd_elf32-m68k.c b/devel/binutils/patches/patch-bfd_elf32-m68k.c new file mode 100644 index 000000000..415aecb63 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-m68k.c @@ -0,0 +1,13 @@ +$NetBSD$ + +--- bfd/elf32-m68k.c.orig Fri Jul 13 14:22:47 2012 ++++ bfd/elf32-m68k.c +@@ -2532,7 +2532,7 @@ elf_m68k_copy_indirect_symbol (struct bfd_link_info *i + if (ind->got_entry_key != 0) + { + BFD_ASSERT (dir->got_entry_key == 0); +- /* Assert that GOTs aren't partioned yet. */ ++ /* Assert that GOTs aren't partitioned yet. */ + BFD_ASSERT (ind->glist == NULL); + + dir->got_entry_key = ind->got_entry_key; diff --git a/devel/binutils/patches/patch-bfd_elf32-ppc.c b/devel/binutils/patches/patch-bfd_elf32-ppc.c new file mode 100644 index 000000000..1685530f8 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-ppc.c @@ -0,0 +1,22 @@ +$NetBSD$ + +--- bfd/elf32-ppc.c.orig Mon Mar 25 08:06:19 2013 ++++ bfd/elf32-ppc.c +@@ -3898,7 +3898,7 @@ ppc_elf_check_relocs (bfd *abfd, + sec->has_tls_get_addr_call = 1; + } + +- switch (r_type) ++ switch ((int)r_type) + { + case R_PPC_TLSGD: + case R_PPC_TLSLD: +@@ -7766,7 +7766,7 @@ ppc_elf_relocate_section (bfd *output_bfd, + howto = NULL; + if (r_type < R_PPC_max) + howto = ppc_elf_howto_table[r_type]; +- switch (r_type) ++ switch ((int)r_type) + { + default: + info->callbacks->einfo diff --git a/devel/binutils/patches/patch-bfd_elf32-sh.c b/devel/binutils/patches/patch-bfd_elf32-sh.c new file mode 100644 index 000000000..57761a1cc --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-sh.c @@ -0,0 +1,15 @@ +$NetBSD$ + +--- bfd/elf32-sh.c.orig Mon Mar 25 08:06:20 2013 ++++ bfd/elf32-sh.c +@@ -3285,6 +3285,10 @@ readonly_dynrelocs (struct elf_link_hash_entry *h, voi + { + struct bfd_link_info *info = (struct bfd_link_info *) inf; + ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ h->root.root.string); + info->flags |= DF_TEXTREL; + + /* Not an error, just cut short the traversal. */ diff --git a/devel/binutils/patches/patch-bfd_elf32-vax.c b/devel/binutils/patches/patch-bfd_elf32-vax.c new file mode 100644 index 000000000..8d4762ba5 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf32-vax.c @@ -0,0 +1,117 @@ +$NetBSD$ + +--- bfd/elf32-vax.c.orig Tue Sep 4 13:32:53 2012 ++++ bfd/elf32-vax.c +@@ -490,6 +490,24 @@ elf32_vax_set_private_flags (bfd *abfd, flagword flags + return TRUE; + } + ++/* Copy vax-specific data from one module to another */ ++static bfd_boolean ++elf32_vax_copy_private_bfd_data (bfd *ibfd, bfd *obfd) ++{ ++ flagword in_flags; ++ ++ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour ++ || bfd_get_flavour (obfd) != bfd_target_elf_flavour) ++ return TRUE; ++ ++ in_flags = elf_elfheader (ibfd)->e_flags; ++ ++ elf_elfheader (obfd)->e_flags = in_flags; ++ elf_flags_init (obfd) = TRUE; ++ ++ return TRUE; ++} ++ + /* Merge backend specific data from an object file to the output + object file when linking. */ + static bfd_boolean +@@ -752,7 +770,13 @@ elf_vax_check_relocs (bfd *abfd, struct bfd_link_info + return FALSE; + + if (sec->flags & SEC_READONLY) +- info->flags |= DF_TEXTREL; ++ { ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ sec->name); ++ info->flags |= DF_TEXTREL; ++ } + } + + sreloc->size += sizeof (Elf32_External_Rela); +@@ -1186,7 +1210,12 @@ elf_vax_size_dynamic_sections (bfd *output_bfd, struct + continue; + + /* Allocate memory for the section contents. */ +- s->contents = (bfd_byte *) bfd_alloc (dynobj, s->size); ++ /* FIXME: This should be a call to bfd_alloc not bfd_zalloc. ++ Unused entries should be reclaimed before the section's contents ++ are written out, but at the moment this does not happen. Thus in ++ order to prevent writing out garbage, we initialise the section's ++ contents to zero. */ ++ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size); + if (s->contents == NULL) + return FALSE; + } +@@ -1285,6 +1314,7 @@ elf_vax_instantiate_got_entries (struct elf_link_hash_ + + if (!elf_hash_table (info)->dynamic_sections_created + || (info->shared && info->symbolic) ++ || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT + || h->forced_local) + { + h->got.refcount = 0; +@@ -1305,9 +1335,7 @@ elf_vax_instantiate_got_entries (struct elf_link_hash_ + + dyn = elf_hash_table (info)->dynamic_sections_created; + /* Allocate space in the .got and .rela.got sections. */ +- if (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT +- && (info->shared +- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))) ++ if (info->shared || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) + { + sgot->size += 4; + srelgot->size += sizeof (Elf32_External_Rela); +@@ -1631,9 +1659,9 @@ elf_vax_relocate_section (bfd *output_bfd, + { + relocate = TRUE; + outrel.r_info = ELF32_R_INFO (0, R_VAX_RELATIVE); +- BFD_ASSERT (bfd_get_signed_32 (input_bfd, +- &contents[rel->r_offset]) == 0); +- outrel.r_addend = relocation + rel->r_addend; ++ outrel.r_addend = bfd_get_signed_32(input_bfd, ++ &contents[rel->r_offset]) ++ + relocation + rel->r_addend; + } + else + { +@@ -1672,6 +1700,9 @@ elf_vax_relocate_section (bfd *output_bfd, + } + } + ++ if (input_section->flags & SEC_CODE) ++ info->flags |= DF_TEXTREL; ++ + if ((input_section->flags & SEC_CODE) != 0 + || (ELF32_R_TYPE (outrel.r_info) != R_VAX_32 + && ELF32_R_TYPE (outrel.r_info) != R_VAX_RELATIVE +@@ -2051,12 +2082,15 @@ elf_vax_plt_sym_val (bfd_vma i, const asection *plt, + #define TARGET_LITTLE_SYM bfd_elf32_vax_vec + #define TARGET_LITTLE_NAME "elf32-vax" + #define ELF_MACHINE_CODE EM_VAX +-#define ELF_MAXPAGESIZE 0x1000 ++#define ELF_MAXPAGESIZE 0x10000 + + #define elf_backend_create_dynamic_sections \ + _bfd_elf_create_dynamic_sections + #define bfd_elf32_bfd_link_hash_table_create \ + elf_vax_link_hash_table_create ++#define bfd_elf32_bfd_copy_private_bfd_data \ ++ elf32_vax_copy_private_bfd_data ++ + #define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link + + #define elf_backend_check_relocs elf_vax_check_relocs diff --git a/devel/binutils/patches/patch-bfd_elf64-alpha.c b/devel/binutils/patches/patch-bfd_elf64-alpha.c new file mode 100644 index 000000000..2fb31637a --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf64-alpha.c @@ -0,0 +1,49 @@ +$NetBSD$ + +--- bfd/elf64-alpha.c.orig Tue Jul 24 21:06:58 2012 ++++ bfd/elf64-alpha.c +@@ -100,6 +100,11 @@ bfd_boolean elf64_alpha_use_secureplt = FALSE; + #define PLT_ENTRY_SIZE \ + (elf64_alpha_use_secureplt ? NEW_PLT_ENTRY_SIZE : OLD_PLT_ENTRY_SIZE) + ++/* ld --traditional-format uses this older format instead. */ ++#define OLD_PLT_ENTRY_WORD1 0x279f0000 /* ldah $28, 0($31) */ ++#define OLD_PLT_ENTRY_WORD2 0x239c0000 /* lda $28, 0($28) */ ++#define OLD_PLT_ENTRY_WORD3 0xc3e00000 /* br $31, plt0 */ ++ + #define MAX_GOT_SIZE (64*1024) + + #define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so" +@@ -4820,6 +4825,32 @@ elf64_alpha_finish_dynamic_symbol (bfd *output_bfd, st + + plt_index = ((gotent->plt_offset - NEW_PLT_HEADER_SIZE) + / NEW_PLT_ENTRY_SIZE); ++ } ++ else if ((output_bfd->flags & BFD_TRADITIONAL_FORMAT) != 0) ++ { ++ long hi, lo; ++ ++ /* decompose the reloc offset for the plt for ldah+lda */ ++ hi = plt_index * sizeof(Elf64_External_Rela); ++ lo = ((hi & 0xffff) ^ 0x8000) - 0x8000; ++ hi = (hi - lo) >> 16; ++ ++ insn = INSN_ABO (INSN_LDAH, 28, 31, hi); ++ bfd_put_32 (output_bfd, insn, ++ splt->contents + gotent->plt_offset); ++ ++ insn = INSN_ABO (INSN_LDA, 28, 28, lo); ++ bfd_put_32 (output_bfd, insn, ++ splt->contents + gotent->plt_offset + 4); ++ ++ disp = -(gotent->plt_offset + 12); ++ insn = INSN_AD (INSN_BR, 31, disp); ++ ++ bfd_put_32 (output_bfd, insn, ++ splt->contents + gotent->plt_offset + 8); ++ ++ plt_index = ((gotent->plt_offset - OLD_PLT_HEADER_SIZE) ++ / OLD_PLT_ENTRY_SIZE); + } + else + { diff --git a/devel/binutils/patches/patch-bfd_elf64-mips.c b/devel/binutils/patches/patch-bfd_elf64-mips.c new file mode 100644 index 000000000..11ae1c7c7 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf64-mips.c @@ -0,0 +1,32 @@ +$NetBSD$ + +--- bfd/elf64-mips.c.orig Tue Sep 4 14:13:07 2012 ++++ bfd/elf64-mips.c +@@ -123,6 +123,8 @@ static bfd_reloc_status_type mips_elf64_final_gp + (bfd *, asymbol *, bfd_boolean, char **, bfd_vma *); + static bfd_boolean mips_elf64_object_p + (bfd *); ++static bfd_boolean mips_elf64_is_local_label_name ++ (bfd *, const char *); + static irix_compat_t elf64_mips_irix_compat + (bfd *); + static bfd_boolean elf64_mips_grok_prstatus +@@ -3917,7 +3919,18 @@ mips_elf64_object_p (bfd *abfd) + bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach); + return TRUE; + } ++ ++/* MIPS ELF local labels start with "$L". */ ++static bfd_boolean ++mips_elf64_is_local_label_name (bfd *abfd, const char *name) ++{ ++ if (name[0] == '$' && name[1] == 'L') ++ return TRUE; + ++ /* We accept the generic ELF local label syntax as well. */ ++ return _bfd_elf_is_local_label_name (abfd, name); ++} ++ + /* Depending on the target vector we generate some version of Irix + executables or "normal" MIPS ELF ABI executables. */ + static irix_compat_t diff --git a/devel/binutils/patches/patch-bfd_elf64-ppc.c b/devel/binutils/patches/patch-bfd_elf64-ppc.c new file mode 100644 index 000000000..ccdbee4da --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf64-ppc.c @@ -0,0 +1,15 @@ +$NetBSD$ + +--- bfd/elf64-ppc.c.orig Mon Mar 25 08:06:20 2013 ++++ bfd/elf64-ppc.c +@@ -9112,6 +9112,10 @@ readonly_dynrelocs (struct elf_link_hash_entry *h, voi + { + struct bfd_link_info *info = inf; + ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ h->root.root.string); + info->flags |= DF_TEXTREL; + + /* Not an error, just cut short the traversal. */ diff --git a/devel/binutils/patches/patch-bfd_elf64-x86-64.c b/devel/binutils/patches/patch-bfd_elf64-x86-64.c new file mode 100644 index 000000000..afb304502 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elf64-x86-64.c @@ -0,0 +1,15 @@ +$NetBSD$ + +--- bfd/elf64-x86-64.c.orig Mon Mar 25 08:06:20 2013 ++++ bfd/elf64-x86-64.c +@@ -2589,6 +2589,10 @@ elf_x86_64_readonly_dynrelocs (struct elf_link_hash_en + { + struct bfd_link_info *info = (struct bfd_link_info *) inf; + ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ h->root.root.string); + info->flags |= DF_TEXTREL; + + if (info->warn_shared_textrel && info->shared) diff --git a/devel/binutils/patches/patch-bfd_elflink.c b/devel/binutils/patches/patch-bfd_elflink.c new file mode 100644 index 000000000..ba460c466 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elflink.c @@ -0,0 +1,20 @@ +$NetBSD$ + +--- bfd/elflink.c.orig Mon Mar 25 08:06:20 2013 ++++ bfd/elflink.c +@@ -10183,7 +10183,14 @@ elf_reloc_link_order (bfd *output_bfd, + if (bed->s->arch_size == 32) + irel[0].r_info = ELF32_R_INFO (indx, howto->type); + else +- irel[0].r_info = ELF64_R_INFO (indx, howto->type); ++#ifdef BFD64 ++ { ++ bfd_uint64_t indx64 = indx; ++ irel[0].r_info = ELF64_R_INFO (indx64, howto->type); ++ } ++#else ++ BFD_FAIL(); ++#endif + + rel_hdr = reldata->hdr; + erel = rel_hdr->contents; diff --git a/devel/binutils/patches/patch-bfd_elfn32-mips.c b/devel/binutils/patches/patch-bfd_elfn32-mips.c new file mode 100644 index 000000000..26477c491 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elfn32-mips.c @@ -0,0 +1,31 @@ +$NetBSD$ + +--- bfd/elfn32-mips.c.orig Tue Sep 4 14:13:08 2012 ++++ bfd/elfn32-mips.c +@@ -81,6 +81,8 @@ static bfd_boolean elf32_mips_grok_prstatus + (bfd *, Elf_Internal_Note *); + static bfd_boolean elf32_mips_grok_psinfo + (bfd *, Elf_Internal_Note *); ++static bfd_boolean mips_elf_n32_is_local_label_name ++ (bfd *, const char *); + static irix_compat_t elf_n32_mips_irix_compat + (bfd *); + +@@ -3239,6 +3241,17 @@ elf32_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note * + } + + return TRUE; ++} ++ ++/* MIPS ELF local labels start with "$L". */ ++static bfd_boolean ++mips_elf_n32_is_local_label_name (bfd *abfd, const char *name) ++{ ++ if (name[0] == '$' && name[1] == 'L') ++ return TRUE; ++ ++ /* We accept the generic ELF local label syntax as well. */ ++ return _bfd_elf_is_local_label_name (abfd, name); + } + + /* Depending on the target vector we generate some version of Irix diff --git a/devel/binutils/patches/patch-bfd_elfxx-mips.c b/devel/binutils/patches/patch-bfd_elfxx-mips.c new file mode 100644 index 000000000..ab2edf157 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elfxx-mips.c @@ -0,0 +1,33 @@ +$NetBSD$ + +--- bfd/elfxx-mips.c.orig Mon Mar 25 08:06:20 2013 ++++ bfd/elfxx-mips.c +@@ -8191,10 +8191,24 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link + reloc types into the output file as R_MIPS_REL32 + relocs. Make room for this reloc in .rel(a).dyn. */ + mips_elf_allocate_dynamic_relocations (dynobj, info, 1); +- if (MIPS_ELF_READONLY_SECTION (sec)) +- /* We tell the dynamic linker that there are +- relocations against the text segment. */ +- info->flags |= DF_TEXTREL; ++ /* In the N32 and 64-bit ABIs there may be multiple ++ consecutive relocations for the same offset. If we have ++ a R_MIPS_GPREL32 followed by a R_MIPS_64 then that ++ relocation is complete and needs no futher adjustment. */ ++ if ((rel == relocs ++ || rel[-1].r_offset != rel->r_offset ++ || r_type != R_MIPS_64 ++ || ELF_R_TYPE(abfd, rel[-1].r_info) != R_MIPS_GPREL32) ++ && MIPS_ELF_READONLY_SECTION (sec)) ++ { ++ /* We tell the dynamic linker that there are ++ relocations against the text segment. */ ++ info->flags |= DF_TEXTREL; ++ info->callbacks->warning ++ (info, ++ _("relocation emitted against readonly section"), ++ NULL, abfd, sec, rel->r_offset); ++ } + } + else + { diff --git a/devel/binutils/patches/patch-bfd_elfxx-sparc.c b/devel/binutils/patches/patch-bfd_elfxx-sparc.c new file mode 100644 index 000000000..51993461a --- /dev/null +++ b/devel/binutils/patches/patch-bfd_elfxx-sparc.c @@ -0,0 +1,28 @@ +$NetBSD$ + +--- bfd/elfxx-sparc.c.orig Mon Mar 25 08:06:20 2013 ++++ bfd/elfxx-sparc.c +@@ -2508,6 +2508,10 @@ readonly_dynrelocs (struct elf_link_hash_entry *h, voi + { + struct bfd_link_info *info = (struct bfd_link_info *) inf; + ++ if (info->warn_shared_textrel) ++ (*_bfd_error_handler) ++ (_("warning: dynamic relocation in readonly section `%s'"), ++ h->root.root.string); + info->flags |= DF_TEXTREL; + + /* Not an error, just cut short the traversal. */ +@@ -3460,10 +3464,8 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, + memset (&outrel, 0, sizeof outrel); + /* h->dynindx may be -1 if the symbol was marked to + become local. */ +- else if (h != NULL && +- h->dynindx != -1 +- && (! is_plt +- || !info->shared ++ else if (h != NULL && h->dynindx != -1 && ! is_plt ++ && (!info->shared + || !SYMBOLIC_BIND (info, h) + || !h->def_regular)) + { diff --git a/devel/binutils/patches/patch-bfd_libbfd.h b/devel/binutils/patches/patch-bfd_libbfd.h new file mode 100644 index 000000000..4e54569b1 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_libbfd.h @@ -0,0 +1,12 @@ +$NetBSD$ + +--- bfd/libbfd.h.orig Tue Sep 4 12:53:42 2012 ++++ bfd/libbfd.h +@@ -2313,6 +2313,7 @@ static const char *const bfd_reloc_code_real_names[] = + "BFD_RELOC_XC16X_SEG", + "BFD_RELOC_XC16X_SOF", + "BFD_RELOC_VAX_GLOB_DAT", ++ "BFD_RELOC_VAX_GLOB_REF", + "BFD_RELOC_VAX_JMP_SLOT", + "BFD_RELOC_VAX_RELATIVE", + "BFD_RELOC_MT_PC16", diff --git a/devel/binutils/patches/patch-bfd_reloc.c b/devel/binutils/patches/patch-bfd_reloc.c new file mode 100644 index 000000000..cd5ccc0ad --- /dev/null +++ b/devel/binutils/patches/patch-bfd_reloc.c @@ -0,0 +1,22 @@ +$NetBSD$ + +--- bfd/reloc.c.orig Tue Sep 4 12:53:42 2012 ++++ bfd/reloc.c +@@ -1776,6 +1776,17 @@ ENUMDOC + Relocations used by 68K ELF. + + ENUM ++ BFD_RELOC_VAX_GLOB_DAT ++ENUMX ++ BFD_RELOC_VAX_GLOB_REF ++ENUMX ++ BFD_RELOC_VAX_JMP_SLOT ++ENUMX ++ BFD_RELOC_VAX_RELATIVE ++ENUMDOC ++ Relocations used by VAX ELF. ++ ++ENUM + BFD_RELOC_32_BASEREL + ENUMX + BFD_RELOC_16_BASEREL diff --git a/devel/binutils/patches/patch-bfd_targets.c b/devel/binutils/patches/patch-bfd_targets.c new file mode 100644 index 000000000..4c3d2cb78 --- /dev/null +++ b/devel/binutils/patches/patch-bfd_targets.c @@ -0,0 +1,12 @@ +$NetBSD$ + +--- bfd/targets.c.orig Tue Sep 4 12:53:42 2012 ++++ bfd/targets.c +@@ -624,6 +624,7 @@ extern const bfd_target bfd_elf32_hppa_nbsd_vec; + extern const bfd_target bfd_elf32_hppa_vec; + extern const bfd_target bfd_elf32_i370_vec; + extern const bfd_target bfd_elf32_i386_freebsd_vec; ++extern const bfd_target bfd_elf32_i386_minix_vec; + extern const bfd_target bfd_elf32_i386_nacl_vec; + extern const bfd_target bfd_elf32_i386_sol2_vec; + extern const bfd_target bfd_elf32_i386_vxworks_vec; diff --git a/devel/binutils/patches/patch-binutils_Makefile.in b/devel/binutils/patches/patch-binutils_Makefile.in new file mode 100644 index 000000000..2b08128fa --- /dev/null +++ b/devel/binutils/patches/patch-binutils_Makefile.in @@ -0,0 +1,53 @@ +$NetBSD$ + +--- binutils/Makefile.in.orig Thu May 17 22:23:39 2012 ++++ binutils/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.11.1 from Makefile.am. ++# Makefile.in generated by automake 1.11 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -49,10 +49,12 @@ subdir = . + DIST_COMMON = NEWS README ChangeLog $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(srcdir)/config.in \ +- $(srcdir)/../mkinstalldirs $(top_srcdir)/po/Make-in arparse.h \ +- arparse.c arlex.c defparse.h defparse.c deflex.c nlmheader.h \ +- nlmheader.c arparse.h arparse.c arlex.c mcparse.h mcparse.c \ +- rcparse.h rcparse.c $(srcdir)/../depcomp $(srcdir)/../ylwrap ++ $(srcdir)/../mkinstalldirs $(srcdir)/../mkinstalldirs \ ++ $(top_srcdir)/po/Make-in arparse.h arparse.c arlex.c \ ++ defparse.h defparse.c deflex.c nlmheader.h nlmheader.c \ ++ arparse.h arparse.c arlex.c mcparse.h mcparse.c rcparse.h \ ++ rcparse.c $(srcdir)/../depcomp $(srcdir)/../depcomp \ ++ $(srcdir)/../ylwrap $(srcdir)/../ylwrap + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \ + $(top_srcdir)/../config/zlib.m4 \ +@@ -385,6 +387,7 @@ libdir = @libdir@ + libexecdir = @libexecdir@ + localedir = @localedir@ + localstatedir = @localstatedir@ ++lt_ECHO = @lt_ECHO@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ +@@ -931,7 +934,7 @@ distclean-libtool: + # (which will cause the Makefiles to be regenerated when you run `make'); + # (2) otherwise, pass the desired values on the `make' command line. + $(RECURSIVE_TARGETS): +- @fail= failcom='exit 1'; \ ++ @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ +@@ -956,7 +959,7 @@ $(RECURSIVE_TARGETS): + fi; test -z "$$fail" + + $(RECURSIVE_CLEAN_TARGETS): +- @fail= failcom='exit 1'; \ ++ @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ diff --git a/devel/binutils/patches/patch-binutils_aclocal.m4 b/devel/binutils/patches/patch-binutils_aclocal.m4 new file mode 100644 index 000000000..b6c00b96e --- /dev/null +++ b/devel/binutils/patches/patch-binutils_aclocal.m4 @@ -0,0 +1,60 @@ +$NetBSD$ + +--- binutils/aclocal.m4.orig Thu May 17 22:23:39 2012 ++++ binutils/aclocal.m4 +@@ -1,4 +1,4 @@ +-# generated automatically by aclocal 1.11.1 -*- Autoconf -*- ++# generated automatically by aclocal 1.11 -*- Autoconf -*- + + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +@@ -19,6 +19,31 @@ You have another version of autoconf. It may work, bu + If you have problems, you may need to regenerate the build system entirely. + To do so, use the procedure documented by the package, typically `autoreconf'.])]) + ++# isc-posix.m4 serial 2 (gettext-0.11.2) ++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. ++ ++# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. ++ ++# This test replaces the one in autoconf. ++# Currently this macro should have the same name as the autoconf macro ++# because gettext's gettext.m4 (distributed in the automake package) ++# still uses it. Otherwise, the use in gettext.m4 makes autoheader ++# give these diagnostics: ++# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX ++# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX ++ ++undefine([AC_ISC_POSIX]) ++ ++AC_DEFUN([AC_ISC_POSIX], ++ [ ++ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. ++ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ++ ] ++) ++ + # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation +@@ -34,7 +59,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], + [am__api_version='1.11' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.11.1], [], ++m4_if([$1], [1.11], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +@@ -50,7 +75,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) + # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +-[AM_AUTOMAKE_VERSION([1.11.1])dnl ++[AM_AUTOMAKE_VERSION([1.11])dnl + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl + _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) diff --git a/devel/binutils/patches/patch-binutils_bucomm.c b/devel/binutils/patches/patch-binutils_bucomm.c new file mode 100644 index 000000000..f427c598a --- /dev/null +++ b/devel/binutils/patches/patch-binutils_bucomm.c @@ -0,0 +1,20 @@ +$NetBSD$ + +--- binutils/bucomm.c.orig Fri Jun 29 12:59:49 2012 ++++ binutils/bucomm.c +@@ -580,7 +580,14 @@ get_file_size (const char * file_name) + file_name, strerror (errno)); + } + else if (! S_ISREG (statbuf.st_mode)) +- non_fatal (_("Warning: '%s' is not an ordinary file"), file_name); ++ { ++ if (!S_ISCHR(statbuf.st_mode)) ++ { ++ non_fatal (_("Warning: '%s' is not an ordinary file"), file_name); ++ return 0; ++ } ++ return statbuf.st_size ? statbuf.st_size : 1; ++ } + else if (statbuf.st_size < 0) + non_fatal (_("Warning: '%s' has negative size, probably it is too large"), + file_name); diff --git a/devel/binutils/patches/patch-binutils_doc_Makefile.am b/devel/binutils/patches/patch-binutils_doc_Makefile.am new file mode 100644 index 000000000..3c980cd9a --- /dev/null +++ b/devel/binutils/patches/patch-binutils_doc_Makefile.am @@ -0,0 +1,139 @@ +$NetBSD$ + +--- binutils/doc/Makefile.am.orig Wed Jan 6 16:52:14 2010 ++++ binutils/doc/Makefile.am +@@ -42,6 +42,8 @@ TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/. + + # Man page generation from texinfo + addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_addr2line.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod + -($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -49,6 +51,8 @@ addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f addr2line.pod + + ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_ar.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod + -($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -56,6 +60,8 @@ ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f ar.pod + + dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_dlltool.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod + -($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -63,6 +69,8 @@ dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f dlltool.pod + + nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_nlmconv.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnlmconv < $(binutils_TEXI) > nlmconv.pod + -($(POD2MAN) nlmconv.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -70,6 +78,8 @@ nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f nlmconv.pod + + nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_nm.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod + -($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -77,6 +87,8 @@ nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f nm.pod + + objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_objcopy.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod + -($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -84,6 +96,8 @@ objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f objcopy.pod + + objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_objdump.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod + -($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -91,6 +105,8 @@ objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f objdump.pod + + ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_ranlib.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod + -($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -98,6 +114,8 @@ ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f ranlib.pod + + readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_readelf.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod + -($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -105,6 +123,8 @@ readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f readelf.pod + + size.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_size.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod + -($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -112,6 +132,8 @@ size.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f size.pod + + strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_strings.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod + -($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -119,6 +141,8 @@ strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f strings.pod + + strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_strip.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod + -($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -133,6 +157,8 @@ elfedit.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f elfedit.pod + + windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_windres.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod + -($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -140,6 +166,8 @@ windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f windres.pod + + windmc.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_windmc.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dwindmc < $(binutils_TEXI) > windmc.pod + -($(POD2MAN) windmc.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -147,6 +175,8 @@ windmc.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f windmc.pod + + cxxfilt.man: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_cxxfilt.man: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod + -($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ diff --git a/devel/binutils/patches/patch-binutils_doc_Makefile.in b/devel/binutils/patches/patch-binutils_doc_Makefile.in new file mode 100644 index 000000000..af004f1fa --- /dev/null +++ b/devel/binutils/patches/patch-binutils_doc_Makefile.in @@ -0,0 +1,171 @@ +$NetBSD$ + +--- binutils/doc/Makefile.in.orig Tue Sep 4 12:53:44 2012 ++++ binutils/doc/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.11.1 from Makefile.am. ++# Makefile.in generated by automake 1.11 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -242,6 +242,7 @@ libdir = @libdir@ + libexecdir = @libexecdir@ + localedir = @localedir@ + localstatedir = @localstatedir@ ++lt_ECHO = @lt_ECHO@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ +@@ -349,6 +350,8 @@ clean-libtool: + -rm -rf .libs _libs + + binutils.info: binutils.texi ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_binutils.info: binutils.texi + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ +@@ -735,6 +738,8 @@ uninstall-man: uninstall-man1 + + # Man page generation from texinfo + addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_addr2line.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod + -($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -742,6 +747,8 @@ addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f addr2line.pod + + ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_ar.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod + -($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -749,6 +756,8 @@ ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f ar.pod + + dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_dlltool.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod + -($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -756,6 +765,8 @@ dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f dlltool.pod + + nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_nlmconv.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnlmconv < $(binutils_TEXI) > nlmconv.pod + -($(POD2MAN) nlmconv.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -763,6 +774,8 @@ nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f nlmconv.pod + + nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_nm.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod + -($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -770,6 +783,8 @@ nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f nm.pod + + objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_objcopy.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod + -($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -777,6 +792,8 @@ objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f objcopy.pod + + objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_objdump.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod + -($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -784,6 +801,8 @@ objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f objdump.pod + + ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_ranlib.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod + -($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -791,6 +810,8 @@ ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f ranlib.pod + + readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_readelf.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod + -($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -798,6 +819,8 @@ readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f readelf.pod + + size.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_size.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod + -($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -805,6 +828,8 @@ size.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f size.pod + + strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_strings.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod + -($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -812,6 +837,8 @@ strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f strings.pod + + strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_strip.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod + -($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -819,6 +846,8 @@ strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f strip.pod + + elfedit.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_elfedit.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Delfedit < $(binutils_TEXI) > elfedit.pod + -($(POD2MAN) elfedit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -826,6 +855,8 @@ elfedit.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f elfedit.pod + + windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_windres.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod + -($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -833,6 +864,8 @@ windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f windres.pod + + windmc.1: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_windmc.1: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dwindmc < $(binutils_TEXI) > windmc.pod + -($(POD2MAN) windmc.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ +@@ -840,6 +873,8 @@ windmc.1: $(binutils_TEXI) $(binutils_TEXINFOS) + rm -f windmc.pod + + cxxfilt.man: $(binutils_TEXI) $(binutils_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_cxxfilt.man: + touch $@ + -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod + -($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ diff --git a/devel/binutils/patches/patch-binutils_doc_strings.1 b/devel/binutils/patches/patch-binutils_doc_strings.1 new file mode 100644 index 000000000..bd285d50b --- /dev/null +++ b/devel/binutils/patches/patch-binutils_doc_strings.1 @@ -0,0 +1,13 @@ +$NetBSD$ + +--- binutils/doc/strings.1.orig Mon Mar 25 09:10:26 2013 ++++ binutils/doc/strings.1 +@@ -208,7 +208,7 @@ Possible values for \fIencoding\fR are: \fBs\fR = sing + characters (\s-1ASCII\s0, \s-1ISO\s0 8859, etc., default), \fBS\fR = + single\-8\-bit\-byte characters, \fBb\fR = 16\-bit bigendian, \fBl\fR = + 16\-bit littleendian, \fBB\fR = 32\-bit bigendian, \fBL\fR = 32\-bit +-littleendian. Useful for finding wide character strings. (\fBl\fR ++littleendian. Useful for finding wide-character strings. (\fBl\fR + and \fBb\fR apply to, for example, Unicode \s-1UTF\-16/UCS\-2\s0 encodings). + .IP "\fB\-T\fR \fIbfdname\fR" 4 + .IX Item "-T bfdname" diff --git a/devel/binutils/patches/patch-binutils_dwarf.c b/devel/binutils/patches/patch-binutils_dwarf.c new file mode 100644 index 000000000..cb0684d9f --- /dev/null +++ b/devel/binutils/patches/patch-binutils_dwarf.c @@ -0,0 +1,12 @@ +$NetBSD$ + +--- binutils/dwarf.c.orig Mon Jul 2 14:35:33 2012 ++++ binutils/dwarf.c +@@ -29,6 +29,7 @@ + #include "dwarf2.h" + #include "dwarf.h" + #include "gdb/gdb-index.h" ++#include "getopt.h" + + static const char *regname (unsigned int regno, int row); + diff --git a/devel/binutils/patches/patch-binutils_objcopy.c b/devel/binutils/patches/patch-binutils_objcopy.c new file mode 100644 index 000000000..66248ed8c --- /dev/null +++ b/devel/binutils/patches/patch-binutils_objcopy.c @@ -0,0 +1,13 @@ +$NetBSD$ + +--- binutils/objcopy.c.orig Mon Mar 25 08:06:21 2013 ++++ binutils/objcopy.c +@@ -30,6 +30,8 @@ + #include "filenames.h" + #include "fnmatch.h" + #include "elf-bfd.h" ++#include ++#include + #include "libbfd.h" + #include "coff/internal.h" + #include "libcoff.h" diff --git a/devel/binutils/patches/patch-binutils_readelf.c b/devel/binutils/patches/patch-binutils_readelf.c new file mode 100644 index 000000000..2484c231d --- /dev/null +++ b/devel/binutils/patches/patch-binutils_readelf.c @@ -0,0 +1,99 @@ +$NetBSD$ + +--- binutils/readelf.c.orig Mon Mar 25 08:06:21 2013 ++++ binutils/readelf.c +@@ -3801,7 +3801,7 @@ process_program_headers (FILE * file) + if (elf_header.e_phnum > 1) + printf (_("\nProgram Headers:\n")); + else +- printf (_("\nProgram Headers:\n")); ++ printf (_("\nProgram Header:\n")); + + if (is_32bit_elf) + printf +@@ -6974,6 +6974,11 @@ decode_arm_unwind (struct arm_unw_aux_info * aux, + + remaining = 4; + } ++ else ++ { ++ addr.section = SHN_UNDEF; ++ addr.offset = 0; ++ } + + if ((word & 0x80000000) == 0) + { +@@ -12665,6 +12670,38 @@ get_gnu_elf_note_type (unsigned e_type) + return buff; + } + ++static int ++process_netbsd_elf_note (Elf_Internal_Note * pnote) ++{ ++ unsigned int version; ++ ++ switch (pnote->type) ++ { ++ case NT_NETBSD_IDENT: ++ version = byte_get((unsigned char *)pnote->descdata, sizeof(version)); ++ if ((version / 10000) % 100) ++ printf (" NetBSD\t0x%08lx\tIDENT %u (%u.%u%s%c)\n", pnote->descsz, ++ version, version / 100000000, (version / 1000000) % 100, ++ (version / 10000) % 100 > 26 ? "Z" : "", ++ 'A' + (version / 10000) % 26); ++ else ++ printf (" NetBSD\t0x%08lx\tIDENT %u (%u.%u.%u)\n", pnote->descsz, ++ version, version / 100000000, (version / 1000000) % 100, ++ (version / 100) % 100); ++ return 1; ++ case NT_NETBSD_MARCH: ++ printf (" NetBSD\t0x%08lx\tMARCH <%s>\n", pnote->descsz, ++ pnote->descdata); ++ return 1; ++ default: ++ break; ++ } ++ ++ printf (" NetBSD\t0x%08lx\tUnknown note type: (0x%08lx)\n", pnote->descsz, ++ pnote->type); ++ return 1; ++} ++ + static int + print_gnu_note (Elf_Internal_Note *pnote) + { +@@ -12765,6 +12802,23 @@ get_netbsd_elfcore_note_type (unsigned e_type) + } + break; + ++ /* On SuperH, PT_GETREGS == mach+3 and PT_GETFPREGS == mach+5. ++ There's also old PT___GETREGS40 == mach + 1 for old reg ++ structure which lacks GBR. */ ++ case EM_SH: ++ switch (e_type) ++ { ++ case NT_NETBSDCORE_FIRSTMACH + 1: ++ return _("PT___GETREGS40 (old reg structure)"); ++ case NT_NETBSDCORE_FIRSTMACH + 3: ++ return _("PT_GETREGS (reg structure)"); ++ case NT_NETBSDCORE_FIRSTMACH + 5: ++ return _("PT_GETFPREGS (fpreg structure)"); ++ default: ++ break; ++ } ++ break; ++ + /* On all other arch's, PT_GETREGS == mach+1 and + PT_GETFPREGS == mach+3. */ + default: +@@ -12970,6 +13024,10 @@ process_note (Elf_Internal_Note * pnote) + else if (const_strneq (pnote->namedata, "GNU")) + /* GNU-specific object file notes. */ + nt = get_gnu_elf_note_type (pnote->type); ++ ++ else if (const_strneq (pnote->namedata, "NetBSD")) ++ /* NetBSD-specific core file notes. */ ++ return process_netbsd_elf_note (pnote); + + else if (const_strneq (pnote->namedata, "NetBSD-CORE")) + /* NetBSD-specific core file notes. */ diff --git a/devel/binutils/patches/patch-binutils_strings.c b/devel/binutils/patches/patch-binutils_strings.c new file mode 100644 index 000000000..1331f9705 --- /dev/null +++ b/devel/binutils/patches/patch-binutils_strings.c @@ -0,0 +1,13 @@ +$NetBSD$ + +--- binutils/strings.c.orig Thu Feb 9 04:51:44 2012 ++++ binutils/strings.c +@@ -598,7 +598,7 @@ print_strings (const char *filename, FILE *stream, fil + else + #elif !BFD_HOST_64BIT_LONG + if (start != (unsigned long) start) +- printf ("++%7ld ", (unsigned long) start); ++ printf ("++%7llu ", (unsigned long) start); + else + #endif + printf ("%7ld ", (long) start); diff --git a/devel/binutils/patches/patch-config.guess b/devel/binutils/patches/patch-config.guess new file mode 100644 index 000000000..f2ad1233d --- /dev/null +++ b/devel/binutils/patches/patch-config.guess @@ -0,0 +1,15 @@ +$NetBSD$ + +--- config.guess.orig Mon Jun 6 10:36:06 2011 ++++ config.guess +@@ -858,8 +858,8 @@ EOF + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; +- i*86:Minix:*:*) +- echo ${UNAME_MACHINE}-pc-minix ++ *:Minix:*:*) ++ echo ${UNAME_MACHINE}-elf32-minix + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in diff --git a/devel/binutils/patches/patch-configure b/devel/binutils/patches/patch-configure new file mode 100644 index 000000000..e397ba409 --- /dev/null +++ b/devel/binutils/patches/patch-configure @@ -0,0 +1,13 @@ +$NetBSD$ + +--- configure.orig Thu Jun 28 11:50:52 2012 ++++ configure +@@ -2869,7 +2869,7 @@ case "${ENABLE_GOLD}" in + *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ + | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ + | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ +- | *-*-solaris2* | *-*-nto* | *-*-nacl*) ++ | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-minix*) + case "${target}" in + *-*-linux*aout* | *-*-linux*oldld*) + ;; diff --git a/devel/binutils/patches/patch-configure.ac b/devel/binutils/patches/patch-configure.ac deleted file mode 100644 index a2725dc07..000000000 --- a/devel/binutils/patches/patch-configure.ac +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-configure.ac,v 1.1 2012/07/23 12:24:34 jperkin Exp $ - -Remove etc - ---- configure.ac.orig 2011-11-21 20:58:27.000000000 +0900 -+++ configure.ac 2012-02-13 10:34:17.000000000 +0900 -@@ -140,7 +140,7 @@ - # binutils, gas and ld appear in that order because it makes sense to run - # "make check" in that particular order. - # If --enable-gold is used, "gold" may replace "ld". --host_tools="flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools" -+host_tools="flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof expect dejagnu m4 utils guile fastjar gnattools" - - # libgcj represents the runtime libraries only used by gcj. - libgcj="target-libffi \ diff --git a/devel/binutils/patches/patch-gas_atof-generic.c b/devel/binutils/patches/patch-gas_atof-generic.c new file mode 100644 index 000000000..ed76ea606 --- /dev/null +++ b/devel/binutils/patches/patch-gas_atof-generic.c @@ -0,0 +1,37 @@ +$NetBSD$ + +--- gas/atof-generic.c.orig Wed Sep 2 07:24:19 2009 ++++ gas/atof-generic.c +@@ -121,6 +121,32 @@ atof_generic (/* return pointer to just AFTER number w + + switch (first_digit[0]) + { ++ case 's': ++ case 'S': ++ if (!strncasecmp ("snan", first_digit, 4)) ++ { ++ address_of_generic_floating_point_number->sign = 0; ++ address_of_generic_floating_point_number->exponent = 0; ++ address_of_generic_floating_point_number->leader = ++ address_of_generic_floating_point_number->low; ++ *address_of_string_pointer = first_digit + 4; ++ return 0; ++ } ++ break; ++ ++ case 'q': ++ case 'Q': ++ if (!strncasecmp ("qnan", first_digit, 4)) ++ { ++ address_of_generic_floating_point_number->sign = 0; ++ address_of_generic_floating_point_number->exponent = 0; ++ address_of_generic_floating_point_number->leader = ++ address_of_generic_floating_point_number->low; ++ *address_of_string_pointer = first_digit + 4; ++ return 0; ++ } ++ break; ++ + case 'n': + case 'N': + if (!strncasecmp ("nan", first_digit, 3)) diff --git a/devel/binutils/patches/patch-gas_config_atof-vax.c b/devel/binutils/patches/patch-gas_config_atof-vax.c new file mode 100644 index 000000000..6bc2f582a --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_atof-vax.c @@ -0,0 +1,34 @@ +$NetBSD$ + +--- gas/config/atof-vax.c.orig Wed Oct 17 16:45:54 2007 ++++ gas/config/atof-vax.c +@@ -268,10 +268,27 @@ flonum_gen2vax (int format_letter, /* One of 'd' 'f' ' + int exponent_skippage; + LITTLENUM_TYPE word1; + +- /* JF: Deal with new Nan, +Inf and -Inf codes. */ + if (f->sign != '-' && f->sign != '+') + { +- make_invalid_floating_point_number (words); ++ if (f->sign == 0) ++ { ++ /* All NaNs are 0. */ ++ memset (words, 0x00, sizeof (LITTLENUM_TYPE) * precision); ++ } ++ else if (f->sign == 'P') ++ { ++ /* Positive Infinity. */ ++ memset (words, 0xff, sizeof (LITTLENUM_TYPE) * precision); ++ words[0] &= 0x7fff; ++ } ++ else if (f->sign == 'N') ++ { ++ /* Negative Infinity. */ ++ memset (words, 0x00, sizeof (LITTLENUM_TYPE) * precision); ++ words[0] = 0x0080; ++ } ++ else ++ make_invalid_floating_point_number (words); + return return_value; + } + diff --git a/devel/binutils/patches/patch-gas_config_tc-arm.c b/devel/binutils/patches/patch-gas_config_tc-arm.c new file mode 100644 index 000000000..fa639df9d --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_tc-arm.c @@ -0,0 +1,27 @@ +$NetBSD$ + +--- gas/config/tc-arm.c.orig Mon Mar 25 08:06:21 2013 ++++ gas/config/tc-arm.c +@@ -17290,12 +17290,16 @@ check_it_blocks_finished (void) + asection *sect; + + for (sect = stdoutput->sections; sect != NULL; sect = sect->next) +- if (seg_info (sect)->tc_segment_info_data.current_it.state +- == MANUAL_IT_BLOCK) +- { +- as_warn (_("section '%s' finished with an open IT block."), +- sect->name); +- } ++ { ++ segment_info_type *seginfo = seg_info (sect); ++ ++ if (seginfo && seginfo->tc_segment_info_data.current_it.state ++ == MANUAL_IT_BLOCK) ++ { ++ as_warn (_("section '%s' finished with an open IT block."), ++ sect->name); ++ } ++ } + #else + if (now_it.state == MANUAL_IT_BLOCK) + as_warn (_("file finished with an open IT block.")); diff --git a/devel/binutils/patches/patch-gas_config_tc-i386.c b/devel/binutils/patches/patch-gas_config_tc-i386.c new file mode 100644 index 000000000..fd12f6dc4 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_tc-i386.c @@ -0,0 +1,10 @@ +--- gas/config/tc-i386.c.orig Sun Apr 26 20:11:37 2015 ++++ gas/config/tc-i386.c Sun Apr 26 20:12:12 2015 +@@ -317,6 +317,7 @@ + && !defined (TE_NETWARE) \ + && !defined (TE_FreeBSD) \ + && !defined (TE_DragonFly) \ ++ && !defined (TE_MINIX) \ + && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the + pre-processor is disabled, these aren't very useful. The option diff --git a/devel/binutils/patches/patch-gas_config_tc-i386.h b/devel/binutils/patches/patch-gas_config_tc-i386.h new file mode 100644 index 000000000..d0e829389 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_tc-i386.h @@ -0,0 +1,15 @@ +$NetBSD$ + +--- gas/config/tc-i386.h.orig Tue Sep 18 12:10:46 2012 ++++ gas/config/tc-i386.h +@@ -72,6 +72,10 @@ extern unsigned long i386_mach (void); + #define ELF_TARGET_FORMAT64 "elf64-x86-64-sol2" + #endif + ++#ifdef TE_MINIX ++#define ELF_TARGET_FORMAT "elf32-i386-minix" ++#endif ++ + #ifndef ELF_TARGET_FORMAT + #define ELF_TARGET_FORMAT "elf32-i386" + #endif diff --git a/devel/binutils/patches/patch-gas_config_tc-m68k.c b/devel/binutils/patches/patch-gas_config_tc-m68k.c new file mode 100644 index 000000000..0a37440a4 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_tc-m68k.c @@ -0,0 +1,19 @@ +$NetBSD$ + +--- gas/config/tc-m68k.c.orig Wed May 16 10:26:47 2012 ++++ gas/config/tc-m68k.c +@@ -7426,12 +7426,12 @@ m68k_lookup_cpu (const char *arg, const struct m68k_cp + } + } + +- /* Remove 'm' or 'mc' prefix from 68k variants. */ ++ /* Remove 'm' or 'mc' prefix from 68k or coldfire variants. */ + if (allow_m) + { + if (arg[0] == 'm') + { +- if (arg[1] == '6') ++ if (arg[1] == '6' || arg[1] == '5') + arg += 1; + else if (arg[1] == 'c' && arg[2] == '6') + arg += 2; diff --git a/devel/binutils/patches/patch-gas_config_tc-mips.c b/devel/binutils/patches/patch-gas_config_tc-mips.c new file mode 100644 index 000000000..043ef7b5e --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_tc-mips.c @@ -0,0 +1,244 @@ +$NetBSD$ + +--- gas/config/tc-mips.c.orig Tue Sep 4 14:21:03 2012 ++++ gas/config/tc-mips.c +@@ -909,6 +909,9 @@ enum fix_vr4120_class + NUM_FIX_VR4120_CLASSES + }; + ++/* ...likewise -mtrap-zero-jump. */ ++static bfd_boolean mips_trap_zero_jump; ++ + /* ...likewise -mfix-loongson2f-jump. */ + static bfd_boolean mips_fix_loongson2f_jump; + +@@ -941,6 +944,8 @@ static bfd_boolean mips_fix_cn63xxp1; + efficient expansion. */ + + static int mips_relax_branch; ++ ++static int mips_fix_loongson2f_btb; + + /* The expansion of many macros depends on the type of symbol that + they refer to. For example, when generating position-dependent code, +@@ -1316,6 +1321,7 @@ static void macro_build (expressionS *, const char *, + static void mips16_macro_build + (expressionS *, const char *, const char *, va_list *); + static void load_register (int, expressionS *, int); ++static void macro_build (expressionS *, const char *, const char *, ...); + static void macro_start (void); + static void macro_end (void); + static void macro (struct mips_cl_insn * ip); +@@ -3626,6 +3632,35 @@ nops_for_insn_or_target (int ignore, const struct mips + return nops; + } + ++static void ++trap_zero_jump (struct mips_cl_insn * ip) ++{ ++ if (strcmp (ip->insn_mo->name, "j") == 0 ++ || strcmp (ip->insn_mo->name, "jr") == 0 ++ || strcmp (ip->insn_mo->name, "jalr") == 0) ++ { ++ int sreg; ++ ++ if (mips_opts.warn_about_macros) ++ return; ++ ++ sreg = EXTRACT_OPERAND (0, RS, *ip); ++ if (mips_opts.isa == ISA_MIPS32 ++ || mips_opts.isa == ISA_MIPS32R2 ++ || mips_opts.isa == ISA_MIPS64 ++ || mips_opts.isa == ISA_MIPS64R2) ++ { ++ expressionS ep; ++ ep.X_op = O_constant; ++ ep.X_add_number = 4096; ++ macro_build (&ep, "tltiu", "s,j", sreg, BFD_RELOC_LO16); ++ } ++ else if (mips_opts.isa != ISA_UNKNOWN ++ && mips_opts.isa != ISA_MIPS1) ++ macro_build (NULL, "teq", "s,t", sreg, 0); ++ } ++} ++ + /* Fix NOP issue: Replace nops by "or at,at,zero". */ + + static void +@@ -3663,6 +3698,16 @@ fix_loongson2f_jump (struct mips_cl_insn * ip) + ep.X_add_number = 0xffff; + macro_build (&ep, "ori", "t,r,i", ATREG, ATREG, BFD_RELOC_LO16); + macro_build (NULL, "and", "d,v,t", sreg, sreg, ATREG); ++ /* Hide these three instructions to avoid getting a ``macro expanded into ++ multiple instructions'' warning. */ ++ if (mips_relax.sequence != 2) { ++ mips_macro_warning.sizes[0] -= 3 * 4; ++ mips_macro_warning.insns[0] -= 3; ++ } ++ if (mips_relax.sequence != 1) { ++ mips_macro_warning.sizes[1] -= 3 * 4; ++ mips_macro_warning.insns[1] -= 3; ++ } + } + } + +@@ -3718,6 +3763,11 @@ can_swap_branch_p (struct mips_cl_insn *ip) + if (mips_opts.mips16 && history[0].fixp[0]) + return FALSE; + ++ if (mips_fix_loongson2f) ++ fix_loongson2f (ip); ++ if (mips_trap_zero_jump) ++ trap_zero_jump (ip); ++ + /* If the branch is itself the target of a branch, we can not swap. + We cheat on this; all we check for is whether there is a label on + this instruction. If there are any branches to anything other than +@@ -4764,6 +4814,45 @@ macro_read_relocs (va_list *args, bfd_reloc_code_real_ + r[i] = (bfd_reloc_code_real_type) va_arg (*args, int); + } + ++/* Fix jump through register issue on loongson2f processor for kernel code: ++ force a BTB clear before the jump to prevent it from being incorrectly ++ prefetched by the branch prediction engine. */ ++ ++static void ++macro_build_jrpatch (expressionS *ep, unsigned int sreg) ++{ ++ if (!mips_fix_loongson2f_btb) ++ return; ++ ++ if (sreg == ZERO || sreg == KT0 || sreg == KT1 || sreg == AT) ++ return; ++ ++ if (!mips_opts.at) ++ { ++ as_warn (_("unable to apply loongson2f BTB workaround when .set noat")); ++ return; ++ } ++ ++ /* li $at, COP_0_BTB_CLEAR | COP_0_RAS_DISABLE */ ++ ep->X_op = O_constant; ++ ep->X_add_number = 3; ++ macro_build (ep, "ori", "t,r,i", AT, ZERO, BFD_RELOC_LO16); ++ ++ /* dmtc0 $at, COP_0_DIAG */ ++ macro_build (NULL, "dmtc0", "t,G", AT, 22); ++ ++ /* Hide these two instructions to avoid getting a ``macro expanded into ++ multiple instructions'' warning. */ ++ if (mips_relax.sequence != 2) { ++ mips_macro_warning.sizes[0] -= 2 * 4; ++ mips_macro_warning.insns[0] -= 2; ++ } ++ if (mips_relax.sequence != 1) { ++ mips_macro_warning.sizes[1] -= 2 * 4; ++ mips_macro_warning.insns[0] -= 2; ++ } ++} ++ + /* Build an instruction created by a macro expansion. This is passed + a pointer to the count of instructions created so far, an + expression, the name of the instruction to build, an operand format +@@ -7637,6 +7726,26 @@ macro (struct mips_cl_insn *ip) + macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", treg, tempreg, breg); + break; + ++ case M_JR_S: ++ macro_build_jrpatch (&expr1, sreg); ++ macro_build (NULL, "jr", "s", sreg); ++ return; /* didn't modify $at */ ++ ++ case M_J_S: ++ macro_build_jrpatch (&expr1, sreg); ++ macro_build (NULL, "j", "s", sreg); ++ return; /* didn't modify $at */ ++ ++ case M_JALR_S: ++ macro_build_jrpatch (&expr1, sreg); ++ macro_build (NULL, "jalr", "s", sreg); ++ return; /* didn't modify $at */ ++ ++ case M_JALR_DS: ++ macro_build_jrpatch (&expr1, sreg); ++ macro_build (NULL, "jalr", "d,s", dreg, sreg); ++ return; /* didn't modify $at */ ++ + case M_MSGSND: + gas_assert (!mips_opts.micromips); + { +@@ -14350,6 +14459,8 @@ enum options + OPTION_SINGLE_FLOAT, + OPTION_DOUBLE_FLOAT, + OPTION_32, ++ OPTION_TRAP_ZERO_JUMP, ++ OPTION_NO_TRAP_ZERO_JUMP, + #ifdef OBJ_ELF + OPTION_CALL_SHARED, + OPTION_CALL_NONPIC, +@@ -14364,6 +14475,8 @@ enum options + OPTION_NO_PDR, + OPTION_MVXWORKS_PIC, + #endif /* OBJ_ELF */ ++ OPTION_FIX_LOONGSON2F_BTB, ++ OPTION_NO_FIX_LOONGSON2F_BTB, + OPTION_END_OF_ENUM + }; + +@@ -14421,6 +14534,8 @@ struct option md_longopts[] = + {"mno-fix-loongson2f-jump", no_argument, NULL, OPTION_NO_FIX_LOONGSON2F_JUMP}, + {"mfix-loongson2f-nop", no_argument, NULL, OPTION_FIX_LOONGSON2F_NOP}, + {"mno-fix-loongson2f-nop", no_argument, NULL, OPTION_NO_FIX_LOONGSON2F_NOP}, ++ {"mfix-loongson2f-btb", no_argument, NULL, OPTION_FIX_LOONGSON2F_BTB}, ++ {"mno-fix-loongson2f-btb", no_argument, NULL, OPTION_NO_FIX_LOONGSON2F_BTB}, + {"mfix-vr4120", no_argument, NULL, OPTION_FIX_VR4120}, + {"mno-fix-vr4120", no_argument, NULL, OPTION_NO_FIX_VR4120}, + {"mfix-vr4130", no_argument, NULL, OPTION_FIX_VR4130}, +@@ -14459,6 +14574,9 @@ struct option md_longopts[] = + make testing easier. */ + {"32", no_argument, NULL, OPTION_32}, + ++ {"mtrap-zero-jump", no_argument, NULL, OPTION_TRAP_ZERO_JUMP}, ++ {"mno-trap-zero-jump", no_argument, NULL, OPTION_NO_TRAP_ZERO_JUMP}, ++ + /* ELF-specific options. */ + #ifdef OBJ_ELF + {"KPIC", no_argument, NULL, OPTION_CALL_SHARED}, +@@ -14750,6 +14868,14 @@ md_parse_option (int c, char *arg) + mips_fix_vr4130 = 0; + break; + ++ case OPTION_FIX_LOONGSON2F_BTB: ++ mips_fix_loongson2f_btb = 1; ++ break; ++ ++ case OPTION_NO_FIX_LOONGSON2F_BTB: ++ mips_fix_loongson2f_btb = 0; ++ break; ++ + case OPTION_FIX_CN63XXP1: + mips_fix_cn63xxp1 = TRUE; + break; +@@ -14782,6 +14908,14 @@ md_parse_option (int c, char *arg) + mips_opts.sym32 = FALSE; + break; + ++ case OPTION_TRAP_ZERO_JUMP: ++ mips_trap_zero_jump = TRUE; ++ break; ++ ++ case OPTION_NO_TRAP_ZERO_JUMP: ++ mips_trap_zero_jump = FALSE; ++ break; ++ + #ifdef OBJ_ELF + /* When generating ELF code, we permit -KPIC and -call_shared to + select SVR4_PIC, and -non_shared to select no PIC. This is +@@ -19411,6 +19545,7 @@ MIPS options:\n\ + fprintf (stream, _("\ + -mfix-loongson2f-jump work around Loongson2F JUMP instructions\n\ + -mfix-loongson2f-nop work around Loongson2F NOP errata\n\ ++-mfix-loongson2f-btb work around Loongson2F BTB errata\n\ + -mfix-vr4120 work around certain VR4120 errata\n\ + -mfix-vr4130 work around VR4130 mflo/mfhi errata\n\ + -mfix-24k insert a nop after ERET and DERET instructions\n\ diff --git a/devel/binutils/patches/patch-gas_config_tc-vax.c b/devel/binutils/patches/patch-gas_config_tc-vax.c new file mode 100644 index 000000000..e4e6da8b4 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_tc-vax.c @@ -0,0 +1,194 @@ +$NetBSD$ + +--- gas/config/tc-vax.c.orig Mon Jun 28 14:06:57 2010 ++++ gas/config/tc-vax.c +@@ -392,6 +392,9 @@ md_estimate_size_before_relax (fragS *fragP, segT segm + && (PLT_symbol == NULL || fragP->fr_symbol != PLT_symbol) + && fragP->fr_symbol != NULL + && flag_want_pic ++#ifdef OBJ_ELF ++ && ELF_ST_VISIBILITY (S_GET_OTHER (fragP->fr_symbol)) != STV_HIDDEN ++#endif + && (!S_IS_DEFINED (fragP->fr_symbol) + || S_IS_WEAK (fragP->fr_symbol) + || S_IS_EXTERNAL (fragP->fr_symbol))) +@@ -1073,6 +1076,154 @@ vax_reg_parse (char c1, char c2, char c3, char c4) + return retval; + } + ++#ifdef OBJ_AOUT ++#ifndef BFD_ASSEMBLER ++void ++tc_aout_fix_to_chars (where, fixP, segment_address_in_file) ++ char *where; ++ fixS *fixP; ++ relax_addressT segment_address_in_file; ++{ ++ /* ++ * In: length of relocation (or of address) in chars: 1, 2 or 4. ++ * Out: GNU LD relocation length code: 0, 1, or 2. ++ */ ++ ++ static const unsigned char nbytes_r_length[] = {42, 0, 1, 42, 2}; ++ int r_symbolnum; ++ int r_flags; ++ ++ know (fixP->fx_addsy != NULL); ++ ++ md_number_to_chars (where, ++ fixP->fx_frag->fr_address + fixP->fx_where - segment_address_in_file, ++ 4); ++ ++ r_symbolnum = (S_IS_DEFINED (fixP->fx_addsy) ++ ? S_GET_TYPE (fixP->fx_addsy) ++ : fixP->fx_addsy->sy_number); ++ r_flags = (fixP->fx_pcrel ? 1 : 0) ++ | (!S_IS_DEFINED (fixP->fx_addsy) ? 8 : 0) /* extern */ ++ | ((nbytes_r_length[fixP->fx_size] & 3) << 1); ++ ++#if 0 ++ r_flags |= ((!S_IS_DEFINED(fixP->fx_addsy) ++ && fixP->fx_pcrel ++ && fixP->fx_addsy != GOT_symbol ++ && fixP->fx_addsy != PLT_symbol ++ && flags_want_pic) ? 0x10 : 0); ++#endif ++ ++ switch (fixP->fx_r_type) { ++ case NO_RELOC: ++ break; ++ case NO_RELOC2: ++ if (r_flags & 8) ++ r_flags |= 0x80; /* setting the copy bit */ ++ /* says we can convert */ ++ /* to gotslot if needed */ ++ break; ++ case RELOC_32: ++ if (flag_want_pic && S_IS_EXTERNAL(fixP->fx_addsy)) { ++ r_symbolnum = fixP->fx_addsy->sy_number; ++ r_flags |= 8; /* set extern bit */ ++ } ++ break; ++ case RELOC_JMP_SLOT: ++ if (flag_want_pic) { ++ r_flags |= 0x20; /* set jmptable */ ++ r_flags &= ~0x08; /* clear extern bit */ ++ } ++ break; ++ case RELOC_JMP_TBL: ++ if (flag_want_pic) { ++ r_flags |= 0x20; /* set jmptable */ ++ r_flags |= 0x08; /* set extern bit */ ++ } ++ break; ++ case RELOC_GLOB_DAT: ++ if (flag_want_pic) { ++ r_flags |= 0x10; /* set baserel bit */ ++ r_symbolnum = fixP->fx_addsy->sy_number; ++ if (S_IS_EXTERNAL(fixP->fx_addsy)) ++ r_flags |= 8; /* set extern bit */ ++ } ++ break; ++ } ++ ++ where[4] = (r_symbolnum >> 0) & 0xff; ++ where[5] = (r_symbolnum >> 8) & 0xff; ++ where[6] = (r_symbolnum >> 16) & 0xff; ++ where[7] = r_flags; ++} ++#endif /* !BFD_ASSEMBLER */ ++#endif /* OBJ_AOUT */ ++ ++/* ++ * BUGS, GRIPES, APOLOGIA, etc. ++ * ++ * The opcode table 'votstrs' needs to be sorted on opcode frequency. ++ * That is, AFTER we hash it with hash_...(), we want most-used opcodes ++ * to come out of the hash table faster. ++ * ++ * I am sorry to inflict yet another VAX assembler on the world, but ++ * RMS says we must do everything from scratch, to prevent pin-heads ++ * restricting this software. ++ */ ++ ++/* ++ * This is a vaguely modular set of routines in C to parse VAX ++ * assembly code using DEC mnemonics. It is NOT un*x specific. ++ * ++ * The idea here is that the assembler has taken care of all: ++ * labels ++ * macros ++ * listing ++ * pseudo-ops ++ * line continuation ++ * comments ++ * condensing any whitespace down to exactly one space ++ * and all we have to do is parse 1 line into a vax instruction ++ * partially formed. We will accept a line, and deliver: ++ * an error message (hopefully empty) ++ * a skeleton VAX instruction (tree structure) ++ * textual pointers to all the operand expressions ++ * a warning message that notes a silly operand (hopefully empty) ++ */ ++ ++/* ++ * E D I T H I S T O R Y ++ * ++ * 17may86 Dean Elsner. Bug if line ends immediately after opcode. ++ * 30apr86 Dean Elsner. New vip_op() uses arg block so change call. ++ * 6jan86 Dean Elsner. Crock vip_begin() to call vip_op_defaults(). ++ * 2jan86 Dean Elsner. Invent synthetic opcodes. ++ * Widen vax_opcodeT to 32 bits. Use a bit for VIT_OPCODE_SYNTHETIC, ++ * which means this is not a real opcode, it is like a macro; it will ++ * be relax()ed into 1 or more instructions. ++ * Use another bit for VIT_OPCODE_SPECIAL if the op-code is not optimised ++ * like a regular branch instruction. Option added to vip_begin(): ++ * exclude synthetic opcodes. Invent synthetic_votstrs[]. ++ * 31dec85 Dean Elsner. Invent vit_opcode_nbytes. ++ * Also make vit_opcode into a char[]. We now have n-byte vax opcodes, ++ * so caller's don't have to know the difference between a 1-byte & a ++ * 2-byte op-code. Still need vax_opcodeT concept, so we know how ++ * big an object must be to hold an op.code. ++ * 30dec85 Dean Elsner. Widen typedef vax_opcodeT in "vax-inst.h" ++ * because vax opcodes may be 16 bits. Our crufty C compiler was ++ * happily initialising 8-bit vot_codes with 16-bit numbers! ++ * (Wouldn't the 'phone company like to compress data so easily!) ++ * 29dec85 Dean Elsner. New static table vax_operand_width_size[]. ++ * Invented so we know hw many bytes a "I^#42" needs in its immediate ++ * operand. Revised struct vop in "vax-inst.h": explicitly include ++ * byte length of each operand, and it's letter-code datum type. ++ * 17nov85 Dean Elsner. Name Change. ++ * Due to ar(1) truncating names, we learned the hard way that ++ * "vax-inst-parse.c" -> "vax-inst-parse." dropping the "o" off ++ * the archived object name. SO... we shortened the name of this ++ * source file, and changed the makefile. ++ */ ++ + /* Parse a vax operand in DEC assembler notation. + For speed, expect a string of whitespace to be reduced to a single ' '. + This is the case for GNU AS, and is easy for other DEC-compatible +@@ -3150,7 +3301,7 @@ md_assemble (char *instruction_string) + if (flag_want_pic && operandP->vop_mode == 8 + && this_add_symbol != NULL) + { +- as_warn (_("Symbol %s used as immediate operand in PIC mode."), ++ as_warn (_("Symbol '%s' used as immediate operand in PIC mode."), + S_GET_NAME (this_add_symbol)); + } + #endif +@@ -3226,7 +3377,15 @@ md_assemble (char *instruction_string) + length = 4; + } + } ++#ifdef OBJ_ELF ++ if (flag_want_pic && this_add_symbol != NULL) ++ { ++ as_warn (_("Symbol '%s' used as displacement in PIC mode."), ++ S_GET_NAME (this_add_symbol)); ++ } ++#endif + p = frag_more (1 + length); ++ know (operandP->vop_reg != 0xf); + know (operandP->vop_reg >= 0); + p[0] = operandP->vop_reg + | ((at | "?\12\14?\16"[length]) << 4); diff --git a/devel/binutils/patches/patch-gas_config_te-armnbsd.h b/devel/binutils/patches/patch-gas_config_te-armnbsd.h new file mode 100644 index 000000000..2db348104 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_te-armnbsd.h @@ -0,0 +1,27 @@ +$NetBSD$ + +--- gas/config/te-armnbsd.h.orig Mon May 19 14:12:57 2014 ++++ gas/config/te-armnbsd.h +@@ -0,0 +1,22 @@ ++/* Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc. ++ ++ This file is part of GAS, the GNU Assembler. ++ ++ GAS 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. ++ ++ GAS 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 GAS; see the file COPYING. If not, write to the Free ++ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA ++ 02110-1301, USA. */ ++ ++#include "te-nbsd.h" ++ ++#define CPU_DEFAULT ARM_ARCH_V4 diff --git a/devel/binutils/patches/patch-gas_config_te-armnbsdeabi.h b/devel/binutils/patches/patch-gas_config_te-armnbsdeabi.h new file mode 100644 index 000000000..1c339cd63 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_te-armnbsdeabi.h @@ -0,0 +1,30 @@ +$NetBSD$ + +--- gas/config/te-armnbsdeabi.h.orig Mon May 19 14:12:57 2014 ++++ gas/config/te-armnbsdeabi.h +@@ -0,0 +1,25 @@ ++/* Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc. ++ ++ This file is part of GAS, the GNU Assembler. ++ ++ GAS 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. ++ ++ GAS 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 GAS; see the file COPYING. If not, write to the Free ++ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA ++ 02110-1301, USA. */ ++ ++#include "te-nbsd.h" ++ ++/* The EABI requires the use of VFP. */ ++#define CPU_DEFAULT ARM_ARCH_V5TEJ ++#define FPU_DEFAULT FPU_ARCH_VFP ++#define EABI_DEFAULT EF_ARM_EABI_VER5 diff --git a/devel/binutils/patches/patch-gas_config_te-armnbsdeabihf.h b/devel/binutils/patches/patch-gas_config_te-armnbsdeabihf.h new file mode 100644 index 000000000..d6e02b3bf --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_te-armnbsdeabihf.h @@ -0,0 +1,30 @@ +$NetBSD$ + +--- gas/config/te-armnbsdeabihf.h.orig Mon May 19 14:12:57 2014 ++++ gas/config/te-armnbsdeabihf.h +@@ -0,0 +1,25 @@ ++/* Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc. ++ ++ This file is part of GAS, the GNU Assembler. ++ ++ GAS 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. ++ ++ GAS 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 GAS; see the file COPYING. If not, write to the Free ++ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA ++ 02110-1301, USA. */ ++ ++#include "te-nbsd.h" ++ ++/* The EABI requires the use of VFP. */ ++#define CPU_DEFAULT ARM_ARCH_V5TEJ ++#define FPU_DEFAULT FPU_ARCH_VFP_V2 ++#define EABI_DEFAULT EF_ARM_EABI_VER5 diff --git a/devel/binutils/patches/patch-gas_config_te-minix.h b/devel/binutils/patches/patch-gas_config_te-minix.h new file mode 100644 index 000000000..986ba1652 --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_te-minix.h @@ -0,0 +1,14 @@ +$NetBSD$ + +--- gas/config/te-minix.h.orig Mon May 19 14:12:57 2014 ++++ gas/config/te-minix.h +@@ -0,0 +1,9 @@ ++#define TE_MINIX 1 ++ ++/* Added these, because if we don't know what we're targeting we may ++ need an assembler version of libgcc, and that will use local ++ labels. */ ++#define LOCAL_LABELS_DOLLAR 1 ++#define LOCAL_LABELS_FB 1 ++ ++#include "obj-format.h" diff --git a/devel/binutils/patches/patch-gas_config_vax-inst.h b/devel/binutils/patches/patch-gas_config_vax-inst.h new file mode 100644 index 000000000..1083beb3a --- /dev/null +++ b/devel/binutils/patches/patch-gas_config_vax-inst.h @@ -0,0 +1,13 @@ +$NetBSD$ + +--- gas/config/vax-inst.h.orig Wed Sep 2 07:24:21 2009 ++++ gas/config/vax-inst.h +@@ -66,6 +66,8 @@ typedef long vax_opcodeT; /* For initialising array of + #define VAX_WIDEN_WORD (0x20) /* Add this to byte branch to get word br. */ + #define VAX_WIDEN_LONG (0x6) /* Add this to byte branch to get long jmp.*/ + /* Needs VAX_PC_RELATIVE_MODE byte after it*/ ++#define VAX_CALLS (0xFB) /* Call with arg list on stack */ ++#define VAX_CALLG (0xFA) /* Call with arg list in memory */ + + struct vit /* vax instruction tree */ + { diff --git a/devel/binutils/patches/patch-gas_configure b/devel/binutils/patches/patch-gas_configure index dec042803..920fc598f 100644 --- a/devel/binutils/patches/patch-gas_configure +++ b/devel/binutils/patches/patch-gas_configure @@ -1,49 +1,15 @@ -$NetBSD: patch-gas_configure,v 1.1 2015/06/09 20:24:39 ryoon Exp $ +$NetBSD$ ---- gas/configure.orig 2014-12-23 14:22:05.000000000 +0000 +--- gas/configure.orig Mon Jun 18 04:43:06 2012 +++ gas/configure -@@ -12331,7 +12331,7 @@ $as_echo "$with_arch" >&6; } - # Decide features one by one. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --enable-dx-regs" >&5 - $as_echo_n "checking for default configuration of --enable-dx-regs... " >&6; } -- if test "x${enable_dx_regs}" == xyes; then -+ if test "x${enable_dx_regs}" = xyes; then - - $as_echo "#define NDS32_DEFAULT_DX_REGS 1" >>confdefs.h - -@@ -12345,7 +12345,7 @@ $as_echo "$enable_dx_regs" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --enable-perf-ext" >&5 - $as_echo_n "checking for default configuration of --enable-perf-ext... " >&6; } -- if test "x${enable_perf_ext}" == xno; then -+ if test "x${enable_perf_ext}" = xno; then - - $as_echo "#define NDS32_DEFAULT_PERF_EXT 0" >>confdefs.h - -@@ -12359,7 +12359,7 @@ $as_echo "$enable_perf_ext" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --enable-perf-ext2" >&5 - $as_echo_n "checking for default configuration of --enable-perf-ext2... " >&6; } -- if test "x${enable_perf_ext2}" == xno; then -+ if test "x${enable_perf_ext2}" = xno; then - - $as_echo "#define NDS32_DEFAULT_PERF_EXT2 0" >>confdefs.h - -@@ -12373,7 +12373,7 @@ $as_echo "$enable_perf_ext2" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --enable-string-ext" >&5 - $as_echo_n "checking for default configuration of --enable-string-ext... " >&6; } -- if test "x${enable_string_ext}" == xno; then -+ if test "x${enable_string_ext}" = xno; then - - $as_echo "#define NDS32_DEFAULT_STRING_EXT 0" >>confdefs.h - -@@ -12387,7 +12387,7 @@ $as_echo "$enable_string_ext" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --enable-audio-ext" >&5 - $as_echo_n "checking for default configuration of --enable-audio-ext... " >&6; } -- if test "x${enable_audio_ext}" == xno; then -+ if test "x${enable_audio_ext}" = xno; then - - $as_echo "#define NDS32_DEFAULT_AUDIO_EXT 0" >>confdefs.h +@@ -6127,6 +6127,10 @@ freebsd* | dragonfly*) + fi + ;; ++minix*) ++ lt_cv_deplibs_check_method=pass_all ++ ;; ++ + gnu*) + lt_cv_deplibs_check_method=pass_all + ;; diff --git a/devel/binutils/patches/patch-gas_configure.tgt b/devel/binutils/patches/patch-gas_configure.tgt index 985ad3c12..5b847d0c9 100644 --- a/devel/binutils/patches/patch-gas_configure.tgt +++ b/devel/binutils/patches/patch-gas_configure.tgt @@ -1,15 +1,13 @@ -$NetBSD: patch-gas_configure.tgt,v 1.1 2015/09/03 20:55:55 sevan Exp $ +$NetBSD$ -Add Bitrig/amd64 support -https://sourceware.org/bugzilla/show_bug.cgi?id=18920 - ---- gas/configure.tgt.orig Thu Sep 3 16:57:30 2015 +--- gas/configure.tgt.orig Tue Sep 4 12:53:45 2012 +++ gas/configure.tgt -@@ -231,6 +232,7 @@ case ${generic_target} in - i386-*-openbsd[0-2].* | \ - i386-*-openbsd3.[0-2]) fmt=aout em=nbsd ;; - i386-*-openbsd*) fmt=elf em=nbsd ;; -+ i386-*-bitrig*) fmt=elf em=nbsd ;; - i386-*-linux*aout*) fmt=aout em=linux ;; - i386-*-linux*oldld) fmt=aout em=linux ;; - i386-*-linux*coff*) fmt=coff em=linux ;; +@@ -446,6 +446,8 @@ case ${generic_target} in + *-*-elf | *-*-sysv4*) fmt=elf ;; + *-*-solaris*) fmt=elf em=solaris ;; + *-*-aros*) fmt=elf em=linux ;; ++ i*-*-minix*) fmt=elf em=minix ;; ++ arm*-*-minix*) fmt=elf em=armeabi ;; + *-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;; + *-*-netware) fmt=elf em=netware ;; + esac diff --git a/devel/binutils/patches/patch-gas_doc_Makefile.am b/devel/binutils/patches/patch-gas_doc_Makefile.am new file mode 100644 index 000000000..aec61586b --- /dev/null +++ b/devel/binutils/patches/patch-gas_doc_Makefile.am @@ -0,0 +1,22 @@ +$NetBSD$ + +--- gas/doc/Makefile.am.orig Tue Sep 4 12:53:45 2012 ++++ gas/doc/Makefile.am +@@ -24,6 +24,8 @@ TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/. + -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc + + asconfig.texi: $(CONFIG).texi ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_asconfig.text: + rm -f asconfig.texi + cp $(srcdir)/$(CONFIG).texi ./asconfig.texi + chmod u+w ./asconfig.texi +@@ -103,6 +105,8 @@ info-local: $(MANS) + # The sed command removes the no-adjust Nroff command so that + # the man output looks standard. + as.1: $(srcdir)/as.texinfo asconfig.texi $(CPU_DOCS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_as.1: + touch $@ + -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod + -($(POD2MAN) as.pod | \ diff --git a/devel/binutils/patches/patch-gas_doc_Makefile.in b/devel/binutils/patches/patch-gas_doc_Makefile.in new file mode 100644 index 000000000..1a9f6143d --- /dev/null +++ b/devel/binutils/patches/patch-gas_doc_Makefile.in @@ -0,0 +1,31 @@ +$NetBSD$ + +--- gas/doc/Makefile.in.orig Tue Sep 4 12:53:45 2012 ++++ gas/doc/Makefile.in +@@ -374,6 +374,8 @@ clean-libtool: + -rm -rf .libs _libs + + as.info: as.texinfo $(as_TEXINFOS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_as.info: as.texinfo $(as_TEXINFOS) + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ +@@ -756,6 +758,8 @@ uninstall-man: uninstall-man1 + + + asconfig.texi: $(CONFIG).texi ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_asconfig.texi: + rm -f asconfig.texi + cp $(srcdir)/$(CONFIG).texi ./asconfig.texi + chmod u+w ./asconfig.texi +@@ -773,6 +777,8 @@ info-local: $(MANS) + # The sed command removes the no-adjust Nroff command so that + # the man output looks standard. + as.1: $(srcdir)/as.texinfo asconfig.texi $(CPU_DOCS) ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_as.1: + touch $@ + -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod + -($(POD2MAN) as.pod | \ diff --git a/devel/binutils/patches/patch-gas_doc_c-mips.texi b/devel/binutils/patches/patch-gas_doc_c-mips.texi new file mode 100644 index 000000000..e01c04c30 --- /dev/null +++ b/devel/binutils/patches/patch-gas_doc_c-mips.texi @@ -0,0 +1,19 @@ +$NetBSD$ + +--- gas/doc/c-mips.texi.orig Tue Sep 4 14:16:07 2012 ++++ gas/doc/c-mips.texi +@@ -210,6 +210,14 @@ all problems in hand-written assembler code. + @itemx -mno-fix-vr4130 + Insert nops to work around the VR4130 @samp{mflo}/@samp{mfhi} errata. + ++@item -mfix-loongson2f-btb ++@itemx -mno-fix-loongson2f-btb ++Clear the Branch Target Buffer before any jump through a register. This ++option is intended to be used on kernel code for the Loongson 2F processor ++only; userland code compiled with this option will fault, and kernel code ++compiled with this option run on another processor than Loongson 2F will ++yield unpredictable results. ++ + @item -mfix-24k + @itemx -mno-fix-24k + Insert nops to work around the 24K @samp{eret}/@samp{deret} errata. diff --git a/devel/binutils/patches/patch-gas_remap.c b/devel/binutils/patches/patch-gas_remap.c new file mode 100644 index 000000000..31c3fefed --- /dev/null +++ b/devel/binutils/patches/patch-gas_remap.c @@ -0,0 +1,15 @@ +$NetBSD$ + +--- gas/remap.c.orig Fri Mar 11 14:18:24 2011 ++++ gas/remap.c +@@ -84,8 +84,8 @@ remap_debug_filename (const char *filename) + return xstrdup (filename); + name = filename + map->old_len; + name_len = strlen (name) + 1; +- s = (char *) alloca (name_len + map->new_len); ++ s = (char *) xmalloc (name_len + map->new_len); + memcpy (s, map->new_prefix, map->new_len); + memcpy (s + map->new_len, name, name_len); +- return xstrdup (s); ++ return s; + } diff --git a/devel/binutils/patches/patch-gold_Makefile.am b/devel/binutils/patches/patch-gold_Makefile.am new file mode 100644 index 000000000..46fbc4bbb --- /dev/null +++ b/devel/binutils/patches/patch-gold_Makefile.am @@ -0,0 +1,13 @@ +$NetBSD$ + +--- gold/Makefile.am.orig Wed May 2 21:37:23 2012 ++++ gold/Makefile.am +@@ -20,7 +20,7 @@ AM_CPPFLAGS = \ + LIBIBERTY = ../libiberty/libiberty.a + + if PLUGINS +-LIBDL = -ldl ++LIBDL = @DLOPEN_LIBS@ + endif + + if THREADS diff --git a/devel/binutils/patches/patch-gold_Makefile.in b/devel/binutils/patches/patch-gold_Makefile.in index 0f3c1c06d..2cc640082 100644 --- a/devel/binutils/patches/patch-gold_Makefile.in +++ b/devel/binutils/patches/patch-gold_Makefile.in @@ -1,26 +1,21 @@ -$NetBSD: patch-gold_Makefile.in,v 1.2 2014/05/27 09:56:10 joerg Exp $ +$NetBSD$ - Don't bail out on the deprecation warnings for - - Don't use hard-coded -ldl. - ---- gold/Makefile.in.orig 2013-11-04 15:33:39.000000000 +0000 +--- gold/Makefile.in.orig Mon Mar 25 08:06:23 2013 +++ gold/Makefile.in -@@ -345,7 +345,7 @@ TARGETOBJS = @TARGETOBJS@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ - WARN_CFLAGS = @WARN_CFLAGS@ --WARN_CXXFLAGS = @WARN_CXXFLAGS@ -+WARN_CXXFLAGS = @WARN_CXXFLAGS@ -Wno-deprecated - XGETTEXT = @XGETTEXT@ - YACC = @YACC@ - YFLAGS = @YFLAGS@ -@@ -419,7 +419,7 @@ AM_CPPFLAGS = \ +@@ -249,6 +249,7 @@ CYGPATH_W = @CYGPATH_W@ + DATADIRNAME = @DATADIRNAME@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ ++DLOPEN_LIBS = + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ +@@ -375,7 +376,7 @@ AM_CPPFLAGS = \ -DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@ LIBIBERTY = ../libiberty/libiberty.a --@PLUGINS_TRUE@LIBDL = @DLOPEN_LIBS@ -+@PLUGINS_TRUE@LIBDL = ${DL_LDFLAGS} +-@PLUGINS_TRUE@LIBDL = -ldl ++@PLUGINS_TRUE@LIBDL = @THREADS_TRUE@THREADSLIB = -lpthread AM_YFLAGS = -d diff --git a/devel/binutils/patches/patch-gold_config.in b/devel/binutils/patches/patch-gold_config.in new file mode 100644 index 000000000..11f90b051 --- /dev/null +++ b/devel/binutils/patches/patch-gold_config.in @@ -0,0 +1,15 @@ +--- gold/config.in.orig Fri Jul 18 14:44:56 2014 ++++ gold/config.in Fri Jul 18 14:57:50 2014 +@@ -187,6 +187,12 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_UNISTD_H + ++/* Define to 1 if you have the header file. */ ++#undef HAVE_UNORDERED_MAP ++ ++/* Define to 1 if you have the header file. */ ++#undef HAVE_UNORDERED_SET ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_ZLIB_H + diff --git a/devel/binutils/patches/patch-gold_configure b/devel/binutils/patches/patch-gold_configure new file mode 100644 index 000000000..b379c1e15 --- /dev/null +++ b/devel/binutils/patches/patch-gold_configure @@ -0,0 +1,23 @@ +--- gold/configure.orig Mon Mar 25 08:06:23 2013 ++++ gold/configure Fri Jul 18 14:46:06 2014 +@@ -7105,6 +7105,20 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAG + ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ++for ac_header in unordered_set unordered_map ++do : ++ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ++ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" ++eval as_val=\$$as_ac_Header ++ if test "x$as_val" = x""yes; then : ++ cat >>confdefs.h <<_ACEOF ++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ + for ac_header in tr1/unordered_set tr1/unordered_map + do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` diff --git a/devel/binutils/patches/patch-gold_configure.ac b/devel/binutils/patches/patch-gold_configure.ac new file mode 100644 index 000000000..6decdd029 --- /dev/null +++ b/devel/binutils/patches/patch-gold_configure.ac @@ -0,0 +1,10 @@ +--- gold/configure.ac.orig Mon Mar 25 08:06:23 2013 ++++ gold/configure.ac Fri Jul 18 14:46:06 2014 +@@ -496,6 +496,7 @@ AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, sn + + AC_LANG_PUSH(C++) + ++AC_CHECK_HEADERS(unordered_set unordered_map) + AC_CHECK_HEADERS(tr1/unordered_set tr1/unordered_map) + AC_CHECK_HEADERS(ext/hash_map ext/hash_set) + AC_CHECK_HEADERS(byteswap.h) diff --git a/devel/binutils/patches/patch-gold_gold.h b/devel/binutils/patches/patch-gold_gold.h new file mode 100644 index 000000000..2fe9ad15d --- /dev/null +++ b/devel/binutils/patches/patch-gold_gold.h @@ -0,0 +1,24 @@ +--- gold/gold.h.orig Fri Nov 9 08:21:28 2012 ++++ gold/gold.h Fri Jul 18 14:46:06 2014 +@@ -66,7 +66,20 @@ + + // Figure out how to get a hash set and a hash map. + +-#if defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \ ++#if defined(HAVE_UNORDERED_SET) && defined(HAVE_UNORDERED_MAP) ++ ++#include ++#include ++ ++// We need a template typedef here. ++ ++#define Unordered_set std::unordered_set ++#define Unordered_map std::unordered_map ++#define Unordered_multimap std::unordered_multimap ++ ++#define reserve_unordered_map(map, n) ((map)->rehash(n)) ++ ++#elif defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \ + && defined(HAVE_TR1_UNORDERED_MAP_REHASH) + + #include diff --git a/devel/binutils/patches/patch-gold_i386.cc b/devel/binutils/patches/patch-gold_i386.cc new file mode 100644 index 000000000..26a1e5b57 --- /dev/null +++ b/devel/binutils/patches/patch-gold_i386.cc @@ -0,0 +1,15 @@ +$NetBSD$ + +--- gold/i386.cc.orig Mon May 19 14:30:54 2014 ++++ gold/i386.cc +@@ -2538,6 +2538,10 @@ Target_i386::do_finalize_sections( + Symbol* sym = this->global_offset_table_; + if (sym != NULL) + { ++ // create a plt ++ if (this->plt_ == NULL) ++ this->make_plt_section(symtab, layout); ++ + uint32_t data_size = this->got_plt_->current_data_size(); + symtab->get_sized_symbol<32>(sym)->set_symsize(data_size); + } diff --git a/devel/binutils/patches/patch-gold_options.h b/devel/binutils/patches/patch-gold_options.h deleted file mode 100644 index 1d536d897..000000000 --- a/devel/binutils/patches/patch-gold_options.h +++ /dev/null @@ -1,36 +0,0 @@ -$NetBSD: patch-gold_options.h,v 1.1 2014/05/12 16:33:20 marino Exp $ - - The NetBSD and OpenBSD real-time linkers do not understand DT_RUNPATH - or DT_INIT_ARRAY. The current gold defaults are not suitable for them. - The last couple of DragonFly and FreeBSD releases do support these tags. - ---- gold/options.h.orig 2013-11-04 15:33:39.000000000 +0000 -+++ gold/options.h -@@ -716,9 +716,15 @@ class General_options - N_("Output cross reference table"), - N_("Do not output cross reference table")); - -+#if defined(__NetBSD__) || defined(__OpenBSD__) -+ DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', false, -+ N_("Use DT_INIT_ARRAY for all constructors"), -+ N_("Handle constructors as directed by compiler (default)")); -+#else - DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', true, - N_("Use DT_INIT_ARRAY for all constructors (default)"), - N_("Handle constructors as directed by compiler")); -+#endif - - DEFINE_bool(define_common, options::TWO_DASHES, 'd', false, - N_("Define common symbols"), -@@ -949,7 +955,11 @@ class General_options - N_("Do not page align data, do not make text readonly"), - N_("Page align data, make text readonly")); - -+#if defined(__NetBSD__) || defined(__OpenBSD__) -+ DEFINE_enable(new_dtags, options::EXACTLY_TWO_DASHES, '\0', false, -+#else - DEFINE_enable(new_dtags, options::EXACTLY_TWO_DASHES, '\0', true, -+#endif - N_("Enable use of DT_RUNPATH and DT_FLAGS"), - N_("Disable use of DT_RUNPATH and DT_FLAGS")); - diff --git a/devel/binutils/patches/patch-gold_plugin.cc b/devel/binutils/patches/patch-gold_plugin.cc new file mode 100644 index 000000000..232db0478 --- /dev/null +++ b/devel/binutils/patches/patch-gold_plugin.cc @@ -0,0 +1,43 @@ +$NetBSD$ + +--- gold/plugin.cc.orig Tue Jun 12 22:52:41 2012 ++++ gold/plugin.cc +@@ -29,8 +29,38 @@ + #include + + #ifdef ENABLE_PLUGINS ++#ifdef HAVE_DLFCN_H + #include ++#elif defined (HAVE_WINDOWS_H) ++#include ++#else ++#error Unknown how to handle dynamic-load-libraries. + #endif ++ ++#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) ++ ++#define RTLD_NOW 0 /* Dummy value. */ ++static void * ++dlopen(const char *file, int mode ATTRIBUTE_UNUSED) ++{ ++ return LoadLibrary(file); ++} ++ ++static void * ++dlsym(void *handle, const char *name) ++{ ++ return reinterpret_cast( ++ GetProcAddress(static_cast(handle),name)); ++} ++ ++static const char * ++dlerror(void) ++{ ++ return "unable to load dll"; ++} ++ ++#endif /* !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) */ ++#endif /* ENABLE_PLUGINS */ + + #include "parameters.h" + #include "errors.h" diff --git a/devel/binutils/patches/patch-gold_resolve.cc b/devel/binutils/patches/patch-gold_resolve.cc deleted file mode 100644 index 6b160f8b2..000000000 --- a/devel/binutils/patches/patch-gold_resolve.cc +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-gold_resolve.cc,v 1.1 2014/05/12 19:10:08 marino Exp $ - - The gold linker is overly pedantic for dynamic references to symbols - with hidden visibility. It will spew error messages about weak symbols - in libc.so that ld.bfd does not complain about. Until the bug is resolved - disable the hidden symbol warnings. These warning also cause > 200 - false failures in the gcc gnat.dg testsuite. - - https://sourceware.org/bugzilla/show_bug.cgi?id=15574 - ---- gold/resolve.cc.orig 2013-11-04 15:33:39.000000000 +0000 -+++ gold/resolve.cc -@@ -276,8 +276,7 @@ Symbol_table::resolve(Sized_symbol - to->set_in_reg(); - } - else if (st_shndx == elfcpp::SHN_UNDEF -- && (to->visibility() == elfcpp::STV_HIDDEN -- || to->visibility() == elfcpp::STV_INTERNAL)) -+ && (to->visibility() == elfcpp::STV_INTERNAL)) - { - // A dynamic object cannot reference a hidden or internal symbol - // defined in another object. diff --git a/devel/binutils/patches/patch-gold_stringpool.cc b/devel/binutils/patches/patch-gold_stringpool.cc new file mode 100644 index 000000000..359c3f7fa --- /dev/null +++ b/devel/binutils/patches/patch-gold_stringpool.cc @@ -0,0 +1,23 @@ +--- gold/stringpool.cc.orig Wed Aug 25 08:36:54 2010 ++++ gold/stringpool.cc Fri Jul 18 14:46:06 2014 +@@ -72,7 +72,10 @@ Stringpool_template::reserve(unsigned + { + this->key_to_offset_.reserve(n); + +-#if defined(HAVE_TR1_UNORDERED_MAP) ++#if defined(HAVE_UNORDERED_MAP) ++ this->string_set_.rehash(this->string_set_.size() + n); ++ return; ++#elif defined(HAVE_TR1_UNORDERED_MAP) + // rehash() implementation is broken in gcc 4.0.3's stl + //this->string_set_.rehash(this->string_set_.size() + n); + //return; +@@ -499,7 +502,7 @@ template + void + Stringpool_template::print_stats(const char* name) const + { +-#if defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP) ++#if defined(HAVE_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP) + fprintf(stderr, _("%s: %s entries: %zu; buckets: %zu\n"), + program_name, name, this->string_set_.size(), + this->string_set_.bucket_count()); diff --git a/devel/binutils/patches/patch-gold_system.h b/devel/binutils/patches/patch-gold_system.h deleted file mode 100644 index 5c922dff8..000000000 --- a/devel/binutils/patches/patch-gold_system.h +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-gold_system.h,v 1.3 2015/06/09 20:24:39 ryoon Exp $ - ---- gold/system.h.orig 2014-10-14 07:32:04.000000000 +0000 -+++ gold/system.h -@@ -118,7 +118,7 @@ struct hash - { - size_t - operator()(std::string s) const -- { return __stl_hash_string(s.c_str()); } -+ { return __gnu_cxx::hash()(s.c_str()); } - }; - - template diff --git a/devel/binutils/patches/patch-gold_testsuite_Makefile.in b/devel/binutils/patches/patch-gold_testsuite_Makefile.in new file mode 100644 index 000000000..a0368740f --- /dev/null +++ b/devel/binutils/patches/patch-gold_testsuite_Makefile.in @@ -0,0 +1,12 @@ +$NetBSD$ + +--- gold/testsuite/Makefile.in.orig Mon Mar 25 08:06:23 2013 ++++ gold/testsuite/Makefile.in +@@ -1875,6 +1875,7 @@ CYGPATH_W = @CYGPATH_W@ + DATADIRNAME = @DATADIRNAME@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ ++DLOPEN_LIBS = + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ diff --git a/devel/binutils/patches/patch-gprof_corefile.c b/devel/binutils/patches/patch-gprof_corefile.c new file mode 100644 index 000000000..58b313584 --- /dev/null +++ b/devel/binutils/patches/patch-gprof_corefile.c @@ -0,0 +1,13 @@ +$NetBSD$ + +--- gprof/corefile.c.orig Tue Mar 6 13:54:59 2012 ++++ gprof/corefile.c +@@ -30,6 +30,8 @@ + #include "corefile.h" + #include "safe-ctype.h" + ++#include ++ + bfd *core_bfd; + static int core_num_syms; + static asymbol **core_syms; diff --git a/devel/binutils/patches/patch-gprof_gprof.c b/devel/binutils/patches/patch-gprof_gprof.c new file mode 100644 index 000000000..d4f7d7b96 --- /dev/null +++ b/devel/binutils/patches/patch-gprof_gprof.c @@ -0,0 +1,13 @@ +$NetBSD$ + +--- gprof/gprof.c.orig Fri Jun 12 15:33:30 2009 ++++ gprof/gprof.c +@@ -47,6 +47,8 @@ + + static void usage (FILE *, int) ATTRIBUTE_NORETURN; + ++#include ++ + const char * whoami; + const char * function_mapping_file; + static const char * external_symbol_table; diff --git a/devel/binutils/patches/patch-include_bfdlink.h b/devel/binutils/patches/patch-include_bfdlink.h new file mode 100644 index 000000000..552af6f37 --- /dev/null +++ b/devel/binutils/patches/patch-include_bfdlink.h @@ -0,0 +1,15 @@ +$NetBSD$ + +--- include/bfdlink.h.orig Mon Apr 9 16:27:18 2012 ++++ include/bfdlink.h +@@ -435,6 +435,10 @@ struct bfd_link_info + option). If this is NULL, no symbols are being wrapped. */ + struct bfd_hash_table *wrap_hash; + ++ /* Hash table of symbols which may be left unresolved during ++ a link. If this is NULL, no symbols can be left unresolved. */ ++ struct bfd_hash_table *ignore_hash; ++ + /* The output BFD. */ + bfd *output_bfd; + diff --git a/devel/binutils/patches/patch-include_elf_common.h b/devel/binutils/patches/patch-include_elf_common.h new file mode 100644 index 000000000..faa91cb81 --- /dev/null +++ b/devel/binutils/patches/patch-include_elf_common.h @@ -0,0 +1,12 @@ +$NetBSD$ + +--- include/elf/common.h.orig Tue Sep 4 12:53:47 2012 ++++ include/elf/common.h +@@ -607,6 +607,7 @@ + /* Values for NetBSD .note.netbsd.ident notes. Note name is "NetBSD". */ + + #define NT_NETBSD_IDENT 1 ++#define NT_NETBSD_MARCH 5 + + /* Values for OpenBSD .note.openbsd.ident notes. Note name is "OpenBSD". */ + diff --git a/devel/binutils/patches/patch-include_objalloc.h b/devel/binutils/patches/patch-include_objalloc.h new file mode 100644 index 000000000..58d405bef --- /dev/null +++ b/devel/binutils/patches/patch-include_objalloc.h @@ -0,0 +1,20 @@ +$NetBSD$ + +--- include/objalloc.h.orig Tue May 10 10:21:08 2005 ++++ include/objalloc.h +@@ -1,5 +1,5 @@ + /* objalloc.h -- routines to allocate memory for objects +- Copyright 1997, 2001 Free Software Foundation, Inc. ++ Copyright 1997-2012 Free Software Foundation, Inc. + Written by Ian Lance Taylor, Cygnus Solutions. + + This program is free software; you can redistribute it and/or modify it +@@ -91,7 +91,7 @@ extern void *_objalloc_alloc (struct objalloc *, unsig + if (__len == 0) \ + __len = 1; \ + __len = (__len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1); \ +- (__len <= __o->current_space \ ++ (__len != 0 && __len <= __o->current_space \ + ? (__o->current_ptr += __len, \ + __o->current_space -= __len, \ + (void *) (__o->current_ptr - __len)) \ diff --git a/devel/binutils/patches/patch-include_opcode_mips.h b/devel/binutils/patches/patch-include_opcode_mips.h new file mode 100644 index 000000000..f76c6f863 --- /dev/null +++ b/devel/binutils/patches/patch-include_opcode_mips.h @@ -0,0 +1,16 @@ +$NetBSD$ + +--- include/opcode/mips.h.orig Tue Sep 4 14:21:05 2012 ++++ include/opcode/mips.h +@@ -1035,7 +1035,11 @@ enum + M_DSUB_I, + M_DSUBU_I, + M_DSUBU_I_2, ++ M_JR_S, ++ M_J_S, + M_J_A, ++ M_JALR_S, ++ M_JALR_DS, + M_JAL_1, + M_JAL_2, + M_JAL_A, diff --git a/devel/binutils/patches/patch-include_safe-ctype.h b/devel/binutils/patches/patch-include_safe-ctype.h index f74edadd0..a282ab46e 100644 --- a/devel/binutils/patches/patch-include_safe-ctype.h +++ b/devel/binutils/patches/patch-include_safe-ctype.h @@ -1,20 +1,46 @@ -$NetBSD: patch-include_safe-ctype.h,v 1.1 2015/03/24 14:23:14 joerg Exp $ - ---- include/safe-ctype.h.orig 2015-03-23 13:28:20.000000000 +0000 -+++ include/safe-ctype.h -@@ -120,6 +120,8 @@ extern const unsigned char _sch_tolower +--- include/safe-ctype.h.orig Mon Jul 7 17:09:31 2008 ++++ include/safe-ctype.h Fri Jul 18 14:46:06 2014 +@@ -119,6 +119,7 @@ extern const unsigned char _sch_tolower[256]; + including another system header (for instance gnulib's stdint.h). So we include ctype.h here and then immediately redefine its macros. */ ++#if !defined(__minix) || !defined(__clang__) #include -+ -+#ifndef __cplusplus #undef isalpha #define isalpha(c) do_not_use_isalpha_with_safe_ctype - #undef isalnum -@@ -146,5 +148,6 @@ extern const unsigned char _sch_tolower +@@ -145,6 +146,34 @@ extern const unsigned char _sch_tolower[256]; + #undef toupper #define toupper(c) do_not_use_toupper_with_safe_ctype #undef tolower - #define tolower(c) do_not_use_tolower_with_safe_ctype -+#endif +-#define tolower(c) do_not_use_tolower_with_safe_ctype ++#else ++#include ++#undef isalpha ++#define isalpha(c) ISALPHA(c) ++#undef isalnum ++#define isalnum(c) ISALNUM(c) ++#undef iscntrl ++#define iscntrl(c) ISCNTRL(c) ++#undef isdigit ++#define isdigit(c) ISDIGIT(c) ++#undef isgraph ++#define isgraph(c) ISGRAPH(c) ++#undef islower ++#define islower(c) ISLOWER(c) ++#undef isprint ++#define isprint(c) ISPRINT(c) ++#undef ispunct ++#define ispunct(c) ISPUNCT(c) ++#undef isspace ++#define isspace(c) ISSPACE(c) ++#undef isupper ++#define isupper(c) ISUPPER(c) ++#undef isxdigit ++#define isxdigit(c) ISXDIGIT(c) ++#undef toupper ++#define toupper(c) TOUPPER(c) ++#undef tolower ++#define tolower(c) TOLOWER(c) ++#endif /* !defined(__minix) || !defined(__clang__) */ #endif /* SAFE_CTYPE_H */ diff --git a/devel/binutils/patches/patch-ld_Makefile.am b/devel/binutils/patches/patch-ld_Makefile.am new file mode 100644 index 000000000..7bec3f9e7 --- /dev/null +++ b/devel/binutils/patches/patch-ld_Makefile.am @@ -0,0 +1,62 @@ +$NetBSD$ + +--- ld/Makefile.am.orig Mon Mar 25 08:06:23 2013 ++++ ld/Makefile.am +@@ -145,12 +145,14 @@ ALL_EMULATION_SOURCES = \ + earmelf_linux_eabi.c \ + earmelf_nacl.c \ + earmelf_nbsd.c \ ++ earmelf_nbsd_eabi.c \ + earmelf_vxworks.c \ + earmelfb.c \ + earmelfb_linux.c \ + earmelfb_linux_eabi.c \ + earmelfb_nacl.c \ + earmelfb_nbsd.c \ ++ earmelfb_nbsd_eabi.c \ + earmnbsd.c \ + earmnto.c \ + earmpe.c \ +@@ -731,6 +733,11 @@ earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)" ++earmelf_nbsd_abi.c: $(srcdir)/emulparams/armelf_nbsd_abi.sh \ ++ $(srcdir)/emulparams/armelf.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ ++ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} armelf_nbsd_abi "$(tdir_armelf_nbsd_abi)" + earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \ +@@ -766,6 +773,12 @@ earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)" ++earmelfb_nbsd_abi.c: $(srcdir)/emulparams/armelfb_nbsd_abi.sh \ ++ $(srcdir)/emulparams/armelf_nbsd_abi.sh \ ++ $(srcdir)/emulparams/armelf.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ ++ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} armelfb_nbsd_abi "$(tdir_armelfb_nbsd_abi)" + earmnbsd.c: $(srcdir)/emulparams/armnbsd.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armnbsd "$(tdir_armnbsd)" +@@ -2219,6 +2232,8 @@ endif + # because almost all configs use "gen" version of manual. + # Set DOCVER above to change. + configdoc.texi: ${DOCVER}-doc.texi ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_configdoc.texi: + cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi + chmod u+w ./configdoc.texi + +@@ -2226,6 +2241,8 @@ configdoc.texi: ${DOCVER}-doc.texi + # The sed command removes the no-adjust Nroff command so that + # the man output looks standard. + ld.1: $(srcdir)/ld.texinfo configdoc.texi ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_ld.1: + touch $@ + -$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texinfo > ld.pod + -($(POD2MAN) ld.pod | \ diff --git a/devel/binutils/patches/patch-ld_Makefile.in b/devel/binutils/patches/patch-ld_Makefile.in new file mode 100644 index 000000000..13555d424 --- /dev/null +++ b/devel/binutils/patches/patch-ld_Makefile.in @@ -0,0 +1,42 @@ +$NetBSD$ + +--- ld/Makefile.in.orig Mon Mar 25 08:06:23 2013 ++++ ld/Makefile.in +@@ -450,6 +450,7 @@ ALL_EMULATION_SOURCES = \ + earmelf_fbsd.c \ + earmelf_linux.c \ + earmelf_linux_eabi.c \ ++ earmelf_minix.c \ + earmelf_nacl.c \ + earmelf_nbsd.c \ + earmelf_vxworks.c \ +@@ -572,6 +573,7 @@ ALL_EMULATION_SOURCES = \ + eelf_i386_chaos.c \ + eelf_i386_fbsd.c \ + eelf_i386_ldso.c \ ++ eelf_i386_minix.c \ + eelf_i386_nacl.c \ + eelf_i386_sol2.c \ + eelf_i386_vxworks.c \ +@@ -2189,6 +2191,10 @@ earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linu + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)" ++earmelf_minix.c: $(srcdir)/emulparams/armelf_minix.sh \ ++ $(srcdir)/emulparams/armelf.sh \ ++ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} armelf_minix "$(tdir_armelf_minix)" + earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \ + $(srcdir)/emulparams/armelf_linux_eabi.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ +@@ -2698,6 +2704,10 @@ eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.s + eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)" ++eelf_i386_minix.c: $(srcdir)/emulparams/elf_i386_minix.sh \ ++ $(srcdir)/emulparams/elf_i386.sh \ ++ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} elf_i386_minix "$(tdir_elf_i386_minix)" + eelf_i386_nacl.c: $(srcdir)/emulparams/elf_i386_nacl.sh \ + $(srcdir)/emulparams/elf_i386.sh \ + $(srcdir)/emulparams/elf_nacl.sh \ diff --git a/devel/binutils/patches/patch-ld_configdoc.texi b/devel/binutils/patches/patch-ld_configdoc.texi new file mode 100644 index 000000000..662f03b56 --- /dev/null +++ b/devel/binutils/patches/patch-ld_configdoc.texi @@ -0,0 +1,32 @@ +$NetBSD$ + +--- ld/configdoc.texi.orig Tue Nov 13 14:19:33 2012 ++++ ld/configdoc.texi +@@ -1,27 +0,0 @@ +-@c ------------------------------ CONFIGURATION VARS: +-@c 1. Inclusiveness of this manual +-@set GENERIC +- +-@c 2. Specific target machines +-@set ARM +-@set C6X +-@set H8300 +-@set HPPA +-@set I960 +-@set M68HC11 +-@set M68K +-@set MMIX +-@set MSP430 +-@set POWERPC +-@set POWERPC64 +-@set Renesas +-@set SPU +-@set TICOFF +-@set WIN32 +-@set XTENSA +- +-@c 3. Properties of this configuration +-@clear SingleFormat +-@set UsesEnvVars +-@c ------------------------------ end CONFIGURATION VARS +- diff --git a/devel/binutils/patches/patch-ld_configure.tgt b/devel/binutils/patches/patch-ld_configure.tgt index 2823624e0..027e405c1 100644 --- a/devel/binutils/patches/patch-ld_configure.tgt +++ b/devel/binutils/patches/patch-ld_configure.tgt @@ -1,19 +1,22 @@ -$NetBSD: patch-ld_configure.tgt,v 1.3 2015/09/03 20:55:55 sevan Exp $ +$NetBSD$ -Add Bitrig/amd64 support -https://sourceware.org/bugzilla/show_bug.cgi?id=18920 - ---- ld/configure.tgt.orig Thu Sep 3 17:11:33 2015 +--- ld/configure.tgt.orig Tue Sep 4 12:53:47 2012 +++ ld/configure.tgt -@@ -282,6 +283,11 @@ x86_64-*-netbsd*) targ_emul=elf_x86_64 - *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ - sed -e 's/netbsd/netbsdelf/'`;; - esac ;; -+i[3-7]86-*-bitrig*) targ_emul=i386nbsd -+ targ_extra_emuls=elf_i386 ;; -+x86_64-*-bitrig*) targ_emul=elf_x86_64 -+ targ_extra_emuls="elf_i386 i386nbsd elf_l1om elf_k1om" -+ ;; - i[3-7]86-*-netware) targ_emul=i386nw ;; - i[3-7]86-*-elf*) targ_emul=elf_i386 ;; - x86_64-*-elf*) targ_emul=elf_x86_64 +@@ -76,6 +76,8 @@ arm-*-rtems*) targ_emul=armelf ;; + armeb-*-elf) targ_emul=armelfb ;; + arm-*-elf | arm*-*-eabi*) + targ_emul=armelf ;; ++arm*-*-minix*) targ_emul=armelf_minix ++ targ_extra_emuls="armelf" ;; + arm*-*-symbianelf*) targ_emul=armsymbian;; + arm-*-kaos*) targ_emul=armelf ;; + arm9e-*-elf) targ_emul=armelf ;; +@@ -202,6 +204,8 @@ i[3-7]86-*-bsd) targ_emul=i386bsd ;; + i[3-7]86-*-bsd386) targ_emul=i386bsd ;; + i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; + i[3-7]86-*-aout) targ_emul=i386aout ;; ++i[3-7]86-*-minix) targ_emul=elf_i386_minix ++ targ_extra_emuls="elf_i386" ;; + i[3-7]86-*-linux*aout*) targ_emul=i386linux + targ_extra_emuls=elf_i386 + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; diff --git a/devel/binutils/patches/patch-ld_emulparams_armelf__minix.sh b/devel/binutils/patches/patch-ld_emulparams_armelf__minix.sh new file mode 100644 index 000000000..efe988b83 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_armelf__minix.sh @@ -0,0 +1,20 @@ +$NetBSD$ + +--- ld/emulparams/armelf_minix.sh.orig Mon May 19 14:12:58 2014 ++++ ld/emulparams/armelf_minix.sh +@@ -0,0 +1,15 @@ ++. ${srcdir}/emulparams/armelf.sh ++. ${srcdir}/emulparams/elf_minix.sh ++OUTPUT_FORMAT="elf32-littlearm" ++MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ++ ++DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; ++ ++# Dynamic libraries support ++GENERATE_SHLIB_SCRIPT=yes ++TARGET2_TYPE=got-rel ++ ++GENERATE_PIE_SCRIPT=yes ++ ++unset EMBEDDED diff --git a/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd.sh b/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd.sh new file mode 100644 index 000000000..9eb473ea9 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd.sh @@ -0,0 +1,17 @@ +$NetBSD$ + +--- ld/emulparams/armelf_nbsd.sh.orig Tue May 30 16:45:32 2006 ++++ ld/emulparams/armelf_nbsd.sh +@@ -3,5 +3,12 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" + TEXT_START_ADDR=0x00008000 + TARGET2_TYPE=got-rel + ++unset DATA_START_SYMBOLS + unset STACK_ADDR + unset EMBEDDED ++ ++case "$target" in ++ arm*-*-netbsdelf*-*eabi*) ++ LIB_PATH='=/usr/lib/oabi' ++ ;; ++esac diff --git a/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd__eabi.sh b/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd__eabi.sh new file mode 100644 index 000000000..051b612b7 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_armelf__nbsd__eabi.sh @@ -0,0 +1,23 @@ +$NetBSD$ + +--- ld/emulparams/armelf_nbsd_eabi.sh.orig Mon May 19 14:12:58 2014 ++++ ld/emulparams/armelf_nbsd_eabi.sh +@@ -0,0 +1,18 @@ ++. ${srcdir}/emulparams/armelf_nbsd.sh ++ ++# Use the ARM ABI-compliant exception-handling sections. ++OTHER_READONLY_SECTIONS=" ++ .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } ++ ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); } ++ .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } ++ ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }" ++ ++unset LIB_PATH ++ ++case "$target" in ++ arm*-*-netbsdelf*-*eabi*) ++ ;; ++ arm*-*-netbsdelf*) ++ LIB_PATH='=/usr/lib/eabi' ++ ;; ++esac diff --git a/devel/binutils/patches/patch-ld_emulparams_armelfb__nbsd__eabi.sh b/devel/binutils/patches/patch-ld_emulparams_armelfb__nbsd__eabi.sh new file mode 100644 index 000000000..b152578fd --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_armelfb__nbsd__eabi.sh @@ -0,0 +1,7 @@ +$NetBSD$ + +--- ld/emulparams/armelfb_nbsd_eabi.sh.orig Mon May 19 14:12:58 2014 ++++ ld/emulparams/armelfb_nbsd_eabi.sh +@@ -0,0 +1,2 @@ ++. ${srcdir}/emulparams/armelf_nbsd_eabi.sh ++OUTPUT_FORMAT="elf32-bigarm" diff --git a/devel/binutils/patches/patch-ld_emulparams_elf32__sparc.sh b/devel/binutils/patches/patch-ld_emulparams_elf32__sparc.sh new file mode 100644 index 000000000..3054c95fc --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_elf32__sparc.sh @@ -0,0 +1,12 @@ +$NetBSD$ + +--- ld/emulparams/elf32_sparc.sh.orig Mon Sep 20 18:41:15 2010 ++++ ld/emulparams/elf32_sparc.sh +@@ -13,6 +13,7 @@ MACHINE= + TEMPLATE_NAME=elf32 + DATA_PLT= + GENERATE_SHLIB_SCRIPT=yes ++#ELFSIZE=32 + GENERATE_PIE_SCRIPT=yes + NOP=0x01000000 + NO_SMALL_DATA=yes diff --git a/devel/binutils/patches/patch-ld_emulparams_elf32bmipn32-defs.sh b/devel/binutils/patches/patch-ld_emulparams_elf32bmipn32-defs.sh new file mode 100644 index 000000000..9a5a3d965 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_elf32bmipn32-defs.sh @@ -0,0 +1,12 @@ +$NetBSD$ + +--- ld/emulparams/elf32bmipn32-defs.sh.orig Tue Sep 4 14:14:28 2012 ++++ ld/emulparams/elf32bmipn32-defs.sh +@@ -6,6 +6,7 @@ SCRIPT_NAME=elf + + # Handle both big- and little-ended 32-bit MIPS objects. + ARCH=mips ++MACHINE= + OUTPUT_FORMAT="elf32-bigmips" + BIG_OUTPUT_FORMAT="elf32-bigmips" + LITTLE_OUTPUT_FORMAT="elf32-littlemips" diff --git a/devel/binutils/patches/patch-ld_emulparams_elf64alpha__nbsd.sh b/devel/binutils/patches/patch-ld_emulparams_elf64alpha__nbsd.sh new file mode 100644 index 000000000..ed51f5d8b --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_elf64alpha__nbsd.sh @@ -0,0 +1,13 @@ +$NetBSD$ + +--- ld/emulparams/elf64alpha_nbsd.sh.orig Mon Dec 17 23:54:58 2001 ++++ ld/emulparams/elf64alpha_nbsd.sh +@@ -1,2 +1,8 @@ + . ${srcdir}/emulparams/elf64alpha.sh + ENTRY=__start ++ ++NOP=0x47ff041f ++# XXX binutils 2.13 ++# Note that the number is always big-endian, thus we have to ++# reverse the digit string. ++#NOP=0x0000fe2f1f04ff47 # unop; nop diff --git a/devel/binutils/patches/patch-ld_emulparams_elf__i386.sh b/devel/binutils/patches/patch-ld_emulparams_elf__i386.sh new file mode 100644 index 000000000..d19bc790a --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_elf__i386.sh @@ -0,0 +1,19 @@ +$NetBSD$ + +--- ld/emulparams/elf_i386.sh.orig Mon Jun 11 13:23:50 2012 ++++ ld/emulparams/elf_i386.sh +@@ -9,7 +9,14 @@ ARCH=i386 + MACHINE= + TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes ++#ELFSIZE=32 + GENERATE_PIE_SCRIPT=yes + NO_SMALL_DATA=yes + SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0" + IREL_IN_PLT= ++ ++case "$target" in ++ x86_64-*-netbsd*) ++ LIB_PATH='=/usr/lib/i386' ++ ;; ++esac diff --git a/devel/binutils/patches/patch-ld_emulparams_elf__i386__minix.sh b/devel/binutils/patches/patch-ld_emulparams_elf__i386__minix.sh new file mode 100644 index 000000000..77b8f5e17 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_elf__i386__minix.sh @@ -0,0 +1,8 @@ +$NetBSD$ + +--- ld/emulparams/elf_i386_minix.sh.orig Mon May 19 14:12:58 2014 ++++ ld/emulparams/elf_i386_minix.sh +@@ -0,0 +1,3 @@ ++. ${srcdir}/emulparams/elf_i386.sh ++. ${srcdir}/emulparams/elf_minix.sh ++OUTPUT_FORMAT="elf32-i386-minix" diff --git a/devel/binutils/patches/patch-ld_emulparams_elf__minix.sh b/devel/binutils/patches/patch-ld_emulparams_elf__minix.sh new file mode 100644 index 000000000..bab0e0d69 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_elf__minix.sh @@ -0,0 +1,6 @@ +$NetBSD$ + +--- ld/emulparams/elf_minix.sh.orig Mon May 19 14:12:58 2014 ++++ ld/emulparams/elf_minix.sh +@@ -0,0 +1 @@ ++ELF_INTERPRETER_NAME=\"/libexec/ld-elf.so.1\" diff --git a/devel/binutils/patches/patch-ld_emulparams_hppalinux.sh b/devel/binutils/patches/patch-ld_emulparams_hppalinux.sh new file mode 100644 index 000000000..1680e1559 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_hppalinux.sh @@ -0,0 +1,11 @@ +$NetBSD$ + +--- ld/emulparams/hppalinux.sh.orig Fri Feb 18 18:20:29 2011 ++++ ld/emulparams/hppalinux.sh +@@ -1,5 +1,5 @@ + # If you change this file, please also look at files which source this one: +-# hppanbsd.sh ++# hppanbsd.sh hppaobsd.sh + + SCRIPT_NAME=elf + ELFSIZE=32 diff --git a/devel/binutils/patches/patch-ld_emulparams_hppaobsd.sh b/devel/binutils/patches/patch-ld_emulparams_hppaobsd.sh new file mode 100644 index 000000000..17a6ce2e5 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_hppaobsd.sh @@ -0,0 +1,10 @@ +$NetBSD$ + +--- ld/emulparams/hppaobsd.sh.orig Tue May 30 16:45:32 2006 ++++ ld/emulparams/hppaobsd.sh +@@ -1,4 +1,4 @@ +-. ${srcdir}/emulparams/hppanbsd.sh ++. ${srcdir}/emulparams/hppalinux.sh + + OUTPUT_FORMAT="elf32-hppa" + TEXT_START_ADDR=0x1000 diff --git a/devel/binutils/patches/patch-ld_emulparams_m68kelf.sh b/devel/binutils/patches/patch-ld_emulparams_m68kelf.sh new file mode 100644 index 000000000..b9548e23b --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_m68kelf.sh @@ -0,0 +1,11 @@ +$NetBSD$ + +--- ld/emulparams/m68kelf.sh.orig Tue Sep 29 16:28:52 2009 ++++ ld/emulparams/m68kelf.sh +@@ -10,5 +10,6 @@ NOP=0x4e714e71 + TEMPLATE_NAME=elf32 + EXTRA_EM_FILE=m68kelf + GENERATE_SHLIB_SCRIPT=yes ++ELFSIZE=32 + GENERATE_PIE_SCRIPT=yes + NO_SMALL_DATA=yes diff --git a/devel/binutils/patches/patch-ld_emulparams_m68kelfnbsd.sh b/devel/binutils/patches/patch-ld_emulparams_m68kelfnbsd.sh new file mode 100644 index 000000000..1a03fef47 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_m68kelfnbsd.sh @@ -0,0 +1,10 @@ +$NetBSD$ + +--- ld/emulparams/m68kelfnbsd.sh.orig Tue Dec 18 13:26:26 2001 ++++ ld/emulparams/m68kelfnbsd.sh +@@ -1,4 +1,4 @@ + . ${srcdir}/emulparams/m68kelf.sh + TEXT_START_ADDR=0x2000 + TARGET_PAGE_SIZE=0x2000 +-MACHINE= ++NONPAGED_TEXT_START_ADDR=${TEXT_START_ADDR} diff --git a/devel/binutils/patches/patch-ld_emulparams_sh.sh b/devel/binutils/patches/patch-ld_emulparams_sh.sh new file mode 100644 index 000000000..24840b967 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_sh.sh @@ -0,0 +1,13 @@ +$NetBSD$ + +--- ld/emulparams/sh.sh.orig Thu Nov 22 09:08:04 2001 ++++ ld/emulparams/sh.sh +@@ -3,6 +3,6 @@ + + SCRIPT_NAME=sh + OUTPUT_FORMAT="coff-sh" +-TEXT_START_ADDR=0x8000 +-TARGET_PAGE_SIZE=128 ++TEXT_START_ADDR=0x1000 ++TARGET_PAGE_SIZE=0x1000 + ARCH=sh diff --git a/devel/binutils/patches/patch-ld_emulparams_shelf__nbsd.sh b/devel/binutils/patches/patch-ld_emulparams_shelf__nbsd.sh new file mode 100644 index 000000000..bca7646d4 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emulparams_shelf__nbsd.sh @@ -0,0 +1,17 @@ +$NetBSD$ + +--- ld/emulparams/shelf_nbsd.sh.orig Tue Jan 15 23:05:46 2008 ++++ ld/emulparams/shelf_nbsd.sh +@@ -9,7 +9,11 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" + + DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; + +-ENTRY=_start ++ENTRY=__start + + unset EMBEDDED + unset OTHER_SECTIONS ++ ++OTHER_READWRITE_SECTIONS=' ++ .note.ABI-tag : { *(.note.ABI-tag) } ++' diff --git a/devel/binutils/patches/patch-ld_emultempl_elf32.em b/devel/binutils/patches/patch-ld_emultempl_elf32.em new file mode 100644 index 000000000..7c025d0e7 --- /dev/null +++ b/devel/binutils/patches/patch-ld_emultempl_elf32.em @@ -0,0 +1,157 @@ +$NetBSD$ + +--- ld/emultempl/elf32.em.orig Mon Mar 25 08:06:23 2013 ++++ ld/emultempl/elf32.em +@@ -72,6 +72,9 @@ EOF + + if [ "x${USE_LIBPATH}" = xyes ] ; then + case ${target} in ++ *-*-netbsd*) ++ ;; ++ + *-*-linux-* | *-*-k*bsd*-* | *-*-gnu*) + fragment <name; + size_t len; + struct dt_needed needed; + +- if (name[0] == '/') ++ if (name[0] == '/') { ++ if (prepend_sysroot && ld_sysroot) { ++ bfd_boolean rv; ++ needed.by = n->by; ++ char *filename= concat(ld_sysroot, n->name, (const char *)NULL); ++ needed.name = filename; ++ rv = gld${EMULATION_NAME}_try_needed (&needed, force); ++ free(filename); ++ return rv; ++ } + return gld${EMULATION_NAME}_try_needed (n, force); ++ } + + if (path == NULL || *path == '\0') + return FALSE; +@@ -501,6 +518,13 @@ gld${EMULATION_NAME}_search_needed (const char *path, + } + strcpy (sset, name); + ++ if (prepend_sysroot && filename[0] == '=') ++ abort(); ++ if (filename[0] == '/' && prepend_sysroot && ld_sysroot) { ++ char *filename2 = concat(ld_sysroot, filename, (const char *)NULL); ++ free(filename); ++ filename = filename2; ++ } + needed.name = filename; + if (gld${EMULATION_NAME}_try_needed (&needed, force)) + return TRUE; +@@ -621,6 +645,9 @@ EOF + # FreeBSD + ;; + ++ *-*-netbsd*) ++ ;; ++ + *-*-linux-* | *-*-k*bsd*-* | *-*-gnu*) + fragment <next) + { +- char *tmpname = gld${EMULATION_NAME}_add_sysroot (rp->name); + found = (rp->by == l->by +- && gld${EMULATION_NAME}_search_needed (tmpname, ++ && gld${EMULATION_NAME}_search_needed (rp->name, + &n, +- force)); +- free (tmpname); ++ force, 1)); + } + if (found) + break; +@@ -1315,6 +1340,9 @@ EOF + # FreeBSD + ;; + ++ *-*-netbsd*) ++ ;; ++ + *-*-linux-* | *-*-k*bsd*-* | *-*-gnu*) + # Linux + fragment <ignore_hash != NULL ++ && bfd_hash_lookup (info->ignore_hash, name, FALSE, FALSE) != NULL) ++ return TRUE; ++ + if (config.warn_once) + { +- static struct bfd_hash_table *hash; +- + /* Only warn once about a particular undefined symbol. */ +- if (hash == NULL) ++ if (info->ignore_hash == NULL) + { +- hash = (struct bfd_hash_table *) +- xmalloc (sizeof (struct bfd_hash_table)); +- if (!bfd_hash_table_init (hash, bfd_hash_newfunc, ++ info->ignore_hash = xmalloc (sizeof (struct bfd_hash_table)); ++ if (!bfd_hash_table_init (info->ignore_hash, bfd_hash_newfunc, + sizeof (struct bfd_hash_entry))) + einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); + } + +- if (bfd_hash_lookup (hash, name, FALSE, FALSE) != NULL) ++ if (bfd_hash_lookup (info->ignore_hash, name, FALSE, FALSE) != NULL) + return TRUE; + +- if (bfd_hash_lookup (hash, name, TRUE, TRUE) == NULL) ++ if (bfd_hash_lookup (info->ignore_hash, name, TRUE, TRUE) == NULL) + einfo (_("%F%P: bfd_hash_lookup failed: %E\n")); + } + diff --git a/devel/binutils/patches/patch-ld_ldmain.h b/devel/binutils/patches/patch-ld_ldmain.h new file mode 100644 index 000000000..2f73c714b --- /dev/null +++ b/devel/binutils/patches/patch-ld_ldmain.h @@ -0,0 +1,12 @@ +$NetBSD$ + +--- ld/ldmain.h.orig Fri Jul 13 13:20:26 2012 ++++ ld/ldmain.h +@@ -41,6 +41,7 @@ extern int overflow_cutoff_limit; + + extern void add_ysym (const char *); + extern void add_wrap (const char *); ++extern void add_ignoresym (const char *); + extern void add_keepsyms_file (const char *); + + #endif diff --git a/devel/binutils/patches/patch-ld_lexsup.c b/devel/binutils/patches/patch-ld_lexsup.c new file mode 100644 index 000000000..5d554784e --- /dev/null +++ b/devel/binutils/patches/patch-ld_lexsup.c @@ -0,0 +1,38 @@ +$NetBSD$ + +--- ld/lexsup.c.orig Mon Mar 25 08:06:23 2013 ++++ ld/lexsup.c +@@ -398,7 +398,7 @@ static const struct ld_option ld_options[] = + ONE_DASH }, + { {"shared", no_argument, NULL, OPTION_SHARED}, + '\0', NULL, N_("Create a shared library"), ONE_DASH }, +- { {"Bshareable", no_argument, NULL, OPTION_SHARED }, /* FreeBSD. */ ++ { {"Bshareable", no_argument, NULL, OPTION_SHARED }, /* FreeBSD, NetBSD. */ + '\0', NULL, NULL, ONE_DASH }, + { {"pie", no_argument, NULL, OPTION_PIE}, + '\0', NULL, N_("Create a position independent executable"), ONE_DASH }, +@@ -496,8 +496,14 @@ static const struct ld_option ld_options[] = + { {"whole-archive", no_argument, NULL, OPTION_WHOLE_ARCHIVE}, + '\0', NULL, N_("Include all objects from following archives"), + TWO_DASHES }, ++ { {"Bforcearchive", no_argument, NULL, OPTION_WHOLE_ARCHIVE}, ++ '\0', NULL, NULL, TWO_DASHES }, /* NetBSD. */ + { {"wrap", required_argument, NULL, OPTION_WRAP}, + '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES }, ++ { {"ignore-unresolved-symbol", required_argument, NULL, ++ OPTION_IGNORE_UNRESOLVED_SYMBOL}, ++ '\0', N_("SYMBOL"), ++ N_("Unresolved SYMBOL will not cause an error or warning"), TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -1343,6 +1349,9 @@ parse_args (unsigned argc, char **argv) + break; + case OPTION_WRAP: + add_wrap (optarg); ++ break; ++ case OPTION_IGNORE_UNRESOLVED_SYMBOL: ++ add_ignoresym (optarg); + break; + case OPTION_DISCARD_NONE: + link_info.discard = discard_none; diff --git a/devel/binutils/patches/patch-ld_scripttempl_elf.sc b/devel/binutils/patches/patch-ld_scripttempl_elf.sc new file mode 100644 index 000000000..a4cf0638e --- /dev/null +++ b/devel/binutils/patches/patch-ld_scripttempl_elf.sc @@ -0,0 +1,13 @@ +$NetBSD$ + +--- ld/scripttempl/elf.sc.orig Mon Mar 25 08:06:23 2013 ++++ ld/scripttempl/elf.sc +@@ -94,6 +94,8 @@ + # + # Each of these can also have corresponding .rel.* and .rela.* sections. + ++test -z "$TEXT_START_SYMBOLS" && TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .);" ++test -z "$ENTRY" && ENTRY=_start + if test -n "$NOP"; then + FILL="=$NOP" + else diff --git a/devel/binutils/patches/patch-ld_scripttempl_sh.sc b/devel/binutils/patches/patch-ld_scripttempl_sh.sc new file mode 100644 index 000000000..06e0c8e82 --- /dev/null +++ b/devel/binutils/patches/patch-ld_scripttempl_sh.sc @@ -0,0 +1,62 @@ +$NetBSD$ + +--- ld/scripttempl/sh.sc.orig Wed Sep 25 17:06:09 2002 ++++ ld/scripttempl/sh.sc +@@ -6,17 +6,14 @@ TORS=".tors : + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; +- } > ram" ++ }" + ++ + cat < ram} ++ } + ${CONSTRUCTING+${TORS}} +- .data : ++ .data ${RELOCATING+ ALIGN(${TARGET_PAGE_SIZE})} : + { + *(.data) + ${RELOCATING+*(.gcc_exc*)} +@@ -35,19 +32,19 @@ SECTIONS + ${RELOCATING+___EH_FRAME_END__ = . ;} + ${RELOCATING+LONG(0);} + ${RELOCATING+ _edata = . ; } +- } ${RELOCATING+ > ram} +- .bss : ++ } ++ .bss ${RELOCATING+ ALIGN(${TARGET_PAGE_SIZE})} : + { + ${RELOCATING+ _bss_start = . ; } + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } +- } ${RELOCATING+ > ram} +- .stack ${RELOCATING+ 0x30000 } : ++ } ++ .stack : + { + ${RELOCATING+ _stack = . ; } + *(.stack) +- } ${RELOCATING+ > ram} ++ } + .stab 0 ${RELOCATING+(NOLOAD)} : + { + *(.stab) diff --git a/devel/binutils/patches/patch-libiberty_Makefile.in b/devel/binutils/patches/patch-libiberty_Makefile.in deleted file mode 100644 index e4cd4f649..000000000 --- a/devel/binutils/patches/patch-libiberty_Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-libiberty_Makefile.in,v 1.2 2014/01/06 14:58:41 wiz Exp $ - -Disable multilib. - ---- libiberty/Makefile.in.orig 2013-11-04 15:33:40.000000000 +0000 -+++ libiberty/Makefile.in -@@ -353,7 +353,6 @@ install-strip: install - # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the - # default multilib, so we have to take CFLAGS into account as well, - # since it will be passed the multilib flags. --MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` - install_to_libdir: all - if test -n "${target_header_dir}"; then \ - ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ diff --git a/devel/binutils/patches/patch-libiberty_floatformat.c b/devel/binutils/patches/patch-libiberty_floatformat.c new file mode 100644 index 000000000..e9a75e7e4 --- /dev/null +++ b/devel/binutils/patches/patch-libiberty_floatformat.c @@ -0,0 +1,16 @@ +$NetBSD$ + +--- libiberty/floatformat.c.orig Mon Jan 3 21:05:58 2011 ++++ libiberty/floatformat.c +@@ -489,7 +489,11 @@ floatformat_to_double (const struct floatformat *fmt, + if (nan) + dto = NAN; + else ++#ifdef __vax__ ++ dto = HUGE_VAL; ++#else + dto = INFINITY; ++#endif + + if (get_field (ufrom, fmt->byteorder, fmt->totalsize, fmt->sign_start, 1)) + dto = -dto; diff --git a/devel/binutils/patches/patch-libiberty_objalloc.c b/devel/binutils/patches/patch-libiberty_objalloc.c new file mode 100644 index 000000000..3d1fd5d05 --- /dev/null +++ b/devel/binutils/patches/patch-libiberty_objalloc.c @@ -0,0 +1,34 @@ +$NetBSD$ + +--- libiberty/objalloc.c.orig Fri Jul 22 03:26:05 2005 ++++ libiberty/objalloc.c +@@ -1,5 +1,5 @@ + /* objalloc.c -- routines to allocate memory for objects +- Copyright 1997 Free Software Foundation, Inc. ++ Copyright 1997-2012 Free Software Foundation, Inc. + Written by Ian Lance Taylor, Cygnus Solutions. + + This program is free software; you can redistribute it and/or modify it +@@ -112,14 +112,21 @@ objalloc_create (void) + /* Allocate space from an objalloc structure. */ + + PTR +-_objalloc_alloc (struct objalloc *o, unsigned long len) ++_objalloc_alloc (struct objalloc *o, unsigned long original_len) + { ++ unsigned long len = original_len; ++ + /* We avoid confusion from zero sized objects by always allocating + at least 1 byte. */ + if (len == 0) + len = 1; + + len = (len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1); ++ ++ /* Check for overflow in the alignment operation above and the ++ malloc argument below. */ ++ if (len + CHUNK_HEADER_SIZE < original_len) ++ return NULL; + + if (len <= o->current_space) + { diff --git a/devel/binutils/patches/patch-libiberty_strerror.c b/devel/binutils/patches/patch-libiberty_strerror.c new file mode 100644 index 000000000..c46d0d030 --- /dev/null +++ b/devel/binutils/patches/patch-libiberty_strerror.c @@ -0,0 +1,13 @@ +$NetBSD$ + +--- libiberty/strerror.c.orig Mon Mar 28 02:09:01 2005 ++++ libiberty/strerror.c +@@ -347,7 +347,7 @@ static const struct error_info error_table[] = + ENTRY(EPROTOTYPE, "EPROTOTYPE", "Protocol wrong type for socket"), + #endif + #if defined (ENOPROTOOPT) +- ENTRY(ENOPROTOOPT, "ENOPROTOOPT", "Protocol not available"), ++ ENTRY(ENOPROTOOPT, "ENOPROTOOPT", "Protocol option not available"), + #endif + #if defined (EPROTONOSUPPORT) + ENTRY(EPROTONOSUPPORT, "EPROTONOSUPPORT", "Protocol not supported"), diff --git a/devel/binutils/patches/patch-opcodes_cgen.sh b/devel/binutils/patches/patch-opcodes_cgen.sh new file mode 100644 index 000000000..0ff07fe52 --- /dev/null +++ b/devel/binutils/patches/patch-opcodes_cgen.sh @@ -0,0 +1,12 @@ +$NetBSD$ + +--- opcodes/cgen.sh.orig Sun Jun 14 16:36:56 2009 ++++ opcodes/cgen.sh +@@ -61,6 +61,7 @@ shift ; options=$9 + shift ; extrafiles=$9 + + rootdir=${srcdir}/.. ++move_if_change="${CONFIG_SHELL:-/bin/sh} ${rootdir}/move-if-change" + + # $arch is $6, as passed on the command line. + # $ARCH is the same argument but in all uppercase. diff --git a/devel/binutils/patches/patch-opcodes_configure b/devel/binutils/patches/patch-opcodes_configure new file mode 100644 index 000000000..122cb652c --- /dev/null +++ b/devel/binutils/patches/patch-opcodes_configure @@ -0,0 +1,19 @@ +$NetBSD$ + +--- opcodes/configure.orig Tue Sep 4 14:21:07 2012 ++++ opcodes/configure +@@ -12551,6 +12551,14 @@ if test x${all_targets} = xfalse ; then + # specified, as in sh3-elf, sh3b-linux-gnu, etc. + # Include it just for ELF targets, since the SH5 bfd:s are ELF only. + for t in $target $canon_targets; do ++ # For NetBSD we do NOT want SH5 support unless sh5 or sh64 ++ # is specified ++ case $t in ++ sh5*-* | sh64*-*) # let the case below handle it ++ ;; ++ sh*-*-netbsd* | sh*l*-*-netbsd*) ++ continue ;; ++ esac + case $t in + all | sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \ + sh-*-linux* | shl-*-linux*) diff --git a/devel/binutils/patches/patch-opcodes_configure.in b/devel/binutils/patches/patch-opcodes_configure.in new file mode 100644 index 000000000..1b68207e1 --- /dev/null +++ b/devel/binutils/patches/patch-opcodes_configure.in @@ -0,0 +1,19 @@ +$NetBSD$ + +--- opcodes/configure.in.orig Mon Nov 5 16:29:08 2012 ++++ opcodes/configure.in +@@ -296,6 +296,14 @@ if test x${all_targets} = xfalse ; then + # specified, as in sh3-elf, sh3b-linux-gnu, etc. + # Include it just for ELF targets, since the SH5 bfd:s are ELF only. + for t in $target $canon_targets; do ++ # For NetBSD we do NOT want SH5 support unless sh5 or sh64 ++ # is specified ++ case $t in ++ sh5*-* | sh64*-*) # let the case below handle it ++ ;; ++ sh*-*-netbsd* | sh*l*-*-netbsd*) ++ continue ;; ++ esac + case $t in + all | sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \ + sh-*-linux* | shl-*-linux*) diff --git a/devel/binutils/patches/patch-opcodes_mips-opc.c b/devel/binutils/patches/patch-opcodes_mips-opc.c new file mode 100644 index 000000000..bf156f8c7 --- /dev/null +++ b/devel/binutils/patches/patch-opcodes_mips-opc.c @@ -0,0 +1,27 @@ +$NetBSD$ + +--- opcodes/mips-opc.c.orig Tue Sep 4 14:21:10 2012 ++++ opcodes/mips-opc.c +@@ -791,10 +791,12 @@ const struct mips_opcode mips_builtin_opcodes[] = + {"hibernate","", 0x42000023, 0xffffffff, 0, 0, V1 }, + {"ins", "t,r,+A,+B", 0x7c000004, 0xfc00003f, WR_t|RD_s, 0, I33 }, + {"iret", "", 0x42000038, 0xffffffff, NODS, 0, MC }, ++{"jr", "s", 0, (int) M_JR_S, INSN_MACRO, 0, I1 }, + {"jr", "s", 0x00000008, 0xfc1fffff, UBD|RD_s, 0, I1 }, + /* jr.hb is officially MIPS{32,64}R2, but it works on R1 as jr with + the same hazard barrier effect. */ + {"jr.hb", "s", 0x00000408, 0xfc1fffff, UBD|RD_s, 0, I32 }, ++{"j", "s", 0, (int) M_J_S, INSN_MACRO, 0, I1 }, + {"j", "s", 0x00000008, 0xfc1fffff, UBD|RD_s, 0, I1 }, /* jr */ + /* SVR4 PIC code requires special handling for j, so it must be a + macro. */ +@@ -803,7 +805,9 @@ const struct mips_opcode mips_builtin_opcodes[] = + assembler, but will never match user input (because the line above + will match first). */ + {"j", "a", 0x08000000, 0xfc000000, UBD, 0, I1 }, ++{"jalr", "s", 0, (int) M_JALR_S, INSN_MACRO, 0, I1 }, + {"jalr", "s", 0x0000f809, 0xfc1fffff, UBD|RD_s|WR_d, 0, I1 }, ++{"jalr", "d,s", 0, (int) M_JALR_DS, INSN_MACRO, 0, I1 }, + {"jalr", "d,s", 0x00000009, 0xfc1f07ff, UBD|RD_s|WR_d, 0, I1 }, + /* jalr.hb is officially MIPS{32,64}R2, but it works on R1 as jalr + with the same hazard barrier effect. */