Skip to content

Commit d523521

Browse files
author
ripley
committed
ASAN and UBSAN on macOS
git-svn-id: https://svn.r-project.org/R/trunk@87439 00db46b3-68df-0310-9c12-caf00c1e9a41
1 parent bccc414 commit d523521

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

doc/manual/R-exts.texi

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9797,15 +9797,16 @@ threaded programs.
97979797
@subsection Using the Address Sanitizer
97989798

97999799
@c https://github.com/google/sanitizers/wiki/AddressSanitizer
9800-
@command{AddressSanitizer} (`@abbr{ASan}') is a tool with similar aims to the
9801-
memory checker in @command{valgrind}. It is available with suitable
9802-
builds@footnote{currently on @cputype{x86_64}/@cputype{ix86} Linux and
9803-
FreeBSD, with some support for Intel macOS but not
9804-
with the toolchain normally used with @R{}. (There is a faster variant,
9805-
@I{HWASAN}, for @cputype{aarch64} only.) On some platforms the runtime
9806-
library, @pkg{libasan}, needs to be installed separately, and for
9807-
checking C++ you may also need @pkg{libubsan}.} of @command{gcc} and
9808-
@command{clang} on common Linux and macOS platforms. See
9800+
@command{AddressSanitizer} (`@abbr{ASan}') is a tool with similar aims
9801+
to the memory checker in @command{valgrind}. It is available with
9802+
suitable builds@footnote{currently on @cputype{x86_64}/@cputype{ix86}
9803+
Linux and FreeBSD, with some support for macOS -- see
9804+
@uref{https://developer.apple.com/documentation/xcode/diagnosing-memory-thread-and-crash-issues-early}. (There
9805+
is a faster variant, @I{HWASAN}, for @cputype{aarch64} only.) On some
9806+
platforms the runtime library, @pkg{libasan}, needs to be installed
9807+
separately, and for checking C++ you may also need @pkg{libubsan}.} of
9808+
@command{gcc} and @command{clang} on common Linux and macOS platforms.
9809+
See
98099810
@uref{https://clang.llvm.org/docs/UsersManual.html#controlling-code-generation},
98109811
@uref{https://clang.llvm.org/docs/AddressSanitizer.html} and
98119812
@uref{https://github.com/google/sanitizers}.
@@ -9979,10 +9980,12 @@ might be @code{NA_INTEGER}.
99799980
`@I{UBSanitizer}' is a tool for C/C++ source code selected by
99809981
@option{-fsanitize=undefined} in suitable builds@footnote{On some
99819982
platforms the runtime library, @pkg{libubsan}, needs to be installed
9982-
separately.} of @command{clang} and GCC. Its (main) runtime library is
9983-
linked into each package's DLL, so it is less often needed to be
9984-
included in @env{MAIN_LDFLAGS}. Platforms supported by @command{clang}
9985-
are listed at
9983+
separately. For macOS, see
9984+
@uref{https://developer.apple.com/documentation/xcode/diagnosing-memory-thread-and-crash-issues-early}.}
9985+
of @command{clang} and GCC. Its (main) runtime library is linked into
9986+
each package's DLL, so it is less often needed to be included in
9987+
@env{MAIN_LDFLAGS}. Platforms supported by @command{clang} are listed
9988+
at
99869989
@uref{https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#supported-platforms}:
99879990
@acronym{CRAN} uses it for C/C++ with both GCC and @command{clang} on
99889991
@cputype{x86_64} Linux: the two toolchains often highlight different

0 commit comments

Comments
 (0)