arm: elf-fdpic.h: avoid void pointer subtraction
commitbdbe7da9dbedc66a0b27432e6ae0004a17c5dd65
authorBen Wolsieffer <ben.wolsieffer@hefring.com>
Fri, 20 Oct 2023 17:19:01 +0000 (20 13:19 -0400)
committerWaldemar Brodkorb <wbx@openadk.org>
Thu, 2 Nov 2023 08:52:07 +0000 (2 09:52 +0100)
treed642529994d1e47b863731bc1b7dd008b85c5491
parent5e8f57c674e9f44b284818f3b897c54005d53329
arm: elf-fdpic.h: avoid void pointer subtraction

elf-fdpic.h is included by link.h. When a C++ program includes <link.h>,
we get the following build failure:

<...>/usr/include/bits/elf-fdpic.h: In function ‘void* __reloc_pointer(void*, const elf32_fdpic_loadmap*)’:
<...>/usr/include/bits/elf-fdpic.h:94:54: error: invalid use of ‘void’
   94 |       unsigned long offset = p - (void*)map->segs[c].p_vaddr;
      |                                                      ^~~~~~~

void pointer addition and subtraction is not allowed in C++ as it has
undetermined size, however in C with language extension it is possible
because sizeof void is treated as one byte.

This patch was previously applied to Blackfin, FR-V and C6x, but not
ARM.

Signed-off-by: Ben Wolsieffer <ben.wolsieffer@hefring.com>
libc/sysdeps/linux/arm/bits/elf-fdpic.h