changed debian/source/format to native

This commit is contained in:
openKylinBot 2022-05-14 02:56:01 +08:00
parent a03d16bae2
commit 084124db05
9 changed files with 1 additions and 609 deletions

View File

@ -1,76 +0,0 @@
From: Lukas Schwaighofer <lukas@schwaighofer.name>
Date: Sun, 25 Nov 2018 16:41:41 +0100
Subject: Include changes since 6.03 in the changelog
Origin: http://www.syslinux.org/wiki/index.php?title=Syslinux_6_Changelog
Forwarded: not-needed
---
NEWS | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/NEWS b/NEWS
index c0846d8..ce80940 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,61 @@ Starting with 1.47, changes marked with SYSLINUX, PXELINUX, ISOLINUX
or EXTLINUX apply to that specific program only; other changes apply
to all derivatives.
+Changes in 6.04~git20190221.05ac953c (unreleased):
+ * zlib: Update to version 1.2.11.
+ * libpng: Update to version 1.6.36.
+ * core/Makefile: Sort to be reproducible.
+ * efi/udp: Improve performance (Julien Viard de Galbert).
+ * keeppxe: Partial fix; the LINUX directive can pass
+ the keeppxe parameter (Adam Goldman).
+ * chain.c32: Update "reactos=" option.
+ * keytab-lilo: Update to support kbd 2.0.3 format (Olivier Brunel).
+ * menu: Apply VSHIFT to scrollbar (Bruno Levert).
+ * ext4: Support 64bit feature (Paulo Alcantara).
+ * isohybrid: Use binary mode for compatibility with DOS/Windows
+ (Colin Finck).
+ * isohybrid, MBR: Fix compatibility with CHS mode
+ in certain BIOS (Martin Str|mberg, Thomas Schmitt).
+ * ISOLINUX: Fix the calculation of the boot info table
+ default checksum (Thomas Schmitt); it was broken since 4.00.
+ * diag/geodsp improvements (Gene Cumm).
+ * HDT: Fixes, updates and improvements (Erwan Velu).
+ * load_linux: relocate protected-mode code as intended
+ (Scot Doyle).
+ * SYSAPPEND: Fix space stripping (Dany St-Amant).
+ * SERIAL: Fix, allow octal and hex values on "port" and
+ on "flow control" parameters (Andrew J. Schorr, Dany St-Amant).
+ * efi: Fix hang when no keyboard is present (Oliver Wagner).
+ * efi: Add support for firmware's architecture-specific
+ optional configuration file names.
+ * core: Re-add gPXE/iPXE support for HTTP on pxelinux.0
+ (Gene Cumm).
+ * core/http: Append port number to Host field if needed
+ (Gene Cumm).
+ * chain.c32: Add options to ignore GPT crc checks
+ (Michal Soltys).
+ * mboot.c32: Add ELF64 support for Multiboot1
+ (Alex Barracuda72, Gene Cumm).
+ * XFS: Support XFS on-disk V5, node directories version 3,
+ xfsprogs 4.x. (Paulo Alcantara).
+ * BTRFS: Fix logical_to_physical block address mapping
+ (Paulo Alcantara).
+ * lua: Fixes and improvements;
+ correct and improve its documentation (Ferenc Wágner).
+ * Old unmaintained gPXE code is no longer included.
+ * Code improvements.
+ * efi/udp: Improve performance (Julien Viard de Galbert).
+ * isohybrid: Use binary mode for compatibility with DOS/Windows
+ (Colin Finck).
+ * isohybrid, MBR: Fix compatibility with CHS mode
+ in certain BIOS (Martin Str|mberg, Thomas Schmitt).
+ * keeppxe: Partial fix; the LINUX directive can pass
+ the keeppxe parameter (Adam Goldman).
+ * chain.c32: Update "reactos=" option.
+ * keytab-lilo: Update to support kbd 2.0.3 format (Olivier Brunel).
+ * menu: Apply VSHIFT to scrollbar (Bruno Levert).
+ * ext4: Support 64bit feature (Paulo Alcantara).
+
Changes in 6.03:
* chain: Fix chainloading on 6.02 (Raphael S. Carvalho).
* core: Do not leak the __lowmem and __bss16 macros to modules;

View File

