linux-mips
[Top] [All Lists]

Re: linux kernel building for mips malta target board

To: Stuart Anderson <anderson@netsweng.com>
Subject: Re: linux kernel building for mips malta target board
From: David Daney <ddaney@avtrex.com>
Date: Wed, 02 Nov 2005 17:19:51 -0800
Cc: crossgcc@sources.redhat.com, MIPS Linux List <linux-mips@linux-mips.org>
In-reply-to: <Pine.LNX.4.61.0511022000410.3511@trantor.stuart.netsweng.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <E1EXLJV-0005R4-K3@real.realitydiluted.com> <43695DB4.7060708@avtrex.com> <Pine.LNX.4.61.0511022000410.3511@trantor.stuart.netsweng.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla Thunderbird 1.0.7-1.1.fc3 (X11/20050929)
Stuart Anderson wrote:
On Wed, 2 Nov 2005, David Daney wrote:

Is this the problem you are seeing?:
In file included from include/linux/nfs_fs.h:15,
                from init/do_mounts.c:12:
include/linux/pagemap.h: In function fault_in_pages_readable:
include/linux/pagemap.h:236: error: read-only variable __gu_val used as asm output include/linux/pagemap.h:236: error: read-only variable __gu_val used as asm output include/linux/pagemap.h:236: error: read-only variable __gu_val used as asm output include/linux/pagemap.h:236: error: read-only variable __gu_val used as asm output

The compiler behavior has changed since 4.0.1, but I think the new behavior is correct. I am blaming the __get_user macro in include/asm-mips/uaccess.h. It should be possible to fix it there. The alternative is to hack up include/linux/pagemap.h.


__get_user() is unhappy, with tpyes that are "const". It uses __typeof()
to create a local variable that it wants to write to. I've intended to
have offer up a patch by now, but, too manyunexpected thing have happened in the firs thalf of this week.


That is my analysis as well. The typeof converts the const char * into a const char which is then unsuitable as the destination in an inline asm.

David Daney

<Prev in Thread] Current Thread [Next in Thread>