Provides replacement VDSO with sigreturn trampolines (__kernel_sigreturn, __kernel_rt_sigreturn) and syscall stubs (clock_gettime, clock_gettime64, clock_getres, gettimeofday). Both LE and BE blobs are committed and selected at compile time via TARGET_BIG_ENDIAN. The BE variant requires an sh4eb-unknown-linux-gnu toolchain; sh4-unknown-linux-gnu does not support -mb. CFI register numbers follow GCC's SH_DEBUGGER_REGNO: PR=17, GBR=18, MACH=20, MACL=21, FPUL=23, FPSCR=24, FR0-15=25-40. Signed-off-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
29 lines
768 B
C
29 lines
768 B
C
/*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation, or (at your option) any
|
|
* later version. See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef SH4_TARGET_ELF_H
|
|
#define SH4_TARGET_ELF_H
|
|
|
|
#include "target_ptrace.h"
|
|
|
|
#define ELF_CLASS ELFCLASS32
|
|
#define ELF_MACHINE EM_SH
|
|
|
|
#define HAVE_ELF_HWCAP 1
|
|
#define HAVE_ELF_CORE_DUMP 1
|
|
#define HAVE_VDSO_IMAGE_INFO 1
|
|
|
|
/*
|
|
* See linux kernel: arch/sh/include/asm/elf.h, where
|
|
* elf_gregset_t is mapped to struct pt_regs via sizeof.
|
|
*/
|
|
typedef struct target_elf_gregset_t {
|
|
struct target_pt_regs pt;
|
|
} target_elf_gregset_t;
|
|
|
|
#endif
|