)]}'
{
  "commit": "e23cba69ec81f00d7404831f12bdfd4e981fe59d",
  "tree": "bd323718abf167634fbba24e9c48a1782c7a4afe",
  "parents": [
    "1ddfd4f3eac858294793801fa52d63d36042b4b3"
  ],
  "author": {
    "name": "John David Anglin",
    "email": "danglin@gcc.gnu.org",
    "time": "Sun Nov 02 16:04:55 2025 -0500"
  },
  "committer": {
    "name": "John David Anglin",
    "email": "danglin@gcc.gnu.org",
    "time": "Sun Nov 02 16:04:55 2025 -0500"
  },
  "message": "hppa64: Implement segment based relocations for local symbols\n\nThere is progress in implementing 64-bit shared library support.\n\nFixes link error compiling vdso64.so.  HP-UX dynamic linker no longer\ncomplains that libgcc_s.4 linked with GNU ld is an invalid shared library.\n\nRelocations are now generated for all slots in .rela.data, .rela.dlt\nand .rela.opd.  Relocation counts for libgcc_s.4 linked using GNU and\nHP ld are the same except .rela.plt.  That may be okay as GNU ld directs\npc-relative calls to stubs.\n\nGlibc\u0027s ld.so.new appears to link okay.  However, libgcc_s.4 linked with\nGNU ld is still broken on HP-UX.\n\nThere are six unexpected fails in the testsuite and three unexpected\npasses.  There\u0027s at least one fail due to name munging in the .dynsym\ntable.\n\n2025-11-02  John David Anglin  \u003cdanglin@gcc.gnu.org\u003e\n\nbfd/ChangeLog:\n\n\t* elf64-hppa.c (struct elf64_hppa_link_hash_entry): Remove\n\tsym_ind and owner fields.  Rename hash entries for __text_seg\n\tand __data_seg.  Adjust all users.\n\t(global_sym_index): Remove.\n\t(hppa64_elf_local_refcounts): Assert size is not 0.\n\t(elf64_hppa_check_relocs): Drop NEED_PLT from R_PARISC_FPTR64\n\trelocation.  Don\u0027t stash abfd and r_symndx in hh-\u003eowner and\n\thh-\u003esym_indx.  Add global symbols with hh-\u003eeh.dynindx equal\n\t-1 to dynamic table.  Don\u0027t record section symbols to the\n\tlocal dynamic symbol table.\n\t(allocate_global_data_dlt): Don\u0027t add symbol to local dynamic\n\tsymbol table.\n\t(allocate_global_data_opd): Likewise.\n\t(elf64_hppa_late_size_sections): Rework code to add __text_seg\n\tand __data_seg symbols to the dynamic table.\n\t(elf64_hppa_finalize_dlt): Revise to use __text_seg and\n\t__data_seg symbols.\n\t(elf64_hppa_finalize_dynreloc): Likewise.\n\t(elf_hppa_final_link_relocate): When generating a shared\n\tlibrary, ignore relocs in debugging sections.  Revise\n\trelocations needing DLT and OPD dynamic relocations to output\n\tdynamic relocatios for local symbols.  Move code to initialize\n\tsegment base values back to SEGREL case.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4c60bc009394eb34071980e03f047e92c7e7171d",
      "old_mode": 33188,
      "old_path": "bfd/elf64-hppa.c",
      "new_id": "682f1cbd11d0c5e1e5ddfc624f28a0a628bd22a0",
      "new_mode": 33188,
      "new_path": "bfd/elf64-hppa.c"
    }
  ]
}
