Revision: 6159
http://ipcop.svn.sourceforge.net/ipcop/?rev=6159&view=rev
Author: gespinasse
Date: 2011-12-10 19:32:21 +0000 (Sat, 10 Dec 2011)
Log Message:
-----------
Upgrade syslinux to 4.05 and use .xz package
Keep on tree the patch needed due to our gcc hardened by default.
Patch is only required if full recompilation is needed (due to patching or a
compilation issue)
Modified Paths:
--------------
ipcop/trunk/config/rootfiles/arch_i486/syslinux
ipcop/trunk/lfs/syslinux
Added Paths:
-----------
ipcop/trunk/src/patches/syslinux-4.05_nopie.patch
Modified: ipcop/trunk/config/rootfiles/arch_i486/syslinux
===================================================================
--- ipcop/trunk/config/rootfiles/arch_i486/syslinux 2011-12-10 18:28:44 UTC
(rev 6158)
+++ ipcop/trunk/config/rootfiles/arch_i486/syslinux 2011-12-10 19:32:21 UTC
(rev 6159)
@@ -1,5 +1,3 @@
-## syslinux-4.04
-##
boot/extlinux.conf
boot/mbr.bin
boot/splash.png
@@ -42,6 +40,7 @@
#usr/share/syslinux/com32/include/bitsize/stdint.h
#usr/share/syslinux/com32/include/bitsize/stdintconst.h
#usr/share/syslinux/com32/include/bitsize/stdintlimits.h
+#usr/share/syslinux/com32/include/bufprintf.h
#usr/share/syslinux/com32/include/colortbl.h
#usr/share/syslinux/com32/include/com32.h
#usr/share/syslinux/com32/include/console.h
@@ -103,6 +102,8 @@
#usr/share/syslinux/com32/include/gplinclude/memory.h
#usr/share/syslinux/com32/include/gplinclude/vpd
#usr/share/syslinux/com32/include/gplinclude/vpd/vpd.h
+#usr/share/syslinux/com32/include/gplinclude/zzjson
+#usr/share/syslinux/com32/include/gplinclude/zzjson/zzjson.h
#usr/share/syslinux/com32/include/ilog2.h
#usr/share/syslinux/com32/include/inttypes.h
#usr/share/syslinux/com32/include/klibc
@@ -175,6 +176,7 @@
#usr/share/syslinux/com32/include/zlib.h
#usr/share/syslinux/com32/libcom32.a
#usr/share/syslinux/com32/libcom32gpl.a
+#usr/share/syslinux/com32/libcom32upload.a
#usr/share/syslinux/com32/libutil_com.a
#usr/share/syslinux/com32/libutil_lnx.a
#usr/share/syslinux/config.c32
@@ -244,3 +246,4 @@
#usr/share/syslinux/vesamenu.c32
#usr/share/syslinux/vpdtest.c32
#usr/share/syslinux/whichsys.c32
+#usr/share/syslinux/zzjson.c32
Modified: ipcop/trunk/lfs/syslinux
===================================================================
--- ipcop/trunk/lfs/syslinux 2011-12-10 18:28:44 UTC (rev 6158)
+++ ipcop/trunk/lfs/syslinux 2011-12-10 19:32:21 UTC (rev 6159)
@@ -33,12 +33,12 @@
include Config
PKG_NAME = syslinux
-VER = 4.04
+VER = 4.05
HOST_ARCH = i486
OTHER_SRC = yes
THISAPP = $(PKG_NAME)-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_KERNEL)/linux/utils/boot/syslinux
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(STAGE_ORDER)_$(STAGE)/$(THISAPP)
@@ -54,7 +54,7 @@
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a3936208767eb7ced65320abe2e33a10
+$(DL_FILE)_MD5 = d364ec30dbe80f0c4adb56b82ae6e26e
install : $(TARGET)
@@ -83,13 +83,14 @@
$(TARGET) : $(firstword $(MAKEFILE_LIST)) $(patsubst %,$(DIR_DL)/%,$(objects))
$(DIR_SRC)/config/arch/i486/extlinux.conf
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xf $(DIR_DL)/$(DL_FILE)
- # 4.0.4-pre1{3,4} were badly compiled, so full recompilation was
required
- #cd $(DIR_APP) && make spotless && make
+ # Patching is only required if full recompilation is needed
+ # If full recompilation is required, uncomment both
+ #cd $(DIR_APP) && patch -p1 -i
$(DIR_PATCHES)/$(PKG_NAME)-4.05_nopie.patch
+ #cd $(DIR_APP) && make -s --no-print-directory spotless && make V=1
- # the recommended way is to use precompiled ldlinux.asm
- # but installer could be recompiled
+ # The recommended way is to use precompiled ldlinux.asm and only
compile installer
cd $(DIR_APP) && make installer
cd $(DIR_APP) && make install
Added: ipcop/trunk/src/patches/syslinux-4.05_nopie.patch
===================================================================
--- ipcop/trunk/src/patches/syslinux-4.05_nopie.patch
(rev 0)
+++ ipcop/trunk/src/patches/syslinux-4.05_nopie.patch 2011-12-10 19:32:21 UTC
(rev 6159)
@@ -0,0 +1,53 @@
+From 8191b98d79177c9cb6aee459c6c8a6a77cc81dd1 Mon Sep 17 00:00:00 2001
+From: Gilles Espinasse <[email protected]>
+Date: Fri, 9 Dec 2011 12:22:44 +0100
+Subject: [PATCH] Fix compilation when gcc is patched to default to -fPIE
-Wl,-pie
+
+gcc hardened by default is seen on gentoo, alt-linux, HLFS, etc.
+
+Patch fix on syslinux this error during gpxe compilation:
+ [BUILD] bin/cpu.o
+arch/i386/core/cpu.c: In function 'get_cpuinfo':
+arch/i386/include/bits/cpu.h:79: error: can't find a register in class 'BREG'
while reloading 'asm'
+arch/i386/include/bits/cpu.h:79: error: can't find a register in class 'BREG'
while reloading 'asm'
+arch/i386/include/bits/cpu.h:79: error: can't find a register in class 'BREG'
while reloading 'asm'
+arch/i386/include/bits/cpu.h:79: error: can't find a register in class 'BREG'
while reloading 'asm'
+arch/i386/include/bits/cpu.h:79: error: 'asm' operand has impossible
constraints
+arch/i386/include/bits/cpu.h:79: error: 'asm' operand has impossible
constraints
+arch/i386/include/bits/cpu.h:79: error: 'asm' operand has impossible
constraints
+arch/i386/include/bits/cpu.h:79: error: 'asm' operand has impossible
constraints
+make[3]: *** [bin/cpu.o] Error 1
+
+Mostly same fix has been applied on ipxe tree, the only change is on the
variable name to hold the flags.
+Compile tested against 4.05-pre7
+
+Signed-off-by: Gilles Espinasse <[email protected]>
+---
+ gpxe/src/Makefile.housekeeping | 11 +++++++++++
+ 1 files changed, 11 insertions(+), 0 deletions(-)
+
+diff --git a/gpxe/src/Makefile.housekeeping b/gpxe/src/Makefile.housekeeping
+index 1f5e115..d351a52 100644
+--- a/gpxe/src/Makefile.housekeeping
++++ b/gpxe/src/Makefile.housekeeping
+@@ -134,6 +134,17 @@ SP_FLAGS := $(shell $(SP_TEST) && $(ECHO)
'-fno-stack-protector')
+ 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')
++CFLAGS += $(PIE_FLAGS)
++endif
++
+ # gcc 4.4 generates .eh_frame sections by default, which distort the
+ # output of "size". Inhibit this.
+ #
+--
+1.5.6.5
+
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn