Package: syslinux / 3:6.04~git20190206.bf6db5b4+dfsg1-3.1
Metadata
Package | Version | Patches format |
---|---|---|
syslinux | 3:6.04~git20190206.bf6db5b4+dfsg1-3.1 | 3.0 (quilt) |
Patch series
view the series filePatch | File delta | Description |
---|---|---|
0000 unreleased changelog.patch | (download) |
NEWS |
55 55 + 0 - 0 ! |
include changes since 6.03 in the changelog |
0002 gfxboot menu label.patch | (download) |
com32/gfxboot/gfxboot.c |
16 10 + 6 - 0 ! |
allow boot entry to start with label instead of menu_label. menu_ptr->menu_label is human-readable (perhaps even translatable!) text if the MENU LABEL command is used, which isn't very convenient at the start of a boot entry. Allow the entry to start with menu_ptr->label (an identifier) as an alternative. |
0004 gnu efi from debian.patch | (download) |
mk/efi.mk |
13 10 + 3 - 0 ! |
link against gnu-efi from debian Adjust EFIINC, LIBDIR and LIBEFI variables in mk/efi.mk to point to the files installed by Debian's gnu-efi package. - The LIBDIR path depends on the build hosts' architecture, so the DEB_HOST_ARCH variable needs to be exported to determine the correct paths. |
0005 gnu efi version compatibility.patch | (download) |
efi/Makefile |
11 10 + 1 - 0 ! |
strip memtest and memcpy from libefi Repack libefi.a to not contain the memset and memcpy symbols to make sure the implementation from syslinux is used and no multiple symbol definitions are present. |
0016 strip gnu property.patch | (download) |
mbr/i386/mbr.ld |
6 5 + 1 - 0 ! |
strip the .note.gnu.property section for the mbr This section is added since binutils Debian version 2.31.1-2 and causes mbr.bin to grow in size beyond what can fit into the master boot record. |
0017 single load segment.patch | (download) |
efi/i386/syslinux.ld |
37 21 + 16 - 0 ! |
force the linker to put all sections into a single pt_load segment This is required when using binutils >= 2.31 which writes two PT_LOAD segments by default. This is not supported by the wrapper.c script used to convert the shared object into an elf binary. |
0018 prevent pow optimization.patch | (download) |
com32/gpllib/zzjson/zzjson_parse.c |
6 5 + 1 - 0 ! |
prevent optimizing the pow() function With the current GCC 8.2.0 from Debian, a section of code calling pow() in zzjson_parse.c is turned into a sequence calling exp(). Since no exp() implementation is available in syslinux those optimizations need to be disabled. |
0019 gcc 10 compatibility.patch | (download) |
dos/string.h |
11 10 + 1 - 0 ! |
gcc-10 compatibility patch * Add `-fcommon` to most gcc invocations to allow duplicate definitions * __builtin_strlen is not really a "builtin" an implementation still needs to be provided (source: https://bugzilla.suse.com/show_bug.cgi?id=1166605#c5). Work around the issue by supplying an inline function. The strlen function added to dos/string.h was copied from com32/lib/strlen.c. |
0020 gcc 14 compatibility.patch | (download) |
com32/chain/chain.c |
2 1 + 1 - 0 ! |
gcc-14 compatibility patch * Disable FCF protection on i386, where it's not supported. * Add missing include to resolve implicit printf() function declaration. * Add missing header file for long jumps in efi/main.c, fix invocations. * Type-cast addr_t pointer to size_t, assumes that their size is the same. |
0021 add_wchar_t type definition.patch | (download) |
com32/include/stddef.h |
2 2 + 0 - 0 ! |
[patch] stddef.h: add wchar_t type definition Syslinux fail to build with gnu-efi >= 3.0.16 with error: In file included from /host/i686-buildroot-linux-gnu/sysroot/usr/include/efi/efi.h:44, from /build/syslinux-6.03/efi/efi.h:23, from /build/syslinux-6.03/efi/adv.h:4, from /build/syslinux-6.03/efi/adv.c:29: /host/i686-buildroot-linux-gnu/sysroot/usr/include/efi/ia32/efibind.h:90:9: error: unknown type name 'wchar_t' typedef wchar_t CHAR16; ^~~~~~~ This is because gnu-efi started to use the "wchar_t" type from the toolchain's <stddef.h> header, in commit [1]. Before this commit, gnu-efi was defining the type as "short". Syslinux is including its own minimal stddef.h file, which masks the one provided by the toolchain. See [2]. This file does not have a type definition for "wchar_t". Finally, the POSIX <stddef.h> header is supposed to provide this "wchar_t" type definition. See [3]. This commit fixes the issue by adding the "wchar_t" type definition in the com32/include/stddef.h header. Since Syslinux has "-fshort-wchar" in its CFLAGS (see [4]), "wchar_t" is simply defined as "short". This also follow the previous gnu-efi < 3.0.16 behavior. This issue was seen in Buildroot Linux, in [5]. [1] https://sourceforge.net/p/gnu-efi/code/ci/189200d0b0f6fff473d302880d9569f45d4d8c4d [2] https://repo.or.cz/syslinux.git/blob/refs/tags/syslinux-6.03:/com32/include/stddef.h [3] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html [4] https://repo.or.cz/syslinux.git/blob/refs/tags/syslinux-6.03:/mk/efi.mk#l27 [5] https://lists.buildroot.org/pipermail/buildroot/2024-February/685971.html Upstream: Proposed: https://www.syslinux.org/archives/2024-February/026903.html Signed-off-by: Julien Olivain <ju.o@free.fr> |