ping
On Wed, May 20, 2020 at 3:01 PM Kito Cheng <kito.ch...@sifive.com> wrote: > > - Run gcc testsuite with qemu will print out ascii color code for > ubsan related testcase, however several testcase didn't consider > that, so disable colorization prevent such problem and simplify the > process when adding testcase in future. > > - Verified on native X86 and RISC-V qemu full system mode and user mode. > > ChangeLog: > > gcc/testsuite/ > > Kito Cheng <kito.ch...@sifive.com> > > * ubsan-dg.exp (orig_ubsan_options_saved): New > (orig_ubsan_options): Ditto. > (ubsan_init): Store UBSAN_OPTIONS and set UBSAN_OPTIONS. > (ubsan_finish): Restore UBSAN_OPTIONS. > --- > gcc/testsuite/lib/ubsan-dg.exp | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/gcc/testsuite/lib/ubsan-dg.exp b/gcc/testsuite/lib/ubsan-dg.exp > index 015601cd404..f4ab29e2add 100644 > --- a/gcc/testsuite/lib/ubsan-dg.exp > +++ b/gcc/testsuite/lib/ubsan-dg.exp > @@ -17,6 +17,9 @@ > # Return 1 if compilation with -fsanitize=undefined is error-free for trivial > # code, 0 otherwise. > > +set orig_ubsan_options_saved 0 > +set orig_ubsan_options 0 > + > proc check_effective_target_fsanitize_undefined {} { > return [check_runtime fsanitize_undefined { > int main (void) { return 0; } > @@ -74,6 +77,17 @@ proc ubsan_init { args } { > global TOOL_OPTIONS > global ubsan_saved_TEST_ALWAYS_FLAGS > global ubsan_saved_ALWAYS_CXXFLAGS > + global orig_ubsan_options_saved > + global orig_ubsan_options > + > + if { $orig_ubsan_options_saved == 0 } { > + # Save the original environment. > + if [info exists env(UBSAN_OPTIONS)] { > + set orig_ubsan_options "$env(UBSAN_OPTIONS)" > + set orig_ubsan_options_saved 1 > + } > + } > + setenv UBSAN_OPTIONS color=never > > set link_flags "" > if ![is_remote host] { > @@ -109,6 +123,14 @@ proc ubsan_finish { args } { > global ubsan_saved_ALWAYS_CXXFLAGS > global ubsan_saved_library_path > global ld_library_path > + global orig_ubsan_options_saved > + global orig_ubsan_options > + > + if { $orig_ubsan_options_saved } { > + setenv UBSAN_OPTIONS "$orig_ubsan_options" > + } elseif [info exists env(UBSAN_OPTIONS)] { > + unsetenv UBSAN_OPTIONS > + } > > if [info exists ubsan_saved_ALWAYS_CXXFLAGS ] { > set ALWAYS_CXXFLAGS $ubsan_saved_ALWAYS_CXXFLAGS > -- > 2.26.2 >