)]}'
{
  "commit": "d9d09c878e5648501e33a3f07950c633ca70b298",
  "tree": "101f029d12cfa1eee65bb3065c75579913f3a523",
  "parents": [
    "201d1fb60d98351ecf933e8ed929ed152d7564bb"
  ],
  "author": {
    "name": "Oleg Tolmatcev",
    "email": "oleg.tolmatcev@gmail.com",
    "time": "Fri Jul 17 15:39:11 2026 +0200"
  },
  "committer": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Fri Jul 17 15:39:11 2026 +0200"
  },
  "message": "PE/COFF: raise normal PE section limit safely\n\nPE/COFF stores symbol section numbers in a 16-bit field.  Binutils used\nsigned 16-bit handling there, which limited normal PE objects to 32767\nsections even though MSVC and Clang already accept a larger unsigned\nrange.\n\nRaise the normal PE section limit to 65279, while keeping the PE/COFF\nspecial section-number values for undefined, absolute and debug symbols\nworking correctly.  Do this by decoding and encoding normal PE symbol\nsection numbers as unsigned values in the ordinary range, but preserving\nthe reserved PE constants explicitly.\n\nAlso add a gas test that exercises a normal PE object above the old\n32767-section limit and checks that objdump reports the high section\nnumber correctly.\n\nbfd/ChangeLog:\n\n\t* coffcode.h (COFF_DEFAULT_MAX_NSCNS): Define.\n\t(bfd_coff_std_swap_table): Use it for the default maximum section\n\tcount.\n\t(ticoff0_swap_table): Likewise.\n\t(ticoff1_swap_table): Likewise.\n\t* peXXigen.c (pe_decode_sym_section_number): New function.\n\t(pe_encode_sym_section_number): New function.\n\t(_bfd_XXi_swap_sym_in): Use pe_decode_sym_section_number.\n\t(_bfd_XXi_swap_sym_out): Use pe_encode_sym_section_number.\n\ninclude/ChangeLog:\n\n\t* coff/pe.h (IMAGE_SYM_UNDEFINED): Define.\n\t(IMAGE_SYM_ABSOLUTE): Define.\n\t(IMAGE_SYM_DEBUG): Define.\n\t(IMAGE_SYM_SECTION_MAX): Define.\n\ngas/ChangeLog:\n\n\t* testsuite/gas/pe/pe.exp: Run large-obj-normal.\n\t* testsuite/gas/pe/large-obj-normal.s: New test.\n\t* testsuite/gas/pe/large-obj-normal.d: New test.\n\nSigned-off-by: Oleg Tolmatcev \u003coleg.tolmatcev@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "12cc7c3ca791134655ccdccc4c0934034e96fe1a",
      "old_mode": 33188,
      "old_path": "bfd/coffcode.h",
      "new_id": "267c6ce2782bb1ecf287ccc26351ddf57c303df8",
      "new_mode": 33188,
      "new_path": "bfd/coffcode.h"
    },
    {
      "type": "modify",
      "old_id": "f604a84ec0adff17ef0ee3ba0cd748450dc784ea",
      "old_mode": 33188,
      "old_path": "bfd/peXXigen.c",
      "new_id": "9794ecdaabe050f48c5f07688ea09a8b71af38b0",
      "new_mode": 33188,
      "new_path": "bfd/peXXigen.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e9009e579535be505849514837a8b1f69c92ff96",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/pe/large-obj-normal.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "254733023d980008e4f20c3c447c017edbf32e3f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/pe/large-obj-normal.s"
    },
    {
      "type": "modify",
      "old_id": "82f217cf9485e157f689ff517542565f738ab289",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/pe/pe.exp",
      "new_id": "600fd2425a462f09b66856ae3757d37a40708004",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/pe/pe.exp"
    },
    {
      "type": "modify",
      "old_id": "ece4bf25db1ea2dbc2706af199698edf5d6d69f9",
      "old_mode": 33188,
      "old_path": "include/coff/pe.h",
      "new_id": "133548ff4baeb15ebf7ed1962b9fa6ecf7c0a586",
      "new_mode": 33188,
      "new_path": "include/coff/pe.h"
    }
  ]
}
