)]}'
{
  "commit": "d0a2cfbd3141dae38498fa077b01ae6bb394462b",
  "tree": "8cb6fc2a729622c8b9dd3cbbce771a418e3a088f",
  "parents": [
    "cb44f89ce977b1ab2d4063f2487950bddfb75bc7"
  ],
  "author": {
    "name": "Max Filippov",
    "email": "jcmvbkbc@gmail.com",
    "time": "Wed May 03 13:13:52 2017 -0700"
  },
  "committer": {
    "name": "Max Filippov",
    "email": "jcmvbkbc@gmail.com",
    "time": "Mon Nov 28 18:16:12 2022 -0800"
  },
  "message": "xtensa: allow dynamic configuration\n\nImport include/xtensa-dynconfig.h that defines XCHAL_* macros as fields\nof a structure returned from the xtensa_get_config_v\u003cx\u003e function call.\nDefine that structure and fill it with default parameter values\nspecified in the include/xtensa-config.h.\nDefine reusable function xtensa_load_config that tries to load\nconfiguration and return an address of an exported object from it.\nDefine functions xtensa_get_config_v{1,2} that use xtensa_load_config\nto get structures xtensa_config_v{1,2}, either dynamically configured\nor the default.\n\nbfd/\n\t* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Append\n\txtensa-dynconfig.c.\n\t* Makefile.in: Regenerate.\n\t* configure: Regenerate.\n\t* configure.ac (xtensa_elf32_be_vec, xtensa_elf32_le_vec): Add\n\txtensa-dynconfig.lo to the tb.\n\t* elf32-xtensa.c (xtensa-config.h): Replace #include with\n\txtensa-dynconfig.h.\n\t(XSHAL_ABI, XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): Remove\n\tdefinitions.\n\t* xtensa-dynconfig.c: New file.\n\t* xtensa-isa.c (xtensa-dynconfig.h): New #include.\n\t(xtensa_get_modules): New function.\n\t(xtensa_isa_init): Call xtensa_get_modules instead of taking\n\taddress of global xtensa_modules.\n\ngas/\n\t* config/tc-xtensa.c (xtensa-config.h): Replace #include with\n\txtensa-dynconfig.h.\n\t(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0, XTENSA_MARCH_EARLIEST):\n\tRemove definitions.\n\t* config/tc-xtensa.h (xtensa-config.h): Replace #include with\n\txtensa-dynconfig.h.\n\t* config/xtensa-relax.c (xtensa-config.h): Replace #include with\n\txtensa-dynconfig.h.\n\t(XCHAL_HAVE_WIDE_BRANCHES): Remove definition.\n\ninclude/\n\t* xtensa-dynconfig.h: New file.\n\nld/\n\t* emultempl/xtensaelf.em (xtensa-config.h): Replace #include\n\twith xtensa-dynconfig.h.\n\t(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): Remove definitions.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a88c6a0034d729644c3ae3e9934a24c42d7a5486",
      "old_mode": 33188,
      "old_path": "bfd/Makefile.am",
      "new_id": "da55a0bb99e9569c5bca7b87468ecf6c30abf330",
      "new_mode": 33188,
      "new_path": "bfd/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "d5cc5cb1e179820285a00af9fad3ce969f33c2ee",
      "old_mode": 33188,
      "old_path": "bfd/Makefile.in",
      "new_id": "60252f2da54555de8f9b81f5171de71f0140447e",
      "new_mode": 33188,
      "new_path": "bfd/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "74bc5a18471f1e6aedfd0c00af6e8ba24aede53d",
      "old_mode": 33261,
      "old_path": "bfd/configure",
      "new_id": "b532fe7e8afa20ad74aa9eb975bbebf4b9a89cf4",
      "new_mode": 33261,
      "new_path": "bfd/configure"
    },
    {
      "type": "modify",
      "old_id": "5d450a4ad253c767f4837a0ade1352ce6e52fb87",
      "old_mode": 33188,
      "old_path": "bfd/configure.ac",
      "new_id": "45a293d0bcb15250b862f75272e08346570ef57b",
      "new_mode": 33188,
      "new_path": "bfd/configure.ac"
    },
    {
      "type": "modify",
      "old_id": "31e2d7448b0e319d62af2a20494b2ed1cdbb3e7b",
      "old_mode": 33188,
      "old_path": "bfd/elf32-xtensa.c",
      "new_id": "68eaada2f128d6059a68f719e09ec8dfa43c8f30",
      "new_mode": 33188,
      "new_path": "bfd/elf32-xtensa.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c9ada58efe0155530c2ae2b54b31bb432cffc6b",
      "new_mode": 33188,
      "new_path": "bfd/xtensa-dynconfig.c"
    },
    {
      "type": "modify",
      "old_id": "63efbd4994888fc00ebd61ad6ecac5a0ece9dd7e",
      "old_mode": 33188,
      "old_path": "bfd/xtensa-isa.c",
      "new_id": "9919195075d8a6ca0b65ccba4d96517acb8c7255",
      "new_mode": 33188,
      "new_path": "bfd/xtensa-isa.c"
    },
    {
      "type": "modify",
      "old_id": "f7a28d32d0cafc494ac4e78d5a6c48a4afac61b3",
      "old_mode": 33188,
      "old_path": "gas/config/tc-xtensa.c",
      "new_id": "30152bbfbfdd331117652a56e46eab07ad16ac76",
      "new_mode": 33188,
      "new_path": "gas/config/tc-xtensa.c"
    },
    {
      "type": "modify",
      "old_id": "e67abbc9920cef4c5b2d1dd8c58d9bcee110fc67",
      "old_mode": 33188,
      "old_path": "gas/config/tc-xtensa.h",
      "new_id": "b3a49ac8667763b3befc9ec5b758dc9f29782d4a",
      "new_mode": 33188,
      "new_path": "gas/config/tc-xtensa.h"
    },
    {
      "type": "modify",
      "old_id": "0682b29f81571dcac9ba972635d19228db2b1026",
      "old_mode": 33188,
      "old_path": "gas/config/xtensa-relax.c",
      "new_id": "5df220113dad4987f2c8ab20105d2601f26a9854",
      "new_mode": 33188,
      "new_path": "gas/config/xtensa-relax.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "807a8ce61178a4ff803cd92a8846be88c6d67ed6",
      "new_mode": 33188,
      "new_path": "include/xtensa-dynconfig.h"
    },
    {
      "type": "modify",
      "old_id": "9d527daea95b1edb63894664ebf5d7969b1f4583",
      "old_mode": 33188,
      "old_path": "ld/emultempl/xtensaelf.em",
      "new_id": "09ce2589d84ab44d15b4f74f33bc9ead7f4d3726",
      "new_mode": 33188,
      "new_path": "ld/emultempl/xtensaelf.em"
    }
  ]
}
