This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: glibc2.1 [offtopic]
- To: law at cygnus dot com
- Subject: Re: glibc2.1 [offtopic]
- From: hjl at lucon dot org (H.J. Lu)
- Date: Tue, 16 Feb 1999 06:53:57 -0800 (PST)
- Cc: egcs at egcs dot cygnus dot com
> > incompatibilities.
> >
> > The patch that should be in 1.1.2 is the weak symbols in crtbegin patch.
> Can you please forward the "weak symbols" and "crtbegin" patch to me? I
Here it is.
> assume this is something that is already in the mainline tree, right?
>
No. But I thought it should :-).
--
H.J. Lu (hjl@gnu.org)
----
Fri Dec 11 08:00:57 1998 H.J. Lu (hjl@gnu.org)
* crtstuff.c (__register_frame_info, __deregister_frame_info):
If SUPPORTS_WEAK is none zero, make them weak and check if they
are none-zero before calling them.
--- ../../../import/egcs/gcc/crtstuff.c Tue Jul 14 07:16:05 1998
+++ ./crtstuff.c Fri Dec 11 08:59:56 1998
@@ -80,6 +80,11 @@
#endif
#if !defined (EH_FRAME_SECTION_ASM_OP) && defined (DWARF2_UNWIND_INFO) && defined(ASM_OUTPUT_SECTION_NAME)
#define EH_FRAME_SECTION_ASM_OP ".section\t.eh_frame,\"aw\""
+
+#if SUPPORTS_WEAK
+#pragma weak __register_frame_info
+#pragma weak __deregister_frame_info
+#endif
#endif
#ifdef OBJECT_FORMAT_ELF
@@ -142,7 +147,10 @@
}
#ifdef EH_FRAME_SECTION_ASM_OP
- __deregister_frame_info (__EH_FRAME_BEGIN__);
+#if SUPPORTS_WEAK
+ if (__deregister_frame_info)
+#endif
+ __deregister_frame_info (__EH_FRAME_BEGIN__);
#endif
completed = 1;
}
@@ -170,7 +178,10 @@
frame_dummy ()
{
static struct object object;
- __register_frame_info (__EH_FRAME_BEGIN__, &object);
+#if SUPPORTS_WEAK
+ if (__register_frame_info)
+#endif
+ __register_frame_info (__EH_FRAME_BEGIN__, &object);
}
static void __attribute__ ((__unused__))
@@ -254,7 +265,10 @@
(*p) ();
#ifdef EH_FRAME_SECTION_ASM_OP
- __deregister_frame_info (__EH_FRAME_BEGIN__);
+#if SUPPORTS_WEAK
+ if (__deregister_frame_info)
+#endif
+ __deregister_frame_info (__EH_FRAME_BEGIN__);
#endif
}
@@ -266,7 +280,10 @@
__frame_dummy ()
{
static struct object object;
- __register_frame_info (__EH_FRAME_BEGIN__, &object);
+#if SUPPORTS_WEAK
+ if (__register_frame_info)
+#endif
+ __register_frame_info (__EH_FRAME_BEGIN__, &object);
}
#endif
#endif