[llvm-dev] recognise DW_AT_SUN_amd64_parmdump dwarf attribute

Adrian Prantl via llvm-dev llvm-dev at lists.llvm.org
Thu Apr 27 08:44:55 PDT 2017


> On Apr 27, 2017, at 8:38 AM, David Blaikie <dblaikie at gmail.com> wrote:
> 
> This'll need a test case, in any case.
> 
> Adrian/Paul: Pondering this, any thoughts on how conflicts in the vendor extension range of attributes, forms, etc, should be resolved if they ever come up? (each vendor is free to define them as they wish, so it could be that multiple vendors have different definitions of the same code/number & would be ambiguous) I don't see any reason to block this patch if it doesn't have such a conflict, since there are already other vendor extension codes supported here for a variety of vendors - but does make me wonder.

We will have to solve it by special-casing the ID and providing a command-line option if we can't disambiguate the true nam/meaning from the context. (E.g., if there was a hypothetical APPLE extension conflicting with a SUN extension and the object file is Mach-O then we could deduce that we should decide for the APPLE extension).

Let's hope we don't have to, though.

On a related note — it would be great if we could import all vendor extensions specified in David Anderson's libdwarf into LLVM.

-- adrian

> 
> On Thu, Apr 27, 2017 at 2:50 AM David Gwynne via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> sun created this tag for identifying functions that dumped their
> register arguments onto the stack.
> 
> this is enough for llvm-dwarfdump to recognise and print the attribute.
> 
> hopefully someone will commit it.
> 
> cheers,
> dlg
> 
> Index: include/llvm/Support/Dwarf.def
> ===================================================================
> --- include/llvm/Support/Dwarf.def      (revision 301500)
> +++ include/llvm/Support/Dwarf.def      (working copy)
> @@ -343,6 +343,8 @@
>  HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU)
>  HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU)
>  HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU)
> +// Sun Extension
> +HANDLE_DW_AT(0x2224, SUN_amd64_parmdump, 0, GNU)
>  // Borland extensions.
>  HANDLE_DW_AT(0x3b11, BORLAND_property_read, 0, BORLAND)
>  HANDLE_DW_AT(0x3b12, BORLAND_property_write, 0, BORLAND)
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list