diff --git a/syslinux-4.04-pie.diff b/syslinux-4.04-pie.diff new file mode 100644 index 0000000..8645343 --- /dev/null +++ b/syslinux-4.04-pie.diff @@ -0,0 +1,68 @@ +Index: syslinux-4.04/utils/Makefile +=================================================================== +--- syslinux-4.04.orig/utils/Makefile ++++ syslinux-4.04/utils/Makefile +@@ -17,8 +17,8 @@ + topdir = .. + include $(topdir)/MCONFIG + +-CFLAGS = $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 +-LDFLAGS = -O2 -g ++CFLAGS = $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -fPIC $(OPTFLAGS) ++LDFLAGS += -O2 -g -pie + + TARGETS = mkdiskimage isohybrid gethostip memdiskfind + TARGETS += isohybrid.pl # about to be obsoleted +Index: syslinux-4.04/extlinux/Makefile +=================================================================== +--- syslinux-4.04.orig/extlinux/Makefile ++++ syslinux-4.04/extlinux/Makefile +@@ -20,8 +20,8 @@ include $(topdir)/MCONFIG + OPTFLAGS = -g -Os + INCLUDES = -I. -I.. -I../libinstaller + CFLAGS = $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \ +- $(OPTFLAGS) $(INCLUDES) +-LDFLAGS = # -s ++ -fPIC $(OPTFLAGS) $(INCLUDES) ++LDFLAGS += -pie # -s + + SRCS = main.c \ + ../libinstaller/syslxmod.c \ +Index: syslinux-4.04/mtools/Makefile +=================================================================== +--- syslinux-4.04.orig/mtools/Makefile ++++ syslinux-4.04/mtools/Makefile +@@ -3,8 +3,8 @@ include $(topdir)/MCONFIG + + OPTFLAGS = -g -Os + INCLUDES = -I. -I.. -I../libfat -I../libinstaller +-CFLAGS = $(GCCWARN) -D_FILE_OFFSET_BITS=64 $(OPTFLAGS) $(INCLUDES) +-LDFLAGS = -s ++CFLAGS = $(GCCWARN) -D_FILE_OFFSET_BITS=64 -fPIC $(OPTFLAGS) $(INCLUDES) ++LDFLAGS += -s -pie + + SRCS = syslinux.c \ + ../libinstaller/fat.c \ +Index: syslinux-4.04/core/Makefile +=================================================================== +--- syslinux-4.04.orig/core/Makefile ++++ syslinux-4.04/core/Makefile +@@ -138,3 +138,4 @@ spotless: clean + + # Include dependencies file + -include .*.d */.*.d */*/.*.d ++ +Index: syslinux-4.04/linux/Makefile +=================================================================== +--- syslinux-4.04.orig/linux/Makefile ++++ syslinux-4.04/linux/Makefile +@@ -20,7 +20,8 @@ include $(topdir)/MCONFIG + OPTFLAGS = -g -O0 -Dalloca=malloc + INCLUDES = -I. -I.. -I../libinstaller + CFLAGS = $(GCCWARN) -D_FILE_OFFSET_BITS=64 $(OPTFLAGS) $(INCLUDES) +-LDFLAGS = ++CFLAGS += -fPIC ++LDFLAGS = -pie + + SRCS = syslinux.c \ + ../libinstaller/syslxopt.c \ diff --git a/syslinux.changes b/syslinux.changes index 9f37855..9fdbd52 100644 --- a/syslinux.changes +++ b/syslinux.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jun 9 10:45:24 UTC 2021 - Wolfgang Frisch + +- Link all binaries as Position Independent Executables (bsc#1184124). + + syslinux-4.04-pie.diff + ------------------------------------------------------------------- Wed Feb 3 09:45:57 UTC 2021 - Bernhard Wiedemann diff --git a/syslinux.spec b/syslinux.spec index 33ee75f..2d6f80d 100644 --- a/syslinux.spec +++ b/syslinux.spec @@ -1,7 +1,7 @@ # # spec file for package syslinux # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,7 +27,7 @@ BuildRequires: python3 BuildRequires: xz # lots of assembler here that would need to be changed :( #!BuildIgnore: gcc-PIE -Url: http://www.syslinux.org/wiki/index.php/The_Syslinux_Project +URL: http://www.syslinux.org/wiki/index.php/The_Syslinux_Project Suggests: mtools Summary: Boot Loader for Linux License: GPL-2.0-or-later @@ -64,6 +64,7 @@ Patch22: remove-note-gnu-section.patch Patch23: %{name}-%{version}-lzo.diff Patch24: %{name}-%{version}-gcc10.diff Patch25: syslinux-4.04-reproducible-isohybrid.patch +Patch26: %{name}-%{version}-pie.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -105,6 +106,7 @@ Authors: %patch23 -p0 %patch24 -p0 %patch25 -p1 +%patch26 -p1 %build cp %{SOURCE2} .