head 1.11; access; symbols pkgsrc-2026Q3:1.10.0.26 pkgsrc-2026Q3-base:1.10 pkgsrc-2026Q2:1.10.0.24 pkgsrc-2026Q2-base:1.10 pkgsrc-2026Q1:1.10.0.22 pkgsrc-2026Q1-base:1.10 pkgsrc-2025Q4:1.10.0.20 pkgsrc-2025Q4-base:1.10 pkgsrc-2025Q3:1.10.0.18 pkgsrc-2025Q3-base:1.10 pkgsrc-2025Q2:1.10.0.16 pkgsrc-2025Q2-base:1.10 pkgsrc-2025Q1:1.10.0.14 pkgsrc-2025Q1-base:1.10 pkgsrc-2024Q4:1.10.0.12 pkgsrc-2024Q4-base:1.10 pkgsrc-2024Q3:1.10.0.10 pkgsrc-2024Q3-base:1.10 pkgsrc-2024Q2:1.10.0.8 pkgsrc-2024Q2-base:1.10 pkgsrc-2024Q1:1.10.0.6 pkgsrc-2024Q1-base:1.10 pkgsrc-2023Q4:1.10.0.4 pkgsrc-2023Q4-base:1.10 pkgsrc-2023Q3:1.10.0.2 pkgsrc-2023Q3-base:1.10 pkgsrc-2023Q2:1.9.0.4 pkgsrc-2023Q2-base:1.9 pkgsrc-2023Q1:1.9.0.2 pkgsrc-2023Q1-base:1.9 pkgsrc-2022Q4:1.8.0.8 pkgsrc-2022Q4-base:1.8 pkgsrc-2022Q3:1.8.0.6 pkgsrc-2022Q3-base:1.8 pkgsrc-2022Q2:1.8.0.4 pkgsrc-2022Q2-base:1.8 pkgsrc-2022Q1:1.8.0.2 pkgsrc-2022Q1-base:1.8 pkgsrc-2020Q3:1.5.0.6 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.4 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.2 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.4.0.36 pkgsrc-2019Q4-base:1.4 pkgsrc-2019Q3:1.4.0.32 pkgsrc-2019Q3-base:1.4 pkgsrc-2019Q2:1.4.0.30 pkgsrc-2019Q2-base:1.4 pkgsrc-2019Q1:1.4.0.28 pkgsrc-2019Q1-base:1.4 pkgsrc-2018Q4:1.4.0.26 pkgsrc-2018Q4-base:1.4 pkgsrc-2018Q3:1.4.0.24 pkgsrc-2018Q3-base:1.4 pkgsrc-2018Q2:1.4.0.22 pkgsrc-2018Q2-base:1.4 pkgsrc-2018Q1:1.4.0.20 pkgsrc-2018Q1-base:1.4 pkgsrc-2017Q4:1.4.0.18 pkgsrc-2017Q4-base:1.4 pkgsrc-2017Q3:1.4.0.16 pkgsrc-2017Q3-base:1.4 pkgsrc-2017Q2:1.4.0.12 pkgsrc-2017Q2-base:1.4 pkgsrc-2017Q1:1.4.0.10 pkgsrc-2017Q1-base:1.4 pkgsrc-2016Q4:1.4.0.8 pkgsrc-2016Q4-base:1.4 pkgsrc-2016Q3:1.4.0.6 pkgsrc-2016Q3-base:1.4 pkgsrc-2016Q2:1.4.0.4 pkgsrc-2016Q2-base:1.4 pkgsrc-2016Q1:1.4.0.2 pkgsrc-2016Q1-base:1.4 pkgsrc-2015Q4:1.3.0.4 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.2 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q1:1.1.0.10 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.8 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.6 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.4 pkgsrc-2014Q2-base:1.1 pkgsrc-2014Q1:1.1.0.2 pkgsrc-2014Q1-base:1.1; locks; strict; comment @# @; 1.11 date 2026.10.12.09.10.09; author jperkin; state dead; branches; next 1.10; commitid GtHPje62iWdnraZG; 1.10 date 2023.07.31.14.08.34; author fcambus; state Exp; branches; next 1.9; commitid 2VUJaul8Sjn0GXyE; 1.9 date 2023.01.14.20.11.04; author fcambus; state Exp; branches; next 1.8; commitid dN9V4mUrHJtW2y9E; 1.8 date 2022.02.10.14.03.07; author fcambus; state Exp; branches; next 1.7; commitid PkHjNNvGrHgjS4sD; 1.7 date 2022.01.24.15.10.46; author fcambus; state Exp; branches; next 1.6; commitid nRgl5kGXb1YmNTpD; 1.6 date 2020.12.03.16.02.05; author fcambus; state dead; branches; next 1.5; commitid 4sP0uNsDXVVStjyC; 1.5 date 2020.02.05.06.18.34; author rillig; state Exp; branches; next 1.4; commitid VvjjmDixZgxEVrVB; 1.4 date 2016.01.30.22.15.11; author ryoon; state Exp; branches; next 1.3; commitid NA2h0LKBzzLvp0Ty; 1.3 date 2015.09.03.20.55.55; author sevan; state Exp; branches; next 1.2; commitid GoGj6LLlqjmRJQzy; 1.2 date 2015.06.09.20.24.39; author ryoon; state dead; branches; next 1.1; commitid ExG6rJnedfKUlNoy; 1.1 date 2014.01.26.03.49.01; author ryoon; state Exp; branches; next ; commitid D8qzFo5I7EiNSzmx; desc @@ 1.11 log @binutils: Update to 2.47. Lots of pkgsrc changes to simplify and clean up the package. Tested on SmartOS (has been used to build the trunk packages for a number of weeks now), Darwin, and NetBSD. Changes since 2.41 below are for binutils only, not including gas and ld. Changes in 2.47: * The s390 32-bit target (s390-*) is deprecated and planned for removal in a future release, along with the elf32-s390 target format. configure emits an error for this target, which can be overridden using --enable-obsolete. Linux Kernel 6.19 removed s390 32-bit compatibility support. Glibc 2.43 and GCC 16.1 have deprecated s390 32-bit, both with the intent to remove it in a future release. The s390 64-bit target (s390x-*) remains supported. * The AArch64 disassembler now accepts a command line option of "-M annotate" which displays the symbol associated with undefined instructions, should there be one. * The x86 and x86_64 disassemblers now accept a command line option of "-M annotate-immediates" which displays the symbol associated with immediate values, should there be one. * Objdump and readelf now have a --debug-dir= option which can be used to tell them where to find separate debug info files. * Add --map-global-vars option to objdump which displays the location and type of global variables in object files. This feature was developed by Guillaume Vacherias . Changes in 2.46: * SFrame stack trace format now represents an undefined return address as an SFrame FRE without any offsets. libsframe provides a new API to test for RA undefined, which is used when dumping SFrame information (e.g. using objdump and readelf) to show such FREs as "RA undefined". * Add --got-contents option to readelf to display the contents of Global Offset Table (GOT) sections. * Internal changes to plugin support, and stricter target checking may result in some errors being exposed in user options passed to the various binutils. For example objcopy --target=TARGET now will only work if the input file is for TARGET whereas prior versions of objcopy accepted other target input files and produced a TARGET output. If you do in fact want the old behaviour the correct usage is objcopy --output-target=TARGET. * NaCl target support is removed. * New versioned release of libsframe: libsframe.so.3. This release introduces versioned symbols with version node name LIBSFRAME_3.0. * objdump and readelf now support displaying SFrame Version 3 information. The existing --sframe option can be used to display sections in the the new V3 format. Display of SFrame Version 2 information continues to be supported (NB: Emission and linking of SFrame Version 2 is discontinued). Changes in 2.45: * New versioned release of libsframe: libsframe.so.2. This release introduces versioned symbols with version node name LIBSFRAME_2.0. Some new symbols have been added to support the new flag SFRAME_F_FDE_FUNC_START_PCREL and retrieving flags from SFrame decoder and encoder objects: - Addition of sframe_decoder_get_flags, sframe_decoder_get_offsetof_fde_start_addr, sframe_encoder_get_flags, sframe_encoder_get_offsetof_fde_start_addr. This release also includes backward-incompatible ABI changes: - Removal of sframe_get_funcdesc_with_addr. - Change in the behavior of sframe_decoder_get_funcdesc_v2, sframe_encoder_add_funcdesc_v2 and sframe_encoder_write. * On s390 64-bit (s390x), gas, ld, objdump, and readelf now support generating and processing SFrame V2 stack trace information (.sframe). The assembler generates SFrame info from CFI directives with option "--gsframe". The linker generates SFrame info for the linker-generated .plt section and merges all .sframe sections. Both objdump and readelf dump SFrame info with option "--sframe[=]". * For SFrame stack trace format, the function start address in each SFrame FDE has a changed encoding: The 32-bit signed integer now holds the offset of the start PC of the associated function from the sfde_func_start_address field itself (instead of the earlier where it was the offset from the start of the SFrame section itself). All SFrame sections generated by gas and ld now default to this new encoding, setting the (new) SFRAME_F_FDE_FUNC_START_PCREL flag. Relocatable SFrame links are now fixed. * Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp extensions. * For RISC-V dis-assembler, the definition of mapping symbol $x is changed, so the file needs to be rebuilt since 2.45 once used .option arch directives. * The LoongArch disassembler now properly accepts multiple disassembly options given by -M, such as "-M no-aliases,numeric". (Previously only the first option took effect.) Changes in 2.44: * Support for Nios II targets has been removed except in the readelf utility, as this architecture has been EOL'ed by Intel. * RISC-V disassembly now supports -M,max option like QEMU to dump instruction without checking architecture support as usual. * gprofng: Support for hardware event counters for Neoverse-N1, Ampere-1, and Appliedmicro processors. Changes in 2.43: * The MIPS port now supports microMIPS MT Application Specific Extension instructions for assembly and disassembly. * Readelf now displays RELR relocations in full detail. * Readelf now has a -j/--display-section option which takes the name or index of a section and displays its contents according to its type. The option can be used multiple times on the command line to display multiple sections. * Base register 0 is now printed as "0" instead of "%r0" in s390 disassembly. * When objdump or readelf are used to display the contents of a .eh_frame section they will now also display the contents of the .eh_frame_hdr section, if present. * Support for the Maverick co-processor (via -mfpu=maverick) on Arm has been removed. The CPU name ep9312 is still recognized, but treated as an alias for arm920t. * Support for the FPA co-procossor on Arm has been removed. In cases where a legacy CPU previously defaulted to using this instruction set extension, the assembler now defaults to no-FPU to avoid quietly misassembling legacy code. * gprofng: Improved the support for hardware event counters: - Re-designed and streamlined the implementation. - Defined a common set of events for ARM processors. - Added specific events for AMD ZEN3 / ZEN4, and Intel Ice Lake processors. Added a minimal support for RISC-V. Changes in 2.42: * The objdump program has a new command line option -Z/--decompress which changes the behaviour of the -s/--full-contents option, forcing it to decompress the contents of any compressed section before they are displayed. In addition when objdump is displaying sections headers (via the -h/--headers command line option) it will now display "COMPRESSED" in the Flags field of any compressed section. * The readelf program has a new command line option --extra-sym-info which extends the information displayed by the --symbols option. When enabled the display will include the name of the section referenced by a symbol's index field (st_shndx). In the future more information may also be displayed when this option is enabled. * objcopy --set-section-flags now supports "large" to set SHF_X86_64_LARGE for ELF x86-64 objects. * objdump --visualize-jumps is now supported on s390 architecture. * The s390 disassembly now optionally includes the instruction description as comment with the s390-specific disassembler option "insndesc": - For objdump it can be enabled with "objdump -M insndesc ...". - In gdb it can be enabled with "set disassembler-options insndesc". @ text @$NetBSD: patch-ld_configure.tgt,v 1.10 2023/07/31 14:08:34 fcambus Exp $ NetBSD/aarch64 support patches for ld from src. --- ld/configure.tgt.orig 2023-07-02 23:00:00.000000000 +0000 +++ ld/configure.tgt @@@@ -118,6 +118,12 @@@@ aarch64-*-linux*) targ_emul=aarch64linux aarch64-*-haiku*) targ_emul=aarch64haiku targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb armelf_haiku $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" + ;; +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" + ;; aarch64-*-nto*) targ_emul=aarch64nto targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;; @ 1.10 log @binutils: update to 2.41. This release contains numerous bug fixes, and also the following new features: In the assembler: * Add support for Intel FRED instructions. * Add support for Intel LKGS instructions. * Add support for Intel AMX-COMPLEX instructions. * Add SME2 support to the AArch64 port. * A new .insn directive is recognized by x86 gas. * Add support for LoongArch LSX instructions. * Add support for LoongArch LASX instructions. * Add support for LoongArch LVZ instructions. * Add support for LoongArch LBT instructions. * Initial LoongArch support for linker relaxation has been added. * Deprecate the LoongArch register aliases $v0, $v1, $x, $fv0 and $fv1. In the linker: * The linker now accepts a command line option of --remap-inputs = to relace any input file that matches with . In addition the option --remap-inputs-file= can be used to specify a file containing any number of these remapping directives. * The linker command line option --print-map-locals can be used to include local symbols in a linker map. (ELF targets only). * For most ELF based targets, if the --enable-linker-version option is used then the version of the linker will be inserted as a string into the .comment section. * The linker script syntax has a new command for output sections: ASCIZ "string" This will insert a zero-terminated string at the current location. * Add command-line option, -z nosectionheader, to omit ELF section header. In the other binary tools: * The MIPS port now supports the Sony Interactive Entertainment Allegrex processor, used with the PlayStation Portable, which implements the MIPS II ISA along with a single-precision FPU and a few implementation-specific integer instructions. * Objdump's --private option can now be used on PE format files to display the fields in the file header and section headers. * New versioned release of libsframe: libsframe.so.1. This release introduces versioned symbols with version node name LIBSFRAME_1.0. This release also updates the ABI in an incompatible way: this includes removal of sframe_get_funcdesc_with_addr API, change in the behavior of sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs. * SFrame Version 2 is now the default (and only) format version supported by gas, ld, readelf and objdump. * Add command-line option, --strip-section-headers, to objcopy and strip to remove ELF section header from ELF file. * The RISC-V port now supports the following new standard extensions: - Zicond (conditional zero instructions) - Zfa (additional floating-point instructions) - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng, Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions) * The RISC-V port now supports the following vendor-defined extensions: - XVentanaCondOps * The LoongArch port now supports the following extensions: - LSX (Loongson SIMD eXtension; 128-bit vectors) - LASX (Loongson Advanced SIMD eXtension; 256-bit vectors) - LVZ (Loongson Virtualization extension) - LBT (Loongson Binary Translation extension) * The LoongArch disassembly output received the following tweaks: - Colored output is now supported. - Some pseudo-instructions are now shown in place of the canonical forms, where semantics are equivalent. A disassembler option '-M no-aliases' is added to disable the new behavior. - Signed immediates are no longer printed with their hex representation. - Unrecognized instruction words are now shown with '.word'. @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.9 2023/01/14 20:11:04 fcambus Exp $ @ 1.9 log @binutils: update to 2.40. This release contains numerous bug fixes, and also the following new features: * Support for more Intel, ARM, Risc-V architecture extensions. * Support for generating and reading compressed debug sections using the zstd compression format. * Support for the SFRAME unwind format. * Support for the CTF debug format. * The objdump tool now has an option to enhance its disassembly output by showing all of the symbols that match an address, instead of just the first symbol. * The objdump tool's disassembler is now also able to use colors to distinguish differents parts of each instruction. This feature is only supported by a limited set of architectures at the moment. * The linker (ld) has a new command line option to disable the generation of warning and error messages. This can be useful when it is known that the link will not be successful, but there is still a need to create a binary. @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.8 2022/02/10 14:03:07 fcambus Exp $ d5 1 a5 1 --- ld/configure.tgt.orig 2023-01-14 00:00:00.000000000 +0000 d17 3 a19 3 aarch64-*-pe*) targ_emul=aarch64pe targ_extra_ofiles="deffilep.o pep-dll-aarch64.o" @ 1.8 log @binutils: update to 2.38. This release contains numerous bug fixes and improvements, along with the following new features: Assembler: General: * Add support for the LoongArch architecture. * Add an option to control how multibyte characters are handled in the assembler. Using the option warnings can be generated when such characters are encountered in symbol names, or anywhere in the input source file(s). AArch64 and ARM: * Add support for more system registers. * Add support for Scalable Matrix Extension. * Add support for Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710 cores. * Add support for 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' and 'armv9.3-a' architecture extensions. X86: * Add a command-line option to encode aligned vector move as unaligned vector move. * Add support for Intel AVX512_FP16 instructions. * The outputs of .ds.x directive and .tfloat directive with hex input have been reduced from 12 bytes to 10 bytes to match the output of .tfloat directive. Linker: * Add support for the LoongArch architecture. * Add -z pack-relative-relocs/-z no pack-relative-relocs to x86 ELF linker to pack relative relocations in the DT_RELR section. * Add -z indirect-extern-access/-z noindirect-extern-access to x86 ELF linker to control canonical function pointers and copy relocation. Other Binary Tools: * elfedit: Add --output-abiversion option to update ABIVERSION. * Tools which display symbols or strings (readelf, strings, nm, objdump) have a new command line option which controls how unicode characters are handled. By default they are treated as normal for the tool. Using --unicode=locale will display them according to the current locale. Using --unicode=hex will display them as hex byte values, whilst --unicode=escape will display them as escape sequences. In addition using --unicode=highlight will display them as unicode escape sequences highlighted in red (if supported by the output device). * readelf -r dumps RELR relative relocations now. * Support for efi-app-aarch64, efi-rtdrv-aarch64 and efi-bsdrv-aarch64 has been added to objcopy in order to enable UEFI development using binutils. * ar: Add --thin for creating thin archives. -T is a deprecated alias without diagnostics. In many ar implementations -T has a different meaning, as specified by X/Open System Interface. @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.7 2022/01/24 15:10:46 fcambus Exp $ d5 1 a5 1 --- ld/configure.tgt.orig 2022-01-22 14:19:36.000000000 +0000 d7 1 a7 1 @@@@ -80,6 +80,12 @@@@ aarch64-*-linux*) targ_emul=aarch64linux d17 3 a19 3 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) targ_emul=elf64alpha_fbsd targ_extra_emuls="elf64alpha alpha" @ 1.7 log @binutils: import NetBSD/aarch64 support patches for ld from src. This fixes the build on NetBSD/aarch64. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 --- ld/configure.tgt.orig 2022-01-24 10:16:24.837151195 +0000 d7 3 a9 3 @@@@ -77,6 +77,12 @@@@ 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" @ 1.6 log @binutils: drop all Bitrig related patches. Bitrig has been officially discontinued. OK kamil@@ @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.5 2020/02/05 06:18:34 rillig Exp $ d3 1 a3 2 Add Bitrig/amd64 support https://sourceware.org/bugzilla/show_bug.cgi?id=18920 d5 1 a5 1 --- ld/configure.tgt.orig d7 3 a9 3 @@@@ -354,6 +354,11 @@@@ i[3-7]86-*-netbsdpe*) targ_emul=i386pe targ_extra_ofiles="deffilep.o pe-dll.o" d11 2 a12 4 +i[3-7]86-*-bitrig*) targ_emul=i386nbsd + targ_extra_emuls=elf_i386 ;; +x86_64-*-bitrig*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 i386nbsd elf_l1om elf_k1om" d14 6 a19 3 i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu targ_extra_emuls=elf_i386 ;; @ 1.5 log @devel/binutils: update to 2.34 pkgsrc changes: MAKE_JOBS_SAFE=no has been removed since binutils built fine with MAKE_JOBS=3 on NetBSD-8.0-x86_64. In some of the patches, all context lines have been removed since the raw change is expressive enough without any context. The patch for popcount is no longer necessary since the function has been renamed in bfd. upstream changes since 2.26: Changes in 2.34: * Binutils now supports debuginfod, an HTTP server for distributing ELF/DWARF debugging information as well as source code. When built with debuginfod, readelf and objdump can automatically query debuginfod servers for separate debug files when they otherwise cannot be found. To build binutils with debuginfod, pass --with-debuginfod to configure. This requires libdebuginfod, the debuginfod client library. debuginfod is distributed with elfutils, starting with version 0.178. For more information see https://sourceware.org/elfutils. * Add --output option to the "ar" program. This option can be used to specify the output directory when extracting members from an archive. * Add --keep-section option to objcopy and strip. This option keeps the specified section from being removed. * Add visualization of jumps inside a function by drawing an ascii character graph between the address and the disassembler column. Enabled via the --visualize-jumps command line option for objdump. Currently supported by the x86, x86_64, and ARM targets. The output looks something like this: c6: | | \----------> be 00 00 00 00 mov $0x0,%esi cb: | | /----> 48 8b 3d 00 00 00 00 mov 0x0(%rip),%rdi # d2 d2: | | | 31 c0 xor %eax,%eax d4: | | | /-- e8 00 00 00 00 callq d9 d9: | | | \-> bf 02 00 00 00 mov $0x2,%edi de: | +-----------|----- e8 00 00 00 00 callq e3 e3: | \-----------|----> 48 89 da mov %rbx,%rdx e6: | | be 00 00 00 00 mov $0x0,%esi eb: | \----- eb de jmp cb ed: \-------------------> 48 8b 16 mov (%rsi),%rdx Additional arguments to the --visualize-jumps option add colors to the output. Changes in 2.33: * Add --source-comment[=] option to objdump which if present, provides a prefix to source code lines displayed in a disassembly. * Add --set-section-alignment = option to objcopy to allow the changing of section alignments. * Add --verilog-data-width option to objcopy for verilog targets to control width of data elements in verilog hex format. * Add support for the Armv8.1-M Mainline and M-profile Vector Extension (MVE) instructions. * The separate debug info file options of readelf (--debug-dump=links and --debug-dump=follow) and objdump (--dwarf=links and --dwarf=follow-links) will now display and/or follow multiple links if more than one are present in a file. (This usually happens when gcc's -gsplit-dwarf option is used). In addition objdump's --dwarf=follow-links now also affects its other display options, so that for example, when combined with --syms it will cause the symbol tables in any linked debug info files to also be displayed. In addition when combined with --disassemble the --dwarf= follow-links option will ensure that any symbol tables in the linked files are read and used when disassembling code in the main file. * Add support for dumping types encoded in the Compact Type Format to objdump and readelf. Changes in 2.32: * The addr2line, c++filt, nm and objdump tools now have a limit on the maximum amount of recursion that is allowed whilst demangling strings. The value for this limit is defined by the DEMANGLE_RECRUSE_LIMIT constant declared in the include/demangle.h header file. At the time of writing this constant has the value of 2048. The --no-recurse-limit option can be used to remove the limit, restoring the behaviour of earlier versions of these tools. This may be needed in order to dmangle truly complicated names, but it also leaves the tools vulnerable to stack exhaustion from maliciously constructed mangled names. * Objdump's --disassemble option can now take a parameter, specifying the starting symbol for disassembly. Disassembly will continue from this symbol up to the next symbol or the end of the function. * The MIPS port now supports the Loongson 2K1000 processor which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE, Loongson-ext ASE, Loongson-ext2 ASE and MSA ASE instructions. Add -march=gs264e option for Loongson 2K1000 processor. * The MIPS port now supports the Loongson 3A2000/3A3000 processor which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE, Loongson-ext ASE and Loongson-ext2 ASE instructions. Add -march=gs464e option for Loongson 3A2000/3A3000 processor. * The MIPS port now supports the Loongson 3A1000 processor, aka Loongson3a, which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE and Loongson-ext ASE instructions. Add -march=gs464 option for Loongson 3A1000 processor, The -march=loongson3a is an alias of -march=gs464 for compatibility. * The size tool now has a new output format '--format=GNU' or '-G'. The results are displayed in a similar manor to the default berkeley layout, except read-only data is counted in the data column, not the text column. Additionally the total is only included once. Changes in 2.31: * Add support for disassembling netronome Flow Processor (NFP) firmware files. * The AArch64 port now supports showing disassembly notes which are emitted when inconsistencies are found with the instruction that may result in the instruction being invalid. These can be turned on with the option -M notes to objdump. * The AArch64 port now emits warnings when a combination of an instruction and a named register could be invalid. * Added O modifier to ar to display member offsets inside an archive Changes in 2.30: * Add --debug-dump=links option to readelf and --dwarf=links option to objdump which displays the contents of any .gnu_debuglink or .gnu_debugaltlink sections. Add a --debug-dump=follow-links option to readelf and a --dwarf=follow-links option to objdump which causes indirect links into separate debug info files to be followed when dumping other DWARF sections. Changes in 2.29: * The MIPS port now supports microMIPS eXtended Physical Addressing (XPA) instructions for assembly and disassembly. * The MIPS port now supports the microMIPS Release 5 ISA for assembly and disassembly. * The MIPS port now supports the Imagination interAptiv MR2 processor, which implements the MIPS32r3 ISA, the MIPS16e2 ASE as well as a couple of implementation-specific regular MIPS and MIPS16e2 ASE instructions. * The SPARC port now supports the SPARC M8 processor, which implements the Oracle SPARC Architecture 2017. * The MIPS port now supports the MIPS16e2 ASE for assembly and disassembly. * Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX. * Add support for the wasm32 ELF conversion of the WebAssembly file format. * Add --inlines option to objdump, which extends the --line-numbers option so that inlined functions will display their nesting information. * Add --merge-notes options to objcopy to reduce the size of notes in a binary file by merging and deleting redundant notes. * Add support for locating separate debug info files using the build-id method, where the separate file has a name based upon the build-id of the original file. Changes in 2.28: * This version of binutils fixes a problem with PowerPC VLE 16A and 16D relocations which were functionally swapped, for example, R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D performed like R_PPC_VLE_HA16A. This could have been fixed by renumbering relocations, which would keep object files created by an older version of gas compatible with a newer ld. However, that would require an ABI update, affecting other assemblers and linkers that create and process the relocations correctly. It is recommended that all VLE object files be recompiled, but ld can modify the relocations if --vle-reloc-fixup is passed to ld. If the new ld command-line option is not used, ld will ld warn on finding relocations inconsistent with the instructions being relocated. * The nm program has a new command-line option (--with-version-strings) which will display a symbol's version information, if any, after the symbol's name. * The ARC port of objdump now accepts a -M option to specify the extra instruction class(es) that should be disassembled. * The --remove-section option for objcopy and strip now accepts section patterns starting with an exclamation point to indicate a non-matching section. A non-matching section is removed from the set of sections matched by an earlier --remove-section pattern. * The --only-section option for objcopy now accepts section patterns starting with an exclamation point to indicate a non-matching section. A non-matching section is removed from the set of sections matched by an earlier --only-section pattern. * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. This option can be used to remove sections containing relocations. The SECTIONPATTERN is the section to which the relocations apply, not the relocation section itself. Changes in 2.27: * Add a configure option, --enable-64-bit-archive, to force use of a 64-bit format when creating an archive symbol index. * Add --elf-stt-common= option to objcopy for ELF targets to control whether to convert common symbols to the STT_COMMON type. @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.4 2016/01/30 22:15:11 ryoon Exp $ @ 1.4 log @Update to 2.26 Changelog: Changes in 2.26: * Add option to objcopy to insert new symbols into a file: --add-symbol =[
:][,] * Add support for the ARC EM/HS, and ARC600/700 architectures. * Extend objcopy --compress-debug-sections option to support --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF targets. * Add --update-section option to objcopy. * Add --output-separator option to strings. @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.3 2015/09/03 20:55:55 sevan Exp $ d6 1 a6 1 --- ld/configure.tgt.orig 2015-11-13 08:27:42.000000000 +0000 d8 4 a11 4 @@@@ -309,6 +309,11 @@@@ x86_64-*-netbsd*) targ_emul=elf_x86_64 *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ sed -e 's/netbsd/netbsdelf/'`;; esac ;; a16 1 i[3-7]86-*-netware) targ_emul=i386nw ;; d18 2 a19 1 targ_extra_emuls=elf_i386 ;; @ 1.3 log @Unbreak on Bitrig/amd64, ARM support not implemented yet. Patches filed upstream as binutils/18920 Reviewed by wiz@@ @ text @d1 1 a1 1 $NetBSD$ d6 1 a6 1 --- ld/configure.tgt.orig Thu Sep 3 17:11:33 2015 d8 1 a8 1 @@@@ -282,6 +283,11 @@@@ x86_64-*-netbsd*) targ_emul=elf_x86_64 d18 2 a19 2 i[3-7]86-*-elf*) targ_emul=elf_i386 ;; x86_64-*-elf*) targ_emul=elf_x86_64 @ 1.2 log @Update to 2.25 Changelog: Not available? As far as I know: * Add Andes NDS32 architecture support. * Improve Solaris support. @ text @d1 1 a1 1 $NetBSD: patch-ld_configure.tgt,v 1.1 2014/01/26 03:49:01 ryoon Exp $ d3 4 a6 1 --- ld/configure.tgt.orig 2013-11-26 11:37:33.000000000 +0000 d8 8 a15 9 @@@@ -268,6 +268,12 @@@@ i[3-7]86-*-netbsdpe*) targ_emul=i386pe targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-netbsd*) targ_emul=i386nbsd targ_extra_emuls=elf_i386 ;; +i[3-7]86-*-openbsd*) targ_emul=elf_i386_obsd ;; +x86_64-*-openbsd*) targ_emul=elf_x86_64_obsd + targ_extra_emuls="elf_i386_obsd elf_i386" + tdir_elf_i386_obsd=`echo ${targ_alias} | \ + sed -e 's/x86_64/i386/'` d17 3 a19 3 x86_64-*-netbsd*) targ_emul=elf_x86_64 targ_extra_emuls="elf_i386 i386nbsd elf_l1om elf_k1om" tdir_elf_i386=`echo ${targ_alias} | \ @ 1.1 log @Add OpenBSD/amd64 5.4 support @ text @d1 1 a1 1 $NetBSD$ @