linux/arch/um/sys-i386
Daisuke HATAYAMA 8d9032bbe4 elf coredump: add extended numbering support
The current ELF dumper implementation can produce broken corefiles if
program headers exceed 65535.  This number is determined by the number of
vmas which the process have.  In particular, some extreme programs may use
more than 65535 vmas.  (If you google max_map_count, you can find some
users facing this problem.) This kind of program never be able to generate
correct coredumps.

This patch implements ``extended numbering'' that uses sh_info field of
the first section header instead of e_phnum field in order to represent
upto 4294967295 vmas.

This is supported by
AMD64-ABI(http://www.x86-64.org/documentation.html) and
Solaris(http://docs.sun.com/app/docs/doc/817-1984/).
Of course, we are preparing patches for gdb and binutils.

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>
2010-03-06 11:26:46 -08:00
..
asm elf coredump: replace ELF_CORE_EXTRA_* macros by functions 2010-03-06 11:26:45 -08:00
shared/sysdep Unify sys_mmap* 2009-12-11 06:44:29 -05:00
bug.c uml: header untangling 2008-02-05 09:44:28 -08:00
bugs.c UML: make several more things static 2008-07-24 10:47:24 -07:00
checksum.S UML: make several more things static 2008-07-24 10:47:24 -07:00
delay.c [PATCH] uml: fix unreasonably long udelay 2007-04-02 10:06:08 -07:00
elfcore.c elf coredump: add extended numbering support 2010-03-06 11:26:46 -08:00
fault.c uml: style fixes pass 3 2007-10-16 09:43:05 -07:00
ksyms.c Generic semaphore implementation 2008-04-17 10:42:34 -04:00
ldt.c UML: make several more things static 2008-07-24 10:47:24 -07:00
Makefile elf coredump: replace ELF_CORE_EXTRA_* macros by functions 2010-03-06 11:26:45 -08:00
ptrace_user.c uml: style fixes in arch/um/sys-x86_64 2008-02-05 09:44:31 -08:00
ptrace.c uml: tidy ptrace interface 2008-05-13 08:02:21 -07:00
setjmp.S [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
signal.c uml: fix a compile error 2008-10-20 08:52:34 -07:00
stub_segv.c uml: simplify SIGSEGV handling 2008-02-05 09:44:28 -08:00
stub.S uml: fix a section warning 2009-06-16 19:47:47 -07:00
sys_call_table.S uml: fix link error from prefixing of i386 syscalls with ptregs_ 2009-04-02 19:04:50 -07:00
syscalls.c x86, um: get rid of uml unistd.h 2008-10-22 22:55:21 -07:00
sysrq.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
tls.c uml: host TLS diagnostics 2008-02-05 09:44:27 -08:00
user-offsets.c uml: tidy ptrace interface 2008-05-13 08:02:21 -07:00