On Thursday 17 December 2015 10:54:47 Catalin Marinas wrote:
quoted
quoted
IIUC, we may have a problem with this. elf_hwcap is 64-bit long while
elf_info[n] is 32-bit (Elf32_Addr), so we truncate AT_HWCAP if we ever
go beyond bit 31. The above may need to look something like:
#define COMPAT_ELF_HWCAP \
(is_a32_compat_task() \
? compat_elf_hwcap \
: (u32)elf_hwcap)
#define COMPAT_ELF_HWCAP2 \
(is_a32_compat_task() \
? compat_elf_hwcap2 \
: (u32)(elf_hwcap >> 32))
Yes, interesting find.
BTW, we need to make sure this series (primarily the ABI) is big-endian
safe. I know it is not targeted at this initially but given that the
reason for doing it is legacy networking code, I wouldn't be surprised
if someone asks for BE at some point in the future.
Yes, I'm sure that will be needed.
Arnd