Is there a way to use __builtin___memcpy_chk() for compiler-generated memcpy calls?
Florian Weimer
fweimer@redhat.com
Tue Jan 16 11:02:07 GMT 2024
* John via Gcc-help Dallman:
> Hi, folks,
>
> I'm trying to eliminate calls to classic string functions (strcpy,
> strcat, etc.) and memcpy from a shared library, built from C and C++
> code with GCC 11.2. With -D_FORTIFY=2 and a bit of work with macros,
> I've eliminated all of them from the source, but I still have calls to
> memcpy from the object files. My suspected causes of these are:
>
> a) Struct copying, with memcpy calls inserted by the compiler.
GCC will also optimize __memcpy_chk calls to memcpy if it knows that the
bounds cannot be wrong. With struct copies, such a mismatch can only
happen if the types are wrong, and that's currently out of scope for
source fortification.
Thanks,
Florian
More information about the Gcc-help
mailing list