On 05/05/2010 04:53 PM, Naphtali Sprei wrote:
commit 848bd0c89c83814023cf51c72effdbc7de0d18b7 causes the linker script itself (flat.lds) to become part of the linked objects, which messed the output file, specifically, the symbol edata is not the last symbol anymore. change v1 -> v2 Instead of dropping the dependency, put it on a separate line/rule, so the lds file will not be considered as one of the dependencies in the linking line/rule. FLATLIBS = test/lib/libcflat.a $(libgcc) -%.flat: %.o $(FLATLIBS) flat.lds +%.flat: flat.lds +%.flat: %.o $(FLATLIBS) $(CC) $(CFLAGS) -nostdlib -o $@ -Wl,-T,flat.lds $^ $(FLATLIBS)
I don't think that works - $^ selects all prerequisites, not just the ones in the line for the make rule.
prereq-%: touch $@ dummy: prereq-1 dummy: prereq-2 echo $^ $ make dummy touch prereq-2 touch prereq-1 echo prereq-2 prereq-1 prereq-2 prereq-1 -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html