2011-06-08 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
authorademar.reis@openbossa.org <ademar.reis@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Jun 2011 17:14:30 +0000 (17:14 +0000)
committerademar.reis@openbossa.org <ademar.reis@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Jun 2011 17:14:30 +0000 (17:14 +0000)
        Reviewed by Andreas Kling.

        Webkit on SPARC Solaris has wrong endian
        https://bugs.webkit.org/show_bug.cgi?id=29407

        Bug 57256 fixed one crash on misaligned reads on sparc/solaris, but
        there are more ocurrences of the same code pattern in webkit.

        This patch includes the check on these other parts of the code.

        This is a speculative fix, I don't have a sparc machine to test and
        don't know which kind of test would trigger a crash (but it's quite
        obvious that it's the same code duplicated in different files).

        * runtime/UString.h:
        (JSC::UStringHash::equal):
        * wtf/text/StringHash.h:
        (WTF::StringHash::equal):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@88355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/UString.h
Source/JavaScriptCore/wtf/text/StringHash.h

index 2340e22..e0e4381 100755 (executable)
@@ -1,3 +1,24 @@
+2011-06-08  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
+
+        Reviewed by Andreas Kling.
+
+        Webkit on SPARC Solaris has wrong endian
+        https://bugs.webkit.org/show_bug.cgi?id=29407
+
+        Bug 57256 fixed one crash on misaligned reads on sparc/solaris, but
+        there are more ocurrences of the same code pattern in webkit.
+
+        This patch includes the check on these other parts of the code.
+
+        This is a speculative fix, I don't have a sparc machine to test and
+        don't know which kind of test would trigger a crash (but it's quite
+        obvious that it's the same code duplicated in different files).
+
+        * runtime/UString.h:
+        (JSC::UStringHash::equal):
+        * wtf/text/StringHash.h:
+        (WTF::StringHash::equal):
+
 2011-06-08  Yael Aharon  <yael.aharon@nokia.com>
 
         Reviewed by Andreas Kling.
index b98e7b4..2d76809 100644 (file)
@@ -202,7 +202,7 @@ struct UStringHash {
 
         // FIXME: perhaps we should have a more abstract macro that indicates when
         // going 4 bytes at a time is unsafe
-#if CPU(ARM) || CPU(SH4) || CPU(MIPS)
+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
         const UChar* aChars = a->characters();
         const UChar* bChars = b->characters();
         for (unsigned i = 0; i != aLength; ++i) {
index c47c1d8..4637c3d 100644 (file)
@@ -55,7 +55,7 @@ namespace WTF {
 
             // FIXME: perhaps we should have a more abstract macro that indicates when
             // going 4 bytes at a time is unsafe
-#if CPU(ARM) || CPU(SH4) || CPU(MIPS)
+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
             const UChar* aChars = a->characters();
             const UChar* bChars = b->characters();
             for (unsigned i = 0; i != aLength; ++i) {