<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>29415</bug_id>
          
          <creation_ts>2009-09-18 07:36:34 -0700</creation_ts>
          <short_desc>Byte alignment issue on MIPS</short_desc>
          <delta_ts>2010-08-27 10:02:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>diegohcg</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>morrita</cc>
    
    <cc>plaes</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>148120</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-09-18 07:36:34 -0700</bug_when>
    <thetext>This bug report originated from issue QTBUG-3991
&lt;http://bugreports.qt.nokia.com/browse/QTBUG-3991&gt;

--- Description ---

We have found an issue in the following function: static inline bool
equal(StringImpl* string, const UChar* characters, unsigned length) in
AtomicString.cpp.
The issue is that the variables &apos;stringCharacters&apos; and
&apos;bufferCharacters&apos; are uint32 pointers but in fact point to UChar*
variables. This means that the starting
addresses might be not aligned to 4 bytes. On MIPS an unaligned
exception is raised and in our case is handled by the kernel, but,
depending on the kernel, it can
also lead to the kernel sending SIGBUS to the application. The kernel
exception handling is very costly and below is a solution to this
problem; basically we
define a structure with the &apos;packed&apos; attribute which will make the
compiler to generate code capable of handling unaligned accesses (on
MIPS this means
replacing &apos;lw&apos; with a pair: &apos;lwl&apos; and &apos;lwr&apos;). I saw that Q_PACKED is
defined only for the GCC and Intel compiler which should make our change
safe for all cases.
Another solution is to simply add  || PLATFORM(MIPS) where the check for
ARM is made.

Patch:

--- a/src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp
@@ -96,6 +96,10 @@ struct UCharBuffer {
     unsigned length;
 };
 
+struct unaligned_struct {
+    uint32_t i;
+} Q_PACKED;
+
 static inline bool equal(StringImpl* string, const UChar* characters, unsigned length)
 {
     if (string-&gt;length() != length)
@@ -111,17 +115,21 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l
 #else
     /* Do it 4-bytes-at-a-time on architectures where it&apos;s safe */
 
-    const uint32_t* stringCharacters = reinterpret_cast&lt;const uint32_t*&gt;(string-&gt;characters());
-    const uint32_t* bufferCharacters = reinterpret_cast&lt;const uint32_t*&gt;(characters);
+    const struct unaligned_struct *stringCharacters =
+        reinterpret_cast&lt;const struct unaligned_struct*&gt;(string-&gt;characters());
+    const struct unaligned_struct *bufferCharacters =
+        reinterpret_cast&lt;const struct unaligned_struct*&gt;(characters);
 
     unsigned halfLength = length &gt;&gt; 1;
-    for (unsigned i = 0; i != halfLength; ++i) {
-        if (*stringCharacters++ != *bufferCharacters++)
+    for (unsigned i = 0; i != halfLength; ++i, stringCharacters++, bufferCharacters++) {
+        if (stringCharacters-&gt;i != bufferCharacters-&gt;i)
             return false;
     }
 
-    if (length &amp; 1 &amp;&amp;  *reinterpret_cast&lt;const uint16_t*&gt;(stringCharacters) != *reinterpret_cast&lt;const uint16_t*&gt;(bufferCharacters))
+    if (length &amp; 1 &amp;&amp;
+        *reinterpret_cast&lt;const uint16_t*&gt;(stringCharacters) != *reinterpret_cast&lt;const uint16_t*&gt;(bufferCharacters)) {
         return false;
+    }
 
     return true;
 #endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200371</commentid>
    <comment_count>1</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-03-16 12:35:32 -0700</bug_when>
    <thetext>The OS should be Other in this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200687</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-03-17 04:49:36 -0700</bug_when>
    <thetext>This is not a Qt-specific issue.
+1 for adding CPU(MIPS) to the &quot;going 4 bytes at a time is unsafe&quot; condition, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203869</commentid>
    <comment_count>3</comment_count>
      <attachid>51602</attachid>
    <who name="Priit Laes (IRC: plaes)">plaes</who>
    <bug_when>2010-03-25 00:34:49 -0700</bug_when>
    <thetext>Created attachment 51602
Aligment patch from Gentoo for ARM, SPARC and SH4 platforms

This is the patch we are using on Gentoo to fix alignment issues on SPARC and SH4 platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221566</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-06 01:38:36 -0700</bug_when>
    <thetext>Removing Qt keyword and Qt from the title, this is not a Qt specific issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221567</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-06 01:39:46 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=51602) [details]
&gt; Aligment patch from Gentoo for ARM, SPARC and SH4 platforms
&gt; 
&gt; This is the patch we are using on Gentoo to fix alignment issues on SPARC and
&gt; SH4 platforms.

Priit, can you submit your patch with ChangeLog, diffed against tip of tree and with review? set?

See also http://webkit.org/coding/contributing.html

Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260983</commentid>
    <comment_count>6</comment_count>
      <attachid>63668</attachid>
    <who name="Chao-ying Fu">fu</who>
    <bug_when>2010-08-05 17:34:17 -0700</bug_when>
    <thetext>Created attachment 63668
Access one byte at a time for MIPS

To fix this issue, we follow ARM and SH4 to access one byte at a time.
This improves the performance on MIPS, due to no kernel involvement to fix unaligned accesses.

In the future, we still can use lwl/lwr to improve the performance.  Thanks!

Regards,
Chao-ying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263563</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-11 18:37:43 -0700</bug_when>
    <thetext>Look really a trivial and small change.
Anyone who has MIPS experience is looks good candidate for just giving r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270212</commentid>
    <comment_count>8</comment_count>
      <attachid>63668</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-08-26 16:51:46 -0700</bug_when>
    <thetext>Comment on attachment 63668
Access one byte at a time for MIPS

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270425</commentid>
    <comment_count>9</comment_count>
      <attachid>63668</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-27 05:00:52 -0700</bug_when>
    <thetext>Comment on attachment 63668
Access one byte at a time for MIPS

Clearing flags on attachment: 63668

Committed r66205: &lt;http://trac.webkit.org/changeset/66205&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270426</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-27 05:00:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270450</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-27 05:59:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66205 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270565</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-08-27 10:02:50 -0700</bug_when>
    <thetext>Maybe we should reverse this check. Maintaining list of platforms that allow unaligned access might be better than a list of platforms that do not.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51602</attachid>
            <date>2010-03-25 00:34:49 -0700</date>
            <delta_ts>2010-06-11 11:59:22 -0700</delta_ts>
            <desc>Aligment patch from Gentoo for ARM, SPARC and SH4 platforms</desc>
            <filename>webkit-gtk-1.1.15.2-unaligned.patch</filename>
            <type>text/plain</type>
            <size>4403</size>
            <attacher name="Priit Laes (IRC: plaes)">plaes</attacher>
            
              <data encoding="base64">LS0tIHdlYmtpdC0xLjEuMTYub3JpZy9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysg
d2Via2l0LTEuMS4xNi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtMzQ3LDYgKzM0
NywyMyBAQAogI2RlZmluZSBXVEZfUExBVEZPUk1fWDg2XzY0IDEKICNlbmRpZgogCisvKiBQTEFU
Rk9STShJQTY0KSAqLworI2lmIGRlZmluZWQoX19pYTY0X18pCisjZGVmaW5lIFdURl9QTEFURk9S
TV9JQTY0IDEKKyNlbmRpZgorCisvKiBQTEFURk9STShBTFBIQSkgKi8KKyNpZiBkZWZpbmVkKF9f
YWxwaGFfXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0FMUEhBIDEKKyNlbmRpZgorCisvKiBQTEFU
Rk9STShTUEFSQykgKi8KKyNpZiAgIGRlZmluZWQoX19zcGFyY19fKSBcCisgICB8fCBkZWZpbmVk
KF9fc3BhcmMpCisjZGVmaW5lIFdURl9QTEFURk9STV9TUEFSQyAxCisjZGVmaW5lIFdURl9QTEFU
Rk9STV9CSUdfRU5ESUFOIDEKKyNlbmRpZgorCiAvKiBQTEFURk9STShTSDQpICovCiAjaWYgZGVm
aW5lZChfX1NINF9fKQogI2RlZmluZSBXVEZfUExBVEZPUk1fU0g0IDEKQEAgLTM3Miw2ICszODks
MTYgQEAKICMgICBlbmRpZgogI2VuZGlmCiAKKy8qIEZvciB1bmRlZmluZWQgcGxhdGZvcm1zICov
CisjaWYgIWRlZmluZWQoV1RGX1BMQVRGT1JNX0JJR19FTkRJQU4pICYmICFkZWZpbmVkKFdURl9Q
TEFURk9STV9NSURETEVfRU5ESUFOKQorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2lmIF9fQllU
RV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KKyNkZWZpbmUgV1RGX1BMQVRGT1JNX0JJR19FTkRJQU4g
MQorI2VsaWYgIF9fQllURV9PUkRFUiA9PSBfX1BEUF9FTkRJQU4KKyNkZWZpbmUgV1RGX1BMQVRG
T1JNX01JRERMRV9FTkRJQU4gMQorI2VuZGlmCisjZW5kaWYKKwogLyogQ29tcGlsZXIgKi8KIAog
LyogQ09NUElMRVIoTVNWQykgKi8KQEAgLTcwMyw3ICs3MzAsNyBAQAogI2VuZGlmCiAKICNpZiAh
ZGVmaW5lZChXVEZfVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFMzIp
ICYmICFkZWZpbmVkKFdURl9VU0VfSlNWQUxVRTMyXzY0KQotI2lmIFBMQVRGT1JNKFg4Nl82NCkg
JiYgKFBMQVRGT1JNKERBUldJTikgfHwgUExBVEZPUk0oTElOVVgpKQorI2lmIChQTEFURk9STShY
ODZfNjQpICYmIChQTEFURk9STShEQVJXSU4pIHx8IFBMQVRGT1JNKExJTlVYKSB8fCBQTEFURk9S
TShGUkVFQlNEKSkpIHx8IFBMQVRGT1JNKElBNjQpIHx8IFBMQVRGT1JNKEFMUEhBKQogI2RlZmlu
ZSBXVEZfVVNFX0pTVkFMVUU2NCAxCiAjZWxpZiBQTEFURk9STShBUk0pIHx8IFBMQVRGT1JNKFBQ
QzY0KQogI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMiAxCi0tLSB3ZWJraXQtMS4xLjE2Lm9yaWcv
SmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKKysrIHdlYmtpdC0xLjEuMTYvSmF2YVNj
cmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKQEAgLTEyNyw3ICsxMjcsNyBAQAogICAgICAgICAg
ICAgOiBtX2ZyZWVMaXN0KHBvb2woKSkKICAgICAgICAgICAgICwgbV9pc0RvbmVXaXRoSW5pdGlh
bEZyZWVMaXN0KGZhbHNlKQogICAgICAgICB7IAotICAgICAgICAgICAgbWVtc2V0KG1fcG9vbC5w
b29sLCAwLCBzaXplb2YobV9wb29sLnBvb2wpKTsKKyAgICAgICAgICAgIG1lbXNldChtX3Bvb2ws
IDAsIHNpemVvZihtX3Bvb2wpKTsKICAgICAgICAgfQogCiAgICAgICAgIE5vZGUqIGFsbG9jYXRl
KCkKQEAgLTE3MSw3ICsxNzEsNyBAQAogICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBOb2RlKiBwb29sKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxOb2RlKj4obV9wb29sLnBv
b2wpOyB9CisgICAgICAgIE5vZGUqIHBvb2woKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PE5v
ZGUqPihtX3Bvb2wpOyB9CiAgICAgICAgIE5vZGUqIHBhc3RQb29sKCkgeyByZXR1cm4gcG9vbCgp
ICsgbV9wb29sU2l6ZTsgfQogCiAgICAgICAgIGJvb2wgaW5Qb29sKE5vZGUqIG5vZGUpCkBAIC0x
ODIsMTAgKzE4Miw3IEBACiAgICAgICAgIE5vZGUqIG1fZnJlZUxpc3Q7CiAgICAgICAgIGJvb2wg
bV9pc0RvbmVXaXRoSW5pdGlhbEZyZWVMaXN0OwogICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IG1fcG9vbFNpemUgPSAyNTY7Ci0gICAgICAgIHVuaW9uIHsKLSAgICAgICAgICAgIGNoYXIgcG9v
bFtzaXplb2YoTm9kZSkgKiBtX3Bvb2xTaXplXTsKLSAgICAgICAgICAgIGRvdWJsZSBmb3JBbGln
bm1lbnQ7Ci0gICAgICAgIH0gbV9wb29sOworICAgICAgICB1aW50MzJfdCBtX3Bvb2xbKHNpemVv
ZihOb2RlKSAqIG1fcG9vbFNpemUgKyBzaXplb2YodWludDMyX3QpIC0gMSkgLyBzaXplb2YodWlu
dDMyX3QpXTsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmc+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGUgewotLS0gd2Via2l0LTEuMS4xNi5vcmlnL0phdmFTY3JpcHRDb3Jl
L3d0Zi9GYXN0TWFsbG9jLmNwcAorKysgd2Via2l0LTEuMS4xNi9KYXZhU2NyaXB0Q29yZS93dGYv
RmFzdE1hbGxvYy5jcHAKQEAgLTIyNTksMTMgKzIyNTksMTMgQEAKIAogLy8gUGFnZS1sZXZlbCBh
bGxvY2F0b3IKIHN0YXRpYyBTcGluTG9jayBwYWdlaGVhcF9sb2NrID0gU1BJTkxPQ0tfSU5JVElB
TElaRVI7Ci1zdGF0aWMgdm9pZCogcGFnZWhlYXBfbWVtb3J5WyhzaXplb2YoVENNYWxsb2NfUGFn
ZUhlYXApICsgc2l6ZW9mKHZvaWQqKSAtIDEpIC8gc2l6ZW9mKHZvaWQqKV07CitzdGF0aWMgdWlu
dDY0X3QgcGFnZWhlYXBfbWVtb3J5WyhzaXplb2YoVENNYWxsb2NfUGFnZUhlYXApICsgc2l6ZW9m
KHVpbnQ2NF90KSAtIDEpIC8gc2l6ZW9mKHVpbnQ2NF90KV07CiBzdGF0aWMgYm9vbCBwaGluaXRl
ZCA9IGZhbHNlOwogCiAvLyBBdm9pZCBleHRyYSBsZXZlbCBvZiBpbmRpcmVjdGlvbiBieSBtYWtp
bmcgInBhZ2VoZWFwIiBiZSBqdXN0IGFuIGFsaWFzCiAvLyBvZiBwYWdlaGVhcF9tZW1vcnkuCiB0
eXBlZGVmIHVuaW9uIHsKLSAgICB2b2lkKiBtX21lbW9yeTsKKyAgICB1aW50NjRfdCogbV9tZW1v
cnk7CiAgICAgVENNYWxsb2NfUGFnZUhlYXAqIG1fcGFnZUhlYXA7CiB9IFBhZ2VIZWFwVW5pb247
CiAKLS0tIHdlYmtpdC0xLjEuMTYub3JpZy9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQXRvbWljU3Ry
aW5nLmNwcAorKysgd2Via2l0LTEuMS4xNi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQXRvbWljU3Ry
aW5nLmNwcApAQCAtMTAzLDcgKzEwMyw3IEBACiAgICAgaWYgKHN0cmluZy0+bGVuZ3RoKCkgIT0g
bGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSNpZiBQTEFURk9STShBUk0pIHx8IFBM
QVRGT1JNKFNINCkKKyNpZiBQTEFURk9STShBUk0pIHx8IFBMQVRGT1JNKFNQQVJDKSB8fCBQTEFU
Rk9STShTSDQpCiAgICAgY29uc3QgVUNoYXIqIHN0cmluZ0NoYXJhY3RlcnMgPSBzdHJpbmctPmNo
YXJhY3RlcnMoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICE9IGxlbmd0aDsgKytpKSB7
CiAgICAgICAgIGlmICgqc3RyaW5nQ2hhcmFjdGVycysrICE9ICpjaGFyYWN0ZXJzKyspCi0tLSB3
ZWJraXQtMS4xLjE2Lm9yaWcvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0hhc2guaAorKysg
d2Via2l0LTEuMS4xNi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSGFzaC5oCkBAIC00Nyw2
ICs0NywxNSBAQAogICAgICAgICAgICAgaWYgKGFMZW5ndGggIT0gYkxlbmd0aCkKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiBQTEFURk9STShBUk0pIHx8IFBMQVRGT1JNKFNQ
QVJDKQorICAgICAgICAgICAgY29uc3QgVUNoYXIqIGFDaGFycyA9IGEtPmNoYXJhY3RlcnMoKTsK
KyAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBiQ2hhcnMgPSBiLT5jaGFyYWN0ZXJzKCk7CisgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICE9IGFMZW5ndGg7ICsraSkKKyAgICAgICAg
ICAgICAgICBpZiAoKmFDaGFycysrICE9ICpiQ2hhcnMrKykKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCiAgICAgICAg
ICAgICBjb25zdCB1aW50MzJfdCogYUNoYXJzID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50
MzJfdCo+KGEtPmNoYXJhY3RlcnMoKSk7CiAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCogYkNo
YXJzID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MzJfdCo+KGItPmNoYXJhY3RlcnMoKSk7
CiAKQEAgLTU5LDYgKzY4LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCiAgICAgICAgIH0KIAogICAgICAgICBzdGF0
aWMgdW5zaWduZWQgaGFzaChjb25zdCBSZWZQdHI8U3RyaW5nSW1wbD4mIGtleSkgeyByZXR1cm4g
a2V5LT5oYXNoKCk7IH0=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63668</attachid>
            <date>2010-08-05 17:34:17 -0700</date>
            <delta_ts>2010-08-27 05:00:52 -0700</delta_ts>
            <desc>Access one byte at a time for MIPS</desc>
            <filename>mips-string-align.diff</filename>
            <type>text/plain</type>
            <size>2014</size>
            <attacher name="Chao-ying Fu">fu</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0ODAxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDgtMDUgIENoYW8teWlu
ZyBGdSAgPGZ1QG1pcHMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEJ5dGUgYWxpZ25tZW50IGlzc3VlIG9uIE1JUFMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5NDE1CisKKyAgICAgICAgTUlQUyBh
Y2Nlc3NlcyBvbmUgYnl0ZSBhdCBhIHRpbWUgZm9yIG5vdyB0byBhdm9pZCB0aGUgaGVscCBmcm9t
IHRoZQorICAgICAgICBrZXJuZWwgdG8gZml4IHVuYWxpZ25lZCBhY2Nlc3Nlcy4KKworICAgICAg
ICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjplcXVhbCk6
CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSGFzaC5oOgorICAgICAgICAoV2ViQ29yZTo6U3Ry
aW5nSGFzaDo6ZXF1YWwpOgorCiAyMDEwLTA4LTA1ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJh
Y2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBTYW0gV2Vpbmln
CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAJKHJldmlzaW9u
IDY0Nzc5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBlcXVhbChT
dHJpbmdJbXBsKiBzdHIKIAogICAgIC8vIEZJWE1FOiBwZXJoYXBzIHdlIHNob3VsZCBoYXZlIGEg
bW9yZSBhYnN0cmFjdCBtYWNybyB0aGF0IGluZGljYXRlcyB3aGVuCiAgICAgLy8gZ29pbmcgNCBi
eXRlcyBhdCBhIHRpbWUgaXMgdW5zYWZlCi0jaWYgQ1BVKEFSTSkgfHwgQ1BVKFNINCkKKyNpZiBD
UFUoQVJNKSB8fCBDUFUoU0g0KSB8fCBDUFUoTUlQUykKICAgICBjb25zdCBVQ2hhciogc3RyaW5n
Q2hhcmFjdGVycyA9IHN0cmluZy0+Y2hhcmFjdGVycygpOwogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgIT0gbGVuZ3RoOyArK2kpIHsKICAgICAgICAgaWYgKCpzdHJpbmdDaGFyYWN0ZXJzKysg
IT0gKmNoYXJhY3RlcnMrKykKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0hh
c2guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdIYXNoLmgJ
KHJldmlzaW9uIDY0Nzc5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSGFzaC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICAgICAgLy8gRklYTUU6IHBlcmhhcHMgd2Ugc2hvdWxkIGhhdmUgYSBtb3JlIGFic3Ry
YWN0IG1hY3JvIHRoYXQgaW5kaWNhdGVzIHdoZW4KICAgICAgICAgICAgIC8vIGdvaW5nIDQgYnl0
ZXMgYXQgYSB0aW1lIGlzIHVuc2FmZQotI2lmIENQVShBUk0pIHx8IENQVShTSDQpCisjaWYgQ1BV
KEFSTSkgfHwgQ1BVKFNINCkgfHwgQ1BVKE1JUFMpCiAgICAgICAgICAgICBjb25zdCBVQ2hhciog
YUNoYXJzID0gYS0+Y2hhcmFjdGVycygpOwogICAgICAgICAgICAgY29uc3QgVUNoYXIqIGJDaGFy
cyA9IGItPmNoYXJhY3RlcnMoKTsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
IT0gYUxlbmd0aDsgKytpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>