| 1 | /* |
| 2 | * This program is free software; you can redistribute it and/or modify |
| 3 | * it under the terms of the GNU General Public License version 2 as |
| 4 | * published by the Free Software Foundation, or (at your option) any |
| 5 | * later version. See the COPYING file in the top-level directory. |
| 6 | */ |
| 7 | |
| 8 | #ifndef M68K_TARGET_ELF_H |
| 9 | #define M68K_TARGET_ELF_H |
| 10 | |
| 11 | #define ELF_CLASS ELFCLASS32 |
| 12 | #define ELF_MACHINE EM_68K |
| 13 | |
| 14 | #define HAVE_ELF_CORE_DUMP 1 |
| 15 | |
| 16 | /* |
| 17 | * See linux kernel: arch/m68k/include/asm/elf.h, where |
| 18 | * elf_gregset_t is mapped to struct user_regs_struct via sizeof. |
| 19 | * |
| 20 | * Note that user_regs_struct has |
| 21 | * short stkadj, sr; |
| 22 | * ... |
| 23 | * short fmtvec, __fill; |
| 24 | * but ELF_CORE_COPY_REGS writes to unsigned longs. |
| 25 | * Therefore adjust the sr and fmtvec fields to match. |
| 26 | */ |
| 27 | typedef struct target_elf_gregset_t { |
| 28 | abi_ulong d1, d2, d3, d4, d5, d6, d7; |
| 29 | abi_ulong a0, a1, a2, a3, a4, a5, a6; |
| 30 | abi_ulong d0; |
| 31 | abi_ulong usp; |
| 32 | abi_ulong orig_d0; |
| 33 | abi_ulong sr; |
| 34 | abi_ulong pc; |
| 35 | abi_ulong fmtvec; |
| 36 | } target_elf_gregset_t; |
| 37 | |
| 38 | #endif |