Make.config: Use a different method to detect --build-id support.
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 1 May 2010 18:20:14 +0000 (11:20 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 1 May 2010 18:20:14 +0000 (11:20 -0700)
Some versions of ld accept /dev/null as a valid input file.  Others will
not.  The latter versions will give false negatives for --buil-id support,
which breaks linking of Pintos userspace programs.  So use a different
method, that I hope will be more reliable, to detect --build-id support.

Reported by Joseph Huang <jdhuang@stanford.edu>.

src/Make.config

index 3279301160d7462aa3017c011a76a920189200db..40feba6347ec7b6b6f7ab2a396cd64886bab7c17 100644 (file)
@@ -45,7 +45,7 @@ CFLAGS += -fno-stack-protector
 endif
 
 # Turn off --build-id in the linker, which confuses the Pintos loader.
-ifeq ($(strip $(shell $(LD) --build-id=none -e 0 /dev/null -o /dev/null 2>&1; echo $$?)),0)
+ifeq ($(strip $(shell $(LD) --help | grep -q build-id; echo $$?)),0)
 LDFLAGS += -Wl,--build-id=none
 endif