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 <g....@free.fr> +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 <g....@free.fr> +--- + 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 Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn