On Thu, Jun 08, 2017 at 04:24:34PM +0100, Catalin Marinas wrote: > On Sun, Jun 04, 2017 at 03:00:08PM +0300, Yury Norov wrote: > > From: Philipp Tomsich <philipp.tomsich@xxxxxxxxxxxxxxxxxxxxx> > > > > ILP32 VDSO exports following symbols: > > __kernel_rt_sigreturn; > > __kernel_gettimeofday; > > __kernel_clock_gettime; > > __kernel_clock_getres. > > > > What shared object to use, kernel selects depending on result of > > is_ilp32_compat_task() in arch/arm64/kernel/vdso.c, so it substitutes > > correct pages and spec. > > > > Adjusted to move the data page before code pages in sync with > > commit 601255ae3c98 ("arm64: vdso: move data page before code pages") > > > > Signed-off-by: Philipp Tomsich <philipp.tomsich@xxxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Yury Norov <ynorov@xxxxxxxxxxxxxxxxxx> > > Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> > > --- > > arch/arm64/Makefile | 3 + > > arch/arm64/include/asm/vdso.h | 6 ++ > > arch/arm64/kernel/Makefile | 1 + > > arch/arm64/kernel/asm-offsets.c | 7 ++ > > arch/arm64/kernel/signal.c | 2 + > > arch/arm64/kernel/vdso-ilp32/.gitignore | 2 + > > arch/arm64/kernel/vdso-ilp32/Makefile | 80 ++++++++++++++++++++++ > > arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S | 33 ++++++++++ > > arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S | 95 +++++++++++++++++++++++++++ > > arch/arm64/kernel/vdso.c | 65 +++++++++++++++--- > > arch/arm64/kernel/vdso/gettimeofday.S | 20 +++++- > > arch/arm64/kernel/vdso/vdso.S | 6 +- > > 12 files changed, 304 insertions(+), 16 deletions(-) > > create mode 100644 arch/arm64/kernel/vdso-ilp32/.gitignore > > create mode 100644 arch/arm64/kernel/vdso-ilp32/Makefile > > create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S > > create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S > > Does this patch get simpler with Andrew Pinski's vdso in C proposal? > I have to read the other thread in detail, Will followed up already. Not much. arch/arm64/kernel/vdso/gettimeofday.S is removed by Andrew, so it will also disappear here. New gettimeofday.c is just compiled with mabi=ilp32, and almost don't need modifications. Makefiles will be modified accordingly. The rest is the same. This is the draft for the changes we need to apply ilp32 series on top of Andrew's patch (there's few typos though, so only for reference): http://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1409447.html > > diff --git a/arch/arm64/include/asm/vdso.h b/arch/arm64/include/asm/vdso.h > > index 839ce0031bd5..649a9a416500 100644 > > --- a/arch/arm64/include/asm/vdso.h > > +++ b/arch/arm64/include/asm/vdso.h > > @@ -29,6 +29,12 @@ > > > > #include <generated/vdso-offsets.h> > > > > +#ifdef CONFIG_ARM64_ILP32 > > +#include <generated/vdso-ilp32-offsets.h> > > +#else > > +#define vdso_offset_sigtramp_ilp32 > > +#endif > > BTW, here you could do something like: > > #define vdso_offset_sigtramp_ilp32 ({ BUILD_BUG(); 0; }) OK, will change -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html