[PATCH] LTO: Ignore undefined symbols without relocation
H.J. Lu
hjl.tools@gmail.com
Fri Jul 31 11:43:23 GMT 2020
On Fri, Jul 31, 2020 at 4:02 AM Alan Modra <amodra@gmail.com> wrote:
>
> On Fri, Jul 31, 2020 at 11:07:53AM +0100, Nick Clifton wrote:
> > Hi Alan,
> >
> > > Nick, would you please check that this cures the Fedora build problem?
> >
> > It works in my local tests. I am going to try a scratch build in Fedora and see if that shows up any problems.
>
> OK, that's good enough for me. Local testing here didn't show any
> problems either. Patch pushed to master.
>
I compared the results of my fix vs yours:
text data bss dec hex filename
46357 1408 712 48477 bd5d yours
45731 1408 712 47851 baeb mine
One difference is that my fix doesn't have
+ U abort@@GLIBC_2.2.5
+ U access@@GLIBC_2.2.5
+ U __assert_fail@@GLIBC_2.2.5
+ U bfd_arch_list
+ U bfd_close_all_done
+ U bfd_iterate_over_targets
+ U bfd_printable_arch_mach
+ U bfd_scan_vma
+ U getenv@@GLIBC_2.2.5
+ U memset@@GLIBC_2.2.5
+ U mkdtemp@@GLIBC_2.2.5
+ U mkstemps@@GLIBC_2.11
+ U __realpath_chk@@GLIBC_2.4
+ U strcpy@@GLIBC_2.2.5
+ U strdup@@GLIBC_2.2.5
+ U strncmp@@GLIBC_2.2.5
in dynamic symbol table. There are no dynamic relocations against
these symbols. These are caused by GCC bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96385
My patch removes these symbol from dynamic symbol table:
https://sourceware.org/bugzilla/show_bug.cgi?id=26324
--
H.J.
More information about the Binutils
mailing list