diff options
author | marcel <marcel@FreeBSD.org> | 2004-08-11 02:35:06 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-08-11 02:35:06 +0000 |
commit | fbbaea5f906ae98c3b2fe400a10aa7f73d292697 (patch) | |
tree | 6873386d3adcd9d8f724266b497cb4615a353766 /sys/kern/imgact_elf.c | |
parent | 36e89f928c8909ce943566776b5922f293e7dcd5 (diff) | |
download | FreeBSD-src-fbbaea5f906ae98c3b2fe400a10aa7f73d292697.zip FreeBSD-src-fbbaea5f906ae98c3b2fe400a10aa7f73d292697.tar.gz |
Add __elfN(dump_thread). This function is called from __elfN(coredump)
to allow dumping per-thread machine specific notes. On ia64 we use this
function to flush the dirty registers onto the backingstore before we
write out the PRSTATUS notes.
Tested on: alpha, amd64, i386, ia64 & sparc64
Not tested on: arm, powerpc
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r-- | sys/kern/imgact_elf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 04b88d4..29d6ed8 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -1204,8 +1204,11 @@ __elfN(puthdr)(struct thread *td, void *dst, size_t *off, int numsegs) sizeof *status); __elfN(putnote)(dst, off, "FreeBSD", NT_FPREGSET, fpregset, sizeof *fpregset); - - /* XXX allow for MD specific notes. */ + /* + * Allow for MD specific notes, as well as any MD + * specific preparations for writing MI notes. + */ + __elfN(dump_thread)(thr, dst, off); thr = (thr == td) ? TAILQ_FIRST(&p->p_threads) : TAILQ_NEXT(thr, td_plist); |