• hamaji@chromium.org's avatar
    Non-SFI NaCl: Fix browser_tests based on libc_free.c · c0bf7c29
    hamaji@chromium.org authored
    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*'
    
    Review URL: https://codereview.chromium.org/381883002
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282697 0039d316-1c4b-4281-b951-d872f2087c98
    c0bf7c29
libc_free.c 6.91 KB