mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 20:49:43 +00:00
Assume TARGET_BYTE_ORDER_SELECTABLE{,_P} is always true.
This commit is contained in:
parent
3e36a0f45e
commit
3fd3d7d29c
@ -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>
|
||||
|
||||
* gdbtypes.h (struct cplus_struct_type): Add is_artificial to
|
||||
|
@ -399,23 +399,6 @@ generic_register_virtual_size (int regnum)
|
||||
|
||||
/* 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
|
||||
#define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_BIG /* arbitrary */
|
||||
#endif
|
||||
@ -453,11 +436,7 @@ show_endian (char *args, int from_tty)
|
||||
static void
|
||||
set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c)
|
||||
{
|
||||
if (!TARGET_BYTE_ORDER_SELECTABLE_P)
|
||||
{
|
||||
printf_unfiltered ("Byte order is not selectable.");
|
||||
}
|
||||
else if (set_endian_string == endian_auto)
|
||||
if (set_endian_string == endian_auto)
|
||||
{
|
||||
target_byte_order_auto = 1;
|
||||
}
|
||||
@ -508,13 +487,10 @@ set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c)
|
||||
static void
|
||||
set_endian_from_file (bfd *abfd)
|
||||
{
|
||||
int want;
|
||||
if (GDB_MULTI_ARCH)
|
||||
internal_error (__FILE__, __LINE__,
|
||||
"set_endian_from_file: not for multi-arch");
|
||||
if (TARGET_BYTE_ORDER_SELECTABLE_P)
|
||||
{
|
||||
int want;
|
||||
|
||||
if (bfd_big_endian (abfd))
|
||||
want = BFD_ENDIAN_BIG;
|
||||
else
|
||||
@ -525,16 +501,6 @@ set_endian_from_file (bfd *abfd)
|
||||
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
|
||||
{
|
||||
if (bfd_big_endian (abfd)
|
||||
? TARGET_BYTE_ORDER != BFD_ENDIAN_BIG
|
||||
: TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
|
||||
warning ("%s endian file does not match %s endian target.",
|
||||
bfd_big_endian (abfd) ? "big" : "little",
|
||||
TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? "big" : "little");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -24,8 +24,8 @@
|
||||
/* Used by arc-tdep.c to set the default cpu type. */
|
||||
#define DEFAULT_ARC_CPU_TYPE "base"
|
||||
|
||||
/* Byte order is selectable. */
|
||||
#define TARGET_BYTE_ORDER_SELECTABLE
|
||||
/* We have IEEE floating point, if we have any float at all. */
|
||||
#define IEEE_FLOAT (1)
|
||||
|
||||
/* Offset from address of function to start of its code.
|
||||
Zero on most machines. */
|
||||
|
@ -31,7 +31,6 @@ struct value;
|
||||
|
||||
/* Target byte order on ARM defaults to selectable, and defaults to
|
||||
little endian. */
|
||||
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
|
||||
#define TARGET_BYTE_ORDER_DEFAULT BFD_ENDIAN_LITTLE
|
||||
|
||||
/* IEEE format floating point. */
|
||||
|
@ -34,10 +34,6 @@
|
||||
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 ()
|
||||
|
||||
/* 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
|
||||
execute a particular software interrupt, rather than use a particular
|
||||
undefined instruction to provoke a trap. Upon exection of the software
|
||||
|
@ -31,8 +31,4 @@
|
||||
|
||||
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 */
|
||||
|
@ -155,9 +155,6 @@ extern void mcore_virtual_frame_pointer (CORE_ADDR, int *, LONGEST *);
|
||||
#define TARGET_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
|
||||
arguments are when it promotes arguments. */
|
||||
#define BELIEVE_PCC_PROMOTION 1
|
||||
|
@ -29,7 +29,6 @@
|
||||
#define SOFTWARE_SINGLE_STEP(sig, bp_p) wince_software_single_step (sig, bp_p)
|
||||
|
||||
void wince_software_single_step (unsigned int, int);
|
||||
#undef TARGET_BYTE_ORDER_SELECTABLE
|
||||
#define TARGET_BYTE_ORDER BFD_ENDIAN_LITTLE
|
||||
|
||||
#endif /* TM_WINCE_H */
|
||||
|
@ -39,8 +39,6 @@
|
||||
/* Say that we're using ELF, not XCOFF. */
|
||||
#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
|
||||
it shouldn't be. */
|
||||
#define SOFUN_ADDRESS_MAYBE_MISSING
|
||||
|
@ -28,7 +28,6 @@
|
||||
#undef SOFTWARE_SINGLE_STEP
|
||||
#define SOFTWARE_SINGLE_STEP(sig, bp_p) wince_software_single_step (sig, bp_p)
|
||||
void wince_software_single_step (unsigned int, int);
|
||||
#undef TARGET_BYTE_ORDER_SELECTABLE
|
||||
#define TARGET_BYTE_ORDER BFD_ENDIAN_LITTLE
|
||||
|
||||
#endif /* TM_WINCE_H */
|
||||
|
@ -49,7 +49,6 @@ enum {
|
||||
/* overrides of tm-sparc.h */
|
||||
|
||||
#undef TARGET_BYTE_ORDER
|
||||
#define TARGET_BYTE_ORDER_SELECTABLE
|
||||
|
||||
/* Sequence of bytes for breakpoint instruction (ta 1). */
|
||||
#undef BREAKPOINT
|
||||
|
@ -45,7 +45,6 @@ enum {
|
||||
/* overrides of tm-sparc.h */
|
||||
|
||||
#undef TARGET_BYTE_ORDER
|
||||
#define TARGET_BYTE_ORDER_SELECTABLE
|
||||
|
||||
/* Select the sparclite disassembler. Slightly different instruction set from
|
||||
the V8 sparc. */
|
||||
|
@ -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>
|
||||
|
||||
* gdbint.texinfo (Host Definition): Revise. xm-xyz.h and xyz.mh
|
||||
|
@ -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{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
|
||||
@findex TARGET_CHAR_BIT
|
||||
Number of bits in a char; defaults to 8.
|
||||
|
@ -2392,33 +2392,7 @@ extern void register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_
|
||||
|
||||
/* 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;
|
||||
#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
|
||||
#define TARGET_BYTE_ORDER (target_byte_order + 0)
|
||||
#endif
|
||||
|
@ -1056,33 +1056,7 @@ extern void register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_
|
||||
|
||||
/* 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;
|
||||
#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
|
||||
#define TARGET_BYTE_ORDER (target_byte_order + 0)
|
||||
#endif
|
||||
|
@ -88,10 +88,8 @@ create_inferior (char *program, char **argv)
|
||||
{
|
||||
bfd *abfd;
|
||||
int pid = 0;
|
||||
#ifdef TARGET_BYTE_ORDER_SELECTABLE
|
||||
char **new_argv;
|
||||
int nargs;
|
||||
#endif
|
||||
|
||||
abfd = bfd_openr (program, 0);
|
||||
if (!abfd)
|
||||
@ -108,7 +106,6 @@ create_inferior (char *program, char **argv)
|
||||
exit (1);
|
||||
}
|
||||
|
||||
#ifdef TARGET_BYTE_ORDER_SELECTABLE
|
||||
/* Add "-E big" or "-E little" to the argument list depending on the
|
||||
endianness of the program to be loaded. */
|
||||
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 + 2] = NULL;
|
||||
argv = new_argv;
|
||||
#endif
|
||||
|
||||
/* Create an instance of the simulator. */
|
||||
default_callback.init (&default_callback);
|
||||
|
@ -474,8 +474,7 @@ gdbsim_open (char *args, int from_tty)
|
||||
strcpy (arg_buf, "gdbsim"); /* 7 */
|
||||
/* Specify the byte order for the target when it is both selectable
|
||||
and explicitly specified by the user (not auto detected). */
|
||||
if (TARGET_BYTE_ORDER_SELECTABLE_P
|
||||
&& !TARGET_BYTE_ORDER_AUTO)
|
||||
if (!TARGET_BYTE_ORDER_AUTO)
|
||||
{
|
||||
switch (TARGET_BYTE_ORDER)
|
||||
{
|
||||
|
@ -2199,17 +2199,10 @@ sparc_target_architecture_hook (const bfd_arch_info_type *ap)
|
||||
int i, j;
|
||||
|
||||
if (ap->mach == bfd_mach_sparc_sparclite_le)
|
||||
{
|
||||
if (TARGET_BYTE_ORDER_SELECTABLE_P)
|
||||
{
|
||||
target_byte_order = BFD_ENDIAN_LITTLE;
|
||||
bi_endian = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
warning ("This GDB does not support little endian sparclite.");
|
||||
}
|
||||
}
|
||||
else
|
||||
bi_endian = 0;
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user