This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFH: Annotating ELF binaries


On Fri, Nov 04, 2016 at 03:02:22PM +0000, Nick Clifton wrote:
> Hello Everyone,
> 
>   We (the tools team at Red Hat) are working on a project to add
>   annotations to ELF binaries, so that we can answer various questions
>   about them.  We have set up a wiki page about the project here:
> 
> https://fedoraproject.org/wiki/Toolchain/Watermark#Markup_for_ELF_objects
> 
>   We would very much like this to be something more than just an
>   internal project, and so we are reaching out to you for your opinions,
>   suggestions and advice.  If you are interested in being able answer
>   questions such as 'how was this function compiled ?' or 'is this
>   library compatible with this application ?' then please take a minute
>   to have a look at the proposal.

My only comment would be - don't assume that GCC (and LLVM) are
the only things which generate objects.  Amongst others there are:

 - ocamlopt
 - GHC
 - golang (or is it using LLVM?)
 - raw assembler files
 - scripts that use objcopy and other techniques to turn data into object files

I don't mean to say it's your responsibility to fix all these things,
but good, clear documentation about exactly what to change is needed.
This was missing at first when the execstack stuff was added years ago.

Also the hardening stuff often doesn't apply in safe languages, so the
tools you build around this shouldn't automatically assume
no hardening == bad; or that 'long double' or 'wchar_t' are meaningful.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]