Mailing List Archive

3.53-pre5 released - release candidate
Hi all,

I have received a fair number of bug reports over the last few weeks
-- even days -- and I am therefore declaring 3.53-pre5 a release
candidate for a 3.53 bug fix release.

This 3.53 will not contain either of the two major features under
development -- client side state (including boot-once) and gPXE
integration -- since I want to avoid destabilizing the code base beyond
the bug fixes/firmware workarounds that have been added.

Please try out 3.53-pre5 if you have the chance. I would like to
release 3.53 some time between Friday and Monday (Nov 16-19).

-hpa

P.S. I haven't updated the NEWS file for 3.53 yet, but this is the shortlog:

Gerald Britton (1):
syslinux $PnP search fix

H. Peter Anvin (31):
bootsect.inc: make sure the $PnP header can fit inside the segment
memdump: remove debugging code never meant for release
elf.c: better error message when memory is unavailable
Next version is 3.53
Update the memory layout specification
Makefiles: create NASMOPT variable
Set TR and LDTR when entering protected mode
Mark TSS unbusy before protected mode entry
Add .gitignore file so "git status" makes sense
Fix [BI]ESUBDIRS for make installer/tidy/clean/spotless
DHCP bootfile option is 67, not 64.
mkdiskimage: support more than 1024 cylinders
Try to fix libfat/ulint.h for non-x86 platforms
mkdiskimage: correct the partition type for > 1024 cylinders
Code cleanup: get rid of hard-coded descriptor numbers
Remove unused EndOfGetcBuf
comboot: fix shuffle_and_boot_rm (used by linux.c32)
Optional debugging code for shuffle and boot and load_linux
Use "nop nop" to clobber "mov cs,ax" even though it's longer
Setting cr0 requires a jmp to synchronize on 386/486
isolinux: protect bss variables clobbered due to final sector load
Clean up the transition to PM for shuffle-and-boot-to-PM
Guard section to avoid future partial-sector-clobber issues
Typo cleanup
In 32-bit mode, "xor eax,eax" is shorter than "xor ax,ax"
Add sha256crypt and sha512crypt; not yet enabled
Remove unused variable BufSafeSec
Fix boot sectors; cleanup_hardware must preserve registers
ISOLINUX: Change DriveNo -> DriveNumber
mbr.S: fix loading from logical partitions
Preserve ES:DI instead of probing for $PnP

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: 3.53-pre5 released - release candidate [ In reply to ]
On Wed, Nov 14, 2007 at 11:35:09PM -0800, H. Peter Anvin wrote:
<snip>
> Please try out 3.53-pre5 if you have the chance. I would like to
> release 3.53 some time between Friday and Monday (Nov 16-19).

isolinux still locks under qemu.

nasm: NASM version 0.99.06 compiled on Nov 15 2007
git nasm-0.99.06-42-gdbb1828

qemu: QEMU PC emulator version 0.9.0, Copyright (c) 2003-2007 Fabrice
Bellard

Output of isolinux-debug.bin:
ISOLINUX 3.53 0x473c31af Copyright (C) 1994-2007 H. Peter Anvin
isolinux: Starting up, DL = E0
isolinux: Loaded spec packet OK, drive = E0
isolinux: Loading main image from LBA = 0000001E
isolinux: Sectors to load = 0005
isolinux: Loaded boot image, verifying...
isolinux: Mainimage read, jumping to main code...
<BLOCKED>

Output of isolinux.bin is the same as the first line of -debug.

Files are in
<http://ftp.gil.di.uminho.pt/pub/users/strange/syslinux/2007-11-15.0/>

--
lfr
0/0

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: NASM 0.99.06 miscompiles SYSLINUX 3.53-pre5 [ In reply to ]
Luciano Rocha wrote:
> On Wed, Nov 14, 2007 at 11:35:09PM -0800, H. Peter Anvin wrote:
> <snip>
>> Please try out 3.53-pre5 if you have the chance. I would like to
>> release 3.53 some time between Friday and Monday (Nov 16-19).
>
> isolinux still locks under qemu.
>
> nasm: NASM version 0.99.06 compiled on Nov 15 2007
> git nasm-0.99.06-42-gdbb1828
>

Apparently this version of NASM mis-assembles syslinux, specifically the
following code (configinit.inc):

; Initialize the .config section
mov si,section..config.start
mov di,section..config.vstart
mov cx,section..config.end.start
sub cx,di
shr cx,2
rep movsd

The values for di and cx are totally wrong.

The official image, assembled with NASM 0.98.39, does not appear to have
that problem:

00009B00 BE9CAB mov si,0xab9c
00009B03 BF804B mov di,0x4b80
00009B06 B9A44B mov cx,0x4ba4
00009B09 29F9 sub cx,di
00009B0B C1E902 shr cx,0x2
00009B0E F366A5 rep movsd

I have confirmed that current top-of-tree NASM has the same bug:

00009B00 BE9CAB mov si,0xab9c
00009B03 BFD00A mov di,0xad0
00009B06 B9F40A mov cx,0xaf4
00009B09 29F9 sub cx,di
00009B0B C1E902 shr cx,0x2
00009B0E F366A5 rep movsd

Specifically, it looks like NASM 0.99.x botches a large RESB directive:

