)]}'
{
  "commit": "a28ec6201f1eb0962777134a697476f2423d89fe",
  "tree": "4e358e509d033865db22332ea1d055e6889f509f",
  "parents": [
    "53e1d9866f35ab1a595ef1a1e3329ebe0c66f307"
  ],
  "author": {
    "name": "Eugeniy Paltsev",
    "email": "Eugeniy.Paltsev@synopsys.com",
    "time": "Mon Aug 17 22:50:26 2020 +0300"
  },
  "committer": {
    "name": "Maureen Helm",
    "email": "maureen.helm@nxp.com",
    "time": "Sat Sep 05 10:22:56 2020 -0500"
  },
  "message": "isr_tables: don\u0027t whole-archive library\n\nAs of today we have a bit weird situation with generated\nsw_isr_table / irq_vector_table tables.\n\nOn the final linkage stage we pass two files which content\nsection with sw_isr_table / irq_vector_table. They are\n * libarch__common.a (with an outdated tables from the first\n   linkage stage)\n * isr_tables.c.obj (with an actual tables)\n\nThe sections where tables are located are marked with\n\".gnu.linkonce\" prefix. That means:\n\u003c\u003c\u003cAs a GNU extension, if the name begins with .gnu.linkonce,\nwe only link a single copy of the section.\u003e\u003e\u003e\n\nHowever the \"libarch__common.a\" is passed to linker with\n\"--whole-archive\" option which means \u003c\u003c\u003cinclude every object\nfile in the archive in the link, rather than searching the archive\nfor the required object files\u003e\u003e\u003e\n\nThat combination confuses MWDT linker and breaks linkage with\nMWDT toolchain.\n\nAs a simple fix we can move the sw_isr_table / irq_vector_table\nsections to their own library and link this library with\n\"--no-whole-archive\" option.\n\nSigned-off-by: Eugeniy Paltsev \u003cEugeniy.Paltsev@synopsys.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0fc37f6debe4229383d0bceeb897b2c3eed55f21",
      "old_mode": 33188,
      "old_path": "arch/common/CMakeLists.txt",
      "new_id": "6a4ccfca7a74bc55c4078aa83c07654a6b478fff",
      "new_mode": 33188,
      "new_path": "arch/common/CMakeLists.txt"
    }
  ]
}
