- 论坛徽章:
- 0
|
现在我有一个源码包: qemu-kvm-0.12.1.2-2.160.el6.src.rpm
我在64位系统上面用
#rpmbuild -ba qemu-kvm.spec
这样可以成功得到我想要的rpm包
但是当我将这个包放到32位系统上面时它会编译出错,出现下面错误:
error : cast to pointer from integer of different size
我知道它的意思是因为64位和32位不一样,
它的代码大致如下:- void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL pqxl, int group_id)
- {
- uint64_t phys = le64_to_cpu(pqxl);
- uint32_t slot = (phys >> (64 - 8)) & 0xff;
- uint64_t offset = phys & 0xffffffffffffLL;
-
- switch (group_id) {
- case MEMSLOT_GROUP_HOST:
- return (void*)offset; //这里有错误
- .............
- }
复制代码 我要怎么改? |
|