XFS breakage on m68k (was: Re: linux-next: Tree for December 3)

From: Geert Uytterhoeven
Date: Thu Dec 04 2008 - 04:02:46 EST


On Wed, 3 Dec 2008, Stephen Rothwell wrote:
> Status of my local build tests will be at
> http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
> advice about cross compilers/configs that work, we are always open to add
> more builds.

On m68k (32-bit only, no compat32), XFS fails to build in linux-next:

| fs/xfs/linux-2.6/xfs_ioctl32.h:50: error: syntax error before 'compat_time_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:52: error: syntax error before '}' token
| fs/xfs/linux-2.6/xfs_ioctl32.h:63: error: syntax error before 'compat_xfs_bstime_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:65: error: syntax error before 'bs_ctime'
| fs/xfs/linux-2.6/xfs_ioctl32.h:76: error: syntax error before '}' token
| fs/xfs/linux-2.6/xfs_ioctl32.h:79: error: syntax error before 'compat_uptr_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:81: error: syntax error before 'ubuffer'
| fs/xfs/linux-2.6/xfs_ioctl32.h:82: error: syntax error before 'ocount'
| fs/xfs/linux-2.6/xfs_ioctl32.h:94: error: syntax error before 'compat_uptr_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:96: error: syntax error before 'ihandle'
| fs/xfs/linux-2.6/xfs_ioctl32.h:98: error: syntax error before 'ohandle'
| fs/xfs/linux-2.6/xfs_ioctl32.h:99: error: syntax error before 'ohandlen'
| fs/xfs/linux-2.6/xfs_ioctl32.h:121: error: syntax error before 'compat_xfs_bstat_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:127: error: field 'hreq' has incomplete type
| fs/xfs/linux-2.6/xfs_ioctl32.h:131: error: syntax error before 'compat_uptr_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:142: error: syntax error before 'compat_uptr_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:146: error: syntax error before '}' token
| fs/xfs/linux-2.6/xfs_ioctl32.h:149: error: field 'hreq' has incomplete type
| fs/xfs/linux-2.6/xfs_ioctl32.h:152: error: syntax error before 'compat_uptr_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:159: error: field 'hreq' has incomplete type
| fs/xfs/linux-2.6/xfs_ioctl32.h:161: error: syntax error before 'compat_uptr_t'
| distcc[28223] ERROR: compile fs/xfs/linux-2.6/xfs_file.c on localhost failed

(http://kisskb.ellerman.id.au/kisskb/buildresult/58941/)

or (with a different compiler):

| In file included from fs/xfs/linux-2.6/xfs_file.c:39:
| fs/xfs/linux-2.6/xfs_ioctl32.h:50: error: expected specifier-qualifier-list before 'compat_time_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:79: error: expected specifier-qualifier-list before 'compat_uptr_t'
| fs/xfs/linux-2.6/xfs_ioctl32.h:94: error: expected specifier-qualifier-list before 'compat_uptr_t'
| make[2]: *** [fs/xfs/linux-2.6/xfs_file.o] Error 1

git bisect run says:

ffae263a640b736a7206a0d7bd14ab44eb58cd28 is first bad commit
commit ffae263a640b736a7206a0d7bd14ab44eb58cd28
Author: sandeen@xxxxxxxxxxx <sandeen@xxxxxxxxxxx>
Date: Tue Nov 25 21:20:07 2008 -0600

[XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h

This makes the c file less cluttered and a bit more
readable. Consistently name the ioctl number
macros with "_32" and the compatibility stuctures
with "_compat." Rename the helpers which simply
copy in the arg with "_copyin" for easy identification.

Finally, for a few of the existing helpers, modify them
so that they directly call the native ioctl helper
after userspace argument fixup.

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/