From f73e88f92fc5c54b19418144cb4b3cf9b6beff36 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Tue, 19 Jun 2007 17:21:51 +0000 Subject: [PATCH] * gdbarch.sh (BELIEVE_PCC_PROMOTION): Replace by gdbarch_believe_pcc_promotion. * stabsread.c (define_symbol): Likewise. Remove unnecessary definition. * coffread.c (process_coff_symbol): Remove unnecessary code. * gdbarch.c, gdbarch.h: Regenerate. --- gdb/ChangeLog | 9 +++++++++ gdb/coffread.c | 39 --------------------------------------- gdb/gdbarch.c | 5 ----- gdb/gdbarch.h | 6 ------ gdb/gdbarch.sh | 2 +- gdb/stabsread.c | 14 +++----------- 6 files changed, 13 insertions(+), 62 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index aa17e04..cdca84c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2007-06-19 Markus Deuling + + * gdbarch.sh (BELIEVE_PCC_PROMOTION): Replace by + gdbarch_believe_pcc_promotion. + * stabsread.c (define_symbol): Likewise. + Remove unnecessary definition. + * coffread.c (process_coff_symbol): Remove unnecessary code. + * gdbarch.c, gdbarch.h: Regenerate. + 2007-06-19 Daniel Jacobowitz * configure.ac: Do not use ${objdir}. diff --git a/gdb/coffread.c b/gdb/coffread.c index dcd17d3..a7a3765 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -1561,25 +1561,6 @@ process_coff_symbol (struct coff_symbol *cs, case C_ARG: SYMBOL_CLASS (sym) = LOC_ARG; add_symbol_to_list (sym, &local_symbols); -#if !defined (BELIEVE_PCC_PROMOTION) - if (gdbarch_byte_order (current_gdbarch) == BFD_ENDIAN_BIG) - { - /* If PCC says a parameter is a short or a char, - aligned on an int boundary, realign it to the - "little end" of the int. */ - struct type *temptype; - temptype = lookup_fundamental_type (current_objfile, - FT_INTEGER); - if (TYPE_LENGTH (SYMBOL_TYPE (sym)) < TYPE_LENGTH (temptype) - && TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_INT - && 0 == SYMBOL_VALUE (sym) % TYPE_LENGTH (temptype)) - { - SYMBOL_VALUE (sym) += - TYPE_LENGTH (temptype) - - TYPE_LENGTH (SYMBOL_TYPE (sym)); - } - } -#endif break; case C_REGPARM: @@ -1587,26 +1568,6 @@ process_coff_symbol (struct coff_symbol *cs, SYMBOL_VALUE (sym) = gdbarch_sdb_reg_to_regnum (current_gdbarch, cs->c_value); add_symbol_to_list (sym, &local_symbols); -#if !defined (BELIEVE_PCC_PROMOTION) - /* FIXME: This should retain the current type, since it's just - a register value. gnu@adobe, 26Feb93 */ - { - /* If PCC says a parameter is a short or a char, - it is really an int. */ - struct type *temptype; - temptype = - lookup_fundamental_type (current_objfile, FT_INTEGER); - if (TYPE_LENGTH (SYMBOL_TYPE (sym)) < TYPE_LENGTH (temptype) - && TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_INT) - { - SYMBOL_TYPE (sym) = - (TYPE_UNSIGNED (SYMBOL_TYPE (sym)) - ? lookup_fundamental_type (current_objfile, - FT_UNSIGNED_INTEGER) - : temptype); - } - } -#endif break; case C_TPDEF: diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index d7cac69..854306b 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -673,11 +673,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file) fprintf_unfiltered (file, "gdbarch_dump: adjust_breakpoint_address = <0x%lx>\n", (long) current_gdbarch->adjust_breakpoint_address); -#ifdef BELIEVE_PCC_PROMOTION - fprintf_unfiltered (file, - "gdbarch_dump: BELIEVE_PCC_PROMOTION # %s\n", - XSTRING (BELIEVE_PCC_PROMOTION)); -#endif fprintf_unfiltered (file, "gdbarch_dump: believe_pcc_promotion = %s\n", paddr_d (current_gdbarch->believe_pcc_promotion)); diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 19fb2b3..9235b11 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -320,12 +320,6 @@ extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch); extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int believe_pcc_promotion); -#if !defined (GDB_TM_FILE) && defined (BELIEVE_PCC_PROMOTION) -#error "Non multi-arch definition of BELIEVE_PCC_PROMOTION" -#endif -#if !defined (BELIEVE_PCC_PROMOTION) -#define BELIEVE_PCC_PROMOTION (gdbarch_believe_pcc_promotion (current_gdbarch)) -#endif typedef int (gdbarch_convert_register_p_ftype) (int regnum, struct type *type); extern int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type); diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 2d14280..c81f699 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -481,7 +481,7 @@ f::int:cannot_store_register:int regnum:regnum::cannot_register_not::0 # setjmp/longjmp support. F::int:get_longjmp_target:struct frame_info *frame, CORE_ADDR *pc:frame, pc # -v:=:int:believe_pcc_promotion::::::: +v::int:believe_pcc_promotion::::::: # f::int:convert_register_p:int regnum, struct type *type:regnum, type:0:generic_convert_register_p::0 f::void:register_to_value:struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf:frame, regnum, type, buf:0 diff --git a/gdb/stabsread.c b/gdb/stabsread.c index d4d5c35..e155087 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -162,15 +162,6 @@ void stabsread_clear_cache (void); static const char vptr_name[] = "_vptr$"; static const char vb_name[] = "_vb$"; -/* Define this as 1 if a pcc declaration of a char or short argument - gives the correct address. Otherwise assume pcc gives the - address of the corresponding int, which is not the same on a - big-endian machine. */ - -#if !defined (BELIEVE_PCC_PROMOTION) -#define BELIEVE_PCC_PROMOTION 0 -#endif - static void invalid_cpp_abbrev_complaint (const char *arg1) { @@ -971,10 +962,11 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type, } /* If it's gcc-compiled, if it says `short', believe it. */ - if (processing_gcc_compilation || BELIEVE_PCC_PROMOTION) + if (processing_gcc_compilation + || gdbarch_believe_pcc_promotion (current_gdbarch)) break; - if (!BELIEVE_PCC_PROMOTION) + if (!gdbarch_believe_pcc_promotion (current_gdbarch)) { /* This is the signed type which arguments get promoted to. */ static struct type *pcc_promotion_type; -- 2.7.4