summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-01-31 11:01:29 -0800
committerH. Peter Anvin <hpa@zytor.com>2007-01-31 11:01:29 -0800
commite28c72aaef6fc061e932ac1dd9be83fe62f1394d (patch)
treecf1e6f571f1679e502a6818a5c3a2d2eae9f4255
parentb975c239110ad83691c6c5084a6f588e0ecffe32 (diff)
parentaa4b75f7257966f14940848366fa16087debe820 (diff)
downloadsyslinux-e28c72aaef6fc061e932ac1dd9be83fe62f1394d.tar.gz
Merge with git+ssh://master.kernel.org/pub/scm/boot/syslinux/syslinux.git#syslinux-3.3x
-rw-r--r--Makefile7
-rw-r--r--Makefile.private6
-rw-r--r--NEWS2
-rw-r--r--TODO19
-rw-r--r--com32/lib/MCONFIG2
-rw-r--r--config.inc4
-rw-r--r--memdisk/Makefile26
-rw-r--r--memdisk/version.h4
-rw-r--r--sample/Makefile6
-rw-r--r--syslinux.spec.in14
10 files changed, 49 insertions, 41 deletions
diff --git a/Makefile b/Makefile
index aaa2ff52..7673cf5c 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,7 @@ PERL = perl
VERSION = $(shell cat version)
-.c.o:
+%.o: %.c
$(CC) $(INCLUDE) $(CFLAGS) -c $<
#
@@ -196,9 +196,8 @@ libsyslinux.a: bootsect_bin.o ldlinux_bin.o mbr_bin.o syslxmod.o
$(LIB_SO): bootsect_bin.o ldlinux_bin.o syslxmod.o
$(CC) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) -o $@ $^
-gethostip.o: gethostip.c
-
gethostip: gethostip.o
+ $(CC) $(LDFLAGS) -o $@ $^
mkdiskimage: mkdiskimage.in mbr.bin bin2hex.pl
$(PERL) bin2hex.pl < mbr.bin | cat mkdiskimage.in - > $@
@@ -264,4 +263,4 @@ klibc:
-include Makefile.private
# Include dependencies file
--include .depend
+include .depend
diff --git a/Makefile.private b/Makefile.private
index ddbf75b0..63a3bbdf 100644
--- a/Makefile.private
+++ b/Makefile.private
@@ -1,6 +1,6 @@
## -*- makefile -*- ------------------------------------------------------
##
-## Copyright 2000-2006 H. Peter Anvin - All Rights Reserved
+## Copyright 2000-2007 H. Peter Anvin - All Rights Reserved
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
PRIVATE = Makefile.private .depend */.depend
GIT_DIR ?= .git
-ABS_GIT_DIR := $(shell cd '$(GIT_DIR)' && pwd)
+ABS_GIT_DIR := $(shell cd '$(GIT_DIR)' 2>/dev/null && pwd)
-include release/Makefile.secret
@@ -43,7 +43,7 @@ official:
release:
test -d release
rm -f '$(GIT_DIR)'/refs/tags/syslinux-$(VERSION)
- cg-tag syslinux-$(VERSION)
+ cg-tag -f syslinux-$(VERSION)
-rm -rf release/syslinux-$(VERSION)
-rm -f release/syslinux-$(VERSION).*
cd release && env GIT_DIR='$(ABS_GIT_DIR)' cg-export -r syslinux-$(VERSION) syslinux-$(VERSION)
diff --git a/NEWS b/NEWS
index 4ef8cd9a..2fdb2ca7 100644
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,8 @@ Changes in 3.35:
To install ldlinux.sys in a subdirectory, pass the -d
directory option to the SYSLINUX installer.
+
+ This work was sponsored by slax.org (thanks, Tomas!)
* New API call: read disk.
* Invoke ONERROR on initrd load failure.
diff --git a/TODO b/TODO
index 42a578e4..e2aacca6 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
*** To do in the short term:
-- PXELINUX: Figure out localboot/idle problems
+- PXELINUX: Figure out localboot/idle problems.
- PXELINUX: Support changing the default server and boot file prefix?
@@ -10,6 +10,10 @@
- Library support for all the comboot system calls.
+- Deal with non-512-byte sectors (if I can get media which does...)
+
+- Add support for getting the hardware address on Infinibad.
+
*** Future projects:
@@ -17,15 +21,14 @@
- Cleaned up documentation, with a real man page.
-- Subdirectory support in SYSLINUX.
-
- Support files that span multiple input media (SYSLINUX)
-> Seems to be getting less important; floppies are dying?
-- Clean up the handling of sections
+- Clean up the handling of sections.
+
+- API call to get directory listing.
+
+- COM32-based CLI.
-- Add "localboot" support to SYSLINUX (using the ISOLINUX feature
- set.)
- OBSOLETE: chain.c32 is probably better.
+- Rewrite the filesystems to run in protected mode C code.
-- API call to get directory listing
diff --git a/com32/lib/MCONFIG b/com32/lib/MCONFIG
index b542196e..39b62db1 100644
--- a/com32/lib/MCONFIG
+++ b/com32/lib/MCONFIG
@@ -12,7 +12,7 @@ OBJCOPY = objcopy
# zlib and libpng configuration flags
LIBFLAGS = -DDYNAMIC_CRC_TABLE -DPNG_NO_CONSOLE_IO \
- -FPNG_NO_WRITE_SUPPORTED \
+ -DPNG_NO_WRITE_SUPPORTED \
-DPNG_NO_MNG_FEATURES \
-DPNG_NO_READ_tIME -DPNG_NO_WRITE_tIME
diff --git a/config.inc b/config.inc
index d4220ef9..32bb62c2 100644
--- a/config.inc
+++ b/config.inc
@@ -1,6 +1,6 @@
;; -----------------------------------------------------------------------
;;
-;; Copyright 2002-2005 H. Peter Anvin - All Rights Reserved
+;; Copyright 2002-2007 H. Peter Anvin - All Rights Reserved
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -38,6 +38,6 @@ BAUD_DIVISOR equ 115200 ; Serial port parameter
;
%define version_str VERSION ; Must be 4 characters long!
%define date DATE_STR ; Defined from the Makefile
-%define year '2005'
+%define year '2007'
%endif ; _CONFIG_INC
diff --git a/memdisk/Makefile b/memdisk/Makefile
index f628ff24..1eebe637 100644
--- a/memdisk/Makefile
+++ b/memdisk/Makefile
@@ -1,6 +1,6 @@
## -----------------------------------------------------------------------
##
-## Copyright 2001-2004 H. Peter Anvin - All Rights Reserved
+## Copyright 2001-2007 H. Peter Anvin - All Rights Reserved
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -19,11 +19,12 @@ M32 := $(call gcc_ok,-m32,)
ALIGN := $(call gcc_ok,-falign-functions=0 -falign-jumps=0 -falign-loops=0,-malign-functions=0 -malign-jumps=0 -malign-loops=0)
FREE := $(call gcc_ok,-ffreestanding,)
-CC = gcc $(M32) $(FREE)
-CFLAGS = -g -W -Wall -Wno-sign-compare \
+CC = gcc
+CFLAGS = $(M32) $(FREE) -g -W -Wall -Wno-sign-compare \
-Os -fomit-frame-pointer -march=i386 $(ALIGN) \
-DVERSION='"$(VERSION)"' -DDATE='"$(DATE)"'
-LDFLAGS = -g
+SFLAGS = $(M32) -march=i386 -D__ASSEMBLY__
+LDFLAGS = $(M32) -g
INCLUDE = -I../com32/include
LD = ld -m elf_i386
NASM = nasm -O99
@@ -38,7 +39,7 @@ OBJS32 = start32.o setup.o msetup.o e820func.o conio.o memcpy.o memset.o \
unzip.o memdisk.o
CSRC = setup.c msetup.c e820func.c conio.c unzip.c
-SSRC =
+SSRC = start32.S memcpy.S memset.S
NASMSRC = memdisk.asm memdisk16.asm
all: memdisk e820test
@@ -57,10 +58,13 @@ spotless: clean
$(NASM) $(NFLAGS) -f elf -l $*.lst -o $@ $<
%.o: %.s
- $(CC) -x assembler -c -o $@ $<
+ $(CC) $(SFLAGS) -c -o $@ $<
+
+%.o: %.S
+ $(CC) $(INCLUDE) $(SFLAGS) -c -o $@ $<
%.o16: %.s16
- $(CC) -x assembler -c -o $@ $<
+ $(CC) $(SFLAGS) -x assembler -c -o $@ $<
%.o: %.c
$(CC) $(INCLUDE) $(CFLAGS) -c -o $@ $<
@@ -69,10 +73,10 @@ spotless: clean
echo '.code16gcc' | cat - $< > $@
%.s: %.S
- $(CC) $(INCLUDE) $(CFLAGS) -D__ASSEMBLY__ -E -o $@ $<
+ $(CC) $(INCLUDE) $(SFLAGS) -E -o $@ $<
%.s16: %.S16
- $(CC) $(INCLUDE) $(CFLAGS) -D__ASSEMBLY__ -E -o $@ $<
+ $(CC) $(INCLUDE) $(SFLAGS) -x assembler-with-cpp -E -o $@ $<
%.s: %.c
$(CC) $(INCLUDE) $(CFLAGS) -S -o $@ $<
@@ -106,8 +110,8 @@ memdisk.o: memdisk.bin
.depend:
rm -f .depend
- for csrc in *.c ; do $(CC) $(INCLUDE) -MM $$csrc | sed -e 's/\.o/\.s/' >> .depend ; done
- for ssrc in $(SSRC) ; do $(CC) $(INCLUDE) -x c -traditional -MM $$ssrc | sed -e 's/\.S16\.o/\.o16/' >> .depend ; done
+ for csrc in *.c ; do $(CC) $(INCLUDE) $(CFLAGS) -MM $$csrc >> .depend ; done
+ for ssrc in *.S ; do $(CC) $(INCLUDE) $(SFLAGS) -MM $$ssrc >> .depend ; done
for nsrc in $(NASMSRC) ; do $(NASM) -DDEPEND $(NINCLUDE) -o `echo $$nsrc | sed -e 's/\.asm/\.bin/'` -M $$nsrc >> .depend ; done
depend:
diff --git a/memdisk/version.h b/memdisk/version.h
index 9d457388..ceca7961 100644
--- a/memdisk/version.h
+++ b/memdisk/version.h
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------- *
*
- * Copyright 2002 H. Peter Anvin - All Rights Reserved
+ * Copyright 2002-2007 H. Peter Anvin - All Rights Reserved
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,6 +20,6 @@
#define MEMDISK_VERSION_H
#define FIRSTYEAR "2001"
-#define COPYYEAR "2005"
+#define COPYYEAR "2007"
#endif
diff --git a/sample/Makefile b/sample/Makefile
index b92f820b..e24ab5be 100644
--- a/sample/Makefile
+++ b/sample/Makefile
@@ -19,13 +19,13 @@ gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \
M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-ffreestanding,)
-CC = gcc $(M32)
+CC = gcc
LD = ld -m elf_i386
AR = ar
NASM = nasm
RANLIB = ranlib
-CFLAGS = -W -Wall -march=i386 -Os -fomit-frame-pointer -I../com32/include
-SFLAGS = -march=i386
+CFLAGS = $(M32) -W -Wall -march=i386 -Os -fomit-frame-pointer -I../com32/include
+SFLAGS = $(M32) -march=i386
LDFLAGS = -s
OBJCOPY = objcopy
PPMTOLSS16 = ../ppmtolss16
diff --git a/syslinux.spec.in b/syslinux.spec.in
index d635d4f9..115a6f20 100644
--- a/syslinux.spec.in
+++ b/syslinux.spec.in
@@ -15,10 +15,10 @@ BuildPrereq: nasm >= 0.98.38, perl
Autoreq: 0
%ifarch x86_64
Requires: mtools, libc.so.6()(64bit)
-%define mflag
+%define my_cc gcc
%else
Requires: mtools, libc.so.6
-%define mflag -m32
+%define my_cc gcc -m32
%endif
# NOTE: extlinux belongs in /sbin, not in /usr/sbin, since it is typically
@@ -63,9 +63,9 @@ booting in the /tftpboot directory.
%setup -q -n syslinux-%{VERSION}
%build
-make CC='gcc %{mflag}' clean
-make CC='gcc %{mflag}' installer
-make CC='gcc %{mflag}' -C sample tidy
+make CC='%{my_cc}' clean
+make CC='%{my_cc}' installer
+make CC='%{my_cc}' -C sample tidy
%install
rm -rf %{buildroot}
@@ -74,10 +74,10 @@ mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_datadir}/syslinux
mkdir -p %{buildroot}%{_includedir}
mkdir -p %{buildroot}/boot %{buildroot}/tftpboot/pxelinux.cfg
-make CC='gcc %{mflag}' install-all \
+make CC='%{my_cc}' install-all \
INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_sbindir} \
LIBDIR=%{_datadir} INCDIR=%{_includedir}
-make CC='gcc %{mflag}' -C sample tidy
+make CC='%{my_cc}' -C sample tidy
cp mkdiskimage sys2ansi.pl keytab-lilo.pl %{buildroot}%{_datadir}/syslinux
cp %{buildroot}%{_datadir}/syslinux/*.c32 %{buildroot}/boot
cp %{buildroot}%{_datadir}/syslinux/memdisk %{buildroot}/boot