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$
@