mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-04-22 06:02:18 +02:00
Build full Xen distribution. Changes since v4: * Removed "opts=" from xencommons init script. * Backported upstream patch to boot Syslinux PV-DomUs with pygrub (allows booting Alpine PV-DomUs). Changes since v3: * Added bash as a runtime dependency, since some hotplug scripts use that instead of /bin/sh. Changes since v2: * Clean and updated init scripts to be as similar as possible to upstream version. Changes since v1: * Removed net from xencommons dependencies and added udev.
166 lines
6.2 KiB
Diff
166 lines
6.2 KiB
Diff
# HG changeset patch
|
|
# Parent b60667a56ae085ee2bcea896887d0907fb86af41
|
|
ipxe: fix compilation issues with some gcc versions
|
|
|
|
Backported some changes from current ipxe, to fix a issue with some
|
|
new versions of gcc that add -fPIC by default, and compilation fails
|
|
with the following error:
|
|
|
|
arch/i386/core/cpu.c: In function 'get_cpuinfo':
|
|
arch/i386/include/bits/cpu.h:79:2: error: inconsistent operand
|
|
constraints in an 'asm'
|
|
arch/i386/include/bits/cpu.h:79:2: error: inconsistent operand
|
|
constraints in an 'asm'
|
|
arch/i386/include/bits/cpu.h:79:2: error: inconsistent operand
|
|
constraints in an 'asm'
|
|
arch/i386/include/bits/cpu.h:79:2: error: inconsistent operand
|
|
constraints in an 'asm'
|
|
|
|
Two patches from ipxe git have been added. The problem is reproducible
|
|
with at least this version of gcc:
|
|
|
|
Using built-in specs.
|
|
COLLECT_GCC=gcc
|
|
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-uclibc/4.6.2/lto-wrapper
|
|
Target: x86_64-alpine-linux-uclibc
|
|
Configured with:
|
|
/home/buildozer/aports/main/gcc/src/gcc-4.6.2/configure --prefix=/usr
|
|
--mandir=/usr/share/man --infodir=/usr/share/info
|
|
--build=x86_64-alpine-linux-uclibc --host=x86_64-alpine-linux-uclibc
|
|
--target=x86_64-alpine-linux-uclibc --with-pkgversion='Alpine
|
|
4.6.2-r1' --disable-altivec --disable-checking --disable-fixed-point
|
|
--disable-libssp --disable-libstdcxx-pch --disable-multilib
|
|
--disable-nls --disable-werror --enable-__cxa_atexit --enable-cld
|
|
--enable-esp --enable-cloog-backend
|
|
--enable-languages=c,c++,objc,java,go --enable-shared
|
|
--enable-target-optspace --enable-tls --enable-threads
|
|
--with-dynamic-linker=ld64-uClibc.so.0.9.32
|
|
--with-dynamic-linker-prefix=/lib --with-system-zlib
|
|
--without-system-libunwind
|
|
Thread model: posix
|
|
gcc version 4.6.2 (Alpine 4.6.2-r1)
|
|
|
|
Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
|
|
|
|
diff -r b60667a56ae0 tools/firmware/etherboot/patches/gpxe-git-b8924c1aed51
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/tools/firmware/etherboot/patches/gpxe-git-b8924c1aed51 Fri Dec 16 13:48:49 2011 +0100
|
|
@@ -0,0 +1,72 @@
|
|
+commit b8924c1aed512aa40cf28a43635df383880f771d
|
|
+Author: Michael Brown <mcb30@ipxe.org>
|
|
+Date: Wed Mar 16 19:30:42 2011 +0000
|
|
+
|
|
+ [build] Allow workaround-specific flags to override default flags
|
|
+
|
|
+ Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
|
+
|
|
+diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
|
|
+index 709f8de..78e78c9 100644
|
|
+--- a/src/Makefile.housekeeping
|
|
++++ b/src/Makefile.housekeeping
|
|
+@@ -109,6 +109,10 @@ VERYCLEANUP += .toolcheck
|
|
+ # Check for various tool workarounds
|
|
+ #
|
|
+
|
|
++WORKAROUND_CFLAGS :=
|
|
++WORKAROUND_ASFLAGS :=
|
|
++WORKAROUND_LDFLAGS :=
|
|
++
|
|
+ # Make syntax does not allow use of comma or space in certain places.
|
|
+ # This ugly workaround is suggested in the manual.
|
|
+ #
|
|
+@@ -119,7 +123,7 @@ SPACE := $(EMPTY) $(EMPTY)
|
|
+ # Check for an old version of gas (binutils 2.9.1)
|
|
+ #
|
|
+ OLDGAS := $(shell $(AS) --version | grep -q '2\.9\.1' && $(ECHO) -DGAS291)
|
|
+-CFLAGS += $(OLDGAS)
|
|
++WORKAROUND_CFLAGS += $(OLDGAS)
|
|
+ oldgas :
|
|
+ @$(ECHO) $(oldgas)
|
|
+
|
|
+@@ -131,7 +135,7 @@ ifeq ($(CCTYPE),gcc)
|
|
+ SP_TEST = $(CC) -fno-stack-protector -x c -c /dev/null \
|
|
+ -o /dev/null >/dev/null 2>&1
|
|
+ SP_FLAGS := $(shell $(SP_TEST) && $(ECHO) '-fno-stack-protector')
|
|
+-CFLAGS += $(SP_FLAGS)
|
|
++WORKAROUND_CFLAGS += $(SP_FLAGS)
|
|
+ endif
|
|
+
|
|
+ # gcc 4.4 generates .eh_frame sections by default, which distort the
|
|
+@@ -141,7 +145,7 @@ ifeq ($(CCTYPE),gcc)
|
|
+ CFI_TEST = $(CC) -fno-dwarf2-cfi-asm -x c -c /dev/null \
|
|
+ -o /dev/null >/dev/null 2>&1
|
|
+ CFI_FLAGS := $(shell $(CFI_TEST) && $(ECHO) '-fno-dwarf2-cfi-asm')
|
|
+-CFLAGS += $(CFI_FLAGS)
|
|
++WORKAROUND_CFLAGS += $(CFI_FLAGS)
|
|
+ endif
|
|
+
|
|
+ # Some versions of gas choke on division operators, treating them as
|
|
+@@ -150,7 +154,7 @@ endif
|
|
+ #
|
|
+ DIVIDE_TEST = $(AS) --divide /dev/null -o /dev/null 2>/dev/null
|
|
+ DIVIDE_FLAGS := $(shell $(DIVIDE_TEST) && $(ECHO) '--divide')
|
|
+-ASFLAGS += $(DIVIDE_FLAGS)
|
|
++WORKAROUND_ASFLAGS += $(DIVIDE_FLAGS)
|
|
+
|
|
+ ###############################################################################
|
|
+ #
|
|
+@@ -375,9 +379,9 @@ CFLAGS += -diag-disable 1419 # Missing prototypes
|
|
+ CFLAGS += -diag-disable 1599 # Hidden variables
|
|
+ CFLAGS += -Wall -Wmissing-declarations
|
|
+ endif
|
|
+-CFLAGS += $(EXTRA_CFLAGS)
|
|
+-ASFLAGS += $(EXTRA_ASFLAGS)
|
|
+-LDFLAGS += $(EXTRA_LDFLAGS)
|
|
++CFLAGS += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS)
|
|
++ASFLAGS += $(WORKAROUND_ASFLAGS) $(EXTRA_ASFLAGS)
|
|
++LDFLAGS += $(WORKAROUND_LDFLAGS) $(EXTRA_LDFLAGS)
|
|
+
|
|
+ # Inhibit -Werror if NO_WERROR is specified on make command line
|
|
+ #
|
|
diff -r b60667a56ae0 tools/firmware/etherboot/patches/gpxe-git-fe61f6de0dd5
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/tools/firmware/etherboot/patches/gpxe-git-fe61f6de0dd5 Fri Dec 16 13:48:49 2011 +0100
|
|
@@ -0,0 +1,32 @@
|
|
+commit fe61f6de0dd5d39ac3de5e8e18742f9bd0aafad7
|
|
+Author: Gilles Espinasse <g.esp@free.fr>
|
|
+Date: Tue Mar 29 15:30:11 2011 +0100
|
|
+
|
|
+ [build] Fix compilation when gcc is patched to default to -fPIE -Wl,-pie
|
|
+
|
|
+ Signed-off-by: Gilles Espinasse <g.esp@free.fr>
|
|
+ Modified-by: Michael Brown <mcb30@ipxe.org>
|
|
+ Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
|
+
|
|
+diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
|
|
+index 57e52c0..c184351 100644
|
|
+--- a/src/Makefile.housekeeping
|
|
++++ b/src/Makefile.housekeeping
|
|
+@@ -138,6 +138,17 @@ SP_FLAGS := $(shell $(SP_TEST) && $(ECHO) '-fno-stack-protector')
|
|
+ WORKAROUND_CFLAGS += $(SP_FLAGS)
|
|
+ endif
|
|
+
|
|
++# Some widespread patched versions of gcc include -fPIE -Wl,-pie by
|
|
++# default. Note that gcc will exit *successfully* if it fails to
|
|
++# recognise an option that starts with "no", so we have to test for
|
|
++# output on stderr instead of checking the exit status.
|
|
++#
|
|
++ifeq ($(CCTYPE),gcc)
|
|
++PIE_TEST = [ -z "`$(CC) -fno-PIE -nopie -x c -c /dev/null -o /dev/null 2>&1`" ]
|
|
++PIE_FLAGS := $(shell $(PIE_TEST) && $(ECHO) '-fno-PIE -nopie')
|
|
++WORKAROUND_CFLAGS += $(PIE_FLAGS)
|
|
++endif
|
|
++
|
|
+ # gcc 4.4 generates .eh_frame sections by default, which distort the
|
|
+ # output of "size". Inhibit this.
|
|
+ #
|
|
diff -r b60667a56ae0 tools/firmware/etherboot/patches/series
|
|
--- a/tools/firmware/etherboot/patches/series Fri Dec 16 10:47:18 2011 +0100
|
|
+++ b/tools/firmware/etherboot/patches/series Fri Dec 16 13:48:49 2011 +0100
|
|
@@ -1,3 +1,5 @@
|
|
boot_prompt_option.patch
|
|
gpxe-git-0edf2405b457
|
|
gpxe-git-a803ef3dfeac
|
|
+gpxe-git-b8924c1aed51
|
|
+gpxe-git-fe61f6de0dd5
|