This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Fix build failure on AiX...


This is a following on the following change:

http://sources.redhat.com/ml/gdb-patches/2004-03/msg00000.html

GDB fails to build on AiX because we're trying to dereference an
opaque structure (struct frame_info).

I suggest the following patch to fix the build failure:

* rs6000-tdep.c (rs6000_init_frame_pc_first): Fix compilation failure.

OK to apply? (it may appear obvious to the usual maintainers, but the
frame stuff still makes me nervous sometimes, especially the easy
confusion with next, prev, inner most, etc...)

Bah! The check that this built must have got lost between my machines. I've checked in the attached.


Andrew

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.182
diff -u -p -r1.182 rs6000-tdep.c
--- rs6000-tdep.c 1 Mar 2004 00:50:56 -0000 1.182
+++ rs6000-tdep.c 1 Mar 2004 20:02:05 -0000
@@ -213,8 +213,10 @@ rs6000_frame_init_saved_regs (struct fra
static CORE_ADDR
rs6000_init_frame_pc_first (int fromleaf, struct frame_info *prev)
{
- return (fromleaf ? DEPRECATED_SAVED_PC_AFTER_CALL (prev->next)
- : prev->next ? DEPRECATED_FRAME_SAVED_PC (prev->next) : read_pc ());
+ struct frame_info* next = get_next_frame (prev);
+
+ return (fromleaf ? DEPRECATED_SAVED_PC_AFTER_CALL (next)
+ : next ? DEPRECATED_FRAME_SAVED_PC (next) : read_pc ());
}
static CORE_ADDR
2004-03-01  Andrew Cagney  <cagney@redhat.com>

	* rs6000-tdep.c (rs6000_init_frame_pc_first): Fix compiler error,
	use frame_relative_level and get_next_frame.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.182
diff -u -r1.182 rs6000-tdep.c
--- rs6000-tdep.c	1 Mar 2004 00:50:56 -0000	1.182
+++ rs6000-tdep.c	2 Mar 2004 02:17:30 -0000
@@ -213,8 +213,11 @@
 static CORE_ADDR
 rs6000_init_frame_pc_first (int fromleaf, struct frame_info *prev)
 {
-  return (fromleaf ? DEPRECATED_SAVED_PC_AFTER_CALL (prev->next)
-	  : prev->next ? DEPRECATED_FRAME_SAVED_PC (prev->next) : read_pc ());
+  return (fromleaf
+	  ? DEPRECATED_SAVED_PC_AFTER_CALL (get_next_frame (prev))
+	  : frame_relative_level (prev) > 0
+	  ? DEPRECATED_FRAME_SAVED_PC (get_next_frame (prev))
+	  : read_pc ());
 }
 
 static CORE_ADDR

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]