runt18 / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

test msan #564

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
compile and test run with msan=1 

set all these: GYP_DEFINES="msan=1 msan_track_origins=2 
use_prebuilt_instrumented_libraries=1"

fix any issues.
document how to do it in Getting Started.

Original issue reported on code.google.com by fbarch...@google.com on 2 Feb 2016 at 11:13

GoogleCodeExporter commented 8 years ago
To get the instrumented libraries binary package downloaded, you need the 
GYP_DEFINES set in the environment.
To make sure you trigger a new Chromium sync when you have that, do like this:

export GYP_DEFINES="msan=1 msan_track_origins=2 
use_prebuilt_instrumented_libraries=1"
rm chromium/.last_sync_chromium 
gclient sync

I landed https://codereview.chromium.org/1665573003/ that allows compile to 
work.

Then I get this error:

[317/318] LINK libyuv_unittest
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,-z,now 
-Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC 
-fuse-ld=gold 
-B/usr/local/google/home/kjellander/src/libyuv/libyuv/third_party/binutils/Linux
_x64/Release/bin -Wl,--disable-new-dtags -Wl,-u_sanitizer_options_link_helper 
-m64 
--sysroot=/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/debian
_wheezy_amd64-sysroot 
-L/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/debian_wheezy_
amd64-sysroot/lib/x86_64-linux-gnu 
-Wl,-rpath-link=/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/
debian_wheezy_amd64-sysroot/lib/x86_64-linux-gnu 
-L/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/debian_wheezy_
amd64-sysroot/usr/lib/x86_64-linux-gnu 
-Wl,-rpath-link=/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/
debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu 
-L/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/debian_wheezy_
amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 
-Wl,-rpath-link=/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/
debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 
-L/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/debian_wheezy_
amd64-sysroot/usr/lib 
-Wl,-rpath-link=/usr/local/google/home/kjellander/src/libyuv/libyuv/build/linux/
debian_wheezy_amd64-sysroot/usr/lib -fsanitize=memory -stdlib=libc++ 
-Wl,-R,\$ORIGIN/lib/ -Wl,-R,\$ORIGIN/instrumented_libraries_prebuilt/msan/lib/ 
-Wl,-z,origin -Wl,-O1 -Wl,--gc-sections -o libyuv_unittest -Wl,--start-group 
obj/unit_test/libyuv_unittest.basictypes_test.o 
obj/unit_test/libyuv_unittest.compare_test.o 
obj/unit_test/libyuv_unittest.color_test.o 
obj/unit_test/libyuv_unittest.convert_test.o 
obj/unit_test/libyuv_unittest.cpu_test.o 
obj/unit_test/libyuv_unittest.math_test.o 
obj/unit_test/libyuv_unittest.planar_test.o 
obj/unit_test/libyuv_unittest.rotate_argb_test.o 
obj/unit_test/libyuv_unittest.rotate_test.o 
obj/unit_test/libyuv_unittest.scale_argb_test.o 
obj/unit_test/libyuv_unittest.scale_test.o 
obj/unit_test/libyuv_unittest.unit_test.o 
obj/unit_test/libyuv_unittest.video_common_test.o 
obj/chromium/src/build/sanitizers/libsanitizer_options.a libyuv.a 
obj/chromium/src/testing/libgtest.a obj/third_party/gflags/libgflags.a 
obj/chromium/src/third_party/libjpeg_turbo/libjpeg_turbo.a -Wl,--end-group  
-Llib/ 
../../unit_test/math_test.cc:30: error: undefined reference to 'FixedDiv_X86'
../../unit_test/math_test.cc:31: error: undefined reference to 'FixedDiv_X86'
../../unit_test/math_test.cc:36: error: undefined reference to 'FixedDiv_X86'
../../unit_test/math_test.cc:37: error: undefined reference to 'FixedDiv_X86'
../../unit_test/math_test.cc:142: error: undefined reference to 'FixedDiv1_X86'
../../unit_test/planar_test.cc:1364: error: undefined reference to 
'ARGBAffineRow_SSE2'
../../unit_test/planar_test.cc:1371: error: undefined reference to 
'ARGBAffineRow_SSE2'
../../unit_test/planar_test.cc:1402: error: undefined reference to 
'SobelXRow_SSE2'
../../unit_test/planar_test.cc:1439: error: undefined reference to 
'SobelYRow_SSE2'
../../unit_test/planar_test.cc:1483: error: undefined reference to 
'SobelRow_SSE2'
../../unit_test/planar_test.cc:1521: error: undefined reference to 
'SobelToPlaneRow_SSE2'
../../unit_test/planar_test.cc:1561: error: undefined reference to 
'SobelXYRow_SSE2'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Original comment by kjellander@chromium.org on 3 Feb 2016 at 10:51

GoogleCodeExporter commented 8 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/libyuv/libyuv.git/+/af90e82155a42ec8239685ca8626c547c7173220

commit af90e82155a42ec8239685ca8626c547c7173220
Author: Henrik Kjellander <kjellander@chromium.org>
Date: Wed Feb 03 10:52:19 2016

Add empty MSan blacklist.txt to make MSan builds pass.

TBR=fbarchard@chromium.org
BUG=libyuv:564

Review URL: https://codereview.chromium.org/1665573003 .

[add] 
http://crrev.com/af90e82155a42ec8239685ca8626c547c7173220/tools/msan/OWNERS
[add] 
http://crrev.com/af90e82155a42ec8239685ca8626c547c7173220/tools/msan/blacklist.t
xt

Original comment by bugdroid1@chromium.org on 3 Feb 2016 at 10:53