static unsigned int handle_bit_registers (const Ebl_Register_Location *regloc, const void *desc, unsigned int colno) { desc += regloc->offset; ... The local parameter desc is updated but not used. The function explicitly calls abort(), so the implementation is not complete and not intended to be used. The function should add (void) desc; or something to create an artificial use and avoid a spurious warning.
commit 3c22256392d58dc50324a392c1c9724a834f47d0 Author: Ilya Leoshkevich <iii@linux.ibm.com> Date: Wed Feb 8 20:52:22 2023 +0100 readelf: Fix set but not used parameter 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 <mark@klomp.org> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>