diff options
Diffstat (limited to 'gdb/config/arm/tm-linux.h')
-rw-r--r-- | gdb/config/arm/tm-linux.h | 19 |
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 |