编译驱动时出现错误

内核编译和嵌入式产品的设计与开发
回复
andyhooh
帖子: 4
注册时间: 2007-07-08 16:22

编译驱动时出现错误

#1

帖子 andyhooh » 2007-07-09 11:45

是PLX公司给出的pci9054驱动源代码(其中包括了2.4版本的代码)
在2.6内核i386下驱动编译通过
但是,在2.4的armeb下出错
具体错误如下
Building: Pci9054

- PLA: Linux, version ???
- KER: 2.4 (v2.6.15-23-386)
/bin/sh: Xscale: command not found
- CPU: (32-bit)
- PLX: 9054
- TYP: Driver
- CFG: Release
- CMP: armeb-linux-gcc
- INC: /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/include


Compiling: CommonApi.c
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/processor.h:45,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/prefetch.h:13,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/list.h:6,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/wait.h:14,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/fs.h:12,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/capability.h:17,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/binfmts.h:5,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:9,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/arch/memory.h:44:2: #error "Undefined footbridge mode"
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/arch/memory.h:62:2: #error "Undefined footbridge architecture"
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/cpu-single.h:54,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/proc-fns.h:118,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/system.h:32,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/spinlock.h:6,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/wait.h:16,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/fs.h:12,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/capability.h:17,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/binfmts.h:5,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:9,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/memory.h: In function `virt_to_phys':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/memory.h:33: error: `PAGE_OFFSET' undeclared (first use in this function)
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/memory.h:33: error: (Each undeclared identifier is reported only once
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/memory.h:33: error: for each function it appears in.)
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/memory.h: In function `phys_to_virt':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/memory.h:38: error: `PAGE_OFFSET' undeclared (first use in this function)
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/semaphore.h:10,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/fs.h:200,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/capability.h:17,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/binfmts.h:5,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:9,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/rwsem.h:29:65: asm/rwsem.h: No such file or directory
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/fs.h:301,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/capability.h:17,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/binfmts.h:5,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:9,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/ext3_fs_i.h: At top level:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/ext3_fs_i.h:75: error: field `truncate_sem' has incomplete type
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/capability.h:17,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/binfmts.h:5,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:9,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/fs.h:468: error: field `i_alloc_sem' has incomplete type
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/capability.h:17,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/binfmts.h:5,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:9,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/fs.h:758: error: field `s_umount' has incomplete type
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/uaccess.h:7,
from common/CommonApi.c:40:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/sched.h:220: error: field `mmap_sem' has incomplete type
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/io.h:29,
from common/DriverDefs.h:43,
from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/arch/hardware.h:81:2: #error "Undefined footbridge architecture"
In file included from common/DriverDefs.h:43,
from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/io.h: In function `isa_check_signature':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/io.h:264: error: `PCIMEM_BASE' undeclared (first use in this function)
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pgtable.h:137,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/mm.h:26,
from common/DriverDefs.h:46,
from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/proc/pgtable.h: In function `__mk_pmd':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/proc/pgtable.h:124: error: `PAGE_OFFSET' undeclared (first use in this function)
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/proc/pgtable.h: In function `pmd_page':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/proc/pgtable.h:137: error: `PAGE_OFFSET' undeclared (first use in this function)
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/mm.h:26,
from common/DriverDefs.h:46,
from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pgtable.h:161:33: asm-generic/pgtable.h: No such file or directory
In file included from common/DriverDefs.h:57,
from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
common/Plx_sysdep.h:55:1: warning: "pgprot_noncached" redefined
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pgtable.h:137,
from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/mm.h:26,
from common/DriverDefs.h:46,
from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/proc/pgtable.h:185:1: warning: this is the location of the previous definition
In file included from common/ApiFunctions.h:43,
from common/CommonApi.c:41:
common/DriverDefs.h:93:6: #error DMA support not set properly for driver
In file included from /home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/linux/pci.h:683,
from common/PciSupport.h:43,
from common/CommonApi.c:44:
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pci.h: In function `pci_map_page':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pci.h:108: error: `PAGE_OFFSET' undeclared (first use in this function)
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pci.h: In function `pci_map_sg':
/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir/bin-ccache/../lib/gcc/armeb-linux-uclibc/3.4.2/../../../../armeb-linux-uclibc/sys-include/asm/pci.h:191: error: `PAGE_OFFSET' undeclared (first use in this function)
common/CommonApi.c: In function `PlxNotificationRegisterFor':
common/CommonApi.c:291: warning: implicit declaration of function `kmalloc'
common/CommonApi.c:294: warning: assignment makes pointer from integer without a cast
common/CommonApi.c: In function `PlxNotificationCancel':
common/CommonApi.c:587: warning: implicit declaration of function `kfree'
common/CommonApi.c: In function `PlxPciIoPortTransfer':
common/CommonApi.c:922: error: `PCIO_BASE' undeclared (first use in this function)
common/CommonApi.c: In function `PlxPciPhysicalMemoryAllocate':
common/CommonApi.c:1022: warning: assignment makes pointer from integer without a cast
make: *** [Pci9054/Obj/CommonApi.o] Error 1


请各位高手给我帮忙看看
PS:如果有需要PLX9054驱动源代码的
可以联系我
wuchongfeng1983@163.com
很乐意一起交流~
andyhooh
帖子: 4
注册时间: 2007-07-08 16:22

#2

帖子 andyhooh » 2007-07-09 11:53

同时,我用了一下gcc-v命令,交叉编译环境的设置为:
/home/andy/crosscomplile/buildroot/toolchain_build_armeb_nofpu/gcc-3.4.2/configure --prefix=/home/andy/crosscomplile/buildroot/build_armeb_nofpu/staging_dir --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=armeb-linux-uclibc --enable-languages=c,c++ --enable-shared --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-nls --enable-multilib --with-float=soft --enable-sjlj-exceptions

请问有错误么? 其中 --build=i386-pc-linux-gnu 好像有问题?
高手指教一下,谢谢~
回复