Files
qemu-qemu-1/linux-user/sh4/Makefile.vdso
Matt Turner 975bd51a88 linux-user/sh4: add VDSO support for sh4 and sh4eb
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>
2026-05-24 15:07:28 +02:00

19 lines
505 B
Makefile

include $(BUILD_DIR)/tests/tcg/sh4-linux-user/config-target.mak
SUBDIR = $(SRC_PATH)/linux-user/sh4
VPATH += $(SUBDIR)
all: $(SUBDIR)/vdso-le.so $(SUBDIR)/vdso-be.so
LDFLAGS = -nostdlib -shared -Wl,-h,linux-gate.so.1 \
-Wl,--build-id=sha1 -Wl,--hash-style=both \
-Wl,-T,$(SUBDIR)/vdso.ld
$(SUBDIR)/vdso-le.so: vdso.S vdso.ld vdso-asmoffset.h
$(CC) -o $@ $(LDFLAGS) -ml $<
CC_BE = sh4eb-unknown-linux-gnu-gcc
$(SUBDIR)/vdso-be.so: vdso.S vdso.ld vdso-asmoffset.h
$(CC_BE) -o $@ $(LDFLAGS) $<