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