Page MenuHomeFreeBSD

Allow building usr.bin/vi with MK_ASAN
ClosedPublic

Authored by arichardson on Jul 5 2021, 12:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 10, 3:40 PM
Unknown Object (File)
Fri, Nov 8, 1:27 AM
Unknown Object (File)
Thu, Nov 7, 3:52 PM
Unknown Object (File)
Tue, Nov 5, 8:59 PM
Unknown Object (File)
Tue, Oct 22, 6:08 AM
Unknown Object (File)
Sun, Oct 20, 9:39 PM
Unknown Object (File)
Thu, Oct 17, 6:42 PM
Unknown Object (File)
Thu, Oct 17, 6:42 PM
Subscribers

Details

Summary

We have to namespace the regex functions to avoid duplicate symbol errors.
This also ensures that vi doesn't define the libc reg* functions with
mismatched signatures.

ld: error: duplicate symbol: regcomp

defined at sanitizer_common_interceptors.inc:7519 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7519)

asan_interceptors.o:(__interceptor_regcomp) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a

defined at regcomp.c

.../regex/regcomp.c.o:(.text+0x0)

ld: error: duplicate symbol: regerror

defined at sanitizer_common_interceptors.inc:7543 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7543)

asan_interceptors.o:(__interceptor_regerror) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a

defined at regerror.c

.../regex/regerror.c.o:(.text+0x0)

ld: error: duplicate symbol: regexec

defined at sanitizer_common_interceptors.inc:7530 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7530)

asan_interceptors.o:(__interceptor_regexec) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a

defined at regexec.c

.../regex/regexec.c.o:(.text+0x0)

ld: error: duplicate symbol: regfree

defined at sanitizer_common_interceptors.inc:7553 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7553)

asan_interceptors.o:(__interceptor_regfree) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a

defined at regfree.c

.../regex/regfree.c.o:(.text+0x0)

Submitted upstream as https://github.com/lichray/nvi2/pull/92

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

@bapt This has now been committed upstream, should I commit this locally first or wait for the next import?

just commit it now, thank you for it!

This revision is now accepted and ready to land.Jul 19 2021, 12:54 PM
This revision was automatically updated to reflect the committed changes.