import syslinux-6.04-6.el8

This commit is contained in:
CentOS Sources 2022-11-08 01:59:35 -05:00 committed by Stepan Oksanichenko
parent 9f95da99b1
commit 6d24054b4e
10 changed files with 332 additions and 50 deletions

View File

@ -1,4 +1,4 @@
From ca745cdfc27b83b6bcef9f856d858a68c64429de Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 8 Apr 2014 15:28:12 -0400
Subject: [PATCH] Add "install-all target" to top side of HAVE_FIRMWARE.
@ -8,7 +8,7 @@ Subject: [PATCH] Add "install-all target" to top side of HAVE_FIRMWARE.
1 file changed, 10 insertions(+)
diff --git a/Makefile b/Makefile
index b472945..6606d31 100644
index b472945b..6606d319 100644
--- a/Makefile
+++ b/Makefile
@@ -275,6 +275,16 @@ efi64:
@ -28,5 +28,3 @@ index b472945..6606d31 100644
else # FIRMWARE
all: all-local subdirs
--
2.5.5

View File

@ -1,4 +1,4 @@
From af7e95c32cea40c1e443ae301e64b27f068b4915 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paulo Alcantara <pcacjr@zytor.com>
Date: Wed, 11 Oct 2017 07:00:31 -0400
Subject: [PATCH] ext4: Fix 64bit feature
@ -28,7 +28,7 @@ Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/core/fs/ext2/ext2.c b/core/fs/ext2/ext2.c
index 76bd1d5..4bc0a53 100644
index 76bd1d5a..4bc0a535 100644
--- a/core/fs/ext2/ext2.c
+++ b/core/fs/ext2/ext2.c
@@ -25,22 +25,17 @@ static enum dirent_type ext2_cvt_type(unsigned int d_file_type)
@ -85,7 +85,7 @@ index 76bd1d5..4bc0a53 100644
+ EXT2_BLOCKS_PER_GROUP(fs) - 1)
/ EXT2_BLOCKS_PER_GROUP(fs);
diff --git a/core/fs/ext2/ext2_fs.h b/core/fs/ext2/ext2_fs.h
index 803a995..d8d07eb 100644
index 803a9954..d8d07ebd 100644
--- a/core/fs/ext2/ext2_fs.h
+++ b/core/fs/ext2/ext2_fs.h
@@ -278,6 +278,7 @@ struct ext2_sb_info {
@ -96,6 +96,3 @@ index 803a995..d8d07eb 100644
};
static inline struct ext2_sb_info *EXT2_SB(struct fs_info *fs)
--
2.7.4.GIT

View File

@ -1,27 +0,0 @@
From f2bad087b524546d349c79e62ea8f6a1306d800a Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Fri, 10 Aug 2018 05:03:38 -0400
Subject: [PATCH] extlinux: fix missing include for major()/minor()
Resolves: rhbz#1611751
Signed-off-by: Peter Jones <syslinux-owner@fedoraproject.org>
---
extlinux/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/extlinux/main.c b/extlinux/main.c
index a7ebd49a948..69bb1644547 100644
--- a/extlinux/main.c
+++ b/extlinux/main.c
@@ -41,6 +41,7 @@
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/vfs.h>
+#include <sys/sysmacros.h>
#include "linuxioctl.h"
--
2.17.1

View File

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 19 Apr 2016 06:50:31 -0400
Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev
These functions are defined in sys/sysmacros.h, so add the include to
main.c. This is already handled correctly in mountinfo.c. Otherwise
we get build failures like:
main.o: In function 'find_device_sysfs':
extlinux/main.c:1131: undefined reference to 'minor'
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
---
extlinux/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/extlinux/main.c b/extlinux/main.c
index a7ebd49a..ebff7eae 100644
--- a/extlinux/main.c
+++ b/extlinux/main.c
@@ -38,6 +38,7 @@
#include <sysexits.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/vfs.h>

View File

