Message ID | 54378707.3020407@partner.samsung.com |
---|---|
State | New |
Headers | show |
On Fri, Oct 10, 2014 at 11:13:11AM +0400, Maxim Ostapenko wrote: > Adding Jakub. > > -Maxim > On 10/09/2014 04:34 PM, Maxim Ostapenko wrote: > >Hi, > > > >After enabling ASan, TSan and UBSan testsuites for installed toolchain, > >many tests started to fail. This is caused by wrong logic in {asan, ubsan, > >tsan}_finish > >functions. Here, restore_ld_library_path is called, that is wrong, because > >it drops some env variables ( GCC_EXEC_PREFIX, LD_LIBRARY_PATH, etc) to > >state that was before gcc-dg.exp initialized testing environment, so > >installed GCC will be confused to find some needed stuff later. > > > >Removing restore_ld_library_path from {asan, ubsan, tsan}_finish seems to > >fix the issue. > > > >Tested on x86_64-pc-linux-gnu, ok to commit? > > > >-Maxim > > gcc/testsuite/ChangeLog: > > 2014-10-09 Max Ostapenko <m.ostapenko@partner.samsung.com> > > * lib/asan-dg.exp (asan_finish): Remove restore_ld_library_path_env_vars. > * lib/tsan-dg.exp (tsan_finish): Likewise. > * lib/ubsan-dg.exp (ubsan_finish): Likewise. That looks wrong to me, we don't want to keep the libsanitizer paths in LD_LIBRARY_PATH* after we leave asan.exp etc. So, perhaps instead save ld_library_path into some global variable (like {a,t,ub}san_saved_ld_library_path) during {a,t,ub}san_link_flags before appending there anything, and replace restore_ld_library_path_env_vars with set ld_library_path ${a,t,ub}san_saved_ld_library_path set_ld_library_path_env_vars ? Jakub
gcc/testsuite/ChangeLog: 2014-10-09 Max Ostapenko <m.ostapenko@partner.samsung.com> * lib/asan-dg.exp (asan_finish): Remove restore_ld_library_path_env_vars. * lib/tsan-dg.exp (tsan_finish): Likewise. * lib/ubsan-dg.exp (ubsan_finish): Likewise. diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp index 9769138..c98fd3c 100644 --- a/gcc/testsuite/lib/asan-dg.exp +++ b/gcc/testsuite/lib/asan-dg.exp @@ -132,7 +132,6 @@ proc asan_finish { args } { unset TEST_ALWAYS_FLAGS } } - restore_ld_library_path_env_vars } # Symbolize lines like diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp index 54ec404..6f7a4d9 100644 --- a/gcc/testsuite/lib/tsan-dg.exp +++ b/gcc/testsuite/lib/tsan-dg.exp @@ -143,5 +143,4 @@ proc tsan_finish { args } { } else { unset dg-do-what-default } - restore_ld_library_path_env_vars } diff --git a/gcc/testsuite/lib/ubsan-dg.exp b/gcc/testsuite/lib/ubsan-dg.exp index 5a7a653..87c460f 100644 --- a/gcc/testsuite/lib/ubsan-dg.exp +++ b/gcc/testsuite/lib/ubsan-dg.exp @@ -114,5 +114,4 @@ proc ubsan_finish { args } { unset TEST_ALWAYS_FLAGS } } - restore_ld_library_path_env_vars }