Commit 9704efe6 by Mike Stump

install EH code

From-SVN: r12568
parent 39950dff
...@@ -2310,6 +2310,13 @@ extern int rs6000_trunc_used; ...@@ -2310,6 +2310,13 @@ extern int rs6000_trunc_used;
#define READONLY_DATA_SECTION read_only_data_section #define READONLY_DATA_SECTION read_only_data_section
/* Define the name of the section to use for the exception tables.
TODO: test and see if we can use read_only_data_section, if so,
remove this. */
#define EXCEPTION_SECTION data_section
/* If we are referencing a function that is static or is known to be /* If we are referencing a function that is static or is known to be
in this file, make the SYMBOL_REF special. We can use this to indicate in this file, make the SYMBOL_REF special. We can use this to indicate
that we can branch to this function without emitting a no-op after the that we can branch to this function without emitting a no-op after the
......
...@@ -895,7 +895,7 @@ extern int sparc_mode_class[]; ...@@ -895,7 +895,7 @@ extern int sparc_mode_class[];
#define FRAME_POINTER_REGNUM 30 #define FRAME_POINTER_REGNUM 30
#if 0 #if 0
/* Register that is used for the return address. */ /* Register that is used for the return address for the flat model. */
#define RETURN_ADDR_REGNUM 15 #define RETURN_ADDR_REGNUM 15
#endif #endif
...@@ -2168,6 +2168,8 @@ extern struct rtx_def *sparc_builtin_saveregs (); ...@@ -2168,6 +2168,8 @@ extern struct rtx_def *sparc_builtin_saveregs ();
? gen_rtx (REG, Pmode, 31) \ ? gen_rtx (REG, Pmode, 31) \
: gen_rtx (MEM, Pmode, \ : gen_rtx (MEM, Pmode, \
memory_address (Pmode, plus_constant (frame, 15 * UNITS_PER_WORD)))) memory_address (Pmode, plus_constant (frame, 15 * UNITS_PER_WORD))))
#define DOESNT_NEED_UNWINDER (! TARGET_FLAT)
/* Addressing modes, and classification of registers for them. */ /* Addressing modes, and classification of registers for them. */
......
...@@ -5392,7 +5392,8 @@ ...@@ -5392,7 +5392,8 @@
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
(define_insn "return" (define_insn "return"
[(return)] [(return)
(use (reg:SI 31))]
"! TARGET_EPILOGUE" "! TARGET_EPILOGUE"
"* return output_return (operands);" "* return output_return (operands);"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
......
...@@ -566,7 +566,9 @@ gen_rtx (PLUS, Pmode, frame, gen_rtx (CONST_INT, VOIDmode, 12)) ...@@ -566,7 +566,9 @@ gen_rtx (PLUS, Pmode, frame, gen_rtx (CONST_INT, VOIDmode, 12))
can ignore COUNT. */ can ignore COUNT. */
#define RETURN_ADDR_RTX(COUNT, FRAME) \ #define RETURN_ADDR_RTX(COUNT, FRAME) \
gen_rtx (MEM, Pmode, plus_constant (FRAME, RETURN_ADDRESS_OFFSET)) ((COUNT == 0) \
? gen_rtx (MEM, Pmode, plus_constant (FRAME, RETURN_ADDRESS_OFFSET)) \
: (rtx) 0)
/* Addressing modes, and classification of registers for them. */ /* Addressing modes, and classification of registers for them. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment