[RFC,04/11] readelf: Fix set but not used parameter

Message ID 20230206222513.1773039-5-iii@linux.ibm.com
State Superseded
Headers
Series Add Memory Sanitizer support |

Commit Message

Ilya Leoshkevich Feb. 6, 2023, 10:25 p.m. UTC
  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,
                                                                           ^

Apparently handle_bit_registers() is unimplemented, but one line is
still written for the future. Silence the warning by casting desc to
void.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 src/readelf.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Mark Wielaard Feb. 8, 2023, 4:52 p.m. UTC | #1
Hi Ilya,

On Mon, 2023-02-06 at 23:25 +0100, Ilya Leoshkevich via Elfutils-devel
wrote:
> 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,
>                                                                            ^
> 
> Apparently handle_bit_registers() is unimplemented, but one line is
> still written for the future. Silence the warning by casting desc to
> void.

Someone else also noticed this and filed a bug report, could you add
the bug URL to the commit message?

https://sourceware.org/bugzilla/show_bug.cgi?id=30084

Also can we just remove this whole function?

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. Something like
the attached?

Thanks,

Mark
  

Patch

diff --git a/src/readelf.c b/src/readelf.c
index 51b0e8b9..f09c5c9b 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -12206,6 +12206,7 @@  handle_bit_registers (const Ebl_Register_Location *regloc, const void *desc,
 		      unsigned int colno)
 {
   desc += regloc->offset;
+  (void)desc;
 
   abort ();			/* XXX */
   return colno;