2
0
Эх сурвалжийг харах

grub2: fix build when ASLR enabled

Disable ASLR and filter '-fno-plt' from CFLAGS: solves building when
ASLR enabled by basically disabling ASLR.

Solves errors similar to:
relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
or
module missing GLOBAL_OFFSET_TABLE

Suggested-by: 李国 <[email protected]>
Acked-by: Petr Štetiar <[email protected]>
Signed-off-by: Kevin Darbyshire-Bryant <[email protected]>
Kevin Darbyshire-Bryant 5 жил өмнө
parent
commit
fcd1401700

+ 3 - 2
package/boot/grub2/Makefile

@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=grub
 PKG_NAME:=grub
 PKG_CPE_ID:=cpe:/a:gnu:grub2
 PKG_CPE_ID:=cpe:/a:gnu:grub2
 PKG_VERSION:=2.04
 PKG_VERSION:=2.04
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/grub
 PKG_SOURCE_URL:=@GNU/grub
@@ -20,6 +20,7 @@ PKG_HASH:=e5292496995ad42dabe843a0192cf2a2c502e7ffcc7479398232b10a472df77d
 HOST_BUILD_PARALLEL:=1
 HOST_BUILD_PARALLEL:=1
 PKG_BUILD_DEPENDS:=grub2/host
 PKG_BUILD_DEPENDS:=grub2/host
 
 
+PKG_ASLR_PIE:=0
 PKG_SSP:=0
 PKG_SSP:=0
 
 
 PKG_FLAGS:=nonshared
 PKG_FLAGS:=nonshared
@@ -83,7 +84,7 @@ HOST_MAKE_FLAGS += \
 	TARGET_RANLIB=$(TARGET_RANLIB) \
 	TARGET_RANLIB=$(TARGET_RANLIB) \
 	LIBLZMA=$(STAGING_DIR_HOST)/lib/liblzma.a
 	LIBLZMA=$(STAGING_DIR_HOST)/lib/liblzma.a
 
 
-TARGET_CFLAGS :=
+TARGET_CFLAGS := $(filter-out -fno-plt,$(TARGET_CFLAGS))
 
 
 define Host/Configure
 define Host/Configure
 	$(SED) 's,(RANLIB),(TARGET_RANLIB),' $(HOST_BUILD_DIR)/grub-core/Makefile.in
 	$(SED) 's,(RANLIB),(TARGET_RANLIB),' $(HOST_BUILD_DIR)/grub-core/Makefile.in