From d7b486e739e3f82187e97604f1ed20b234cd360c Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Tue, 19 Feb 2002 13:57:35 +0000 Subject: [PATCH] * arm-tdep.c (arm_gdbarch_init): Initialize TARGET_CHAR_SIGNED. Initialize CALL_DUMMY_LENGTH. --- gdb/ChangeLog | 5 +++++ gdb/arm-tdep.c | 16 ++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d4443bfaba0..fe3303e270f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-02-19 Richard Earnshaw + + * arm-tdep.c (arm_gdbarch_init): Initialize TARGET_CHAR_SIGNED. + Initialize CALL_DUMMY_LENGTH. + 2002-02-19 Richard Earnshaw * armnbsd-tdep.c (arm_netbsd_aout_in_solib_call_trampoline): New diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 62dc81fdf12..2b940bc4cf9 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -1267,10 +1267,10 @@ static LONGEST arm_call_dummy_words[] = breakpoint to the proper address in the call dummy, so that `finish' after a stop in a call dummy works. - XXX Tweeking current_gdbarch is not an optimal solution, but the - call to arm_fix_call_dummy is immediately followed by a call to - run_stack_dummy, which is the only function where - call_dummy_breakpoint_offset is actually used. */ + FIXME rearnsha 2002-02018: Tweeking current_gdbarch is not an + optimal solution, but the call to arm_fix_call_dummy is immediately + followed by a call to run_stack_dummy, which is the only function + where call_dummy_breakpoint_offset is actually used. */ static void @@ -2078,8 +2078,8 @@ gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info) abi-specific code during establishment of the gdbarch vector. */ -/* XXX for now we allow a non-multi-arch gdb to override these - definitions. */ +/* NOTE rearnsha 2002-02-18: for now we allow a non-multi-arch gdb to + override these definitions. */ #ifndef ARM_LE_BREAKPOINT #define ARM_LE_BREAKPOINT {0xFE,0xDE,0xFF,0xE7} #endif @@ -2796,6 +2796,9 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) "arm_gdbarch_init: bad byte order for float format"); } + /* On ARM targets char defaults to unsigned. */ + set_gdbarch_char_signed (gdbarch, 0); + /* This should be low enough for everything. */ tdep->lowest_pc = 0x20; tdep->jb_pc = -1; /* Longjump support not enabled by default. */ @@ -2814,6 +2817,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_words (gdbarch, arm_call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, sizeof (arm_call_dummy_words)); set_gdbarch_call_dummy_start_offset (gdbarch, 0); + set_gdbarch_call_dummy_length (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, arm_fix_call_dummy); -- 2.30.2