Age | Commit message (Collapse) | Author | Files | Lines |
|
From upstream commit log:
PR29482 - strip: heap-buffer-overflow
PR 29482
* coffcode.h (coff_set_section_contents): Sanity check _LIB.
|
|
This release contains numerous bug fixes, and also the following new
features:
* The ELF linker will now generate a warning message if the stack is made
executable. Similarly it will warn if the output binary contains a
segment with all three of the read, write and execute permission
bits set. These warnings are intended to help developers identify
programs which might be vulnerable to attack via these executable
memory regions.
The warnings are enabled by default but can be disabled via a command
line option. It is also possible to build a linker with the warnings
disabled, should that be necessary.
* The ELF linker now supports a --package-metadata option that allows
embedding a JSON payload in accordance to the Package Metadata
specification.
* In linker scripts it is now possible to use TYPE=<type> in an output
section description to set the section type value.
* The objdump program now supports coloured/colored syntax
highlighting of its disassembler output for some architectures.
(Currently: AVR, RiscV, s390, x86, x86_64).
* The nm program now supports a --no-weak/-W option to make it ignore
weak symbols.
* The readelf and objdump programs now support a -wE option to prevent
them from attempting to access debuginfod servers when following
links.
* The objcopy program's --weaken, --weaken-symbol, and
--weaken-symbols options now works with unique symbols as well.
|
|
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.
|
|
This fixes the build on NetBSD/aarch64.
|
|
From upstream commit log:
PR28694, Out-of-bounds write in stab_xcoff_builtin_type
PR 28694
* stabs.c (stab_xcoff_builtin_type): Make typenum unsigned.
Negate typenum earlier, simplifying bounds checking. Correct
off-by-one indexing. Adjust switch cases.
|
|
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
|
|
|
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.
|
|
Changes in 2.36.1:
2021-01-26 Frederic Cambus <fred@statdns.com>
* objcopy.c (copy_main): Fix a double free happening when both
--localize-symbols and --globalize-symbols options are invoked
together.
gas changes in 2.36.1:
2021-02-05 Nelson Chu <nelson.chu@sifive.com>
* config/tc-riscv.c (riscv_multi_subset_supports): Removed
INSN_CLASS_ZB*.
* testsuite/gas/riscv/bitmanip-insns-32.d: Removed.
* testsuite/gas/riscv/bitmanip-insns-64.d: Removed.
* testsuite/gas/riscv/bitmanip-insns.s: Removed.
2021-01-26 Alan Modra <amodra@gmail.com>
PR 27282
* testsuite/gas/all/none.d: Replace skip with xfail, don't xfail ft32.
* testsuite/gas/elf/pr27228.d: xfail hppa and allow OBJECT match.
2021-01-26 H.J. Lu <hongjiu.lu@intel.com>
PR gas/27243
* config/tc-nios2.c (md_begin): Don't disable relaxation with
--gdwarf-N.
* testsuite/gas/nios2/relax.d: New file.
* testsuite/gas/nios2/relax.s: Likewise.
2021-01-24 H.J. Lu <hongjiu.lu@intel.com>
PR gas/27228
* testsuite/gas/elf/elf.exp: Run pr27228.
* testsuite/gas/elf/pr27228.d: New file.
* testsuite/gas/elf/pr27228.s: Likewise.
ld changes in 2.36.1:
2021-02-04 H.J. Lu <hongjiu.lu@intel.com>
PR ld/15146
* testsuite/ld-plugin/lto.exp: Run PR ld/15146 tests.
* testsuite/ld-plugin/pr15146.d: Restored.
* testsuite/ld-plugin/pr15146a.c: Likewise.
* testsuite/ld-plugin/pr15146b.c: Likewise.
* testsuite/ld-plugin/pr15146c.c: Likewise.
* testsuite/ld-plugin/pr15146d.c: Likewise.
2021-02-04 Alan Modra <amodra@gmail.com>
* testsuite/ld-plugin/pr27311d.c: New test.
* testsuite/ld-plugin/lto.exp: Rename pr27311 to pr27311-1, compile
and link new test as pr27311-2.
2021-02-03 Alan Modra <amodra@gmail.com>
Apply from mainline
2021-02-03 Alan Modra <amodra@gmail.com>
* testsuite/ld-ifunc/ifunc.exp (libpr16467b.so, libpr16467bn.so):
Link with --as-needed.
2021-02-02 Alan Modra <amodra@gmail.com>
* testsuite/ld-plugin/pr27311.d,
* testsuite/ld-plugin/pr27311.ver,
* testsuite/ld-plugin/pr27311a.c,
* testsuite/ld-plugin/pr27311b.c,
* testsuite/ld-plugin/pr27311c.c: New testcase.
* testsuite/ld-plugin/lto.exp: Run it. Correct PR14918 and
PR12982 entries.
2021-01-28 Alan Modra <amodra@gmail.com>
PR 27259
* ldelf.c (ldelf_before_place_orphans): Use linker_mark to
prevent endless looping of linked-to sections.
2021-01-29 Alan Modra <amodra@gmail.com>
* testsuite/ld-tic6x/tic6x.exp: Add pr27271 test.
2021-01-27 Nick Clifton <nickc@redhat.com>
Import from mainline:
2021-01-25 Fangrui Song <maskray@google.com>
PR ld/27230
* scripttempl/DWARF.sc: Add DWARF-5 .debug_* sections.
|
|
Changes in 2.36:
* Update elfedit and readelf with LAM_U48 and LAM_U57 support.
* Nm has a new command line option: --ifunc-chars=CHARS. This specifies a
string of one or two characters. The first character is used as the type
character when displaying global ifunc symbols. The second character, if
present is used when displaying local ifunc symbols.
In addition a new configure time option --enable-f-for-ifunc-symbols has been
created, which if used will change nm's default characters for ifunc symbols
from i (both local and global) to F (global) and f (local).
* The ar tool's previously unused l modifier is now used for specifying
dependencies of a static library. The arguments of this option
(or --record-libdeps long form option) will be stored verbatim in the
__.LIBDEP member of the archive, which the linker may read at link time.
* Readelf can now display the contents of LTO symbol table sections when asked
to do so via the --lto-syms command line option.
* Readelf now accepts the -C command line option to enable the demangling of
symbol names. In addition the --demangle=<style>, --no-demangle,
--recurse-limit and --no-recurse-limit options are also now availale.
* Add support for the SHF_GNU_RETAIN ELF section flag.
This flag specifies that the section should not be garbage collected by the
linker.
gas changes in 2.36:
* Add support for Intel AVX VNNI instructions.
* Add support for Intel HRESET instruction.
* Add support for Intel UINTR instructions.
* Support non-absolute segment values for i386 lcall and ljmp.
* When setting the link order attribute of ELF sections, it is now possible to
use a numeric section index instead of symbol name.
* Add support for Cortex-A78, Cortex-A78AE, Cortex-A78C and Cortex-X1 for
AArch64 and ARM.
Add support for Cortex-R82, Neoverse V1, and Neoverse N2 for ARM.
* Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace
Extension), TRBE (Trace Buffer Extension)and BRBE (Branch Record Buffer
Extension) system registers for AArch64.
* Add support for Armv8-R and Armv8.7-A AArch64.
* Add support for DSB memory nXS barrier, WFET and WFIT instruction for Armv8.7
AArch64.
* Add support for +flagm feature for -march in Armv8.4 AArch64.
* Add support for +ls64 feature for -march in Armv8.7 AArch64. Add atomic
64-byte load/store instructions for this feature.
* Add support for +pauth (Pointer Authentication) feature for -march in
AArch64.
* Add support for Intel TDX instructions.
* Add support for Intel Key Locker instructions.
* Added a .nop directive to generate a single no-op instruction in a target
neutral manner. This instruction does have an effect on DWARF line number
generation, if that is active.
* Removed --reduce-memory-overheads and --hash-size as gas now
uses hash tables that can be expand and shrink automatically.
* Add {disp16} pseudo prefix to x86 assembler.
* Add support for Intel AMX instructions.
* Configure with --enable-x86-used-note by default for Linux/x86.
* Add support for the SHF_GNU_RETAIN flag, which can be applied to
sections using the 'R' flag in the .section directive.
SHF_GNU_RETAIN specifies that the section should not be garbage
collected by the linker. It requires the GNU or FreeBSD ELF OSABIs.
ld changes in 2.36:
* Add libdep plugin, for linking dependencies of static libraries that
were recorded by ar in the __.LIBDEP archive member.
* Add --error-handling-script=<NAME> command line option to allow a helper
script to be invoked when an undefined symbol or a missing library is
encountered. This option can be suppressed via the configure time
switch: --enable-error-handling-script=no.
* Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property.
* Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property.
* Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48
property.
* Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57
property.
* Add -z lam-report=[none|warning|error] to report missing LAM_U48 and
LAM_U57 properties.
* Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark
x86-64-{baseline|v[234]} ISA level as needed.
* Add -z unique-symbol to avoid duplicated local symbol names.
* The creation of PE format DLLs now defaults to using a more secure set of DLL
characteristics.
* The linker now deduplicates the types in .ctf sections. The new
command-line option --ctf-share-types describes how to do this:
its default value, share-unconflicted, produces the most compact
output.
* The linker now omits the "variable section" from .ctf sections by
default, saving space. This is almost certainly what you want
unless you are working on a project that has its own analogue
of symbol tables that are not reflected in the ELF symtabs.
* Add support for the SHF_GNU_RETAIN ELF section flag.
This flag specifies that the section should not be garbage collected by the
linker.
|
|
From upstream commit log:
PR26574, heap buffer overflow in _bfd_elf_slurp_secondary_reloc_section
A horribly fuzzed object with section headers inside the ELF header.
Disallow that, and crazy reloc sizes.
PR 26574
* elfcode.h (elf_object_p): Sanity check section header offset.
* elf.c (_bfd_elf_slurp_secondary_reloc_section): Sanity check
sh_entsize.
|
|
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
|
|
|
|
Built a package with and without the patch on NetBSD and couldn't notice
any difference. Package also builds without issue on Linux and OpenBSD.
|
|
Issue has been resolved upstream in binutils 2.26, more details can be
found here: https://sourceware.org/bugzilla/show_bug.cgi?id=15574
|
|
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.
|
|
Bitrig has been officially discontinued.
OK kamil@
|
|
The binutils project released the binutils-2.34 tarball without pre-generated
documentation included due to a bug in their Makefiles. This was fixed in the
source code 2 months ago, but they still have not issued a new tarball since
then, either via a new release or a snapshot.
Building the documentation ourselves is untenable, as it would require pulling
in perl and gtexinfo which would create major circular dependency headaches.
So we're left with no option but to remove the documentation completely until
there is a new release. Note that until now we've actually been shipping
empty files, as we were ignoring perl errors that were trying to create the
docs.
While here tidy up a few things. Bump PKGREVISION.
|
|
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 <main+0xd2>
d2: | | | 31 c0 xor %eax,%eax
d4: | | | /-- e8 00 00 00 00 callq d9 <main+0xd9>
d9: | | | \-> bf 02 00 00 00 mov $0x2,%edi
de: | +-----------|----- e8 00 00 00 00 callq e3 <main+0xe3>
e3: | \-----------|----> 48 89 da mov %rbx,%rdx
e6: | | be 00 00 00 00 mov $0x0,%esi
eb: | \----- eb de jmp cb <main+0xcb>
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[=<txt>] option to objdump which if present,
provides a prefix to source code lines displayed in a disassembly.
* Add --set-section-alignment <section-name>=<align> 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.
|
|
* Remove merged patches
Changelog:
gas:
* Add a configure option --enable-x86-relax-relocations to decide whether
x86 assembler should generate relax relocations by default. Default to
yes, except for x86 Solaris targets older than Solaris 12.
* New command line option -mrelax-relocations= for x86 target to control
whether to generate relax relocations.
|
|
|
|
Changelog:
Changes in 2.26:
* Add option to objcopy to insert new symbols into a file:
--add-symbol <name>=[<section>:]<value>[,<flags>]
* 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.
|
|
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
|
|
|
|
This is a bugfix release that primarily fixes out of bounds memory writes
in libbfd when inspecting malicious binaries.
|
|
Patches filed upstream as binutils/18920
Reviewed by wiz@
|
|
patch-gold_stringpool.cc
|
|
Changelog:
Not available?
As far as I know:
* Add Andes NDS32 architecture support.
* Improve Solaris support.
|
|
ARM due to lack of long long support.
|
|
|
|
The gold linker is overly pedantic for dynamic references to symbols
with hidden visibility. It will spew error messages about weak symbols
in libc.so that ld.bfd does not complain about. Until the bug is resolved
disable the hidden symbol warnings. These warning also cause > 200
false failures in the gcc gnat.dg testsuite.
https://sourceware.org/bugzilla/show_bug.cgi?id=15574
This patch will keep the internal symbol warnings but suppress those
regaring symbols with hidden visibility because they aren't considered
errors by the bfd linker.
|
|
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.
|
|
Bump PKGREVISION.
|
|
The gold linker isn't a default option on binutils. Change the Makefile
to make gold build on recent *BSD. Tested on NetBSD 6.1.4 and OpenBSD 5.5.
Gold is known to build on FreeBSD although FreeBSD 10 may need additional
patches. Gold is part of the system binutils on DragonFly.
|
|
|
|
|
|
binutils:
Changes in 2.24:
* Objcopy now supports wildcard characters in command line options that take
section names.
* Add support for Altera Nios II.
gas:
Changes in 2.24:
* Add support for the Texas Instruments MSP430X processor.
* Add -gdwarf-sections command line option to enable per-code-section
generation of DWARF .debug_line sections.
* Add support for Altera Nios II.
* Add support for the Imagination Technologies Meta processor.
* Add support for the v850e3v5.
* Remove assembler support for MIPS ECOFF targets.
ld:
Changes in 2.24:
* Add LOG2CEIL() builtin function to the linker script language
* Add support for the Texas Instruments MSP430X processor.
* Add support for Altera Nios II.
* Add support for the V850E3V5 architecture.
* Add support for the Imagination Technologies Meta processor.
* --enable-new-dtags no longer generates old dtags in addition to new dtags.
* Remove linker support for MIPS ECOFF targets.
* Add ALIGN_WITH_INPUT to the linker script language to force the alignment of
an output section to use the maximum alignment of all its input sections.
|
|
http://lists.gnu.org/archive/html/info-gnu/2013-03/msg00020.html
(previous version 2.22 announce is here):1
http://lists.gnu.org/archive/html/info-gnu/2011-11/msg00008.html
From the ChangeLog enties:
-----------
2012-08-26 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/4970
* Makefile.def (host_modules): Rmove lib_path=.libs from bfd
and opcodes.
* Makefile.in: Regenerated.
2012-06-28 Christophe Lyon <christophe.lyon@st.com>
* configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Make sure
they contain -O2.
* configure: Regenerate.
2012-05-14 Catherine Moore <clm@codesourcery.com>
* NEWS: Mention PowerPC VLE port.
2012-05-11 Mike Frysinger <vapier@gentoo.org>
* MAINTAINERS (config/): Move to intl/ section.
(compile; depcomp; install-sh; missing; ylwrap): Likewise.
2012-05-09 Nick Clifton <nickc@redhat.com>
Paul Smith <psmith@gnu.org>
PR bootstrap/50461
* configure.ac (mpfr-dir): When using in-tree MPFR sources
allow for the fact that from release v3.1.0 of MPFR the source
files were moved into a src sub-directory.
* configure: Regenerate.
2012-05-02 Roland McGrath <mcgrathr@google.com>
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
* configure: Regenerate.
2012-04-25 Joel Brobecker <brobecker@adacore.com>
* config.sub: Update to 2012-04-18 version from official repo.
2012-03-19 Tristan Gingold <gingold@adacore.com>
* configure.ac (ia64*-*-*vms*): Add support for ld.
* configure: Regenerate.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (enable_libgomp): Remove *-*-irix6*.
(unsupported_languages): Remove mips-sgi-irix6.*.
(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
(with_stabs): Remove.
* configure: Regenerate.
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (enable_libgomp): Remove *-*-osf*.
(with_stabs): Remove alpha*-*-osf*.
* configure: Regenerate.
2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.NEWLIB: Modify DJ Delorie license to include
modification rights in clause as permitted by DJ Delorie.
* COPYING.LIBGLOSS: Ditto.
2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.NEWLIB: Remove two unused licenses.
2012-03-05 Tristan Gingold <gingold@adacore.com>
* configure.ac: Enable gdb and readline for ia64*-*-*vms*.
* configure: Regenerate.
2012-02-21 Joern Rennecke <joern.rennecke@embecosm.com>
* COPYING.NEWLIB: Add Adapteva notice.
* COPYING.LIBGLOSS: Add Adapteva notice.
2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
* configure: Regenerate.
2011-12-15 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.LIBGLOSS: Add GPL with exception license.
|
|
Changes since binutils-2.17 are too numerous to mention, see the various
NEWS files for details.
Tested on NetBSD 6.0_BETA2 and SmartOS.
|
|
Set LICENSE. Fix a pkglint warning.
|
|
read.c:1426: warning: 'stopc' may be used uninitialized in this function
|
|
List of changes unknown. Should fix CVE-2006-2362.
|
|
|
|
Changes in binutils:
* Binutils-2.16 will be the last release for a number of targets due to
lack of maintenance (of course, if maintainers step up, then this list
will change!). The targets are:
a29k-*-*
d10v-*-*
d30v-*-*
dlx-*-*
h8300-*-coff
h8300-*-rtems*
h8500-*-coff
h8500-*-rtems*
i370-*-*
i960-*-*
i960-*-bout
i960-*-coff
i960-*-nindy*
i960-*-rtems*
i960-*-vxworks*
i960-*-vxworks5.*
i960-*-vxworks5.0
m68k-*-coff
m68k-*-hpux*
m68k-*-linux*aout*
m68k-*-rtemscoff*
m68k-*-sunos*
m68k-*-sysv*
m68k-*-vxworks*
m68k-apollo-*
m68k-apple-aux*
m68k-bull-sysv3*
m68k-ericsson-ose
m68k-motorola-sysv*
m88k-*-* (*)
mn10200-*-*
openrisc-*-*
or32-*-*
or32-*-coff
pj*-*-*
sh-*-coff*
sh-*-rtemscoff*
tic80-*-*
vax-*-bsd* (*)
vax-*-netbsd* excluding vax-*-netbsdelf (*)
vax-*-ultrix* (*)
w65-*-*
xscale-*-coff
*-*-linux*aout*
*-*-linux*oldld
(*) bfd and opcodes support will be kept.
* Add "-g/--section-groups" to readelf to display section groups.
* objcopy recognizes two new options --strip-unneeded-symbol and
--strip-unneeded-symbols, namely for use together with the wildcard
matching the original --strip-symbol/--strip-symbols provided, but
retaining any symbols matching but needed by relocations.
* readelf can now display address ranges from .debug_range sections. This
happens automatically when a DW_AT_range attribute is encountered. The
command line switch --debug-dump=Ranges (or -wR) can also be used to display
the contents of the .debug_range section.
* nm and objdump now have a switch "--special-syms" to enable the displaying of
symbols which the target considers to be special. By default these symbols
are no longer displayed. Currently the only special symbols are the Mapping
symbols used by the ARM port to mark transitions between text and data and
between ARM and THUMB code.
* dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
import and export symbols with <preifx> prepended to them.
Changes in gas:
* Redefinition of macros now results in an error.
* New command line option -mhint.b=[ok|warning|error] for IA64 targets.
* New command line option -munwind-check=[warning|error] for IA64
targets.
* The IA64 port now uses automatic dependency violation removal as its default
mode.
* Port to MAXQ processor contributed by HCL Tech.
* Added support for generating unwind tables for ARM ELF targets.
* Add a -g command line option to generate debug information in the target's
preferred debug format.
* Support for the crx-elf target added.
* Support for the sh-symbianelf target added.
* Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations
on pe[i]-i386; required for this target's DWARF 2 support.
* Support for Motorola MCF521x/5249/547x/548x added.
* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
instrucitons.
* New command line option -mno-shared for MIPS ELF targets.
* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro
added to enter (and leave) alternate macro syntax mode.
Changes in ld:
* Support for the R_ARM_V4BX relocation as defined in the ARM AAELF
specification has been added via the --fix-v4bx command-line option.
* New linker script construct AS_NEEDED(), which sets the --as-needed flag
for input files listed inside of it.
* A new command-line option, --sysroot, can be used to override the
default sysroot location. It only applies to toolchains that were
configured using --with-sysroot.
* New linker script functions: ORIGIN() and LENGTH() which return information
about a specified memory region.
* Port to MAXQ processor contributed by HCL Tech.
* Added SEGMENT_START to the linker script language to permit the user to
override the base address for a segment from the command-line.
* ELF: --warn-shared-textrel option to warn if adding a DT_TEXTREL to a shared
object.
* Added SORT_BY_NAME and SORT_BY_ALIGNMENT to the linker script
language to permit sorting sections by section name or section
maximum alignment.
* Added a new linker command line switch, --sort-section name|alignment,
to sort sections by section name or maximum alignment.
* ELF: --add-needed/--no-add-needed options to control if a DT_NEEDED tag
should be added when a shared library comes from DT_NEEDED tags.
* Support for the crx-elf target added.
* Support for the sh-symbianelf target added.
* A new linker command line switch has been added which allows the hash table
size to be set to a suitable prime value near to its argument. This switch
is --hash-size=<NUMBER>. Also if the switch --reduce-memory-overheads is
used, and --hash-size has not been used, then the default value will be set
to 1021.
* Linker map files are now generated with an O(N) algorithm for finding symbols
that are defined in each section. This uses about 40% more memory for
symbols than the old O(N^2) algorithm. You can use the new
--reduce-memory-overheads option to select the old algorithm; this option
might also be used in the future to select similar tradeoffs.
|
|
|
|
|
|
bumps to correctly sort before "2.14.1", and "2.14.1.1", and so on.)
Follows is a list of additions to the "NEWS" files since 2.13. The "NEWS"
files were apparently not updated for "2.13.2.1" however, so all of this
is not really new. The "--with-sysroot" and "--with-lib-path" configure
options for "ld" are truly new, though, and the package now takes advantage
of "--with-lib-path" to prevent picking up crud from "${PREFIX}/lib", to
better support using this "ld" with which to build pkgsrc packages.
----- binutils/binutils/NEWS -----
* Added --info switch to objcopy and strip.
* Support for Vitesse IQ2000 added by Red Hat.
* Added 'S' encoding to strings to allow the display of 8-bit characters.
* Added --prefix-symbols=<text>, --prefix-sections=<text> and
--prefix-alloc-sections=<text> to objcopy.
* readelf can handle the extensions to the DWARF2 spec used by the Unified
Parallel C compiler.
* BFD no longer declares a "boolean" type, to avoid clashes with other
headers that declare the same. Users of BFD should replace boolean,
false and true, with int, 0 and 1, or define their own boolean type.
* Support for IP2K added by Denis Chertykov.
----- binutils/gas/NEWS -----
* Added support for MIPS32 Release 2.
* Added support for Xtensa architecture.
* Support for Intel's iWMMXt processor (an ARM variant) added.
* An assembler test generator has been contributed and an example file that
uses it (gas/testsuite/gas/all/test-gen.c and test-exmaple.c).
* Support for SH2E added.
* GASP has now been removed.
* Support for Texas Instruments TMS320C4x and TMS320C3x series of
DSP's contributed by Michael Hayes and Svein E. Seldal.
* Support for the Ubicom IP2xxx microcontroller added.
----- binutils/ld/NEWS -----
* Added support for Xtensa architecture.
* Added --with-sysroot configure switch to specify a target system root, for
linking against a target filesystem image.
* Added --accept-unknown-linker-format to restore old linker behaviour (pre
2.14) of silently accepting and linking in any files in an unknown binary
file format.
* Added --no-omagic to undo the effects of the -N option.
* Support for Texas Instruments TMS320C4x and TMS320C3x series of
DSP's contributed by Michael Hayes and Svein E. Seldal.
* Added --with-lib-path configure switch to specify default value for
LIB_PATH.
* ARM port to QNX operating system added by Graeme Peterson.
* IP2K support added by Denis Chertykov.
|
|
argument of "--encoding", to help it to look for wide strings; plus
a few other obscure additions. Most importantly, "gas" now generates
correct code when used with gcc-3.x at high optimization levels.
(See gcc bugzilla: optimization/10877.)
|
|
from the NetBSD base system included (until 2002-04-18).
|