File 0020-Link-all-binaries-as-Position-Independent-Executable.patch of Package syslinux

From e3731182bee21727a63d4605e19afb6a9e74e1a0 Mon Sep 17 00:00:00 2001
From: Wolfgang Frisch <wolfgang.frisch@suse.com>
Date: Wed, 9 Jun 2021 10:45:24 +0000
Subject: [PATCH 20/22] Link all binaries as Position Independent Executables
 (bsc#1184124)

---
 extlinux/Makefile | 4 ++--
 linux/Makefile    | 3 ++-
 mk/build-host.mk  | 4 ++--
 mk/elf.mk         | 2 +-
 mtools/Makefile   | 4 ++--
 utils/Makefile    | 4 ++--
 6 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/extlinux/Makefile b/extlinux/Makefile
index 1721ee54..623fb899 100644
--- a/extlinux/Makefile
+++ b/extlinux/Makefile
@@ -19,8 +19,8 @@ include $(MAKEDIR)/syslinux.mk
 OPTFLAGS = -g -Os
 INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libinstaller
 CFLAGS	 = $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \
-	   $(OPTFLAGS) $(INCLUDES)
-LDFLAGS	 = 
+	   -fPIC $(OPTFLAGS) $(INCLUDES)
+LDFLAGS	 = -pie
 
 SRCS     = main.c \
 	   mountinfo.c \
diff --git a/linux/Makefile b/linux/Makefile
index 5a49d813..571b014a 100644
--- a/linux/Makefile
+++ b/linux/Makefile
@@ -19,7 +19,8 @@ include $(MAKEDIR)/syslinux.mk
 OPTFLAGS = -g -Os
 INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libinstaller
 CFLAGS	 = $(GCCWARN) -D_FILE_OFFSET_BITS=64 $(OPTFLAGS) $(INCLUDES)
-LDFLAGS	 = 
+CFLAGS  += -fPIC
+LDFLAGS	 = -pie
 
 SRCS     = syslinux.c \
 	   ../libinstaller/syslxopt.c \
diff --git a/mk/build-host.mk b/mk/build-host.mk
index dab5de60..e88b8337 100644
--- a/mk/build-host.mk
+++ b/mk/build-host.mk
@@ -21,8 +21,8 @@ CC_FOR_BUILD ?= $(CC)
 OPTFLAGS   = -g -Os
 INCLUDES   =
 CFLAGS     = $(WARNFLAGS) -D_FILE_OFFSET_BITS=64 \
-             $(OPTFLAGS) $(INCLUDES)
-LDFLAGS    =
+             -fPIC $(OPTFLAGS) $(INCLUDES)
+LDFLAGS    = -pie
 LIBS	   =
 
 .SUFFIXES: .c .o .S .s .i .elf .com .bin .asm .lst .c32 .lss
diff --git a/mk/elf.mk b/mk/elf.mk
index a3037fb6..f5bfb7e9 100644
--- a/mk/elf.mk
+++ b/mk/elf.mk
@@ -73,7 +73,7 @@ LIBGCC    := $(shell $(CC) $(GCCOPT) --print-libgcc)
 
 CC_FOR_BUILD ?= $(CC)
 
-LNXCFLAGS  = -I$(com32)/libutil/include -W -Wall -O -g -D_GNU_SOURCE
+LNXCFLAGS  = -I$(com32)/libutil/include -W -Wall -fPIC -O -g -D_GNU_SOURCE
 LNXSFLAGS  = -g
 LNXLDFLAGS = -g
 
diff --git a/mtools/Makefile b/mtools/Makefile
index ef1702b1..08d9b10a 100755
--- a/mtools/Makefile
+++ b/mtools/Makefile
@@ -3,8 +3,8 @@ include $(MAKEDIR)/build-host.mk
 
 OPTFLAGS = -g -Os
 INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libfat -I$(SRC)/../libinstaller
-CFLAGS	 = $(GCCWARN) -D_FILE_OFFSET_BITS=64 $(OPTFLAGS) $(INCLUDES)
-LDFLAGS	 = 
+CFLAGS	 = $(GCCWARN) -D_FILE_OFFSET_BITS=64 -fPIC $(OPTFLAGS) $(INCLUDES)
+LDFLAGS	 = -pie
 
 SRCS     = syslinux.c \
 	   ../libinstaller/fs.c \
diff --git a/utils/Makefile b/utils/Makefile
index c57e67de..91298302 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -19,8 +19,8 @@ include $(MAKEDIR)/syslinux.mk
 
 CC_FOR_BUILD ?= $(CC)
 
-CFLAGS   = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC)
-LDFLAGS  = $(LDFLAGS_FOR_BUILD) -O2 -g
+CFLAGS   = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -fPIC -I$(SRC)
+LDFLAGS  = $(LDFLAGS_FOR_BUILD) -O2 -g -pie
 
 C_TARGETS	 = isohybrid gethostip memdiskfind
 SCRIPT_TARGETS	 = mkdiskimage
-- 
2.42.0

openSUSE Build Service is sponsored by