The buildbot flagged a couple of issues on debian-i686.
Fixes pushed to master.

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

diff --git a/src/ChangeLog b/src/ChangeLog
index 4e6887e..419fa20 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-15  Mark Wielaard  <m...@klomp.org>
+
+       * readelf.c (print_form_data): Cast comparisons against offset_len to
+       ptrdiff_t.
+       (print_debug_line_section): Print uint64_t as PRIu64.
+
 2018-05-11  Mark Wielaard  <m...@klomp.org>
 
        * readelf.c (print_debug_macro_section): Use libdw_valid_user_form.
diff --git a/src/readelf.c b/src/readelf.c
index c1d89d3..854d31c 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -6906,7 +6906,7 @@ print_form_data (Dwarf *dbg, int form, const unsigned 
char *readp,
     case DW_FORM_strp:
     case DW_FORM_line_strp:
     case DW_FORM_strp_sup:
-      if (readendp - readp < offset_len)
+      if (readendp - readp < (ptrdiff_t) offset_len)
        goto invalid_data;
       if (offset_len == 8)
        val = read_8ubyte_unaligned_inc (dbg, readp);
@@ -6930,7 +6930,7 @@ print_form_data (Dwarf *dbg, int form, const unsigned 
char *readp,
       break;
 
     case DW_FORM_sec_offset:
-      if (readendp - readp < offset_len)
+      if (readendp - readp < (ptrdiff_t) offset_len)
        goto invalid_data;
       if (offset_len == 8)
        val = read_8ubyte_unaligned_inc (dbg, readp);
@@ -6952,7 +6952,7 @@ print_form_data (Dwarf *dbg, int form, const unsigned 
char *readp,
        {
          readp = data->d_buf + str_offsets_base + val;
          readendp = data->d_buf + data->d_size;
-         if (readendp - readp < offset_len)
+         if (readendp - readp < (ptrdiff_t) offset_len)
            str = "???";
          else
            {
@@ -7248,7 +7248,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, 
GElf_Ehdr *ehdr,
 
          for (uint64_t i = 0; i < directories_count; i++)
            {
-             printf (" %-5lu ", i);
+             printf (" %-5" PRIu64 " ", i);
              for (int j = 0; j < directory_entry_format_count; j++)
                {
                  linep = print_form_data (dbg, enc[j].form,
@@ -7324,7 +7324,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, 
GElf_Ehdr *ehdr,
 
          for (uint64_t i = 0; i < file_name_count; i++)
            {
-             printf (" %-5lu ", i);
+             printf (" %-5" PRIu64 " ", i);
              for (int j = 0; j < file_name_format_count; j++)
                {
                  linep = print_form_data (dbg, enc[j].form,
-- 
1.8.3.1

Reply via email to