* [patch 0/2] ELF cleanup @ 2008-02-10 12:43 gorcunov 2008-02-10 12:43 ` [patch 1/2] ELF: Use EI_NIDENT instead of numeric value gorcunov 2008-02-10 12:43 ` [patch 2/2] BINFMT: fill_elf_header cleanup - use straigth memset first gorcunov 0 siblings, 2 replies; 3+ messages in thread From: gorcunov @ 2008-02-10 12:43 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: gorcunov These two patches do a simple cleaunp on ELF related code o Use EI_NIDENT instead of numeric value in elf64_hdr structure o Simplify fill_elf_header code by calling memset Please review. Any comments are welcome. -- ^ permalink raw reply [flat|nested] 3+ messages in thread
* [patch 1/2] ELF: Use EI_NIDENT instead of numeric value 2008-02-10 12:43 [patch 0/2] ELF cleanup gorcunov @ 2008-02-10 12:43 ` gorcunov 2008-02-10 12:43 ` [patch 2/2] BINFMT: fill_elf_header cleanup - use straigth memset first gorcunov 1 sibling, 0 replies; 3+ messages in thread From: gorcunov @ 2008-02-10 12:43 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: gorcunov [-- Attachment #1: elf-EI_NIDENT --] [-- Type: text/plain, Size: 670 bytes --] Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> --- elf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.git/include/linux/elf.h =================================================================== --- linux-2.6.git.orig/include/linux/elf.h 2008-02-08 19:09:52.000000000 +0300 +++ linux-2.6.git/include/linux/elf.h 2008-02-10 10:49:54.000000000 +0300 @@ -208,7 +208,7 @@ typedef struct elf32_hdr{ } Elf32_Ehdr; typedef struct elf64_hdr { - unsigned char e_ident[16]; /* ELF "magic number" */ + unsigned char e_ident[EI_NIDENT]; /* ELF "magic number" */ Elf64_Half e_type; Elf64_Half e_machine; Elf64_Word e_version; -- ^ permalink raw reply [flat|nested] 3+ messages in thread
* [patch 2/2] BINFMT: fill_elf_header cleanup - use straigth memset first 2008-02-10 12:43 [patch 0/2] ELF cleanup gorcunov 2008-02-10 12:43 ` [patch 1/2] ELF: Use EI_NIDENT instead of numeric value gorcunov @ 2008-02-10 12:43 ` gorcunov 1 sibling, 0 replies; 3+ messages in thread From: gorcunov @ 2008-02-10 12:43 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: gorcunov [-- Attachment #1: elf-binfmt --] [-- Type: text/plain, Size: 1631 bytes --] This patch does simplify fill_elf_header function by setting to zero the whole elf header first. So we fillup the fields we really need only. before: text data bss dec hex filename 11735 80 0 11815 2e27 fs/binfmt_elf.o after: text data bss dec hex filename 11710 80 0 11790 2e0e fs/binfmt_elf.o viola, 25 bytes of text is freed Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> --- binfmt_elf.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) Index: linux-2.6.git/fs/binfmt_elf.c =================================================================== --- linux-2.6.git.orig/fs/binfmt_elf.c 2008-02-09 12:09:28.000000000 +0300 +++ linux-2.6.git/fs/binfmt_elf.c 2008-02-10 11:15:59.000000000 +0300 @@ -1276,26 +1276,23 @@ static int writenote(struct memelfnote * static void fill_elf_header(struct elfhdr *elf, int segs, u16 machine, u32 flags, u8 osabi) { + memset(elf, 0, sizeof(*elf)); + memcpy(elf->e_ident, ELFMAG, SELFMAG); elf->e_ident[EI_CLASS] = ELF_CLASS; elf->e_ident[EI_DATA] = ELF_DATA; elf->e_ident[EI_VERSION] = EV_CURRENT; elf->e_ident[EI_OSABI] = ELF_OSABI; - memset(elf->e_ident+EI_PAD, 0, EI_NIDENT-EI_PAD); elf->e_type = ET_CORE; elf->e_machine = machine; elf->e_version = EV_CURRENT; - elf->e_entry = 0; elf->e_phoff = sizeof(struct elfhdr); - elf->e_shoff = 0; elf->e_flags = flags; elf->e_ehsize = sizeof(struct elfhdr); elf->e_phentsize = sizeof(struct elf_phdr); elf->e_phnum = segs; - elf->e_shentsize = 0; - elf->e_shnum = 0; - elf->e_shstrndx = 0; + return; } -- ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-02-10 12:49 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-02-10 12:43 [patch 0/2] ELF cleanup gorcunov 2008-02-10 12:43 ` [patch 1/2] ELF: Use EI_NIDENT instead of numeric value gorcunov 2008-02-10 12:43 ` [patch 2/2] BINFMT: fill_elf_header cleanup - use straigth memset first gorcunov
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.