)]}'
{
  "commit": "2b17961bfb8b2b0d9701c9c0796a5f5749337fc7",
  "tree": "bf34f84f284737ccc72058aa9158b47330fa8ad1",
  "parents": [
    "6b8fb74a9403092c4e4813c728e20ed10a84676f"
  ],
  "author": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Sun Jan 11 11:43:40 2026 +0800"
  },
  "committer": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Wed Jan 14 06:59:28 2026 +0800"
  },
  "message": "elf: Handle the section flag \u0027o\u0027 linked to special sections\n\nCall _bfd_elf_section_from_bfd_section to get the sh_link value from\nthe section flag \u0027o\u0027 directive, which may point to special sections,\nlike SHN_ABS or SHN_COMM.  Update readelf to print the special section\nnames in the sh_link field and replace \"internal-\u003esh_link \u003e num\" with\n\"internal-\u003esh_link \u003e\u003d num\".\n\nbfd/\n\n\tPR gas/33744\n\t* elf.c (assign_section_numbers): Call\n\t_bfd_elf_section_from_bfd_section to get the sh_link value.\n\nbinutils/\n\n\tPR gas/33744\n\t* readelf.c (special_defined_section_index): New.\n\t(get_32bit_section_headers): Don\u0027t warn special section indexes\n\tin the sh_link field.\n\t(get_64bit_section_headers): Likewise.\n\t(process_section_headers): Print special defined section names.\n\ngas/\n\n\tPR gas/33744\n\t* testsuite/gas/elf/elf.exp: Run PR gas/33744 tests.\n\t* testsuite/gas/elf/sh-link-abs-1.d: New file.\n\t* testsuite/gas/elf/sh-link-abs-2.d: Likewise.\n\t* testsuite/gas/elf/sh-link-abs-3-32.d: Likewise.\n\t* testsuite/gas/elf/sh-link-abs-3-64.d: Likewise.\n\t* testsuite/gas/elf/sh-link-abs-4-32.d: Likewise.\n\t* testsuite/gas/elf/sh-link-abs-4-64.d: Likewise.\n\t* testsuite/gas/elf/sh-link-abs.s: Likewise.\n\t* testsuite/gas/elf/sh-link-common-1.d: Likewise.\n\t* testsuite/gas/elf/sh-link-common-2.d: Likewise.\n\t* testsuite/gas/elf/sh-link-common-3-32.d: Likewise.\n\t* testsuite/gas/elf/sh-link-common-3-64.d: Likewise.\n\t* testsuite/gas/elf/sh-link-common-4-32.d: Likewise.\n\t* testsuite/gas/elf/sh-link-common-4-64.d: Likewise.\n\t* testsuite/gas/elf/sh-link-common.s: Likewise.\n\t* testsuite/gas/elf/sh-link-large-common-1.d: Likewise.\n\t* testsuite/gas/elf/sh-link-large-common-2.d: Likewise.\n\t* testsuite/gas/elf/sh-link-large-common-3.d: Likewise.\n\t* testsuite/gas/elf/sh-link-large-common-4.d: Likewise.\n\t* testsuite/gas/elf/sh-link-large-common.s: Likewise.\n\nSigned-off-by: H.J. Lu \u003chjl.tools@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8b6dd3ce37024e4d41ae4639a6a9692d23f45289",
      "old_mode": 33188,
      "old_path": "bfd/elf.c",
      "new_id": "1177c3c3016ed83fc5a6e58798e0a6d882a4f145",
      "new_mode": 33188,
      "new_path": "bfd/elf.c"
    },
    {
      "type": "modify",
      "old_id": "d26e2bfa7b954e87da703f2b8da854c2641ce7dc",
      "old_mode": 33188,
      "old_path": "binutils/readelf.c",
      "new_id": "5b7fc0dc1de37e492ae7436c3f6f34e5e742f539",
      "new_mode": 33188,
      "new_path": "binutils/readelf.c"
    },
    {
      "type": "modify",
      "old_id": "35e06ce58b3b1660a0769442e65a329f505dd9dc",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/elf/elf.exp",
      "new_id": "b4b4272ab9fa0b4a0a33e142e05219a667c747db",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/elf.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7010df0425f83bc331f7c53d63e95c8b29eb5068",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs-1.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e3058a97288f0c697b55af59abc82b0c285d4487",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs-2.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "efac2f115fc5fcb6043bfd7e34aa75b499045bb2",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs-3-32.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5724d27b2c90ccec26e8e95b8f0a6123e06e38d7",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs-3-64.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31387c4b7f2c11408d372bd27814f2d53be0c9fb",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs-4-32.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d0ae74d01d556e2dec99a2215949ce3217d7270b",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs-4-64.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7094c77029903e14e5c619bf6036cccffd29cc97",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-abs.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e042efbc1724ba07a5e49ecc56a21d211cad6d8",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common-1.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aaed278bccf62863a2cbc98b6408b40cff248a52",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common-2.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e2ca20f447f08770cd15c03565e343934cf0439f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common-3-32.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "86a2b9f7f39fe223854f6e31cc9e4eba34ed9efc",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common-3-64.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ad0bb1b8193ef2bb4740bb7fabf0da7cedc1f945",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common-4-32.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4637b72883bdaeb584ee0f3bed20a2a414b5000c",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common-4-64.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "84ec3e446df1267c143ccfbbcaa7ed1e82195d28",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-common.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "acf238c8d1ca26638c76009505dab9a5208bcfef",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-large-common-1.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "36d983761b74173e9a3cb44ed46ed4a0ae12eee3",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-large-common-2.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d738a90482e8a707d53a38c728a2cb02e43edea6",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-large-common-3.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0101e54da7a3569526b65c8c2420ff159f237146",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-large-common-4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2ef554dbc9aaba91356c650a3c6fd1e6afd7bd9",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/sh-link-large-common.s"
    }
  ]
}
