aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2025-10-10 20:13:58 +0000
committerColin Percival <cperciva@FreeBSD.org>2025-10-10 20:51:44 +0000
commit0abc05296636fe5fd7dbe88c7bc06413434da730 (patch)
treef21a97d5ea61ffa445b8e748d05d4ffc7ff342d1
parentb84e5059dbdd3f17c4f11e1b6dd21c80c0ff6b8d (diff)
sockstat: Fix build reproducibility
Both usr.bin/sockstat and usr.bin/sockstat/tests build the file src/usr.bin/sockstat/sockstat.c. Unfortunately, they place the resulting object file in the same place, but produce different files due to paths appearing in the .debug files; this results in different binaries depending on how the race between the two builds ends. Use .PATH to tell make to find sockstat.c in the parent directory but place the object file in the current object directory, rather than placing '..' into the name of the source file. Suggested by: bdrewery, emaste, jrtc27 MFC after: 5 minutes (15.0 build fix) Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D53032 (cherry picked from commit 9934558460e4e73e5b55648c4b13a702f4f019d7)
-rw-r--r--usr.bin/sockstat/tests/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.bin/sockstat/tests/Makefile b/usr.bin/sockstat/tests/Makefile
index 9971bca2d474..5412e9d842aa 100644
--- a/usr.bin/sockstat/tests/Makefile
+++ b/usr.bin/sockstat/tests/Makefile
@@ -1,5 +1,6 @@
ATF_TESTS_C+= sockstat_test
-SRCS.sockstat_test= sockstat_test.c ../sockstat.c
+SRCS.sockstat_test= sockstat_test.c sockstat.c
+.PATH: ${.CURDIR:H}
LIBADD= xo