aboutsummaryrefslogtreecommitdiff
path: root/gprof
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-08-04 12:22:39 +0930
committerAlan Modra <amodra@gmail.com>2022-08-04 12:22:39 +0930
commitb82817674f46e4f08a5910719499ddc72399473f (patch)
tree079452a4c6a71ffe6493a8a818007700dad6c7e5 /gprof
parent6b9bd54c24dcf08e400e5b79a958e051ccfde30d (diff)
downloadfsf-binutils-gdb-b82817674f46e4f08a5910719499ddc72399473f.zip
fsf-binutils-gdb-b82817674f46e4f08a5910719499ddc72399473f.tar.gz
fsf-binutils-gdb-b82817674f46e4f08a5910719499ddc72399473f.tar.bz2
Don't use BFD_VMA_FMT in binutils
BFD_VMA_FMT can't be used in format strings that need to be translated, because the translation won't work when the type of bfd_vma differs from the machine used to compile .pot files. We've known about this for a long time, but patches slip through review. So just get rid of BFD_VMA_FMT, instead using the appropriate PRId64, PRIu64, PRIx64 or PRIo64 and SCN variants for scanf. The patch is mostly mechanical, the only thing requiring any thought is casts needed to preserve PRId64 output from bfd_vma values, or to preserve one of the unsigned output formats from bfd_signed_vma values.
Diffstat (limited to 'gprof')
-rw-r--r--gprof/corefile.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gprof/corefile.c b/gprof/corefile.c
index 2838d49..0ca32c4 100644
--- a/gprof/corefile.c
+++ b/gprof/corefile.c
@@ -560,7 +560,9 @@ core_create_syms_from (const char * sym_table_file)
sym_init (symtab.limit);
- sscanf (address, "%" BFD_VMA_FMT "x", &(symtab.limit->addr) );
+ uint64_t addr;
+ sscanf (address, "%" SCNx64, &addr);
+ symtab.limit->addr = addr;
symtab.limit->name = (char *) xmalloc (strlen (name) + 1);
strcpy ((char *) symtab.limit->name, name);