[PATCH v2 11/16] linux-user/riscv: Disable vDSO for big-endian targets

Djordje Todorovic posted 16 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH v2 11/16] linux-user/riscv: Disable vDSO for big-endian targets
Posted by Djordje Todorovic 1 month, 2 weeks ago
From: djtodoro <djordje.todorovic@htecgroup.com>

---
 linux-user/riscv/target_elf.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h
index dbbfdf54d3..6f416ac3e2 100644
--- a/linux-user/riscv/target_elf.h
+++ b/linux-user/riscv/target_elf.h
@@ -12,10 +12,16 @@
 
 #ifdef TARGET_RISCV32
 #define ELF_CLASS               ELFCLASS32
-#define VDSO_HEADER             "vdso-32.c.inc"
 #else
 #define ELF_CLASS               ELFCLASS64
-#define VDSO_HEADER             "vdso-64.c.inc"
+#endif
+
+#if !TARGET_BIG_ENDIAN
+# ifdef TARGET_RISCV32
+#  define VDSO_HEADER            "vdso-32.c.inc"
+# else
+#  define VDSO_HEADER            "vdso-64.c.inc"
+# endif
 #endif
 
 #define HAVE_ELF_HWCAP          1
-- 
2.34.1
Re: [PATCH v2 11/16] linux-user/riscv: Disable vDSO for big-endian targets
Posted by Alistair Francis 1 month, 2 weeks ago
On Wed, Feb 25, 2026 at 8:20 PM Djordje Todorovic
<Djordje.Todorovic@htecgroup.com> wrote:
>

Why?

Alistair

> From: djtodoro <djordje.todorovic@htecgroup.com>
>
> ---
>  linux-user/riscv/target_elf.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h
> index dbbfdf54d3..6f416ac3e2 100644
> --- a/linux-user/riscv/target_elf.h
> +++ b/linux-user/riscv/target_elf.h
> @@ -12,10 +12,16 @@
>
>  #ifdef TARGET_RISCV32
>  #define ELF_CLASS               ELFCLASS32
> -#define VDSO_HEADER             "vdso-32.c.inc"
>  #else
>  #define ELF_CLASS               ELFCLASS64
> -#define VDSO_HEADER             "vdso-64.c.inc"
> +#endif
> +
> +#if !TARGET_BIG_ENDIAN
> +# ifdef TARGET_RISCV32
> +#  define VDSO_HEADER            "vdso-32.c.inc"
> +# else
> +#  define VDSO_HEADER            "vdso-64.c.inc"
> +# endif
>  #endif
>
>  #define HAVE_ELF_HWCAP          1
> --
> 2.34.1
Re: [PATCH v2 11/16] linux-user/riscv: Disable vDSO for big-endian targets
Posted by Philippe Mathieu-Daudé 1 month, 1 week ago
On 27/2/26 00:33, Alistair Francis wrote:
> On Wed, Feb 25, 2026 at 8:20 PM Djordje Todorovic
> <Djordje.Todorovic@htecgroup.com> wrote:
>>
> 
> Why?

I suppose we need to rename linux-user/riscv/vdso-32.so
-> linux-user/riscv/vdso-32le.so and build / commit the
vdso-32be.so equivalent. Similarly for 64-bit.

> 
> Alistair
> 
>> From: djtodoro <djordje.todorovic@htecgroup.com>
>>
>> ---
>>   linux-user/riscv/target_elf.h | 10 ++++++++--
>>   1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h
>> index dbbfdf54d3..6f416ac3e2 100644
>> --- a/linux-user/riscv/target_elf.h
>> +++ b/linux-user/riscv/target_elf.h
>> @@ -12,10 +12,16 @@
>>
>>   #ifdef TARGET_RISCV32
>>   #define ELF_CLASS               ELFCLASS32
>> -#define VDSO_HEADER             "vdso-32.c.inc"
>>   #else
>>   #define ELF_CLASS               ELFCLASS64
>> -#define VDSO_HEADER             "vdso-64.c.inc"
>> +#endif
>> +
>> +#if !TARGET_BIG_ENDIAN
>> +# ifdef TARGET_RISCV32
>> +#  define VDSO_HEADER            "vdso-32.c.inc"
>> +# else
>> +#  define VDSO_HEADER            "vdso-64.c.inc"
>> +# endif
>>   #endif
>>
>>   #define HAVE_ELF_HWCAP          1
>> --
>> 2.34.1