Here are the notable changes - pixman is now not part of the release tarball and is required as an external dependency - archipelago is removed by upstream - patches are regenerated with git-format-patch - ifunc requirement is now removed Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>lilik-openwrt-22.03
@ -1,11 +0,0 @@ | |||||
--- a/configure.orig 2016-11-22 11:53:25.739180380 +0800 | |||||
+++ b/configure 2016-11-22 11:53:55.183189596 +0800 | |||||
@@ -1147,6 +1147,8 @@ for opt do | |||||
;; | |||||
--enable-jemalloc) jemalloc="yes" | |||||
;; | |||||
+ --disable-fortify-source) fortify_source="no" | |||||
+ ;; | |||||
*) | |||||
echo "ERROR: unknown option $opt" | |||||
echo "Try '$0 --help' for more information" |
@ -0,0 +1,27 @@ | |||||
From 0b4011cd0983ced6e065f397049f967656494793 Mon Sep 17 00:00:00 2001 | |||||
From: Yousong Zhou <yszhou4tech@gmail.com> | |||||
Date: Sat, 24 Feb 2018 13:43:19 +0800 | |||||
Subject: [PATCH 1/3] configure: allow disable fortify_source | |||||
Tell build system of qemu to not add _FORTIFY_SOURCE options and let the | |||||
OpenWrt base build system decide flavor of fortify_source to use | |||||
--- | |||||
configure | 2 ++ | |||||
1 file changed, 2 insertions(+) | |||||
diff --git a/configure b/configure | |||||
index 0c6e757..8ea3fdd 100755 | |||||
--- a/configure | |||||
+++ b/configure | |||||
@@ -1313,6 +1313,8 @@ for opt do | |||||
;; | |||||
--disable-git-update) git_update=no | |||||
;; | |||||
+ --disable-fortify-source) fortify_source="no" | |||||
+ ;; | |||||
*) | |||||
echo "ERROR: unknown option $opt" | |||||
echo "Try '$0 --help' for more information" | |||||
-- | |||||
1.8.3.1 | |||||
@ -1,11 +0,0 @@ | |||||
--- a/rules.mak.orig 2016-11-22 13:30:40.933006727 +0800 | |||||
+++ b/rules.mak 2016-11-22 13:30:47.229008698 +0800 | |||||
@@ -70,7 +70,7 @@ LINK = $(call quiet-command, $(LINKPROG) | |||||
$(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -o $@ $<," CPP $(TARGET_DIR)$@") | |||||
%.o: %.asm | |||||
- $(call quiet-command,$(AS) $(ASFLAGS) -o $@ $<," AS $(TARGET_DIR)$@") | |||||
+ $(call quiet-command,$(AS) $(ASFLAGS) -o $@ -x assembler $<," AS $(TARGET_DIR)$@") | |||||
%.o: %.cc | |||||
$(call quiet-command,$(CXX) $(QEMU_INCLUDES) $(QEMU_CXXFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) $($@-cflags) -c -o $@ $<," CXX $(TARGET_DIR)$@") |
@ -1,14 +0,0 @@ | |||||
--- a/configure.orig 2016-11-22 17:35:12.069598617 +0800 | |||||
+++ b/configure 2016-11-22 18:24:01.042515353 +0800 | |||||
@@ -1789,7 +1789,10 @@ static void foo(void) __attribute__((ifu | |||||
int main(void) { foo(); return 0; } | |||||
EOF | |||||
if compile_prog "-mavx2" "" ; then | |||||
- if readelf --syms $TMPE |grep "IFUNC.*foo" >/dev/null 2>&1; then | |||||
+ if readelf --program-headers $TMPE | grep -iq 'Requesting program interpreter: .*ld-musl'; then | |||||
+ # ifunc support is not available with dynamic linker of musl | |||||
+ avx2_opt="no" | |||||
+ elif readelf --syms $TMPE |grep "IFUNC.*foo" >/dev/null 2>&1; then | |||||
avx2_opt="yes" | |||||
fi | |||||
fi |
@ -0,0 +1,35 @@ | |||||
From b6d4bff30f2bdc3a6f26c9f6c7f32e352270d119 Mon Sep 17 00:00:00 2001 | |||||
From: Yousong Zhou <yszhou4tech@gmail.com> | |||||
Date: Sat, 24 Feb 2018 13:46:31 +0800 | |||||
Subject: [PATCH 3/3] pc-bios: fix compilation when $(AS) is actually gcc | |||||
driver | |||||
--- | |||||
pc-bios/optionrom/Makefile | 4 ++-- | |||||
1 file changed, 2 insertions(+), 2 deletions(-) | |||||
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile | |||||
index a9a9e5e..f88b3ee 100644 | |||||
--- a/pc-bios/optionrom/Makefile | |||||
+++ b/pc-bios/optionrom/Makefile | |||||
@@ -34,7 +34,7 @@ endif | |||||
QEMU_INCLUDES += -I$(SRC_PATH) | |||||
Wa = -Wa, | |||||
-ASFLAGS += -32 | |||||
+ASFLAGS += $(Wa)-32 | |||||
QEMU_CFLAGS += $(call cc-c-option, $(QEMU_CFLAGS), $(Wa)-32) | |||||
build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin | |||||
@@ -44,7 +44,7 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin | |||||
%.o: %.S | |||||
- $(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@,"AS","$(TARGET_DIR)$@") | |||||
+ $(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@ -x assembler -,"AS","$(TARGET_DIR)$@") | |||||
%.img: %.o | |||||
$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -T $(SRC_PATH)/pc-bios/optionrom/flat.lds -s -o $@ $<,"BUILD","$(TARGET_DIR)$@") | |||||
-- | |||||
1.8.3.1 | |||||
@ -1,10 +0,0 @@ | |||||
--- a/pixman/configure.ac.orig 2016-11-22 20:44:21.205150763 +0800 | |||||
+++ b/pixman/configure.ac 2016-11-22 20:44:55.505161500 +0800 | |||||
@@ -720,7 +720,6 @@ dnl Check if assembler is gas compatible | |||||
have_mips_dspr2=no | |||||
AC_MSG_CHECKING(whether to use MIPS DSPr2 assembler) | |||||
xserver_save_CFLAGS=$CFLAGS | |||||
-CFLAGS="-mdspr2 $CFLAGS" | |||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | |||||
#if !(defined(__mips__) && __mips_isa_rev >= 2) |
@ -1,17 +0,0 @@ | |||||
--- a/pixman/pixman/pixman-private.h.orig 2016-11-22 22:10:33.574769654 +0800 | |||||
+++ b/pixman/pixman/pixman-private.h 2016-11-22 22:10:47.638774056 +0800 | |||||
@@ -1,5 +1,3 @@ | |||||
-#include <float.h> | |||||
- | |||||
#ifndef PIXMAN_PRIVATE_H | |||||
#define PIXMAN_PRIVATE_H | |||||
@@ -17,6 +15,8 @@ | |||||
#ifndef __ASSEMBLER__ | |||||
+#include <float.h> | |||||
+ | |||||
#ifndef PACKAGE | |||||
# error config.h must be included before pixman-private.h | |||||
#endif |