Hi Finn,
On Mon, Mar 27, 2023 at 2:47 AM Finn Thain <fthain@xxxxxxxxxxxxxx> wrote:
I wasn't able to add the linux-m68k list to the bug report Cc list.
I'm forwarding this as I don't know the answer to Tom's question...
On Sat, 25 Mar 2023, tromey at sourceware dot org wrote:
https://sourceware.org/bugzilla/show_bug.cgi?id=30273
Tom Tromey <tromey at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at sourceware dot org
--- Comment #1 from Tom Tromey <tromey at sourceware dot org> ---
This is probably a regression due to this patch:
commit 3eba3a011a89c75c10bd1860eee4589e65697165
Author: Tom Tromey <tromey@xxxxxxxxxxx>
Date: Mon Sep 14 08:30:10 2020 -0600
Various m68k fixes for gdb
When I debug gdb I see it decides this core file is
GDB_OSABI_SVR4, not GDB_OSABI_LINUX. This happens
because m68k_osabi_sniffer takes this branch:
if (elfosabi == ELFOSABI_NONE)
return GDB_OSABI_SVR4;
From elf/common.h:
#define ELFOSABI_NONE 0 /* UNIX System V ABI */
#define ELFOSABI_HPUX 1 /* HP-UX operating system */
#define ELFOSABI_NETBSD 2 /* NetBSD */
#define ELFOSABI_GNU 3 /* GNU */
#define ELFOSABI_LINUX 3 /* Alias for ELFOSABI_GNU */
So I guess one question is why this core file isn't marked
as ELFOSABI_LINUX.
Only PA-RISC and the remoteproc core dumper seem to use
ELFOSABI_LINUX?
arch/parisc/include/asm/elf.h:#define ELF_OSABI ELFOSABI_LINUX
arch/parisc/kernel/ptrace.c: .name = "parisc", .e_machine =
ELF_ARCH, .ei_osabi = ELFOSABI_LINUX,
arch/parisc/kernel/ptrace.c: .name = "parisc", .e_machine =
EM_PARISC, .ei_osabi = ELFOSABI_LINUX,
include/uapi/linux/elf.h:#ifndef ELF_OSABI
include/uapi/linux/elf.h:#define ELF_OSABI ELFOSABI_NONE
include/uapi/linux/elf.h-#endif
fs/proc/kcore.c: [EI_OSABI] = ELF_OSABI,
drivers/remoteproc/remoteproc_elf_helpers.h:
hdr->e_ident[EI_OSABI] = ELFOSABI_NONE;
Or perhaps it's set originally somewhere else, but overwritten on
m68k (and a few others)?
arch/arm/kernel/ptrace.c: .name = "arm", .e_machine =
ELF_ARCH, .ei_osabi = ELF_OSABI,
arch/hexagon/kernel/ptrace.c: .ei_osabi = ELF_OSABI,
arch/m68k/kernel/ptrace.c: .ei_osabi = ELF_OSABI,
arch/mips/kernel/ptrace.c: .ei_osabi = ELF_OSABI,
arch/mips/kernel/ptrace.c: .ei_osabi = ELF_OSABI,
arch/mips/kernel/ptrace.c: .ei_osabi = ELF_OSABI,
arch/nios2/kernel/ptrace.c: .ei_osabi = ELF_OSABI,
Does this work on other architectures?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds