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:		28f6c2f292
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D41476
This commit is contained in:
Dimitry Andric 2023-08-15 23:14:26 +02:00
parent da51a1211d
commit d5af300a69

View File

@ -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