[syslinux] boot... round 2

Thomas Schmitt scdbackup at gmx.net
Thu Jul 2 12:06:17 PDT 2015


Hi,

Ady wrote:
> IMHO, the adequate way to solve the problem is finding why vesamenu.c32
> triggers a problem when it is compiled with gcc v.5+.

I agree.

Currently i am riddling why copy_sysappend_string() should
be invoked at all. txt/syslinux.cfg.txt obviously describes
the .cfg interface of readconfig.c:record() as "SYSAPPEND"
and its flag values.
Rawhide-Live-Xfce-628.iso from http://goo.gl/Gm4ffO has no
such directive.

So probably it's about the change in core/sysappend.c
function copy_and_mangle() which might be called underneath
execute() of com32/elflink/ldlinux/execute.c.

But this still does not explain why gcc versions are
decisive for success. For that we'd need to find some code
of undefined behavior, where the compiler would be free
to produce different outcome.


hpa wrote:
> I think I see the problem.  "char" should be "unsigned char"...

Well, "char" zapps the characters above (unsigned char) 127.
But why does the gcc version have an influence ?
(C does not specify the signedness of char, but i never saw
 a compiler which represented char other than as signed char.)


Have a nice day :)

Thomas
 


More information about the Syslinux mailing list