bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/23817] strip and ld -r corrupt SHT_LLVM_ADDRSIG section (f


From: amodra at gmail dot com
Subject: [Bug binutils/23817] strip and ld -r corrupt SHT_LLVM_ADDRSIG section (files built with clang-7)
Date: Thu, 25 Oct 2018 00:37:57 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=23817

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at gmail dot com
            Summary|strip corrupts              |strip and ld -r corrupt
                   |SHT_LLVM_ADDRSIG section    |SHT_LLVM_ADDRSIG section
                   |(files built with clang-7)  |(files built with clang-7)
           Severity|normal                      |enhancement

--- Comment #1 from Alan Modra <amodra at gmail dot com> ---
Storing symbol indices in .llvm_addrsig means that any tool that modifies the
symbol table must update .llvm_addrsig.

It's not just strip/objcopy but also ld -r, where .llvm_addrsig contents
currently will become invalid without any warning to the user.

In my opinion, .llvm_addrsig is a poor design.  Peter Collingbourne received
multiple objections to the idea when it was proposed on the generic ABI list,
but he went ahead anyway. (Well, maybe the code was accepted into llvm during
the discussion.)  He was even told how to implement the functionality
correctly, by a toolchain expert.  Quoting Cary: "A much simpler (and
zero-cost, from an object file size point of view) solution would be to add
FPTR relocations to the psABI, and use those for any references that would
impose the address significance constraint."
https://groups.google.com/d/msg/generic-abi/MPr8TVtnVn4/g5yBRRB5AAAJ
H.J. Lu also agreed that new relocations could be added.

So I'd say there is zero chance of SHT_LLVM_ADDRSIG being blessed by the
generic ABI group, and also little chance that any of the binutils maintainers
will treat this as a bug that needs fixing.  (A proper fix is non-trivial, but
if anyone wants to implement support for SHT_LLVM_ADDRSIG look at how SHT_GROUP
signature symbols are handled.)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]