On Sun, 3 Aug 2025 at 00:20, Richard Henderson
<[email protected]> wrote:
>
> This typedef is synonymous with target_ulong.
>
> Signed-off-by: Richard Henderson <[email protected]>
> ---
>  linux-user/elfload.c | 29 +++++++++++++----------------
>  1 file changed, 13 insertions(+), 16 deletions(-)
>
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index fce4c05674..70a1e402d3 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -131,10 +131,8 @@ int info_is_fdpic(struct image_info *info)
>  #endif
>
>  #ifdef TARGET_ABI_MIPSN32
> -typedef abi_ullong      target_elf_greg_t;
>  #define tswapreg(ptr)   tswap64(ptr)
>  #else
> -typedef abi_ulong       target_elf_greg_t;
>  #define tswapreg(ptr)   tswapal(ptr)
>  #endif

Previously we had target_elf_greg_t:
 * for MIPSN32: abi_ullong, which is 64 bits
 * for other TARGET_ABI32: abi_ulong, which is 32 bits
 * for 64-bit archs: abi_ulong, which is 64 bits
 * for 32-bit archs: abi_ulong, which is 32 bits

Now we have target_ulong, which is:
 * for 64-bit archs: 64 bits
 * for 32-bit archs: 32 bits

So the two TARGET_ABI32 which weren't special cased
(hppa and sparc32plus) will go from a 32-bit type to a 64-bit
type, won't they ?

It wouldn't surprise me if this is a bug in the hppa and
sparc32plus cases, but if so we should say in the commit
message that we're fixing it.

thanks
-- PMM

Reply via email to