Page MenuHomeFreeBSD

objcopy: restore behaviour required by GCC's build (full change from HEAD
Needs ReviewPublic

Authored by emaste on Oct 17 2018, 1:36 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

In rS339350 (D17519) filter_reloc() was removed, to fix the case of stripping statically linked binaries with relocations (which may come from ifunc use, for example). As a side effect this changed the behaviour when stripping object files - the output was broken both before and after rS339350 in different ways. Unfortunately GCC's build process relies on the previous behaviour, so:

  • Revert rS339350, restoring filter_reloc().
  • Fix an unitialized variable use (commited as r3638 in ELF Tool Chain).
  • Change filter_reloc() to omit relocations referencing removed symbols, while retaining relocations with no symbol reference.

Note that D17596 contains just the final change of this list (which should be easier to review), while this review represents all three changes relative to FreeBSD-HEAD.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped