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

Reply via email to