diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-09-20 13:08:07 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-09-20 13:08:07 -0700 |
commit | b696ee6b889c9c2c385cc759fe86019850f522ab (patch) | |
tree | ee269eee1153186cf01f888e50247c6ff767381d /gcc | |
parent | 4480e13f5e5133cb604d0ce893d6935c1e7b6033 (diff) | |
download | gcc-b696ee6b889c9c2c385cc759fe86019850f522ab.zip gcc-b696ee6b889c9c2c385cc759fe86019850f522ab.tar.gz gcc-b696ee6b889c9c2c385cc759fe86019850f522ab.tar.bz2 |
(ASM_OUTPUT_UNDEF_FUNCTION): Define.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
(ASM_DECLARE_FUNCTION_SIZE): Define.
From-SVN: r8100
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/mips/iris5.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/config/mips/iris5.h b/gcc/config/mips/iris5.h index 62703a1..5290136 100644 --- a/gcc/config/mips/iris5.h +++ b/gcc/config/mips/iris5.h @@ -110,3 +110,26 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ in the small data section if the user explicitly asks for it. */ #undef MIPS_DEFAULT_GVALUE #define MIPS_DEFAULT_GVALUE 0 + +/* In Irix 5, we must output a `.global name .text' directive for every used + but undefined function. If we don't, the linker may perform an optimization + (skipping over the insns that set $gp) when it is unsafe. This is used + indirectly by ASM_OUTPUT_EXTERNAL. */ +#define ASM_OUTPUT_UNDEF_FUNCTION(FILE, NAME) \ +do { \ + fputs ("\t.globl ", FILE); \ + assemble_name (FILE, NAME); \ + fputs (" .text\n", FILE); \ +} while (0) + +/* Also do this for libcalls. */ +#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ + mips_output_external_libcall (FILE, XSTR (FUN, 0)) + +/* This does for functions what ASM_DECLARE_OBJECT_NAME does for variables. + This is used indirectly by ASM_OUTPUT_EXTERNAL. */ +#define ASM_DECLARE_FUNCTION_SIZE(STREAM, NAME, DECL) \ +do { \ + tree name_tree = get_identifier (NAME); \ + TREE_ASM_WRITTEN (name_tree) = 1; \ +} while (0) |