2.4.21-pre on SMP-HT exports bad AT_PLATFORM
Hi all...
Continuing with the glibc-2.3.1 saga, I have tested 2.4.21-pre2. It also fails. glibc can not get a correct AT_PLATFORM when the kernel is run on an hyperthreaded smp box.
I have run this on the box (dual [email protected]). Highmem does not matter. Just HT matters. If I sun the SMP kernel with HT active, it glibc fails to detect AT_PLATFORM. If I disable HT, from the bios or with 'noht' boot option, the platform is correctly detected. Something does not follow the rules in binfmt_elf.c when there are siblings (not real CPUs) in the game. Or there is gcc-3.2.1 to blame.
Test script:
#!/bin/bash
#log=$(uname -r).txt
log=log.txt
exec > $log 2>&1
echo ===== uname -a
uname -a
echo
echo ===== uname -m
uname -m
echo
echo ===== ./ld.so
./ld.so
echo
echo ===== LD_LIBRARY_PATH="" LD_DEBUG=libs /bin/true rm -f /etc/ld.so.cache
LD_LIBRARY_PATH="" LD_DEBUG=libs /bin/true echo
ldconfig
ld.so is a modified one to print AT_PLATFORM, by Gwenole@mandrakesoft. The loader used for the /bin/true test is the standard one.
Results for 2.4.21-pre2 are attached. All are smp kernels, 'ht' means ht active, 'noht-bios' is ht diabled in the bios and 'noht-soft' is ht disabled with 'noht'.
Any ideas ?
Signature · 4 lines
J.A. Magallon <[email protected]> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.21-pre2-jam1 (gcc 3.2.1 (Mandrake Linux 9.1 3.2.1-2mdk))
Quoted 6 lines · On 2002.12.26 J.A. Magallón wrote:
Hi all...
Continuing with the glibc-2.3.1 saga, I have tested 2.4.21-pre2. It also fails. glibc can not get a correct
AT_PLATFORMwhen the kernel is run on an hyperthreaded smp box.
[...]
Quoted 4 lines
ld.so is a modified one to print
AT_PLATFORM, by Gwenole@mandrakesoft. The loader used for the/bin/truetest is the standard one.
Sorry, forgot to say that you can get similar results with:
werewolf:~> LD_SHOW_AUXV=1 /bin/true
AT_HWCAP: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr AT_PAGESZ: 4096 AT_CLKTCK: 100 AT_PHDR: 0x8048034 AT_PHENT: 32 AT_PHNUM: 6 AT_BASE: 0x15556000 AT_FLAGS: 0x0 AT_ENTRY: 0x8048920 AT_UID: 3001 AT_EUID: 3001 AT_GID: 3000 AT_EGID: 3000 AT_PLATFORM: i686
Signature · 4 lines
J.A. Magallon <[email protected]> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.21-pre2-jam1 (gcc 3.2.1 (Mandrake Linux 9.1 3.2.1-2mdk))