in the process of getting ACPI working on EPIA I have just noticed the following error at the end of the compile.
gcc -m32 -nostdlib -nostartfiles -static -o linuxbios -T ldscript.ld crt0.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/bin/ld: linuxbios: section .data lma 0xffff6f04 overlaps previous sections
I assume this wasn't there before so maybe the code has got to big, although I dont think it is to big to fit as I get the following
./buildrom linuxbios.strip linuxbios.rom payload 0x10000 0x20000 Payload: 25736 LinuxBIOS: 65536 ROM size: 131072 Left space: 39800
I am including both normal and fallback, so if I include ACPI will this mean I will just have to go with the fallback option, not that it matters as both just do the same thing anyway.
thanks Ben
do a readelf -a, and I bet the .data is 0, or some zero-lenght thing overlaps it.
There are so many "issues" in gnubin. This is one more.
FWIW, Juergen has some nice fixes which we are looking at bringing in to V3 -- he's done some very nice work.
ron
ron minnich wrote:
do a readelf -a, and I bet the .data is 0, or some zero-lenght thing overlaps it.
There are so many "issues" in gnubin. This is one more.
FWIW, Juergen has some nice fixes which we are looking at bringing in to V3 -- he's done some very nice work.
ron
doing readelf -a on linuxbios.rom (I assume that is what you meant) gives this.
not sure if there is a problem there though. I did notice if I I change the unsigned char array used for the acpi stuff to a const unsigned char array it does shift the address of the error slightly.
ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x1041d8 Start of program headers: 52 (bytes into file) Start of section headers: 25336 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 5 Size of section headers: 40 (bytes) Number of section headers: 10 Section header string table index: 9
Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .note NOTE 00100000 0000e0 00007c 00 A 0 0 32 [ 2] .text PROGBITS 0010007c 00015c 0051c8 00 WAX 0 0 4 [ 3] .rodata PROGBITS 00105260 005340 000cc9 00 A 0 0 32 [ 4] .eh_frame PROGBITS 00105f2c 00600c 000058 00 A 0 0 4 [ 5] .data PROGBITS 00105fa0 006080 0001c8 00 WA 0 0 32 [ 6] .bss NOBITS 00106180 006248 019f80 00 WA 0 0 32 [ 7] .initctx PROGBITS 00120100 006260 000048 00 WA 0 0 32 [ 8] .note.GNU-stack PROGBITS 00000000 0062a8 000000 00 X 0 0 1 [ 9] .shstrtab STRTAB 00000000 0062a8 00004d 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x0000e0 0x00100000 0x00100000 0x06168 0x20100 RWE 0x20 LOAD 0x006260 0x00120100 0x00120100 0x00048 0x00048 RW 0x20 NOTE 0x0000e0 0x00100000 0x00100000 0x0007c 0x0007c R 0x20 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4 PAX_FLAGS 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4
Section to Segment mapping: Segment Sections... 00 .note .text .rodata .eh_frame .data .bss 01 .initctx 02 .note 03 04
There is no dynamic section in this file.
There are no relocations in this file.
There are no unwind sections in this file.
No version information found in this file.
Notes at offset 0x000000e0 with length 0x0000007c: Owner Data size Description ELFBoot 0x00000005 NT_VERSION (version) ELFBoot 0x00000032 NT_ARCH (architecture) ELFBoot 0x00000002 Unknown note type: (0x00000003)