[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: syslinux-efi 6.04 bug?



Hi Carl,

thanks for reporting!

On Mon, 3 Dec 2018 00:15:21 -0600
Carl Karsten <carl@personnelware.com> wrote:

> Undef symbol FAIL: memset
> Failed to load libcom32.c32

This is indeed a problem with the most recent syslinux version from
Debian.  I introduced it by taking the gnu-efi 3.0.8 compatibility patch
from Ubuntu.  I've just now uploaded a new version that should fix the
problem (Carl already tested it in a private conversation, thanks!).


@Mathieu:
Since you were the author if the patch that I took, I put you in CC.  I
believe that all syslinux versions in Ubuntu that link against
gnu-efi >= 3.0.8 are affected as well.  You can check by trying to use
the vesamenu.c32 module with the efi version of syslinux.  I expect it
will fail with "Undef symbol FAIL: module memset".

I'm now no longer filtering out the memset and memcpy implementations
from syslinux.  Instead I pass -zmuldefs to the linker to avoid the
duplicate symbol linking error.  That causes the linker to use the first
definition for memset and memcpy encountered which is the one from
syslinux.  This fixes the problem.  See
https://salsa.debian.org/images-team/syslinux/commit/2d1ebd6ab76fa39adb260a522e8da788d59bb5ec
for details.

Regards
Lukas


Reply to: