/* * linux/fs/binfmt_elf.c * * These are the functions used to load ELF format executables as used * on SVr4 machines. Information on the format may be found in the book * "UNIX SYSTEM V RELEASE 4 Programmers Guide: Ansi C and Programming Support * Tools". * * Copyright 1993, 1994: Eric Youngdale (ericy@cais.com). */#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/stat.h>#include <linux/time.h>#include <linux/mm.h>#include <linux/mman.h>#include <linux/a.out.h>#include <linux/errno.h>#include <linux/signal.h>#include <linux/binfmts.h>#include <linux/string.h>#include <linux/file.h>#include <linux/fcntl.h>#include <linux/ptrace.h>#include <linux/slab.h>#include <linux/shm.h>#include <linux/personality.h>#include <linux/elfcore.h>#include <linux/init.h>#include <linux/highuid.h>#include <linux/smp.h>#include <linux/smp_lock.h>#include <linux/compiler.h>#include <linux/highmem.h>#include <linux/pagemap.h>#include <linux/security.h>#include <linux/syscalls.h>#include <linux/random.h>#include <asm/uaccess.h>#include <asm/param.h>#include <asm/page.h>#include <linux/elf.h>static intload_elf_bi