./devel/binutils, GNU binary utilities

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.34nb2, Package name: binutils-2.34nb2, Maintainer: pkgsrc-users

The GNU binutils package contains essential tools to assemble, link and
manipulate binary and object files. They are often used with a compiler
and additional libraries for building software.

It includes the GNU linker, the portable GNU assembler, ar for modifying
archives (such as libraries), nm for listing symbols from object files,
objdump for displaying object file information, ranlib for generating
archive indexes, size for listing section sizes of object files,
strings for outputing the printable characters in files, strip for
stripping out symbols (like debugging information) from object files,
and other tools.


Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

SHA1: 361566c9ab5e90bd847d06f46fb9f18ec6c3ecf0
RMD160: e99f517407503cec1042a2e824b7c1f8f0fca4b8
Filesize: 31670.381 KB

Version history: (Expand)


CVS history: (Expand)


   2020-05-13 05:32:38 by Roland Illig | Files touched by this commit (1)
Log message:
devel/binutils: suppress USE_TOOLS+=perl warning
   2020-05-05 12:06:10 by Jonathan Perkin | Files touched by this commit (7) | Package updated
Log message:
binutils: Handle broken 2.34 release without docs.

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.
   2020-05-03 15:02:18 by Roland Illig | Files touched by this commit (1)
Log message:
devel/binutils: suppress USE_TOOLS+=perl warning
   2020-03-10 20:01:31 by Jason Bacon | Files touched by this commit (2) | Package updated
Log message:
devel/binutils: Unbreak build on Linux

Currently libctf builds but does not install on Linux.
The Linux implementation of libctf is very new, so we disable it in pkgsrc
for now pending future updates and thorough testing.
   2020-02-05 07:18:34 by Roland Illig | Files touched by this commit (12) | Package updated
Log message:
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 <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.
   2019-11-03 11:39:32 by Roland Illig | Files touched by this commit (274)
Log message:
devel: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
   2019-07-25 21:06:28 by Tobias Nygren | Files touched by this commit (1)
Log message:
binutils: whitespace
   2018-05-28 16:15:38 by Jason Bacon | Files touched by this commit (1)
Log message:
devel/binutils: Fix hard-coded libpath for RHEL

RHEL/CentOS place standard libraries in /lib64 and /usr/lib64.
The binutils Makefile had a hard-coded --libpath=/lib:/usr/lib.
This patch prepends the lib64 directories if they exist.

OK wiz@