Summary
Older versions of make would occasionally fail to realize
that a pre-requisite for the a.out target has changed. This
resulted in roughly 1 out of 10 test runs to fail. Instead of
relying on make to resolve this dependency simply remove the
file before rebuilding; this will give make no option but to
remake a.out.
Testing
- Confirmed that the test passes on the host for 100 runs where without the patch it would fail after ~10
Details
Adding -d to lldbtest's make invocation and running the
test without this patch sometimes yielded:
Removing child 0x600000308ff0 PID 19915 from chain. Successfully remade target file `rebuild.o'. Finished prerequisites of target file `a.out'. Prerequisite `rebuild.o' is newer than target `a.out'. No need to remake target `a.out'.