[PATCH] D120626: [ELF] Move section assignment from initializeSymbols to postParse

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 9 02:19:01 PST 2022


peter.smith added a comment.

Lowest cost option I can think of is to additionally set a flag when InputFiles.cpp:1163:

  if (sym.file == this)
    sym.replace(Undefined{this, sym.getName(), sym.binding, sym.stOther,
                          sym.type, secIdx});
  continue;

Perhaps a new bit field entry in undefined. At the time of reporting undefined symbols we could check for that flag and report some additional context.
`Symbol <sym> was defined in non-prevailing group. Either the symbol was not present in the prevailing group, or the symbol in the prevailing group had STB_WEAK binding and this symbol had STB_GLOBAL binding. LLD does not support mixing of groups with STB_WEAK and STB_GLOBAL bindings for the same symbol name.'

I don't want to hold this up any more than I have already. If it is going to be too much to support then worth adding something to the documentation, or eventually the release notes stating what we don't support.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120626/new/

https://reviews.llvm.org/D120626



More information about the llvm-commits mailing list