[syslinux] [PATCH] efi/main.c: include <efisetjmp.h>
Ady
ady-sf at hotmail.com
Tue Mar 24 16:21:31 PDT 2020
> So essentially my fix to make syslinux build against 3.0.10 is of
> course also relevant to build against gnuefi 3.0.11.
Perhaps I need to be more clear. I was not commenting on your patch. I
was hinting that, if Syslinux were to use a more up-to-date gnu-efi
commit than what it currently is using, then it should not be that of
version 3.0.10, but rather a newer one.
Additionally, we should remember that the last official pre-release
that built-and-works successfully was 6.04-pre1, as pre2 and pre3
failed in some way or another. Most packages available in Linux distros
are still based on 6.04-pre1 plus selected patches and fixes (some of
them provided by themselves, rather than expecting upstream Syslinux to
work on its own).
Moreover, the "efisetjmp.h" file in gnu-efi was not provided at the
time Syslinux 6.04-pre1 was officially built, because the gnu-efi
sub-module in Syslinux was pointing to an older commit upstream (before
the file was included in gnu-efi).
All this means that your proposed patch might apply to some particular
package / snapshot, but it might not be appropriate for others
(including official upstream 6.04-pre1). For instance, Debian is
currently using its own gnu-efi version in order to build its own
Syslinux packages.
I should also mention that the "inc/efisetjmp.h" file in upstream
gnu-efi has a less-than-stable history:
https://sf.net/p/gnu-efi/code/ci/9b63de/log/?path=/inc/efisetjmp.h
Right from its initial inclusion, the file follows a different ABI than
the one used by Syslinux (AFAIU). Then several incompatibilities were
discovered by other contributors.
The commit that you referenced in your patch [486ba3] simply
"un-includes" the file in one place and "includes" it in another,
without any sort of explanation as to the reason to do such thing (i.e.
no specific mention of any kind of conflict/problem/reasoning).
BTW, I have a gut feeling (based on upstream gnu-efi's discussions and
this file's history) that this file is part of the conflicts we have
seen between definitions in upstream gnu-efi vs. their usage in
Syslinux.
Finally, the special git repository that Peter is using in upstream
Syslinux for gnu-efi has not been updated for quite some time, making
that repo a problem rather than a solution.
At any rate, this "inc/efisetjmp.h" file seems to be a source of
problems for Syslinux, and therefore your proposed patch should be only
considered when explicitly relevant (as opposed to "blindly" applying
it without real tests/considerations, which is something we see quite
frequently downstream, unfortunately).
Regards,
Ady.
More information about the Syslinux
mailing list