CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: christos Date: Mon Apr 26 15:38:11 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: fix typos To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.36 src/external/gpl3/binutils/dist/ld/configure.tgt:1.37 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.36 Sun Apr 25 19:35:52 2021 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Mon Apr 26 11:38:11 2021 @@ -508,7 +508,7 @@ mips64*el-*-netbsd*) targ_emul=elf32ltsm targ_extra_libpath=$targ_extra_emuls ;; mipsn64*el-*-netbsd*) targ_emul=elf64ltsmip - targ_extra_emuls="elf64btsmip elf64ltsmip elf32ltsmip elf32btsmip elf32btsmipn32 elf32ltsmip32" + targ_extra_emuls="elf64btsmip elf32ltsmip elf32btsmip elf32btsmipn32 elf32ltsmipn32" targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-netbsd*) targ_emul=elf32btsmipn32
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: rin Date: Thu Apr 22 01:09:48 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-ppc.c elf64-ppc.c Log Message: Fix regression where ld(1) is trapped into infinite loop when linking binary whose text does not fit within R_PPC_REL24. Reported upstream as Bug 27755: https://sourceware.org/bugzilla/show_bug.cgi?id=27755 This problem was introduced to binutils-2-31-1 for our tree. netbsd-9 is affected, while netbsd-8 is not. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c \ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.15 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.16 --- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.15 Fri Apr 3 23:48:46 2020 +++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c Thu Apr 22 01:09:48 2021 @@ -4235,7 +4235,7 @@ ppc_elf_inline_plt (struct bfd_link_info return FALSE; relend = relstart + sec->reloc_count; - for (rel = relstart; rel < relend; ) + for (rel = relstart; rel < relend; rel++) { enum elf_ppc_reloc_type r_type; unsigned long r_symndx; Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.15 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.16 --- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.15 Fri Apr 3 23:48:46 2020 +++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Thu Apr 22 01:09:48 2021 @@ -7507,7 +7507,7 @@ ppc64_elf_inline_plt (struct bfd_link_in return FALSE; relend = relstart + sec->reloc_count; - for (rel = relstart; rel < relend; ) + for (rel = relstart; rel < relend; rel++) { enum elf_ppc64_reloc_type r_type; unsigned long r_symndx;
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: skrll Date: Sat Feb 20 14:48:07 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf32bmip.sh elf32bmipn32-defs.sh Log Message: Reapply the following change - Simon's first attempt had a missing ';' release builds done for cobalt and evbmips64-eb Provide an __eprol symbol in TEXT_START_SYMBOLS. MIPS overrides TEXT_START_SYMBOLS so it misses out on the default definition of this that does provide an __eprol symbol. Fixes linking of profiled binaries. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh cvs rdiff -u -r1.9 -r1.10 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.3 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.4 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.3 Sat Feb 20 02:47:21 2021 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh Sat Feb 20 14:48:07 2021 @@ -56,7 +56,7 @@ OTHER_SDATA_SECTIONS=" .lit8 ${RELOCATING-0} : { *(.lit8) } .lit4 ${RELOCATING-0} : { *(.lit4) } " -TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};" OTHER_SECTIONS=" Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.9 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.10 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.9 Sat Feb 20 02:47:21 2021 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh Sat Feb 20 14:48:07 2021 @@ -78,7 +78,7 @@ OTHER_SDATA_SECTIONS=" " # Magic symbols. -TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: simonb Date: Sat Feb 20 02:47:21 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf32bmip.sh elf32bmipn32-defs.sh Log Message: Revert the MIPS __eprol change. Unintended fallout that doesn't appear easy to fix so far. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh cvs rdiff -u -r1.8 -r1.9 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.2 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.3 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.2 Fri Feb 19 03:42:02 2021 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh Sat Feb 20 02:47:21 2021 @@ -56,7 +56,7 @@ OTHER_SDATA_SECTIONS=" .lit8 ${RELOCATING-0} : { *(.lit8) } .lit4 ${RELOCATING-0} : { *(.lit4) } " -TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)}" +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};" OTHER_SECTIONS=" Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.9 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.8 Fri Feb 19 03:42:02 2021 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh Sat Feb 20 02:47:21 2021 @@ -78,7 +78,7 @@ OTHER_SDATA_SECTIONS=" " # Magic symbols. -TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: simonb Date: Fri Feb 19 03:42:02 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf32bmip.sh elf32bmipn32-defs.sh Log Message: Provide an __eprol symbol in TEXT_START_SYMBOLS. MIPS overrides TEXT_START_SYMBOLS so it misses out on the default definition of this that does provide an __eprol symbol. Fixes linking of profiled binaries. OK: christos@ To generate a diff of this commit: cvs rdiff -u -r1.1.1.5 -r1.2 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh cvs rdiff -u -r1.7 -r1.8 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.1.1.5 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.2 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.1.1.5 Fri Apr 3 23:40:04 2020 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh Fri Feb 19 03:42:02 2021 @@ -56,7 +56,7 @@ OTHER_SDATA_SECTIONS=" .lit8 ${RELOCATING-0} : { *(.lit8) } .lit4 ${RELOCATING-0} : { *(.lit4) } " -TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)}" DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};" OTHER_SECTIONS=" Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.7 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.8 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.7 Fri Apr 3 23:48:49 2020 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh Fri Feb 19 03:42:02 2021 @@ -78,7 +78,7 @@ OTHER_SDATA_SECTIONS=" " # Magic symbols. -TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
CVS commit: src/external/gpl3/binutils/dist/include/elf
Module Name:src Committed By: fcambus Date: Tue Feb 2 21:45:39 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/include/elf: common.h Log Message: Fix typo in the comments of local binutils patches: s/Servguard/Segvguard. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 \ src/external/gpl3/binutils/dist/include/elf/common.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/include/elf/common.h diff -u src/external/gpl3/binutils/dist/include/elf/common.h:1.12 src/external/gpl3/binutils/dist/include/elf/common.h:1.13 --- src/external/gpl3/binutils/dist/include/elf/common.h:1.12 Fri Apr 3 23:48:48 2020 +++ src/external/gpl3/binutils/dist/include/elf/common.h Tue Feb 2 21:45:39 2021 @@ -868,7 +868,7 @@ #define NT_NETBSD_PAX_MPROTECT 0x01 /* Force enable Mprotect */ #define NT_NETBSD_PAX_NOMPROTECT 0x02 /* Force disable Mprotect */ #define NT_NETBSD_PAX_GUARD 0x04 /* Force enable Segvguard */ -#define NT_NETBSD_PAX_NOGUARD 0x08/* Force disable Servguard */ +#define NT_NETBSD_PAX_NOGUARD 0x08/* Force disable Segvguard */ #define NT_NETBSD_PAX_ASLR 0x10 /* Force enable ASLR */ #define NT_NETBSD_PAX_NOASLR 0x20 /* Force disable ASLR */
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: fcambus Date: Mon Feb 1 18:36:32 UTC 2021 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf32lriscv.sh elf32lriscv_ilp32.sh elf32lriscv_ilp32f.sh Log Message: Fix typos in the comments of local binutils patches: it's ILP32, not IPL32. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh cvs rdiff -u -r1.3 -r1.4 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh \ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh:1.6 src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh:1.7 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh:1.6 Fri Apr 3 23:48:49 2020 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh Mon Feb 1 18:36:32 2021 @@ -12,7 +12,7 @@ case "$target" in LIBPATH_SUFFIX="32/ilp32d 32" ;; esac ;; - # NetBSD puts IPL32 libraries in rv32 subdirectory. + # NetBSD puts ILP32 libraries in rv32 subdirectory. # XXX d vs f vs "" riscv64-*-netbsd*) case "$EMULATION_NAME" in Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh:1.3 src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh:1.4 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh:1.3 Fri Apr 3 23:48:49 2020 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh Mon Feb 1 18:36:32 2021 @@ -11,7 +11,7 @@ case "$target" in LIBPATH_SUFFIX="32/ilp32 32" ;; esac ;; - # NetBSD puts IPL32 libraries in rv32 subdirectory. + # NetBSD puts ILP32 libraries in rv32 subdirectory. # XXX d vs f vs "" riscv64-*-netbsd*) case "$EMULATION_NAME" in Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh:1.3 src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh:1.4 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh:1.3 Fri Apr 3 23:48:49 2020 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh Mon Feb 1 18:36:32 2021 @@ -11,7 +11,7 @@ case "$target" in LIBPATH_SUFFIX="32/ilp32f 32" ;; esac ;; - # NetBSD puts IPL32 libraries in rv32 subdirectory. + # NetBSD puts ILP32 libraries in rv32 subdirectory. # XXX d vs f vs "" riscv64-*-netbsd*) case "$EMULATION_NAME" in
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: rin Date: Mon Oct 19 12:47:53 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-aarch64.c Log Message: Fix assembling "isb sy" for aarch64{,eb} on LP64BE architectures. Cherry-picked from upstream: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=05cfb0d8cc9b7f8676f5ae55a93642f091d5405f;hp=0ec992e6647c00fc234cdf4c11732b6711b024af Now, working kernel can be self-built on aarch64eb. Thanks to ryo@ for fixing and upstreaming this! To generate a diff of this commit: cvs rdiff -u -r1.1.1.6 -r1.2 \ src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c:1.1.1.6 src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c:1.2 --- src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c:1.1.1.6 Fri Apr 3 23:40:11 2020 +++ src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c Mon Oct 19 12:47:53 2020 @@ -250,12 +250,6 @@ set_fatal_syntax_error (const char *erro typedef struct { const char *template; - unsigned long value; -} asm_barrier_opt; - -typedef struct -{ - const char *template; uint32_t value; } asm_nzcv; @@ -3994,7 +3988,7 @@ static int parse_barrier (char **str) { char *p, *q; - const asm_barrier_opt *o; + const struct aarch64_name_value_pair *o; p = q = *str; while (ISALPHA (*q))
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: mrg Date: Sun Sep 13 21:14:02 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: merge riscv*-netbsd* target support. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.34 src/external/gpl3/binutils/dist/ld/configure.tgt:1.35 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.34 Thu Apr 9 16:12:28 2020 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Sun Sep 13 21:14:01 2020 @@ -788,7 +788,8 @@ powerpc-*-lynxos*) targ_emul=ppclynx ;; pru*-*-*) targ_emul=pruelf ;; -riscv32*-*-linux*) targ_emul=elf32lriscv +riscv32*-*-linux* | riscv-*-netbsd* | riscv32*-*-netbsd*) + targ_emul=elf32lriscv targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64" targ_extra_libpath=$targ_extra_emuls ;; @@ -797,7 +798,8 @@ riscv-*-* | riscv32*-*-*) targ_extra_emuls="elf64lriscv" targ_extra_libpath=$targ_extra_emuls ;; -riscv64*-*-linux*) targ_emul=elf64lriscv +riscv64*-*-linux* | riscv64*-*-netbsd*) + targ_emul=elf64lriscv targ_extra_emuls="elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32" targ_extra_libpath=$targ_extra_emuls ;;
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: dogcow Date: Mon Sep 7 19:46:45 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/bfd: Makefile.am Makefile.in Log Message: Fix `build.sh tools -j1` compilation, where bfd.h wasn't generated early enough. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/Makefile.am cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/Makefile.in Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/Makefile.am diff -u src/external/gpl3/binutils/dist/bfd/Makefile.am:1.7 src/external/gpl3/binutils/dist/bfd/Makefile.am:1.8 --- src/external/gpl3/binutils/dist/bfd/Makefile.am:1.7 Fri Apr 3 23:48:45 2020 +++ src/external/gpl3/binutils/dist/bfd/Makefile.am Mon Sep 7 19:46:45 2020 @@ -363,6 +363,7 @@ BFD32_BACKENDS = \ i386bsd.lo \ i386lynx.lo \ i386msdos.lo \ + i386netbsd.lo \ mach-o.lo \ mach-o-i386.lo \ mach-o-arm.lo \ @@ -499,6 +500,7 @@ BFD32_BACKENDS_CFILES = \ i386bsd.c \ i386lynx.c \ i386msdos.c \ + i386netbsd.c \ mach-o.c \ mach-o-i386.c \ mach-o-arm.c \ Index: src/external/gpl3/binutils/dist/bfd/Makefile.in diff -u src/external/gpl3/binutils/dist/bfd/Makefile.in:1.8 src/external/gpl3/binutils/dist/bfd/Makefile.in:1.9 --- src/external/gpl3/binutils/dist/bfd/Makefile.in:1.8 Fri Apr 3 23:48:45 2020 +++ src/external/gpl3/binutils/dist/bfd/Makefile.in Mon Sep 7 19:46:45 2020 @@ -792,6 +792,7 @@ BFD32_BACKENDS = \ i386bsd.lo \ i386lynx.lo \ i386msdos.lo \ + i386netbsd.lo \ mach-o.lo \ mach-o-i386.lo \ mach-o-arm.lo \ @@ -930,6 +931,7 @@ BFD32_BACKENDS_CFILES = \ i386bsd.c \ i386lynx.c \ i386msdos.c \ + i386netbsd.c \ mach-o.c \ mach-o-i386.c \ mach-o-arm.c \ @@ -1537,6 +1539,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386bsd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386lynx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386msdos.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386netbsd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ihex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irix-core.Plo@am__quote@
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Sat Aug 8 19:26:09 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd configure configure.ac targets.c Added Files: src/external/gpl3/binutils/dist/bfd: i386netbsd.c Log Message: Put back the a.out netbsd and bsd vector. They are useful for debugging old a.out binaries and take ~0 space. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/external/gpl3/binutils/dist/bfd/config.bfd cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/configure cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/configure.ac cvs rdiff -u -r0 -r1.3 src/external/gpl3/binutils/dist/bfd/i386netbsd.c cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/bfd/targets.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.32 src/external/gpl3/binutils/dist/bfd/config.bfd:1.33 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.32 Fri Apr 3 19:48:45 2020 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Sat Aug 8 15:26:09 2020 @@ -622,7 +622,7 @@ case "${targ}" in ;; i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) targ_defvec=i386_elf32_vec -targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" +targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec i386_aout_bsd_vec i386_aout_nbsd_vec" targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec" ;; i[3-7]86-*-netbsdpe*) @@ -686,7 +686,7 @@ case "${targ}" in ;; x86_64-*-netbsd* | x86_64-*-openbsd*) targ_defvec=x86_64_elf64_vec -targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" +targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec i386_aout_bsd_vec i386_aout_nbsd_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" want64=true ;; x86_64-*-linux-*) Index: src/external/gpl3/binutils/dist/bfd/configure diff -u src/external/gpl3/binutils/dist/bfd/configure:1.15 src/external/gpl3/binutils/dist/bfd/configure:1.16 --- src/external/gpl3/binutils/dist/bfd/configure:1.15 Fri Apr 3 19:48:45 2020 +++ src/external/gpl3/binutils/dist/bfd/configure Sat Aug 8 15:26:09 2020 @@ -14752,6 +14752,7 @@ do i386_aout_vec) tb="$tb i386aout.lo aout32.lo" ;; i386_aout_bsd_vec) tb="$tb i386bsd.lo aout32.lo" ;; i386_aout_lynx_vec) tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;; +i386_aout_nbsd_vec) tb="$tb i386netbsd.lo aout32.lo" ;; i386_coff_vec) tb="$tb coff-i386.lo $coff" ;; i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; Index: src/external/gpl3/binutils/dist/bfd/configure.ac diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.8 src/external/gpl3/binutils/dist/bfd/configure.ac:1.9 --- src/external/gpl3/binutils/dist/bfd/configure.ac:1.8 Fri Apr 3 19:48:46 2020 +++ src/external/gpl3/binutils/dist/bfd/configure.ac Sat Aug 8 15:26:09 2020 @@ -488,6 +488,7 @@ do i386_aout_vec) tb="$tb i386aout.lo aout32.lo" ;; i386_aout_bsd_vec) tb="$tb i386bsd.lo aout32.lo" ;; i386_aout_lynx_vec) tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;; +i386_aout_nbsd_vec) tb="$tb i386netbsd.lo aout32.lo" ;; i386_coff_vec) tb="$tb coff-i386.lo $coff" ;; i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; Index: src/external/gpl3/binutils/dist/bfd/targets.c diff -u src/external/gpl3/binutils/dist/bfd/targets.c:1.11 src/external/gpl3/binutils/dist/bfd/targets.c:1.12 --- src/external/gpl3/binutils/dist/bfd/targets.c:1.11 Fri Apr 3 19:48:46 2020 +++ src/external/gpl3/binutils/dist/bfd/targets.c Sat Aug 8 15:26:09 2020 @@ -727,6 +727,7 @@ extern const bfd_target hppa_som_vec; extern const bfd_target i386_aout_vec; extern const bfd_target i386_aout_bsd_vec; extern const bfd_target i386_aout_lynx_vec; +extern const bfd_target i386_aout_nbsd_vec; extern const bfd_target i386_coff_vec; extern const bfd_target i386_coff_go32_vec; extern const bfd_target i386_coff_go32stubbed_vec; Added files: Index: src/external/gpl3/binutils/dist/bfd/i386netbsd.c diff -u /dev/null src/external/gpl3/binutils/dist/bfd/i386netbsd.c:1.3 --- /dev/null Sat Aug 8 15:26:09 2020 +++ src/external/gpl3/binutils/dist/bfd/i386netbsd.c Sat Aug 8 15:26:09 2020 @@ -0,0 +1,38 @@ +/* BFD back-end for NetBSD/386 a.out-ish binaries. + Copyright (C) 1990-2016 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +
CVS commit: src/external/gpl3/binutils/dist/ld/emultempl
Module Name:src Committed By: christos Date: Thu Apr 16 15:47:20 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/ld/emultempl: elf.em Log Message: Restore --copy-dt-needed as default. There is too much fallout in pkgsrc mainly from -lcurses needing -lterminfo. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/binutils/dist/ld/emultempl/elf.em Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emultempl/elf.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf.em:1.1.1.1 src/external/gpl3/binutils/dist/ld/emultempl/elf.em:1.2 --- src/external/gpl3/binutils/dist/ld/emultempl/elf.em:1.1.1.1 Fri Apr 3 19:40:02 2020 +++ src/external/gpl3/binutils/dist/ld/emultempl/elf.em Thu Apr 16 11:47:19 2020 @@ -79,6 +79,7 @@ gld${EMULATION_NAME}_before_parse (void) { ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`); input_flags.dynamic = ${DYNAMIC_LINK-TRUE}; + input_flags.add_DT_NEEDED_for_dynamic = TRUE; config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`; config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`; link_info.check_relocs_after_open_input = TRUE;
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: skrll Date: Thu Apr 9 16:12:28 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: Fix aarch64 binutils tools build To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.33 src/external/gpl3/binutils/dist/ld/configure.tgt:1.34 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.33 Fri Apr 3 23:48:48 2020 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Thu Apr 9 16:12:28 2020 @@ -75,11 +75,14 @@ aarch64_be-*-linux*) targ_emul=aarch64li ;; aarch64-*-linux*) targ_emul=aarch64linux targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" - targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;; + targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" + ;; aarch64_be-*-netbsd*) targ_emul=aarch64nbsdb - targ_extra_emuls="aarch64nbsd aarch64elfb aarch64elf armelfb_nbsd_eabihf armelf_nbsd_eabihf armelfb_nbsd_eabi armelf_nbsd_eabi armelfb_nbsd armelf_nbsd armelf armelfb" ;; + targ_extra_emuls="aarch64nbsd aarch64elfb aarch64elf armelfb_nbsd_eabihf armelf_nbsd_eabihf armelfb_nbsd_eabi armelf_nbsd_eabi armelfb_nbsd armelf_nbsd armelf armelfb" + ;; aarch64-*-netbsd*) targ_emul=aarch64nbsd - targ_extra_emuls="aarch64nbsdb aarch64elf aarch64elfb armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armelfb" ;; + targ_extra_emuls="aarch64nbsdb aarch64elf aarch64elfb armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armelfb" + ;; alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) targ_emul=elf64alpha_fbsd targ_extra_emuls="elf64alpha alpha"
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: skrll Date: Thu Apr 9 11:10:07 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: aarch64nbsd.sh Log Message: Fix TEMPLATE_NAME for new binutils To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.2 src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.3 --- src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.2 Tue Apr 5 09:52:22 2016 +++ src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh Thu Apr 9 11:10:07 2020 @@ -9,7 +9,7 @@ BIG_OUTPUT_FORMAT="elf64-bigaarch64" LITTLE_OUTPUT_FORMAT="elf64-littleaarch64" NO_REL_RELOCS=yes -TEMPLATE_NAME=elf32 +TEMPLATE_NAME=elf EXTRA_EM_FILE=aarch64elf GENERATE_SHLIB_SCRIPT=yes
CVS commit: src/external/gpl3/binutils/dist/binutils/doc
Module Name:src Committed By: christos Date: Sun Apr 5 13:25:01 UTC 2020 Removed Files: src/external/gpl3/binutils/dist/binutils/doc: c++filt.1 Log Message: We generate this. To generate a diff of this commit: cvs rdiff -u -r1.1 -r0 src/external/gpl3/binutils/dist/binutils/doc/c++filt.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: christos Date: Sat Apr 4 17:25:39 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-arm.c Log Message: Adjust for field rename. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 \ src/external/gpl3/binutils/dist/gas/config/tc-arm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-arm.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.12 src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.13 --- src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.12 Fri Apr 3 19:48:47 2020 +++ src/external/gpl3/binutils/dist/gas/config/tc-arm.c Sat Apr 4 13:25:39 2020 @@ -23120,8 +23120,8 @@ check_pred_blocks_finished (void) { segment_info_type *seginfo = seg_info (sect); - if (seginfo && seginfo->tc_segment_info_data.current_it.state - == MANUAL_IT_BLOCK) + if (seginfo && seginfo->tc_segment_info_data.current_pred.state + == MANUAL_PRED_BLOCK) { if (now_pred.type == SCALAR_PRED) as_warn (_("section '%s' finished with an open IT block."),
CVS commit: src/external/gpl3/binutils/dist/libiberty
Module Name:src Committed By: christos Date: Sat Apr 4 16:14:11 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/libiberty: strsignal.c Log Message: const for psignal To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/binutils/dist/libiberty/strsignal.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/libiberty/strsignal.c diff -u src/external/gpl3/binutils/dist/libiberty/strsignal.c:1.1.1.1 src/external/gpl3/binutils/dist/libiberty/strsignal.c:1.2 --- src/external/gpl3/binutils/dist/libiberty/strsignal.c:1.1.1.1 Tue Aug 18 06:16:42 2009 +++ src/external/gpl3/binutils/dist/libiberty/strsignal.c Sat Apr 4 12:14:11 2020 @@ -551,7 +551,7 @@ followed by a newline. #ifndef HAVE_PSIGNAL void -psignal (int signo, char *message) +psignal (int signo, const char *message) { if (signal_names == NULL) {
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Sat Apr 4 15:30:05 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/bfd: elf.c Log Message: Apply fix for --noinhibit-exec from: https://www.mail-archive.com/bug-binutils@gnu.org/msg33090.html To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf.c diff -u src/external/gpl3/binutils/dist/bfd/elf.c:1.15 src/external/gpl3/binutils/dist/bfd/elf.c:1.16 --- src/external/gpl3/binutils/dist/bfd/elf.c:1.15 Fri Apr 3 19:48:46 2020 +++ src/external/gpl3/binutils/dist/bfd/elf.c Sat Apr 4 11:30:05 2020 @@ -5948,7 +5948,11 @@ assign_file_positions_for_load_sections _bfd_error_handler (_("%pB: error: PHDR segment not covered" " by LOAD segment"), abfd); - return FALSE; + if (link_info == NULL) + return FALSE; + /* Arrange for the linker to exit with an error, deleting + the output file unless --noinhibit-exec is given. */ + link_info->callbacks->info ("%X"); } /* Check that all sections are in a PT_LOAD segment.
CVS commit: src/external/gpl3/binutils/dist/binutils/doc
Module Name:src Committed By: christos Date: Sat Apr 4 01:44:43 UTC 2020 Modified Files: src/external/gpl3/binutils/dist/binutils/doc: cxxfilt.man Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man diff -u src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man:1.11 src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man:1.12 --- src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man:1.11 Fri Apr 3 19:49:38 2020 +++ src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man Fri Apr 3 21:44:43 2020 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" @@ -54,16 +54,20 @@ .\" Avoid warning from groff about undefined register 'F'. .de IX .. -.if !\nF .nr F 0 -.if \nF>0 \{\ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +.if \nF \{\ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" .. -.if !\nF==2 \{\ -.nr % 0 -.nr F 2 +.if !\nF==2 \{\ +.nr % 0 +.nr F 2 +.\} .\} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,13 +133,13 @@ .\" .\" .IX Title "C++FILT 1" -.TH C++FILT 1 "2018-07-09" "binutils-2.30.90" "GNU Development Tools" +.TH C++FILT 1 "2020-04-03" "binutils-2.34" "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -cxxfilt \- Demangle C++ and Java symbols. +cxxfilt \- demangle C++ and Java symbols .SH "SYNOPSIS" .IX Header "SYNOPSIS" c++filt [\fB\-_\fR|\fB\-\-strip\-underscore\fR] @@ -143,6 +147,8 @@ c++filt [\fB\-_\fR|\fB\-\-strip\-undersc [\fB\-p\fR|\fB\-\-no\-params\fR] [\fB\-t\fR|\fB\-\-types\fR] [\fB\-i\fR|\fB\-\-no\-verbose\fR] +[\fB\-r\fR|\fB\-\-no\-recurse\-limit\fR] +[\fB\-R\fR|\fB\-\-recurse\-limit\fR] [\fB\-s\fR \fIformat\fR|\fB\-\-format=\fR\fIformat\fR] [\fB\-\-help\fR] [\fB\-\-version\fR] [\fIsymbol\fR...] .SH "DESCRIPTION" @@ -177,7 +183,7 @@ If no \fIsymbol\fR arguments are given, names from the standard input instead. All the results are printed on the standard output. The difference between reading names from the command line versus reading names from the standard input is that -command line arguments are expected to be just mangled names and no +command-line arguments are expected to be just mangled names and no checking is performed to separate them from surrounding text. Thus for example: .PP @@ -253,6 +259,35 @@ demangled to \*(L"signed char\*(R". .PD Do not include implementation details (if any) in the demangled output. +.IP "\fB\-r\fR" 4 +.IX Item "-r" +.PD 0 +.IP "\fB\-R\fR" 4 +.IX Item "-R" +.IP "\fB\-\-recurse\-limit\fR" 4 +.IX Item "--recurse-limit" +.IP "\fB\-\-no\-recurse\-limit\fR" 4 +.IX Item "--no-recurse-limit" +.IP "\fB\-\-recursion\-limit\fR" 4 +.IX Item "--recursion-limit" +.IP "\fB\-\-no\-recursion\-limit\fR" 4 +.IX Item "--no-recursion-limit" +.PD +Enables or disables a limit on the amount of recursion performed +whilst demangling strings. Since the name mangling formats allow for +an inifinite level of recursion it is possible to create strings whose +decoding will exhaust the amount of stack space available on the host +machine, triggering a memory fault. The limit tries to prevent this +from happening by restricting recursion to 2048 levels of nesting. +.Sp +The default is for this limit to be enabled, but disabling it may be +necessary in order to demangle truly complicated names. Note however +that if the recursion limit is disabled then stack exhaustion is +possible and any bug reports about such an event will be rejected. +.Sp +The \fB\-r\fR option is a synonym for the +\&\fB\-\-no\-recurse\-limit\fR option. The \fB\-R\fR option is a +synonym for the \fB\-\-recurse\-limit\fR option. .IP "\fB\-s\fR \fIformat\fR" 4 .IX Item "-s format" .PD 0 @@ -331,7 +366,7 @@ MS-DOS this program is named \fB\s-1CXXF the Info entries for \fIbinutils\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright (c) 1991\-2018 Free Software Foundation, Inc. +Copyright (c) 1991\-2020 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document under the terms of the \s-1GNU\s0 Free
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: christos Date: Fri Apr 3 23:48:50 UTC 2020 Modified Files: src/external/gpl3/binutils/dist: config.guess config.sub configure configure.ac src/external/gpl3/binutils/dist/bfd: ChangeLog Makefile.am Makefile.in aoutx.h archive.c archures.c bfd-in2.h bfd.c coff-alpha.c coffcode.h config.bfd configure configure.ac configure.host cpu-mips.c cpu-or1k.c cpu-riscv.c dwarf2.c elf-bfd.h elf-eh-frame.c elf.c elf32-arm.c elf32-avr.c elf32-hppa.c elf32-i386.c elf32-m68k.c elf32-or1k.c elf32-ppc.c elf32-sh.c elf32-vax.c elf64-alpha.c elf64-mips.c elf64-ppc.c elf64-x86-64.c elflink.c elfn32-mips.c elfnn-riscv.c elfxx-mips.c elfxx-riscv.c elfxx-riscv.h elfxx-sparc.c libbfd.h linker.c reloc.c syms.c targets.c version.h src/external/gpl3/binutils/dist/bfd/doc: Makefile.in bfdt.texi bfdver.texi reloc.texi src/external/gpl3/binutils/dist/binutils: ChangeLog Makefile.in NEWS ar.c arsup.c bucomm.c configure objcopy.c readelf.c strings.c src/external/gpl3/binutils/dist/binutils/doc: Makefile.am Makefile.in binutils.texi src/external/gpl3/binutils/dist/cpu: or1k.cpu or1k.opc or1kcommon.cpu or1korbis.cpu or1korfpx.cpu src/external/gpl3/binutils/dist/gas: ChangeLog Makefile.am Makefile.in atof-generic.c configure configure.ac configure.tgt remap.c write.c src/external/gpl3/binutils/dist/gas/config: atof-vax.c obj-elf.c tc-alpha.c tc-arm.c tc-m68k.c tc-mips.c tc-mips.h tc-or1k.c tc-or1k.h tc-ppc.c tc-riscv.c tc-riscv.h tc-sparc.c tc-vax.c tc-vax.h vax-inst.h src/external/gpl3/binutils/dist/gas/doc: Makefile.am Makefile.in as.1 as.info c-mips.texi c-ppc.texi src/external/gpl3/binutils/dist/gold: Makefile.am src/external/gpl3/binutils/dist/gprof: corefile.c gprof.1 gprof.c gprof.info src/external/gpl3/binutils/dist/include: ChangeLog bfdlink.h dis-asm.h objalloc.h src/external/gpl3/binutils/dist/include/elf: arm.h common.h internal.h mips.h or1k.h ppc.h riscv.h src/external/gpl3/binutils/dist/include/opcode: hppa.h mips.h ppc.h riscv-opc.h riscv.h src/external/gpl3/binutils/dist/ld: ChangeLog Makefile.am Makefile.in configure configure.ac configure.host configure.tgt genscripts.sh ldctor.c ldemul.c ldemul.h ldexp.c ldgram.c ldgram.h ldlang.c ldlang.h ldlex.c ldlex.h ldlex.l ldmain.c ldmain.h lexsup.c src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh elf32_sparc.sh elf32bmipn32-defs.sh elf32lriscv-defs.sh elf32lriscv.sh elf32lriscv_ilp32.sh elf32lriscv_ilp32f.sh elf32or1k.sh elf32or1k_linux.sh elf64alpha_nbsd.sh elf64lriscv-defs.sh elf64lriscv.sh elf_i386.sh hppalinux.sh hppanbsd.sh hppaobsd.sh m68kelf.sh m68kelfnbsd.sh shelf_nbsd.sh src/external/gpl3/binutils/dist/ld/emultempl: aarch64elf.em armelf.em beos.em genelf.em mmo.em pe.em pep.em riscvelf.em spuelf.em xtensaelf.em src/external/gpl3/binutils/dist/ld/scripttempl: elf.sc sh.sc src/external/gpl3/binutils/dist/libiberty: Makefile.in configure configure.ac floatformat.c make-temp-file.c objalloc.c strerror.c src/external/gpl3/binutils/dist/opcodes: ChangeLog Makefile.am Makefile.in cgen.sh configure disassemble.c mips-dis.c mips-opc.c or1k-asm.c or1k-desc.c or1k-desc.h or1k-dis.c or1k-ibld.c or1k-opc.c or1k-opc.h or1k-opinst.c ppc-dis.c ppc-opc.c riscv-dis.c riscv-opc.c sparc-dis.c Removed Files: src/external/gpl3/binutils/dist/bfd: .gitignore coff-tic80.c cpu-cr16c.c cpu-tic80.c elf32-cr16c.c elf32-xgate.h src/external/gpl3/binutils/dist/binutils: .gitignore src/external/gpl3/binutils/dist/binutils/doc: addr2line.1 ar.1 binutils.info cxxfilt.man dlltool.1 elfedit.1 nm.1 objcopy.1 objdump.1 ranlib.1 readelf.1 size.1 strings.1 strip.1 windmc.1 windres.1 src/external/gpl3/binutils/dist/gas: .gitignore struc-symbol.h src/external/gpl3/binutils/dist/gprof: .gitignore src/external/gpl3/binutils/dist/include/coff: tic80.h src/external/gpl3/binutils/dist/include/elf: cr16c.h src/external/gpl3/binutils/dist/include/opcode: tic80.h src/external/gpl3/binutils/dist/ld: .gitignore src/external/gpl3/binutils/dist/ld/emulparams: arcelf_prof.sh arclinux_prof.sh elf32cr16c.sh elf_i386_chaos.sh tic80coff.sh src/external/gpl3/binutils/dist/ld/emultempl: elf32.em src/external/gpl3/binutils/dist/ld/scripttempl: elf32cr16c.sc elf32msp430_3.sc tic80coff.sc
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Sun May 5 21:49:53 UTC 2019 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-arm.c Log Message: Ignore 0 size'd symbols when looking for CMSE veneers. XXX: Is this correct? To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/bfd/elf32-arm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.13 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.14 --- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.13 Tue Nov 6 20:13:52 2018 +++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c Sun May 5 17:49:53 2019 @@ -19661,7 +19661,7 @@ elf32_arm_swap_symbol_in (bfd * abfd, /* Mark CMSE special symbols. */ symtab_hdr = & elf_symtab_hdr (abfd); - if (symtab_hdr->sh_size) + if (symtab_hdr->sh_size && dst->st_size != 0) name = bfd_elf_sym_name (abfd, symtab_hdr, dst, NULL); if (name && CONST_STRNEQ (name, CMSE_PREFIX)) ARM_SET_SYM_CMSE_SPCL (dst->st_target_internal);
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: mrg Date: Tue Apr 16 02:10:09 UTC 2019 Modified Files: src/external/gpl3/binutils/dist/bfd: configure.ac Log Message: fix merge botch - remove duplicated case statement (not in configure) To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/bfd/configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/configure.ac diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.6 src/external/gpl3/binutils/dist/bfd/configure.ac:1.7 --- src/external/gpl3/binutils/dist/bfd/configure.ac:1.6 Wed Nov 7 01:13:51 2018 +++ src/external/gpl3/binutils/dist/bfd/configure.ac Tue Apr 16 02:10:09 2019 @@ -581,8 +581,6 @@ do ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; ns32k_aout_pc532nbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;; or1k_elf32_vec) tb="$tb elf32-or1k.lo elf32.lo $elf" ;; -riscv_elf32_vec) tb="$tb elf32-riskv.lo elffxx-riscv.lo elf32.lo $elf" ;; -riscv_elf64_vec) tb="$tb elf64-riskv.lo elf64.lo elffxx-riscv.lo $elf" target_size=64 ;; pdp11_aout_vec) tb="$tb pdp11.lo" ;; pef_vec) tb="$tb pef.lo" ;; pef_xlib_vec) tb="$tb pef.lo" ;;
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: maya Date: Sat Feb 9 19:40:32 UTC 2019 Modified Files: src/external/gpl3/binutils/dist/bfd: elfnn-riscv.c libbfd.h targets.c src/external/gpl3/binutils/dist/ld/emultempl: riscvelf.em src/external/gpl3/binutils/dist/opcodes: riscv-dis.c Log Message: Revert all riscv-related local patches. As for the libbfd.h change: the definitions seem to mostly exist, but we had duplicated them. Fixes riscv64 binutils build. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/libbfd.h cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/targets.c cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/opcodes/riscv-dis.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c diff -u src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.5 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.6 --- src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.5 Wed Nov 7 01:13:52 2018 +++ src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c Sat Feb 9 19:40:32 2019 @@ -24,12 +24,10 @@ #include "sysdep.h" #include "bfd.h" -#include "libiberty.h" #include "libbfd.h" -#include "bfd_stdint.h" -#include "elf-bfd.h" #include "bfdlink.h" -#include "objalloc.h" +#include "genlink.h" +#include "elf-bfd.h" #include "elfxx-riscv.h" #include "elf/riscv.h" #include "opcode/riscv.h" @@ -351,7 +349,6 @@ riscv_elf_create_dynamic_sections (bfd * if (!_bfd_elf_create_dynamic_sections (dynobj, info)) return FALSE; - htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss"); if (!bfd_link_pic (info)) { htab->sdyntdata = Index: src/external/gpl3/binutils/dist/bfd/libbfd.h diff -u src/external/gpl3/binutils/dist/bfd/libbfd.h:1.10 src/external/gpl3/binutils/dist/bfd/libbfd.h:1.11 --- src/external/gpl3/binutils/dist/bfd/libbfd.h:1.10 Wed Nov 7 01:13:52 2018 +++ src/external/gpl3/binutils/dist/bfd/libbfd.h Sat Feb 9 19:40:32 2019 @@ -2663,41 +2663,6 @@ static const char *const bfd_reloc_code_ "BFD_RELOC_OR1K_TLS_TPOFF", "BFD_RELOC_OR1K_TLS_DTPOFF", "BFD_RELOC_OR1K_TLS_DTPMOD", - "BFD_RELOC_RISCV_ADD32", - "BFD_RELOC_RISCV_ADD64", - "BFD_RELOC_RISCV_SUB32", - "BFD_RELOC_RISCV_SUB64", - "BFD_RELOC_RISCV_HI20", - "BFD_RELOC_RISCV_LO12_I", - "BFD_RELOC_RISCV_LO12_S", - "BFD_RELOC_RISCV_PCREL_LO12_I", - "BFD_RELOC_RISCV_PCREL_LO12_S", - "BFD_RELOC_RISCV_CALL", - "BFD_RELOC_RISCV_CALL_PLT", - "BFD_RELOC_RISCV_PCREL_HI20", - "BFD_RELOC_RISCV_JMP", - "BFD_RELOC_RISCV_GOT_HI20", - "BFD_RELOC_RISCV_GOT_LO12", - "BFD_RELOC_RISCV_TLS_DTPMOD32", - "BFD_RELOC_RISCV_TLS_DTPREL32", - "BFD_RELOC_RISCV_TLS_DTPMOD64", - "BFD_RELOC_RISCV_TLS_DTPREL64", - "BFD_RELOC_RISCV_TLS_TPREL32", - "BFD_RELOC_RISCV_TLS_TPREL64", - "BFD_RELOC_RISCV_TPREL_HI20", - "BFD_RELOC_RISCV_TPREL_ADD", - "BFD_RELOC_RISCV_TPREL_LO12_S", - "BFD_RELOC_RISCV_TPREL_LO12_I", - "BFD_RELOC_RISCV_TLS_IE_HI20", - "BFD_RELOC_RISCV_TLS_IE_LO12", - "BFD_RELOC_RISCV_TLS_IE_ADD", - "BFD_RELOC_RISCV_TLS_IE_LO12_S", - "BFD_RELOC_RISCV_TLS_IE_LO12_I", - "BFD_RELOC_RISCV_TLS_GOT_HI20", - "BFD_RELOC_RISCV_TLS_GOT_LO12", - "BFD_RELOC_RISCV_TLS_GD_HI20", - "BFD_RELOC_RISCV_TLS_GD_LO12", - "BFD_RELOC_RISCV_TLS_PCREL_LO12", "BFD_RELOC_H8_DIR16A8", "BFD_RELOC_H8_DIR16R8", "BFD_RELOC_H8_DIR24A8", Index: src/external/gpl3/binutils/dist/bfd/targets.c diff -u src/external/gpl3/binutils/dist/bfd/targets.c:1.9 src/external/gpl3/binutils/dist/bfd/targets.c:1.10 --- src/external/gpl3/binutils/dist/bfd/targets.c:1.9 Wed Nov 7 01:13:52 2018 +++ src/external/gpl3/binutils/dist/bfd/targets.c Sat Feb 9 19:40:32 2019 @@ -1168,7 +1168,6 @@ static const bfd_target * const _bfd_tar _elf32_vec, #ifdef BFD64 -_elf64_vec, _xcoff64_vec, _xcoff64_aix_vec, #endif Index: src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em:1.5 src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em:1.6 --- src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em:1.5 Wed Nov 7 01:13:55 2018 +++ src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em Sat Feb 9 19:40:32 2019 @@ -20,18 +20,7 @@ fragment < - #include struct riscv_private_data
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Sun Dec 30 22:48:31 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-ppc.c Log Message: forgot to commit compilation fix. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.12 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.13 --- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.12 Tue Nov 6 20:13:52 2018 +++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c Sun Dec 30 17:48:31 2018 @@ -5966,7 +5966,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))) && !htab->is_vxworks && !ppc_elf_hash_entry (h)->has_sda_refs - && !readonly_dynrelocs (h, info, FALSE)) + && !readonly_dynrelocs (h)) { h->pointer_equality_needed = 0; /* If we haven't seen a branch reloc and the symbol
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: christos Date: Fri Dec 28 20:43:25 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: remove armnbsd which is not supported anymore. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.30 src/external/gpl3/binutils/dist/ld/configure.tgt:1.31 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.30 Fri Dec 28 10:46:30 2018 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Fri Dec 28 15:43:25 2018 @@ -113,18 +113,18 @@ arm*-*-freebsd* | arm-*-kfreebsd*-gnu) targ_extra_emuls="armelfb_fbsd armelf" ;; arm*eb-*-netbsdelf*-*eabihf*) targ_emul=armelfb_nbsd_eabihf; - targ_extra_emuls="armelf_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armnbsd" ;; + targ_extra_emuls="armelf_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf" ;; arm*eb-*-netbsdelf*-*eabi*) targ_emul=armelfb_nbsd_eabi; - targ_extra_emuls="armelf_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;; + targ_extra_emuls="armelf_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf" ;; arm*-*-netbsdelf*-*eabihf*) targ_emul=armelf_nbsd_eabihf; - targ_extra_emuls="armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armnbsd" ;; + targ_extra_emuls="armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf" ;; arm*-*-netbsdelf*-*eabi*) targ_emul=armelf_nbsd_eabi; - targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;; + targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf" ;; arm*eb-*-netbsdelf*) targ_emul=armelfb_nbsd; - targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; + targ_extra_emuls="armelf_nbsd armelf" ;; arm-*-netbsdelf*) targ_emul=armelf_nbsd; targ_extra_emuls="armelfb_nbsd armelf" ;; arm-*-nto*) targ_emul=armnto ;;
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: christos Date: Fri Dec 28 15:46:30 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: remove m68k a.out/4k and sh64 vectors that are not supported anymore. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/external/gpl3/binutils/dist/bfd/config.bfd cvs rdiff -u -r1.29 -r1.30 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.28 src/external/gpl3/binutils/dist/bfd/config.bfd:1.29 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.28 Fri Dec 28 10:28:36 2018 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Fri Dec 28 10:46:30 2018 @@ -1266,7 +1266,7 @@ case "${targ}" in ;; sh-*-netbsdelf*) targ_defvec=sh_elf32_nbsd_vec -targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec" +targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec" want64=true ;; Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.29 src/external/gpl3/binutils/dist/ld/configure.tgt:1.30 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.29 Fri Dec 28 10:28:36 2018 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Fri Dec 28 10:46:30 2018 @@ -416,14 +416,8 @@ m68hc11-*-*|m6811-*-*) targ_emul=m68hc11 targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;; -m68*-*-netbsd*4k*) targ_emul=m68k4knbsd - targ_extra_emuls="m68knbsd m68kelfnbsd" ;; m68*-*-netbsdelf* | m5407*-*-netbsdelf*) - targ_emul=m68kelfnbsd - targ_extra_emuls="m68knbsd m68k4knbsd" ;; -m68*-*-netbsdaout* | m68*-*-netbsd*) - targ_emul=m68knbsd - targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; + targ_emul=m68kelfnbsd ;; m68*-*-*) targ_emul=m68kelf ;; s12z-*-*) targ_emul=m9s12zelf ;;
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: christos Date: Fri Dec 28 15:28:36 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: remove sparc a.out emulations (not supported anymore) To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/external/gpl3/binutils/dist/bfd/config.bfd cvs rdiff -u -r1.28 -r1.29 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.27 src/external/gpl3/binutils/dist/bfd/config.bfd:1.28 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.27 Wed Nov 7 21:30:06 2018 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Fri Dec 28 10:28:36 2018 @@ -1313,14 +1313,8 @@ case "${targ}" in sparc-*-netbsdelf*) targ_defvec=sparc_elf32_vec -targ_selvecs=sparc_aout_nbsd_vec want64=true ;; - sparc-*-netbsdaout* | sparc-*-netbsd*) -targ_defvec=sparc_aout_nbsd_vec -targ_selvecs=sparc_elf32_vec -targ_underscore=yes -;; sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) targ_defvec=sparc_elf32_sol2_vec ;; Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.28 src/external/gpl3/binutils/dist/ld/configure.tgt:1.29 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.28 Tue Nov 6 20:13:54 2018 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Fri Dec 28 10:28:36 2018 @@ -755,13 +755,12 @@ sparc*-*-linux-*) targ_emul=elf32_sparc targ_extra_libpath=elf64_sparc tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; sparc64-*-netbsd*) targ_emul=elf64_sparc - targ_extra_emuls="elf32_sparc sparcnbsd" + targ_extra_emuls="elf32_sparc" ;; sparc64-*-openbsd*) targ_emul=elf64_sparc targ_extra_emuls="elf32_sparc" ;; sparc*-*-netbsd*elf*) targ_emul=elf32_sparc - targ_extra_emuls=sparcnbsd ;; sparc*-*-netbsd*) targ_emul=sparcnbsd ;; sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: christos Date: Thu Dec 27 14:53:05 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/ld: configure.ac Log Message: Remove initfini array rest (restore original FSF version). To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/ld/configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.ac diff -u src/external/gpl3/binutils/dist/ld/configure.ac:1.6 src/external/gpl3/binutils/dist/ld/configure.ac:1.7 --- src/external/gpl3/binutils/dist/ld/configure.ac:1.6 Tue Nov 6 20:13:54 2018 +++ src/external/gpl3/binutils/dist/ld/configure.ac Thu Dec 27 09:53:05 2018 @@ -268,23 +268,11 @@ AC_SEARCH_LIBS([dlopen], [dl]) AM_CONDITIONAL([ENABLE_PLUGINS], [test x$plugins = xyes]) AC_ARG_ENABLE(initfini-array, - [ --enable-initfini-array use .init_array/.fini_array sections], - [], [ -AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, - gcc_cv_initfini_array, [dnl - if test "x${build}" = "x${target}" ; then -AC_RUN_IFELSE([AC_LANG_SOURCE([ -static int x = -1; -int main (void) { return x; } -int foo (void) { x = 0; } -int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;])], - [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no], - [gcc_cv_initfini_array=no]) - else - gcc_cv_initfini_array=no - fi]) - enable_initfini_array=$gcc_cv_initfini_array -]) +[ --disable-initfini-array do not use .init_array/.fini_array sections], +[case "${enableval}" in + yes|no) ;; + *) AC_MSG_ERROR([invalid --enable-initfini-array argument]) ;; + esac], [enable_initfini_array=yes]) AC_SUBST(enable_initfini_array) if test $enable_initfini_array = yes; then AC_DEFINE(HAVE_INITFINI_ARRAY, 1,
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Thu Nov 8 02:30:06 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: delete i386 aout vec which has been removed To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.26 src/external/gpl3/binutils/dist/bfd/config.bfd:1.27 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.26 Tue Nov 6 20:13:51 2018 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Wed Nov 7 21:30:06 2018 @@ -620,7 +620,7 @@ case "${targ}" in ;; i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) targ_defvec=i386_elf32_vec -targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec" +targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec" ;; i[3-7]86-*-netbsdpe*)
CVS commit: src/external/gpl3/binutils/dist/ld/emultempl
Module Name:src Committed By: christos Date: Sat May 19 21:20:35 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/ld/emultempl: elf32.em Log Message: don't prepend sysroots when we already have prepended it (breaks X11 binaries) To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 \ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.16 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.17 --- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.16 Sun May 6 10:46:58 2018 +++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em Sat May 19 17:20:35 2018 @@ -1484,7 +1484,7 @@ fragment <
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Sun May 6 15:14:12 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/bfd: elflink.c Log Message: add missed patch To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elflink.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elflink.c diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.15 src/external/gpl3/binutils/dist/bfd/elflink.c:1.16 --- src/external/gpl3/binutils/dist/bfd/elflink.c:1.15 Sun Apr 15 16:06:01 2018 +++ src/external/gpl3/binutils/dist/bfd/elflink.c Sun May 6 11:14:12 2018 @@ -2804,6 +2804,8 @@ _bfd_elf_fix_symbol_flags (struct elf_li if (h->is_weakalias) { struct elf_link_hash_entry *def = weakdef (h); + while (def->root.type == bfd_link_hash_indirect) +def = (struct elf_link_hash_entry *) def->root.u.i.link; /* If the real definition is defined by a regular object file, don't do anything special. See the longer description in
CVS commit: src/external/gpl3/binutils/dist/ld/emultempl
Module Name:src Committed By: christos Date: Sun May 6 14:46:58 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/ld/emultempl: elf32.em Log Message: fix misapplied patch To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.15 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.16 --- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.15 Sun Apr 15 16:06:03 2018 +++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em Sun May 6 10:46:58 2018 @@ -1484,7 +1484,7 @@ fragment <
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: joerg Date: Tue Mar 27 23:39:23 UTC 2018 Modified Files: src/external/gpl3/binutils/dist/bfd: elflink.c Log Message: When trying to decide the status of a weak symbol, resolve any indirectness first. In the case of various Qt5 libraries, __bss_start ends up with a Qt5 version, but it has to be resolved first to match the actual (implicit) definition. This fixes the root cause of pkg/53089. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/bfd/elflink.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elflink.c diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.13 src/external/gpl3/binutils/dist/bfd/elflink.c:1.14 --- src/external/gpl3/binutils/dist/bfd/elflink.c:1.13 Wed Oct 26 18:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elflink.c Tue Mar 27 23:39:23 2018 @@ -2675,14 +2675,17 @@ _bfd_elf_fix_symbol_flags (struct elf_li over to the real definition. */ if (h->u.weakdef != NULL) { + struct elf_link_hash_entry *weakdef = h->u.weakdef; + while (weakdef->root.type == bfd_link_hash_indirect) +weakdef = (struct elf_link_hash_entry *) weakdef->root.u.i.link; + /* If the real definition is defined by a regular object file, don't do anything special. See the longer description in _bfd_elf_adjust_dynamic_symbol, below. */ - if (h->u.weakdef->def_regular) + if (weakdef->def_regular) h->u.weakdef = NULL; else { - struct elf_link_hash_entry *weakdef = h->u.weakdef; while (h->root.type == bfd_link_hash_indirect) h = (struct elf_link_hash_entry *) h->root.u.i.link;
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: joerg Date: Tue Jul 25 19:44:25 UTC 2017 Modified Files: src/external/gpl3/binutils/dist/bfd: elfxx-sparc.c Log Message: TLS relocations for PIE and non-PIE main executable work the same, so apply the same relaxation rules and the same static binding rules. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.11 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.12 --- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.11 Wed Oct 26 18:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Tue Jul 25 19:44:25 2017 @@ -1330,7 +1330,7 @@ sparc_elf_tls_transition (struct bfd_lin && ! _bfd_sparc_elf_tdata (abfd)->has_tlsgd) r_type = R_SPARC_REV32; - if (bfd_link_pic (info)) + if (bfd_link_dll (info)) return r_type; switch (r_type) @@ -1501,13 +1501,13 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, case R_SPARC_TLS_LE_HIX22: case R_SPARC_TLS_LE_LOX10: - if (bfd_link_pic (info)) + if (bfd_link_dll (info)) goto r_sparc_plt32; break; case R_SPARC_TLS_IE_HI22: case R_SPARC_TLS_IE_LO10: - if (bfd_link_pic (info)) + if (bfd_link_dll (info)) info->flags |= DF_STATIC_TLS; /* Fall through */ @@ -2334,7 +2334,7 @@ allocate_dynrelocs (struct elf_link_hash /* If R_SPARC_TLS_IE_{HI22,LO10} symbol is now local to the binary, make it a R_SPARC_TLS_LE_{HI22,LO10} requiring no TLS entry. */ if (h->got.refcount > 0 - && !bfd_link_pic (info) + && !bfd_link_dll (info) && h->dynindx == -1 && _bfd_sparc_elf_hash_entry(h)->tls_type == GOT_TLS_IE) h->got.offset = (bfd_vma) -1; @@ -3582,7 +3582,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou else if (h != NULL) { tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type; - if (!bfd_link_pic (info) + if (!bfd_link_dll (info) && h->dynindx == -1 && tls_type == GOT_TLS_IE) switch (SPARC_ELF_R_TYPE (rel->r_info)) @@ -3706,7 +3706,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou case R_SPARC_TLS_LDM_HI22: case R_SPARC_TLS_LDM_LO10: - if (! bfd_link_pic (info)) + if (! bfd_link_dll (info)) { bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset); continue; @@ -3717,7 +3717,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou case R_SPARC_TLS_LDO_HIX22: case R_SPARC_TLS_LDO_LOX10: - if (bfd_link_pic (info)) + if (bfd_link_dll (info)) { relocation -= dtpoff_base (info); break; @@ -3729,7 +3729,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou case R_SPARC_TLS_LE_HIX22: case R_SPARC_TLS_LE_LOX10: - if (bfd_link_pic (info)) + if (bfd_link_dll (info)) { Elf_Internal_Rela outrel; bfd_boolean skip; @@ -3761,7 +3761,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou break; case R_SPARC_TLS_LDM_CALL: - if (! bfd_link_pic (info)) + if (! bfd_link_dll (info)) { /* mov %g0, %o0 */ bfd_put_32 (output_bfd, 0x9010, contents + rel->r_offset); @@ -3775,13 +3775,13 @@ _bfd_sparc_elf_relocate_section (bfd *ou tls_type = _bfd_sparc_elf_local_got_tls_type (input_bfd) [r_symndx]; else if (h != NULL) tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type; - if (! bfd_link_pic (info) + if (! bfd_link_dll (info) || (r_type == R_SPARC_TLS_GD_CALL && tls_type == GOT_TLS_IE)) { Elf_Internal_Rela *rel2; bfd_vma insn; - if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1)) + if (!bfd_link_dll (info) && (h == NULL || h->dynindx == -1)) { /* GD -> LE */ bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset); @@ -3868,12 +3868,12 @@ _bfd_sparc_elf_relocate_section (bfd *ou continue; case R_SPARC_TLS_LDM_ADD: - if (! bfd_link_pic (info)) + if (! bfd_link_dll (info)) bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset); continue; case R_SPARC_TLS_LDO_ADD: - if (! bfd_link_pic (info)) + if (! bfd_link_dll (info)) { /* Change rs1 into %g7. */ bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset); @@ -3884,7 +3884,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou case R_SPARC_TLS_IE_LD: case R_SPARC_TLS_IE_LDX: - if (! bfd_link_pic (info) && (h == NULL || h->dynindx == -1)) + if (! bfd_link_dll (info) && (h == NULL || h->dynindx == -1)) { bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset); int rs2 = insn & 0x1f;
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: joerg Date: Mon Jul 17 19:50:23 UTC 2017 Modified Files: src/external/gpl3/binutils/dist/bfd: elfxx-mips.c src/external/gpl3/binutils/dist/gas/config: tc-mips.h Log Message: Create references as absolute pointers internally for .cfi*. Do not warn for anonymous relocations in read-only .eh_frame, they will be turned into relative entries afterwards. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-mips.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfxx-mips.c diff -u src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.10 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.11 --- src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.10 Wed Oct 26 18:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elfxx-mips.c Mon Jul 17 19:50:23 2017 @@ -8596,12 +8596,18 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s /* 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. */ + relocation is complete and needs no futher adjustment. + + Silently ignore absolute relocations in the .eh_frame + section, they will be dropped latter. + */ 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)) + && MIPS_ELF_READONLY_SECTION (sec) + && !((r_type == R_MIPS_32 || r_type == R_MIPS_64) + && strcmp(sec->name, ".eh_frame") == 0)) { /* We tell the dynamic linker that there are relocations against the text segment. */ Index: src/external/gpl3/binutils/dist/gas/config/tc-mips.h diff -u src/external/gpl3/binutils/dist/gas/config/tc-mips.h:1.6 src/external/gpl3/binutils/dist/gas/config/tc-mips.h:1.7 --- src/external/gpl3/binutils/dist/gas/config/tc-mips.h:1.6 Wed Oct 26 18:42:55 2016 +++ src/external/gpl3/binutils/dist/gas/config/tc-mips.h Mon Jul 17 19:50:23 2017 @@ -178,7 +178,7 @@ extern int mips_dwarf2_addr_size (void); #define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size () #define DWARF2_FDE_RELOC_SIZE (compact_eh ? 4 : mips_dwarf2_addr_size ()) #define DWARF2_FDE_RELOC_ENCODING(enc) \ - (enc | (compact_eh ? DW_EH_PE_pcrel : 0)) + (compact_eh ? (enc)|DW_EH_PE_pcrel : DW_EH_PE_absptr) #define TARGET_USE_CFIPOP 1
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: christos Date: Wed Mar 29 15:28:42 UTC 2017 Modified Files: src/external/gpl3/binutils/dist/bfd: elf.c src/external/gpl3/binutils/dist/binutils: readelf.c src/external/gpl3/binutils/dist/include/elf: common.h Log Message: Teach me about the NetBSD-CORE ELF AuxV note. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elf.c cvs rdiff -u -r1.17 -r1.18 src/external/gpl3/binutils/dist/binutils/readelf.c cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/include/elf/common.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf.c diff -u src/external/gpl3/binutils/dist/bfd/elf.c:1.7 src/external/gpl3/binutils/dist/bfd/elf.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elf.c:1.7 Wed Oct 26 14:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elf.c Wed Mar 29 11:28:42 2017 @@ -8741,6 +8741,22 @@ _bfd_elfcore_make_pseudosection (bfd *ab return elfcore_maybe_make_sect (abfd, name, sect); } +static bfd_boolean +elfcore_make_auxv_note_section (bfd *abfd, Elf_Internal_Note *note, +size_t offs) +{ + asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv", +SEC_HAS_CONTENTS); + + if (sect == NULL) +return FALSE; + sect->size = note->descsz - offs; + sect->filepos = note->descpos + offs; + sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32; + + return TRUE; +} + /* prstatus_t exists on: solaris 2.5+ linux 2.[01] + glibc @@ -9461,18 +9477,7 @@ elfcore_grok_note (bfd *abfd, Elf_Intern #endif case NT_AUXV: - { - asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv", - SEC_HAS_CONTENTS); - - if (sect == NULL) - return FALSE; - sect->size = note->descsz; - sect->filepos = note->descpos; - sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32; - - return TRUE; - } + return elfcore_make_auxv_note_section (abfd, note, 0); case NT_FILE: return elfcore_make_note_pseudosection (abfd, ".note.linuxcore.file", @@ -9664,18 +9669,7 @@ elfcore_grok_freebsd_note (bfd *abfd, El return TRUE; case NT_FREEBSD_PROCSTAT_AUXV: - { - asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv", - SEC_HAS_CONTENTS); - - if (sect == NULL) - return FALSE; - sect->size = note->descsz - 4; - sect->filepos = note->descpos + 4; - sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32; - - return TRUE; - } + return elfcore_make_auxv_note_section (abfd, note, 4); case NT_X86_XSTATE: if (note->namesz == 8) @@ -9721,6 +9715,7 @@ elfcore_grok_netbsd_procinfo (bfd *abfd, note); } + static bfd_boolean elfcore_grok_netbsd_note (bfd *abfd, Elf_Internal_Note *note) { @@ -9729,17 +9724,24 @@ elfcore_grok_netbsd_note (bfd *abfd, Elf if (elfcore_netbsd_get_lwpid (note, )) elf_tdata (abfd)->core->lwpid = lwp; - if (note->type == NT_NETBSDCORE_PROCINFO) + switch (note->type) { +case NT_NETBSDCORE_PROCINFO: /* NetBSD-specific core "procinfo". Note that we expect to find this note before any of the others, which is fine, since the kernel writes this note out first when it creates a core file. */ - return elfcore_grok_netbsd_procinfo (abfd, note); + +case NT_NETBSDCORE_AUXV: + /* NetBSD-specific Elf Auxiliary Vector data. */ + return elfcore_make_auxv_note_section (abfd, note, 4); + +default: + break; } - /* As of Jan 2002 there are no other machine-independent notes + /* As of March 2017 there are no other machine-independent notes defined for NetBSD core files. If the note type is less than the start of the machine-dependent note types, we don't understand it. */ @@ -9837,18 +9839,7 @@ elfcore_grok_openbsd_note (bfd *abfd, El return elfcore_make_note_pseudosection (abfd, ".reg-xfp", note); if (note->type == NT_OPENBSD_AUXV) -{ - asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv", - SEC_HAS_CONTENTS); - - if (sect == NULL) - return FALSE; - sect->size = note->descsz; - sect->filepos = note->descpos; - sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32; - - return TRUE; -} +return elfcore_make_auxv_note_section (abfd, note, 0); if (note->type == NT_OPENBSD_WCOOKIE) { Index: src/external/gpl3/binutils/dist/binutils/readelf.c diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.17 src/external/gpl3/binutils/dist/binutils/readelf.c:1.18 --- src/external/gpl3/binutils/dist/binutils/readelf.c:1.17 Wed Oct 26 14:42:53 2016 +++ src/external/gpl3/binutils/dist/binutils/readelf.c Wed Mar 29 11:28:42 2017 @@ -15666,10 +15666,15 @@ get_netbsd_elfcore_note_type (unsigned e { static char buff[64]; - if (e_type == NT_NETBSDCORE_PROCINFO) +
CVS commit: src/external/gpl3/binutils/dist/gas
Module Name:src Committed By: skrll Date: Wed Jan 11 14:13:05 UTC 2017 Modified Files: src/external/gpl3/binutils/dist/gas: configure.tgt Log Message: Fix merge botch. arm eabi targets now match properly and we get the right defaults. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/gas/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/configure.tgt diff -u src/external/gpl3/binutils/dist/gas/configure.tgt:1.11 src/external/gpl3/binutils/dist/gas/configure.tgt:1.12 --- src/external/gpl3/binutils/dist/gas/configure.tgt:1.11 Wed Oct 26 18:42:55 2016 +++ src/external/gpl3/binutils/dist/gas/configure.tgt Wed Jan 11 14:13:05 2017 @@ -140,6 +140,8 @@ case ${generic_target} in arm-*-phoenix*) fmt=elf ;; arm-*-rtems*)fmt=elf ;; arm-*-elf)fmt=elf ;; + arm-*-netbsdelf*-*eabihf*) fmt=elf em=armnbsdeabihf ;; + arm-*-netbsdelf*-*eabi*) fmt=elf em=armnbsdeabi ;; arm-*-eabi*)fmt=elf em=armeabi ;; arm-*-symbianelf*) fmt=elf em=symbian ;; arm-*-kaos*)fmt=elf ;; @@ -151,8 +153,6 @@ case ${generic_target} in arm-*-linux*aout*) fmt=aout em=linux ;; arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;; arm-*-linux-*) fmt=elf em=linux ;; - arm-*-netbsdelf*-*eabihf*) fmt=elf em=armnbsdeabihf ;; - arm-*-netbsdelf*-*eabi*) fmt=elf em=armnbsdeabi ;; arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;; arm-*-uclinux*) fmt=elf em=linux ;; arm-*-nacl*)fmt=elf em=nacl ;;
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: buhrow Date: Fri Dec 30 22:40:24 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-arm.c Log Message: Fix problem which prevents cross building on NetBSD systems which predate NetBSD-6 or non-NetBSD systems. See discussion on port-arm for details. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elf32-arm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.10 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.11 --- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.10 Wed Oct 26 18:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c Fri Dec 30 22:40:23 2016 @@ -3207,8 +3207,8 @@ ctz (unsigned int mask) #endif } -#ifndef __NetBSD__ -static inline int +#if !defined (__NetBSD__) || (__NetBSD_Version__ < 6) +unsigned int popcount (unsigned int mask) { #if GCC_VERSION >= 3004
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: joerg Date: Fri Nov 4 00:19:32 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf64-ppc.c Log Message: Tail calls can use the PLT without a nop after the branch. Since the callee won't return to the next instruction anyway, it wouldn't work anyway. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.10 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.11 --- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.10 Thu Nov 3 01:22:59 2016 +++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Fri Nov 4 00:19:32 2016 @@ -14069,6 +14069,11 @@ ppc64_elf_relocate_section (bfd *output_ can_plt_call = TRUE; } } + else + { + /* Tail calls don't need to worry about restoring TOC. */ + can_plt_call = TRUE; + } } if (!can_plt_call && h != NULL)
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Thu Nov 3 01:22:59 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-ppc.c elf64-ppc.c Log Message: More detailed error messages for text relocations on ppc code. Tested by joerg@ To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c \ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.9 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.10 --- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.9 Wed Oct 26 14:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c Wed Nov 2 21:22:59 2016 @@ -5557,7 +5557,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT /* Return true if we have dynamic relocs that apply to read-only sections. */ static bfd_boolean -readonly_dynrelocs (struct elf_link_hash_entry *h) +readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf, bfd_boolean warn) { struct elf_dyn_relocs *p; @@ -5568,7 +5568,16 @@ readonly_dynrelocs (struct elf_link_hash if (s != NULL && ((s->flags & (SEC_READONLY | SEC_ALLOC)) == (SEC_READONLY | SEC_ALLOC))) - return TRUE; + { + struct bfd_link_info *info = (struct bfd_link_info *) inf; + + if (warn && ((info->warn_shared_textrel && bfd_link_pic (info)) + || info->error_textrel)) + info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"), +p->sec->owner, h->root.root.string, +p->sec); + return TRUE; + } } return FALSE; } @@ -5642,7 +5651,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf && h->type != STT_GNU_IFUNC && !htab->is_vxworks && !ppc_elf_hash_entry (h)->has_sda_refs - && !readonly_dynrelocs (h)) + && !readonly_dynrelocs (h, info, FALSE)) { h->pointer_equality_needed = 0; h->non_got_ref = 0; @@ -5662,7 +5671,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf && h->type != STT_GNU_IFUNC && !htab->is_vxworks && !ppc_elf_hash_entry (h)->has_sda_refs - && !readonly_dynrelocs (h)) + && !readonly_dynrelocs (h, info, FALSE)) h->non_got_ref = 0; } h->protected_def = 0; @@ -5739,7 +5748,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf && !ppc_elf_hash_entry (h)->has_sda_refs && !htab->is_vxworks && !h->def_regular - && !readonly_dynrelocs (h)) + && !readonly_dynrelocs (h, info, FALSE)) { h->non_got_ref = 0; return TRUE; @@ -6249,7 +6258,7 @@ maybe_set_textrel (struct elf_link_hash_ if (h->root.type == bfd_link_hash_indirect) return TRUE; - if (readonly_dynrelocs (h)) + if (readonly_dynrelocs (h, info, TRUE)) { ((struct bfd_link_info *) info)->flags |= DF_TEXTREL; Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.9 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.10 --- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.9 Wed Oct 26 14:42:52 2016 +++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Wed Nov 2 21:22:59 2016 @@ -7105,7 +7105,7 @@ ppc64_elf_func_desc_adjust (bfd *obfd AT /* Return true if we have dynamic relocs that apply to read-only sections. */ static bfd_boolean -readonly_dynrelocs (struct elf_link_hash_entry *h) +readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf, bfd_boolean warn) { struct ppc_link_hash_entry *eh; struct elf_dyn_relocs *p; @@ -7116,7 +7116,16 @@ readonly_dynrelocs (struct elf_link_hash asection *s = p->sec->output_section; if (s != NULL && (s->flags & SEC_READONLY) != 0) - return TRUE; + { + struct bfd_link_info *info = (struct bfd_link_info *) inf; + + if (warn && ((info->warn_shared_textrel && bfd_link_pic (info)) + || info->error_textrel)) + info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"), +p->sec->owner, h->root.root.string, +p->sec); + return TRUE; + } } return FALSE; } @@ -7168,7 +7177,7 @@ ppc64_elf_adjust_dynamic_symbol (struct be used instead. */ if (h->pointer_equality_needed && h->type != STT_GNU_IFUNC - && !readonly_dynrelocs (h)) + && !readonly_dynrelocs (h, info, FALSE)) { h->pointer_equality_needed = 0; h->non_got_ref = 0; @@ -7186,7 +7195,7 @@ ppc64_elf_adjust_dynamic_symbol (struct else if (!h->ref_regular_nonweak && h->non_got_ref && h->type != STT_GNU_IFUNC - && !readonly_dynrelocs (h)) + && !readonly_dynrelocs (h, info, FALSE)) h->non_got_ref = 0; /* If making a plt entry, then we don't need copy relocs. */ @@ -7235,7 +7244,7 @@ ppc64_elf_adjust_dynamic_symbol (struct
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: christos Date: Wed Oct 26 20:26:20 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: configure configure.ac Log Message: restore the initfini array tests To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/ld/configure cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/ld/configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure diff -u src/external/gpl3/binutils/dist/ld/configure:1.4 src/external/gpl3/binutils/dist/ld/configure:1.5 --- src/external/gpl3/binutils/dist/ld/configure:1.4 Wed Oct 26 14:43:26 2016 +++ src/external/gpl3/binutils/dist/ld/configure Wed Oct 26 16:26:20 2016 @@ -1454,7 +1454,7 @@ Optional Features: --enable-werror treat compile warnings as errors --enable-build-warnings enable build-time compiler warnings --disable-nls do not use Native Language Support - --disable-initfini-array do not use .init_array/.fini_array sections + --enable-initfini-array use .init_array/.fini_array sections Optional Packages: --with-PACKAGE[=ARG]use PACKAGE [ARG=yes] @@ -16866,14 +16866,44 @@ fi # Check whether --enable-initfini-array was given. if test "${enable_initfini_array+set}" = set; then : - enableval=$enable_initfini_array; case "${enableval}" in - yes|no) ;; - *) as_fn_error "invalid --enable-initfini-array argument" "$LINENO" 5 ;; - esac + enableval=$enable_initfini_array; +else + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5 +$as_echo_n "checking for .preinit_array/.init_array/.fini_array support... " >&6; } +if test "${gcc_cv_initfini_array+set}" = set; then : + $as_echo_n "(cached) " >&6 +else +if test "x${build}" = "x${target}" ; then +if test "$cross_compiling" = yes; then : + gcc_cv_initfini_array=no else - enable_initfini_array=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +static int x = -1; +int main (void) { return x; } +int foo (void) { x = 0; } +int (*fp) (void) __attribute__ ((section (".init_array"))) = foo; +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gcc_cv_initfini_array=yes + else + gcc_cv_initfini_array=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + else + gcc_cv_initfini_array=no + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_initfini_array" >&5 +$as_echo "$gcc_cv_initfini_array" >&6; } + enable_initfini_array=$gcc_cv_initfini_array + + fi if test $enable_initfini_array = yes; then Index: src/external/gpl3/binutils/dist/ld/configure.ac diff -u src/external/gpl3/binutils/dist/ld/configure.ac:1.3 src/external/gpl3/binutils/dist/ld/configure.ac:1.4 --- src/external/gpl3/binutils/dist/ld/configure.ac:1.3 Wed Oct 26 14:43:26 2016 +++ src/external/gpl3/binutils/dist/ld/configure.ac Wed Oct 26 16:26:20 2016 @@ -226,11 +226,23 @@ AC_SEARCH_LIBS([dlopen], [dl]) AM_CONDITIONAL([ENABLE_PLUGINS], [test x$plugins = xyes]) AC_ARG_ENABLE(initfini-array, -[ --disable-initfini-array do not use .init_array/.fini_array sections], -[case "${enableval}" in - yes|no) ;; - *) AC_MSG_ERROR([invalid --enable-initfini-array argument]) ;; - esac], [enable_initfini_array=yes]) + [ --enable-initfini-array use .init_array/.fini_array sections], + [], [ +AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, + gcc_cv_initfini_array, [dnl + if test "x${build}" = "x${target}" ; then +AC_RUN_IFELSE([AC_LANG_SOURCE([ +static int x = -1; +int main (void) { return x; } +int foo (void) { x = 0; } +int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;])], + [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no], + [gcc_cv_initfini_array=no]) + else + gcc_cv_initfini_array=no + fi]) + enable_initfini_array=$gcc_cv_initfini_array +]) AC_SUBST(enable_initfini_array) if test $enable_initfini_array = yes; then AC_DEFINE(HAVE_INITFINI_ARRAY, 1,
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: mrg Date: Wed Oct 19 19:09:42 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: fix the armeb target list. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.24 src/external/gpl3/binutils/dist/ld/configure.tgt:1.25 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.24 Tue Oct 18 12:52:32 2016 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Wed Oct 19 19:09:42 2016 @@ -111,8 +111,6 @@ arm*-*-netbsdelf*-*eabi*) targ_emul=armelf_nbsd_eabi; targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;; arm*eb-*-netbsdelf*) targ_emul=armelfb_nbsd; - targ_extra_emuls="armelfb_nbsd armelf" ;; -armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; arm-*-netbsdelf*) targ_emul=armelf_nbsd; targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;;
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: christos Date: Tue Oct 18 12:52:32 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: fix typo. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.23 src/external/gpl3/binutils/dist/ld/configure.tgt:1.24 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.23 Sat Mar 26 04:41:16 2016 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Tue Oct 18 08:52:32 2016 @@ -111,7 +111,7 @@ arm*-*-netbsdelf*-*eabi*) targ_emul=armelf_nbsd_eabi; targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;; arm*eb-*-netbsdelf*) targ_emul=armelfb_nbsd; - targ_extra_emuls="armelfb_fbsd armelf" ;; + targ_extra_emuls="armelfb_nbsd armelf" ;; armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; arm-*-netbsdelf*) targ_emul=armelf_nbsd;
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: mrg Date: Tue Oct 11 07:05:29 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh armelf_nbsd_eabi.sh armelf_nbsd_eabihf.sh Log Message: fix the previous - the emul names don't tend to include "32". tested on shark, though fixes to make compiling for oabi work remain uncommited. now an aarch64 build almost completes! To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.9 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.8 Tue Oct 11 02:49:38 2016 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh Tue Oct 11 07:05:29 2016 @@ -11,7 +11,7 @@ unset EMBEDDED case "$target" in aarch64*-*-netbsd* | arm*-*-netbsdelf*-*eabi*) case "$EMULATION_NAME" in -*32*) +armelf*_nbsd) LIB_PATH='=/usr/lib/oabi' ;; esac Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.9 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.8 Tue Oct 11 02:49:38 2016 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh Tue Oct 11 07:05:29 2016 @@ -9,14 +9,17 @@ OTHER_READONLY_SECTIONS=" case "$target" in arm*-*-netbsdelf*-*eabihf*) -LIB_PATH='=/usr/lib/eabi' +case "$EMULATION_NAME" in +*armelf*eabi) + LIB_PATH='=/usr/lib/eabi' + ;; +esac ;; arm*-*-netbsdelf*-*eabi*) -LIB_PATH='=/usr/lib' ;; aarch64*-*-netbsd* | arm*-*-netbsdelf*) case "$EMULATION_NAME" in -*32*) +*armelf*eabi) LIB_PATH='=/usr/lib/eabi' ;; esac Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.5 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.6 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.5 Tue Oct 11 02:49:38 2016 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh Tue Oct 11 07:05:29 2016 @@ -9,11 +9,10 @@ OTHER_READONLY_SECTIONS=" case "$target" in arm*-*-netbsdelf*-*eabihf*) -LIB_PATH='=/usr/lib' ;; aarch64*-*-netbsd* | arm*-*-netbsdelf*) case "$EMULATION_NAME" in -*32*) +*armelf*eabihf) LIB_PATH='=/usr/lib/eabihf' ;; esac
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: christos Date: Tue Oct 11 02:49:39 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh armelf_nbsd_eabi.sh armelf_nbsd_eabihf.sh Log Message: fix emulation path To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.7 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.8 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.7 Sat May 21 12:23:10 2016 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh Mon Oct 10 22:49:38 2016 @@ -10,6 +10,10 @@ unset EMBEDDED case "$target" in aarch64*-*-netbsd* | arm*-*-netbsdelf*-*eabi*) -LIB_PATH='=/usr/lib/oabi' +case "$EMULATION_NAME" in +*32*) + LIB_PATH='=/usr/lib/oabi' + ;; +esac ;; esac Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.7 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.8 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.7 Sun Aug 10 01:57:30 2014 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh Mon Oct 10 22:49:38 2016 @@ -15,6 +15,10 @@ case "$target" in LIB_PATH='=/usr/lib' ;; aarch64*-*-netbsd* | arm*-*-netbsdelf*) -LIB_PATH='=/usr/lib/eabi' +case "$EMULATION_NAME" in +*32*) + LIB_PATH='=/usr/lib/eabi' + ;; +esac ;; esac Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.4 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.5 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.4 Sun Aug 10 01:57:30 2014 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh Mon Oct 10 22:49:38 2016 @@ -12,6 +12,10 @@ case "$target" in LIB_PATH='=/usr/lib' ;; aarch64*-*-netbsd* | arm*-*-netbsdelf*) -LIB_PATH='=/usr/lib/eabihf' +case "$EMULATION_NAME" in +*32*) + LIB_PATH='=/usr/lib/eabihf' + ;; +esac ;; esac
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: christos Date: Thu Oct 6 20:29:33 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf32ppc_nbsd.sh Log Message: fix ppc64 To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh:1.1 src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh:1.2 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh:1.1 Thu Mar 6 23:13:46 2014 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh Thu Oct 6 16:29:33 2016 @@ -2,6 +2,9 @@ case "$target" in powerpc64*-*-netbsd*) -LIB_PATH='=/usr/lib/powerpc' +case "$EMULATION_NAME" in +*32*) + LIB_PATH='=/usr/lib/powerpc' ;; +esac esac
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Mon Sep 5 14:25:33 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elfxx-sparc.c Log Message: more errors for text relocations To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.9 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.10 --- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.9 Mon Sep 5 05:17:35 2016 +++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Mon Sep 5 10:25:33 2016 @@ -2616,7 +2616,13 @@ _bfd_sparc_elf_size_dynamic_sections (bf srel = htab->elf.irelplt; srel->size += p->count * SPARC_ELF_RELA_BYTES (htab); if ((p->sec->output_section->flags & SEC_READONLY) != 0) - info->flags |= DF_TEXTREL; + { + info->flags |= DF_TEXTREL; + if ((info->warn_shared_textrel && bfd_link_pic (info)) + || info->error_textrel) + info->callbacks->einfo (_("%P: %B: warning: relocation " + "in readonly section `%A'\n"), p->sec->owner, p->sec); + } } } }
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Mon Sep 5 09:17:35 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elfxx-sparc.c Log Message: sync error with x86_64. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.8 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.9 --- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.8 Wed Jun 15 10:47:23 2016 +++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Mon Sep 5 05:17:35 2016 @@ -2514,12 +2514,14 @@ readonly_dynrelocs (struct elf_link_hash { struct bfd_link_info *info = (struct bfd_link_info *) inf; - if (info->warn_shared_textrel) -(*_bfd_error_handler) - (_("warning: dynamic relocation to `%s' in readonly section `%s'"), - h->root.root.string, s->name); info->flags |= DF_TEXTREL; + if ((info->warn_shared_textrel && bfd_link_pic (info)) + || info->error_textrel) + info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"), +p->sec->owner, h->root.root.string, +p->sec); + /* Not an error, just cut short the traversal. */ return FALSE; }
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Thu Jul 21 00:10:57 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-vax.c Log Message: don't die printing a name we don't have To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/bfd/elf32-vax.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-vax.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.13 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.14 --- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.13 Wed Jun 15 10:47:23 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c Wed Jul 20 20:10:57 2016 @@ -782,7 +782,7 @@ elf_vax_check_relocs (bfd *abfd, struct if (info->warn_shared_textrel) (*_bfd_error_handler) (_("warning: dynamic relocation to `%s' in readonly section `%s'"), - h->root.root.string, sec->name); + h ? h->root.root.string : "?", sec->name); info->flags |= DF_TEXTREL; } }
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: mlelstv Date: Sun Jun 26 14:44:10 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-m68k.c Log Message: fix build To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.8 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.9 --- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.8 Wed Jun 15 14:47:23 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c Sun Jun 26 14:44:10 2016 @@ -3440,7 +3440,7 @@ elf_m68k_discard_copies (struct elf_link if (info->warn_shared_textrel) (*_bfd_error_handler) (_("warning: dynamic relocation to `%s' in readonly section `%s'"), - h->root.root.string, s->name); + h->root.root.string, s->section->name); info->flags |= DF_TEXTREL; break; }
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Wed Jun 15 14:47:23 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-hppa.c elf32-i386.c elf32-m68k.c elf32-sh.c elf32-vax.c elfxx-sparc.c Log Message: Harmonize the error messages about dynamic relocations. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elf32-hppa.c \ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c \ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/bfd/elf32-i386.c \ src/external/gpl3/binutils/dist/bfd/elf32-sh.c cvs rdiff -u -r1.12 -r1.13 src/external/gpl3/binutils/dist/bfd/elf32-vax.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-hppa.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-hppa.c:1.7 src/external/gpl3/binutils/dist/bfd/elf32-hppa.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elf32-hppa.c:1.7 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-hppa.c Wed Jun 15 10:47:23 2016 @@ -2185,8 +2185,8 @@ readonly_dynrelocs (struct elf_link_hash if (info->warn_shared_textrel) (*_bfd_error_handler) - (_("warning: dynamic relocation in readonly section `%s'"), - eh->root.root.string); + (_("warning: dynamic relocation to `%s' in readonly section `%s'"), + eh->root.root.string, sec->name); info->flags |= DF_TEXTREL; /* Not an error, just cut short the traversal. */ Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.7 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.7 Fri Apr 22 13:40:36 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c Wed Jun 15 10:47:23 2016 @@ -2816,8 +2816,8 @@ elf_m68k_check_relocs (bfd *abfd, { if (info->warn_shared_textrel) (*_bfd_error_handler) - (_("warning: dynamic relocation in readonly section `%s'"), - h->root.root.string); + (_("warning: dynamic relocation to `%s' in readonly section `%s'"), + h->root.root.string, sec->name); info->flags |= DF_TEXTREL; } @@ -3439,8 +3439,8 @@ elf_m68k_discard_copies (struct elf_link { if (info->warn_shared_textrel) (*_bfd_error_handler) - (_("warning: dynamic relocation in readonly section `%s'"), - h->root.root.string); + (_("warning: dynamic relocation to `%s' in readonly section `%s'"), + h->root.root.string, s->name); info->flags |= DF_TEXTREL; break; } Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.7 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.7 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c Wed Jun 15 10:47:23 2016 @@ -2516,8 +2516,8 @@ readonly_dynrelocs (struct elf_link_hash if (info->warn_shared_textrel) (*_bfd_error_handler) - (_("warning: dynamic relocation in readonly section `%s'"), - h->root.root.string); + (_("warning: dynamic relocation to `%s' in readonly section `%s'"), + h->root.root.string, s->name); info->flags |= DF_TEXTREL; /* Not an error, just cut short the traversal. */ Index: src/external/gpl3/binutils/dist/bfd/elf32-i386.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-i386.c:1.6 src/external/gpl3/binutils/dist/bfd/elf32-i386.c:1.7 --- src/external/gpl3/binutils/dist/bfd/elf32-i386.c:1.6 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-i386.c Wed Jun 15 10:47:23 2016 @@ -2718,8 +2718,8 @@ elf_i386_readonly_dynrelocs (struct elf_ 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); + (_("warning: dynamic relocation to `%s' in readonly section `%s'"), + h->root.root.string, s->name); info->flags |= DF_TEXTREL; if ((info->warn_shared_textrel && bfd_link_pic (info)) Index: src/external/gpl3/binutils/dist/bfd/elf32-sh.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.6 src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.7 --- src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.6 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-sh.c Wed Jun 15 10:47:23 2016 @@ -3304,8 +3304,8 @@ readonly_dynrelocs (struct elf_link_hash if (info->warn_shared_textrel) (*_bfd_error_handler) - (_("warning: dynamic relocation in readonly section `%s'"), - h->root.root.string); +
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: christos Date: Sat May 21 16:23:10 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh Log Message: PIE in the face! To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.6 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.7 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.6 Sun Aug 10 01:57:30 2014 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh Sat May 21 12:23:10 2016 @@ -2,6 +2,7 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" TEXT_START_ADDR=0x0001 TARGET2_TYPE=got-rel +GENERATE_PIE_SCRIPT=yes unset DATA_START_SYMBOLS unset STACK_ADDR
CVS commit: src/external/gpl3/binutils/dist/ld/emultempl
Module Name:src Committed By: christos Date: Mon May 2 23:22:39 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emultempl: elf32.em Log Message: search for the proper variable in the sysroot case. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.11 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.12 --- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.11 Fri Jan 29 09:42:47 2016 +++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em Mon May 2 19:22:39 2016 @@ -1289,7 +1289,7 @@ fragmentby - && gld${EMULATION_NAME}_search_needed (rp->name, + && gld${EMULATION_NAME}_search_needed (tmpname, , force, 1)); if (tmpname != rp->name)
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: joerg Date: Fri Apr 29 16:25:55 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elflink.c Log Message: Revert. For whatever reasons, the ELF visibility attributes are not meant to be a useful indicator of what an object expects, so for linking against a protected symbol, it must be declared as normal. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elflink.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elflink.c diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.10 src/external/gpl3/binutils/dist/bfd/elflink.c:1.11 --- src/external/gpl3/binutils/dist/bfd/elflink.c:1.10 Fri Mar 25 23:04:41 2016 +++ src/external/gpl3/binutils/dist/bfd/elflink.c Fri Apr 29 16:25:55 2016 @@ -1252,7 +1252,6 @@ _bfd_elf_merge_symbol (bfd *abfd, definition from a dynamic object. */ if (newdyn && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT - && ELF_ST_VISIBILITY (h->other) != STV_PROTECTED && !bfd_is_und_section (sec)) { *skip = TRUE; @@ -1270,7 +1269,6 @@ _bfd_elf_merge_symbol (bfd *abfd, } else if (!newdyn && ELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT - && ELF_ST_VISIBILITY (sym->st_other) != STV_PROTECTED && h->def_dynamic) { /* If the new symbol with non-default visibility comes from a @@ -9337,11 +9335,10 @@ elf_link_output_extsym (struct bfd_hash_ && h->def_dynamic) sym.st_size = 0; - /* If a non-weak symbol with non-public visibility is not defined + /* If a non-weak symbol with non-default visibility is not defined locally, it is a fatal error. */ if (!bfd_link_relocatable (flinfo->info) && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT - && ELF_ST_VISIBILITY (sym.st_other) != STV_PROTECTED && ELF_ST_BIND (sym.st_info) != STB_WEAK && h->root.type == bfd_link_hash_undefined && !h->def_regular)
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Fri Apr 22 17:40:36 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-m68k.c Log Message: Print the symbol that caused the text relocation for m68k like we do for other platforms. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.6 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.7 --- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.6 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c Fri Apr 22 13:40:36 2016 @@ -2813,7 +2813,13 @@ elf_m68k_check_relocs (bfd *abfd, && !(ELF32_R_TYPE (rel->r_info) == R_68K_PC8 || ELF32_R_TYPE (rel->r_info) == R_68K_PC16 || ELF32_R_TYPE (rel->r_info) == R_68K_PC32)) - info->flags |= DF_TEXTREL; + { + if (info->warn_shared_textrel) + (*_bfd_error_handler) + (_("warning: dynamic relocation in readonly section `%s'"), + h->root.root.string); + info->flags |= DF_TEXTREL; + } sreloc->size += sizeof (Elf32_External_Rela); @@ -3431,6 +3437,10 @@ elf_m68k_discard_copies (struct elf_link s = s->next) if ((s->section->flags & SEC_READONLY) != 0) { + if (info->warn_shared_textrel) + (*_bfd_error_handler) + (_("warning: dynamic relocation in readonly section `%s'"), + h->root.root.string); info->flags |= DF_TEXTREL; break; }
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: skrll Date: Tue Apr 5 09:52:22 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: aarch64nbsd.sh Log Message: Set ELFSIZE to 64 To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.1 src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.2 --- src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.1 Sun Aug 10 05:47:36 2014 +++ src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh Tue Apr 5 09:52:22 2016 @@ -3,6 +3,7 @@ MACHINE= NOP=0 SCRIPT_NAME=elf +ELFSIZE=64 OUTPUT_FORMAT="elf64-littleaarch64" BIG_OUTPUT_FORMAT="elf64-bigaarch64" LITTLE_OUTPUT_FORMAT="elf64-littleaarch64"
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Mon Apr 4 06:58:48 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: configure configure.ac Log Message: Don't use secureplt on alpha yet To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/configure cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/binutils/dist/bfd/configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/configure diff -u src/external/gpl3/binutils/dist/bfd/configure:1.9 src/external/gpl3/binutils/dist/bfd/configure:1.10 --- src/external/gpl3/binutils/dist/bfd/configure:1.9 Fri Jan 29 18:05:18 2016 +++ src/external/gpl3/binutils/dist/bfd/configure Mon Apr 4 06:58:48 2016 @@ -12147,7 +12147,7 @@ if test "${enable_secureplt+set}" = set; *)as_fn_error "bad value ${enableval} for secureplt option" "$LINENO" 5 ;; esac else - use_secureplt=true + use_secureplt=false fi if test $use_secureplt = true; then Index: src/external/gpl3/binutils/dist/bfd/configure.ac diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.2 src/external/gpl3/binutils/dist/bfd/configure.ac:1.3 --- src/external/gpl3/binutils/dist/bfd/configure.ac:1.2 Fri Jan 29 18:05:18 2016 +++ src/external/gpl3/binutils/dist/bfd/configure.ac Mon Apr 4 06:58:48 2016 @@ -82,7 +82,7 @@ AC_ARG_ENABLE(secureplt, yes) use_secureplt=true ;; no) use_secureplt=false ;; *)AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;; -esac],[use_secureplt=true])dnl +esac],[use_secureplt=false])dnl if test $use_secureplt = true; then AC_DEFINE(USE_SECUREPLT, 1, [Define if we should default to creating read-only plt entries])
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Mon Mar 28 09:01:24 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: Add some more mips targets for martin To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.21 src/external/gpl3/binutils/dist/bfd/config.bfd:1.22 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.21 Fri Mar 25 09:27:43 2016 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Mon Mar 28 09:01:24 2016 @@ -1082,11 +1082,11 @@ case "${targ}" in ;; mips*el-*-netbsd*) targ_defvec=mips_elf32_trad_le_vec -targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" +targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" ;; mips*-*-netbsd*) targ_defvec=mips_elf32_trad_be_vec -targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" +targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec mips_ecoff_be_vec mips_ecoff_le_vec" ;; mips64*-*-openbsd*) targ_defvec=mips_elf64_trad_be_vec
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: skrll Date: Sat Mar 26 08:41:16 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: Too many ;; in previous To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.22 src/external/gpl3/binutils/dist/ld/configure.tgt:1.23 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.22 Sat Mar 26 08:39:55 2016 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Sat Mar 26 08:41:16 2016 @@ -499,11 +499,11 @@ mips*-sgi-irix6*) targ_emul=elf32bmipn32 targ_extra_libpath=$targ_extra_emuls ;; mips64*el-*-netbsd*) targ_emul=elf32ltsmipn32 targ_extra_emuls="elf64btsmip elf64ltsmip elf32ltsmip elf32btsmipn32 elf32btsmip" - targ_extra_libpath=$targ_extra_emuls ;; + targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-netbsd*) targ_emul=elf32btsmipn32 targ_extra_emuls="elf64ltsmip elf64btsmip elf32btsmip elf32ltsmipn32 elf32ltsmip" - targ_extra_libpath=$targ_extra_emuls ;; + targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-netbsd*) targ_emul=elf32ltsmip targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: skrll Date: Sat Mar 26 08:39:55 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: Attempt to fix mergo for mips To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.21 src/external/gpl3/binutils/dist/ld/configure.tgt:1.22 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.21 Fri Feb 26 14:34:06 2016 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Sat Mar 26 08:39:55 2016 @@ -497,6 +497,14 @@ mips*-sgi-irix5*) targ_emul=elf32bsmip ; mips*-sgi-irix6*) targ_emul=elf32bmipn32 targ_extra_emuls="elf32bsmip elf64bmip" targ_extra_libpath=$targ_extra_emuls ;; +mips64*el-*-netbsd*) targ_emul=elf32ltsmipn32 + targ_extra_emuls="elf64btsmip elf64ltsmip elf32ltsmip elf32btsmipn32 elf32btsmip" + targ_extra_libpath=$targ_extra_emuls ;; + ;; +mips64*-*-netbsd*) targ_emul=elf32btsmipn32 + targ_extra_emuls="elf64ltsmip elf64btsmip elf32btsmip elf32ltsmipn32 elf32ltsmip" + targ_extra_libpath=$targ_extra_emuls ;; + ;; mips*el-*-netbsd*) targ_emul=elf32ltsmip targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip" ;; @@ -504,9 +512,6 @@ mips*-*-netbsd*) targ_emul=elf32btsmip targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" ;; mips*-*-bsd*) targ_emul=mipsbig ;; -mips64*-*-netbsd*) targ_emul=elf32btsmipn32 - targ_extra_emuls="elf64ltsmip elf64btsmip elf32btsmip elf32ltsmipn32 elf32ltsmip" - ;; mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;;
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: joerg Date: Fri Mar 25 23:04:41 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elflink.c Log Message: If a protected symbol is defined in a shared library, it should still provide an implementation. Fix the merging rules. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elflink.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elflink.c diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.9 src/external/gpl3/binutils/dist/bfd/elflink.c:1.10 --- src/external/gpl3/binutils/dist/bfd/elflink.c:1.9 Fri Jan 29 14:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elflink.c Fri Mar 25 23:04:41 2016 @@ -1252,6 +1252,7 @@ _bfd_elf_merge_symbol (bfd *abfd, definition from a dynamic object. */ if (newdyn && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT + && ELF_ST_VISIBILITY (h->other) != STV_PROTECTED && !bfd_is_und_section (sec)) { *skip = TRUE; @@ -1269,6 +1270,7 @@ _bfd_elf_merge_symbol (bfd *abfd, } else if (!newdyn && ELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT + && ELF_ST_VISIBILITY (sym->st_other) != STV_PROTECTED && h->def_dynamic) { /* If the new symbol with non-default visibility comes from a @@ -9335,10 +9337,11 @@ elf_link_output_extsym (struct bfd_hash_ && h->def_dynamic) sym.st_size = 0; - /* If a non-weak symbol with non-default visibility is not defined + /* If a non-weak symbol with non-public visibility is not defined locally, it is a fatal error. */ if (!bfd_link_relocatable (flinfo->info) && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT + && ELF_ST_VISIBILITY (sym.st_other) != STV_PROTECTED && ELF_ST_BIND (sym.st_info) != STB_WEAK && h->root.type == bfd_link_hash_undefined && !h->def_regular)
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Fri Mar 25 09:27:43 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: Fix mergo for mips To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.20 src/external/gpl3/binutils/dist/bfd/config.bfd:1.21 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.20 Sun Mar 6 09:39:42 2016 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Fri Mar 25 09:27:43 2016 @@ -998,16 +998,7 @@ case "${targ}" in targ_defvec=mips_ecoff_be_vec targ_selvecs=mips_ecoff_le_vec ;; -#ifdef BFD64 - mips*el-*-netbsd*) -targ_defvec=mips_elf32_trad_le_vec -targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" -;; - mips*-*-netbsd*) -targ_defvec=mips_elf32_trad_be_vec -targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" -;; -#endif + mips*-dec-* | mips*el-*-ecoff*) targ_defvec=mips_ecoff_le_vec targ_selvecs=mips_ecoff_be_vec @@ -1081,6 +1072,22 @@ case "${targ}" in targ_defvec=mips_elf32_be_vec targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" ;; + mips64*el-*-netbsd*) +targ_defvec=mips_elf32_ntrad_le_vec +targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" +;; + mips64*-*-netbsd*) +targ_defvec=mips_elf32_ntrad_be_vec +targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" +;; + mips*el-*-netbsd*) +targ_defvec=mips_elf32_trad_le_vec +targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" +;; + mips*-*-netbsd*) +targ_defvec=mips_elf32_trad_be_vec +targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" +;; mips64*-*-openbsd*) targ_defvec=mips_elf64_trad_be_vec targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec"
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: mrg Date: Wed Mar 23 06:59:59 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/gas/config: obj-elf.c Log Message: avoid unused variables. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/config/obj-elf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/obj-elf.c diff -u src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.3 src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.4 --- src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.3 Fri Jan 29 14:42:45 2016 +++ src/external/gpl3/binutils/dist/gas/config/obj-elf.c Wed Mar 23 06:59:59 2016 @@ -1922,10 +1922,10 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSE || strcmp (type_name, "10") == 0 || strcmp (type_name, "STT_GNU_IFUNC") == 0) { +#if 0 const struct elf_backend_data *bed; bed = get_elf_backend_data (stdoutput); -#if 0 if (!(bed->elf_osabi == ELFOSABI_GNU || bed->elf_osabi == ELFOSABI_FREEBSD /* GNU is still using the default value 0. */
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: nakayama Date: Sun Mar 6 09:39:42 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: Remove unnecessary local change. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.19 src/external/gpl3/binutils/dist/bfd/config.bfd:1.20 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.19 Sun Mar 6 09:38:08 2016 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Sun Mar 6 09:39:42 2016 @@ -1611,10 +1611,6 @@ case "${targ}" in targ_selvecs="sparc_elf32_vec sparc_aout_linux_vec sparc_aout_sunos_be_vec" want64=true ;; - sparc64-*-netbsd*) -targ_defvec=bfd_elf64_sparc_vec -targ_selvecs="bfd_elf32_sparc_vec sparcnetbsd_vec sunos_big_vec" -;; sparc64-*-elf* | sparc64-*-rtems* ) targ_defvec=sparc_elf64_vec targ_selvecs=sparc_elf32_vec
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: martin Date: Sun Feb 28 16:06:27 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf32_sparc.sh Log Message: Only override LIB_PATH to /usr/lib/sparc when doing elf32 for sparc64. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh:1.4 src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh:1.5 --- src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh:1.4 Mon Apr 14 21:09:02 2014 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh Sun Feb 28 16:06:27 2016 @@ -20,6 +20,10 @@ NO_SMALL_DATA=yes case "$target" in sparc64-*-netbsd*) -LIB_PATH='=/usr/lib/sparc' +case "$EMULATION_NAME" in + *32*) + LIB_PATH='=/usr/lib/sparc' + ;; +esac ;; esac
CVS commit: src/external/gpl3/binutils/dist/binutils
Module Name:src Committed By: christos Date: Fri Feb 26 16:26:24 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/binutils: objcopy.c Log Message: CID 270355 fix memory leak To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/binutils/objcopy.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/binutils/objcopy.c diff -u src/external/gpl3/binutils/dist/binutils/objcopy.c:1.6 src/external/gpl3/binutils/dist/binutils/objcopy.c:1.7 --- src/external/gpl3/binutils/dist/binutils/objcopy.c:1.6 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/binutils/objcopy.c Fri Feb 26 11:26:24 2016 @@ -2453,6 +2453,7 @@ copy_object (bfd *ibfd, bfd *obfd, const off, now)) { bfd_nonfatal_message (NULL, obfd, osections[i], NULL); + free (buf); return FALSE; } @@ -2461,6 +2462,7 @@ copy_object (bfd *ibfd, bfd *obfd, const } } } + free (buf); } /* Allow the BFD backend to copy any private data it understands
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: christos Date: Fri Feb 26 14:34:06 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: configure.tgt Log Message: Restore old netbsd emulation names, requested by joerg. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/external/gpl3/binutils/dist/ld/configure.tgt Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.20 src/external/gpl3/binutils/dist/ld/configure.tgt:1.21 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.20 Fri Jan 29 09:42:46 2016 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Fri Feb 26 09:34:06 2016 @@ -611,11 +611,26 @@ powerpc64-*-freebsd*) tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` tdir_elf32ppc_fbsd=$tdir_elf32ppc ;; +powerpc-*-netbsd*) + targ_emul=elf32ppc_nbsd + targ_extra_emuls="elf32ppc elf32ppcsim" + targ_extra_libpath=elf32ppc; + tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` + targ64_extra_emuls=elf64ppc + targ64_extra_libpath=elf64ppc + ;; +powerpc64-*-netbsd*) + targ_emul=elf64ppc + targ_extra_emuls="elf32ppc elf32ppc_nbsd elf32ppcsim" + targ_extra_libpath="elf32ppc_nbsd elf32ppc" + tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` + tdir_elf32ppc_fbsd=$tdir_elf32ppc + ;; powerpc-*-vxworks*) targ_emul=elf32ppcvxworks targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;; powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ - | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \ + | powerpc*-*-linux* | powerpc*-*-openbsd* \ | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*) case "${targ}" in *64*) targ_emul=elf64ppc
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: martin Date: Sun Feb 14 19:00:04 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-vax.c src/external/gpl3/binutils/dist/gas/config: tc-vax.c Log Message: Make the vax target buildable To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/bfd/elf32-vax.c cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/gas/config/tc-vax.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-vax.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.11 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.12 --- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.11 Fri Jan 29 14:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c Sun Feb 14 19:00:04 2016 @@ -1365,7 +1365,8 @@ elf_vax_instantiate_got_entries (struct } /* Allocate space in the .got and .rela.got sections. */ - if (info->shared || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)) + if (bfd_link_pic (info) || WILL_CALL_FINISH_DYNAMIC_SYMBOL ( + elf_hash_table (info)->dynamic_sections_created, 0, h)) { sgot->size += 4; srelgot->size += sizeof (Elf32_External_Rela); Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.9 src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.10 --- src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.9 Fri Jan 29 14:42:45 2016 +++ src/external/gpl3/binutils/dist/gas/config/tc-vax.c Sun Feb 14 19:00:04 2016 @@ -3598,8 +3598,6 @@ tc_vax_regname_to_dw2regnum (char *regna void vax_cfi_emit_pcrel_expr (expressionS *expP, unsigned int nbytes) { - vax_cons_special_reloc = "pcrel"; expP->X_add_number += nbytes; emit_expr (expP, nbytes); - vax_cons_special_reloc = NULL; }
CVS commit: src/external/gpl3/binutils/dist/ld/emulparams
Module Name:src Committed By: joerg Date: Sat Feb 6 19:22:01 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld/emulparams: elf_i386.sh Log Message: Override default LIB_PATH for i386 emulation. Unlike older binutils, we now have to check the emulation and not that the target as the change otherwise leaks into the native 64bit linker scripts as well. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh:1.9 --- src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh:1.8 Fri Jan 29 14:42:47 2016 +++ src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh Sat Feb 6 19:22:00 2016 @@ -19,10 +19,11 @@ IREL_IN_PLT= case "$target" in x86_64-*-netbsd*) -# Don't override autoconf entry -if [ -z "$LIB_PATH" ]; then - LIB_PATH='=/usr/lib/i386' -fi +case "$EMULATION_NAME" in + *i386*) + LIB_PATH='=/usr/lib/i386' + ;; +esac ;; esac
CVS commit: src/external/gpl3/binutils/dist/ld
Module Name:src Committed By: joerg Date: Sat Feb 6 19:20:49 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/ld: genscripts.sh Log Message: We don't want to target-specific search directories on NetBSD in the linker scripts, they just add noise. To generate a diff of this commit: cvs rdiff -u -r1.1.1.4 -r1.2 src/external/gpl3/binutils/dist/ld/genscripts.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/genscripts.sh diff -u src/external/gpl3/binutils/dist/ld/genscripts.sh:1.1.1.4 src/external/gpl3/binutils/dist/ld/genscripts.sh:1.2 --- src/external/gpl3/binutils/dist/ld/genscripts.sh:1.1.1.4 Fri Jan 29 12:45:12 2016 +++ src/external/gpl3/binutils/dist/ld/genscripts.sh Sat Feb 6 19:20:49 2016 @@ -209,7 +209,8 @@ if [ "${LIB_PATH}" != ":" ] ; then esac libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}" fi - append_to_lib_path ${libs} + #NetBSD: don't spam linker scripts like this. + #append_to_lib_path ${libs} fi if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Wed Feb 3 13:24:12 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: Fix mergo To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.17 src/external/gpl3/binutils/dist/bfd/config.bfd:1.18 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.17 Fri Jan 29 20:54:09 2016 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Wed Feb 3 13:24:12 2016 @@ -287,11 +287,11 @@ case "${targ}" in targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec" targ_archs="$targ_archs bfd_i386_arch" ;; - armeb-*-netbsdelf*) + arm*eb-*-netbsdelf*) targ_defvec=arm_elf32_be_vec targ_selvecs="arm_elf32_le_vec arm_aout_nbsd_vec" ;; - arm-*-netbsdelf*) + arm*-*-netbsdelf*) targ_defvec=arm_elf32_le_vec targ_selvecs="arm_elf32_be_vec arm_aout_nbsd_vec" ;;
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: christos Date: Fri Jan 29 17:01:55 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-mips.c Log Message: try to fix loongson hacks. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 \ src/external/gpl3/binutils/dist/gas/config/tc-mips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-mips.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.16 src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.17 --- src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.16 Fri Jan 29 09:42:45 2016 +++ src/external/gpl3/binutils/dist/gas/config/tc-mips.c Fri Jan 29 12:01:55 2016 @@ -1488,6 +1488,8 @@ enum options OPTION_NAN, OPTION_ODD_SPREG, OPTION_NO_ODD_SPREG, +OPTION_FIX_LOONGSON2F_BTB, +OPTION_NO_FIX_LOONGSON2F_BTB, OPTION_END_OF_ENUM }; @@ -1559,6 +1561,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}, @@ -5596,11 +5600,6 @@ match_save_restore_list_operand (struct | (frame_size & 0x0f)); } - 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 @@ -6682,6 +6681,11 @@ can_swap_branch_p (struct mips_cl_insn * 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 @@ -11011,6 +11015,26 @@ macro (struct mips_cl_insn *ip, char *st macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", op[0], tempreg, breg); break; +case M_JR_S: + macro_build_jrpatch (, op[2]); + macro_build (NULL, "jr", "s", op[2]); + return; /* didn't modify $at */ + +case M_J_S: + macro_build_jrpatch (, op[2]); + macro_build (NULL, "j", "s", op[2]); + return; /* didn't modify $at */ + +case M_JALR_S: + macro_build_jrpatch (, op[2]); + macro_build (NULL, "jalr", "s", op[2]); + return; /* didn't modify $at */ + +case M_JALR_DS: + macro_build_jrpatch (, op[2]); + macro_build (NULL, "jalr", "d,s", op[0], op[2]); + return; /* didn't modify $at */ + case M_MSGSND: gas_assert (!mips_opts.micromips); macro_build (NULL, "c2", "C", (op[0] << 16) | 0x01);
CVS commit: src/external/gpl3/binutils/dist/gas
Module Name:src Committed By: christos Date: Fri Jan 29 16:23:51 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/gas: configure.ac Log Message: fix bogus == bashism. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/binutils/dist/gas/configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/configure.ac diff -u src/external/gpl3/binutils/dist/gas/configure.ac:1.1.1.1 src/external/gpl3/binutils/dist/gas/configure.ac:1.2 --- src/external/gpl3/binutils/dist/gas/configure.ac:1.1.1.1 Fri Jan 29 07:44:31 2016 +++ src/external/gpl3/binutils/dist/gas/configure.ac Fri Jan 29 11:23:51 2016 @@ -549,7 +549,7 @@ changequote([,])dnl done -if test x$ac_default_compressed_debug_sections == xyes ; then +if test x$ac_default_compressed_debug_sections = xyes ; then AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.]) fi
CVS commit: src/external/gpl3/binutils/dist/gas
Module Name:src Committed By: christos Date: Fri Jan 29 16:24:00 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/gas: configure Log Message: fix bogus == bashism. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/configure Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/configure diff -u src/external/gpl3/binutils/dist/gas/configure:1.3 src/external/gpl3/binutils/dist/gas/configure:1.4 --- src/external/gpl3/binutils/dist/gas/configure:1.3 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/gas/configure Fri Jan 29 11:24:00 2016 @@ -12505,7 +12505,7 @@ _ACEOF done -if test x$ac_default_compressed_debug_sections == xyes ; then +if test x$ac_default_compressed_debug_sections = xyes ; then $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Fri Jan 29 18:05:18 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd configure configure.ac targets.c Log Message: try to adjust riscv To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/config.bfd cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/configure cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/binutils/dist/bfd/configure.ac cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/targets.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.15 src/external/gpl3/binutils/dist/bfd/config.bfd:1.16 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.15 Fri Jan 29 09:42:43 2016 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Fri Jan 29 13:05:18 2016 @@ -1363,8 +1363,8 @@ case "${targ}" in #ifdef BFD64 riscv*-*-*) -targ_defvec=bfd_elf64_riscv_vec -targ_selvecs="bfd_elf32_riscv_vec bfd_elf64_riscv_vec" +targ_defvec=riscv_elf64_vec +targ_selvecs="riscv_elf32_vec riscv_elf64_vec" want64=true ;; #endif Index: src/external/gpl3/binutils/dist/bfd/configure diff -u src/external/gpl3/binutils/dist/bfd/configure:1.8 src/external/gpl3/binutils/dist/bfd/configure:1.9 --- src/external/gpl3/binutils/dist/bfd/configure:1.8 Fri Jan 29 09:42:43 2016 +++ src/external/gpl3/binutils/dist/bfd/configure Fri Jan 29 13:05:18 2016 @@ -15453,6 +15453,8 @@ do ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; ns32k_aout_pc532nbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;; or1k_elf32_vec) tb="$tb elf32-or1k.lo elf32.lo $elf" ;; +riscv_elf32_vec) tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;; +riscv_elf64_vec) tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo $elf"; target_size=64 ;; pdp11_aout_vec) tb="$tb pdp11.lo" ;; pef_vec) tb="$tb pef.lo" ;; pef_xlib_vec) tb="$tb pef.lo" ;; Index: src/external/gpl3/binutils/dist/bfd/configure.ac diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.1.1.1 src/external/gpl3/binutils/dist/bfd/configure.ac:1.2 --- src/external/gpl3/binutils/dist/bfd/configure.ac:1.1.1.1 Fri Jan 29 07:44:14 2016 +++ src/external/gpl3/binutils/dist/bfd/configure.ac Fri Jan 29 13:05:18 2016 @@ -898,6 +898,8 @@ do ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; ns32k_aout_pc532nbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;; or1k_elf32_vec) tb="$tb elf32-or1k.lo elf32.lo $elf" ;; +riscv_elf32_vec) tb="$tb elf32-riskv.lo elffxx-riscv.lo elf32.lo $elf" ;; +riscv_elf64_vec) tb="$tb elf64-riskv.lo elf64.lo elffxx-riscv.lo $elf" target_size=64 ;; pdp11_aout_vec) tb="$tb pdp11.lo" ;; pef_vec) tb="$tb pef.lo" ;; pef_xlib_vec) tb="$tb pef.lo" ;; Index: src/external/gpl3/binutils/dist/bfd/targets.c diff -u src/external/gpl3/binutils/dist/bfd/targets.c:1.5 src/external/gpl3/binutils/dist/bfd/targets.c:1.6 --- src/external/gpl3/binutils/dist/bfd/targets.c:1.5 Fri Jan 29 09:42:44 2016 +++ src/external/gpl3/binutils/dist/bfd/targets.c Fri Jan 29 13:05:18 2016 @@ -793,6 +793,8 @@ extern const bfd_target powerpc_pe_le_ve extern const bfd_target powerpc_pei_vec; extern const bfd_target powerpc_pei_le_vec; extern const bfd_target powerpc_xcoff_vec; +extern const bfd_target riscv_elf32_vec; +extern const bfd_target riscv_elf64_vec; extern const bfd_target rl78_elf32_vec; extern const bfd_target rs6000_xcoff64_vec; extern const bfd_target rs6000_xcoff64_aix_vec; @@ -1295,9 +1297,11 @@ static const bfd_target * const _bfd_tar _xcoff_vec, #endif + _elf32_vec, _elf32_vec, #ifdef BFD64 +_elf64_vec, _xcoff64_vec, _xcoff64_aix_vec, #endif
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Fri Jan 29 22:39:00 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elfnn-riscv.c Log Message: fix bfd for riscv. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c diff -u src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.2 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.3 --- src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.2 Sat Mar 28 03:51:20 2015 +++ src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c Fri Jan 29 17:39:00 2016 @@ -26,10 +26,12 @@ #include "sysdep.h" #include "bfd.h" +#include "libiberty.h" #include "libbfd.h" -#include "bfdlink.h" -#include "genlink.h" +#include "bfd_stdint.h" #include "elf-bfd.h" +#include "bfdlink.h" +#include "objalloc.h" #include "elfxx-riscv.h" #include "elf/riscv.h" #include "opcode/riscv.h" @@ -358,7 +360,7 @@ riscv_elf_create_dynamic_sections (bfd * return FALSE; htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss"); - if (!info->shared) + if (!bfd_link_pic (info)) { htab->srelbss = bfd_get_linker_section (dynobj, ".rela.bss"); htab->sdyntdata = @@ -367,7 +369,7 @@ riscv_elf_create_dynamic_sections (bfd * } if (!htab->elf.splt || !htab->elf.srelplt || !htab->sdynbss - || (!info->shared && (!htab->srelbss || !htab->sdyntdata))) + || (!bfd_link_pic (info) && (!htab->srelbss || !htab->sdyntdata))) abort (); return TRUE; @@ -498,7 +500,7 @@ riscv_elf_check_relocs (bfd *abfd, struc const Elf_Internal_Rela *rel; asection *sreloc = NULL; - if (info->relocatable) + if (bfd_link_relocatable (info)) return TRUE; htab = riscv_elf_hash_table (info); @@ -547,7 +549,7 @@ riscv_elf_check_relocs (bfd *abfd, struc break; case R_RISCV_TLS_GOT_HI20: - if (info->shared) + if (bfd_link_pic (info)) info->flags |= DF_STATIC_TLS; if (!riscv_elf_record_got_reference (abfd, info, h, r_symndx) || !riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_IE)) @@ -579,19 +581,19 @@ riscv_elf_check_relocs (bfd *abfd, struc case R_RISCV_BRANCH: case R_RISCV_PCREL_HI20: /* In shared libs, these relocs are known to bind locally. */ - if (info->shared) + if (bfd_link_pic (info)) break; goto static_reloc; case R_RISCV_TPREL_HI20: - if (!info->executable) + if (!bfd_link_executable (info)) return bad_static_reloc (abfd, r_type, h); if (h != NULL) riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_LE); goto static_reloc; case R_RISCV_HI20: - if (info->shared) + if (bfd_link_pic (info)) return bad_static_reloc (abfd, r_type, h); /* Fall through. */ @@ -606,7 +608,7 @@ riscv_elf_check_relocs (bfd *abfd, struc if (h != NULL) h->non_got_ref = 1; - if (h != NULL && !info->shared) + if (h != NULL && !bfd_link_pic (info)) { /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ @@ -634,14 +636,14 @@ riscv_elf_check_relocs (bfd *abfd, struc may need to keep relocations for symbols satisfied by a dynamic library if we manage to avoid copy relocs for the symbol. */ - if ((info->shared + if ((bfd_link_pic (info) && (sec->flags & SEC_ALLOC) != 0 && (! riscv_elf_rtype_to_howto (r_type)->pc_relative || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak || !h->def_regular - || (!info->shared + || (!bfd_link_pic (info) && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak @@ -757,7 +759,7 @@ riscv_elf_gc_sweep_hook (bfd *abfd, stru struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd); bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (abfd); - if (info->relocatable) + if (bfd_link_relocatable (info)) return TRUE; elf_section_data (sec)->local_dynrel = NULL; @@ -816,7 +818,7 @@ riscv_elf_gc_sweep_hook (bfd *abfd, stru case R_RISCV_BRANCH: case R_RISCV_CALL: case R_RISCV_JAL: - if (info->shared) + if (bfd_link_pic (info)) break; /* Fall through. */ @@ -908,7 +910,7 @@ riscv_elf_adjust_dynamic_symbol (struct only references to the symbol are via the global offset table. For such cases we need not do anything here; the relocations will be handled correctly by relocate_section. */ - if (info->shared) + if (bfd_link_pic (info)) return TRUE; /* If there are no references to this symbol that do not use the @@ -960,9 +962,9 @@ riscv_elf_adjust_dynamic_symbol (struct } if (eh->tls_type & ~GOT_NORMAL) -return _bfd_elf_adjust_dynamic_copy (h, htab->sdyntdata);
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Fri Jan 29 20:53:14 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-arm.c Log Message: we have our own popcount. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elf32-arm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.7 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.7 Fri Jan 29 09:42:43 2016 +++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c Fri Jan 29 15:53:14 2016 @@ -3133,6 +3133,7 @@ ctz (unsigned int mask) #endif } +#ifndef __NetBSD__ static inline int popcount (unsigned int mask) { @@ -3150,6 +3151,7 @@ popcount (unsigned int mask) return sum; #endif } +#endif /* Create an entry in an ARM ELF linker hash table. */
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Fri Jan 29 20:54:10 UTC 2016 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: fix aarch64 To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.16 src/external/gpl3/binutils/dist/bfd/config.bfd:1.17 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.16 Fri Jan 29 13:05:18 2016 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Fri Jan 29 15:54:09 2016 @@ -191,26 +191,16 @@ case "${targ}" in targ_selvecs=aarch64_elf64_be_cloudabi_vec want64=true ;; - aarch64-*-linux*) + aarch64-*-linux* | aarch64-*-netbsd*) targ_defvec=aarch64_elf64_le_vec targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" want64=true ;; - aarch64_be-*-linux*) + aarch64_be-*-linux* | aarch64_be-*-netbsd*) targ_defvec=aarch64_elf64_be_vec targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" want64=true ;; - aarch64-*-netbsd*) -targ_defvec=bfd_elf64_littleaarch64_vec -targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec" -want64=true -;; - aarch64_be-*-netbsd*) -targ_defvec=bfd_elf64_bigaarch64_vec -targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec" -want64=true -;; alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) targ_defvec=alpha_elf64_fbsd_vec targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec"
CVS commit: src/external/gpl3/binutils/dist/binutils
Module Name:src Committed By: christos Date: Mon Oct 26 15:14:33 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/binutils: arsup.c Log Message: use asprintf(3) To generate a diff of this commit: cvs rdiff -u -r1.1.1.2 -r1.2 src/external/gpl3/binutils/dist/binutils/arsup.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/binutils/arsup.c diff -u src/external/gpl3/binutils/dist/binutils/arsup.c:1.1.1.2 src/external/gpl3/binutils/dist/binutils/arsup.c:1.2 --- src/external/gpl3/binutils/dist/binutils/arsup.c:1.1.1.2 Sat Sep 24 18:39:13 2011 +++ src/external/gpl3/binutils/dist/binutils/arsup.c Mon Oct 26 11:14:33 2015 @@ -149,13 +149,20 @@ maybequit (void) void ar_open (char *name, int t) { - char *tname = (char *) xmalloc (strlen (name) + 10); + char *tname; const char *bname = lbasename (name); real_name = name; /* Prepend tmp- to the beginning, to avoid file-name clashes after truncation on filesystems with limited namespaces (DOS). */ - sprintf (tname, "%.*stmp-%s", (int) (bname - name), name, bname); + if (asprintf (, "%.*stmp-%s", (int) (bname - name), name, bname) == -1) +{ + fprintf (stderr, _("%s: Can't allocate memory for temp name (%s)\n"), + program_name, strerror(errno)); + maybequit (); + return; +} + obfd = bfd_openw (tname, NULL); if (!obfd)
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: matt Date: Fri May 29 22:18:51 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-mips.c Log Message: Fix a bug where the octeon+ saa/saad instructions think they are using the AT register when they actually aren't. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ src/external/gpl3/binutils/dist/gas/config/tc-mips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-mips.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.14 src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.15 --- src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.14 Tue Dec 10 18:15:43 2013 +++ src/external/gpl3/binutils/dist/gas/config/tc-mips.c Fri May 29 22:18:51 2015 @@ -9235,18 +9235,28 @@ macro (struct mips_cl_insn *ip) case M_SAA_AB: - ab = 1; + ab = (offset_expr.X_op != O_constant || offset_expr.X_add_number != 0); case M_SAA_OB: s = saa; off0 = 1; fmt = t,(b); + if (!ab) + { + tempreg = AT; + goto ld_noat; + } goto ld_st; case M_SAAD_AB: - ab = 1; + ab = (offset_expr.X_op != O_constant || offset_expr.X_add_number != 0); case M_SAAD_OB: s = saad; off0 = 1; fmt = t,(b); + if (!ab) + { + tempreg = AT; + goto ld_noat; + } goto ld_st; /* New code added to support COPZ instructions.
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Wed May 13 06:24:18 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/bfd: elfn32-mips.c Log Message: Make sure mips_elf_n32_is_local_label_name is used. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elfn32-mips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfn32-mips.c diff -u src/external/gpl3/binutils/dist/bfd/elfn32-mips.c:1.4 src/external/gpl3/binutils/dist/bfd/elfn32-mips.c:1.5 --- src/external/gpl3/binutils/dist/bfd/elfn32-mips.c:1.4 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elfn32-mips.c Wed May 13 06:24:18 2015 @@ -3377,6 +3377,9 @@ static const struct ecoff_debug_swap mip #define elf_backend_write_section _bfd_mips_elf_write_section #define elf_backend_mips_irix_compat elf_n32_mips_irix_compat #define elf_backend_mips_rtype_to_howto mips_elf_n32_rtype_to_howto + +#define bfd_elf32_bfd_is_local_label_name \ + mips_elf_n32_is_local_label_name #define bfd_elf32_bfd_is_target_special_symbol \ _bfd_mips_elf_is_target_special_symbol #define bfd_elf32_find_nearest_line _bfd_mips_elf_find_nearest_line
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: matt Date: Sat May 9 17:43:24 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-arm.c Log Message: Fix TEXTREL message to print out the section name To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elf32-arm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.5 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.6 --- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.5 Thu Jun 26 22:55:23 2014 +++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c Sat May 9 17:43:23 2015 @@ -13477,8 +13477,8 @@ elf32_arm_readonly_dynrelocs (struct elf if (info-warn_shared_textrel) (*_bfd_error_handler) - (_(warning: dynamic relocation in readonly section `%s'), - h-root.root.string); + (_(warning: dynamic relocation to `%s' in readonly section `%s'), + h-root.root.string, s-name); info-flags |= DF_TEXTREL; /* Not an error, just cut short the traversal. */
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Fri May 8 15:13:53 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/bfd: elf64-mips.c Log Message: Define bfd_elf64_bfd_is_local_label_name so that local symbols really get stripped, etc. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elf64-mips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf64-mips.c diff -u src/external/gpl3/binutils/dist/bfd/elf64-mips.c:1.4 src/external/gpl3/binutils/dist/bfd/elf64-mips.c:1.5 --- src/external/gpl3/binutils/dist/bfd/elf64-mips.c:1.4 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elf64-mips.c Fri May 8 15:13:53 2015 @@ -4154,9 +4154,8 @@ const struct elf_size_info mips_elf64_si #define elf_backend_write_section _bfd_mips_elf_write_section -/* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit - MIPS-specific function only applies to IRIX5, which had no 64-bit - ABI. */ +#define bfd_elf64_bfd_is_local_label_name \ + mips_elf64_is_local_label_name #define bfd_elf64_bfd_is_target_special_symbol \ _bfd_mips_elf_is_target_special_symbol #define bfd_elf64_find_nearest_line _bfd_mips_elf_find_nearest_line
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: matt Date: Sat Mar 28 07:51:20 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/bfd: elfnn-riscv.c Log Message: Deal with GNU IFUNCs properly. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c diff -u src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.1 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.2 --- src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.1 Fri Mar 27 06:34:31 2015 +++ src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c Sat Mar 28 07:51:20 2015 @@ -860,6 +860,7 @@ riscv_elf_adjust_dynamic_symbol (struct /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL (h-needs_plt + || h-type == STT_GNU_IFUNC || h-u.weakdef != NULL || (h-def_dynamic h-ref_regular @@ -868,7 +869,7 @@ riscv_elf_adjust_dynamic_symbol (struct /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later (although we could actually do it here). */ - if (h-type == STT_FUNC || h-needs_plt) + if (h-type == STT_FUNC || h-type == STT_GNU_IFUNC || h-needs_plt) { if (h-plt.refcount = 0 || SYMBOL_CALLS_LOCAL (info, h)
CVS commit: src/external/gpl3/binutils/dist/ld/emultempl
Module Name:src Committed By: joerg Date: Wed Feb 18 15:05:44 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/ld/emultempl: aarch64elf.em armelf.em Log Message: Apply elf32.em r1.8 to the corresponding sections of armelf.em and aarch64elf.em. Original commit message: Recursively add DT_NEEDED entries from shared libraries if symbols are used indirectly. This is more in line with the old GNU ld behavior, but not exactly the desired semantic. Patch from Martin Husemann. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em cvs rdiff -u -r1.1.1.3 -r1.2 \ src/external/gpl3/binutils/dist/ld/emultempl/armelf.em Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em:1.1.1.1 src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em:1.2 --- src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em:1.1.1.1 Sun Sep 29 13:45:51 2013 +++ src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em Wed Feb 18 15:05:43 2015 @@ -38,6 +38,7 @@ gld${EMULATION_NAME}_before_parse (void) ldfile_set_output_arch (`echo ${ARCH}`, bfd_arch_unknown); #endif /* not TARGET_ */ input_flags.dynamic = ${DYNAMIC_LINK-TRUE}; + input_flags.add_DT_NEEDED_for_dynamic = TRUE; config.has_shared = `if test -n $GENERATE_SHLIB_SCRIPT ; then echo TRUE ; else echo FALSE ; fi`; config.separate_code = `if test x${SEPARATE_CODE} = xyes ; then echo TRUE ; else echo FALSE ; fi`; } Index: src/external/gpl3/binutils/dist/ld/emultempl/armelf.em diff -u src/external/gpl3/binutils/dist/ld/emultempl/armelf.em:1.1.1.3 src/external/gpl3/binutils/dist/ld/emultempl/armelf.em:1.2 --- src/external/gpl3/binutils/dist/ld/emultempl/armelf.em:1.1.1.3 Sun Sep 29 13:45:51 2013 +++ src/external/gpl3/binutils/dist/ld/emultempl/armelf.em Wed Feb 18 15:05:43 2015 @@ -51,6 +51,7 @@ gld${EMULATION_NAME}_before_parse (void) ldfile_set_output_arch (`echo ${ARCH}`, bfd_arch_unknown); #endif /* not TARGET_ */ input_flags.dynamic = ${DYNAMIC_LINK-TRUE}; + input_flags.add_DT_NEEDED_for_dynamic = TRUE; config.has_shared = `if test -n $GENERATE_SHLIB_SCRIPT ; then echo TRUE ; else echo FALSE ; fi`; config.separate_code = `if test x${SEPARATE_CODE} = xyes ; then echo TRUE ; else echo FALSE ; fi`; }
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: christos Date: Fri Jan 2 19:50:03 UTC 2015 Modified Files: src/external/gpl3/binutils/dist/bfd: elf64-ppc.c Log Message: Bring in 2 patches from binutils: From Alan Modra: Wed, 3 Jul 2013 11:51:56 +0930: powerpc64 call stubs: This brings powerpc64 ld in line with gold regarding calls allowed to go via a plt call stub or toc-adjusting stub without a following nop. A long time ago ld allowed tail calls, but this is wrong because we'll return to the caller's caller with the wrong toc pointer. I fixed that for shared libraries but allowed tail calls in an executable for some reason. Probably just muddy thinking on my part, because there's no difference between an executable and a shared library regarding the need to restore the toc pointer. Perhaps it was because some testcase failed, most likely due to the g++ issue I comment on in the patch. From Alan Modra: 29 Aug 2014 01:22:29 +: PowerPC64 call lacks nop error: Enough people accidentally or otherwise use -mcmodel=small then wonder why a call that is local is behaving as if it is going via the PLT. * elf64-ppc.c (ppc64_elf_relocate_section): Report a different error for calls via a toc adjusting stub without a nop. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.5 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.6 --- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.5 Thu Mar 6 04:33:14 2014 +++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c Fri Jan 2 14:50:02 2015 @@ -3618,9 +3618,6 @@ struct ppc_stub_hash_entry { struct ppc_link_hash_entry *h; struct plt_entry *plt_ent; - /* And the reloc addend that this was derived from. */ - bfd_vma addend; - /* Where this stub is being called from, or, in the case of combined stub sections, the first input section in the group. */ asection *id_sec; @@ -11669,7 +11666,6 @@ ppc64_elf_size_stubs (struct bfd_link_in } stub_entry-h = hash; stub_entry-plt_ent = plt_ent; - stub_entry-addend = irela-r_addend; if (stub_entry-h != NULL) htab-stub_globals += 1; @@ -12910,60 +12906,96 @@ ppc64_elf_relocate_section (bfd *output_ { bfd_boolean can_plt_call = FALSE; + /* All of these stubs will modify r2, so there must be a + branch and link followed by a nop. The nop is + replaced by an insn to restore r2. */ if (rel-r_offset + 8 = input_section-size) { - unsigned long nop; - nop = bfd_get_32 (input_bfd, contents + rel-r_offset + 4); - if (nop == NOP - || nop == CROR_151515 || nop == CROR_313131) - { - if (h != NULL - (h == htab-tls_get_addr_fd - || h == htab-tls_get_addr) - !htab-no_tls_get_addr_opt) + unsigned long br; + + br = bfd_get_32 (input_bfd, + contents + rel-r_offset); + if ((br 1) != 0) + { + unsigned long nop; + + nop = bfd_get_32 (input_bfd, + contents + rel-r_offset + 4); + if (nop == NOP + || nop == CROR_151515 || nop == CROR_313131) { - /* Special stub used, leave nop alone. */ + if (h != NULL + (h == htab-tls_get_addr_fd + || h == htab-tls_get_addr) + !htab-no_tls_get_addr_opt) + { + /* Special stub used, leave nop alone. */ + } + else + bfd_put_32 (input_bfd, LD_R2_40R1, + contents + rel-r_offset + 4); + can_plt_call = TRUE; } - else - bfd_put_32 (input_bfd, LD_R2_40R1, -contents + rel-r_offset + 4); - can_plt_call = TRUE; } } - if (!can_plt_call) + if (!can_plt_call h != NULL) { - if (stub_entry-stub_type == ppc_stub_plt_call - || stub_entry-stub_type == ppc_stub_plt_call_r2save) - { - /* If this is a plain branch rather than a branch - and link, don't require a nop. However, don't - allow tail calls in a shared library as they - will result in r2 being corrupted. */ - unsigned long br; - br = bfd_get_32 (input_bfd, contents + rel-r_offset); - if (info-executable (br 1) == 0) - can_plt_call = TRUE; - else - stub_entry = NULL; - } - else if (h != NULL - strcmp (h-elf.root.root.string, - .__libc_start_main) == 0) + const char *name = h-elf.root.root.string; + + if (*name == '.') + ++name; + + if (strncmp (name, __libc_start_main, 17) == 0 + (name[17] == 0 || name[17] == '@')) { - /* Allow crt1 branch to go via a toc adjusting stub. */ + /* Allow crt1 branch to go via a toc adjusting + stub. Other calls that never return could do +
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: christos Date: Sat Dec 13 18:32:59 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/binutils: readelf.c src/external/gpl3/binutils/dist/binutils/doc: readelf.1 src/external/gpl3/binutils/dist/include/elf: common.h Log Message: - Add -f to allow processing non-plain files. - Align NetBSD note printing properly - Add handling of PaX notes correctly. Perhaps we should rename them to NetBSD now. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/binutils/readelf.c cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/binutils/dist/binutils/doc/readelf.1 cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/include/elf/common.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/binutils/readelf.c diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.13 src/external/gpl3/binutils/dist/binutils/readelf.c:1.14 --- src/external/gpl3/binutils/dist/binutils/readelf.c:1.13 Fri Sep 19 13:19:53 2014 +++ src/external/gpl3/binutils/dist/binutils/readelf.c Sat Dec 13 13:32:59 2014 @@ -185,6 +185,7 @@ static Elf_Internal_Phdr * program_heade static Elf_Internal_Dyn * dynamic_section; static Elf_Internal_Shdr * symtab_shndx_hdr; static int show_name; +static int do_special_files; static int do_dynamic; static int do_syms; static int do_dyn_syms; @@ -3201,6 +3202,7 @@ static struct option options[] = {relocs, no_argument, 0, 'r'}, {notes, no_argument, 0, 'n'}, {dynamic, no_argument, 0, 'd'}, + {special-files,no_argument, 0, 'f'}, {arch-specific,no_argument, 0, 'A'}, {version-info, no_argument, 0, 'V'}, {use-dynamic, no_argument, 0, 'D'}, @@ -3246,6 +3248,7 @@ usage (FILE * stream) -r --relocsDisplay the relocations (if present)\n\ -u --unwindDisplay the unwind info (if present)\n\ -d --dynamic Display the dynamic section (if present)\n\ + -f --special-files Process non-plain files too\n\ -V --version-info Display the version sections (if present)\n\ -A --arch-specific Display architecture specific information (if any)\n\ -c --archive-index Display the symbol/file index in an archive\n\ @@ -3365,7 +3368,7 @@ parse_args (int argc, char ** argv) usage (stderr); while ((c = getopt_long - (argc, argv, ADHINR:SVWacdeghi:lnp:rstuvw::x:, options, NULL)) != EOF) + (argc, argv, ADHINR:SVWacdefghi:lnp:rstuvw::x:, options, NULL)) != EOF) { switch (c) { @@ -3415,6 +3418,9 @@ parse_args (int argc, char ** argv) case 'u': do_unwind++; break; + case 'f': + do_special_files++; + break; case 'h': do_header++; break; @@ -12706,14 +12712,24 @@ process_netbsd_elf_note (Elf_Internal_No (version / 1) % 100 26 ? Z : , 'A' + (version / 1) % 26); else - printf ( NetBSD\t0x%08lx\tIDENT %u (%u.%u.%u)\n, pnote-descsz, + printf ( NetBSD\t\t0x%08lx\tIDENT %u (%u.%u.%u)\n, pnote-descsz, version, version / 1, (version / 100) % 100, (version / 100) % 100); return 1; case NT_NETBSD_MARCH: - printf ( NetBSD\t0x%08lx\tMARCH %s\n, pnote-descsz, + printf ( NetBSD\t\t0x%08lx\tMARCH %s\n, pnote-descsz, pnote-descdata); return 1; +case NT_NETBSD_PAX: + version = byte_get((unsigned char *)pnote-descdata, sizeof(version)); + printf ( NetBSD\t\t0x%08lx\tPaX %s%s%s%s%s%s\n, pnote-descsz, + ((version NT_NETBSD_PAX_MPROTECT) ? +mprotect : ), + ((version NT_NETBSD_PAX_NOMPROTECT) ? -mprotect : ), + ((version NT_NETBSD_PAX_GUARD) ? +guard : ), + ((version NT_NETBSD_PAX_NOGUARD) ? -guard : ), + ((version NT_NETBSD_PAX_ASLR) ? +ASLR : ), + ((version NT_NETBSD_PAX_NOASLR) ? -ASLR : )); + return 1; default: break; } @@ -13050,6 +13066,10 @@ process_note (Elf_Internal_Note * pnote) /* NetBSD-specific core file notes. */ return process_netbsd_elf_note (pnote); + else if (const_strneq (pnote-namedata, PaX)) +/* NetBSD-specific core file notes. */ +return process_netbsd_elf_note (pnote); + else if (const_strneq (pnote-namedata, NetBSD-CORE)) /* NetBSD-specific core file notes. */ nt = get_netbsd_elfcore_note_type (pnote-type); @@ -13789,7 +13809,7 @@ process_file (char * file_name) return 1; } - if (! S_ISREG (statbuf.st_mode)) + if (!do_special_files ! S_ISREG (statbuf.st_mode)) { error (_('%s' is not an ordinary file\n), file_name); return 1; Index: src/external/gpl3/binutils/dist/binutils/doc/readelf.1 diff -u src/external/gpl3/binutils/dist/binutils/doc/readelf.1:1.4 src/external/gpl3/binutils/dist/binutils/doc/readelf.1:1.5 --- src/external/gpl3/binutils/dist/binutils/doc/readelf.1:1.4 Sun Sep 29 10:03:30 2013
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: joerg Date: Thu Nov 20 21:44:56 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-arm.c Log Message: Merge upstream d840c081f8082e8b9e63fead5306643975a97bb3 to fix UB as seen by a clang compiled as. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-arm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-arm.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.6 src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.7 --- src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.6 Sun Sep 29 14:03:30 2013 +++ src/external/gpl3/binutils/dist/gas/config/tc-arm.c Thu Nov 20 21:44:56 2014 @@ -6936,7 +6936,7 @@ parse_operands (char *str, const unsigne /* Functions for operand encoding. ARM, then Thumb. */ -#define rotate_left(v, n) (v n | v (32 - n)) +#define rotate_left(v, n) (v (n 31) | v ((32 - n) 31)) /* If VAL can be encoded in the immediate field of an ARM instruction, return the encoded form. Otherwise, return FAIL. */
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: mrg Date: Sat Oct 11 20:50:59 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-riscv.c Log Message: this doesn't need execinfo.h, which doesn't exist on older hosts. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/external/gpl3/binutils/dist/gas/config/tc-riscv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-riscv.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-riscv.c:1.1 src/external/gpl3/binutils/dist/gas/config/tc-riscv.c:1.2 --- src/external/gpl3/binutils/dist/gas/config/tc-riscv.c:1.1 Fri Sep 19 17:19:53 2014 +++ src/external/gpl3/binutils/dist/gas/config/tc-riscv.c Sat Oct 11 20:50:59 2014 @@ -30,7 +30,6 @@ #include dwarf2dbg.h #include dw2gencfi.h -#include execinfo.h #include stdint.h #ifdef DEBUG
CVS commit: src/external/gpl3/binutils/dist/opcodes
Module Name:src Committed By: matt Date: Sat Sep 20 04:53:19 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/opcodes: riscv-dis.c Log Message: When disassembling an auipc/jalr pair, print the address eventually being called: auipc t0,0x2b3 jalrt0,-616 # 802b2e98 memset To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/binutils/dist/opcodes/riscv-dis.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/opcodes/riscv-dis.c diff -u src/external/gpl3/binutils/dist/opcodes/riscv-dis.c:1.1 src/external/gpl3/binutils/dist/opcodes/riscv-dis.c:1.2 --- src/external/gpl3/binutils/dist/opcodes/riscv-dis.c:1.1 Fri Sep 19 17:19:53 2014 +++ src/external/gpl3/binutils/dist/opcodes/riscv-dis.c Sat Sep 20 04:53:19 2014 @@ -398,7 +398,7 @@ print_insn_args (const char *d, insn_t l case 'o': maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l)); case 'j': - if ((l MASK_ADDI) == MATCH_ADDI) + if ((l MASK_ADDI) == MATCH_ADDI || (l MASK_JALR) == MATCH_JALR) maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l)); (*info-fprintf_func) (info-stream, %d, (int)EXTRACT_ITYPE_IMM (l)); break;
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: matt Date: Tue Aug 26 16:39:49 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/bfd: elfxx-mips.c Log Message: Allow STT_GNU_IFUNC to be a dynamic symbol. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elfxx-mips.c diff -u src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.7 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.7 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elfxx-mips.c Tue Aug 26 16:39:49 2014 @@ -8626,6 +8626,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL (h-needs_plt + || h-type == STT_GNU_IFUNC || h-u.weakdef != NULL || (h-def_dynamic h-ref_regular
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: matt Date: Tue Aug 26 17:03:51 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-m68k.c elf32-sh.c elf32-vax.c Log Message: Allow STT_GNU_IFUNC to be dynamic symbols To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c \ src/external/gpl3/binutils/dist/bfd/elf32-sh.c cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elf32-vax.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.4 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.5 --- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.4 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c Tue Aug 26 17:03:51 2014 @@ -3104,6 +3104,7 @@ elf_m68k_adjust_dynamic_symbol (struct b /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL (h-needs_plt + || h-type == STT_GNU_IFUNC || h-u.weakdef != NULL || (h-def_dynamic h-ref_regular @@ -3112,7 +3113,7 @@ elf_m68k_adjust_dynamic_symbol (struct b /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ - if (h-type == STT_FUNC + if ((h-type == STT_FUNC || h-type == STT_GNU_IFUNC) || h-needs_plt) { if ((h-plt.refcount = 0 Index: src/external/gpl3/binutils/dist/bfd/elf32-sh.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.4 src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.5 --- src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.4 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elf32-sh.c Tue Aug 26 17:03:51 2014 @@ -2808,6 +2808,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd /* Make sure we know what is going on here. */ BFD_ASSERT (htab-root.dynobj != NULL (h-needs_plt + || h-type == STT_GNU_IFUNC || h-u.weakdef != NULL || (h-def_dynamic h-ref_regular @@ -2816,7 +2817,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ - if (h-type == STT_FUNC + if ((h-type == STT_FUNC || h-type == STT_GNU_IFUNC) || h-needs_plt) { if (h-plt.refcount = 0 Index: src/external/gpl3/binutils/dist/bfd/elf32-vax.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.9 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.10 --- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.9 Thu Oct 3 12:06:04 2013 +++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c Tue Aug 26 17:03:51 2014 @@ -946,6 +946,7 @@ elf_vax_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL (h-needs_plt + || h-type == STT_GNU_IFUNC || h-u.weakdef != NULL || (h-def_dynamic h-ref_regular @@ -954,7 +955,7 @@ elf_vax_adjust_dynamic_symbol (info, h) /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ - if (h-type == STT_FUNC + if ((h-type == STT_FUNC || h-type == STT_GNU_IFUNC) || h-needs_plt) { if (h-plt.refcount = 0
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: joerg Date: Mon Aug 25 20:34:36 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/gas/config: obj-elf.c Log Message: Allow creation of indirection functions on all platforms, not just GNU and FreeBSD. To generate a diff of this commit: cvs rdiff -u -r1.1.1.3 -r1.2 \ src/external/gpl3/binutils/dist/gas/config/obj-elf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/obj-elf.c diff -u src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.1.1.3 src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.2 --- src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.1.1.3 Sun Sep 29 13:41:19 2013 +++ src/external/gpl3/binutils/dist/gas/config/obj-elf.c Mon Aug 25 20:34:36 2014 @@ -1705,12 +1705,14 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSE const struct elf_backend_data *bed; bed = get_elf_backend_data (stdoutput); +#if 0 if (!(bed-elf_osabi == ELFOSABI_GNU || bed-elf_osabi == ELFOSABI_FREEBSD /* GNU is still using the default value 0. */ || bed-elf_osabi == ELFOSABI_NONE)) as_bad (_(symbol type \%s\ is supported only by GNU and FreeBSD targets), type_name); +#endif type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION; } else if (strcmp (type_name, gnu_unique_object) == 0)
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: skrll Date: Mon Aug 11 20:53:16 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/bfd: ChangeLog elflink.c Log Message: Apply change from upstream to fix PR/48709 - port-alpha/48709: static threaded programs crash. With this fix the new weak symbol's st_other is not merged in, i.e. NOPV is not copied from the libc __libc_thr_init. * elflink.c (_bfd_elf_merge_symbol): If merging a new weak symbol that will be skipped, we don't have a new definition. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/ChangeLog cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elflink.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/ChangeLog diff -u src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5 src/external/gpl3/binutils/dist/bfd/ChangeLog:1.6 --- src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/ChangeLog Mon Aug 11 20:53:16 2014 @@ -1,3 +1,8 @@ +2013-12-14 Alan Modra amo...@gmail.com + + * elflink.c (_bfd_elf_merge_symbol): If merging a new weak + symbol that will be skipped, we don't have a new definition. + 2013-03-25 Tristan Gingold ging...@adacore.com * configure.in: Bump version to 2.23.2 Index: src/external/gpl3/binutils/dist/bfd/elflink.c diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.7 src/external/gpl3/binutils/dist/bfd/elflink.c:1.8 --- src/external/gpl3/binutils/dist/bfd/elflink.c:1.7 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elflink.c Mon Aug 11 20:53:16 2014 @@ -1442,7 +1442,10 @@ _bfd_elf_merge_symbol (bfd *abfd, if (!(oldbfd != NULL (oldbfd-flags BFD_PLUGIN) != 0 (abfd-flags BFD_PLUGIN) == 0)) - *skip = TRUE; + { + newdef = FALSE; + *skip = TRUE; + } /* Merge st_other. If the symbol already has a dynamic index, but visibility says it should not be visible, turn it into a
CVS commit: src/external/gpl3/binutils/dist/binutils
Module Name:src Committed By: skrll Date: Mon Aug 11 20:57:28 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/binutils: readelf.c Log Message: Decode alpha st_other To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/binutils/readelf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/binutils/readelf.c diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.10 src/external/gpl3/binutils/dist/binutils/readelf.c:1.11 --- src/external/gpl3/binutils/dist/binutils/readelf.c:1.10 Tue Mar 18 23:41:02 2014 +++ src/external/gpl3/binutils/dist/binutils/readelf.c Mon Aug 11 20:57:28 2014 @@ -8847,6 +8847,20 @@ get_symbol_visibility (unsigned int visi } static const char * +get_alpha_symbol_other (unsigned int other) +{ + switch (other) +{ +case STO_ALPHA_NOPV: + return NOPV; +case STO_ALPHA_STD_GPLOAD: + return STD GPLOAD; +default: + return NULL; +} +} + +static const char * get_mips_symbol_other (unsigned int other) { switch (other) @@ -8940,6 +8954,9 @@ get_symbol_other (unsigned int other) switch (elf_header.e_machine) { +case EM_ALPHA: + result = get_alpha_symbol_other (other); + break; case EM_MIPS: result = get_mips_symbol_other (other); break;
CVS commit: src/external/gpl3/binutils/dist
Module Name:src Committed By: matt Date: Thu Jun 26 22:55:23 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/bfd: elf32-arm.c src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh Log Message: Change ARM ELF_MAXPAGESIZE to 0x1 and also change TEXT_START_ADDR for nbsd to 0x1. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elf32-arm.c cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.4 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.5 --- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.4 Sun Sep 29 14:03:29 2013 +++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c Thu Jun 26 22:55:23 2014 @@ -15644,7 +15644,7 @@ const struct elf_size_info elf32_arm_siz #ifdef __QNXTARGET__ #define ELF_MAXPAGESIZE 0x1000 #else -#define ELF_MAXPAGESIZE 0x8000 +#define ELF_MAXPAGESIZE 0x1 #endif #define ELF_MINPAGESIZE 0x1000 #define ELF_COMMONPAGESIZE 0x1000 @@ -15773,9 +15773,6 @@ elf32_arm_nacl_modify_segment_map (bfd * #undef elf_backend_modify_program_headers #define elf_backend_modify_program_headers nacl_modify_program_headers -#undef ELF_MAXPAGESIZE -#define ELF_MAXPAGESIZE 0x1 - #include elf32-target.h /* Reset to defaults. */ Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.4 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.5 --- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.4 Fri Nov 29 23:01:54 2013 +++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh Thu Jun 26 22:55:23 2014 @@ -1,6 +1,6 @@ . ${srcdir}/emulparams/armelf.sh MAXPAGESIZE=CONSTANT (MAXPAGESIZE) -TEXT_START_ADDR=0x8000 +TEXT_START_ADDR=0x0001 TARGET2_TYPE=got-rel unset DATA_START_SYMBOLS
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: matt Date: Tue Mar 25 16:17:33 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-vax.c Log Message: Bias the cfi pc expr by nbytes since vax pcrel are relative to end of the relocation, not the beginning. By adding the size of relocation, it will become relative to the start of the relocation. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/gas/config/tc-vax.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.7 src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.8 --- src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.7 Tue Mar 18 23:41:36 2014 +++ src/external/gpl3/binutils/dist/gas/config/tc-vax.c Tue Mar 25 16:17:33 2014 @@ -3599,9 +3599,10 @@ tc_vax_regname_to_dw2regnum (char *regna } void -vax_cfi_emit_pcrel_expr (expressionS *exp, unsigned int nbytes) +vax_cfi_emit_pcrel_expr (expressionS *expP, unsigned int nbytes) { vax_cons_special_reloc = pcrel; - emit_expr (exp, nbytes); + expP-X_add_number += nbytes; + emit_expr (expP, nbytes); vax_cons_special_reloc = NULL; }
CVS commit: src/external/gpl3/binutils/dist/binutils
Module Name:src Committed By: matt Date: Tue Mar 18 23:41:02 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/binutils: readelf.c Log Message: Make readelf know what the vax pcrel32 reloc number is. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/binutils/readelf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/binutils/readelf.c diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.9 src/external/gpl3/binutils/dist/binutils/readelf.c:1.10 --- src/external/gpl3/binutils/dist/binutils/readelf.c:1.9 Thu Nov 14 12:44:25 2013 +++ src/external/gpl3/binutils/dist/binutils/readelf.c Tue Mar 18 23:41:02 2014 @@ -10020,6 +10020,8 @@ is_32bit_pcrel_reloc (unsigned int reloc case EM_L1OM: case EM_K1OM: return reloc_type == 2; /* R_X86_64_PC32. */ +case EM_VAX: + return reloc_type == 4; /* R_VAX_PCREL32. */ case EM_XTENSA_OLD: case EM_XTENSA: return reloc_type == 14; /* R_XTENSA_32_PCREL. */
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: matt Date: Tue Mar 18 23:41:36 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/gas/config: tc-vax.c tc-vax.h Log Message: Add support for the .cfi pseudo-ops for VAX. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-vax.c cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/config/tc-vax.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.c diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.6 src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.7 --- src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.6 Tue Jul 17 20:29:44 2012 +++ src/external/gpl3/binutils/dist/gas/config/tc-vax.c Tue Mar 18 23:41:36 2014 @@ -24,6 +24,7 @@ #include vax-inst.h #include obstack.h /* For FRAG_APPEND_1_CHAR macro in frags.h */ +#include dw2gencfi.h #include subsegs.h #include safe-ctype.h @@ -3570,3 +3571,37 @@ md_atof (int type, char * litP, int * si { return vax_md_atof (type, litP, sizeP); } + +void +vax_cfi_frame_initial_instructions (void) +{ + cfi_add_CFA_def_cfa (14, 0); +} + +int +tc_vax_regname_to_dw2regnum (char *regname) +{ + unsigned int i; + static const struct { char *name; int dw2regnum; } regnames[] = +{ + { r0, 0 }, { r1, 1 }, { r2, 2 }, { r3, 3 }, + { r4, 4 }, { r5, 5 }, { r6, 6 }, { r7, 7 }, + { r8, 8 }, { r9, 9 }, { r10, 10 }, { r11, 11 }, + { ap, 12 }, { fp, 13 }, { sp, 14 }, { pc, 15 }, + { psw, 16 }, +}; + + for (i = 0; i ARRAY_SIZE (regnames); ++i) +if (strcmp (regnames[i].name, regname) == 0) + return regnames[i].dw2regnum; + + return -1; +} + +void +vax_cfi_emit_pcrel_expr (expressionS *exp, unsigned int nbytes) +{ + vax_cons_special_reloc = pcrel; + emit_expr (exp, nbytes); + vax_cons_special_reloc = NULL; +} Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.h diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.h:1.3 src/external/gpl3/binutils/dist/gas/config/tc-vax.h:1.4 --- src/external/gpl3/binutils/dist/gas/config/tc-vax.h:1.3 Thu Apr 14 07:49:48 2011 +++ src/external/gpl3/binutils/dist/gas/config/tc-vax.h Tue Mar 18 23:41:36 2014 @@ -71,9 +71,17 @@ extern const struct relax_type md_relax_ == S_GET_SEGMENT ((FIX)-fx_addsy))) \ || S_IS_LOCAL ((FIX)-fx_addsy))) -/* - * Local Variables: - * comment-column: 0 - * fill-column: 131 - * End: - */ +#define TARGET_USE_CFIPOP 1 + +#define tc_cfi_frame_initial_instructions vax_cfi_frame_initial_instructions +extern void vax_cfi_frame_initial_instructions (void); + +#define tc_regname_to_dw2regnum tc_vax_regname_to_dw2regnum +extern int tc_vax_regname_to_dw2regnum (char *); + +#define tc_cfi_emit_pcrel_expr vax_cfi_emit_pcrel_expr +extern void vax_cfi_emit_pcrel_expr (expressionS *, unsigned int); + +#define DWARF2_LINE_MIN_INSN_LENGTH 1 +#define DWARF2_DEFAULT_RETURN_COLUMN15 +#define DWARF2_CIE_DATA_ALIGNMENT -4
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name:src Committed By: nakayama Date: Mon Mar 10 12:01:19 UTC 2014 Modified Files: src/external/gpl3/binutils/dist/bfd: config.bfd Log Message: Enable 64-bit integer handling for gas even on 32-bit host since sparc64 kernel now uses 64-bit constant with %hh operator. Fix for PR toolchain/48630. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/config.bfd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/bfd/config.bfd diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.10 src/external/gpl3/binutils/dist/bfd/config.bfd:1.11 --- src/external/gpl3/binutils/dist/bfd/config.bfd:1.10 Tue Dec 24 15:06:39 2013 +++ src/external/gpl3/binutils/dist/bfd/config.bfd Mon Mar 10 12:01:19 2014 @@ -1460,6 +1460,7 @@ case ${targ} in sparc-*-netbsdelf*) targ_defvec=bfd_elf32_sparc_vec targ_selvecs=sparcnetbsd_vec sunos_big_vec +want64=true ;; sparc-*-netbsd*) targ_defvec=sparcnetbsd_vec