head 1.7; access; symbols pkgsrc-2026Q3:1.6.0.42 pkgsrc-2026Q3-base:1.6 pkgsrc-2026Q2:1.6.0.40 pkgsrc-2026Q2-base:1.6 pkgsrc-2026Q1:1.6.0.38 pkgsrc-2026Q1-base:1.6 pkgsrc-2025Q4:1.6.0.36 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.6.0.34 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.32 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.6.0.30 pkgsrc-2025Q1-base:1.6 pkgsrc-2024Q4:1.6.0.28 pkgsrc-2024Q4-base:1.6 pkgsrc-2024Q3:1.6.0.26 pkgsrc-2024Q3-base:1.6 pkgsrc-2024Q2:1.6.0.24 pkgsrc-2024Q2-base:1.6 pkgsrc-2024Q1:1.6.0.22 pkgsrc-2024Q1-base:1.6 pkgsrc-2023Q4:1.6.0.20 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.18 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.16 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.14 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.12 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.6.0.10 pkgsrc-2022Q3-base:1.6 pkgsrc-2022Q2:1.6.0.8 pkgsrc-2022Q2-base:1.6 pkgsrc-2022Q1:1.6.0.6 pkgsrc-2022Q1-base:1.6 pkgsrc-2021Q4:1.6.0.4 pkgsrc-2021Q4-base:1.6 pkgsrc-2021Q3:1.6.0.2 pkgsrc-2021Q3-base:1.6 pkgsrc-2021Q2:1.5.0.6 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.4 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.2 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.3.0.6 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.4 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.2 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.2.0.36 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.32 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.30 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.28 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.26 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.24 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.22 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.20 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.18 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.16 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.12 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.10 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.8 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.6 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.4 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.2 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.1.0.14 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.12 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.10 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.8 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.6 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.4 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.2 pkgsrc-2014Q2-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 2021.09.11.15.54.39; author fcambus; state Exp; branches; next 1.5; commitid 0a2bjiYAHmuuny8D; 1.5 date 2020.12.20.19.07.05; author fcambus; state Exp; branches; next 1.4; commitid 4414LG8UTmnyXvAC; 1.4 date 2020.12.06.18.07.53; author fcambus; state Exp; branches; next 1.3; commitid noF5YFhXR7o75IyC; 1.3 date 2020.02.05.06.18.34; author rillig; state Exp; branches; next 1.2; commitid VvjjmDixZgxEVrVB; 1.2 date 2016.02.03.19.56.34; author jperkin; state Exp; branches; next 1.1; commitid A9YwbyUHfGaKvvTy; 1.1 date 2014.05.12.16.33.20; author marino; state Exp; branches; next ; commitid WMJJB5FcVj3NHgAx; 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-gold_options.h,v 1.6 2021/09/11 15:54:39 fcambus Exp $ The NetBSD real-time linker do not understand DT_RUNPATH or DT_INIT_ARRAY. The current gold defaults are not suitable for it. The last couple of DragonFly, FreeBSD, and OpenBSD releases do support these tags. --- gold/options.h.orig 2021-07-08 11:37:20.000000000 +0000 +++ gold/options.h @@@@ -781,7 +781,11 @@@@ class General_options N_("Output cross reference table"), N_("Do not output cross reference table")); +#if defined(__NetBSD__) + DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', false, +#else DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', true, +#endif N_("Use DT_INIT_ARRAY for all constructors"), N_("Handle constructors as directed by compiler")); @@@@ -843,7 +847,11 @@@@ class General_options N_("Do not create exception frame header")); // Alphabetized under 'e' because the option is spelled --enable-new-dtags. +#if defined(__NetBSD__) + DEFINE_enable(new_dtags, options::EXACTLY_TWO_DASHES, '\0', false, +#else DEFINE_enable(new_dtags, options::EXACTLY_TWO_DASHES, '\0', true, +#endif N_("Enable use of DT_RUNPATH"), N_("Disable use of DT_RUNPATH")); @ 1.6 log @binutils: update to 2.37. This release contains numerous bug fixes, and also the following new features: * The GNU Binutils sources now requires a C99 compiler and library to build. * Support for the arm-symbianelf format has been removed. * Support for Realm Management Extension (RME) for AArch64 has been added. * A new linker option '-z report-relative-reloc' for x86 ELF targets has been added to report dynamic relative relocations. * A new linker option '-z start-stop-gc' has been added to disable special treatment of __start_*/__stop_* references when --gc-sections. * A new linker options '-Bno-symbolic' has been added which will cancel the '-Bsymbolic' and '-Bsymbolic-functions' options. * The readelf tool has a new command line option which can be used to specify how the numeric values of symbols are reported. --sym-base=0|8|10|16 tells readelf to display the values in base 8, base 10 or base 16. A sym base of 0 represents the default action of displaying values under 10000 in base 10 and values above that in base 16. * A new format has been added to the nm program. Specifying '--format=just-symbols' (or just using -j) will tell the program to only display symbol names and nothing else. * A new command line option '--keep-section-symbols' has been added to objcopy and strip. This stops the removal of unused section symbols when the file is copied. Removing these symbols saves space, but sometimes they are needed by other tools. * The '--weaken', '--weaken-symbol' and '--weaken-symbols' options supported by objcopy now make undefined symbols weak on targets that support weak symbols. * Readelf and objdump can now display and use the contents of .debug_sup sections. * Readelf and objdump will now follow links to separate debug info files by default. This behaviour can be stopped via the use of the new '-wN' or '--debug-dump=no-follow-links' options for readelf and the '-WN' or '--dwarf=no-follow-links' options for objdump. Also the old behaviour can be restored by the use of the '--enable-follow-debug-links=no' configure time option. The semantics of the =follow-links option have also been slightly changed. When enabled, the option allows for the loading of symbol tables and string tables from the separate files which can be used to enhance the information displayed when dumping other sections, but it does not automatically imply that information from the separate files should be displayed. If other debug section display options are also enabled (eg '--debug-dump=info') then the contents of matching sections in both the main file and the separate debuginfo file *will* be displayed. This is because in most cases the debug section will only be present in one of the files. If however non-debug section display options are enabled (eg '--sections') then the contents of matching parts of the separate debuginfo file will *not* be displayed. This is because in most cases the user probably only wanted to load the symbol information from the separate debuginfo file. In order to change this behaviour a new command line option --process-links can be used. This will allow di0pslay options to applied to both the main file and any separate debuginfo files. * Nm has a new command line option: '--quiet'. This suppresses "no symbols" diagnostic. @ text @d1 1 a1 1 $NetBSD: patch-gold_options.h,v 1.5 2020/12/20 19:07:05 fcambus Exp $ @ 1.5 log @binutils: remove now unneeded OpenBSD specific checks in gold. Support for DT_INIT_ARRAY, DT_FINI_ARRAY and DT_PREINIT_ARRAY was added in 2016 [1], and support for DT_RUNPATH in 2017 [2]. [1] https://marc.info/?l=openbsd-cvs&m=147193481229072&w=2 [2] https://marc.info/?l=openbsd-cvs&m=148504804104054&w=2 @ text @d1 1 a1 1 $NetBSD: patch-gold_options.h,v 1.4 2020/12/06 18:07:53 fcambus Exp $ d8 1 a8 1 --- gold/options.h.orig 2020-07-24 09:12:20.000000000 +0000 d10 1 a10 1 @@@@ -772,7 +772,11 @@@@ class General_options d22 1 a22 1 @@@@ -834,7 +838,11 @@@@ class General_options @ 1.4 log @binutils: update to 2.35.1. Looks OK to kamil@@ Changes in 2.35: * Changed readelf's display of symbol names when wide mode is not enabled. If the name is too long it will be truncated and the last five characters replaced with "[...]". The old behaviour of displaying 5 more characters but not indicating that truncation has happened can be restored by the use of the -T or --silent-truncation options. * X86 NaCl target support is removed. * The readelf tool now has a -L or --lint or --enable-checks option which turns on warning messages about possible problems with the file(s) being examined. These checks include things like zero-sized sections, which are allowed by the ELF standard but which nevertheless might be of concern if the user was expecting them to actually contain something. @ text @d1 1 a1 1 $NetBSD: patch-gold_options.h,v 1.3 2020/02/05 06:18:34 rillig Exp $ d3 4 a6 3 The NetBSD and OpenBSD real-time linkers do not understand DT_RUNPATH or DT_INIT_ARRAY. The current gold defaults are not suitable for them. The last couple of DragonFly and FreeBSD releases do support these tags. d14 1 a14 1 +#if defined(__NetBSD__) || defined(__OpenBSD__) d26 1 a26 1 +#if defined(__NetBSD__) || defined(__OpenBSD__) @ 1.3 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-gold_options.h,v 1.2 2016/02/03 19:56:34 jperkin Exp $ d7 1 a7 1 --- gold/options.h.orig d9 1 a9 1 @@@@ -772,7 +772,11 @@@@ d21 1 a21 1 @@@@ -830,7 +834,11 @@@@ @ 1.2 log @Backport SunOS 32-bit -mrelax-relocations fix from 2.26.1. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-gold_options.h,v 1.1 2014/05/12 16:33:20 marino Exp $ d7 1 a7 1 --- gold/options.h.orig 2015-11-13 08:27:42.000000000 +0000 d9 1 a9 1 @@@@ -713,9 +713,15 @@@@ class General_options a14 2 + N_("Use DT_INIT_ARRAY for all constructors"), + N_("Handle constructors as directed by compiler (default)")); d17 2 a18 1 N_("Use DT_INIT_ARRAY for all constructors (default)"), a19 1 +#endif d21 2 a22 5 DEFINE_bool(define_common, options::TWO_DASHES, 'd', false, N_("Define common symbols"), @@@@ -956,7 +962,11 @@@@ class General_options N_("Do not page align data, do not make text readonly"), N_("Page align data, make text readonly")); d24 1 d30 2 a31 2 N_("Enable use of DT_RUNPATH and DT_FLAGS"), N_("Disable use of DT_RUNPATH and DT_FLAGS")); @ 1.1 log @devel/binutils: Change default behavior of gold for NetBSD & OpenBSD The Gold linker defaults to the use of --new-dtags which uses DT_RUNPATH instead of DT_RPATH. In previous version of binutils, --new-dtags would write set both DT_RUNPATH and DT_PATH, but not anymore. The problem is that neither NetBSD nor OpenBSD runtime linkers properly handle it AFAICT. Use macros to make DT_RPATH get set when -rpath switch is used so that linked libraries can get found on these platforms. Similarly, it appears that DT_INIT_ARRAY tags are also not handled by rtld, so don't use these tags by default otherwise C++ will not link on these platforms. The copy-as-needed attribute has been left at its binutils default of --no-copy-dt-needed. This has been the default since binutils 2.22. @ text @d1 1 a1 1 $NetBSD$ d7 1 a7 1 --- gold/options.h.orig 2013-11-04 15:33:39.000000000 +0000 d9 1 a9 1 @@@@ -716,9 +716,15 @@@@ class General_options d25 1 a25 1 @@@@ -949,7 +955,11 @@@@ class General_options @