diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2023-04-13 14:42:06 -0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2023-04-13 14:42:06 -0300 |
commit | bfa033b07f50a20229f33479c1058a3c7c22453f (patch) | |
tree | c0da2a17a2e7988d1d9bfe6f31fd3f206d69150a | |
parent | afca84ff989d97292fd79077439cbf303a8f755e (diff) | |
download | dwarves-bfa033b07f50a20229f33479c1058a3c7c22453f.tar.gz |
pdwtags: Print DW_TAG_constant tags
First seen in Go compile units:
$ readelf -wi main | grep DW_AT_language -m1
<33> DW_AT_language : 22 (Go)
$ pdwtags main | grep Constants: -A20
/* Constants: */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeA = 1; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeNS = 2; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeCNAME = 5; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeSOA = 6; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypePTR = 12; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeMX = 15; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeTXT = 16; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeAAAA = 28; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeSRV = 33; /* size: 2 */
const vendor/golang.org/x/net/dns/dnsmessage.Type vendor/golang.org/x/net/dns/dnsmessage.TypeOPT = 41; /* size: 2 */
$
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | pdwtags.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -67,6 +67,11 @@ static int cu__emit_tags(struct cu *cu) printf(" /* size: %zd */\n\n", tag__size(tag, cu)); } + puts("\n\n/* Constants: */\n"); + cu__for_each_constant(cu, i, tag) { + tag__fprintf(tag, cu, NULL, stdout); + printf(" /* size: %zd */\n\n", tag__size(tag, cu)); + } return 0; } |