[PATCH][BINUTILS][AARCH64] Add support for pointer authentication B key

Nick Clifton nickc@redhat.com
Fri Nov 9 16:31:00 GMT 2018


Hi Sam,

>>> The DWARF extensions for ARM therefore

>> Are these extensions documented somewhere ?

> There is no public documentation for this approach as it was agreed upon 
> internally with those implementing support in LLVM. I have documented 
> this in gas/doc/c-aarch64.texi, would you like me to refer to that 
> section from the relevant source code?

No.  I was just hoping that there would be a pdf accessible on the web
somewhere that contained a description of the exntensions to the CFI
encoding used by AArch64.  In the past ARM have been very good about
creating such documents... :-)

[Ah - just read Ramana's email, so it looks like this point is now covered.
Please could the Dwarf supplement be referenced in a comment in the revised
patch set ?]


>> Did you also test on an non AArch64 configuration, just to be sure,  eg x86_64-pc-linux-gnu ?
> 
> I haven't actually, but will do so and report back. Would just this 
> other configuration suffice?

Yes.  I am not actually expecting any problems.  But testing the
most popular non-ARM target configuration would be a good idea.


> Adding a definition of the encoding character to a header could perhaps 
> coincide with your suggestions below, in that I could add a macro called 
> "tc_is_valid_aug_char" which the target defines. That would mean we 
> could avoid having such an encoding definition in a target-agnostic 
> file. Let me know what you think.

The tc_xxx terminology is only used inside gas, whereas we want these characters
to be processed in lots of different places, (gas, libbfd, readelf, etc).  So I
think that you might need to put the encoding characters into a more generic
header file like include/elf/common.h or maybe include/elf/cfi.h.

Cheers
  Nick




More information about the Binutils mailing list