aboutsummaryrefslogtreecommitdiff
path: root/linux-user/ppc/Makefile.vdso
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-08-14 17:58:55 -0700
committerRichard Henderson <richard.henderson@linaro.org>2023-10-30 13:41:56 -0700
commite34136d93059ddd4a5e186b62282fccf27c3e9d0 (patch)
tree918b4228f511d5b92dd352c159dfaa8eb8e36683 /linux-user/ppc/Makefile.vdso
parent00cc2934b2f02c469bd28cae0f1ac09e289a5ae9 (diff)
linux-user/ppc: Add vdso
Add support in gen-vdso-elfn.c.inc for the DT_PPC64_OPT dynamic tag: this is an integer, so does not need relocation. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/ppc/Makefile.vdso')
-rw-r--r--linux-user/ppc/Makefile.vdso20
1 files changed, 20 insertions, 0 deletions
diff --git a/linux-user/ppc/Makefile.vdso b/linux-user/ppc/Makefile.vdso
new file mode 100644
index 0000000000..3ca3c6b83e
--- /dev/null
+++ b/linux-user/ppc/Makefile.vdso
@@ -0,0 +1,20 @@
+include $(BUILD_DIR)/tests/tcg/ppc64-linux-user/config-target.mak
+
+SUBDIR = $(SRC_PATH)/linux-user/ppc
+VPATH += $(SUBDIR)
+
+all: $(SUBDIR)/vdso-32.so $(SUBDIR)/vdso-64.so $(SUBDIR)/vdso-64le.so
+
+LDFLAGS32 = -nostdlib -shared -Wl,-T,$(SUBDIR)/vdso-32.ld \
+ -Wl,-h,linux-vdso32.so.1 -Wl,--hash-style=both -Wl,--build-id=sha1
+LDFLAGS64 = -nostdlib -shared -Wl,-T,$(SUBDIR)/vdso-64.ld \
+ -Wl,-h,linux-vdso64.so.1 -Wl,--hash-style=both -Wl,--build-id=sha1
+
+$(SUBDIR)/vdso-32.so: vdso.S vdso-32.ld vdso-asmoffset.h
+ $(CC) -o $@ $(LDFLAGS32) -m32 $<
+
+$(SUBDIR)/vdso-64.so: vdso.S vdso-64.ld vdso-asmoffset.h
+ $(CC) -o $@ $(LDFLAGS64) -mbig-endian $<
+
+$(SUBDIR)/vdso-64le.so: vdso.S vdso-64.ld vdso-asmoffset.h
+ $(CC) -o $@ $(LDFLAGS64) -mlittle-endian $<