Bug 30084 - readelf.c:handle_bit_registers() sets parameter desc without using it.
Summary: readelf.c:handle_bit_registers() sets parameter desc without using it.
Alias: None
Product: elfutils
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Depends on:
Reported: 2023-02-05 21:45 UTC by David Edelsohn
Modified: 2023-02-09 13:17 UTC (History)
3 users (show)

See Also:
Last reconfirmed:


Note You need to log in before you can comment on or make changes to this bug.
Description David Edelsohn 2023-02-05 21:45:46 UTC
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.
Comment 1 Mark Wielaard 2023-02-09 13:17:30 UTC
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.
    Co-developed-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>