Bug#747051: libjavascriptcoregtk-3.0-0: regular expression matching wrong on armel
wh
microrffr at gmail.com
Sun May 11 20:01:12 UTC 2014
Here's a disassembly of the pattern /AT\W/i.
http://paste.debian.net/98876/
High level overview: a loop starts at 0xb390a038. r0 is a pointer to the
string, and r1 is the current search index plus 3.
- it does a halfword load, converts it to lowercase, and checks it against
"at"
- if it's not equal, it jumps to 0xb390a08c to increment r1 and repeats
The code that matches "at" comes from here:
http://sources.debian.net/src/webkitgtk/2.4.1-2/Source/JavaScriptCore/yarr/YarrJIT.cpp#L841
which either comes from
http://sources.debian.net/src/webkitgtk/2.4.1-2/Source/JavaScriptCore/assembler/MacroAssemblerARM.h#L412
or
http://sources.debian.net/src/webkitgtk/2.4.1-2/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h#L616
It's just a plain old load16. Is unaligned transfer just a requirement of
the armel port? How do armv5t targets usually support it?
I learned of a kernel configuration option, CONFIG_ALIGNMENT_TRAP, which is
enabled on the kernel I'm using. The documentation suggests that it
pertains to 32-bit transfers though.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-webkit-maintainers/attachments/20140511/300b6ef3/attachment.html>
More information about the Pkg-webkit-maintainers
mailing list