Hi Peter,

It should be unpatched GCC 4.9, and I found out that .bs_init is force 32-byte 
alignment with GCC 4.9.

Dump from ramstage.o

12 .bs_init      000000c8  00000000  00000000  00036160  2**5
                  CONTENTS, ALLOC, LOAD, RELOC, DATA


As the result, padding datd is added to mrc_cache_update, pch_log and 
cbmem_bscb.

0001d1d0 T _bs_init_begin
0001d1e0 t mrc_cache_update <- 32 bytes
0001d200 t pch_log <- 32 bytes
0001d220 t finalize
0001d248 t spi_init_bscb
0001d25c t cbmem_bscb <- 36 bytes
0001d280 t disable_rom_cache_bscb
0001d2a8 T _bs_init_end

If we add aligned(4) to the define as the following :

#define BOOT_STATE_INIT_ATTR  __attribute__ ((used, aligned(4), section 
(".bs_init)))

We can get 4-byte alignment for .bs_init.

What is your thoughts on this?


Regards,
Ryan
-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to