On Tue, Sep 10, 2013 at 4:49 PM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Mon, Sep 9, 2013 at 10:06 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote: >>> [*] Why does m68k allmodconfig still succeed on kissb??? >>> It does fail for me, as m68k's copy_from_user_page() calls >>> flush_icache_user_range(), which is not exported. >>> >> I don't see a build failure in m68k:allmodconfig either. >> >> flush_icache_user_range() is called from copy_to_user_page(), not from >> copy_from_user_page(). copy_from_user_page() calls flush_cache_page() >> which calls __flush_cache_030(). The first is inline, the second is >> assembler, so I would expect it to work. Which doesn't answer >> the question why it fails for you. > > Sorry, I meant copy_to_user_page(). > > I tried with 2.6.3 from crosstool, and it succeeded, too. > > Turns out cfs_access_process_vm() is called with write=0 only. > Gcc 2.6.3 optimizes away the write != 0 branch (which calls copy_to_user_page() > and thus flush_icache_user_range()), while gcc 4.1.2 doesn't do that. > Mystery solved. > Thanks for chasing down the root cause. I was also wondering why I didn't see this when building on MIPS some time ago. Thanks, Tao > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel