aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/arm/tm-linux.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/config/arm/tm-linux.h')
-rw-r--r--gdb/config/arm/tm-linux.h19
1 files changed, 17 insertions, 2 deletions
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