clang complains:
readelf.c:12205:72: error: parameter 'desc' set but not used
[-Werror,-Wunused-but-set-parameter]
handle_bit_registers (const Ebl_Register_Location *regloc, const void *desc,
^
Mark Wielaard says:
It is never really used since as far as I can see we don't have any
backend with a core register sets where a register doesn't have a
number of bits which isn't a multiple of 8 (only ia64 has some 1
bit registers, but those don't seem part of the core register set).
If we do accidentally try to handle such a register having an abort
is also not very nice. Lets just warn and return/continue.
https://sourceware.org/bugzilla/show_bug.cgi?id=30084
Co-developed-by: Mark Wielaard <[email protected]>
Signed-off-by: Ilya Leoshkevich <[email protected]>
---
src/readelf.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/src/readelf.c b/src/readelf.c
index 0bbd708e..5b3319c2 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -12199,24 +12199,17 @@ handle_core_items (Elf *core, const void *desc,
size_t descsz,
return colno;
}
-static unsigned int
-handle_bit_registers (const Ebl_Register_Location *regloc, const void *desc,
- unsigned int colno)
-{
- desc += regloc->offset;
-
- abort (); /* XXX */
- return colno;
-}
-
-
static unsigned int
handle_core_register (Ebl *ebl, Elf *core, int maxregname,
const Ebl_Register_Location *regloc, const void *desc,
unsigned int colno)
{
if (regloc->bits % 8 != 0)
- return handle_bit_registers (regloc, desc, colno);
+ {
+ error (0, 0, "Warning: Cannot handle register with %" PRIu8 "bits\n",
+ regloc->bits);
+ return colno;
+ }
desc += regloc->offset;
--
2.39.1