diff options
author | Daisuke HATAYAMA <d.hatayama@jp.fujitsu.com> | 2010-03-05 16:44:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-06 14:26:45 -0500 |
commit | 1fcccbac89f5bbc5e41aa72086960059fce372da (patch) | |
tree | 9e42ee69f0216e612e5bd4338d6203dbad2d002f /fs | |
parent | 088e7af73a962fcc8883b7a6392544d8342553d6 (diff) |
elf coredump: replace ELF_CORE_EXTRA_* macros by functions
elf_core_dump() and elf_fdpic_core_dump() use #ifdef and the corresponding
macro for hiding _multiline_ logics in functions. This patch removes
#ifdef and replaces ELF_CORE_EXTRA_* by corresponding functions. For
architectures not implemeonting ELF_CORE_EXTRA_*, we use weak functions in
order to reduce a range of modification.
This cleanup is for my next patches, but I think this cleanup itself is
worth doing regardless of my firnal purpose.
Signed-off-by: Daisuke HATAYAMA <d.hatayama@jp.fujitsu.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Greg Ungerer <gerg@snapgear.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/binfmt_elf.c | 14 | ||||
-rw-r--r-- | fs/binfmt_elf_fdpic.c | 14 | ||||
-rw-r--r-- | fs/compat_binfmt_elf.c | 2 |
3 files changed, 12 insertions, 18 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 0bcfbb05c32d..c1a499599b7d 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -1878,9 +1878,7 @@ static int elf_core_dump(struct coredump_params *cprm) | |||
1878 | * Please check DEFAULT_MAX_MAP_COUNT definition when you modify here. | 1878 | * Please check DEFAULT_MAX_MAP_COUNT definition when you modify here. |
1879 | */ | 1879 | */ |
1880 | segs = current->mm->map_count; | 1880 | segs = current->mm->map_count; |
1881 | #ifdef ELF_CORE_EXTRA_PHDRS | 1881 | segs += elf_core_extra_phdrs(); |
1882 | segs += ELF_CORE_EXTRA_PHDRS; | ||
1883 | #endif | ||
1884 | 1882 | ||
1885 | gate_vma = get_gate_vma(current); | 1883 | gate_vma = get_gate_vma(current); |
1886 | if (gate_vma != NULL) | 1884 | if (gate_vma != NULL) |
@@ -1958,9 +1956,8 @@ static int elf_core_dump(struct coredump_params *cprm) | |||
1958 | goto end_coredump; | 1956 | goto end_coredump; |
1959 | } | 1957 | } |
1960 | 1958 | ||
1961 | #ifdef ELF_CORE_WRITE_EXTRA_PHDRS | 1959 | if (!elf_core_write_extra_phdrs(cprm->file, offset, &size, cprm->limit)) |
1962 | ELF_CORE_WRITE_EXTRA_PHDRS; | 1960 | goto end_coredump; |
1963 | #endif | ||
1964 | 1961 | ||
1965 | /* write out the notes section */ | 1962 | /* write out the notes section */ |
1966 | if (!write_note_info(&info, cprm->file, &foffset)) | 1963 | if (!write_note_info(&info, cprm->file, &foffset)) |
@@ -1999,9 +1996,8 @@ static int elf_core_dump(struct coredump_params *cprm) | |||
1999 | } | 1996 | } |
2000 | } | 1997 | } |
2001 | 1998 | ||
2002 | #ifdef ELF_CORE_WRITE_EXTRA_DATA | 1999 | if (!elf_core_write_extra_data(cprm->file, &size, cprm->limit)) |
2003 | ELF_CORE_WRITE_EXTRA_DATA; | 2000 | goto end_coredump; |
2004 | #endif | ||
2005 | 2001 | ||
2006 | end_coredump: | 2002 | end_coredump: |
2007 | set_fs(fs); | 2003 | set_fs(fs); |
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index 63edf40b569b..952699a86ec3 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c | |||
@@ -1664,9 +1664,7 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm) | |||
1664 | elf_core_copy_regs(&prstatus->pr_reg, cprm->regs); | 1664 | elf_core_copy_regs(&prstatus->pr_reg, cprm->regs); |
1665 | 1665 | ||
1666 | segs = current->mm->map_count; | 1666 | segs = current->mm->map_count; |
1667 | #ifdef ELF_CORE_EXTRA_PHDRS | 1667 | segs += elf_core_extra_phdrs(); |
1668 | segs += ELF_CORE_EXTRA_PHDRS; | ||
1669 | #endif | ||
1670 | 1668 | ||
1671 | /* Set up header */ | 1669 | /* Set up header */ |
1672 | fill_elf_fdpic_header(elf, segs + 1); /* including notes section */ | 1670 | fill_elf_fdpic_header(elf, segs + 1); /* including notes section */ |
@@ -1773,9 +1771,8 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm) | |||
1773 | goto end_coredump; | 1771 | goto end_coredump; |
1774 | } | 1772 | } |
1775 | 1773 | ||
1776 | #ifdef ELF_CORE_WRITE_EXTRA_PHDRS | 1774 | if (!elf_core_write_extra_phdrs(cprm->file, offset, &size, cprm->limit)) |
1777 | ELF_CORE_WRITE_EXTRA_PHDRS; | 1775 | goto end_coredump; |
1778 | #endif | ||
1779 | 1776 | ||
1780 | /* write out the notes section */ | 1777 | /* write out the notes section */ |
1781 | for (i = 0; i < numnote; i++) | 1778 | for (i = 0; i < numnote; i++) |
@@ -1799,9 +1796,8 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm) | |||
1799 | mm_flags) < 0) | 1796 | mm_flags) < 0) |
1800 | goto end_coredump; | 1797 | goto end_coredump; |
1801 | 1798 | ||
1802 | #ifdef ELF_CORE_WRITE_EXTRA_DATA | 1799 | if (!elf_core_write_extra_data(cprm->file, &size, cprm->limit)) |
1803 | ELF_CORE_WRITE_EXTRA_DATA; | 1800 | goto end_coredump; |
1804 | #endif | ||
1805 | 1801 | ||
1806 | if (cprm->file->f_pos != offset) { | 1802 | if (cprm->file->f_pos != offset) { |
1807 | /* Sanity check */ | 1803 | /* Sanity check */ |
diff --git a/fs/compat_binfmt_elf.c b/fs/compat_binfmt_elf.c index 0adced2f296f..112e45a17e99 100644 --- a/fs/compat_binfmt_elf.c +++ b/fs/compat_binfmt_elf.c | |||
@@ -28,10 +28,12 @@ | |||
28 | 28 | ||
29 | #undef elfhdr | 29 | #undef elfhdr |
30 | #undef elf_phdr | 30 | #undef elf_phdr |
31 | #undef elf_shdr | ||
31 | #undef elf_note | 32 | #undef elf_note |
32 | #undef elf_addr_t | 33 | #undef elf_addr_t |
33 | #define elfhdr elf32_hdr | 34 | #define elfhdr elf32_hdr |
34 | #define elf_phdr elf32_phdr | 35 | #define elf_phdr elf32_phdr |
36 | #define elf_shdr elf32_shdr | ||
35 | #define elf_note elf32_note | 37 | #define elf_note elf32_note |
36 | #define elf_addr_t Elf32_Addr | 38 | #define elf_addr_t Elf32_Addr |
37 | 39 | ||