*参照元 [#l5a07dca] #backlinks *説明 [#la39ed87] -パス: [[linux-2.6.33/include/linux/binfmts.h]] -FIXME: これは何? --説明 **参考 [#o3f1b145] ロード関数は下記のとおり。 - --[[linux-2.6.33/load_binary()(alpha)]] - --[[linux-2.6.33/load_aout_binary()(x86)]] - --[[linux-2.6.33/load_aout_binary()]] - --[[linux-2.6.33/load_elf_binary()]] - --[[linux-2.6.33/load_elf_fdpic_binary()]] - --[[linux-2.6.33/load_em86()]] - --[[linux-2.6.33/load_flat_binary()]] - --[[linux-2.6.33/load_misc_binary()]] - --[[linux-2.6.33/load_script()]] - --[[linux-2.6.33/load_som_binary()]] 検索方法 $ egrep -rn 'load_binary[ ]*=' * $ 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, 共有ライブラリのロード関数は下記のとおり。 - --[[linux-2.6.33/load_aout_library()(x86)]] - --[[linux-2.6.33/load_aout_library()]] - --[[linux-2.6.33/load_elf_library()]] - --[[linux-2.6.33/load_som_library()]] 検索方法 $ egrep -rn 'load_shlib[ ]*=' * $ 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, コアダンプ関数は下記のとおり。 - --[[linux-2.6.33/aout_core_dump()(x86)]] - --[[linux-2.6.33/aout_core_dump()]] - --[[linux-2.6.33/elf_core_dump()]] - --[[linux-2.6.33/elf_fdpic_core_dump()]] - --[[linux-2.6.33/flat_core_dump()]] - --[[linux-2.6.33/som_core_dump()]] 検索方法 $ 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, *実装 [#md3ab47c] 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; }; *コメント [#g26bede6]