diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-04 00:15:42 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-04 00:15:42 +0000 |
commit | 8bdf23ae810238b3a11f4af286b4a3772fb7244f (patch) | |
tree | 7f137e56cfc324eb4fa83beb9e5fe8ca4d670570 /gcc/config/t-libunwind-elf | |
parent | aa2294444e9bdb7c4401be3f76b2d06183b59f27 (diff) | |
download | gcc-8bdf23ae810238b3a11f4af286b4a3772fb7244f.tar.gz |
2004-09-03 H.J. Lu <hongjiu.lu@intel.com>
PR target/14925:
Makefile.in (LIB2ADDEHSTATIC): New.
(LIB2ADDEHSHARED): New.
(LIBUNWIND): New.
(LIBUNWINDDEP): New.
(SHLIBUNWIND_LINK): New.
(SHLIBUNWIND_INSTALL): New.
(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
(clean): Remove libunwind*
(stage1-start): Remove and copy stage1/libunwind*.
(stage2-start): Remove and copy stage2/libunwind*.
(stage3-start): Remove and copy stage3/libunwind*.
(stage4-start): Remove and copy stage4/libunwind*.
(stageprofile-start): Remove and copy stageprofile/libunwind*.
(stagefeedback-start): Remove and copy stagefeedback/libunwind*.
* config.gcc (ia64*-*-linux*): Always add t-libunwind to
tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
tmake_file if --with-system-libunwind isn't used.
* config/ia64/t-glibc-libunwind: New file.
* config/t-libunwind-elf: Likewise.
* unwind-compat.c: Likewise.
* unwind-compat.h: Likewise.
* unwind-dw2-fde-compat.c: Likewise.
* config/ia64/t-glibc (LIB2ADDEH): Updated.
* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
aliases if needed.
* unwind-dw2-fde-glibc.c: Likewise.
* unwind-dw2.c: Likewise.
* config/t-libunwind (LIB2ADDEH): Updated.
(LIB2ADDEHSTATIC): New.
(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
* configure.ac: Change --enable-libunwind-exceptions to
--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
* configure: Regenerated.
* config.in: Updated.
* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
above and mention --with-system-libunwind.
(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
removed in gcc 3.4.3 and later.
* gcc.c (init_spec): Add -lunwind to -lgcc_s if
USE_LIBUNWIND_EXCEPTIONS is defined.
* mklibgcc.in: Support libunwind.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87066 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/t-libunwind-elf')
-rw-r--r-- | gcc/config/t-libunwind-elf | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/config/t-libunwind-elf b/gcc/config/t-libunwind-elf new file mode 100644 index 00000000000..ac94fac4ab0 --- /dev/null +++ b/gcc/config/t-libunwind-elf @@ -0,0 +1,26 @@ +# Build libunwind for ELF with the GNU linker. + +# Use unwind-dw2-fde-glibc +LIBUNWIND = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c +LIBUNWINDDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c + +SHLIBUNWIND_SOVERSION = 7 +SHLIBUNWIND_SONAME = @shlib_so_name@.so.$(SHLIBUNWIND_SOVERSION) +SHLIBUNWIND_NAME = @shlib_dir@@shlib_so_name@.so.$(SHLIBUNWIND_SOVERSION) + +SHLIBUNWIND_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared \ + -nodefaultlibs -Wl,-h,$(SHLIBUNWIND_SONAME) \ + -Wl,-z,text -Wl,-z,defs \ + -o $(SHLIBUNWIND_NAME) @multilib_flags@ $(SHLIB_OBJS) -lc && \ + rm -f $(SHLIB_SOLINK) && \ + $(LN_S) $(SHLIBUNWIND_NAME) $(SHLIB_SOLINK) + +# $(slibdir) double quoted to protect it from expansion while building +# libgcc.mk. We want this delayed until actual install time. +SHLIBUNWIND_INSTALL = \ + $$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \ + $(INSTALL_DATA) $(SHLIBUNWIND_NAME) \ + $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIBUNWIND_SONAME); \ + rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \ + $(LN_S) $(SHLIBUNWIND_SONAME) \ + $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) |