RFC: GCC plugin to find encrypted function pointer calls in glibc
Aldy Hernandez
aldyh@redhat.com
Tue May 3 07:02:00 GMT 2016
On 05/02/2016 06:36 PM, Roland McGrath wrote:
> The only reason we have asm in those macros is because it's optimal.
> The best thing would be if we could express the bit swizzling in C in
> a fashion that (new enough) GCC could be relied upon to implement with
> the same optimal instruction sequence.
If y'all can do it with C, be it with builtins or whatever, if there's a
common pattern, I can probably get the plugin to notice it. Right now,
the only thing it notices is the result of an xor, bitwise or, or
bitwise and (plus the proposed attribute).
> Using an inline with __attribute__ ((always_inline, aldys_new_magic))
> should be acceptable in libc-internal sources. But it would be better
> if you have us ways to do it with less magic rather than more.
How can I say no to "aldys_new_magic attribute"? I love it! :).
If anyone has any other suggestions, I'm all ears. As I mentioned
before, the only thing else I can think of is:
asm("your stuff #some_magic_attribute#")
Assuming there's a common way to make comments across the assemblers you
support.
Aldy
More information about the Libc-alpha
mailing list