On Tue, Sep 10, 2013 at 10:49:05AM +0200, Geert Uytterhoeven 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. > Do such old versions of gcc still exist ? Just kidding :) > 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. > Still bad. Guess it would still fail with 4.6.3 if optimization is turned off. Guenter > 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