)]}'
{
  "commit": "6323875db20fd8ca8c8fbbd608bc377f2d4c8cf5",
  "tree": "585f1108cc59a4a77b8fd0295be040726de750df",
  "parents": [
    "4f79a5dd7c3e316e2230dc0ee665c40a39023a81"
  ],
  "author": {
    "name": "Dave Martin",
    "email": "dave.martin@linaro.org",
    "time": "Mon Nov 29 19:43:25 2010 +0100"
  },
  "committer": {
    "name": "Russell King",
    "email": "rmk+kernel@arm.linux.org.uk",
    "time": "Tue Nov 30 13:44:25 2010 +0000"
  },
  "message": "ARM: 6501/1: Thumb-2: Correct data alignment for CONFIG_THUMB2_KERNEL in mm/proc-v7.S\n\nDirectives such as .long and .word do not magically cause the\nassembler location counter to become aligned in gas.  As a result,\nusing these directives in code sections can result in misaligned\ndata words when building a Thumb-2 kernel (CONFIG_THUMB2_KERNEL).\n\nThis is a Bad Thing, since the ABI permits the compiler to assume\nthat fundamental types of word size or above are word- aligned when\naccessing them from C.  If the data is not really word-aligned,\nthis can cause impaired performance and stray alignment faults in\nsome circumstances.\n\nIn general, the following rules should be applied when using data\nword declaration directives inside code sections:\n\n    * .quad and .double:\n         .align 3\n\n    * .long, .word, .single, .float:\n         .align (or .align 2)\n\n    * .short:\n        No explicit alignment required, since Thumb-2\n        instructions are always 2 or 4 bytes in size.\n        immediately after an instruction.\n\nIn this specific case, we can achieve the desired alignment by\nforcing a 32-bit branch instruction using the W() macro, since the\nassembler location counter is already 32-bit aligned in this case.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Dave Martin \u003cdave.martin@linaro.org\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "53cbe2225153de55cf6848394d63d1fb1ea00a18",
      "old_mode": 33188,
      "old_path": "arch/arm/mm/proc-v7.S",
      "new_id": "9b9ff5d949fdd08d73d37351b0e3c580a7533b83",
      "new_mode": 33188,
      "new_path": "arch/arm/mm/proc-v7.S"
    }
  ]
}
