PR27228, .reloc wrong symbol emitted for undefined local symbol
authorAlan Modra <amodra@gmail.com>
Sun, 24 Jan 2021 02:09:07 +0000 (12:39 +1030)
committerAlan Modra <amodra@gmail.com>
Sun, 24 Jan 2021 05:46:45 +0000 (16:16 +1030)
commit68fcee4fa753f6488c9f90610da2f5a5a95d5a1f
treedde0d2abe5b60a28107eb4935c56b5af03b6c394
parentb10bae18753862874628f902796eb1cd3925f95d
PR27228, .reloc wrong symbol emitted for undefined local symbol

Local symbols are of course supposed to be defined by their object
file, but in other cases a local symbol is promoted to global by gas
if undefined and referenced.  This patch stops gas wrongly replacing a
local undefined symbol with the undefined section symbol, resulting in
a .reloc undefined local symbol being emitted as global.

PR 27228
* write.c (resolve_reloc_expr_symbols): Don't assume local symbol
is defined.
gas/ChangeLog
gas/write.c