diff options
author | Jessica Clarke <jrtc27@FreeBSD.org> | 2024-10-18 18:15:30 +0000 |
---|---|---|
committer | Jessica Clarke <jrtc27@FreeBSD.org> | 2024-10-18 18:15:30 +0000 |
commit | d41a40f484826e90ed78dce5f006712b0eeaf501 (patch) | |
tree | 04a7c1c681905bc03fb1cb35265bfda5fe4401e7 | |
parent | 1363acbf25de4c36e183cfa0b0e801d4dd9bf2ad (diff) | |
download | src-d41a40f484826e90ed78dce5f006712b0eeaf501.tar.gz src-d41a40f484826e90ed78dce5f006712b0eeaf501.zip |
depend-cleanup.sh: Clean up after riscv static binary IFUNC addition
reloc.c is conditionally included by libc_start1.c so existing builds
don't feature it in the .depend file and won't know they need to rebuild
libc_start1.c.
MFC after: 1 week
-rwxr-xr-x | tools/build/depend-cleanup.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 94cafbd9a8d6..001a450bf182 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -199,3 +199,19 @@ clean_dep cddl/lib/libzpool zfs_debug c "linux/zfs/zfs_debug\.c" # 20241011 clean_dep cddl/lib/libzpool arc_os c "linux/zfs/arc_os\.c" + +# 20241018 1363acbf25de libc/csu: Support IFUNCs on riscv +if [ ${MACHINE} = riscv ]; then + for f in "$OBJTOP"/lib/libc/.depend.libc_start1.*o; do + if [ ! -f "$f" ]; then + continue + fi + if ! grep -q 'lib/libc/csu/riscv/reloc\.c' "$f"; then + echo "Removing stale dependencies and objects for libc_start1.c" + run rm -f \ + "$OBJTOP"/lib/libc/.depend.libc_start1.* \ + "$OBJTOP"/lib/libc/libc_start1.*o + break + fi + done +fi |