Assume TARGET_BYTE_ORDER_SELECTABLE{,_P} is always true.

This commit is contained in:
Andrew Cagney 2002-01-20 19:26:50 +00:00
parent 3e36a0f45e
commit 3fd3d7d29c
19 changed files with 46 additions and 138 deletions

View File

@ -1,3 +1,28 @@
2002-01-20 Andrew Cagney <ac131313@redhat.com>
* remote-sim.c (gdbsim_open): Simplify code testing the macro
TARGET_BYTE_ORDER_SELECTABLE_P. Assume the target is always
byte-order selectable.
* sparc-tdep.c (sparc_target_architecture_hook): Ditto.
* arch-utils.c: Ditto.
(set_endian): Ditto.
(set_endian_from_file): Ditto.
* gdbserver/low-sim.c (create_inferior): Ditto.
* gdbarch.sh: Ditto.
* gdbarch.h: Re-generate.
* config/powerpc/tm-ppc-eabi.h (TARGET_BYTE_ORDER_SELECTABLE_P):
* config/sparc/tm-sparclite.h (TARGET_BYTE_ORDER_SELECTABLE):
* config/sparc/tm-sparclet.h (TARGET_BYTE_ORDER_SELECTABLE):
* config/mcore/tm-mcore.h (TARGET_BYTE_ORDER_SELECTABLE_P):
* config/arm/tm-wince.h (TARGET_BYTE_ORDER_SELECTABLE_P):
* config/arm/tm-linux.h (TARGET_BYTE_ORDER_SELECTABLE_P):
* config/arc/tm-arc.h (TARGET_BYTE_ORDER_SELECTABLE):
* config/arm/tm-arm.h (TARGET_BYTE_ORDER_SELECTABLE_P): Delete
macro definition.
* config/mips/tm-wince.h: Remove #undef of macro
TARGET_BYTE_ORDER_SELECTABLE.
* config/sh/tm-wince.h: Ditto.
2002-01-20 Daniel Jacobowitz <drow@mvista.com> 2002-01-20 Daniel Jacobowitz <drow@mvista.com>
* gdbtypes.h (struct cplus_struct_type): Add is_artificial to * gdbtypes.h (struct cplus_struct_type): Add is_artificial to

View File