600 <1> section .earlybss
601 <1> trackbufsize equ 8192
602 00000800 <res 00002000> <1> trackbuf resb
trackbufsize ; Track buffer goes here
603 00002800 <res 00002000> <1> getcbuf resb trackbufsize
604 <1> ; ends at 4800h

... looks reasonable enough, but then, in the mapfile ...

---- Section .earlybss
--------------------------------------------------------

class: nobits
length: 12 **** !!!!! ****
start: 800
align: not defined
follows: not defined
vstart: 800
valign: not defined
vfollows: not defined

---- Section .earlybss
--------------------------------------------------------

Real Virtual Name
800 800 trackbuf
2800 2800 getcbuf
4800 4800 EntryPoint
4804 4804 A20Test
4806 4806 A20Tries
4807 4807 TrampolineBuf
485C 485C DummyTSS

In other words, the addresses in the section are what they should be,
but the length of the section (and therefore the addresses of subsequent
sections) is completely botched.

I'll try to get a chance to bisect this later today.

-hpa



_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: [Nasm-devel] NASM 0.99.06 miscompiles SYSLINUX 3.53-pre5 [ In reply to ]
H. Peter Anvin wrote:
> Luciano Rocha wrote:
>> On Wed, Nov 14, 2007 at 11:35:09PM -0800, H. Peter Anvin wrote:
>> <snip>
>>> Please try out 3.53-pre5 if you have the chance. I would like to
>>> release 3.53 some time between Friday and Monday (Nov 16-19).
>> isolinux still locks under qemu.
>>
>> nasm: NASM version 0.99.06 compiled on Nov 15 2007
>> git nasm-0.99.06-42-gdbb1828
>>
>
> Apparently this version of NASM mis-assembles syslinux, specifically the
> following code (configinit.inc):
>

Now fixed in NASM git...

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: [Nasm-devel] NASM 0.99.06 miscompiles SYSLINUX 3.53-pre5 [ In reply to ]
On Thu, Nov 15, 2007 at 10:32:48AM -0800, H. Peter Anvin wrote:
> H. Peter Anvin wrote:
> > Luciano Rocha wrote:
> >> On Wed, Nov 14, 2007 at 11:35:09PM -0800, H. Peter Anvin wrote:
> >> <snip>
> >>> Please try out 3.53-pre5 if you have the chance. I would like to release
> >>> 3.53 some time between Friday and Monday (Nov 16-19).
> >> isolinux still locks under qemu.
> >>
> >> nasm: NASM version 0.99.06 compiled on Nov 15 2007
> >> git nasm-0.99.06-42-gdbb1828
> >>
> > Apparently this version of NASM mis-assembles syslinux, specifically the
> > following code (configinit.inc):
>
> Now fixed in NASM git...

Yep, it now works correctly.

I only started using the git version of nasm to debug my first report.

Do you wish me to continue testing syslinux + nasm periodically?

--
lfr
0/0

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: [Nasm-devel] NASM 0.99.06 miscompiles SYSLINUX 3.53-pre5 [ In reply to ]
Luciano Rocha wrote:
>
> Yep, it now works correctly.
> I only started using the git version of nasm to debug my first report.
> Do you wish me to continue testing syslinux + nasm periodically?
>

Absolutely. It is highly useful, as we just saw, especially if you have
the time to git bisect any failures.

Testing is highly appreciated...

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: [Nasm-devel] NASM 0.99.06 miscompiles SYSLINUX 3.53-pre5 [ In reply to ]
On Thu, Nov 15, 2007 at 10:56:04AM -0800, H. Peter Anvin wrote:
> Luciano Rocha wrote:
> > Yep, it now works correctly.
> > I only started using the git version of nasm to debug my first report.
> > Do you wish me to continue testing syslinux + nasm periodically?
>
> Absolutely. It is highly useful, as we just saw, especially if you have the
> time to git bisect any failures.
>
> Testing is highly appreciated...

I've created an automated test, that will run daily:
<http://ftp.gil.di.uminho.pt/pub/users/strange/syslinux/isotest.tar.gz>

I'll see if I have the time to add syslinux/extlinux fdd/hdd tests, but
I'm still limited to running it under qemu (or other emulator).

--
lfr
0/0

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: [Nasm-devel] NASM 0.99.06 miscompiles SYSLINUX 3.53-pre5 [ In reply to ]
Luciano Rocha wrote:
> On Thu, Nov 15, 2007 at 10:56:04AM -0800, H. Peter Anvin wrote:
>> Luciano Rocha wrote:
>>> Yep, it now works correctly.
>>> I only started using the git version of nasm to debug my first report.
>>> Do you wish me to continue testing syslinux + nasm periodically?
>> Absolutely. It is highly useful, as we just saw, especially if you have the
>> time to git bisect any failures.
>>
>> Testing is highly appreciated...
>
> I've created an automated test, that will run daily:
> <http://ftp.gil.di.uminho.pt/pub/users/strange/syslinux/isotest.tar.gz>
>
> I'll see if I have the time to add syslinux/extlinux fdd/hdd tests, but
> I'm still limited to running it under qemu (or other emulator).
>

Even that would be a big win.

In general, both NASM and Syslinux really need more regression testing.

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.