undefined reference to `__put_user_bad' in `mtdblock_ioctl', arch=ARM
Larry Doolittle
ldoolitt at recycle.lbl.gov
Wed Sep 26 13:52:17 EDT 2001
Building the CVS version of MTD, embedded within
linux-2.4.9-ac9-rmk1-np1 for StrongARM using gcc-2.95.3,
I get:
drivers/mtd/mtdlink.o: In function `mtdblock_ioctl':
drivers/mtd/mtdlink.o(.text+0xadcc): undefined reference to `__put_user_bad'
drivers/mtd/mtdlink.o(.text+0xadcc): relocation truncated to fit: R_ARM_PC24 __p
ut_user_bad
make: *** [vmlinux] Error 1
It appears as if mtdblock_ioctl() in drivers/mtd/mtdblock.c, faced with
the case BLKGETSIZE64, does a put_user() of a 64-bit number. Eight-byte
put_user()'s are not supported on ARM or x86.
(ref: include/asm-{arm,i386}/uaccess.h, macro __put_user_size)
Whazzup?
- Larry
More information about the linux-mtd
mailing list