[syslinux] Weird ldlinux loading trouble

Erwan Velu erwanaliasr1 at gmail.com
Wed Feb 6 11:07:13 PST 2013


Hi,

I'm currently on elflink branch with commit 52443dc7dc5a203d053b70e870e6b83986ebb530
I did a make spotless before the following problem.
If I do a make inside com32/ my hdt.c32 is working properly.
If I do a make inside com32/hdt/ my hdt.c32 is not working and fails with
Failed to load ldlinux.c32

To to my tests, I use the following command
qemu-kvm -net nic -net user -boot n -tftp /home/erwan/pxe/ -bootp /pxelinux.0 -serial stdio

/home/erwan/pxe is like the following :
[erwan at localhost init (debian-dev2)]$ ls -al /home/erwan/pxe/
total 12
drwxr-xr-x  3 erwan erwan 4096 févr.  6 05:20 ./
drwxr-xr-x 67 erwan erwan 4096 févr.  6 19:55 ../
lrwxrwxrwx  1 erwan erwan   39 févr.  6 05:07 hdt.c32 -> /home/erwan/Devel/hdt/com32/hdt/hdt.c32*
lrwxrwxrwx  1 erwan erwan   55 févr.  6 05:05 ldlinux.c32 -> /home/erwan/Devel/hdt/com32/elflink/ldlinux/ldlinux.c32*
lrwxrwxrwx  1 erwan erwan   44 févr.  6 05:06 libcom32.c32 -> /home/erwan/Devel/hdt/com32/lib/libcom32.c32*
lrwxrwxrwx  1 erwan erwan   45 févr.  6 05:06 libgpl.c32 -> /home/erwan/Devel/hdt/com32/gpllib/libgpl.c32*
lrwxrwxrwx  1 erwan erwan   53 févr.  6 05:06 libmenu.c32 -> /home/erwan/Devel/hdt/com32/cmenu/libmenu/libmenu.c32*
lrwxrwxrwx  1 erwan erwan   47 févr.  6 05:20 libutil.c32 -> /home/erwan/Devel/hdt/com32/libutil/libutil.c32*
lrwxrwxrwx  1 erwan erwan   37 févr.  6 05:04 pxelinux.0 -> /home/erwan/Devel/hdt/core/pxelinux.0
drwxr-xr-x  2 erwan erwan 4096 févr.  6 05:09 pxelinux.cfg/

So all my files are properly linked to the current state of my build tree so no risk on inconsistencies.

[erwan at localhost init (debian-dev2)]$ gcc -v
Utilisation des specs internes.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-mageia-linux-gnu/4.6.3/lto-wrapper
Target: x86_64-mageia-linux-gnu
Configuré avec: ../configure --prefix=/usr --libexecdir=/usr/lib --with-slibdir=/lib64 --with-bugurl=http://bugs.mageia.org/ --mandir=/usr/share/man --infodir=/usr/share/info --enable-checking=release --enable-languages=c,c++,ada,fortran,objc,obj-c++,java --enable-linker-build-id --build=x86_64-mageia-linux-gnu --host=x86_64-mageia-linux-gnu --with-cpu=generic --with-system-zlib --enable-threads=posix --enable-shared --enable-objc-gc --enable-long-long --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-gtk-cairo --disable-libjava-multilib --enable-ssp --disable-libssp --disable-werror --with-ppl --with-cloog --with-python-dir=/lib/python2.7/site-packages --enable-lto
Modèle de thread: posix
gcc version 4.6.3 (GCC)

GNU ld (GNU Binutils) 2.22

That's 100% reproductible here.

Any ideas on why building inside com32/hdt make a difference ?
Note that the file size are the same in both case and ldd reports the same usage of some c32 modules I'm using.

I'm very confused with this bug.

Cheers,


More information about the Syslinux mailing list