[compiler-rt] r221929 - [ASan] Really fix zero_page_pc test for PowerPC
Jay Foad
jay.foad at gmail.com
Thu Nov 13 13:53:00 PST 2014
Author: foad
Date: Thu Nov 13 15:53:00 2014
New Revision: 221929
URL: http://llvm.org/viewvc/llvm-project?rev=221929&view=rev
Log:
[ASan] Really fix zero_page_pc test for PowerPC
Summary:
As a follow-up to D6167, this patch fixes the test to account for
another difference between PowerPC and x86 systems.
On x86 if you branch to an invalid address, you get a SIGSEGV with PC
set to the invalid address (and si_addr in the siginfo struct also set
to the same address).
On PowerPC, you get a SIGSEGV with PC pointing at the branch
instruction, but si_addr set to the invalid address.
You can see this difference if you run the test case under gdb.
Reviewers: kcc, glider, samsonov
Reviewed By: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6226
Modified:
compiler-rt/trunk/test/asan/TestCases/zero_page_pc.cc
Modified: compiler-rt/trunk/test/asan/TestCases/zero_page_pc.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/zero_page_pc.cc?rev=221929&r1=221928&r2=221929&view=diff
==============================================================================
--- compiler-rt/trunk/test/asan/TestCases/zero_page_pc.cc (original)
+++ compiler-rt/trunk/test/asan/TestCases/zero_page_pc.cc Thu Nov 13 15:53:00 2014
@@ -8,6 +8,8 @@ typedef void void_f();
int main() {
void_f *func = (void_f *)0x4;
func();
- // CHECK: {{AddressSanitizer: SEGV.*(pc.*0004)}}
+ // x86 reports the SEGV with both address=4 and pc=4.
+ // PowerPC64 reports it with address=4 but pc still in main().
+ // CHECK: {{AddressSanitizer: SEGV.*(address|pc) 0x0*4}}
return 0;
}
More information about the llvm-commits
mailing list