aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/arm
diff options
context:
space:
mode:
authorScott Bambrough <scottb@netwinder.org>2000-04-07 22:26:11 +0000
committerScott Bambrough <scottb@netwinder.org>2000-04-07 22:26:11 +0000
commit134e61c4a77c65329c049cb790166a400f7b9fda (patch)
tree40a8f0c59e7aad961d9b968dbc72af838cdc95ca /gdb/config/arm
parent03e0fb3a47c004dbe49bfc48cbd458c284c83292 (diff)
downloadgdb-134e61c4a77c65329c049cb790166a400f7b9fda.zip
gdb-134e61c4a77c65329c049cb790166a400f7b9fda.tar.gz
gdb-134e61c4a77c65329c049cb790166a400f7b9fda.tar.bz2
2000-04-07 Scott Bambrough <scottb@netwinder.org>
* ChangeLog: Correct date on last entry. * arm-linux-tdep.c (arm_linux_push_arguments): New function. * config/arm/tm-linux: Redefined PUSH_ARGUMENTS for Linux. * config/arm/tm-embed: Fix build warning from redefinition of LOWEST_PC. * config/arm/tm-arm.h: Remove TARGET_BYTE_ORDER_SELECTABLE. * config/arm/tm-wince.h: Remove TARGET_BYTE_ORDER_SELECTABLE and TARGET_BYTE_ORDER. Add TARGET_BYTE_ORDER_SELECTABLE_P to override default in tm-arm.h. Use default target byte order from tm-arm.h.
Diffstat (limited to 'gdb/config/arm')
-rw-r--r--gdb/config/arm/tm-arm.h4
-rw-r--r--gdb/config/arm/tm-embed.h1
-rw-r--r--gdb/config/arm/tm-linux.h19
-rw-r--r--gdb/config/arm/tm-wince.h5
4 files changed, 22 insertions, 7 deletions
diff --git a/gdb/config/arm/tm-arm.h b/gdb/config/arm/tm-arm.h
index 5ff75aa..e64b776 100644
--- a/gdb/config/arm/tm-arm.h
+++ b/gdb/config/arm/tm-arm.h
@@ -25,11 +25,9 @@
struct type;
struct value;
-#define TARGET_BYTE_ORDER_SELECTABLE
-
/* Target byte order on ARM defaults to selectable, and defaults to
little endian. */
-#define TARGET_BYTE_ORDER_SELECTABLE_P 1
+#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#define TARGET_BYTE_ORDER_DEFAULT LITTLE_ENDIAN
/* IEEE format floating point. */
diff --git a/gdb/config/arm/tm-embed.h b/gdb/config/arm/tm-embed.h
index f42b4f2..5e9375c 100644
--- a/gdb/config/arm/tm-embed.h
+++ b/gdb/config/arm/tm-embed.h
@@ -32,6 +32,7 @@
#define STACK_END_ADDR (0x01000000 - (TARGET_UPAGES * TARGET_NBPG))
/* The first 0x20 bytes are the trap vectors. */
+#undef LOWEST_PC
#define LOWEST_PC 0x20
/* Override defaults. */
diff --git a/gdb/config/arm/tm-linux.h b/gdb/config/arm/tm-linux.h
index 3d9bf1d..af2e809 100644
--- a/gdb/config/arm/tm-linux.h
+++ b/gdb/config/arm/tm-linux.h
@@ -26,9 +26,9 @@
#include "tm-linux.h"
-/* Target byte order on ARM Linux is not selectable. */
+/* 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
+#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
@@ -60,6 +60,21 @@ extern void arm_linux_extract_return_value (struct type *, char[], char *);
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
arm_linux_extract_return_value ((TYPE), (REGBUF), (VALBUF))
+/* Things needed for making the inferior call functions.
+
+ FIXME: This and arm_push_arguments should be merged. However this
+ function breaks on a little endian host, big endian target
+ using the COFF file format. ELF is ok.
+
+ ScottB. */
+
+#undef PUSH_ARGUMENTS
+#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
+ sp = arm_linux_push_arguments ((nargs), (args), (sp), (struct_return), \
+ (struct_addr))
+extern CORE_ADDR arm_linux_push_arguments (int, struct value **, CORE_ADDR,
+ int, CORE_ADDR);
+
/* The first page is not writeable in ARM Linux. */
#undef LOWEST_PC
#define LOWEST_PC 0x8000
diff --git a/gdb/config/arm/tm-wince.h b/gdb/config/arm/tm-wince.h
index 9b46135..0de5fbe 100644
--- a/gdb/config/arm/tm-wince.h
+++ b/gdb/config/arm/tm-wince.h
@@ -31,7 +31,8 @@
void wince_software_single_step (unsigned int, int);
-#undef TARGET_BYTE_ORDER_SELECTABLE
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
+/* 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 */