This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] readelf: Report error when decl_file or call_file attribute is invalid.


On Tue, 2018-03-27 at 15:42 +0200, Mark Wielaard wrote:
> On Tue, 2018-03-20 at 13:33 +0100, Mark Wielaard wrote:
> > Report an error for why the DW_AT_decl_file or DW_AT_call_file
> > cannot
> > be resolved to a file name. This is likely invalid DWARF, a missing
> > DW_AT_stmt_list attribute on the CU or a missing .debug_line
> > section.
> 
> I pushed this to master

And the buildbot flagged an issue on debian-i686:
https://builder.wildebeest.org/buildbot/#/builders/4/builds/110

readelf.c: In function ‘attr_callback’:
readelf.c:6261:27: error: format ‘%zx’ expects argument of type ‘size_t’, but argument 4 has type ‘Dwarf_Off {aka long long unsigned int}’ [-Werror=format=]
     error (0, 0, gettext ("no srcfiles for CU [%zx]"),
                           ^

Oops. Sorry about that. Fixed as attached.
From f0d7b3e14779cdf5facede98edc924ef1266b785 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 27 Mar 2018 16:22:16 +0200
Subject: [PATCH] readelf: Print dwarf_dieoffset as %PRIx64, not %zx.

On 32bit architectures size_t is not 64bit...

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 src/ChangeLog | 5 +++++
 src/readelf.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index f2f99ed..1ad6b3d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-27  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (attr_callback): Print dwarf_dieoffset as %PRIx64,
+	not %zx.
+
 2018-03-20  Mark Wielaard  <mark@klomp.org>
 
 	* readelf.c (attr_callback): Report error when DW_AT_decl_file or
diff --git a/src/readelf.c b/src/readelf.c
index 8a96881..4e35b61 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -6258,7 +6258,7 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
 			     num, dwarf_errmsg (-1));
 		  }
 		else
-		  error (0, 0, gettext ("no srcfiles for CU [%zx]"),
+		  error (0, 0, gettext ("no srcfiles for CU [%" PRIx64 "]"),
 			 dwarf_dieoffset (&cudie));
 	      }
 	    else
-- 
1.8.3.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]