[compiler-rt] r335383 - [ubsan] Fix __ubsan_on_report interface definition

Vedant Kumar via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 22 13:25:35 PDT 2018



> On Jun 22, 2018, at 1:15 PM, Vedant Kumar via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Author: vedantk
> Date: Fri Jun 22 13:15:33 2018
> New Revision: 335383
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=335383&view=rev
> Log:
> [ubsan] Fix __ubsan_on_report interface definition
> 
> Speculative fix for the interface definition of __ubsan_on_report for
> the Windows bots:
> 
>  http://lab.llvm.org:8011/builders/sanitizer-windows/builds/30528
>  lib\ubsan\ubsan_interface.inc(55): error C2065: '__ubsan_on_report':
>  undeclared identifier
> 
> INTERCEPT_SANITIZER_WEAK_FUNCTION was the wrong macro to use to begin
> with because __ubsan_on_report isn't weak. Reading through that macro,
> it's still not clear to me why there is an undefined reference, though,
> because it appears to define a dummy __ubsan_on_report shim.

Oh, I was looking at the wrong definition of INTERCEPT_SANITIZER_WEAK_FUNCTION. The one inside of sanitizer_win_weak_interception.h would reference __ubsan_on_report.

vedant

> 
> Modified:
>    compiler-rt/trunk/lib/ubsan/ubsan_interface.inc
>    compiler-rt/trunk/lib/ubsan/ubsan_win_weak_interception.cc
> 
> Modified: compiler-rt/trunk/lib/ubsan/ubsan_interface.inc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/ubsan_interface.inc?rev=335383&r1=335382&r2=335383&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/ubsan/ubsan_interface.inc (original)
> +++ compiler-rt/trunk/lib/ubsan/ubsan_interface.inc Fri Jun 22 13:15:33 2018
> @@ -52,5 +52,5 @@ INTERFACE_FUNCTION(__ubsan_handle_type_m
> INTERFACE_FUNCTION(__ubsan_handle_vla_bound_not_positive)
> INTERFACE_FUNCTION(__ubsan_handle_vla_bound_not_positive_abort)
> INTERFACE_WEAK_FUNCTION(__ubsan_default_options)
> -INTERFACE_WEAK_FUNCTION(__ubsan_on_report)
> +INTERFACE_FUNCTION(__ubsan_on_report)
> INTERFACE_FUNCTION(__ubsan_get_current_report_data)
> 
> Modified: compiler-rt/trunk/lib/ubsan/ubsan_win_weak_interception.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/ubsan_win_weak_interception.cc?rev=335383&r1=335382&r2=335383&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/ubsan/ubsan_win_weak_interception.cc (original)
> +++ compiler-rt/trunk/lib/ubsan/ubsan_win_weak_interception.cc Fri Jun 22 13:15:33 2018
> @@ -14,6 +14,7 @@
> #ifdef SANITIZER_DYNAMIC
> #include "sanitizer_common/sanitizer_win_weak_interception.h"
> #include "ubsan_flags.h"
> +#include "ubsan_monitor.h"
> // Check if strong definitions for weak functions are present in the main
> // executable. If that is the case, override dll functions to point to strong
> // implementations.
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list