|
From: <sv...@va...> - 2009-06-12 05:54:21
|
Author: njn
Date: 2009-06-12 06:54:13 +0100 (Fri, 12 Jun 2009)
New Revision: 10307
Log:
m_coredump was needlessly and badly split across multiple files. This
commit mostly merges them, making it much easier to understand. As a
result, all non-built coregrind files are now compiled on all platforms.
Added:
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-macho.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-xcoff.c
Removed:
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-darwin.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-linux.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-aix5.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-linux.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-aix5.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-linux.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-darwin.c
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-linux.c
branches/BUILD_TWEAKS/coregrind/m_coredump/priv_elf.h
Modified:
branches/BUILD_TWEAKS/coregrind/Makefile.am
branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-elf.c
Modified: branches/BUILD_TWEAKS/coregrind/Makefile.am
===================================================================
--- branches/BUILD_TWEAKS/coregrind/Makefile.am 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/Makefile.am 2009-06-12 05:54:13 UTC (rev 10307)
@@ -195,7 +195,6 @@
pub_core_wordfm.h \
pub_core_xarray.h \
m_aspacemgr/priv_aspacemgr.h \
- m_coredump/priv_elf.h \
m_debuginfo/priv_misc.h \
m_debuginfo/priv_storage.h \
m_debuginfo/priv_tytypes.h \
@@ -236,7 +235,6 @@
CLEANFILES += $(COREGRIND_DARWIN_BUILT_SOURCES)
endif
-# Merge the coredump-$PLATFORM.c files?
COREGRIND_SOURCES_COMMON = \
m_commandline.c \
m_clientstate.c \
@@ -277,14 +275,9 @@
m_aspacemgr/aspacemgr-common.c \
m_aspacemgr/aspacemgr-linux.c \
m_aspacemgr/aspacemgr-aix5.c \
- m_coredump/coredump-x86-linux.c \
- m_coredump/coredump-amd64-linux.c \
- m_coredump/coredump-ppc32-linux.c \
- m_coredump/coredump-ppc64-linux.c \
- m_coredump/coredump-ppc32-aix5.c \
- m_coredump/coredump-ppc64-aix5.c \
- m_coredump/coredump-x86-darwin.c \
- m_coredump/coredump-amd64-darwin.c \
+ m_coredump/coredump-elf.c \
+ m_coredump/coredump-macho.c \
+ m_coredump/coredump-xcoff.c \
m_debuginfo/misc.c \
m_debuginfo/d3basics.c \
m_debuginfo/debuginfo.c \
@@ -358,9 +351,6 @@
m_ume/main.c \
m_ume/script.c
-COREGRIND_LINUX_SOURCE = \
- m_coredump/coredump-elf.c
-
# These are generated using 'mig' from $mach_defs above.
COREGRIND_DARWIN_BUILT_SOURCES = \
m_mach/mach_vmUser.c \
@@ -368,57 +358,45 @@
m_mach/thread_actUser.c \
m_mach/vm_mapUser.c
-libcoregrind_x86_linux_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON) \
- $(COREGRIND_LINUX_SOURCE)
+libcoregrind_x86_linux_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
libcoregrind_x86_linux_a_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
libcoregrind_x86_linux_a_CFLAGS = $(AM_CFLAGS_X86_LINUX)
libcoregrind_x86_linux_a_CCASFLAGS = $(AM_CCASFLAGS_X86_LINUX)
-libcoregrind_amd64_linux_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON) \
- $(COREGRIND_LINUX_SOURCE)
+libcoregrind_amd64_linux_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
libcoregrind_amd64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
libcoregrind_amd64_linux_a_CFLAGS = $(AM_CFLAGS_AMD64_LINUX)
libcoregrind_amd64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_AMD64_LINUX)
-libcoregrind_ppc32_linux_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON) \
- $(COREGRIND_LINUX_SOURCE)
+libcoregrind_ppc32_linux_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
libcoregrind_ppc32_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
libcoregrind_ppc32_linux_a_CFLAGS = $(AM_CFLAGS_PPC32_LINUX)
libcoregrind_ppc32_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_LINUX)
-libcoregrind_ppc64_linux_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON) \
- $(COREGRIND_LINUX_SOURCE)
+libcoregrind_ppc64_linux_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
libcoregrind_ppc64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
libcoregrind_ppc64_linux_a_CFLAGS = $(AM_CFLAGS_PPC64_LINUX)
libcoregrind_ppc64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_LINUX)
-libcoregrind_ppc32_aix5_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON)
+libcoregrind_ppc32_aix5_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
libcoregrind_ppc32_aix5_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_AIX5)
libcoregrind_ppc32_aix5_a_CFLAGS = $(AM_CFLAGS_PPC32_AIX5)
libcoregrind_ppc32_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_AIX5)
libcoregrind_ppc32_aix5_a_AR = $(AR) -X32 cru
-libcoregrind_ppc64_aix5_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON)
+libcoregrind_ppc64_aix5_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
libcoregrind_ppc64_aix5_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_AIX5)
libcoregrind_ppc64_aix5_a_CFLAGS = $(AM_CFLAGS_PPC64_AIX5)
libcoregrind_ppc64_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_AIX5)
libcoregrind_ppc64_aix5_a_AR = $(AR) -X64 cru
-libcoregrind_x86_darwin_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON)
+libcoregrind_x86_darwin_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
nodist_libcoregrind_x86_darwin_a_SOURCES = $(COREGRIND_DARWIN_BUILT_SOURCES)
libcoregrind_x86_darwin_a_CPPFLAGS = $(AM_CPPFLAGS_X86_DARWIN)
libcoregrind_x86_darwin_a_CFLAGS = $(AM_CFLAGS_X86_DARWIN)
libcoregrind_x86_darwin_a_CCASFLAGS = $(AM_CCASFLAGS_X86_DARWIN)
-libcoregrind_amd64_darwin_a_SOURCES = \
- $(COREGRIND_SOURCES_COMMON)
+libcoregrind_amd64_darwin_a_SOURCES = $(COREGRIND_SOURCES_COMMON)
nodist_libcoregrind_amd64_darwin_a_SOURCES = $(COREGRIND_DARWIN_BUILT_SOURCES)
libcoregrind_amd64_darwin_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_DARWIN)
libcoregrind_amd64_darwin_a_CFLAGS = $(AM_CFLAGS_AMD64_DARWIN)
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-darwin.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-darwin.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-darwin.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,47 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-amd64-darwin.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2005 Apple Inc.
- Greg Parker gp...@ap...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGP_amd64_darwin)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_coredump.h"
-#include "pub_core_threadstate.h"
-
-void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
-{
- // DDD: #warning GrP fixme coredump
-}
-
-#endif // defined(VGP_amd64_darwin)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-linux.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-linux.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-amd64-linux.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,94 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-amd64-linux.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2009 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGP_amd64_linux)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_libcbase.h"
-#include "pub_core_coredump.h"
-#include "pub_core_threadstate.h"
-
-#include "priv_elf.h"
-
-void ML_(fill_elfregs_from_tst)(struct vki_user_regs_struct* regs,
- const ThreadArchState* arch)
-{
- regs->eflags = LibVEX_GuestAMD64_get_rflags( &((ThreadArchState*)arch)->vex );
- regs->rsp = arch->vex.guest_RSP;
- regs->rip = arch->vex.guest_RIP;
-
- regs->rbx = arch->vex.guest_RBX;
- regs->rcx = arch->vex.guest_RCX;
- regs->rdx = arch->vex.guest_RDX;
- regs->rsi = arch->vex.guest_RSI;
- regs->rdi = arch->vex.guest_RDI;
- regs->rbp = arch->vex.guest_RBP;
- regs->rax = arch->vex.guest_RAX;
- regs->r8 = arch->vex.guest_R8;
- regs->r9 = arch->vex.guest_R9;
- regs->r10 = arch->vex.guest_R10;
- regs->r11 = arch->vex.guest_R11;
- regs->r12 = arch->vex.guest_R12;
- regs->r13 = arch->vex.guest_R13;
- regs->r14 = arch->vex.guest_R14;
- regs->r15 = arch->vex.guest_R15;
-
-//:: regs->cs = arch->vex.guest_cs;
-//:: regs->fs = arch->vex.guest_fs;
-//:: regs->gs = arch->vex.guest_gs;
-}
-
-void ML_(fill_elffpregs_from_tst)(vki_elf_fpregset_t* fpu,
- const ThreadArchState* arch)
-{
-//:: fpu->cwd = ?;
-//:: fpu->swd = ?;
-//:: fpu->twd = ?;
-//:: fpu->fop = ?;
-//:: fpu->rip = ?;
-//:: fpu->rdp = ?;
-//:: fpu->mxcsr = ?;
-//:: fpu->mxcsr_mask = ?;
-//:: fpu->st_space = ?;
-
-# define DO(n) VG_(memcpy)(fpu->xmm_space + n * 4, &arch->vex.guest_XMM##n, sizeof(arch->vex.guest_XMM##n))
- DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
- DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
-# undef DO
-
- VG_(memset)(fpu->padding, 0, sizeof(fpu->padding));
-}
-
-#endif // defined(VGP_amd64_linux)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Modified: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-elf.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-elf.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-elf.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -28,6 +28,8 @@
The GNU General Public License is contained in the file COPYING.
*/
+#if defined(VGO_linux)
+
#include "pub_core_basics.h"
#include "pub_core_vki.h"
#include "pub_core_aspacehl.h"
@@ -45,8 +47,6 @@
#include "pub_core_clientstate.h"
#include "pub_core_options.h"
-#include "priv_elf.h"
-
/*
Dump core
@@ -218,6 +218,7 @@
const vki_siginfo_t *si)
{
struct vki_user_regs_struct *regs;
+ ThreadArchState* arch = (ThreadArchState*)&tst->arch;
VG_(memset)(prs, 0, sizeof(*prs));
@@ -236,18 +237,189 @@
vg_assert(sizeof(*regs) == sizeof(prs->pr_reg));
- ML_(fill_elfregs_from_tst)(regs, &tst->arch);
+#if defined(VGP_x86_linux)
+ regs->eflags = LibVEX_GuestX86_get_eflags( &arch->vex );
+ regs->esp = arch->vex.guest_ESP;
+ regs->eip = arch->vex.guest_EIP;
+
+ regs->ebx = arch->vex.guest_EBX;
+ regs->ecx = arch->vex.guest_ECX;
+ regs->edx = arch->vex.guest_EDX;
+ regs->esi = arch->vex.guest_ESI;
+ regs->edi = arch->vex.guest_EDI;
+ regs->ebp = arch->vex.guest_EBP;
+ regs->eax = arch->vex.guest_EAX;
+
+ regs->cs = arch->vex.guest_CS;
+ regs->ds = arch->vex.guest_DS;
+ regs->ss = arch->vex.guest_SS;
+ regs->es = arch->vex.guest_ES;
+ regs->fs = arch->vex.guest_FS;
+ regs->gs = arch->vex.guest_GS;
+
+#elif defined(VGP_amd64_linux)
+ regs->eflags = LibVEX_GuestAMD64_get_rflags( &((ThreadArchState*)arch)->vex );
+ regs->rsp = arch->vex.guest_RSP;
+ regs->rip = arch->vex.guest_RIP;
+
+ regs->rbx = arch->vex.guest_RBX;
+ regs->rcx = arch->vex.guest_RCX;
+ regs->rdx = arch->vex.guest_RDX;
+ regs->rsi = arch->vex.guest_RSI;
+ regs->rdi = arch->vex.guest_RDI;
+ regs->rbp = arch->vex.guest_RBP;
+ regs->rax = arch->vex.guest_RAX;
+ regs->r8 = arch->vex.guest_R8;
+ regs->r9 = arch->vex.guest_R9;
+ regs->r10 = arch->vex.guest_R10;
+ regs->r11 = arch->vex.guest_R11;
+ regs->r12 = arch->vex.guest_R12;
+ regs->r13 = arch->vex.guest_R13;
+ regs->r14 = arch->vex.guest_R14;
+ regs->r15 = arch->vex.guest_R15;
+
+//:: regs->cs = arch->vex.guest_CS;
+//:: regs->fs = arch->vex.guest_FS;
+//:: regs->gs = arch->vex.guest_GS;
+
+#elif defined(VGP_ppc32_linux)
+# define DO(n) regs->gpr[n] = arch->vex.guest_GPR##n
+ DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
+ DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+ DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+ DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+# undef DO
+
+ regs->nip = arch->vex.guest_CIA;
+ regs->msr = 0xf032; /* pretty arbitrary */
+ regs->orig_gpr3 = arch->vex.guest_GPR3;
+ regs->ctr = arch->vex.guest_CTR;
+ regs->link = arch->vex.guest_LR;
+ regs->xer = LibVEX_GuestPPC32_get_XER( &((ThreadArchState*)arch)->vex );
+ regs->ccr = LibVEX_GuestPPC32_get_CR( &((ThreadArchState*)arch)->vex );
+ regs->mq = 0;
+ regs->trap = 0;
+ regs->dar = 0; /* should be fault address? */
+ regs->dsisr = 0;
+ regs->result = 0;
+
+#elif defined(VGP_ppc64_linux)
+# define DO(n) regs->gpr[n] = arch->vex.guest_GPR##n
+ DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
+ DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+ DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+ DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+# undef DO
+
+ regs->nip = arch->vex.guest_CIA;
+ regs->msr = 0xf032; /* pretty arbitrary */
+ regs->orig_gpr3 = arch->vex.guest_GPR3;
+ regs->ctr = arch->vex.guest_CTR;
+ regs->link = arch->vex.guest_LR;
+ regs->xer = LibVEX_GuestPPC64_get_XER( &((ThreadArchState*)arch)->vex );
+ regs->ccr = LibVEX_GuestPPC64_get_CR( &((ThreadArchState*)arch)->vex );
+ /* regs->mq = 0; */
+ regs->trap = 0;
+ regs->dar = 0; /* should be fault address? */
+ regs->dsisr = 0;
+ regs->result = 0;
+
+#else
+# error Unknown ELF platform
+#endif
}
static void fill_fpu(const ThreadState *tst, vki_elf_fpregset_t *fpu)
{
- ML_(fill_elffpregs_from_tst)(fpu, &tst->arch);
+ __attribute__((unused))
+ ThreadArchState* arch = (ThreadArchState*)&tst->arch;
+
+#if defined(VGP_x86_linux)
+//:: static void fill_fpu(vki_elf_fpregset_t *fpu, const Char *from)
+//:: {
+//:: if (VG_(have_ssestate)) {
+//:: UShort *to;
+//:: Int i;
+//::
+//:: /* This is what the kernel does */
+//:: VG_(memcpy)(fpu, from, 7*sizeof(long));
+//::
+//:: to = (UShort *)&fpu->st_space[0];
+//:: from += 18 * sizeof(UShort);
+//::
+//:: for (i = 0; i < 8; i++, to += 5, from += 8)
+//:: VG_(memcpy)(to, from, 5*sizeof(UShort));
+//:: } else
+//:: VG_(memcpy)(fpu, from, sizeof(*fpu));
+//:: }
+
+//:: fill_fpu(fpu, (const Char *)&arch->m_sse);
+
+#elif defined(VGP_amd64_linux)
+//:: fpu->cwd = ?;
+//:: fpu->swd = ?;
+//:: fpu->twd = ?;
+//:: fpu->fop = ?;
+//:: fpu->rip = ?;
+//:: fpu->rdp = ?;
+//:: fpu->mxcsr = ?;
+//:: fpu->mxcsr_mask = ?;
+//:: fpu->st_space = ?;
+
+# define DO(n) VG_(memcpy)(fpu->xmm_space + n * 4, &arch->vex.guest_XMM##n, sizeof(arch->vex.guest_XMM##n))
+ DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
+ DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+# undef DO
+
+ VG_(memset)(fpu->padding, 0, sizeof(fpu->padding));
+
+#elif defined(VGP_ppc32_linux)
+ /* The guest state has the FPR fields declared as ULongs, so need
+ to fish out the values without converting them. */
+# define DO(n) (*fpu)[n] = *(double*)(&arch->vex.guest_FPR##n)
+ DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
+ DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+ DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+ DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+# undef DO
+
+#elif defined(VGP_ppc64_linux)
+ /* The guest state has the FPR fields declared as ULongs, so need
+ to fish out the values without converting them. */
+# define DO(n) (*fpu)[n] = *(double*)(&arch->vex.guest_FPR##n)
+ DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
+ DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+ DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+ DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+# undef DO
+
+#else
+# error Unknown ELF platform
+#endif
}
#if defined(VGP_x86_linux)
static void fill_xfpu(const ThreadState *tst, vki_elf_fpxregset_t *xfpu)
{
- ML_(fill_elffpxregs_from_tst)(xfpu, &tst->arch);
+ ThreadArchState* arch = (ThreadArchState*)&tst->arch;
+
+//:: xfpu->cwd = ?;
+//:: xfpu->swd = ?;
+//:: xfpu->twd = ?;
+//:: xfpu->fop = ?;
+//:: xfpu->fip = ?;
+//:: xfpu->fcs = ?;
+//:: xfpu->foo = ?;
+//:: xfpu->fos = ?;
+//:: xfpu->mxcsr = ?;
+ xfpu->reserved = 0;
+//:: xfpu->st_space = ?;
+
+# define DO(n) VG_(memcpy)(xfpu->xmm_space + n * 4, &arch->vex.guest_XMM##n, sizeof(arch->vex.guest_XMM##n))
+ DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
+# undef DO
+
+ VG_(memset)(xfpu->padding, 0, sizeof(xfpu->padding));
}
#endif
@@ -331,16 +503,16 @@
for(i = 1; i < VG_N_THREADS; i++) {
vki_elf_fpregset_t fpu;
-#if defined(VGP_x86_linux)
- vki_elf_fpxregset_t xfpu;
-#endif
if (VG_(threads)[i].status == VgTs_Empty)
continue;
#if defined(VGP_x86_linux)
- fill_xfpu(&VG_(threads)[i], &xfpu);
- add_note(¬elist, "LINUX", NT_PRXFPREG, &xfpu, sizeof(xfpu));
+ {
+ vki_elf_fpxregset_t xfpu;
+ fill_xfpu(&VG_(threads)[i], &xfpu);
+ add_note(¬elist, "LINUX", NT_PRXFPREG, &xfpu, sizeof(xfpu));
+ }
#endif
fill_fpu(&VG_(threads)[i], &fpu);
@@ -418,6 +590,8 @@
make_elf_coredump(tid, si, max_size);
}
+#endif // defined(VGO_linux)
+
/*--------------------------------------------------------------------*/
/*--- end ---*/
/*--------------------------------------------------------------------*/
Copied: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-macho.c (from rev 10303, branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-darwin.c)
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-macho.c (rev 0)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-macho.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -0,0 +1,47 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Dumping core. coredump-macho.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2005 Apple Inc.
+ Greg Parker gp...@ap...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_darwin)
+
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_coredump.h"
+#include "pub_core_threadstate.h"
+
+void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
+{
+ // DDD: #warning GrP fixme coredump
+}
+
+#endif // defined(VGP_darwin)
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
Property changes on: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-macho.c
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-aix5.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-aix5.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-aix5.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,52 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-ppc32-aix5.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2006-2009 OpenWorks LLP
- in...@op...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-
- Neither the names of the U.S. Department of Energy nor the
- University of California nor the names of its contributors may be
- used to endorse or promote products derived from this software
- without prior written permission.
-*/
-
-#if defined(VGP_ppc32_aix5)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_libcassert.h"
-#include "pub_core_coredump.h" /* self */
-
-void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
-{
- /* not implemented */
-}
-
-#endif // defined(VGP_ppc32_aix5)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-linux.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-linux.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-linux.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,81 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-ppc32-linux.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2009 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGP_ppc32_linux)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_coredump.h"
-#include "pub_core_threadstate.h"
-
-#include "priv_elf.h"
-
-void ML_(fill_elfregs_from_tst)(struct vki_user_regs_struct* regs,
- const ThreadArchState* arch)
-{
-# define DO(n) regs->gpr[n] = arch->vex.guest_GPR##n
- DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
- DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
- DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
- DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
-# undef DO
-
- regs->nip = arch->vex.guest_CIA;
- regs->msr = 0xf032; /* pretty arbitrary */
- regs->orig_gpr3 = arch->vex.guest_GPR3;
- regs->ctr = arch->vex.guest_CTR;
- regs->link = arch->vex.guest_LR;
- regs->xer = LibVEX_GuestPPC32_get_XER( &((ThreadArchState*)arch)->vex );
- regs->ccr = LibVEX_GuestPPC32_get_CR( &((ThreadArchState*)arch)->vex );
- regs->mq = 0;
- regs->trap = 0;
- regs->dar = 0; /* should be fault address? */
- regs->dsisr = 0;
- regs->result = 0;
-}
-
-void ML_(fill_elffpregs_from_tst)(vki_elf_fpregset_t* fpu,
- const ThreadArchState* arch)
-{
- /* The guest state has the FPR fields declared as ULongs, so need
- to fish out the values without converting them. */
-# define DO(n) (*fpu)[n] = *(double*)(&arch->vex.guest_FPR##n)
- DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
- DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
- DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
- DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
-# undef DO
-}
-
-#endif // defined(VGP_ppc32_linux)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-aix5.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-aix5.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-aix5.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,52 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-ppc64-aix5.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2006-2009 OpenWorks LLP
- in...@op...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-
- Neither the names of the U.S. Department of Energy nor the
- University of California nor the names of its contributors may be
- used to endorse or promote products derived from this software
- without prior written permission.
-*/
-
-#if defined(VGP_ppc64_aix5)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_libcassert.h"
-#include "pub_core_coredump.h" /* self */
-
-void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
-{
- /* not implemented */
-}
-
-#endif // defined(VGP_ppc64_aix5)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-linux.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-linux.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc64-linux.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,81 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-ppc32-linux.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2009 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGP_ppc64_linux)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_coredump.h"
-#include "pub_core_threadstate.h"
-
-#include "priv_elf.h"
-
-void ML_(fill_elfregs_from_tst)(struct vki_user_regs_struct* regs,
- const ThreadArchState* arch)
-{
-# define DO(n) regs->gpr[n] = arch->vex.guest_GPR##n
- DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
- DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
- DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
- DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
-# undef DO
-
- regs->nip = arch->vex.guest_CIA;
- regs->msr = 0xf032; /* pretty arbitrary */
- regs->orig_gpr3 = arch->vex.guest_GPR3;
- regs->ctr = arch->vex.guest_CTR;
- regs->link = arch->vex.guest_LR;
- regs->xer = LibVEX_GuestPPC64_get_XER( &((ThreadArchState*)arch)->vex );
- regs->ccr = LibVEX_GuestPPC64_get_CR( &((ThreadArchState*)arch)->vex );
- /* regs->mq = 0; */
- regs->trap = 0;
- regs->dar = 0; /* should be fault address? */
- regs->dsisr = 0;
- regs->result = 0;
-}
-
-void ML_(fill_elffpregs_from_tst)(vki_elf_fpregset_t* fpu,
- const ThreadArchState* arch)
-{
- /* The guest state has the FPR fields declared as ULongs, so need
- to fish out the values without converting them. */
-# define DO(n) (*fpu)[n] = *(double*)(&arch->vex.guest_FPR##n)
- DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
- DO(8); DO(9); DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
- DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
- DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
-# undef DO
-}
-
-#endif // defined(VGP_ppc64_linux)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-darwin.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-darwin.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-darwin.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,47 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-x86-darwin.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2005 Apple Inc.
- Greg Parker gp...@ap...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGP_x86_darwin)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_coredump.h"
-#include "pub_core_threadstate.h"
-
-void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
-{
- // DDD: #warning GrP fixme coredump
-}
-
-#endif // defined(VGP_x86_darwin)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-linux.c
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-linux.c 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-x86-linux.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,114 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Dumping core. coredump-x86-linux.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2009 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGP_x86_linux)
-
-#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_libcbase.h"
-#include "pub_core_coredump.h"
-#include "pub_core_threadstate.h"
-
-#include "priv_elf.h"
-
-void ML_(fill_elfregs_from_tst)(struct vki_user_regs_struct* regs,
- const ThreadArchState* arch)
-{
- regs->eflags = LibVEX_GuestX86_get_eflags( &((ThreadArchState*)arch)->vex );
- regs->esp = arch->vex.guest_ESP;
- regs->eip = arch->vex.guest_EIP;
-
- regs->ebx = arch->vex.guest_EBX;
- regs->ecx = arch->vex.guest_ECX;
- regs->edx = arch->vex.guest_EDX;
- regs->esi = arch->vex.guest_ESI;
- regs->edi = arch->vex.guest_EDI;
- regs->ebp = arch->vex.guest_EBP;
- regs->eax = arch->vex.guest_EAX;
-
- regs->cs = arch->vex.guest_CS;
- regs->ds = arch->vex.guest_DS;
- regs->ss = arch->vex.guest_SS;
- regs->es = arch->vex.guest_ES;
- regs->fs = arch->vex.guest_FS;
- regs->gs = arch->vex.guest_GS;
-}
-
-//:: static void fill_fpu(vki_elf_fpregset_t *fpu, const Char *from)
-//:: {
-//:: if (VG_(have_ssestate)) {
-//:: UShort *to;
-//:: Int i;
-//::
-//:: /* This is what the kernel does */
-//:: VG_(memcpy)(fpu, from, 7*sizeof(long));
-//::
-//:: to = (UShort *)&fpu->st_space[0];
-//:: from += 18 * sizeof(UShort);
-//::
-//:: for (i = 0; i < 8; i++, to += 5, from += 8)
-//:: VG_(memcpy)(to, from, 5*sizeof(UShort));
-//:: } else
-//:: VG_(memcpy)(fpu, from, sizeof(*fpu));
-//:: }
-
-void ML_(fill_elffpregs_from_tst)(vki_elf_fpregset_t* fpu,
- const ThreadArchState* arch)
-{
-//:: fill_fpu(fpu, (const Char *)&arch->m_sse);
-}
-
-void ML_(fill_elffpxregs_from_tst)(vki_elf_fpxregset_t* xfpu,
- const ThreadArchState* arch)
-{
-//:: xfpu->cwd = ?;
-//:: xfpu->swd = ?;
-//:: xfpu->twd = ?;
-//:: xfpu->fop = ?;
-//:: xfpu->fip = ?;
-//:: xfpu->fcs = ?;
-//:: xfpu->foo = ?;
-//:: xfpu->fos = ?;
-//:: xfpu->mxcsr = ?;
- xfpu->reserved = 0;
-//:: xfpu->st_space = ?;
-
-# define DO(n) VG_(memcpy)(xfpu->xmm_space + n * 4, &arch->vex.guest_XMM##n, sizeof(arch->vex.guest_XMM##n))
- DO(0); DO(1); DO(2); DO(3); DO(4); DO(5); DO(6); DO(7);
-# undef DO
-
- VG_(memset)(xfpu->padding, 0, sizeof(xfpu->padding));
-}
-
-#endif // defined(VGP_x86_linux)
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Copied: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-xcoff.c (from rev 10303, branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-ppc32-aix5.c)
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-xcoff.c (rev 0)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-xcoff.c 2009-06-12 05:54:13 UTC (rev 10307)
@@ -0,0 +1,52 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Dumping core. coredump-xcoff.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2006-2009 OpenWorks LLP
+ in...@op...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+
+ Neither the names of the U.S. Department of Energy nor the
+ University of California nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without prior written permission.
+*/
+
+#if defined(VGO_aix5)
+
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_coredump.h" /* self */
+
+void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
+{
+ /* not implemented */
+}
+
+#endif // defined(VGO_aix5)
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
Property changes on: branches/BUILD_TWEAKS/coregrind/m_coredump/coredump-xcoff.c
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: branches/BUILD_TWEAKS/coregrind/m_coredump/priv_elf.h
===================================================================
--- branches/BUILD_TWEAKS/coregrind/m_coredump/priv_elf.h 2009-06-12 05:01:48 UTC (rev 10306)
+++ branches/BUILD_TWEAKS/coregrind/m_coredump/priv_elf.h 2009-06-12 05:54:13 UTC (rev 10307)
@@ -1,49 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Header for ELF core dump stuff. priv_elf.h ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2009 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#ifndef __PRIV_ELF_H
-#define __PRIV_ELF_H
-
-void ML_(fill_elfregs_from_tst)(struct vki_user_regs_struct* regs,
- const ThreadArchState* arch);
-
-void ML_(fill_elffpregs_from_tst)(vki_elf_fpregset_t* fpu,
- const ThreadArchState* arch);
-
-#if defined(VGP_x86_linux)
-void ML_(fill_elffpxregs_from_tst)(vki_elf_fpxregset_t* xfpu,
- const ThreadArchState* arch);
-#endif
-
-#endif // __PRIV_ELF_H
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
|