@ -1,53 +0,0 @@
From: Colin Watson <cjwatson@ubuntu.com>
Date: Wed, 2 Nov 2011 07:57:23 +0100
Subject: 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.
---
com32/gfxboot/gfxboot.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c
index f67132c..4c76a35 100644
--- a/com32/gfxboot/gfxboot.c
+++ b/com32/gfxboot/gfxboot.c
@@ -818,7 +818,7 @@ void boot(int index)
{
char *arg, *alt_kernel;
menu_t *menu_ptr;
- int i, label_len;
+ int i, label_len, menu_label_len;
unsigned ipapp;
const struct syslinux_ipappend_strings *ipappend;
char *gfxboot_cwd = (char *) gfx_config.gfxboot_cwd;
@@ -836,18 +836,22 @@ void boot(int index)
if(!menu_ptr || !menu_ptr->menu_label) return;
arg = skipspace(cmdline);
- label_len = strlen(menu_ptr->menu_label);
+ label_len = strlen(menu_ptr->label);
+ menu_label_len = strlen(menu_ptr->menu_label);
// if it does not start with label string, assume first word is kernel name
- if(strncmp(arg, menu_ptr->menu_label, label_len)) {
+ if(!strncmp(arg, menu_ptr->label, label_len)) {
+ arg += label_len;
+ }
+ else if(!strncmp(arg, menu_ptr->menu_label, menu_label_len)) {
+ arg += menu_label_len;
+ }
+ else {
alt_kernel = arg;
arg = skip_nonspaces(arg);
if(*arg) *arg++ = 0;
if(*alt_kernel) menu_ptr->alt_kernel = alt_kernel;
}
- else {
- arg += label_len;
- }
arg = skipspace(arg);

View File

@ -1,46 +0,0 @@
From: Lukas Schwaighofer <lukas@schwaighofer.name>
Date: Tue, 3 Oct 2017 18:29:13 +0200
Subject: 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.
Forwarded: not-needed
---
mk/efi.mk | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/mk/efi.mk b/mk/efi.mk
index f097ad2..dc2b708 100644
--- a/mk/efi.mk
+++ b/mk/efi.mk
@@ -8,8 +8,15 @@ core = $(topdir)/core
# gnuefi sets up architecture specifics in ia32 or x86_64 sub directories
# set up the LIBDIR and EFIINC for building for the appropriate architecture
GCCOPT := $(call gcc_ok,-fno-stack-protector,)
-EFIINC = $(objdir)/include/efi
-LIBDIR = $(objdir)/lib
+EFIINC = /usr/include/efi
+LIBDIR = /usr/lib
+ifeq ($(DEB_HOST_ARCH)/$(ARCH),amd64/i386)
+ LIBDIR = /usr/lib32
+endif
+ifeq ($(DEB_HOST_ARCH)/$(ARCH),i386/x86_64)
+ LIBDIR = /usr/lib64
+endif
+
ifeq ($(ARCH),i386)
ARCHOPT = -m32 -march=i386
@@ -44,7 +51,7 @@ SFLAGS = $(GCCOPT) $(GCCWARN) $(ARCHOPT) \
-nostdinc -iwithprefix include \
-I$(com32)/libutil/include -I$(com32)/include -I$(com32)/include/sys $(GPLINCLUDE)
-LIBEFI = $(objdir)/lib/libefi.a
+LIBEFI = $(LIBDIR)/libefi.a
$(LIBEFI):
@echo Building gnu-efi for $(EFI_SUBARCH)

View File

@ -1,41 +0,0 @@
From: Lukas Schwaighofer <lukas@schwaighofer.name>
Date: Mon, 6 May 2019 00:43:10 +0200
Subject: 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.
---
efi/Makefile | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/efi/Makefile b/efi/Makefile
index f4501e7..adae73f 100644
--- a/efi/Makefile
+++ b/efi/Makefile
@@ -43,8 +43,10 @@ CORE_OBJS += $(addprefix $(OBJ)/../core/, \
fs/pxe/pxe.o fs/pxe/tftp.o fs/pxe/urlparse.o fs/pxe/dhcp_option.o \
fs/pxe/ftp.o fs/pxe/ftp_readdir.o fs/pxe/http.o fs/pxe/http_readdir.o)
+LIBEFI_STRIPPED = $(objdir)/libefi_stripped.a
+
LIB_OBJS = $(addprefix $(objdir)/com32/lib/,$(CORELIBOBJS)) \
- $(LIBEFI)
+ $(LIBEFI_STRIPPED)
CSRC = $(sort $(wildcard $(SRC)/*.c))
OBJS = $(subst $(SRC)/,,$(filter-out %wrapper.o, $(patsubst %.c,%.o,$(CSRC))))
@@ -73,6 +75,13 @@ BTARGET = syslinux.efi
syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
$(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi
+$(LIBEFI_STRIPPED): $(LIBEFI)
+ cp $(LIBEFI) $(LIBEFI_STRIPPED)
+ ar x $(LIBEFI_STRIPPED) init.o
+ strip -N memset -N memcpy init.o
+ ar r $(LIBEFI_STRIPPED) init.o
+ rm init.o
+
# We need to rename the .hash section because the EFI firmware
# linker really doesn't like it.
# $(OBJCOPY) --rename-section .gnu.hash=.sdata,load,data,alloc $^ $@

View File

@ -1,43 +0,0 @@
From: Lukas Schwaighofer <lukas@schwaighofer.name>
Date: Sat, 18 Aug 2018 12:48:21 +0200
Subject: 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.
Forwarded: https://www.syslinux.org/archives/2018-August/026168.html
---
mbr/i386/mbr.ld | 6 +++++-
mbr/x86_64/mbr.ld | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld
index d14ba80..6d48990 100644
--- a/mbr/i386/mbr.ld
+++ b/mbr/i386/mbr.ld
@@ -69,5 +69,9 @@ SECTIONS
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- /DISCARD/ : { *(.note.GNU-stack) }
+ /DISCARD/ :
+ {
+ *(.note.GNU-stack)
+ *(.note.gnu.property)
+ }
}
diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld
index ae27d49..5b46db6 100644
--- a/mbr/x86_64/mbr.ld
+++ b/mbr/x86_64/mbr.ld
@@ -68,5 +68,9 @@ SECTIONS
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- /DISCARD/ : { *(.note.GNU-stack) }
+ /DISCARD/ :
+ {
+ *(.note.GNU-stack)
+ *(.note.gnu.property)
+ }
}

View File

@ -1,306 +0,0 @@
From: Lukas Schwaighofer <lukas@schwaighofer.name>
Date: Sat, 18 Aug 2018 16:56:35 +0200
Subject: 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.
Forwarded: https://www.syslinux.org/archives/2018-August/026167.html
---
efi/i386/syslinux.ld | 37 +++++++++++++++++++++----------------
efi/x86_64/syslinux.ld | 37 +++++++++++++++++++++----------------
2 files changed, 42 insertions(+), 32 deletions(-)
diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld
index bab3fc7..19c1647 100644
--- a/efi/i386/syslinux.ld
+++ b/efi/i386/syslinux.ld
@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
+PHDRS
+{
+ all PT_LOAD ;
+}
+
SECTIONS
{
. = 0;
@@ -31,7 +36,7 @@ SECTIONS
*(.text)
*(.text.*)
__text_end = .;
- }
+ } :all
. = ALIGN(16);
@@ -40,7 +45,7 @@ SECTIONS
*(.rodata)
*(.rodata.*)
__rodata_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -49,14 +54,14 @@ SECTIONS
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__ctors_end = .;
- }
+ } :all
.dtors : {
__dtors_start = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__dtors_end = .;
- }
+ } :all
. = ALIGN(4096);
.rel : {
@@ -64,7 +69,7 @@ SECTIONS
*(.rel.data)
*(.rel.data.*)
*(.rel.ctors)
- }
+ } :all
. = ALIGN(4);
@@ -72,14 +77,14 @@ SECTIONS
__gnu_hash_start = .;
*(.gnu.hash)
__gnu_hash_end = .;
- }
+ } :all
.dynsym : {
__dynsym_start = .;
*(.dynsym)
__dynsym_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -87,7 +92,7 @@ SECTIONS
__dynstr_start = .;
*(.dynstr)
__dynstr_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -104,7 +109,7 @@ SECTIONS
KEEP (*(.got.plt))
KEEP (*(.got))
__got_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -112,7 +117,7 @@ SECTIONS
__dynamic_start = .;
*(.dynamic)
__dynamic_end = .;
- }
+ } :all
. = ALIGN(16);
@@ -122,19 +127,19 @@ SECTIONS
*(.data.*)
*(.lowmem)
__data_end = .;
- }
+ } :all
.reloc : {
*(.reloc)
- }
+ } :all
.symtab : {
*(.symtab)
- }
+ } :all
.strtab : {
*(.strtab)
- }
+ } :all
.bss (NOLOAD) : {
/* the EFI loader doesn't seem to like a .bss section,
@@ -148,7 +153,7 @@ SECTIONS
__bss_end = .;
*(.sbss)
*(.scommon)
- }
+ } :all
__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
__bss_dwords = (__bss_len + 3) >> 2;
@@ -161,7 +166,7 @@ SECTIONS
*(.hugebss)
*(.hugebss.*)
__hugebss_end = .;
- }
+ } :all
_end = .;
diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld
index 450641c..a2c124f 100644
--- a/efi/x86_64/syslinux.ld
+++ b/efi/x86_64/syslinux.ld
@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
+PHDRS
+{
+ all PT_LOAD ;
+}
+
SECTIONS
{
. = 0;
@@ -31,7 +36,7 @@ SECTIONS
*(.text)
*(.text.*)
__text_end = .;
- }
+ } :all
. = ALIGN(16);
@@ -40,7 +45,7 @@ SECTIONS
*(.rodata)
*(.rodata.*)
__rodata_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -49,14 +54,14 @@ SECTIONS
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__ctors_end = .;
- }
+ } :all
.dtors : {
__dtors_start = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__dtors_end = .;
- }
+ } :all
. = ALIGN(4096);
.rel : {
@@ -64,7 +69,7 @@ SECTIONS
*(.rel.data)
*(.rel.data.*)
*(.rel.ctors)
- }
+ } :all
. = ALIGN(4);
@@ -72,14 +77,14 @@ SECTIONS
__gnu_hash_start = .;
*(.gnu.hash)
__gnu_hash_end = .;
- }
+ } :all
.dynsym : {
__dynsym_start = .;
*(.dynsym)
__dynsym_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -87,7 +92,7 @@ SECTIONS
__dynstr_start = .;
*(.dynstr)
__dynstr_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -104,7 +109,7 @@ SECTIONS
KEEP (*(.got.plt))
KEEP (*(.got))
__got_end = .;
- }
+ } :all
. = ALIGN(4);
@@ -112,7 +117,7 @@ SECTIONS
__dynamic_start = .;
*(.dynamic)
__dynamic_end = .;
- }
+ } :all
. = ALIGN(16);
@@ -122,19 +127,19 @@ SECTIONS
*(.data.*)
*(.lowmem)
__data_end = .;
- }
+ } :all
.reloc : {
*(.reloc)
- }
+ } :all
.symtab : {
*(.symtab)
- }
+ } :all
.strtab : {
*(.strtab)
- }
+ } :all
.bss (NOLOAD) : {
/* the EFI loader doesn't seem to like a .bss section,
@@ -148,7 +153,7 @@ SECTIONS
__bss_end = .;
*(.sbss)
*(.scommon)
- }
+ } :all
__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
__bss_dwords = (__bss_len + 3) >> 2;
@@ -161,7 +166,7 @@ SECTIONS
*(.hugebss)
*(.hugebss.*)
__hugebss_end = .;
- }
+ } :all
_end = .;

View File

@ -1,36 +0,0 @@
From: Lukas Schwaighofer <lukas@schwaighofer.name>
Date: Tue, 26 Feb 2019 23:13:58 +0100
Subject: 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.
---
com32/gpllib/zzjson/zzjson_parse.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c
index ecb6f61..e66a9d8 100644
--- a/com32/gpllib/zzjson/zzjson_parse.c
+++ b/com32/gpllib/zzjson/zzjson_parse.c
@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) {
return zzjson;
}
+static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) {
+ return pow(x, y);
+}
+
static ZZJSON *parse_number(ZZJSON_CONFIG *config) {
ZZJSON *zzjson;
unsigned long long ival = 0, expo = 0;
@@ -213,7 +217,7 @@ skipexpo:
if (dbl) {
dval = sign * (long long) ival;
dval += sign * frac;
- dval *= pow(10.0, (double) signexpo * expo);
+ dval *= pow_noopt(10.0, (double) signexpo * expo);
}
zzjson = config->calloc(1, sizeof(ZZJSON));

View File

@ -1,7 +0,0 @@
0000-unreleased-changelog.patch
0002-gfxboot-menu-label.patch
0004-gnu-efi-from-debian.patch
0005-gnu-efi-version-compatibility.patch
0016-strip-gnu-property.patch
0017-single-load-segment.patch
0018-prevent-pow-optimization.patch

View File

@ -1 +1 @@
3.0 (quilt)
3.0 (native)