git: d5af300a69f1 - main - Fix incremental builds after GoogleTest update
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 16 Aug 2023 17:39:38 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=d5af300a69f10e2cf9f1c03a317b7b49115927ed
commit d5af300a69f10e2cf9f1c03a317b7b49115927ed
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-08-15 21:14:26 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-08-16 17:39:22 +0000
Fix incremental builds after GoogleTest update
At the moment, several Makefiles under tests/ do not correctly generate
.depend files, which can lead to link errors when doing incremental
(e.g. WITHOUT_CLEAN) builds:
ld: error: undefined symbol: testing::internal::g_linked_ptr_mutex
>>> referenced by gtest-port.h:2137 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/private/gtest/internal/gtest-port.h:2137)
>>> mockfs.o:(testing::internal::linked_ptr_internal::depart())
>>> referenced by gtest-port.h:2139 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/private/gtest/internal/gtest-port.h:2139)
>>> mockfs.o:(testing::internal::linked_ptr_internal::depart())
>>> referenced by gtest-port.h:2139 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/private/gtest/internal/gtest-port.h:2139)
>>> mockfs.o:(testing::internal::linked_ptr_internal::depart())
>>> referenced 3 more times
For the time being, put in a depend-cleanup.sh workaround for this.
Reported by: des
Reviewed by: emaste
Fixes: 28f6c2f29280
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D41476
---
tools/build/depend-cleanup.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh
index 687f04f57f8c..6741c2285588 100755
--- a/tools/build/depend-cleanup.sh
+++ b/tools/build/depend-cleanup.sh
@@ -204,3 +204,10 @@ clean_dep lib/libc ffsll S
clean_dep lib/libc fls S
clean_dep lib/libc flsl S
clean_dep lib/libc flsll S
+
+# 20230815 28f6c2f29280 GoogleTest update
+if [ -e "$OBJTOP"/tests/sys/fs/fusefs/mockfs.o ] && \
+ grep -q '_ZN7testing8internal18g_linked_ptr_mutexE' "$OBJTOP"/tests/sys/fs/fusefs/mockfs.o; then
+ echo "Removing stale fusefs GoogleTest objects"
+ run rm -rf "$OBJTOP"/tests/sys/fs/fusefs
+fi