This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: Putting gcc v2 and v3 fame unwind support in glibc


On Thu, Jul 05, 2001 at 09:52:41PM +0200, Jakub Jelinek wrote:
> 
> It IMHO must work (although one cannot mix pre-G++ 3.0 and G++ 3.0 C++
> libraries together, one should be able to mix G++ 3.0 C++ libraries with
> pre-GCC 3.0 C libraries and vice versa, and C libraries can have unwinding
> info). So it needs to be debugged why it cannot find it.

Here is the patch I think should do the job. I borrowed the code
from gcc 3.0.1 and gcc 2.96. I wind up with putting the frame
support into glibc so that

1. It supports mixed g++ v2 and v3 frames.
2. It is gcc version independent.

One benefit of this is we can take advantage of the features of glibc.
My only wish is glibc and gcc can share as much code as possible.


H.J.
---

2001-07-06  H.J. Lu  <hjl@gnu.org>

	* Versions.def (libc): Add GCC_3.0.

	* sysdeps/unix/sysv/linux/Versions (libc): Add _Unwind_Find_FDE,
	__register_frame_info_bases, __deregister_frame_info_bases and
	__register_frame_info_table_bases to version GCC_3.0.

	* sysdeps/generic/dwarf2.h: New file.
	* sysdeps/generic/frame-dwarf2.c: Likewise.
	* sysdeps/generic/unwind-dw2-fde.c: Likewise.
	* sysdeps/generic/unwind-dw2-fde.h: Likewise.
	* sysdeps/generic/unwind-dw2.c: Likewise.
	* sysdeps/generic/unwind-pe.h: Likewise.
	* sysdeps/generic/unwind.h: Likewise.
	* sysdeps/alpha/gccframe.h: Likewise.
	* sysdeps/arm/gccframe.h: Likewise.
	* sysdeps/i386/gccframe.h: Likewise.
	* sysdeps/m68k/gccframe.h: Likewise.
	* sysdeps/mips/gccframe.h: Likewise.
	* sysdeps/powerpc/gccframe.h: Likewise.
	* sysdeps/s390/s390-32/gccframe.h: Likewise.
	* sysdeps/sparc/gccframe.h: Likewise.

	* sysdeps/generic/gccframe.h: Updated.

	* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Add
	frame-dwarf2, unwind-dw2 and unwind-dw2-fde for elf if
	$(build-shared) is yes.
	(shared-only-routines): Likewise.
	* sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Makefile: Likewise.

glibc-gcc.patch.gz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]