diff options
Diffstat (limited to 'gcc/config/mmix/mmix.h')
-rw-r--r-- | gcc/config/mmix/mmix.h | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h index 74229acd6a4..7c61405f359 100644 --- a/gcc/config/mmix/mmix.h +++ b/gcc/config/mmix/mmix.h @@ -119,13 +119,15 @@ struct machine_function /* Pass on -mset-program-start=N and -mset-data-start=M to the linker. Provide default program start 0x100 unless -mno-set-program-start. - Link to ELF if requested. */ + Don't do this if linking relocatably, with -r. For a final link, + produce mmo, unless ELF is requested or when linking relocatably. */ #define LINK_SPEC \ "%{mset-program-start=*:--defsym __.MMIX.start..text=%*}\ %{mset-data-start=*:--defsym __.MMIX.start..data=%*}\ %{!mset-program-start=*:\ - %{!mno-set-program-start:--defsym __.MMIX.start..text=0x100}}\ - %{!melf:-m mmo}%{melf:-m elf64mmix}" + %{!mno-set-program-start:\ + %{!r:--defsym __.MMIX.start..text=0x100}}}\ + %{!melf:%{!r:-m mmo}}%{melf|r:-m elf64mmix}" /* Put unused option values here. */ extern const char *mmix_cc1_ignored_option; @@ -346,10 +348,6 @@ extern int target_flags; #define DEFAULT_SIGNED_CHAR 1 -/* I have no rationale for this other than pointing at Alpha. */ -#define WCHAR_TYPE "unsigned int" -#define WCHAR_TYPE_SIZE 32 - /* Node: Register Basics */ /* We tell GCC about all 256 general registers, and we also include @@ -483,7 +481,7 @@ extern int target_flags; assuming it is referenced a very limited number of times. Other global and fixed registers come next; they are never allocated. */ #define MMIX_GNU_ABI_REG_ALLOC_ORDER \ -{ 252, 251, 250, 249, 248, 247, 246, \ + { 252, 251, 250, 249, 248, 247, 246, \ 245, 244, 243, 242, 241, 240, 239, 238, \ 237, 236, 235, 234, 233, 232, 231, \ \ @@ -549,10 +547,10 @@ extern int target_flags; /* Node: Register Classes */ enum reg_class -{ - NO_REGS, GENERAL_REGS, REMAINDER_REG, HIMULT_REG, - SYSTEM_REGS, ALL_REGS, LIM_REG_CLASSES -}; + { + NO_REGS, GENERAL_REGS, REMAINDER_REG, HIMULT_REG, + SYSTEM_REGS, ALL_REGS, LIM_REG_CLASSES + }; #define N_REG_CLASSES (int) LIM_REG_CLASSES @@ -626,10 +624,7 @@ enum reg_class #define STARTING_FRAME_OFFSET \ mmix_starting_frame_offset () -/* There is a stack slot between the frame-pointer and the first - parameter, where the return address is sometimes stored. FIXME: - Unnecessary. */ -#define FIRST_PARM_OFFSET(FUNDECL) 8 +#define FIRST_PARM_OFFSET(FUNDECL) 0 #define DYNAMIC_CHAIN_ADDRESS(FRAMEADDR) \ mmix_dynamic_chain_address (FRAMEADDR) @@ -703,7 +698,7 @@ enum reg_class #define CAN_ELIMINATE(FROM, TO) 1 #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ - (OFFSET) = mmix_initial_elimination_offset (FROM, TO); + (OFFSET) = mmix_initial_elimination_offset (FROM, TO) /* Node: Stack Arguments */ @@ -1104,10 +1099,6 @@ const_section () \ #define PRINT_OPERAND_ADDRESS(STREAM, X) \ mmix_print_operand_address (STREAM, X) -#if 0 -#define USER_LABEL_PREFIX "_" -#endif - #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO) \ mmix_asm_output_reg_push (STREAM, REGNO) |