ldso: arm: fix build with gcc-14
commit44aee04d7864da97a79fc41eeac0695d5f21f861
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 1 May 2024 11:35:20 +0000 (1 04:35 -0700)
committerWaldemar Brodkorb <wbx@openadk.org>
Thu, 9 May 2024 07:50:49 +0000 (9 09:50 +0200)
tree70bb9a72c05cdebb0dce2293de904ee801c7bbf3
parentac395a9d0c9ffb4ada09baf0b3f49e01087bf06e
ldso: arm: fix build with gcc-14

With gcc-14 warnings caused by type mismatches turn to errors:
- got_entry is a pointer in the _dl_linux_resolver(), but the function
  _dl_linux_resolver() returns unsigned long. Convert got_entry to
  unsigned long when returning
- first argument of _dl_funcdesc_for() is a pointer, but (symbol_addr +
  reloc_value) is unsigned long in the _dl_do_reloc(). Convert function
  argument to (void *)
- struct funcdesc_value::entry_point is a pointer, but DL_RELOC_ADDR
  returns ElfW(Addr). Convert DL_RELOC_ADDR result to (void *) before
  assigning to funcdesc_value::entry_point

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
ldso/ldso/arm/elfinterp.c