From: Luis Machado via Gdb-patches <gdb-patches@sourceware.org>
To: gdb-patches@sourceware.org
Subject: [PATCH] Fix build errors for armhf
Date: Thu, 21 Jan 2021 10:41:41 -0300 [thread overview]
Message-ID: <20210121134141.2032528-1-luis.machado@linaro.org> (raw)
When building for 32-bit ARM, I ran into a couple build failures.
The first one seems to be caused by recent changes to warning switches,
leading to the following error:
--
In file included from gdb/coffread.c:35:0:
gdb/coffread.c: In function ‘void enter_linenos(file_ptr, int, int, objfile*)’:
gdb/complaints.h:40:40: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘file_ptr {aka long long int}’ [-Werror=format=]
complaint_internal (FMT, ##__VA_ARGS__); \
^
gdb/coffread.c:1413:7: note: in expansion of macro ‘complaint’
complaint (_("Line number pointer %ld lower than start of line numbers"),
^~~~~~~~~
--
The other one is due to a narrowing conversion in valops.c:
--
gdb/valops.c: In function ‘value* value_assign(value*, value*)’:
gdb/gdbtypes.h:1798:43: error: narrowing conversion of ‘type->type::length’ from ‘ULONGEST {aka long long unsigned int}’ to ‘size_t {aka unsigned int}’ inside { } [-Werror=narrowing]
#define TYPE_LENGTH(thistype) (thistype)->length
~~~~~~~~~~~~^
gdb/valops.c:1252:9: note: in expansion of macro ‘TYPE_LENGTH’
TYPE_LENGTH (type)});
--
Fix both with the following patch. Validated with --enable-targets=all on
Ubuntu 18.04/20.04.
gdb/ChangeLog:
YYYY-MM-DD Luis Machado <luis.machado@linaro.org>
* coffread.c (enter_linenos): Passing string to complaint.
* valops.c (value_assign): Make array view.
---
gdb/coffread.c | 4 ++--
gdb/valops.c | 6 ++++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/gdb/coffread.c b/gdb/coffread.c
index 3b59ba9c922..296cc90d902 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -1410,8 +1410,8 @@ enter_linenos (file_ptr file_offset, int first_line,
return;
if (file_offset < linetab_offset)
{
- complaint (_("Line number pointer %ld lower than start of line numbers"),
- file_offset);
+ complaint (_("Line number pointer %s lower than start of line numbers"),
+ phex_nz (file_offset, sizeof (file_offset)));
if (file_offset > linetab_size) /* Too big to be an offset? */
return;
file_offset += linetab_offset; /* Try reading at that linetab
diff --git a/gdb/valops.c b/gdb/valops.c
index 882f6e7f0c2..d0d5628d11b 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -1246,10 +1246,12 @@ value_assign (struct value *toval, struct value *fromval)
}
else
{
+ gdb::array_view<const gdb_byte> contents
+ = gdb::make_array_view (value_contents (fromval),
+ TYPE_LENGTH (type));
put_frame_register_bytes (frame, value_reg,
value_offset (toval),
- {value_contents (fromval),
- TYPE_LENGTH (type)});
+ contents);
}
}
--
2.25.1
next reply other threads:[~2021-01-21 13:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-21 13:41 Luis Machado via Gdb-patches [this message]
2021-01-21 19:07 ` Tom Tromey
2021-01-21 19:15 ` Luis Machado via Gdb-patches
2021-01-21 20:17 ` Luis Machado via Gdb-patches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210121134141.2032528-1-luis.machado@linaro.org \
--to=gdb-patches@sourceware.org \
--cc=luis.machado@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox