Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3)

Issue 540002: Fix three unit tests on recent ARM devices. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years ago by digit
Modified:
12 years ago
CC:
google-breakpad-dev_googlegroups.com
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Fix three unit tests on recent ARM devices.

Three unit tests were failing on recent ARM devices (e.g. Galaxy Nexus
or Nexus 4), while ran properly on older ones (e.g. Nexus S).

The main issue is that the instruction cache needs to be explicitely
cleared on ARM after writing machine code bytes to a malloc()-ed
page with PROT_EXEC.

Patch Set 1 #

Total comments: 8

Patch Set 2 : #

Total comments: 3

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/client/linux/handler/exception_handler_unittest.cc View 1 2 4 chunks +24 lines, -0 lines 0 comments Download

Messages

Total messages: 11
digit
12 years ago #1
digit
sorry, had to update the issue, I made a typo when writing ted's email address ...
12 years ago #2
Mark Mentovai
LGTM https://breakpad.appspot.com/540002/diff/1/src/client/linux/handler/exception_handler_unittest.cc File src/client/linux/handler/exception_handler_unittest.cc (right): https://breakpad.appspot.com/540002/diff/1/src/client/linux/handler/exception_handler_unittest.cc#newcode59 src/client/linux/handler/exception_handler_unittest.cc:59: void flush_instruction_cache(const char* memory, uint32_t memory_size) { Naming: ...
12 years ago #3
Ted Mielczarek
Thanks for fixing this. I noticed these failing but didn't get around to investigating why.
12 years ago #4
digit
http://breakpad.appspot.com/540002/diff/1/src/client/linux/handler/exception_handler_unittest.cc File src/client/linux/handler/exception_handler_unittest.cc (right): http://breakpad.appspot.com/540002/diff/1/src/client/linux/handler/exception_handler_unittest.cc#newcode59 src/client/linux/handler/exception_handler_unittest.cc:59: void flush_instruction_cache(const char* memory, uint32_t memory_size) { Damn, sorry, ...
12 years ago #5
digit
On 2013/03/20 19:44:20, Ted Mielczarek wrote: > Thanks for fixing this. I noticed these failing ...
12 years ago #6
Mark Mentovai
http://breakpad.appspot.com/540002/diff/6001/src/client/linux/handler/exception_handler_unittest.cc File src/client/linux/handler/exception_handler_unittest.cc (right): http://breakpad.appspot.com/540002/diff/6001/src/client/linux/handler/exception_handler_unittest.cc#newcode69 src/client/linux/handler/exception_handler_unittest.cc:69: # define __ARM_NR_cacheflush 0xf0002 You defined __ARM_NR_cacheflush… http://breakpad.appspot.com/540002/diff/6001/src/client/linux/handler/exception_handler_unittest.cc#newcode71 src/client/linux/handler/exception_handler_unittest.cc:71: ...
12 years ago #7
Mark Mentovai
Yup, this definitely was a good find. On Wed, Mar 20, 2013 at 5:24 PM, ...
12 years ago #8
digit
latest patch was manually tested on Android (both the Android and GLibc codepaths). http://breakpad.appspot.com/540002/diff/6001/src/client/linux/handler/exception_handler_unittest.cc File ...
12 years ago #9
Mark Mentovai
LGTM
12 years ago #10
digit
12 years ago #11
This has been submitted as 1132. For some reason, "gcl commit" froze after the
submit so I had to interrupt it. I'm manually closing this issue, thanks.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted