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