On Wed, 2019-02-06 at 11:34 -0800, H. Peter Anvin wrote:> On 2/6/19 9:17 AM, Joakim Tjernlund via Syslinux wrote: > > On Wed, 2019-02-06 at 16:00 +0100, Joakim Tjernlund wrote: > > > On Tue, 2019-02-05 at 14:07 -0800, H. Peter Anvin via Syslinux wrote: > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. > > > > > > > > > > > > Hi all, > > > > > > > > It has been the case for quite a while that the master tree is > > > > unambiguously better than 6.03. I have thus tagged and pushed out a > > > > syslinux-6.04-pre2 release, however, due to the issues with continuing > > > > to keep the main archive on kernel.org, I have moved the release archive to: > > > > > > Please add a non ancient gnu-efi snapshot too. > > > > > > Jocke > > > > You vill need two commits( Update the longjump calls to fit the new declaration, The VPrint definition is now part of the exports of gnu-efi) > > from https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjoakim-tjernlund%2Fsyslinux%2Fcommits%2Fmaster&data=02%7C01%7CJoakim.Tjernlund%40infinera.com%7Ce0539f8d5164488f7aa008d68c6a18af%7C285643de5f5b4b03a1530ae2dc8aaf77%7C1%7C0%7C636850784666107668&sdata=1WLwpghZpBw7L6OAHMlTiLZLhJUIuCaRErxP630mgSE%3D&reserved=0 > > to build against a modern gnu-efi > > > > Hi, > > I merged your tree and added the install patch on top of it. Thank you!Great, that tree now against a somewhat old gnu-efi though. To build against >= 3.0.8 I need to do: #gnu-efi >= 3.0.8 has memset/memcpy defined causing multiple syms errors sed -i 's/LDFLAGS =/LDFLAGS = -z muldefs /' mk/efi.mk || die "sed muldefs failed" Jocke
On 2/6/19 11:44 AM, Joakim Tjernlund wrote:> On Wed, 2019-02-06 at 11:34 -0800, H. Peter Anvin wrote: > > Great, that tree now against a somewhat old gnu-efi though. > > To build against >= 3.0.8 I need to do: > #gnu-efi >= 3.0.8 has memset/memcpy defined causing multiple syms errors > sed -i 's/LDFLAGS =/LDFLAGS = -z muldefs /' mk/efi.mk || die "sed muldefs failed" >Should be a trivial fix by simply omitting those from the syslinux-provided library functions on EFI. -hpa
On Wed, 2019-02-06 at 11:56 -0800, H. Peter Anvin wrote:> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. > > > On 2/6/19 11:44 AM, Joakim Tjernlund wrote: > > On Wed, 2019-02-06 at 11:34 -0800, H. Peter Anvin wrote: > > > > Great, that tree now against a somewhat old gnu-efi though. > > > > To build against >= 3.0.8 I need to do: > > #gnu-efi >= 3.0.8 has memset/memcpy defined causing multiple syms errors > > sed -i 's/LDFLAGS =/LDFLAGS = -z muldefs /' mk/efi.mk || die "sed muldefs failed" > > > > Should be a trivial fix by simply omitting those from the > syslinux-provided library functions on EFI.Yes, but I don't know the code that well so I took the easy way :) Also, syslinux overides/omits xFLAGS(CFLAGS, LDFLAGS etc.) so one cannot pass own flags. Would be nice if one could disable Warnings that are harmless. Jocke
> On 2/6/19 11:44 AM, Joakim Tjernlund wrote: > > On Wed, 2019-02-06 at 11:34 -0800, H. Peter Anvin wrote: > > > > Great, that tree now against a somewhat old gnu-efi though. > > > > To build against >= 3.0.8 I need to do: > > #gnu-efi >= 3.0.8 has memset/memcpy defined causing multiple syms errors > > sed -i 's/LDFLAGS =/LDFLAGS = -z muldefs /' mk/efi.mk || die "sed muldefs failed" > > > > Should be a trivial fix by simply omitting those from the > syslinux-provided library functions on EFI. > > -hpa >All this has been already done in Debian Testing a couple of months ago (at least). The next step for Debian in this regard should probably be to test with gnu-efi 3.0.9 or newer, because the latter includes relevant patches already. More importantly, there are building problems in 6.04-pre2. Part of them have been already reported in this Syslinux Mailing List and in Debian's bug tracker too, with proposed patches. Example: boot: hdt.c32 Undef symbol FAIL: exp Failed to load libgpl.c32 Failed to load COM32 file hdt.c32 boot: Problems: binutils 2.31+, gcc 8+ For hints, see patches already applied in Debian, and additional proposed patches from "David Woodhouse" in the Syslinux Mailing List archives for 2018Aug. FWIW, Fedora 29 has not been able to include an updated package of Syslinux; the build failed. In short, F29 distributes the Syslinux package from F28. Therefore, it should not be a surprise that the new 6.04-pre2 has some (already-known) problems. Regards, Ady.
On Wed, 2019-02-06 at 11:56 -0800, H. Peter Anvin wrote:> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. > > > On 2/6/19 11:44 AM, Joakim Tjernlund wrote: > > On Wed, 2019-02-06 at 11:34 -0800, H. Peter Anvin wrote: > > > > Great, that tree now against a somewhat old gnu-efi though. > > > > To build against >= 3.0.8 I need to do: > > #gnu-efi >= 3.0.8 has memset/memcpy defined causing multiple syms errors > > sed -i 's/LDFLAGS =/LDFLAGS = -z muldefs /' mk/efi.mk || die "sed muldefs failed" > > > > Should be a trivial fix by simply omitting those from the > syslinux-provided library functions on EFI.Something like this seems to do it: F_CORELIBOBJS = $(filter-out %memset.o %memcpy.o, $(CORELIBOBJS)) LIB_OBJS = $(addprefix $(objdir)/com32/lib/,$(F_CORELIBOBJS)) \ $(LIBEFI)