I'm using Linux on an MMU-less ARM platform, so, normal ELF files won't work and I should use FDPIC_ELF executable. but my kernel couldn't execute fdpic executables (error -8 (ENOEXEC)).
so, I decided to put some printk in binfmt_elf_fdpic.c
init function to trace it. but it won't work.
static int __init init_elf_fdpic_binfmt(void){ printk(" Mahyar: elf_fdpic: init started\n"); // delete me later! register_binfmt(&elf_fdpic_format); printk(" Mahyar: elf_fdpic: init finished\n"); // delete me later! return 0;}
I've enabled the fdpic elf support in menuconfig->executable-formats as built-in feature (not a kernel module).
also my kernel log level is 15 (the highest level (should print everything))
when I change something in binfmt_elf_fdpic.c
file, and run the make
command, it compile that file again. so it means this file should work.but why it won't load into kernel while startup?