ロード関数は下記のとおり。
検索方法
$ egrep -rn 'load_binary[ \t]*=' * arch/alpha/kernel/binfmt_loader.c:44: .load_binary = load_binary, arch/x86/ia32/ia32_aout.c:110: .load_binary = load_aout_binary, fs/binfmt_aout.c:39: .load_binary = load_aout_binary, fs/binfmt_elf.c:69: .load_binary = load_elf_binary, fs/binfmt_elf_fdpic.c:84: .load_binary = load_elf_fdpic_binary, fs/binfmt_em86.c:99: .load_binary = load_em86, fs/binfmt_flat.c:94: .load_binary = load_flat_binary, fs/binfmt_misc.c:712: .load_binary = load_misc_binary, fs/binfmt_script.c:103: .load_binary = load_script, fs/binfmt_som.c:57: .load_binary = load_som_binary,
共有ライブラリのロード関数は下記のとおり。
検索方法
$ egrep -rn 'load_shlib[ \t]*=' * arch/x86/ia32/ia32_aout.c:111: .load_shlib = load_aout_library, fs/binfmt_aout.c:40: .load_shlib = load_aout_library, fs/binfmt_elf.c:70: .load_shlib = load_elf_library, fs/binfmt_som.c:58: .load_shlib = load_som_library,
コアダンプ関数は下記のとおり。
検索方法
$ egrep -rn 'core_dump[ \t]*=' * arch/x86/ia32/ia32_aout.c:113: .core_dump = aout_core_dump, fs/binfmt_aout.c:41: .core_dump = aout_core_dump, fs/binfmt_elf.c:71: .core_dump = elf_core_dump, fs/binfmt_elf_fdpic.c:86: .core_dump = elf_fdpic_core_dump, fs/binfmt_flat.c:95: .core_dump = flat_core_dump, fs/binfmt_som.c:59: .core_dump = som_core_dump,
struct linux_binfmt { struct list_head lh; struct module *module; int (*load_binary)(struct linux_binprm *, struct pt_regs * regs); int (*load_shlib)(struct file *); int (*core_dump)(struct coredump_params *cprm); unsigned long min_coredump; /* minimal dump size */ int hasvdso; };