Skip to content

Commit

Permalink
[POWERPC] spufs: fix incorrect file descriptors in SPU coredump note …
Browse files Browse the repository at this point in the history
…names

At present, ppu-gdb can't trace spu infomation with coredump generated
by the kernel. While the core dumps notes have correct contents, they
have the wrong names, as the file descriptors used to generate the note
names are off-by-one. An application that opens a SPE context as fd 3,
the current core dump code will generate notes like:
  SPU/4/mem
  SPU/4/regs
etc.

This confuses GDB, which knows it is looking for SPE context 3 (from
parsing the spu_context_run system call arguments), and cannot find
any notes that match context 3.

This change corrects the file descriptor counting, to only increment
the fd until after we've written the note name.

Signed-off-by: Gerhard Stenzel <stenzel@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
  • Loading branch information
Gerhard Stenzel authored and Jeremy Kerr committed Mar 28, 2008
1 parent 36d29ed commit ada397e
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions arch/powerpc/platforms/cell/spufs/coredump.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,6 @@ static struct spu_context *coredump_next_context(int *fd)
if (ctx->flags & SPU_CREATE_NOSCHED)
continue;

/* start searching the next fd next time we're called */
(*fd)++;
break;
}

Expand All @@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void)
break;

size += rc;

/* start searching the next fd next time */
fd++;
}

return size;
Expand Down Expand Up @@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(struct file *file, loff_t *foffset)
}

spu_release_saved(ctx);

/* start searching the next fd next time */
fd++;
}

return 0;
Expand Down

0 comments on commit ada397e

Please sign in to comment.