Optimising away memset() calls?
Andrew Haley
aph@redhat.com
Fri Oct 10 09:20:00 GMT 2014
On 09/10/14 21:52, Ãngel González wrote:
> The compiler would need to know that memset_s is special (either
> intrinsically or thorugh eg. function attributes). Either way, IMHO
> an advanced knowledge allowing to optimize it out would be a
> violation of K.3.7.4.1.
It would be a perverse thing to do and goes against intent, but we
again fall into the problem of defining an access. But this is
irrelevant anyway: even if a key is stored in an array X in the source
code and the array X is later wiped with memset_s(), there is
absolutely nothing to force the compiler to use X during the
computation: it may well store the key somewhere else altogether. So,
all we can have here is a best effort. Anyone who wants to be sure
that the key is wiped is going to have to do something machine-
dependent.
Andrew.
More information about the Gcc-help
mailing list