Page MenuHomePhabricator

Revert rL291205 because it breaks Chrome tests under CFI.

Authored by krasin on Jan 10 2017, 2:03 PM.



Revert LowerTypeTests: Split the pass in two: a resolution phase and a lowering phase.

This change separates how type identifiers are resolved from how intrinsic
calls are lowered. All information required to lower an intrinsic call
is stored in a new TypeIdLowering data structure. The idea is that this
data structure can either be initialized using the module itself during
regular LTO, or using the module summary in ThinLTO backends.

Original URL:

Diff Detail


Event Timeline

krasin updated this revision to Diff 83866.Jan 10 2017, 2:03 PM
krasin retitled this revision from to Revert rL291205 because it breaks Chrome tests under CFI..
krasin updated this object.
krasin added a reviewer: pcc.
krasin added a subscriber: llvm-commits.

To reproduce the issue on the Chromium side:

gn gen out/cfi-tot '--args=is_debug=false is_cfi=true use_cfi_cast=true symbol_level=1 clang_use_chrome_plugins=false clang_base_path="/usr/local/google/home/krasin/src/"' --check
ninja -C out/cfi-tot/ wtf_unittests
./out/cfi-tot/wtf_unittests --single_process --gtest_filter=WTF.SimplifyWhiteSpace

Expected failure:

Received signal 4 ILL_ILLOPN 00000061e80f
CFI: Most likely a control flow integrity violation; for more information see:
#0 0x0000005be928 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#1 0x7f16860eb330 <unknown>
#2 0x00000061e80f testing::TestInfo::~TestInfo()
#3 0x00000061f190 testing::TestCase::~TestCase()
#4 0x00000061f28e testing::TestCase::~TestCase()
#5 0x000000618fcd testing::internal::UnitTestImpl::~UnitTestImpl()
#6 0x0000006191be testing::internal::UnitTestImpl::~UnitTestImpl()
#7 0x0000006150fe testing::UnitTest::~UnitTest()
#8 0x7f16850341a9 <unknown>
#9 0x7f16850341f5 exit
#10 0x7f1685019f4c __libc_start_main
#11 0x0000006f73bd <unknown>
  r8: 0000000000000004  r9: 0000000000000000 r10: 00007f1685082020 r11: 0000000000000009
 r12: 00003027e8ddff88 r13: 00007f16853b7e80 r14: 00003027e8de0f00 r15: 00003027e8de4ee0
  di: 00003027e8ddfff0  si: 0000000000000000  bp: 00007ffc44773f60  bx: 00003027e8ddff80
  dx: 00000000000000c0  ax: 0000000000000000  cx: 00007f16853b7f30  sp: 00007ffc44773f20
  ip: 000000000061e80f efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
[1/1] WTF.SimplifyWhiteSpace (0 ms)
This revision was automatically updated to reflect the committed changes.