• Adrian Bunk's avatar
    [PATCH] compile with -ffreestanding · d6326c18
    Adrian Bunk authored
    For the kernel, it would be logical to use -ffreestanding.  The kernel is
    not a hosted environment with a standard C library.
    
    The gcc option -ffreestanding is supported by both gcc 2.95 and 3.4, which
    covers the whole range of currently supported compilers.
    
    Regarding changes caused by this patch:
    
    Andi Kleen reported:
      Newer gcc rewrites sprintf(buf,"%s",str) to strcpy(buf,str) transparently.
    
    This is only true with unit-at-a-time (disabled on i386 but enabled on
    x86_64).  The Linux kernel doesn't offer a standard C library, and such
    transparent replacements of kernel functions with builtins are quite
    fragile.
    
    Even with -ffreestanding, it's still possilble to explicitely use a gcc
    builtin if desired.
    Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    d6326c18
Makefile 42.4 KB