Hi Finn, On Mon, Mar 27, 2023 at 2:47 AM Finn Thain <fth...@linux-m68k.org> 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 <tro...@adacore.com> > > 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 -- ge...@linux-m68k.org 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