Re: LKCD patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bernhard Walle wrote:
* Dave Anderson <anderson@xxxxxxxxxx> [2007-10-29 20:34]:

Dave Anderson <anderson redhat com> [2007-10-22 15:32]:

Troy Heber wrote:

On 10/19/07 12:23, Dave Anderson wrote:

So my biggest worry would be if this somehow breaks
backwards-compatibility, but I'm presuming that you took
that into account.  But anyway, I leave this all up
to Troy.

I just did a quick sanity check on a couple of old IA64 LKCD dumps and
everything seems to work, so I'm happy.
Troy

Troy, thanks for checking this!


Bernhard, can you post a cleaned-up patch for queueing?

Here it is (attached). I didn't see any warnings in the crash code
with 'make warn' now. I have used your own definition of offsetof()
but moved it into the header file.

My biggest worry came true, so I'm going to have to NAK
this patch in its current state.


I'm sorry. Unfortunately, I have no old dumps to test here. Only SLES9
and SLES10, and that's v8/v9.

This patch should fix this.


---
 defs.h        |    3 ++-
 lkcd_common.c |   12 ++++++++++++
 lkcd_v8.c     |    6 +++---
 3 files changed, 17 insertions(+), 4 deletions(-)

--- a/defs.h
+++ b/defs.h
@@ -3845,7 +3845,7 @@ int get_lkcd_regs_for_cpu_arch(int cpu, /*
  * lkcd_v8.c
  */
-int get_lkcd_regs_for_cpu(struct bt_info *bt, ulong *eip, ulong *esp);
+int get_lkcd_regs_for_cpu_v8(struct bt_info *bt, ulong *eip, ulong *esp);
/*
  *  ia64.c
@@ -4111,6 +4111,7 @@ int lkcd_load_dump_page_header(void *, u
 void lkcd_dumpfile_complaint(uint32_t, uint32_t, int);
 int set_mb_benchmark(ulong);
 ulonglong fix_lkcd_address(ulonglong);
+int get_lkcd_regs_for_cpu(struct bt_info *bt, ulong *eip, ulong *esp);
/*
  * lkcd_v1.c
--- a/lkcd_common.c
+++ b/lkcd_common.c
@@ -1401,3 +1401,15 @@ lkcd_dumpfile_complaint(uint32_t realpag
 	}
 }
+int
+get_lkcd_regs_for_cpu(struct bt_info *bt, ulong *eip, ulong *esp)
+{
+	switch (lkcd->version) {
+	case LKCD_DUMP_V8:
+	case LKCD_DUMP_V9:
+		return get_lkcd_regs_for_cpu_v8(bt, eip, esp);
+	default:
+		return -1;
+	}
+}
+
--- a/lkcd_v8.c
+++ b/lkcd_v8.c
@@ -69,12 +69,12 @@ get_lkcd_regs_for_cpu_arch(int cpu, ulon
int
-get_lkcd_regs_for_cpu(struct bt_info *bt, ulong *eip, ulong *esp)
+get_lkcd_regs_for_cpu_v8(struct bt_info *bt, ulong *eip, ulong *esp)
 {
 	int cpu;
if (!bt || !bt->tc) {
-		fprintf(stderr, "get_lkcd_regs_for_cpu: invalid tc "
+		fprintf(stderr, "get_lkcd_regs_for_cpu_v8: invalid tc "
 				"(CPU=%d)\n", cpu);
 		return -EINVAL;
 	}
@@ -82,7 +82,7 @@ get_lkcd_regs_for_cpu(struct bt_info *bt
 	cpu = bt->tc->processor;
if (cpu >= NR_CPUS) {
-		fprintf(stderr, "get_lkcd_regs_for_cpu, cpu (%d) too high\n", cpu);
+		fprintf(stderr, "get_lkcd_regs_for_cpu_v8, cpu (%d) too high\n", cpu);
 		return -EINVAL;
 	}

Thanks -- this one works.  Queued for (today's?) release...

Dave


--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux