DescriptionNon-SFI NaCl: Fix browser_tests based on libc_free.c
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=282697
Patch Set 1 #Patch Set 2 : stop using GNU_RELRO #
Total comments: 5
Patch Set 3 : remove -z norelro #Patch Set 4 : drop -O2 #
Total comments: 3
Patch Set 5 : comment update #
Messages
Total messages: 15 (0 generated)
|