This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: linux kernel building for mips malta target board


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

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]