+ -
当前位置:首页 → 问答吧 → 关于BINFMT_FLAT的错误,

关于BINFMT_FLAT的错误,

时间:2005-09-08

来源:互联网

我先用arm-elf-gcc 编译目标文件,FLAGS为
  CFLAGS = -I. -I$(ARM_ROOT_PATH)/include  \
           -mapcs-32 -mtune=arm7tdmi  -Wall -O2  -D__DEBUG
  再用arm-elf-ld链接,FLAGS为
  LDFLAGS = -elf2flt -fno-builtin \
            -L$(ARM_ROOT_PATH)/lib/  -L/usr/local/lib/gcc-lib/arm-elf/2.95.3
      
  LDLIBS  = $(ARM_ROOT_PATH)/lib/crt0.o  \
            $(ARM_ROOT_PATH)/lib/__libc_fork.o \
            -lpthread -lm  -lc -lgcc -lc
  
  然后将产生的二进制文件拷贝到romfs/bin下,在平台上执行二进制文件时,产生如下错误,
  BINFMT_FLAT: reloc outside program.........will kill XXX
  BINFMT_FLAT: reloc outside program........will kill XXX
  failed pid YYY
  
  如果我在编译的时候,CFLAGS加上-D__PIC__ -fpic -msingle-pic-base, 执行程序,上面的错误消失了,但是又会自动重起系统,
  
  请问这是怎么回事?      

作者: mysoft   发布时间: 2005-09-08

是不是字节序的问题

你是用ftp下载的?

换个新编译器怎么样      

作者: AIKO_sex   发布时间: 2005-09-09