aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/mips/iris6.h4
-rw-r--r--gcc/crtstuff.c18
-rw-r--r--gcc/gcc.14
-rw-r--r--gcc/gcc.texi2
-rw-r--r--gcc/version.c2
6 files changed, 27 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 46407cb2943..ebaff2d7969 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
+ Jeffrey A Law (law@cygnus.com)
+
+ * crtstuff.c (__frame_dummy): New function for irix6.
+ (__do_global_ctors): Call __frame_dummy for irix6.
+ * iris6.h (LINK_SPEC): Hide __frame_dummy too.
+
Wed Dec 24 23:03:42 1997 Jim Wilson (wilson@cygnus.com)
* mips.c (mips_expand_epilogue): Emit blockage insn before call to
diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
index 86746d11e84..109546e60c2 100644
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Iris version 6.
- Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1995, 1996, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -542,5 +542,5 @@ do { \
%{!static: \
%{!shared: %{!non_shared: %{!call_shared: -call_shared -no_unresolved}}}} \
%{rpath} -init __do_global_ctors -fini __do_global_dtors \
-%{shared:-hidden_symbol __do_global_ctors,__do_global_dtors,__EH_FRAME_BEGIN__} \
+%{shared:-hidden_symbol __do_global_ctors,__do_global_dtors,__EH_FRAME_BEGIN__,__frame_dummy} \
-_SYSTYPE_SVR4 %{mabi=32: -32}%{mabi=n32: -n32}%{mabi=64: -64} %{!mabi*: -n32}"
diff --git a/gcc/crtstuff.c b/gcc/crtstuff.c
index 7e3c3edb25a..ef683a199d9 100644
--- a/gcc/crtstuff.c
+++ b/gcc/crtstuff.c
@@ -1,6 +1,6 @@
/* Specialized bits of code needed to support construction and
destruction of file-scope objects in C++ code.
- Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@monkeys.com).
This file is part of GNU CC.
@@ -257,6 +257,18 @@ __do_global_dtors ()
__deregister_frame_info (__EH_FRAME_BEGIN__);
#endif
}
+
+#ifdef EH_FRAME_SECTION_ASM_OP
+/* Define a function here to call __register_frame. crtend.o is linked in
+ after libgcc.a, and hence can't call libgcc.a functions directly. That
+ can lead to unresolved function references. */
+void
+__frame_dummy ()
+{
+ static struct object object;
+ __register_frame_info (__EH_FRAME_BEGIN__, &object);
+}
+#endif
#endif
#endif /* defined(INIT_SECTION_ASM_OP) */
@@ -387,15 +399,13 @@ __do_global_ctors_aux () /* prologue goes in .text section */
/* This case is used by the Irix 6 port, which supports named sections but
not an SVR4-style .init section. __do_global_ctors can be non-static
in this case because we protect it with -hidden_symbol. */
-extern char __EH_FRAME_BEGIN__[];
static func_ptr __CTOR_END__[];
void
__do_global_ctors ()
{
func_ptr *p;
#ifdef EH_FRAME_SECTION_ASM_OP
- static struct object object;
- __register_frame_info (__EH_FRAME_BEGIN__, &object);
+ __frame_dummy ();
#endif
for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--)
(*p) ();
diff --git a/gcc/gcc.1 b/gcc/gcc.1
index 4b6ccd3a2e4..10422c2ea03 100644
--- a/gcc/gcc.1
+++ b/gcc/gcc.1
@@ -20,10 +20,10 @@
.if n .sp
.if t .sp 0.4
..
-.Id $Id: gcc.1,v 1.1.1.1 1997/08/11 15:57:07 law Exp $
+.Id $Id: gcc.1,v 1.1.1.1.2.1 1997/12/03 08:07:52 law Exp $
.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools"
.SH NAME
-gcc, g++ \- GNU project C and C++ Compiler (egcs-1.0)
+gcc, g++ \- GNU project C and C++ Compiler (egcs-1.0.1)
.SH SYNOPSIS
.B gcc
.RI "[ " option " | " filename " ].\|.\|."
diff --git a/gcc/gcc.texi b/gcc/gcc.texi
index 99887cdd661..5072b86e1ef 100644
--- a/gcc/gcc.texi
+++ b/gcc/gcc.texi
@@ -148,7 +148,7 @@ original English.
@sp 1
@c The version number appears twice more in this file.
-@center for egcs-1.0
+@center for egcs-1.0.1
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1988, 89, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
diff --git a/gcc/version.c b/gcc/version.c
index f04d3c87512..b91ba861425 100644
--- a/gcc/version.c
+++ b/gcc/version.c
@@ -1 +1 @@
-char *version_string = "egcs-2.90.22 971220 (egcs-1.01 beta)";
+char *version_string = "egcs-2.90.23 980102 (egcs-1.0.1 release)";