)]}'
{
  "commit": "e4d49a0f908415edb7a7e718ef2008a96dd43f9b",
  "tree": "b23f491455f9e03d32f806cd26590414f4259b73",
  "parents": [
    "2cc9ed14fae1b288bbdbd9b102b2cbc9a29bf348"
  ],
  "author": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Wed Aug 25 21:58:51 2021 +0930"
  },
  "committer": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Sat Sep 18 08:20:11 2021 +0930"
  },
  "message": "[GOLD] Got_entry::write addends\n\nThis takes care of writing out GOT entries with addends.  The local\nsymbol case was already largely handled, except for passing the addend\nto tls_offset_for_local which might need the addend in a\nlocal_got_offset call.  That\u0027s needed also in tls_offset_for_global.\n\nI\u0027m assuming here that GOT entries for function symbols won\u0027t ever\nhave addends, and in particular that a GOT entry referencing PLT call\nstub code won\u0027t want an offset into the code.\n\n\tPR 28192\n\t* output.cc (Output_data_got::Got_entry::write): Include addend\n\tin global symbol value.  Pass addend to tls_offset_for_*.\n\t* powerpc.cc (Target_powerpc::do_tls_offset_for_local): Handle addend.\n\t(Target_powerpc::do_tls_offset_for_global): Likewise.\n\t* s390.cc (Target_s390::do_tls_offset_for_local): Likewise.\n\t(Target_s390::do_tls_offset_for_global): Likewise.\n\t* target.h (Target::tls_offset_for_local): Add addend param.\n\t(Target::tls_offset_for_global): Likewise.\n\t(Target::do_tls_offset_for_local): Likewise.\n\t(Target::do_tls_offset_for_global): Likewise.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c5f7eef0fbb8bf667c272e3d6a18633d687dd922",
      "old_mode": 33188,
      "old_path": "gold/output.cc",
      "new_id": "7ad8750aa3621e439913f39a7e283d5dc48af1bb",
      "new_mode": 33188,
      "new_path": "gold/output.cc"
    },
    {
      "type": "modify",
      "old_id": "11b98695e640ca7398983211c941ef1114cc4da5",
      "old_mode": 33188,
      "old_path": "gold/powerpc.cc",
      "new_id": "0b6405915c2ee6872134831b241e3fb1ea854c16",
      "new_mode": 33188,
      "new_path": "gold/powerpc.cc"
    },
    {
      "type": "modify",
      "old_id": "600e70810d3417b6639163baed8409343dc3ef0a",
      "old_mode": 33188,
      "old_path": "gold/s390.cc",
      "new_id": "3095320524f676bbd43873a2ba2819ecbc80e96a",
      "new_mode": 33188,
      "new_path": "gold/s390.cc"
    },
    {
      "type": "modify",
      "old_id": "24f7111e922be42876cf75c724889807ade1df97",
      "old_mode": 33188,
      "old_path": "gold/target.h",
      "new_id": "4fce9fdf2c7ac1fe6ba89917a088b9a9c98588e7",
      "new_mode": 33188,
      "new_path": "gold/target.h"
    }
  ]
}
