aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/coffread.c39
-rw-r--r--gdb/gdbarch.c5
-rw-r--r--gdb/gdbarch.h6
-rwxr-xr-xgdb/gdbarch.sh2
-rw-r--r--gdb/stabsread.c14
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 <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}.
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;