[ELF] Generalize symbol type handling.
authorDavide Italiano <davide@freebsd.org>
Fri, 4 Mar 2016 01:55:28 +0000 (01:55 +0000)
committerDavide Italiano <davide@freebsd.org>
Fri, 4 Mar 2016 01:55:28 +0000 (01:55 +0000)
commit255730cdc50bed5f842af09de9b1dbe2e829358b
tree9acfe906c26bab46a4d7d490a352d03ee81ef9c9
parent85ddad485ce0822d01db93136cd22afeeacd72b5
[ELF] Generalize symbol type handling.

SymbolBody constructor and friends take isFunc and isTLS boolean arguments.
ELF symbols have already a type so than be easily passed as argument.
If we want to support another type, this scheme is not good enough, that is,
the current code logic would require passing another `bool isObject` around.
Up to two argument, this stretching exercise was a little bit goofy but
still acceptable, but with more types to support, is just too much, IMHO.

Change the code so that the type is passed instead.

Differential Revision:   http://reviews.llvm.org/D17871

llvm-svn: 262684
lld/ELF/InputSection.cpp
lld/ELF/SymbolTable.cpp
lld/ELF/Symbols.cpp
lld/ELF/Symbols.h
lld/ELF/Target.cpp
lld/ELF/Writer.cpp