@ -1,4 +1,4 @@
From 5c24d725d5a5f50f0544fbcc544f08a3f9e90e5d Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 8 Aug 2019 05:41:36 -0400
Subject: [PATCH] Add 'RPMOPTFLAGS' to CFLAGS for some stuff.
@ -11,7 +11,7 @@ Subject: [PATCH] Add 'RPMOPTFLAGS' to CFLAGS for some stuff.
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/extlinux/Makefile b/extlinux/Makefile
index 1721ee54aff..d504e23133e 100644
index 1721ee54..d504e231 100644
--- a/extlinux/Makefile
+++ b/extlinux/Makefile
@@ -18,9 +18,9 @@ include $(MAKEDIR)/syslinux.mk
@ -27,7 +27,7 @@ index 1721ee54aff..d504e23133e 100644
SRCS = main.c \
mountinfo.c \
diff --git a/linux/Makefile b/linux/Makefile
index 5a49d813de1..9fed68d02c6 100644
index 5a49d813..9fed68d0 100644
--- a/linux/Makefile
+++ b/linux/Makefile
@@ -18,8 +18,8 @@ include $(MAKEDIR)/syslinux.mk
@ -42,7 +42,7 @@ index 5a49d813de1..9fed68d02c6 100644
SRCS = syslinux.c \
../libinstaller/syslxopt.c \
diff --git a/mtools/Makefile b/mtools/Makefile
index 632b185ba2f..b6e5ebdba6b 100755
index 632b185b..b6e5ebdb 100755
--- a/mtools/Makefile
+++ b/mtools/Makefile
@@ -2,8 +2,8 @@ include $(MAKEDIR)/syslinux.mk
@ -57,7 +57,7 @@ index 632b185ba2f..b6e5ebdba6b 100755
SRCS = syslinux.c \
../libinstaller/fs.c \
diff --git a/utils/Makefile b/utils/Makefile
index dfe625902ce..b4962353f20 100644
index dfe62590..b4962353 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -17,8 +17,8 @@
@ -71,6 +71,3 @@ index dfe625902ce..b4962353f20 100644
C_TARGETS = isohybrid gethostip memdiskfind
SCRIPT_TARGETS = mkdiskimage
--
2.21.0

View File

@ -0,0 +1,106 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Merlin Mathesius <mmathesi@redhat.com>
Date: Wed, 13 May 2020 08:02:27 -0500
Subject: [PATCH] Workaround multiple definition of symbol errors
---
com32/cmenu/Makefile | 2 +-
com32/elflink/ldlinux/Makefile | 2 +-
com32/gpllib/Makefile | 2 +-
com32/hdt/Makefile | 2 +-
core/Makefile | 2 +-
dos/Makefile | 2 +-
efi/Makefile | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile
index b81b68ed..2ae989c4 100644
--- a/com32/cmenu/Makefile
+++ b/com32/cmenu/Makefile
@@ -49,7 +49,7 @@ makeoutputdirs:
@mkdir -p $(OBJ)/libmenu
libmenu/libmenu.elf: $(LIBMENU)
- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \
+ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \
-o $@ $^
tidy dist:
diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile
index 87c0d362..2be2a01a 100644
--- a/com32/elflink/ldlinux/Makefile
+++ b/com32/elflink/ldlinux/Makefile
@@ -33,7 +33,7 @@ endif
all: $(BTARGET) ldlinux_lnx.a
ldlinux.elf : $(OBJS)
- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS)
+ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS)
LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
LNXLIBOBJS = get_key.lo
diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile
index 1fec9145..2d764d0b 100644
--- a/com32/gpllib/Makefile
+++ b/com32/gpllib/Makefile
@@ -24,7 +24,7 @@ makeoutputdirs:
$(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b))
libgpl.elf : $(LIBOBJS)
- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
+ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
tidy dist clean:
find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile
index 61736d05..1d947857 100644
--- a/com32/hdt/Makefile
+++ b/com32/hdt/Makefile
@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm
all: $(MODULES) $(TESTFILES)
hdt.elf : $(OBJS) $(LIBS) $(C_LIBS)
- $(LD) $(LDFLAGS) -o $@ $^
+ $(LD) $(LDFLAGS) -z muldefs -o $@ $^
memtest:
-[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST)
diff --git a/core/Makefile b/core/Makefile
index 46cb037c..f0cfcbe9 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
NASM_ELF = elf
%.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
- $(LD) $(LDFLAGS) -pie -Bsymbolic \
+ $(LD) $(LDFLAGS) -z muldefs -pie -Bsymbolic \
-T $(LDSCRIPT) \
--unresolved-symbols=report-all \
-E --hash-style=gnu -M -o $@ $< \
diff --git a/dos/Makefile b/dos/Makefile
index 4c930d19..5d1c72ca 100644
--- a/dos/Makefile
+++ b/dos/Makefile
@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk
CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3
# CFLAGS += -DDEBUG
-LDFLAGS = -T $(SRC)/dosexe.ld
+LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs
OPTFLAGS = -g
INCLUDES = -include code16.h -nostdinc -iwithprefix include \
-I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \
diff --git a/efi/Makefile b/efi/Makefile
index bbf23f24..3dd922d5 100644
--- a/efi/Makefile
+++ b/efi/Makefile
@@ -69,7 +69,7 @@ $(OBJS): | $(OBJ)/$(ARCH)
BTARGET = syslinux.efi
syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi
+ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi
# We need to rename the .hash section because the EFI firmware
# linker really doesn't like it.

