Re: [PATCH] lib/test_string.c: Add test for strlen()
From: Kees Cook
Date: Thu Feb 03 2022 - 12:20:54 EST
On Thu, Feb 03, 2022 at 09:04:22AM +0100, Geert Uytterhoeven wrote:
> Not if -ffreestanding, which is what several architectures are
> using nowadays, to a.o. prevent gcc from replacing calls to stdlib
> functions to other stdlib functions (e.g. strncat() -> strlen() +
> store, strncmp() -> strcmp()), which breaks linking if the latter is
> only provided inline.
Hah, for i386:
arch/x86/Makefile
# temporary until string.h is fixed
KBUILD_CFLAGS += -ffreestanding
This "temporary" is from 2006. ;)
6edfba1b33c7 ("[PATCH] x86_64: Don't define string functions to builtin")
Removing that appears to solve it, and appears to build correctly. I'll
continue testing.
> It works after dropping -ffreestanding.
I wonder if the other architectures were just copying x86?
--
Kees Cook