)]}'
{
  "commit": "f851723e655f1bd58cdb4e92e1c09f222e16a494",
  "tree": "e190bb88ef5364dd55adaabab2b01fb0d8e47ab1",
  "parents": [
    "54f153a345bc7dbab1e6ccddf604e900571119ca"
  ],
  "author": {
    "name": "Jens Remus",
    "email": "jremus@linux.ibm.com",
    "time": "Sun Jul 06 12:47:43 2025 -0700"
  },
  "committer": {
    "name": "Indu Bhagat",
    "email": "indu.bhagat@oracle.com",
    "time": "Sun Jul 06 12:53:04 2025 -0700"
  },
  "message": "ld: bfd: sframe: Update section size also for relocatable links\n\nFor relocatable links the output .sframe section size may be wrong.\nThis can be observed when dumping the SFrame information from the x86-64\nsframe-reloc-1 test:\n\nName              Address          Off    Size\n.sframe           0000000000000000 000110 00007f\n\nOffset            Type               Symbol\u0027s Value  Symbol\u0027s Name + Addend\n000000000000001c  R_X86_64_PC32      0000000000000000 .text + 1c\n0000000000000030  R_X86_64_PC32      0000000000000000 .text + 65\n\n0x00000000 e2de0201 0300f800 02000000 08000000 ................\n0x00000010 1e000000 00000000 28000000 00000000 ........(.......\n0x00000020 35000000 00000000 04000000 00000000 5...............\n0x00000030 00000000 25000000 0f000000 04000000 ....%...........\n            offset 1st FRE---^^^^^^^^ ^^^^^^^^---number of FREs\n0x00000040 00000000 00030801 0510f004 0410f034 ...............4\nFDE info---^^      | begin of FDEs\n0x00000050 0508f000 03080105 10f00404 10f02405 ..............$.\n                 11111112222222223333333334444---FRE 1, 2, 3, 4\n0x00000060 08f00000 00000000 00000000 00000000 ................\n           4444^^^^...\n0x00000070 00000000 00000000 00000000 000000   ...............\n                                   ...^^^^^^---excessive section\n\nWhen running the x86-64 test cross build on a big-endian system, such\nas s390x, objdump and readelf fail to dump the SFrame information with\nthe following error message:\n\nError: SFrame decode failure: Buffer does not contain SFrame data.\n\nThis is because the following check in flip_sframe() fails, which gets\nonly invoked if the endianness of the SFrame data is different from the\nhost system one:\n\n/* All FDEs and FREs must have been endian flipped by now.  */\nif ((j !\u003d ihp-\u003esfh_num_fres) || (bytes_flipped !\u003d (buf_size - hdrsz)))\n                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nWith:\nj\u003d8, ihp-\u003esfh_num_fres\u003d8, bytes_flipped\u003d70, buf_size\u003d127, hdrsz\u003d28\n\nWhile at it, remove the incorrect code comment.  There is no\nrelationship between \"do not update size\" and the fact that the\n\"contents have not been relocated\".\n\nbfd/\n\t* elf-sframe.c (_bfd_elf_write_section_sframe): Update section\n\tsize also for relocatable links.\n\nSigned-off-by: Jens Remus \u003cjremus@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "33ff5043d31ed246e76a0eb6c06732282c01ea1b",
      "old_mode": 33188,
      "old_path": "bfd/elf-sframe.c",
      "new_id": "24a3d35013ad932e278a673d95da6b89d1021d03",
      "new_mode": 33188,
      "new_path": "bfd/elf-sframe.c"
    }
  ]
}