View File

@ -0,0 +1,37 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Merlin Mathesius <mmathesi@redhat.com>
Date: Wed, 13 May 2020 11:58:37 -0500
Subject: [PATCH] Replace builtin strlen that appears to get optimized away
---
dos/string.h | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/dos/string.h b/dos/string.h
index f648de2d..407d0233 100644
--- a/dos/string.h
+++ b/dos/string.h
@@ -5,12 +5,22 @@
#ifndef _STRING_H
#define _STRING_H
+#include <stddef.h>
+
/* Standard routines */
#define memcpy(a,b,c) __builtin_memcpy(a,b,c)
#define memmove(a,b,c) __builtin_memmove(a,b,c)
#define memset(a,b,c) __builtin_memset(a,b,c)
#define strcpy(a,b) __builtin_strcpy(a,b)
-#define strlen(a) __builtin_strlen(a)
+#define strlen(a) inline_strlen(a)
+
+/* replacement for builtin strlen that appears to get optimized away */
+static inline size_t inline_strlen(const char *str)
+{
+ size_t l;
+ for (l = 0; *str++; l++);
+ return l;
+}
/* This only returns true or false */
static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n)

View File

@ -0,0 +1,134 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Robbie Harwood <rharwood@redhat.com>
Date: Thu, 21 Oct 2021 15:15:33 -0400
Subject: [PATCH] Fix backspace when editing a multiline cmdline
Once the cmdline had passed the width of the screen, adding additional
characters introduced a spurious newline, and another newline at the
width of input. Furthermore, hitting backspace would not start
redrawing at the end of input, but rather at the beginning of the
current line - resulting in extra duplicate lines scrolling the console.
First, fix the assumption that the length of cmdline is the width - it
needs to include the length of the prompt (i.e., length of input and
space).
Second, fix the behavior of single-line redraw (i.e., redraw == 1) to
move the cursor to the row the line begins at.
Third, don't scroll the cursor down when a line wrap would occur - it's
not necessary since line wrap is enabled, and results in the extra blank
line.
Finally, comment all used escape sequences so that I don't need to look
them up again.
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
com32/elflink/ldlinux/cli.c | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/com32/elflink/ldlinux/cli.c b/com32/elflink/ldlinux/cli.c
index 3119b11f..4913f038 100644
--- a/com32/elflink/ldlinux/cli.c
+++ b/com32/elflink/ldlinux/cli.c
@@ -135,6 +135,7 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
struct cli_command *comm_counter = NULL;
clock_t kbd_to = kbdtimeout;
clock_t tto = totaltimeout;
+ int prompt_len = 1 + strlen(input);
if (!width) {
int height;
@@ -144,7 +145,7 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
len = cursor = 0;
prev_len = 0;
- x = y = 0;
+ y = 0;
/*
* Before we start messing with the x,y coordinates print 'input'
@@ -152,6 +153,7 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
* previously.
*/
printf("%s ", input);
+ x = prompt_len;
while (!done) {
if (redraw > 1) {
@@ -162,8 +164,7 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
if (pDraw_Menu)
(*pDraw_Menu) (-1, top, 1);
prev_len = 0;
- printf("\033[2J\033[H");
- // printf("\033[0m\033[2J\033[H");
+ printf("\033[2J\033[H"); /* Clear entire screen; move to 0, 0. */
}
if (redraw > 0) {
@@ -172,10 +173,14 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
prev_len = max(len, prev_len);
/* Redraw the command line */
- printf("\033[?25l");
- printf("\033[1G%s ", input);
+ printf("\033[?25l"); /* Hide cursor. */
+ printf("\033[1G"); /* Column 1. */
+ if (y > 0)
+ printf("\033[%dA", y); /* Directly up. */
- x = strlen(input);
+ printf("%s ", input);
+
+ x = prompt_len;
y = 0;
at = 0;
while (at < prev_len) {
@@ -183,23 +188,22 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
at++;
x++;
if (x >= width) {
- printf("\r\n");
x = 0;
y++;
}
}
- printf("\033[K\r");
+ printf("\033[K\r"); /* Clear to end of line; go to beginning. */
- dy = y - (cursor + strlen(input) + 1) / width;
- x = (cursor + strlen(input) + 1) % width;
+ dy = y - (cursor + prompt_len) / width;
+ x = (cursor + prompt_len) % width;
if (dy) {
- printf("\033[%dA", dy);
+ printf("\033[%dA", dy); /* Cursor directly up. */
y -= dy;
}
if (x)
- printf("\033[%dC", x);
- printf("\033[?25h");
+ printf("\033[%dC", x); /* Cursor forward. */
+ printf("\033[?25h"); /* Show cursor. */
prev_len = len;
redraw = 0;
}
@@ -439,7 +443,6 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
cursor++;
x++;
if (x >= width) {
- printf("\r\n\033[K");
y++;
x = 0;
}
@@ -459,7 +462,7 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
}
}
- printf("\033[?7h");
+ printf("\033[?7h"); /* Enable line wrap. */
/* Add the command to the history if its length is larger than 0 */
len = strlen(ret);

