Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   riastradh
Date:           Wed Dec 17 01:32:55 UTC 2025

Modified Files:
        src/libexec/ld.elf_so: Makefile
        src/share/mk: bsd.prog.mk

Log Message:
bsd.prog.mk: Fix parallel builds of debug data.

Previously, we had one rule to generate foo, and another rule to
derive foo.debug from it with objcopy -- and then rewrite foo _in
place_ to strip the debug data with objcopy.

This is wrong -- one rule should never overwrite another rule's
target; this violates the contract with make(1), and can lead it to
run rules in parallel on files that are changing, which in turn can
lead the rules to behave mysteriously or crash.

It's still not clear why in our autobuilds, the only cases where we
saw these crashes were in mips64 builds of programs that use
compat/exec.mk (mainly external/bsd/ipf/bin/ipftest, but also
usr.sbin/crash and usr.bin/systat).  But the bug this change fixes is
well-understood, and now someone has observed it in a non-mips build,
so I'm throwing in the towel on figuring out what makes these
particular programs more likely to trigger the problem.

PR toolchain/57241: mips64el--netbsd-install core dumps randomly


To generate a diff of this commit:
cvs rdiff -u -r1.151 -r1.152 src/libexec/ld.elf_so/Makefile
cvs rdiff -u -r1.359 -r1.360 src/share/mk/bsd.prog.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index