head 1.7; access; symbols pkgsrc-2026Q3:1.6.0.26 pkgsrc-2026Q3-base:1.6 pkgsrc-2026Q2:1.6.0.24 pkgsrc-2026Q2-base:1.6 pkgsrc-2026Q1:1.6.0.22 pkgsrc-2026Q1-base:1.6 pkgsrc-2025Q4:1.6.0.20 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.6.0.18 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.16 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.6.0.14 pkgsrc-2025Q1-base:1.6 pkgsrc-2024Q4:1.6.0.12 pkgsrc-2024Q4-base:1.6 pkgsrc-2024Q3:1.6.0.10 pkgsrc-2024Q3-base:1.6 pkgsrc-2024Q2:1.6.0.8 pkgsrc-2024Q2-base:1.6 pkgsrc-2024Q1:1.6.0.6 pkgsrc-2024Q1-base:1.6 pkgsrc-2023Q4:1.6.0.4 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.2 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.5.0.4 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.2 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.4.0.8 pkgsrc-2022Q4-base:1.4 pkgsrc-2022Q3:1.4.0.6 pkgsrc-2022Q3-base:1.4 pkgsrc-2022Q2:1.4.0.4 pkgsrc-2022Q2-base:1.4 pkgsrc-2022Q1:1.4.0.2 pkgsrc-2022Q1-base:1.4 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.7 date 2026.10.12.09.10.09; author jperkin; state dead; branches; next 1.6; commitid GtHPje62iWdnraZG; 1.6 date 2023.07.31.14.08.34; author fcambus; state Exp; branches; next 1.5; commitid 2VUJaul8Sjn0GXyE; 1.5 date 2023.01.14.20.11.04; author fcambus; state Exp; branches; next 1.4; commitid dN9V4mUrHJtW2y9E; 1.4 date 2022.02.10.14.03.07; author fcambus; state Exp; branches; next 1.3; commitid PkHjNNvGrHgjS4sD; 1.3 date 2022.01.24.15.10.46; author fcambus; state Exp; branches; next 1.2; commitid nRgl5kGXb1YmNTpD; 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.7 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_Makefile.am,v 1.6 2023/07/31 14:08:34 fcambus Exp $ NetBSD/aarch64 support patches for ld from src. --- ld/Makefile.am.orig 2023-07-02 23:00:00.000000000 +0000 +++ ld/Makefile.am @@@@ -173,6 +173,8 @@@@ ALL_EMULATION_SOURCES = \ earmelf_linux_fdpiceabi.c \ earmelf_nacl.c \ earmelf_nbsd.c \ + earmelf_nbsd_eabi.c \ + earmelf_nbsd_eabihf.c \ earmelf_phoenix.c \ earmelf_vxworks.c \ earmelfb.c \ @@@@ -183,6 +185,8 @@@@ ALL_EMULATION_SOURCES = \ earmelfb_linux_fdpiceabi.c \ earmelfb_nacl.c \ earmelfb_nbsd.c \ + earmelfb_nbsd_eabi.c \ + earmelfb_nbsd_eabihf.c \ earmnto.c \ earmpe.c \ eavr1.c \ @@@@ -388,6 +392,8 @@@@ ALL_64_EMULATION_SOURCES = \ eaarch64linux32.c \ eaarch64linux32b.c \ eaarch64linuxb.c \ + eaarch64nbsd.c \ + eaarch64nbsdb.c \ eaarch64nto.c \ eaarch64pe.c \ earm64pe.c \ @ 1.6 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_Makefile.am,v 1.5 2023/01/14 20:11:04 fcambus Exp $ @ 1.5 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_Makefile.am,v 1.4 2022/02/10 14:03:07 fcambus Exp $ d5 1 a5 1 --- ld/Makefile.am.orig 2023-01-14 00:00:00.000000000 +0000 d31 1 d33 1 a33 2 eelf32_x86_64.c \ eelf32b4300.c \ @ 1.4 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_Makefile.am,v 1.3 2022/01/24 15:10:46 fcambus Exp $ d5 1 a5 1 --- ld/Makefile.am.orig 2022-01-22 12:14:09.000000000 +0000 d25 1 a25 1 @@@@ -391,6 +395,8 @@@@ ALL_64_EMULATION_SOURCES = \ d31 1 a33 1 eelf32bmip.c \ @ 1.3 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/Makefile.am.orig 2022-01-24 11:00:34.214241856 +0000 d7 1 a7 1 @@@@ -172,6 +172,8 @@@@ ALL_EMULATION_SOURCES = \ d16 1 a16 1 @@@@ -182,6 +184,8 @@@@ ALL_EMULATION_SOURCES = \ d25 3 a27 3 @@@@ -385,6 +389,8 @@@@ ALL_64_EMULATION_SOURCES = \ eaarch64fbsdb.c \ eaarch64linux.c \ a30 2 eaarch64linux32.c \ eaarch64linux32b.c \ d32 2 @ 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_Makefile.am,v 1.1 2014/01/26 03:49:01 ryoon Exp $ d3 3 a5 1 --- ld/Makefile.am.orig 2013-11-26 11:37:33.000000000 +0000 d7 27 a33 38 @@@@ -268,6 +268,7 @@@@ ALL_EMULATION_SOURCES = \ eelf_i386_fbsd.c \ eelf_i386_ldso.c \ eelf_i386_nacl.c \ + eelf_i386_obsd.c \ eelf_i386_sol2.c \ eelf_i386_vxworks.c \ eelf_s390.c \ @@@@ -525,6 +526,7 @@@@ ALL_64_EMULATION_SOURCES = \ eelf_x86_64.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_nacl.c \ + eelf_x86_64_obsd.c \ eelf_x86_64_sol2.c \ ehppa64linux.c \ emmo.c \ @@@@ -1268,6 +1270,10 @@@@ eelf32xtensa.c: $(srcdir)/emulparams/elf eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)" +eelf_x86_64_obsd.c: $(srcdir)/emulparams/elf_x86_64_obsd.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_x86_64_obsd "$(tdir_elf_x86_64_obsd)" eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)" @@@@ -1291,6 +1297,10 @@@@ eelf_i386_sol2.c: $(srcdir)/emulparams/e $(srcdir)/emultempl/solaris2.em \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_sol2 "$(tdir_elf_i386_sol2)" +eelf_i386_obsd.c: $(srcdir)/emulparams/elf_i386_obsd.sh \ + $(srcdir)/emulparams/elf_i386.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_obsd "$(tdir_elf_i386_obsd)" eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @ 1.1 log @Add OpenBSD/amd64 5.4 support @ text @d1 1 a1 1 $NetBSD$ @