https://sourceware.org/bugzilla/show_bug.cgi?id=26655
Bug ID: 26655 Summary: Power10 libstdc++.so R_PPC64_NONE dynamic relocs Product: binutils Version: 2.36 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: amodra at gmail dot com Target Milestone: --- A recent build of gcc for power10 gave me a libstdc++.so with 87 R_PPC64_NONE dynamic relocations, all due to allocating GOT entries that are never used. The GOT entries correspond to R_PPC64_GOT_PCREL34 relocs for symbols that turn out to be local in the output. They are made local by code near the end of _bfd_elf_link_assign_sym_version, which is called by bfd_elf_size_dynamic_sections. The problem is that ppc64_elf_edit_toc, the code that decides whether GOT entries can be eliminated, is run before bfd_elf_size_dynamic_sections, and at that stage the symbols in question are dynamic, needing GOT entries. However, we do want ppc64_elf_edit_toc to run before sizing dynamic sections as obviously the size of .got changes if ppc64_elf_edit_toc removes the need for a GOT entry. -- You are receiving this mail because: You are on the CC list for the bug.