Hi folks,

While trying to build the newest version of buildrom GIT on my FC5 laptop
I've got:

gcc -m32 -nostdlib -nostartfiles -static -o linuxbios -T ldscript.ld crt0.o
/usr/bin/ld: section .id [ffffffd9 -> ffffffef] overlaps section .rom [fffff1a8 
-> ffffffdf]
/usr/bin/ld: linuxbios: section .id lma 0xffffffd9 overlaps previous sections
/usr/bin/ld: linuxbios: section .reset lma 0xfffffff0 overlaps previous 
sectionscollect2: ld returned 1 exit status
make[2]: *** [linuxbios] Error 1

I noticed that rom_stream.o for LZMA is twice as large, causing the section 
overlap.

-rom_stream.o: 2188
+rom_stream.o: 4972

Switching the compiler optimization option from -Os to -O0 (no optimization) 
shrinks rom_stream.o
size, making it fit appropriately.

--- Makefile.orig       2006-09-22 01:32:23.000000000 -0300
+++ Makefile    2006-09-22 01:35:50.000000000 -0300
@@ -17,8 +17,8 @@
  LIBGCC_FILE_NAME := $(shell $(CC) -print-libgcc-file-name)
  GCC_INC_DIR := $(shell $(CC) -print-search-dirs | sed -ne "s/install: 
\(.*\)/\1include/gp")
  CPPFLAGS := -I$(TOP)/src/include -I$(TOP)/src/arch/$(ARCH)/include 
-I$(GCC_INC_DIR) $(CPUFLAGS)
- CFLAGS := $(CPU_OPT) $(CPPFLAGS) -Os -nostdinc -nostdlib -fno-builtin  -Wall
- HOSTCFLAGS:= -Os -Wall
+ CFLAGS := $(CPU_OPT) $(CPPFLAGS) -O0 -nostdinc -nostdlib -fno-builtin  -Wall
+ HOSTCFLAGS:= -O0 -Wall
  LINUXBIOS_RAM-$(CONFIG_COMPRESS):=linuxbios_ram.nrv2b
  LINUXBIOS_RAM-$(CONFIG_UNCOMPRESSED):=linuxbios_ram.bin
  .PHONY : crt0.s

After that workaround I get http://dev.laptop.org/ticket/120, reported
by dilinger, which seems to be a separate problem.

Carl, I suspect we should either shrink the LZMA code (best option) or
use less aggressive compiler optimizations. Can you please look into the
details of this?

gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)

Thanks

_______________________________________________
Devel mailing list
[email protected]
http://mailman.laptop.org/mailman/listinfo/devel

Reply via email to