https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105311
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jsm28 at gcc dot gnu.org Keywords| |documentation --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- All memcpy, memmove and memset are eventually emitted for aggregate copying and initialization. Targets may choose to force inline them but there is indeed no libgcc fallback with -ffreestanding. Our -ffreestanding documentation ought to reflect this I guess. Joseph, do you know of other library routines GCC requires but does not provide even with -ffreestanding? There might or might not be a subset of the C standard library that is supposed to be available in a freestanding implementation - like good parts of the math runtime, and GCC likely doesn't diagnose usage with -ffreestanding but assumes the user provides the necessary implementations via custom libraries.