On Thu, Mar 07, 2013 at 01:16:54PM +0100, Laszlo Ersek wrote:
On 03/07/13 09:43, Aurelien Jarno wrote:
I did a git bisect to find the commit fixing the issue. Then, as I was not believing the result, I tried the following sequence a dozen of times (for some unknown reasons the FreeBSD install CD doesn't exhibit the issue, so I used the Debian GNU/kFreeBSD installer):
| mkdir qemu-freebsd-bug | cd qemu-freebsd-bug | | wget http://ftp.debian.org/debian/dists/squeeze/main/installer-kfreebsd-amd64/cur... | | git clone git://git.qemu.org/qemu.git | cd qemu | git checkout -b stable-1.4 v1.4.0 | ./configure --target-list=x86_64-softmmu | make | cd .. | | git clone git://git.seabios.org/seabios.git | cd seabios | git checkout -b 1.7.2-stable origin/1.7.2-stable | git reset --hard 4219149ad2b783abfa61e80e9e9f6910db0c76c9 | make | cp out/bios.bin ../qemu/pc-bios | cd.. | | # debian-installer boots correctly | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso | | cd seabios | git reset --hard d75c22fcb6521dad11428b65789d92f89675c600 | git clean -fdx | make | cp out/bios.bin ../qemu/pc-bios | cd .. | | # debian-installer fails to boot | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso
Maybe I am doing something wrong or there is a bug in my toolchain (Debian Sid). It would be nice if someone could try to reproduce that on another distro/system.
Can you save the out/ directory from both builds and "diff -ur" them (maybe just the *.lds files)?
Please find it attached.
I'm noticing that pathnames are embedded in some ELF section names (I hope this sentence makes sense), and when you build at d75c22fc, those pathnames contain dot-dot (".."), ie. two section name separators next to each other. Maybe that's not good; no idea.
It's clearly the case, but I also don't know if it is a good solution or not. What is sure is that it also changes the address of the text section in bios.bin.elf.