diff options
author | Fangrui Song <i@maskray.me> | 2021-03-06 15:23:02 -0800 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2021-03-06 15:23:02 -0800 |
commit | d96af2ed2d6cfaa227c82a79d85733bcca4d9084 (patch) | |
tree | d794ac2347da2b05e14f9914d9eac27d535dcf0f /llvm/lib/MC/MCStreamer.cpp | |
parent | 3fedaf2a522b5ca8db209a3864bf55978c407b29 (diff) | |
download | llvm-d96af2ed2d6cfaa227c82a79d85733bcca4d9084.zip llvm-d96af2ed2d6cfaa227c82a79d85733bcca4d9084.tar.gz llvm-d96af2ed2d6cfaa227c82a79d85733bcca4d9084.tar.bz2 |
[MC] Support .symver *, *, remove
As a resolution to https://sourceware.org/bugzilla/show_bug.cgi?id=25295 , GNU as
from binutils 2.35 supports the optional third argument for the .symver directive.
'remove' for a non-default version is useful:
`.symver def_v1, def@v1, remove` => def_v1 is not retained in the symbol table.
Previously the user has to strip the original symbol or specify a `local:`
version node in a version script to localize the symbol.
`.symver def, def@@v1, remove` and `.symver def, def@@@v1, remove` are supported
as well, though they are identical to `.symver def, def@@@v1`.
local/hidden are not useful so this patch does not implement them.
Diffstat (limited to 'llvm/lib/MC/MCStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCStreamer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp index afaa570..ee4cce0 100644 --- a/llvm/lib/MC/MCStreamer.cpp +++ b/llvm/lib/MC/MCStreamer.cpp @@ -1160,8 +1160,8 @@ void MCStreamer::emitXCOFFRenameDirective(const MCSymbol *Name, } void MCStreamer::emitELFSize(MCSymbol *Symbol, const MCExpr *Value) {} -void MCStreamer::emitELFSymverDirective(StringRef AliasName, - const MCSymbol *Aliasee) {} +void MCStreamer::emitELFSymverDirective(const MCSymbol *OriginalSym, + StringRef Name, bool KeepOriginalSym) {} void MCStreamer::emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) {} void MCStreamer::emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, |