[PATCH] D24721: [MC][MCParser] Mark local and weak symbols as such when parsing assembly text

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 19 05:31:34 PDT 2016


testcase?

On 19 September 2016 at 08:19, Simon Dardis via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> sdardis created this revision.
> sdardis added a subscriber: llvm-commits.
> Herald added a reviewer: vkalintiris.
>
> When parsing assembly text directives such as .local, .weak, the symbols
> were
> not marked as such in the internal symbol table. This lead to different
> output
> depending on whether MCAsmStreamer or MCELFStreamer was. This patch
> corrects such behaviour.
>
> https://reviews.llvm.org/D24721
>
> Files:
>   lib/MC/MCParser/ELFAsmParser.cpp
>
> Index: lib/MC/MCParser/ELFAsmParser.cpp
> ===================================================================
> --- lib/MC/MCParser/ELFAsmParser.cpp
> +++ lib/MC/MCParser/ELFAsmParser.cpp
> @@ -166,6 +166,12 @@
>
>        MCSymbol *Sym = getContext().getOrCreateSymbol(Name);
>
> +      if (Attr == MCSA_Local) {
> +        cast<MCSymbolELF>(Sym)->setBinding(ELF::STB_LOCAL);
> +      } else if (Attr == MCSA_Weak) {
> +        cast<MCSymbolELF>(Sym)->setBinding(ELF::STB_WEAK);
> +      }
> +
>        getStreamer().EmitSymbolAttribute(Sym, Attr);
>
>        if (getLexer().is(AsmToken::EndOfStatement))
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160919/19da692f/attachment.html>


More information about the llvm-commits mailing list