[1.7] Updated: binutils-2.19.51-1

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sun Jul 5 01:15:00 GMT 2009

I've made a new version of binutils available for installation.  This is
a much-needed, much-delayed refresh against the current CVS.  It should
work better with gcc-4.

The list of changes is included after the unsubscribe info.  This is a
list of changes from three binutils NEWS files.  Some entries may not be
pertinent to Cygwin.


If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there.  It will be in the format:


If you need more information on unsubscribing, start reading here:


Please read *all* of the information on unsubscribing that is available
starting at the above URL.

				* * * *

*** binutils changes:

* Readelf can now display the relocated contents of a section as a sequence
  of bytes via the --relocated-dump=<name|number> command line option.

* The gprof program has been given a new command line option:
  --external-symbols-table=<filename> which reads in symbols from a specified

* The plugin target has been added to bfd. It can load the same shared objects
  used by gold and uses them to provide basic support for new file formats.

* The verilog memory hex dump file format is now supported as an output format
  for objcopy.

* Add --file-alignment, --heap, --image-base, --section-alignment,
  --stack and --subsystem command line options to objcopy, which will
  set PE optional header.

* Option --dwarf/-W of objdump is now as flexible as readelf --debug-dump/-w.

* --as-needed now links in a dynamic library if it satisfies undefined
  symbols in regular objects, or in other dynamic libraries.  In the
  latter case the library is not linked if it is found in a DT_NEEDED
  entry of one of the libraries already linked.

* Added --prefix=PREFIX and --prefix-strip=LEVEL switches to objdump to
  add absolute paths for -S.

* Add new option --use-nul-prefixed-import-tables to dlltool to allow fall-
  back to old import table generation with null element prefix.

* Added --identify-strict switch to cause --identify <implib> to 
  report an error when the import library is associated with
  multiple DLLs.

* Added --identify <implib> option to dlltool, which determines the
  name of the DLL associated with the specified <implib>.

* Support for PowerPC booke64 instructions has been removed.  The assembler no
  longer accepts -mbooke32 or -mbooke64 and the disassembler no longer accepts
  -Mbooke32 or -Mbooke64.  Instead, -mbooke and -Mbooke should be used.

Changes in 2.19:

* Added -wL switch to dump decoded contents of .debug_line.

* Added support for "thin" archives which contain pathnames pointing to

*** gas changes:

* Add support for common symbol alignment to PE formats.

* Add support for the new discriminator column in the DWARF line table,
  with a discriminator operand for the .loc directive.

* Add support for Sunplus score architecture.

* The .type pseudo-op now accepts a type of STT_GNU_IFUNC which can be used to
  indicate that if the symbol is the target of a relocation, its value should
  not be use.  Instead the function should be invoked and its result used as
  the value.
* Add support for Lattice Mico32 (lm32) architecture.

Changes in 2.19:

* New pseudo op .cfi_val_encoded_addr, to record constant addresses in unwind
  tables without runtime relocation.

* New command line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which
  adds compatibility with H'00 style hex constants.

*** ld changes:

* PE targets now support a GNU extension to allow the alignment of common
  common symbols to be specified.  This support uses custom options in
  the .drectve section, which will be disregarded by the native tools.

* PE targets now add primitive support for ELF version scripts; symbols
  are not versioned, but the local and global symbol visibility directives
  are respected when filtering symbols in auto-export mode.

* New option --no-export-dynamic to undo the effect of the -E and
  --export-dynamic options.

* ELF: --warn-alternate-em option to warn if an object has alternate
  ELF machine code.

* New script function REGION_ALIAS to add alias names to memory regions.

* PE targets no longer make use of the long section names PE extension to
  the COFF format when generating executable images, by default.  The old
  (slightly non-conformant) behaviour can still be invoked by using the
  new '--enable-long-section-names' command-line option.  It is also enabled
  automatically in the presence of un-stripped debug information, as GDB
  needs to be able to find the debug info sections by their full names.

* For GNU/Linux systems the linker will now avoid processing any relocations
  made against symbols of the STT_GNU_IFUNC type and instead emit them into
  the resulting binary for processing by the loader.

* --as-needed now links in a dynamic library if it satisfies undefined
  symbols in regular objects, or in other dynamic libraries.  In the
  latter case the library is not linked if it is found in a DT_NEEDED
  entry of one of the libraries already linked.

* Add a new command line option, -Ttext-segment ADDR, for ELF targets
  to set the address of the first byte of the text segment.

* Add support for Sunplus score architecture.

* Add new option --use-nul-prefixed-import-tables to ld for PE targets to
  allow fallback to old import table generation with null element prefix.

* Windows PE systems now support a new --exclude-modules-for-implib option,
  allowing users to partition object files and archive members between a DLL
  and its associated import library as they are generated during linking.

* Add support for Lattice Mico32 (lm32) architecture.

* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries 
  for Embedded-PIC code) option.

* Add to the PE/PE+ targets the support of two different kinds of
  pseudo-relocations.  They can be selected by the switches
  --enable-runtime-pseudo-reloc-v1 and --enable-runtime-pseudo-reloc-v2.
  For the switch --enable-runtime-pseudo-reloc it uses for 32-bit
  runtime pseudo relocation version one, for 64-bit the version two.

Changes in 2.19:

* Linker scripts support a new INSERT command that makes it easier to
  augment the default script.

More information about the Cygwin-announce mailing list