[syslinux] SYSLINUX 2.10-pre6 is now release candidate

TenThumbs tenthumbs at cybernex.net
Mon Jun 14 03:22:20 PDT 2004


> I have decided to make SYSLINUX 2.10-pre6 a release candidate.
> Please test it out if you can; if it works OK I will release it
> as 2.10 some time in the middle of the week.

Build problems with gcc 3.4.0.

1) Building memdisk dies with this:
setup.o(.text+0x2d8): In function `get_disk_image_geometry':
~/syslinux-2.10-pre6/memdisk/setup.c:403: undefined reference to `memcmp'

Gcc does not always inline functions, even builtin ones. You need to use
-minline-all-stringops to force the behavior you want.

2) Building menu fails with this:
biosio.c: In function `getdisppage':
biosio.c:61: error: bp cannot be used in asm here

A simple patch:

--- biosio.c.orig       2004-05-18 12:54:40.000000000 -0400
+++ biosio.c    2004-06-14 06:11:46.000000000 -0400
@@ -51,7 +51,7 @@
     
     asm("movb $0x0f,%%ah ; "
        "int $0x10 ; "
-       "movb %%bh,%0" : "=abcdm" (page) : : "eax", "ebp");
+       "movb %%bh,%0" : "=abcdm" (page) : : "eax");
     return page;
 }
 
@@ -135,7 +135,7 @@
                 "int $0x10"
                 : "+a" (x)
                 : "abcdmi" (page), "acdmi" (attr)
-                : "ebx", "ecx", "ebp");
+                : "ebx", "ecx");
 }
 
 static inline void scrollup()

3) Not really a problem but the comment at the top of bios.c about generating
x86-64 instructions isn't correct. Gcc doesn't know assembler. It's just dong
text substitutions. To get the low 8-bit form of a register name it strips the
leading "e" and the trailing "x" if any from a name and appends a "l". So,
"edx" becomes "dl" but "edi" gets mangled into "dil".

-- 
Uranus
    2004-06-14 10:15:11.878 UTC (JD 2453170.927221)
    X  =  18.013733303, Y  =  -7.972059756, Z  =  -3.746344263
    X' =   0.001698288, Y' =   0.003077725, Z' =   0.001323948




More information about the Syslinux mailing list