[syslinux] Crash with core32 (syslinux-3.81-pre12-68-g4a211f6)

Sebastian Herbszt herbszt at gmx.de
Tue May 26 12:30:15 PDT 2009


H. Peter Anvin wrote:
> Sebastian Herbszt wrote:
>> H. Peter Anvin wrote:
>>> By the way, watch out for missing dependencies.  I just checked in a
>>> dependency fix.
>> 
>> Still no go.
>> core_syscall.rm_return from pxelinux.lst:
>> 
>>   9237 0000A31F 66BB[94000000]      <3>                 mov ebx,.pm_return
>>   9238 0000A325 E933FE              <3>                 jmp enter_pm
>> ...
>>   9245                              <3> .pm_return:
>>   9246 00100094 670FB736[182C]      <3>                 movzx esi,word [word RealModeSSSP]
>> 
>> Tracing in bochs gives
>> 
>> 0000a31f: (                    ): mov ebx, 0x000034b4       ; 66bbb4340000
>> 
> 
> What does "objdump -dr pxelinux.o" show for that chunk of code?

# objdump -dr pxelinux.o
objdump: 'pxelinux.o': No such file
# objdump -dr pxelinux.0
objdump: pxelinux.0: File format not recognized
# objdump -dr pxelinux.bin
objdump: pxelinux.bin: File format not recognized
# objdump -dr pxelinux.elf
<snip>
0000a310 <core_syscall.rm_return>:
    a310:       2e 8b 26                mov    %cs:(%esi),%esp
    a313:       04 47                   add    $0x47,%al
    a315:       66 9c                   pushfw
    a317:       66 60                   pushaw
    a319:       1e                      push   %ds
    a31a:       06                      push   %es
    a31b:       0f a0                   push   %fs
    a31d:       0f a8                   push   %gs
    a31f:       66 bb b4 34             mov    $0x34b4,%bx
    a323:       00 00                   add    %al,(%eax)
    a325:       e9 33 fe cb 2e          jmp    2ecca15d <hash_nocomplete+0x11926a77>
<snip>

# ndisasm pxelinux.0
<snip>
00002710  2E8B260447        mov sp,[cs:0x4704]
00002715  669C              pushfd
00002717  6660              pushad
00002719  1E                push ds
0000271A  06                push es
0000271B  0FA0              push fs
0000271D  0FA8              push gs
0000271F  66BBB4340000      mov ebx,0x34b4
00002725  E933FE            jmp 0x255b
<snip>

> Either nasm or ld is doing something very wrong here, and probably is
> unsupportable.
> 
> -hpa

- Sebastian




More information about the Syslinux mailing list