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]

[commit/pa] Enable 64-bit ABI and frame code


FYI,

This throws the switch.

For those that are wondering, I'm testing a GDB built with HP's 64-bit compiler (cc -DA2.OW -Ae) against a 64-bit GCC (/usr/local/pa/bin). GDB simply can't debug 64-bit HP code (there are no dots connecting elfread.c to the som debug info reader).

Andrew
2004-03-07  Andrew Cagney  <cagney@redhat.com>

	Unconditionally enable 64-bit frame and ABI code.
	* hppa-tdep.c (hppa_gdbarch_init): Do not set deprecated
	call_dummy_breakpoint_offset, call_dummy_length, stack_align,
	push_dummy_frame, fix_call_dummy, push_arguments,
	call_dummy_location, extract_return_value, use_struct_convention,
	store_return_value, store_struct_return, saved_pc_after_call,
	init_frame_pc, frame_init_saved_regs, init_extra_frame_info,
	frame_chain, frame_chain_valid, frameless_function_invocation,
	frame_saved_pc, and pop_frame.
	
Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.131
diff -u -r1.131 hppa-tdep.c
--- hppa-tdep.c	7 Mar 2004 17:06:21 -0000	1.131
+++ hppa-tdep.c	7 Mar 2004 17:16:55 -0000
@@ -5807,26 +5807,11 @@
       set_gdbarch_frame_align (gdbarch, hppa32_frame_align);
       break;
     case 8:
-      if (0)
-	{
-	  set_gdbarch_push_dummy_call (gdbarch, hppa64_push_dummy_call);
-	  set_gdbarch_frame_align (gdbarch, hppa64_frame_align);
-	  break;
-	}
-      else
-	{
-	  set_gdbarch_deprecated_call_dummy_breakpoint_offset (gdbarch, hppa64_call_dummy_breakpoint_offset);
-	  set_gdbarch_deprecated_call_dummy_length (gdbarch, hppa64_call_dummy_length);
-	  set_gdbarch_deprecated_stack_align (gdbarch, hppa64_stack_align);
-	  break;
-	  set_gdbarch_deprecated_push_dummy_frame (gdbarch, hppa_push_dummy_frame);
-	  /* set_gdbarch_deprecated_fix_call_dummy (gdbarch, hppa_fix_call_dummy); */
-	  set_gdbarch_deprecated_push_arguments (gdbarch, hppa_push_arguments);
-	  set_gdbarch_deprecated_use_generic_dummy_frames (gdbarch, 0);
-	  set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack);
-	  set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
-	}
+      set_gdbarch_push_dummy_call (gdbarch, hppa64_push_dummy_call);
+      set_gdbarch_frame_align (gdbarch, hppa64_frame_align);
       break;
+    default:
+      internal_error (__FILE__, __LINE__, "bad switch");
     }
       
   /* Struct return methods.  */
@@ -5836,43 +5821,16 @@
       set_gdbarch_return_value (gdbarch, hppa32_return_value);
       break;
     case 8:
-      if (0)
-	set_gdbarch_return_value (gdbarch, hppa64_return_value);
-      else
-	{
-	  set_gdbarch_deprecated_extract_return_value (gdbarch, hppa64_extract_return_value);
-	  set_gdbarch_use_struct_convention (gdbarch, hppa64_use_struct_convention);
-	  set_gdbarch_deprecated_store_return_value (gdbarch, hppa64_store_return_value);
-	  set_gdbarch_deprecated_store_struct_return (gdbarch, hppa_store_struct_return);
-	}
-      break;
+      set_gdbarch_return_value (gdbarch, hppa64_return_value);
     default:
       internal_error (__FILE__, __LINE__, "bad switch");
     }
       
   /* Frame unwind methods.  */
-  switch (tdep->bytes_per_address)
-    {
-    case 4:
-      set_gdbarch_unwind_dummy_id (gdbarch, hppa_unwind_dummy_id);
-      set_gdbarch_unwind_pc (gdbarch, hppa_unwind_pc);
-      frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer);
-      frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer);
-      break;
-    case 8:
-      set_gdbarch_deprecated_saved_pc_after_call (gdbarch, hppa_saved_pc_after_call);
-      set_gdbarch_deprecated_init_frame_pc (gdbarch, deprecated_init_frame_pc_default);
-      set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, hppa_frame_init_saved_regs);
-      set_gdbarch_deprecated_init_extra_frame_info (gdbarch, hppa_init_extra_frame_info);
-      set_gdbarch_deprecated_frame_chain (gdbarch, hppa_frame_chain);
-      set_gdbarch_deprecated_frame_chain_valid (gdbarch, hppa_frame_chain_valid);
-      set_gdbarch_deprecated_frameless_function_invocation (gdbarch, hppa_frameless_function_invocation);
-      set_gdbarch_deprecated_frame_saved_pc (gdbarch, hppa_frame_saved_pc);
-      set_gdbarch_deprecated_pop_frame (gdbarch, hppa_pop_frame);
-      break;
-    default:
-      internal_error (__FILE__, __LINE__, "bad switch");
-    }
+  set_gdbarch_unwind_dummy_id (gdbarch, hppa_unwind_dummy_id);
+  set_gdbarch_unwind_pc (gdbarch, hppa_unwind_pc);
+  frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer);
+  frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer);
 
   /* Hook in ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);

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