Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

binutils: 2.27 -> 2.28 #23591

Merged
merged 1 commit into from Mar 9, 2017
Merged

binutils: 2.27 -> 2.28 #23591

merged 1 commit into from Mar 9, 2017

Conversation

lsix
Copy link
Member

@lsix lsix commented Mar 7, 2017

See http://lists.gnu.org/archive/html/info-gnu/2017-03/msg00002.html
for release announcement

Motivation for this change
Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@lsix, thanks for your PR! By analyzing the history of the files in this pull request, we identified @edolstra, @vcunat and @globin to be potential reviewers.

@vcunat
Copy link
Member

vcunat commented Mar 7, 2017

I see no sum-up of news anywhere, which is sad for such core stuff :-/

@lsix
Copy link
Member Author

lsix commented Mar 7, 2017

Here is what I could find (from here):


Changes in 2.28:

* 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.

* 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.28:

* The EXCLUDE_FILE linker script construct can now be applied outside of the
  section list in order for the exclusions to apply over all input sections in
  the list.

* Add support for the RISC-V architecture.

* The command line option --no-eh-frame-hdr can now be used in ELF based
  linkers to disable the automatic generation of .eh_frame_hdr sections.

* Add --in-implib=<infile> to the ARM linker to enable specifying a set of
  Secure Gateway veneers that must exist in the output import library specified
  by --out-implib=<outfile> and the address they must have.  As such,
  --in-implib is only supported in combination with --cmse-implib.

* Extended the --out-implib=<file> option, previously restricted to x86 PE
  targets, to any ELF based target.  This allows the generation of an import
  library for an ELF executable, which can then be used by another application
  to link against the executable.
Changes in 2.28:

* Add support for the RISC-V architecture.

* Add support for the ARM Cortex-M23 and Cortex-M33 processors.

@Mic92
Copy link
Member

Mic92 commented Mar 9, 2017

This looks useful:

* 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.

Nix, the package manager, already comes with file, I saw recently.

@vcunat
Copy link
Member

vcunat commented Mar 9, 2017

Yeah, I saw that but I thought we already did use that one. Maybe binutils didn't fully support it until now, or my memory failed.

vcunat added a commit to vcunat/nixpkgs that referenced this pull request Mar 9, 2017
@vcunat vcunat self-assigned this Mar 9, 2017
@vcunat vcunat merged commit ecd849b into NixOS:staging Mar 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants