Commit 59313e4e by Michael Meissner

Add -mno-traceback option; eliminate nop after call on V.4/eabi

From-SVN: r9176
parent d7757a12
...@@ -4909,16 +4909,18 @@ ...@@ -4909,16 +4909,18 @@
"" ""
"* "*
{ {
if (GET_CODE (operands[0]) == REG)
{
#ifndef USING_SVR4_H #ifndef USING_SVR4_H
return \"{brl|blrl}\;{l|lwz} 2,20(1)\"; if (GET_CODE (operands[1]) == REG)
#else return \"{brl|blrl}\;{l|lwz} 2,20(1)\";
return \"{brl|blrl}\";
#endif
}
return \"bl %z0\;%.\"; return \"bl %z0\;%.\";
#else
if (GET_CODE (operands[1]) == REG)
return \"{brl|blrl}\";
return \"bl %z0\";
#endif
}" }"
[(set_attr "length" "8")]) [(set_attr "length" "8")])
...@@ -4938,16 +4940,18 @@ ...@@ -4938,16 +4940,18 @@
"" ""
"* "*
{ {
if (GET_CODE (operands[1]) == REG)
{
#ifndef USING_SVR4_H #ifndef USING_SVR4_H
return \"{brl|blrl}\;{l|lwz} 2,20(1)\"; if (GET_CODE (operands[1]) == REG)
#else return \"{brl|blrl}\;{l|lwz} 2,20(1)\";
return \"{brl|blrl}\";
#endif
}
return \"bl %z1\;%.\"; return \"bl %z1\;%.\";
#else
if (GET_CODE (operands[1]) == REG)
return \"{brl|blrl}\";
return \"bl %z1\";
#endif
}" }"
[(set_attr "length" "8")]) [(set_attr "length" "8")])
......
...@@ -24,11 +24,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -24,11 +24,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define MASK_NO_BITFIELD_TYPE 0x40000000 /* Set PCC_BITFIELD_TYPE_MATTERS to 0 */ #define MASK_NO_BITFIELD_TYPE 0x40000000 /* Set PCC_BITFIELD_TYPE_MATTERS to 0 */
#define MASK_STRICT_ALIGN 0x20000000 /* Set STRICT_ALIGNMENT to 1. */ #define MASK_STRICT_ALIGN 0x20000000 /* Set STRICT_ALIGNMENT to 1. */
#define MASK_RELOCATABLE 0x10000000 /* GOT pointers are PC relative */ #define MASK_RELOCATABLE 0x10000000 /* GOT pointers are PC relative */
#define MASK_NO_TRACEBACK 0x08000000 /* eliminate traceback words */
#define TARGET_NO_BITFIELD_TYPE (target_flags & MASK_NO_BITFIELD_TYPE) #define TARGET_NO_BITFIELD_TYPE (target_flags & MASK_NO_BITFIELD_TYPE)
#define TARGET_BITFIELD_TYPE (! TARGET_NO_BITFIELD_TYPE) #define TARGET_BITFIELD_TYPE (! TARGET_NO_BITFIELD_TYPE)
#define TARGET_STRICT_ALIGN (target_flags & MASK_STRICT_ALIGN) #define TARGET_STRICT_ALIGN (target_flags & MASK_STRICT_ALIGN)
#define TARGET_RELOCATABLE (target_flags & MASK_RELOCATABLE) #define TARGET_RELOCATABLE (target_flags & MASK_RELOCATABLE)
#define TARGET_NO_TRACEBACK (target_flags & MASK_NO_TRACEBACK)
#define TARGET_TRACEBACK (! TARGET_NO_TRACEBACK)
#undef SUBTARGET_SWITCHES #undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \ #define SUBTARGET_SWITCHES \
...@@ -37,7 +40,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -37,7 +40,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
{ "strict-align", MASK_STRICT_ALIGN }, \ { "strict-align", MASK_STRICT_ALIGN }, \
{ "no-strict-align", -MASK_STRICT_ALIGN }, \ { "no-strict-align", -MASK_STRICT_ALIGN }, \
{ "relocatable", MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC }, \ { "relocatable", MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC }, \
{ "no-relocatable", -MASK_RELOCATABLE }, { "no-relocatable", -MASK_RELOCATABLE }, \
{ "traceback", -MASK_NO_TRACEBACK }, \
{ "no-traceback", MASK_NO_TRACEBACK },
#include "rs6000/powerpc.h" #include "rs6000/powerpc.h"
...@@ -214,7 +219,8 @@ extern int rs6000_pic_labelno; ...@@ -214,7 +219,8 @@ extern int rs6000_pic_labelno;
putc (',', FILE); \ putc (',', FILE); \
fprintf (FILE, TYPE_OPERAND_FMT, "function"); \ fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
putc ('\n', FILE); \ putc ('\n', FILE); \
svr4_traceback (FILE, NAME, DECL); \ if (TARGET_TRACEBACK) \
svr4_traceback (FILE, NAME, DECL); \
ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \
ASM_OUTPUT_LABEL(FILE, NAME); \ ASM_OUTPUT_LABEL(FILE, NAME); \
} while (0) } while (0)
......
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