From 0c2f51a7d2546f65e4198cccd6a56e2a8b857677 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 30 Jan 2008 13:30:42 +0100 Subject: [PATCH] x86 vDSO: arch/x86/vdso/vdso32 This moves the i386 vDSO sources into arch/x86/vdso/vdso32/, a new directory. This patch is a pure renaming, but paves the way for consolidating the vDSO build logic. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- arch/x86/ia32/vsyscall-sigreturn.S | 3 +-- arch/x86/kernel/Makefile_32 | 3 +++ arch/x86/{kernel/vsyscall-int80_32.S => vdso/vdso32/int80.S} | 2 +- arch/x86/{kernel/vsyscall-note_32.S => vdso/vdso32/note.S} | 2 +- .../vsyscall-sigreturn_32.S => vdso/vdso32/sigreturn.S} | 4 ++-- .../{kernel/vsyscall-sysenter_32.S => vdso/vdso32/sysenter.S} | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) rename arch/x86/{kernel/vsyscall-int80_32.S => vdso/vdso32/int80.S} (97%) rename arch/x86/{kernel/vsyscall-note_32.S => vdso/vdso32/note.S} (95%) rename arch/x86/{kernel/vsyscall-sigreturn_32.S => vdso/vdso32/sigreturn.S} (97%) rename arch/x86/{kernel/vsyscall-sysenter_32.S => vdso/vdso32/sysenter.S} (99%) diff --git a/arch/x86/ia32/vsyscall-sigreturn.S b/arch/x86/ia32/vsyscall-sigreturn.S index b383be00bae..295eecf91f1 100644 --- a/arch/x86/ia32/vsyscall-sigreturn.S +++ b/arch/x86/ia32/vsyscall-sigreturn.S @@ -139,5 +139,4 @@ __kernel_rt_sigreturn: .align 4 .LENDFDE3: -#include "../../x86/kernel/vsyscall-note_32.S" - +#include "../vdso/vdso32/note.S" diff --git a/arch/x86/kernel/Makefile_32 b/arch/x86/kernel/Makefile_32 index eb2da53578d..f7c1c1c88dd 100644 --- a/arch/x86/kernel/Makefile_32 +++ b/arch/x86/kernel/Makefile_32 @@ -56,6 +56,9 @@ $(obj)/vsyscall_32.o: $(obj)/vsyscall-int80_32.so $(obj)/vsyscall-sysenter_32.so targets += $(foreach F,int80 sysenter,vsyscall-$F_32.o vsyscall-$F_32.so) targets += vsyscall-note_32.o vsyscall_32.lds +$(obj)/vsyscall-%_32.o: $(src)/../vdso/vdso32/%.S + $(call if_changed_dep,as_o_S) + # The DSO images are built using a special linker script. quiet_cmd_syscall = SYSCALL $@ cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \ diff --git a/arch/x86/kernel/vsyscall-int80_32.S b/arch/x86/vdso/vdso32/int80.S similarity index 97% rename from arch/x86/kernel/vsyscall-int80_32.S rename to arch/x86/vdso/vdso32/int80.S index 103cab6aa7c..3c8e4c62ace 100644 --- a/arch/x86/kernel/vsyscall-int80_32.S +++ b/arch/x86/vdso/vdso32/int80.S @@ -50,4 +50,4 @@ __kernel_vsyscall: /* * Get the common code for the sigreturn entry points. */ -#include "vsyscall-sigreturn_32.S" +#include "sigreturn.S" diff --git a/arch/x86/kernel/vsyscall-note_32.S b/arch/x86/vdso/vdso32/note.S similarity index 95% rename from arch/x86/kernel/vsyscall-note_32.S rename to arch/x86/vdso/vdso32/note.S index fcf376a37f7..0cf934f2633 100644 --- a/arch/x86/kernel/vsyscall-note_32.S +++ b/arch/x86/vdso/vdso32/note.S @@ -33,7 +33,7 @@ ELFNOTE_END * at boot time we set VDSO_NOTE_NONEGSEG_BIT if running under Xen. */ -#include "../../x86/xen/vdso.h" /* Defines VDSO_NOTE_NONEGSEG_BIT. */ +#include "../../xen/vdso.h" /* Defines VDSO_NOTE_NONEGSEG_BIT. */ .globl VDSO_NOTE_MASK ELFNOTE_START(GNU, 2, "a") diff --git a/arch/x86/kernel/vsyscall-sigreturn_32.S b/arch/x86/vdso/vdso32/sigreturn.S similarity index 97% rename from arch/x86/kernel/vsyscall-sigreturn_32.S rename to arch/x86/vdso/vdso32/sigreturn.S index e939253ad65..778f4649e32 100644 --- a/arch/x86/kernel/vsyscall-sigreturn_32.S +++ b/arch/x86/vdso/vdso32/sigreturn.S @@ -70,9 +70,9 @@ __kernel_rt_sigreturn: be the value of the stack pointer in the caller. This means that we must define the CFA of this body of code to be the saved value of the stack pointer in the sigcontext. Which - also means that there is no fixed relation to the other + also means that there is no fixed relation to the other saved registers, which means that we must use DW_CFA_expression - to compute their addresses. It also means that when we + to compute their addresses. It also means that when we adjust the stack with the popl, we have to do it all over again. */ #define do_cfa_expr(offset) \ diff --git a/arch/x86/kernel/vsyscall-sysenter_32.S b/arch/x86/vdso/vdso32/sysenter.S similarity index 99% rename from arch/x86/kernel/vsyscall-sysenter_32.S rename to arch/x86/vdso/vdso32/sysenter.S index ed879bf4299..4b98fc41d3e 100644 --- a/arch/x86/kernel/vsyscall-sysenter_32.S +++ b/arch/x86/vdso/vdso32/sysenter.S @@ -119,4 +119,4 @@ SYSENTER_RETURN: /* * Get the common code for the sigreturn entry points. */ -#include "vsyscall-sigreturn_32.S" +#include "sigreturn.S" -- 2.41.1