All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] linux-user/x86_64: Fix ELF_PLATFORM
@ 2022-06-03 21:38 Richard Henderson
  2022-06-04 10:43 ` Philippe Mathieu-Daudé via
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Richard Henderson @ 2022-06-03 21:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent

We had been using the i686 platform string for x86_64.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1041
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 linux-user/elfload.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index f7eae357f4..163fc8a1ee 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -130,19 +130,6 @@ typedef abi_int         target_pid_t;
 
 #ifdef TARGET_I386
 
-#define ELF_PLATFORM get_elf_platform()
-
-static const char *get_elf_platform(void)
-{
-    static char elf_platform[] = "i386";
-    int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
-    if (family > 6)
-        family = 6;
-    if (family >= 3)
-        elf_platform[1] = '0' + family;
-    return elf_platform;
-}
-
 #define ELF_HWCAP get_elf_hwcap()
 
 static uint32_t get_elf_hwcap(void)
@@ -158,6 +145,8 @@ static uint32_t get_elf_hwcap(void)
 #define ELF_CLASS      ELFCLASS64
 #define ELF_ARCH       EM_X86_64
 
+#define ELF_PLATFORM   "x86_64"
+
 static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
 {
     regs->rax = 0;
@@ -221,6 +210,21 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86State *en
 #define ELF_CLASS       ELFCLASS32
 #define ELF_ARCH        EM_386
 
+#define ELF_PLATFORM get_elf_platform()
+
+static const char *get_elf_platform(void)
+{
+    static char elf_platform[] = "i386";
+    int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
+    if (family > 6) {
+        family = 6;
+    }
+    if (family >= 3) {
+        elf_platform[1] = '0' + family;
+    }
+    return elf_platform;
+}
+
 static inline void init_thread(struct target_pt_regs *regs,
                                struct image_info *infop)
 {
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] linux-user/x86_64: Fix ELF_PLATFORM
  2022-06-03 21:38 [PATCH] linux-user/x86_64: Fix ELF_PLATFORM Richard Henderson
@ 2022-06-04 10:43 ` Philippe Mathieu-Daudé via
  2022-06-04 14:09 ` Laurent Vivier
  2022-06-21 18:16 ` Laurent Vivier
  2 siblings, 0 replies; 4+ messages in thread
From: Philippe Mathieu-Daudé via @ 2022-06-04 10:43 UTC (permalink / raw)
  To: Richard Henderson, qemu-devel; +Cc: laurent

On 3/6/22 23:38, Richard Henderson wrote:
> We had been using the i686 platform string for x86_64.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1041
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   linux-user/elfload.c | 30 +++++++++++++++++-------------
>   1 file changed, 17 insertions(+), 13 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] linux-user/x86_64: Fix ELF_PLATFORM
  2022-06-03 21:38 [PATCH] linux-user/x86_64: Fix ELF_PLATFORM Richard Henderson
  2022-06-04 10:43 ` Philippe Mathieu-Daudé via
@ 2022-06-04 14:09 ` Laurent Vivier
  2022-06-21 18:16 ` Laurent Vivier
  2 siblings, 0 replies; 4+ messages in thread
From: Laurent Vivier @ 2022-06-04 14:09 UTC (permalink / raw)
  To: Richard Henderson, qemu-devel

Le 03/06/2022 à 23:38, Richard Henderson a écrit :
> We had been using the i686 platform string for x86_64.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1041
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   linux-user/elfload.c | 30 +++++++++++++++++-------------
>   1 file changed, 17 insertions(+), 13 deletions(-)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] linux-user/x86_64: Fix ELF_PLATFORM
  2022-06-03 21:38 [PATCH] linux-user/x86_64: Fix ELF_PLATFORM Richard Henderson
  2022-06-04 10:43 ` Philippe Mathieu-Daudé via
  2022-06-04 14:09 ` Laurent Vivier
@ 2022-06-21 18:16 ` Laurent Vivier
  2 siblings, 0 replies; 4+ messages in thread
From: Laurent Vivier @ 2022-06-21 18:16 UTC (permalink / raw)
  To: Richard Henderson, qemu-devel

Le 03/06/2022 à 23:38, Richard Henderson a écrit :
> We had been using the i686 platform string for x86_64.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1041
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   linux-user/elfload.c | 30 +++++++++++++++++-------------
>   1 file changed, 17 insertions(+), 13 deletions(-)
> 
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index f7eae357f4..163fc8a1ee 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -130,19 +130,6 @@ typedef abi_int         target_pid_t;
>   
>   #ifdef TARGET_I386
>   
> -#define ELF_PLATFORM get_elf_platform()
> -
> -static const char *get_elf_platform(void)
> -{
> -    static char elf_platform[] = "i386";
> -    int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
> -    if (family > 6)
> -        family = 6;
> -    if (family >= 3)
> -        elf_platform[1] = '0' + family;
> -    return elf_platform;
> -}
> -
>   #define ELF_HWCAP get_elf_hwcap()
>   
>   static uint32_t get_elf_hwcap(void)
> @@ -158,6 +145,8 @@ static uint32_t get_elf_hwcap(void)
>   #define ELF_CLASS      ELFCLASS64
>   #define ELF_ARCH       EM_X86_64
>   
> +#define ELF_PLATFORM   "x86_64"
> +
>   static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
>   {
>       regs->rax = 0;
> @@ -221,6 +210,21 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86State *en
>   #define ELF_CLASS       ELFCLASS32
>   #define ELF_ARCH        EM_386
>   
> +#define ELF_PLATFORM get_elf_platform()
> +
> +static const char *get_elf_platform(void)
> +{
> +    static char elf_platform[] = "i386";
> +    int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
> +    if (family > 6) {
> +        family = 6;
> +    }
> +    if (family >= 3) {
> +        elf_platform[1] = '0' + family;
> +    }
> +    return elf_platform;
> +}
> +
>   static inline void init_thread(struct target_pt_regs *regs,
>                                  struct image_info *infop)
>   {

Applied to my linux-user-for-7.1 branch.

Thanks,
Laurent


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-21 18:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-03 21:38 [PATCH] linux-user/x86_64: Fix ELF_PLATFORM Richard Henderson
2022-06-04 10:43 ` Philippe Mathieu-Daudé via
2022-06-04 14:09 ` Laurent Vivier
2022-06-21 18:16 ` Laurent Vivier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.