[PATCH] ppc64: Implement a vDSO and use it for signal trampoline

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Feb 1 10:15:33 EST 2005


On Mon, 2005-01-31 at 20:27 +0100, Sam Ravnborg wrote:
> > Index: linux-work/arch/ppc64/kernel/vdso32/Makefile
> > ===================================================================
> > --- /dev/null	1970-01-01 00:00:00.000000000 +0000
> > +++ linux-work/arch/ppc64/kernel/vdso32/Makefile	2005-01-31 16:25:56.000000000 +1100
> > @@ -0,0 +1,50 @@
> > +# Choose compiler
> > +#
> > +# XXX FIXME: We probably want to enforce using a biarch compiler by default
> > +#             and thus use (CC) with -m64, while letting the user pass a
> > +#             CROSS32_COMPILE prefix if wanted. Same goes for the zImage
> > +#             wrappers
> > +#
> > +
> > +CROSS32_COMPILE ?=
> > +
> > +CROSS32CC		:= $(CROSS32_COMPILE)gcc
> > +CROSS32AS		:= $(CROSS32_COMPILE)as
> This needs to go into arch/ppc64/Makefile

Yes, we need to consolidate that with the CROSS32_COMPILE stuff using by
the boot wrapper (arch/ppc64/boot). I haven't yet completely decided
what to do there, I'll probably assume a biarch compiler by default
instead of using the local gcc for 32 bits unless CROSS32_COMPILE is
specified.

> > +
> > +# List of files in the vdso, has to be asm only for now
> > +
> > +src-vdso32 = sigtramp.S gettimeofday.S datapage.S cacheflush.S
> 
> It is normal kbuild practice to list .o files.
> So it would be:
> 
> obj-vdso32 := sigtramp.o gettimeofday.o datapage.o cacheflush.o
> targets    := $(obj-vdso32)
> obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
> 
> One line saved compared to below (not counting the src-vdso32 assignment
> that is unused).
> Also notice that ':=' uses all over. No need to use late evaluation when
> no dynamic references are used ($ $@ etc.).
> 
> > +# Build rules
> > +
> > +obj-vdso32 := $(addsuffix .o, $(basename $(src-vdso32)))
> > +targets := $(obj-vdso32) vdso32.so
> > +obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
> > +src-vdso32 := $(addprefix $(src)/, $(src-vdso32))
> 
> 
> Same comments to the vdso64/Makefile

Hrm... I remember back then flip/flop'ing between using .S and .o in the
file list and I had a reason to stick to .S but I can't remember why
now :) It may be something I fixed in the meantime tho, I'll have a
look .

I'm not sure about the "late evaluation" thing, I'm no make expert (just
learning as I write those makefiles), I'll have to dig in the doc here.

Ben.





More information about the Linuxppc64-dev mailing list