[coreboot] [PATCH] libgcc regparm workaround

Segher Boessenkool segher at kernel.crashing.org
Sat Sep 26 12:08:27 CEST 2009


> programs that are compiled with non-default regparm values are
> miscompiled if they use libgcc.
> This patch works around the problem for coreboot.

Please mention the GCC bugreport # in the source near every workaround;
that way, you can one day get rid of it.  This is PR41055.

>  makerule coreboot_ram.o
>  	depends	"src/arch/$(CONFIG_ARCH)/lib/c_start.o $(DRIVER)  
> coreboot.a $(LIBGCC_FILE_NAME)"
> -	action	"$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ src/arch/$ 
> (CONFIG_ARCH)/lib/c_start.o $(DRIVER) -Wl,-\( coreboot.a $ 
> (LIBGCC_FILE_NAME) -Wl,-\)"
> +	action	"$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ src/arch/$ 
> (CONFIG_ARCH)/lib/c_start.o $(DRIVER) -Wl,--wrap,__divdi3 -Wl,-- 
> wrap,__udivdi3 -Wl,--wrap,__moddi3 -Wl,--wrap,__umoddi3 -Wl,-\ 
> ( coreboot.a $(LIBGCC_FILE_NAME) -Wl,-\)"
>  end

You don't need the -( -) here, FWIW.  libgcc does not require symbols  
from
coreboot.a ;-)


Segher





More information about the coreboot mailing list