multiple definition warnings from script symbols
authorAlan Modra <amodra@gmail.com>
Fri, 7 May 2021 01:54:10 +0000 (11:24 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 7 May 2021 06:55:40 +0000 (16:25 +0930)
commit70993db314dc42194478d2c47b67d89f285c054a
tree728ce7254d2d17cf617b788f1b2b5b2edc7b271e
parent44056b7ce43618094e61bf856d77c798628cac83
multiple definition warnings from script symbols

In commit 89753bbf81 I enabled a warning for scripts redefining
symbols.  The idea was to not warn for symbols defined by shared
libraries (the h->u.def.section->output_section != NULL test), but the
test failed to take into account absolute symbols.  Absolute symbols
defined in shared libraries are currently indistinguishable from
absolute symbols defined in relocatable objects, at least when only
looking at struct bfd_link_hash_entry.  So, don't warn for any
absolute symbols.

* ldexp.c (update_definedness): Don't return false for absolute
symbols.
* ldmain.c (multiple_definition): Print "warning: " in message
when not a hard error.
ld/ChangeLog
ld/ldexp.c
ld/ldmain.c