Re: [PATCH 1/2] MIPS: Preliminary vdso.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello David:

On Tue, Apr 21, 2009 at 3:33 PM, David Daney <ddaney@xxxxxxxxxxxxxxxxxx> wrote:
This is a preliminary patch to add a vdso to all user processes.
Still missing are ELF headers and .eh_frame information.  But it is
enough to allow us to move signal trampolines off of the stack.

We allocate a single page (the vdso) and write all possible signal
trampolines into it.  The stack is moved down by one page and the vdso
is mapped into this space.

This patch fails to compile for me with an RM7035C-based system (out of tree, sadly).  The error I see is:

  CC      arch/mips/kernel/syscall.o
arch/mips/kernel/syscall.c: In function 'arch_get_unmapped_area':
arch/mips/kernel/syscall.c:80: error: 'TASK_SIZE32' undeclared (first use in this function)
arch/mips/kernel/syscall.c:80: error: (Each undeclared identifier is reported only once
arch/mips/kernel/syscall.c:80: error: for each function it appears in.)
make[1]: *** [arch/mips/kernel/syscall.o] Error 1

I believe it is related to the following portion of the patch:

diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index 955c5f0..491e5be 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -77,7 +77,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr,
       int do_color_align;
       unsigned long task_size;

-       task_size = STACK_TOP;
+       task_size = test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE;

       if (len > task_size)
               return -ENOMEM;

On my system, CONFIG_32BIT is defined and CONFIG_64BIT is not -- looking at arch/mips/include/asm/processor.h, it appears that TASK_SIZE32 is only defined when CONFIG_64BIT is defined.

Shane McDonald

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux