* 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.
This commit is contained in:
Ulrich Weigand 2007-06-19 17:21:51 +00:00
parent cab58a69eb
commit f73e88f92f
6 changed files with 13 additions and 62 deletions

View File

@ -1,3 +1,12 @@
2007-06-19 Markus Deuling <deuling@de.ibm.com>
* 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 <dan@codesourcery.com>
* configure.ac: Do not use ${objdir}.

View File

@ -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:

View File

@ -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));

View File

@ -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);

View File

@ -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

View File

@ -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;