This commit was generated by cvs2svn to track changes on a CVS vendor
[platform/upstream/binutils.git] / gdb / arm-linux-tdep.c
index 30a698e..cb930b6 100644 (file)
@@ -30,7 +30,7 @@
 
 #include "arm-tdep.h"
 
-/* For arm_linux_skip_solib_resolver.  */
+/* For shared library handling.  */
 #include "symtab.h"
 #include "symfile.h"
 #include "objfiles.h"
@@ -60,8 +60,8 @@ LONGEST arm_linux_call_dummy_words[] =
 };
 
 /* Description of the longjmp buffer.  */
-#define JB_ELEMENT_SIZE                INT_REGISTER_RAW_SIZE
-#define JB_PC                  21
+#define ARM_LINUX_JB_ELEMENT_SIZE      INT_REGISTER_RAW_SIZE
+#define ARM_LINUX_JB_PC                        21
 
 /* Extract from an array REGBUF containing the (raw) register state
    a function return value of type TYPE, and copy that, in virtual format,
@@ -524,20 +524,24 @@ arm_linux_init_abi (struct gdbarch_info info,
   tdep->arm_breakpoint = arm_linux_arm_le_breakpoint;
   tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint);
 
-  tdep->jb_pc = JB_PC;
-  tdep->jb_elt_size = JB_ELEMENT_SIZE;
+  tdep->jb_pc = ARM_LINUX_JB_PC;
+  tdep->jb_elt_size = ARM_LINUX_JB_ELEMENT_SIZE;
 
   set_gdbarch_call_dummy_words (gdbarch, arm_linux_call_dummy_words);
   set_gdbarch_sizeof_call_dummy_words (gdbarch,
                                       sizeof (arm_linux_call_dummy_words));
 
   /* The following two overrides shouldn't be needed.  */
-  set_gdbarch_extract_return_value (gdbarch, arm_linux_extract_return_value);
+  set_gdbarch_deprecated_extract_return_value (gdbarch, arm_linux_extract_return_value);
   set_gdbarch_push_arguments (gdbarch, arm_linux_push_arguments);
+
+  /* Shared library handling.  */
+  set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
+  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
 }
 
 void
 _initialize_arm_linux_tdep (void)
 {
-  arm_gdbarch_register_os_abi (ARM_ABI_LINUX, arm_linux_init_abi);
+  gdbarch_register_osabi (bfd_arch_arm, GDB_OSABI_LINUX, arm_linux_init_abi);
 }