On Thu, Dec 08, 2022 at 05:56:41PM -0500, Marek Polacek wrote:
> Can't hurt.  Here's an updated patch.
>  
> -- >8 --
> I got a complaint that while Clang docs suggest options that improve
> the quality of the backtraces ASAN prints (cf.
> <https://clang.llvm.org/docs/AddressSanitizer.html#usage>), our docs
> don't say anything to that effect.  This patch amends that with a new
> paragraph.  (It deliberately doesn't mention -fno-omit-frame-pointer.)
> 
> gcc/ChangeLog:
> 
>       * doc/invoke.texi (-fsanitize=address): Suggest options to improve
>       stack traces.

Ok, thanks.

> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 726392409b6..3f2512ce16a 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -16510,6 +16510,16 @@ The option cannot be combined with 
> @option{-fsanitize=thread} or
>  @option{-fsanitize=hwaddress}.  Note that the only target
>  @option{-fsanitize=hwaddress} is currently supported on is AArch64.
>  
> +To get more accurate stack traces, it is possible to use options such as
> +@option{-O0}, @option{-O1}, or @option{-Og} (which, for instance, prevent
> +most function inlining), @option{-fno-optimize-sibling-calls} (which prevents
> +optimizing sibling and tail recursive calls; this option is implicit for
> +@option{-O0}, @option{-O1}, or @option{-Og}), or @option{-fno-ipa-icf} (which
> +disables Identical Code Folding for functions).  Since multiple runs of the
> +program may yield backtraces with different addresses due to ASLR (Address
> +Space Layout Randomization), it may be desirable to turn ASLR off.  On Linux,
> +this can be achieved with @samp{setarch `uname -m` -R ./prog}.
> +
>  @item -fsanitize=kernel-address
>  @opindex fsanitize=kernel-address
>  Enable AddressSanitizer for Linux kernel.

        Jakub

Reply via email to