diff options
author | Luciano Rocha <strange@nsk.no-ip.org> | 2007-05-23 21:50:16 +0100 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-05-25 15:01:09 -0700 |
commit | 1d81d5e3944dd5ac912150bc705fa7259eade541 (patch) | |
tree | e2b2854cb4c660521d4e3b413c944816daaa800e | |
parent | 7f2f6e3cec8eca7710acdd0b82b095834aecd400 (diff) | |
download | syslinux-1d81d5e3944dd5ac912150bc705fa7259eade541.tar.gz |
Don't clobber /dev/null when compiling as root
Compiling as root is highly discouraged, but some people do it anyway.
gcc_ok, however, can clobber /dev/null due to "-o /dev/null"; this is
bad. Instead, write a temporary file and delete it.
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | com32/lib/MCONFIG | 6 | ||||
-rw-r--r-- | com32/libutil/Makefile | 6 | ||||
-rw-r--r-- | com32/modules/Makefile | 6 | ||||
-rw-r--r-- | com32/samples/Makefile | 6 | ||||
-rw-r--r-- | dos/Makefile | 6 | ||||
-rw-r--r-- | extlinux/Makefile | 6 | ||||
-rw-r--r-- | mbr/Makefile | 6 | ||||
-rw-r--r-- | memdisk/Makefile | 6 | ||||
-rw-r--r-- | menu/Makefile | 6 | ||||
-rw-r--r-- | mtools/Makefile | 6 | ||||
-rw-r--r-- | sample/Makefile | 6 | ||||
-rw-r--r-- | unix/Makefile | 6 |
13 files changed, 52 insertions, 26 deletions
@@ -17,8 +17,10 @@ # No builtin rules MAKEFLAGS = -r -gcc_ok = $(shell if gcc $(1) dummy.c -o /dev/null 2>/dev/null; \ - then echo '$(1)'; else echo '$(2)'; fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) dummy.c -o $$tmpf 2>/dev/null; \ + then echo '$(1)'; else echo '$(2)'; fi; rm -f $$tmpf) comma := , LDHASH := $(call gcc_ok,-Wl$(comma)--hash-style=both,) diff --git a/com32/lib/MCONFIG b/com32/lib/MCONFIG index 461ada44..781292ba 100644 --- a/com32/lib/MCONFIG +++ b/com32/lib/MCONFIG @@ -1,7 +1,9 @@ # -*- makefile -*- -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) GCCOPT := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) diff --git a/com32/libutil/Makefile b/com32/libutil/Makefile index 1dac1f76..15393533 100644 --- a/com32/libutil/Makefile +++ b/com32/libutil/Makefile @@ -29,8 +29,10 @@ ## Utility companion library for the COM32 library ## -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) diff --git a/com32/modules/Makefile b/com32/modules/Makefile index bef45a87..9be0b85a 100644 --- a/com32/modules/Makefile +++ b/com32/modules/Makefile @@ -14,8 +14,10 @@ ## samples for syslinux users ## -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) diff --git a/com32/samples/Makefile b/com32/samples/Makefile index b694a489..b2544e6d 100644 --- a/com32/samples/Makefile +++ b/com32/samples/Makefile @@ -14,8 +14,10 @@ ## samples for syslinux users ## -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) diff --git a/dos/Makefile b/dos/Makefile index 5fd52d1b..53406b19 100644 --- a/dos/Makefile +++ b/dos/Makefile @@ -1,5 +1,7 @@ -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-ffreestanding,) $(call gcc_ok,-fno-stack-protector,) diff --git a/extlinux/Makefile b/extlinux/Makefile index 8d347a98..d2ea6f9b 100644 --- a/extlinux/Makefile +++ b/extlinux/Makefile @@ -1,5 +1,7 @@ -gcc_ok = $(shell if gcc $(1) ../dummy.c -o /dev/null 2>/dev/null; \ - then echo '$(1)'; else echo '$(2)'; fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) ../dummy.c -o $$tmpf 2>/dev/null; \ + then echo '$(1)'; else echo '$(2)'; fi; rm -f $$tmpf) comma := , LDHASH := $(call gcc_ok,-Wl$(comma)--hash-style=both,) diff --git a/mbr/Makefile b/mbr/Makefile index 7662a0a3..87744131 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -14,8 +14,10 @@ # Makefile for MBR # -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-ffreestanding,) $(call gcc_ok,-fno-stack-protector) diff --git a/memdisk/Makefile b/memdisk/Makefile index 72234cab..161a163e 100644 --- a/memdisk/Makefile +++ b/memdisk/Makefile @@ -12,8 +12,10 @@ VERSION := $(shell cat ../version) -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) 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) diff --git a/menu/Makefile b/menu/Makefile index cee1c3af..702f4563 100644 --- a/menu/Makefile +++ b/menu/Makefile @@ -14,8 +14,10 @@ ## samples for syslinux users ## -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) diff --git a/mtools/Makefile b/mtools/Makefile index 546e3d14..16d63a69 100644 --- a/mtools/Makefile +++ b/mtools/Makefile @@ -1,5 +1,7 @@ -gcc_ok = $(shell if gcc $(1) ../dummy.c -o /dev/null 2>/dev/null; \ - then echo '$(1)'; else echo '$(2)'; fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) ../dummy.c -o $$tmpf 2>/dev/null; \ + then echo '$(1)'; else echo '$(2)'; fi; rm -f $$tmpf) comma := , LDHASH := $(call gcc_ok,-Wl$(comma)--hash-style=both,) diff --git a/sample/Makefile b/sample/Makefile index f301b9f1..cc22a984 100644 --- a/sample/Makefile +++ b/sample/Makefile @@ -14,8 +14,10 @@ ## samples for syslinux users ## -gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ - then echo $(1); else echo $(2); fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ + then echo $(1); else echo $(2); fi; rm -f $$tmpf) M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-ffreestanding,) $(call gcc_ok,-fno-stack-protector,) diff --git a/unix/Makefile b/unix/Makefile index f0ab279a..b0465299 100644 --- a/unix/Makefile +++ b/unix/Makefile @@ -1,5 +1,7 @@ -gcc_ok = $(shell if gcc $(1) ../dummy.c -o /dev/null 2>/dev/null; \ - then echo '$(1)'; else echo '$(2)'; fi) +TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) + +gcc_ok = $(shell tmpf=$(TMPFILE); if gcc $(1) ../dummy.c -o $$tmpf 2>/dev/null; \ + then echo '$(1)'; else echo '$(2)'; fi; rm -f $$tmpf) comma := , LDHASH := $(call gcc_ok,-Wl$(comma)--hash-style=both,) |