[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[microblaze-uclinux] BINFMT_FLAT: reloc outside program error



Hi,

Whenever I load my binary, I encounter an error which says: BINFMT_FLAT:reloc outside program.

I debug into fs/binfmt_flat.c, in the function calc_reloc(), there is a macro flat_reloc_valid, which compares the address values.

Macro flat_reloc_valid is defined in include/asm-microblaze/flat.h doing
#define flat_reloc_valid(reloc,size)  ((reloc) <= (size))

For my case, I get 0xfe052e4c for reloc address, and 0x2ddb90 for the (start_brk-start_data+text_len) value. The value of 0xfe052e4c is definitely beyond the binary's address range.

Does anyone know the calculation of the reloc address? I am thinking the flat binary loader of uclinux may have problem.

Thanks,
Victor

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/