[llvm] r240695 - llvm-nm: Don't print mapping symbols.

Sean Silva chisophugis at gmail.com
Thu Jun 25 16:00:34 PDT 2015


Do we have a way to see these now?

-- Sean Silva

On Thu, Jun 25, 2015 at 2:00 PM, Rafael Espindola <
rafael.espindola at gmail.com> wrote:

> Author: rafael
> Date: Thu Jun 25 16:00:51 2015
> New Revision: 240695
>
> URL: http://llvm.org/viewvc/llvm-project?rev=240695&view=rev
> Log:
> llvm-nm: Don't print mapping symbols.
>
> This matches the behavior of gnu nm. Fixes pr23930.
>
> Added:
>     llvm/trunk/test/Object/ARM/nm-mapping-symbol.s
> Modified:
>     llvm/trunk/include/llvm/Object/ELFObjectFile.h
>
> Modified: llvm/trunk/include/llvm/Object/ELFObjectFile.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ELFObjectFile.h?rev=240695&r1=240694&r2=240695&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/Object/ELFObjectFile.h (original)
> +++ llvm/trunk/include/llvm/Object/ELFObjectFile.h Thu Jun 25 16:00:51 2015
> @@ -394,6 +394,15 @@ uint32_t ELFObjectFile<ELFT>::getSymbolF
>        EIter == EF.begin_symbols() || EIter == EF.begin_dynamic_symbols())
>      Result |= SymbolRef::SF_FormatSpecific;
>
> +  if (EF.getHeader()->e_machine == ELF::EM_ARM) {
> +    if (ErrorOr<StringRef> NameOrErr = EF.getSymbolName(EIter)) {
> +      StringRef Name = *NameOrErr;
> +      if (Name.startswith("$d") || Name.startswith("$t") ||
> +          Name.startswith("$a"))
> +        Result |= SymbolRef::SF_FormatSpecific;
> +    }
> +  }
> +
>    if (ESym->st_shndx == ELF::SHN_UNDEF)
>      Result |= SymbolRef::SF_Undefined;
>
>
> Added: llvm/trunk/test/Object/ARM/nm-mapping-symbol.s
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/ARM/nm-mapping-symbol.s?rev=240695&view=auto
>
> ==============================================================================
> --- llvm/trunk/test/Object/ARM/nm-mapping-symbol.s (added)
> +++ llvm/trunk/test/Object/ARM/nm-mapping-symbol.s Thu Jun 25 16:00:51 2015
> @@ -0,0 +1,11 @@
> +// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=armv7-pc-linux
> +// RUN: llvm-readobj -t %t.o | FileCheck %s
> +// RUN: llvm-nm %t.o | FileCheck -allow-empty --check-prefix=NM %s
> +
> +// Test that nm doesn't print the mapping symbols
> +
> +// CHECK: Name: $d.0
> +// NM-NOT: $d.0
> +
> +        .section        .foobar,"",%progbits
> +        .asciz  "foo"
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150625/77bfd011/attachment.html>


More information about the llvm-commits mailing list