7
SOURCES/syslinux.patches Normal file
View File

@ -0,0 +1,7 @@
Patch0001: 0001-Add-install-all-target-to-top-side-of-HAVE_FIRMWARE.patch
Patch0002: 0002-ext4-Fix-64bit-feature.patch
Patch0003: 0003-extlinux-pull-in-sys-sysmacros.h-for-major-minor-mak.patch
Patch0004: 0004-Add-RPMOPTFLAGS-to-CFLAGS-for-some-stuff.patch
Patch0005: 0005-Workaround-multiple-definition-of-symbol-errors.patch
Patch0006: 0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch
Patch0007: 0007-Fix-backspace-when-editing-a-multiline-cmdline.patch

View File

@ -7,15 +7,14 @@ Summary: Simple kernel loader which boots from a FAT filesystem
Name: syslinux
Version: 6.04
%define tarball_version 6.04-pre1
Release: 5%{?dist}
Release: 6%{?dist}
License: GPLv2+
Group: Applications/System
URL: http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project
Source0: http://www.kernel.org/pub/linux/utils/boot/syslinux/%{name}-%{tarball_version}.tar.xz
Patch0001: 0001-Add-install-all-target-to-top-side-of-HAVE_FIRMWARE.patch
Patch0002: 0002-ext4-64bit-feature.patch
Patch0003: 0003-extlinux-fix-missing-include-for-major-minor.patch
Patch0004: 0004-Add-RPMOPTFLAGS-to-CFLAGS-for-some-stuff.patch
Source1: syslinux.patches
%include %{SOURCE1}
# this is to keep rpmbuild from thinking the .c32 / .com / .0 / memdisk files
# in noarch packages are a reason to stop the build.
@ -266,6 +265,10 @@ fi
%endif
%changelog
* Wed Aug 03 2022 Robbie Harwood <rharwood@redhat.com> - 6.04-6
- Sync with RHEL 9 / Fedora at their 6.04-0.20
- Resolves: #1748014
* Fri Nov 13 2020 Javier Martinez Canillas <javierm@redhat.com> - 6.04-5
- Bump release to ship the syslinux-tftpboot subpackage on aarch64
Resolves: rhbz#1870276