DescriptionReland: Non-SFI NaCl: Fix browser_tests based on libc_free.c
This was previously reviewed in
https://codereview.chromium.org/381883002/
The original patch was reverted because it broke LSAN builder.
There were some undefined LSAN related symbols and linker
started complaining as we added -Wl,--no-undefined.
Now we do not set -fsanitize=* flags so we do not use sanitizer
tools in libc_free.nexe.
The original description:
There were two issues with clang:
- Clang emits .data.rel.ro.local for local struct values with
an initializer, which lets the linker to emit a few
relocation info.
- In debug build, clang uses memcpy to copy a structure with
five members. Neither -fno-builtin nor -ffreestanding did
not prevent this issue.
- In release build, clang translates for-loop based zero copy
to memset.
This patch initializes all structures without initializers
or copy. This patch works with GYP_DEFINES=clang=0.
To make sure we will not add memcpy or something in future,
we will build libc_free.nexe with -Wl,--no-undefined.
This also reverts
https://codereview.chromium.org/386543002
to enable the disabled tests.
BUG=392768
TEST=./out/Debug/browser_tests --gtest_filter='*NonSfi*Messaging*'
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=283380
Patch Set 1 #Patch Set 2 : the sanitizer build fix #
Messages
Total messages: 9 (0 generated)
|