* stabsread.c (define_symbol): Skip the whole thing about "pcc

promotion" on little-endian machines.
This commit is contained in:
Jim Kingdon 1993-10-23 01:56:18 +00:00
parent c3cabecb47
commit dcb389736b
2 changed files with 11 additions and 4 deletions

View File

@ -1,5 +1,8 @@
Fri Oct 22 07:49:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) Fri Oct 22 07:49:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* stabsread.c (define_symbol): Skip the whole thing about "pcc
promotion" on little-endian machines.
* remote-vx.c: Rename pid parameter to pid_to_wait_for. Some * remote-vx.c: Rename pid parameter to pid_to_wait_for. Some
compilers (legitimately) don't like variables in the function's compilers (legitimately) don't like variables in the function's
outermost block whose name is the name as a parameter. outermost block whose name is the name as a parameter.

View File

@ -812,6 +812,11 @@ define_symbol (valu, string, desc, type, objfile)
#endif #endif
add_symbol_to_list (sym, &local_symbols); add_symbol_to_list (sym, &local_symbols);
#if TARGET_BYTE_ORDER == LITTLE_ENDIAN
/* On little-endian machines, this crud is never necessary, and,
if the extra bytes contain garbage, is harmful. */
break;
#else /* Big endian. */
/* If it's gcc-compiled, if it says `short', believe it. */ /* If it's gcc-compiled, if it says `short', believe it. */
if (processing_gcc_compilation || BELIEVE_PCC_PROMOTION) if (processing_gcc_compilation || BELIEVE_PCC_PROMOTION)
break; break;
@ -838,9 +843,7 @@ define_symbol (valu, string, desc, type, objfile)
/* This macro is defined on machines (e.g. sparc) where /* This macro is defined on machines (e.g. sparc) where
we should believe the type of a PCC 'short' argument, we should believe the type of a PCC 'short' argument,
but shouldn't believe the address (the address is but shouldn't believe the address (the address is
the address of the corresponding int). Note that the address of the corresponding int).
this is only different from the BELIEVE_PCC_PROMOTION
case on big-endian machines.
My guess is that this correction, as opposed to changing My guess is that this correction, as opposed to changing
the parameter to an 'int' (as done below, for PCC the parameter to an 'int' (as done below, for PCC
@ -850,7 +853,7 @@ define_symbol (valu, string, desc, type, objfile)
the sparc problem doesn't come up because the calling the sparc problem doesn't come up because the calling
function has to zero the top bytes (not knowing whether function has to zero the top bytes (not knowing whether
the called function wants an int or a short), so there the called function wants an int or a short), so there
is no practical difference between an int and a short is little practical difference between an int and a short
(except perhaps what happens when the GDB user types (except perhaps what happens when the GDB user types
"print short_arg = 0x10000;"). "print short_arg = 0x10000;").
@ -892,6 +895,7 @@ define_symbol (valu, string, desc, type, objfile)
#endif /* no BELIEVE_PCC_PROMOTION_TYPE. */ #endif /* no BELIEVE_PCC_PROMOTION_TYPE. */
} }
#endif /* !BELIEVE_PCC_PROMOTION. */ #endif /* !BELIEVE_PCC_PROMOTION. */
#endif /* Big endian. */
case 'P': case 'P':
/* acc seems to use P to delare the prototypes of functions that /* acc seems to use P to delare the prototypes of functions that