)]}'
{
  "commit": "b219e706ece645ba5d03eaa90b0215f3e2ed8dee",
  "tree": "ce55081aa51f2c81d6989b86a1e7ac186a0a5287",
  "parents": [
    "ef0aeae6ae0eb3b9673b80fcab669808bb921b0f"
  ],
  "author": {
    "name": "John David Anglin",
    "email": "danglin@gcc.gnu.org",
    "time": "Sat Mar 14 21:03:31 2026 -0400"
  },
  "committer": {
    "name": "John David Anglin",
    "email": "danglin@gcc.gnu.org",
    "time": "Sat Mar 14 21:03:31 2026 -0400"
  },
  "message": "hppa64: Improve HP-UX support and fix some relocation issues\n\nWith this patch, gcc-16 test results are now similar to those\nusing the HP ld.\n\nThe change fixes dynamic symbol handling.  At the moment, we\nonly have a single stub section and no support for long pc-relative\ncalls.  So, we only need to redirect pc-relative branches through\nthe PLT when the call is to a dynamic function.\n\nThe change to elf64_hppa_finalize_dynreloc() fixes C++ VTT support.\nThis fixed many tests in the gcc g++ and libstdc++ testsuites.\n\nThe next step is to add support for long pc-relative branches via\nthe PLT.\n\n2026-03-14  John David Anglin  \u003cdanglin@gcc.gnu.org\u003e\n\nbfd/ChangeLog:\n\n\t* elf64-hppa.c (elf64_hppa_check_relocs): Only set NEED_PLT\n\tand NEED_STUB for symbols with function types.\n\t(elf64_hppa_dynamic_symbol_p): Return false for millicode\n\tsymbols.\n\t(allocate_global_data_dlt): Only allocate DLT entries for\n\tsymbols that are dynamic or defined.  Clear hh-\u003ewant_dlt\n\tif we don\u0027t want a DLT entry.\n\t(allocate_global_data_plt): Only allocate PLT entries for\n\tdynamic symbols.\n\t(allocate_global_data_stub): Likewise, Only allocate stubs\n\tfor dynamic symbols.\n\t(elf64_hppa_create_dynamic_sections): Fix flags for .dynamic\n\tsection and remove duplicated flags for other dynamic\n\tsections.\n\t(allocate_dynrel_entries): Fix DLT and PLT allocations.\n\t(elf64_hppa_late_size_sections): Don\u0027t sort relocations.\n\tTweak code to set section used to set __text_seg.\n\t(elf64_hppa_finish_dynamic_symbol): Use eh-\u003edynindx instead\n\tof hh-\u003eeh.dynindx.  Don\u0027t call elf64_hppa_dynamic_symbol_p\n\tto determine whether PLT entries and stubs need initialization.\n\t(elf64_hppa_finalize_dynreloc): Add rent-\u003eaddend to value\n\tcalculation.\n\t(elf_hppa_remark_useless_dynamic_symbols): Revise symbols\n\tchecked.\n\t(elf_hppa_final_link_relocate): Revise code to redirect\n\tpc-relative calls to stubs.\n\t(elf_backend_want_p_paddr_set_to_zero): Define to 1 on HP-UX\n\ttarget.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fbe29e2b6b424557e8adbf0d35bbae3a54f933ef",
      "old_mode": 33188,
      "old_path": "bfd/elf64-hppa.c",
      "new_id": "470c28f75d3b5f5c7f46356b4140421ecf67a97a",
      "new_mode": 33188,
      "new_path": "bfd/elf64-hppa.c"
    }
  ]
}
