[RFC] Using function clones for Pointer Bounds Checker
Jeff Law
law@redhat.com
Tue May 13 19:21:00 GMT 2014
On 05/13/14 02:38, Ilya Enkovich wrote:
>>> propagate constant bounds value and remove checks in called function).
>>
>> So from a linking standpoint, presumably you have to mangle the instrumented
>> caller/callee in some manner. Right? Or are you dynamically dispatching
>> somehow?
>
> Originally the idea was o have instrumented clone to have the same
> assembler name as the original function. Since instrumented code is
> fully compatible with not instrumented code, we always emit only one
> version. Usage of the same assembler name allows instrumented and not
> instrumented calls to look similar in assembler. It worked fine until
> I tried it with LTO where assembler name is used as a unique
> identifier. With linker resolutions files it became even more harder
> to use such approach. To resolve these issues I started to use new
> assembler name with postfix, but linked with the original name using
> IDENTIFIER_TRANSPARENT_ALIAS. It gives different assembler names for
> clones and originals during compilation, but both clone and original
> functions have similar name in output assembler.
OK. So if I read that correctly, it implies that the existence of
bounds information does not change the signature of the callee. This
is obviously important for C++.
Sounds like I need to sit down with the branch and see how this works in
the new scheme.
jeff
More information about the Gcc-patches
mailing list