framestate.c vs --enable-oldest-abi=2.2.5

Roland McGrath roland@frob.com
Wed Mar 20 16:28:00 GMT 2002


To build with --enable-oldest-abi=2.2.5 (which in Hurd configurations is
implied by --enable-libio, and will be the default for 2.3), I seem to need
the following change to avoid every dynamic and -shared link in the build
failing.  Is this right?  I am assuming that for the no-compatibility case,
this stuff is supposed to just come from -lgcc; but is that in fact the plan?

With this change the build mostly works, but static linking (of sln) fails
due to undefined __register_frame_info_bases and
__deregister_frame_info_bases referenced by gcc's crtbegin.o.  Is that just
a problem in my gcc installation?  (I built this gcc from cvs last week.)
Or am I confused about what should be happening here?

I complained about this lossage before and got absolute silence.  Jakub,
can you please look at this or at least give me the capsule summary of what
the picture is supposed to look like for a no-compatibility configuration
using just libc 2.2.x and gcc 3.x?


Thanks,
Roland



2002-03-20  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/framestate.c [EXPORT_UNWIND_FIND_FDE]:
	Conditionalize contents on this.

Index: framestate.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/framestate.c,v
retrieving revision 1.1
diff -u -b -p -r1.1 framestate.c
--- framestate.c	2001/11/16 01:16:54	1.1
+++ framestate.c	2002/03/21 00:21:44
@@ -1,5 +1,5 @@
 /* __frame_state_for unwinder helper function wrapper.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
 
@@ -18,6 +18,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#if EXPORT_UNWIND_FIND_FDE
+
 #include <dlfcn.h>
 #include <stdlib.h>
 #define __frame_state_for fallback_frame_state_for
@@ -45,3 +47,5 @@ __frame_state_for (void *pc, struct fram
 
   return frame_state_for (pc, frame_state);
 }
+
+#endif



More information about the Libc-hacker mailing list