@ -399,23 +399,6 @@ generic_register_virtual_size (int regnum)
/* Functions to manipulate the endianness of the target. */ /* Functions to manipulate the endianness of the target. */
#ifdef TARGET_BYTE_ORDER_SELECTABLE
/* compat - Catch old targets that expect a selectable byte-order to
default to BFD_ENDIAN_BIG */
#ifndef TARGET_BYTE_ORDER_DEFAULT
#define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_BIG
#endif
#endif
#if !TARGET_BYTE_ORDER_SELECTABLE_P
#ifndef TARGET_BYTE_ORDER_DEFAULT
/* compat - Catch old non byte-order selectable targets that do not
define TARGET_BYTE_ORDER_DEFAULT and instead expect
TARGET_BYTE_ORDER to be used as the default. For targets that
defined neither TARGET_BYTE_ORDER nor TARGET_BYTE_ORDER_DEFAULT the
below will get a strange compiler warning. */
#define TARGET_BYTE_ORDER_DEFAULT TARGET_BYTE_ORDER
#endif
#endif
#ifndef TARGET_BYTE_ORDER_DEFAULT #ifndef TARGET_BYTE_ORDER_DEFAULT
#define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_BIG /* arbitrary */ #define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_BIG /* arbitrary */
#endif #endif
@ -453,11 +436,7 @@ show_endian (char *args, int from_tty)
static void static void
set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c) set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c)
{ {
if (!TARGET_BYTE_ORDER_SELECTABLE_P) if (set_endian_string == endian_auto)
{
printf_unfiltered ("Byte order is not selectable.");
}
else if (set_endian_string == endian_auto)
{ {
target_byte_order_auto = 1; target_byte_order_auto = 1;
} }
@ -508,33 +487,20 @@ set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c)
static void static void
set_endian_from_file (bfd *abfd) set_endian_from_file (bfd *abfd)
{ {
int want;
if (GDB_MULTI_ARCH) if (GDB_MULTI_ARCH)
internal_error (__FILE__, __LINE__, internal_error (__FILE__, __LINE__,
"set_endian_from_file: not for multi-arch"); "set_endian_from_file: not for multi-arch");
if (TARGET_BYTE_ORDER_SELECTABLE_P) if (bfd_big_endian (abfd))
{ want = BFD_ENDIAN_BIG;
int want;
if (bfd_big_endian (abfd))
want = BFD_ENDIAN_BIG;
else
want = BFD_ENDIAN_LITTLE;
if (TARGET_BYTE_ORDER_AUTO)
target_byte_order = want;
else if (TARGET_BYTE_ORDER != want)
warning ("%s endian file does not match %s endian target.",
want == BFD_ENDIAN_BIG ? "big" : "little",
TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little");
}
else else
{ want = BFD_ENDIAN_LITTLE;
if (bfd_big_endian (abfd) if (TARGET_BYTE_ORDER_AUTO)
? TARGET_BYTE_ORDER != BFD_ENDIAN_BIG target_byte_order = want;
: TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) else if (TARGET_BYTE_ORDER != want)
warning ("%s endian file does not match %s endian target.", warning ("%s endian file does not match %s endian target.",
bfd_big_endian (abfd) ? "big" : "little", want == BFD_ENDIAN_BIG ? "big" : "little",
TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little"); TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little");
}
} }

View File

@ -24,8 +24,8 @@
/* Used by arc-tdep.c to set the default cpu type. */ /* Used by arc-tdep.c to set the default cpu type. */
#define DEFAULT_ARC_CPU_TYPE "base" #define DEFAULT_ARC_CPU_TYPE "base"
/* Byte order is selectable. */ /* We have IEEE floating point, if we have any float at all. */
#define TARGET_BYTE_ORDER_SELECTABLE #define IEEE_FLOAT (1)
/* Offset from address of function to start of its code. /* Offset from address of function to start of its code.
Zero on most machines. */ Zero on most machines. */

View File

@ -31,7 +31,6 @@ struct value;
/* Target byte order on ARM defaults to selectable, and defaults to /* Target byte order on ARM defaults to selectable, and defaults to
little endian. */ little endian. */
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_LITTLE #define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_LITTLE
/* IEEE format floating point. */ /* IEEE format floating point. */

View File

@ -34,10 +34,6 @@
extern struct link_map_offsets *arm_linux_svr4_fetch_link_map_offsets (void); extern struct link_map_offsets *arm_linux_svr4_fetch_link_map_offsets (void);
#define SVR4_FETCH_LINK_MAP_OFFSETS() arm_linux_svr4_fetch_link_map_offsets () #define SVR4_FETCH_LINK_MAP_OFFSETS() arm_linux_svr4_fetch_link_map_offsets ()
/* Target byte order on ARM Linux is little endian and not selectable. */
#undef TARGET_BYTE_ORDER_SELECTABLE_P
#define TARGET_BYTE_ORDER_SELECTABLE_P 0
/* Under ARM Linux the traditional way of performing a breakpoint is to /* Under ARM Linux the traditional way of performing a breakpoint is to
execute a particular software interrupt, rather than use a particular execute a particular software interrupt, rather than use a particular
undefined instruction to provoke a trap. Upon exection of the software undefined instruction to provoke a trap. Upon exection of the software

View File

@ -31,8 +31,4 @@
void wince_software_single_step (unsigned int, int); void wince_software_single_step (unsigned int, int);
/* Target byte order is little endian and not selectable on WinCE. */
#undef TARGET_BYTE_ORDER_SELECTABLE_P
#define TARGET_BYTE_ORDER_SELECTABLE_P 0
#endif /* TM_WINCE_H */ #endif /* TM_WINCE_H */

View File

@ -155,9 +155,6 @@ extern void mcore_virtual_frame_pointer (CORE_ADDR, int *, LONGEST *);
#define TARGET_VIRTUAL_FRAME_POINTER(PC, REGP, OFFP) \ #define TARGET_VIRTUAL_FRAME_POINTER(PC, REGP, OFFP) \
mcore_virtual_frame_pointer ((PC), (REGP), (OFFP)) mcore_virtual_frame_pointer ((PC), (REGP), (OFFP))
/* MCore can be bi-endian. */
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
/* For PE, gcc will tell us what th real type of /* For PE, gcc will tell us what th real type of
arguments are when it promotes arguments. */ arguments are when it promotes arguments. */
#define BELIEVE_PCC_PROMOTION 1 #define BELIEVE_PCC_PROMOTION 1

View File

@ -29,7 +29,6 @@
#define SOFTWARE_SINGLE_STEP(sig, bp_p) wince_software_single_step (sig, bp_p) #define SOFTWARE_SINGLE_STEP(sig, bp_p) wince_software_single_step (sig, bp_p)
void wince_software_single_step (unsigned int, int); void wince_software_single_step (unsigned int, int);
#undef TARGET_BYTE_ORDER_SELECTABLE
#define TARGET_BYTE_ORDER BFD_ENDIAN_LITTLE #define TARGET_BYTE_ORDER BFD_ENDIAN_LITTLE
#endif /* TM_WINCE_H */ #endif /* TM_WINCE_H */

View File

@ -39,8 +39,6 @@
/* Say that we're using ELF, not XCOFF. */ /* Say that we're using ELF, not XCOFF. */
#define ELF_OBJECT_FORMAT 1 #define ELF_OBJECT_FORMAT 1
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
/* The value of symbols of type N_SO and N_FUN maybe null when /* The value of symbols of type N_SO and N_FUN maybe null when
it shouldn't be. */ it shouldn't be. */
#define SOFUN_ADDRESS_MAYBE_MISSING #define SOFUN_ADDRESS_MAYBE_MISSING

View File

@ -28,7 +28,6 @@
#undef SOFTWARE_SINGLE_STEP #undef SOFTWARE_SINGLE_STEP
#define SOFTWARE_SINGLE_STEP(sig, bp_p) wince_software_single_step (sig, bp_p) #define SOFTWARE_SINGLE_STEP(sig, bp_p) wince_software_single_step (sig, bp_p)
void wince_software_single_step (unsigned int, int); void wince_software_single_step (unsigned int, int);
#undef TARGET_BYTE_ORDER_SELECTABLE
#define TARGET_BYTE_ORDER BFD_ENDIAN_LITTLE #define TARGET_BYTE_ORDER BFD_ENDIAN_LITTLE
#endif /* TM_WINCE_H */ #endif /* TM_WINCE_H */

View File

@ -49,7 +49,6 @@ enum {
/* overrides of tm-sparc.h */ /* overrides of tm-sparc.h */
#undef TARGET_BYTE_ORDER #undef TARGET_BYTE_ORDER
#define TARGET_BYTE_ORDER_SELECTABLE
/* Sequence of bytes for breakpoint instruction (ta 1). */ /* Sequence of bytes for breakpoint instruction (ta 1). */
#undef BREAKPOINT #undef BREAKPOINT

View File

@ -45,7 +45,6 @@ enum {
/* overrides of tm-sparc.h */ /* overrides of tm-sparc.h */
#undef TARGET_BYTE_ORDER #undef TARGET_BYTE_ORDER
#define TARGET_BYTE_ORDER_SELECTABLE
/* Select the sparclite disassembler. Slightly different instruction set from /* Select the sparclite disassembler. Slightly different instruction set from
the V8 sparc. */ the V8 sparc. */

View File

@ -1,3 +1,8 @@
2002-01-20 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete
description of TARGET_BYTE_ORDER_SELECTABLE_P.
2002-01-20 Andrew Cagney <ac131313@redhat.com> 2002-01-20 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Host Definition): Revise. xm-xyz.h and xyz.mh * gdbint.texinfo (Host Definition): Revise. xm-xyz.h and xyz.mh

View File

@ -3480,12 +3480,6 @@ The ordering of bytes in the target. This must be either
@code{BFD_ENDIAN_BIG} or @code{BFD_ENDIAN_LITTLE}. This macro replaces @code{BFD_ENDIAN_BIG} or @code{BFD_ENDIAN_LITTLE}. This macro replaces
@code{TARGET_BYTE_ORDER} which is deprecated. @code{TARGET_BYTE_ORDER} which is deprecated.
@item TARGET_BYTE_ORDER_SELECTABLE_P
@findex TARGET_BYTE_ORDER_SELECTABLE_P
Non-zero if the target has both @code{BIG_ENDIAN} and
@code{BFD_ENDIAN_LITTLE} variants. This macro replaces
@code{TARGET_BYTE_ORDER_SELECTABLE} which is deprecated.
@item TARGET_CHAR_BIT @item TARGET_CHAR_BIT
@findex TARGET_CHAR_BIT @findex TARGET_CHAR_BIT
Number of bits in a char; defaults to 8. Number of bits in a char; defaults to 8.

View File

@ -2392,33 +2392,7 @@ extern void register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_
/* The target-system-dependent byte order is dynamic */ /* The target-system-dependent byte order is dynamic */
/* TARGET_BYTE_ORDER_SELECTABLE_P determines if the target endianness
is selectable at runtime. The user can use the ``set endian''
command to change it. TARGET_BYTE_ORDER_AUTO is nonzero when
target_byte_order should be auto-detected (from the program image
say). */
#if GDB_MULTI_ARCH
/* Multi-arch GDB is always bi-endian. */
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#endif
#ifndef TARGET_BYTE_ORDER_SELECTABLE_P
/* compat - Catch old targets that define TARGET_BYTE_ORDER_SLECTABLE
when they should have defined TARGET_BYTE_ORDER_SELECTABLE_P 1 */
#ifdef TARGET_BYTE_ORDER_SELECTABLE
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#else
#define TARGET_BYTE_ORDER_SELECTABLE_P 0
#endif
#endif
extern int target_byte_order; extern int target_byte_order;
#ifdef TARGET_BYTE_ORDER_SELECTABLE
/* compat - Catch old targets that define TARGET_BYTE_ORDER_SELECTABLE
and expect defs.h to re-define TARGET_BYTE_ORDER. */
#undef TARGET_BYTE_ORDER
#endif
#ifndef TARGET_BYTE_ORDER #ifndef TARGET_BYTE_ORDER
#define TARGET_BYTE_ORDER (target_byte_order + 0) #define TARGET_BYTE_ORDER (target_byte_order + 0)
#endif #endif

View File

@ -1056,33 +1056,7 @@ extern void register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_
/* The target-system-dependent byte order is dynamic */ /* The target-system-dependent byte order is dynamic */
/* TARGET_BYTE_ORDER_SELECTABLE_P determines if the target endianness
is selectable at runtime. The user can use the \`\`set endian''
command to change it. TARGET_BYTE_ORDER_AUTO is nonzero when
target_byte_order should be auto-detected (from the program image
say). */
#if GDB_MULTI_ARCH
/* Multi-arch GDB is always bi-endian. */
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#endif
#ifndef TARGET_BYTE_ORDER_SELECTABLE_P
/* compat - Catch old targets that define TARGET_BYTE_ORDER_SLECTABLE
when they should have defined TARGET_BYTE_ORDER_SELECTABLE_P 1 */
#ifdef TARGET_BYTE_ORDER_SELECTABLE
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#else
#define TARGET_BYTE_ORDER_SELECTABLE_P 0
#endif
#endif
extern int target_byte_order; extern int target_byte_order;
#ifdef TARGET_BYTE_ORDER_SELECTABLE
/* compat - Catch old targets that define TARGET_BYTE_ORDER_SELECTABLE
and expect defs.h to re-define TARGET_BYTE_ORDER. */
#undef TARGET_BYTE_ORDER
#endif
#ifndef TARGET_BYTE_ORDER #ifndef TARGET_BYTE_ORDER
#define TARGET_BYTE_ORDER (target_byte_order + 0) #define TARGET_BYTE_ORDER (target_byte_order + 0)
#endif #endif

View File

@ -88,10 +88,8 @@ create_inferior (char *program, char **argv)
{ {
bfd *abfd; bfd *abfd;
int pid = 0; int pid = 0;
#ifdef TARGET_BYTE_ORDER_SELECTABLE
char **new_argv; char **new_argv;
int nargs; int nargs;
#endif
abfd = bfd_openr (program, 0); abfd = bfd_openr (program, 0);
if (!abfd) if (!abfd)
@ -108,7 +106,6 @@ create_inferior (char *program, char **argv)
exit (1); exit (1);
} }
#ifdef TARGET_BYTE_ORDER_SELECTABLE
/* Add "-E big" or "-E little" to the argument list depending on the /* Add "-E big" or "-E little" to the argument list depending on the
endianness of the program to be loaded. */ endianness of the program to be loaded. */
for (nargs = 0; argv[nargs] != NULL; nargs++) /* count the args */ for (nargs = 0; argv[nargs] != NULL; nargs++) /* count the args */
@ -120,7 +117,6 @@ create_inferior (char *program, char **argv)
new_argv[nargs + 1] = bfd_big_endian (abfd) ? "big" : "little"; new_argv[nargs + 1] = bfd_big_endian (abfd) ? "big" : "little";
new_argv[nargs + 2] = NULL; new_argv[nargs + 2] = NULL;
argv = new_argv; argv = new_argv;
#endif
/* Create an instance of the simulator. */ /* Create an instance of the simulator. */
default_callback.init (&default_callback); default_callback.init (&default_callback);

View File

@ -474,8 +474,7 @@ gdbsim_open (char *args, int from_tty)
strcpy (arg_buf, "gdbsim"); /* 7 */ strcpy (arg_buf, "gdbsim"); /* 7 */
/* Specify the byte order for the target when it is both selectable /* Specify the byte order for the target when it is both selectable
and explicitly specified by the user (not auto detected). */ and explicitly specified by the user (not auto detected). */
if (TARGET_BYTE_ORDER_SELECTABLE_P if (!TARGET_BYTE_ORDER_AUTO)
&& !TARGET_BYTE_ORDER_AUTO)
{ {
switch (TARGET_BYTE_ORDER) switch (TARGET_BYTE_ORDER)
{ {

View File

@ -2200,15 +2200,8 @@ sparc_target_architecture_hook (const bfd_arch_info_type *ap)
if (ap->mach == bfd_mach_sparc_sparclite_le) if (ap->mach == bfd_mach_sparc_sparclite_le)
{ {
if (TARGET_BYTE_ORDER_SELECTABLE_P) target_byte_order = BFD_ENDIAN_LITTLE;
{ bi_endian = 1;
target_byte_order = BFD_ENDIAN_LITTLE;
bi_endian = 1;
}
else
{
warning ("This GDB does not support little endian sparclite.");
}
} }
else else
bi_endian = 0; bi_endian = 0;