• ro's avatar
    Move shlib support to toplevel libgcc · a997b0d8
    ro authored
    	gcc:
    	PR translation/45116
    	* Makefile.in (slibdir): Remove, don't export.
    	(SHLIB_NM_FLAGS): Remove.
    	(libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL,
    	SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS,
    	SHLIB_MAPFILES, SHLIB_NM_FLAGS.
    	(DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK.
    	(gcc.o): Pass SHLIB instead of SHLIB_LINK.
    	(gccspec.o): Likewise.
    	(installdirs): Don't create $(DESTDIR)$(slibdir).
    	* configure.ac (slibdir): Remove.
    	* configure: Regenerate.
    	* libgcc-libsystem.ver: Move to ../libgcc/config.
    	* mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc.
    	* config/libgcc-glibc.ver: Move to ../libgcc/config.
    	* config/t-libunwind (SHLIB_LC): Remove.
    	* config/t-linux (SHLIB_MAPFILES): Remove.
    	* config/t-slibgcc-dummy: Rename to config/t-slibgcc.
    	* config/t-slibgcc-elf-ver: Remove.
    	* config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to
    	../libgcc/config.
    	* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move
    	to ../libgcc/config/alpha.
    	* config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
    	SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC,
    	SHLIB_SYMVECX2, SHLIB_LINK): Remove.
    	* config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm.
    	* config/arm/t-bpabi (SHLIB_MAPFILES): Remove.
    	* config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME,
    	SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove.
    	* config/arm/t-symbian (SHLIB_LC): Remove.
    	* config/bfin/libgcc-bfin.ver: Move to
    	../libgcc/config/bfin/libgcc-glibc.ver.
    	* config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove.
    	* config/c6x/libgcc-c6xeabi.ver: Move to
    	../libgcc/config/c6x/libgcc-eabi.ver.
    	* config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove.
    	* config/cris/libgcc.ver: Move to
    	../libgcc/config/cris/libgcc-glibc.ver.
    	* config/cris/t-linux (SHLIB_MAPFILES): Remove.
    	* config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv.
    	* config/frv/t-linux (SHLIB_MAPFILES): Remove.
    	* config/i386/darwin-libgcc.10.4.ver: Move to
    	../libgcc/config/i386/libgcc-darwin.10.4.ver.
    	* config/i386/darwin-libgcc.10.5.ver: Move to
    	../libgcc/config/i386/libgcc-darwin.10.5.ver.
    	* config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386.
    	* config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION,
    	SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL)
    	SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK,
    	SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES):
    	Remove.
    	* config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION,
    	SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove.
    	* config/i386/t-dlldir, config/i386/t-dlldir-x: Move to
    	../libgcc/config/i386.
    	* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to
    	../libgcc/config/i386.
    	* config/i386/t-linux: Move to ../libgcc/config/i386.
    	* config/i386/t-mingw-pthread: Move to ../libgcc/config/i386.
    	* config/i386/t-mingw-w32 (SHLIB_LC): Remove.
    	* config/i386/t-mingw-w64: Likewise.
    	* config/i386/t-mingw32: Remove.
    	* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move
    	to ../libgcc/config/ia64.
    	* config/ia64/t-glibc: Remove.
    	* config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove.
    	* config/ia64/t-ia64 (SHLIB_MAPFILES): Remove.
    	* config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
    	SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove.
    	* config/ia64/vms_symvec_libgcc_s.opt: Remove.
    	* config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r.
    	* config/m32r/t-linux (SHLIB_MAPFILES): Remove.
    	* config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k.
    	* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove.
    	* config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux.
    	* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver:
    	Move to ../libgcc/config/pa.
    	* config/rs6000/darwin-libgcc.10.4.ver: Move to
    	../libgcc/config/rs6000/libgcc-darwin.10.4.ver.
    	* config/rs6000/darwin-libgcc.10.5.ver: Move to
    	../libgcc/config/rs6000/libgcc-darwin.10.5.ver.
    	* config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL,
    	SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove.
    	* config/rs6000/t-aix52: Likewise.
    	* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to
    	../libgcc/config/sh.
    	* config/sparc/libgcc-sparc-glibc.ver: Move to
    	../libgcc/config/sparc/libgcc-glibc.ver.
    	* config/sparc/t-linux: Move to ../libgcc/config/sparc.
    	* config/xtensa/t-linux (SHLIB_MAPFILES): Remove.
    	* config/xtensa/libgcc-xtensa.ver: Move to
    	../libgcc/config/xtensa/libgcc-glibc.ver.
    	* config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with
    	t-slibgcc in tmake_file.
    	Remove t-slibgcc-nolc-override for *-*-freebsd[34],
    	*-*-freebsd[34].* with pthreads.
    	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu,
    	*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace
    	t-slibgcc-elf-ver with t-slibgcc in tmake_file.
    	(*-*-netbsd*): Likewise.
    	(*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file.
    	(*-*-*vms*): Add t-slibgcc to tmake_file.
    	(alpha*-*-linux*): Remove alpha/t-linux from tmake_file.
    	(alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in
    	tmake_file.
    	(arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
    	arm*-*-linux-*eabi.
    	(bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
    	tmake_file.
    	(crisv32-*-linux*, cris-*-linux*): Likewise.
    	(hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
    	pa/t-slibgcc-dwarf-ver from tmake_file.
    	(hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in
    	tmake_file.
    	Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file.
    	(hppa*64*-*-hpux11*): Likewise.
    	(hppa[12]*-*-hpux11*): Likewise.
    	(i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in
    	tmake_file.
    	(x86_64-*-darwin*): Likewise.
    	(i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file.
    	Add t-slibgcc to tmake_file.
    	(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
    	Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*,
    	i[34567]86-w64-*.
    	Remove i386/t-mingw-pthread from tmake_file.
    	(ia64*-*-linux*): Remove ia64/t-glibc from tmake_file.
    	(ia64*-*-hpux*): Add t-slibgcc to tmake_file.
    	(ia64-hp-*vms*): Likewise.
    	(m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in
    	tmake_file.
    	(m32rle-*-linux*): Likewise.
    	(m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file.
    	(microblaze*-linux*): Remove t-slibgcc-elf-ver,
    	t-slibgcc-nolc-override from tmake_file.
    	(mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in
    	tmake_file.
    	(powerpc-*-darwin*): Likewise.
    	(powerpc64-*-darwin*): Likewise.
    	(powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file.
    	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
    	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
    	t-slibgcc to tmake_file.
    	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
    	(rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise.
    	(rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise.
    	(rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise.
    	(sparc-*-linux*): Remove sparc/t-linux from tmake_file.
    	(sparc64-*-linux*): Likewise.
    	(tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in
    	tmake_file.
    	(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu,
    	x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux
    	from tmake_file.
    
    	gcc/cp:
    	* Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK.
    
    	gcc/fortran:
    	* Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.
    
    	gcc/go:
    	* Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
    
    	gcc/java:
    	* Make-lang.in (jvspec.o): Pass SHLIB instead of SHLIB_LINK.
    
    	libgcc:
    	* Makefile.in (SHLIB_NM_FLAGS): Set.
    	* mkmap-flat.awk, mkmap-symver.awk: New files.
    	* configure.ac (libgcc_cv_lib_sjlj_exceptions): Check for SjLj
    	exceptions.
    	* configure: Regenerate.
    	* config/libgcc-glibc.ver: New file.
    	* config/libgcc-libsystem.ver: New file.
    	* config/t-libunwind (SHLIB_LC): Set.
    	* config/t-linux: New file.
    	* config/t-slibgcc (INSTALL_SHLIB): New.
    	(SHLIB_INSTALL): Use it.
    	* config/t-slibgcc-darwin (SHLIB_MKMAP): Use $(srcdir) to refer
    	to mkmap-symver.awk.
    	(SHLIB_MAPFILES): Don't append, adapt pathname.
    	(SHLIB_VERPFX): Set.
    	* config/t-slibgcc-elf-ver (SHLIB_MKMAP): Use $(srcdir) to refer
    	to mkmap-symver.awk.
    	* config/t-slibgcc-gld-nover, config/t-slibgcc-hpux,
    	config/t-slibgcc-libgcc, config/t-slibgcc-vms: New files.
    	* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: New files.
    	* config/alpha/t-slibgcc-osf (SHLIB_MKMAP): Use $(srcdir) to refer
    	to mkmap-flat.awk.
    	* config/arm/t-bpabi (SHLIB_MAPFILES): Set.
    	* config/bfin/libgcc-glibc.ver, config/bfin/t-linux: New files.
    	* config/c6x/libgcc-eabi.ver, config/c6x/t-elf: New files.
    	* config/cris/libgcc-glibc.ver, config/cris/t-linux: New files.
    	* config/frv/libgcc-frv.ver, config/frv/t-linux: New files.
    	* config/i386/libgcc-darwin.10.4.ver,
    	config/i386/libgcc-darwin.10.5.ver, config/i386/libgcc-glibc.ver:
    	New files.
    	* config/i386/t-darwin: Remove.
    	* config/i386/t-darwin64: Likewise.
    	* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: New files.
    	* config/i386/t-slibgcc-cygming, config/i386/t-cygwin,
    	config/i386/t-dlldir, config/i386/t-dlldir-x: New files.
    	* config/i386/t-linux: New file.
    	* config/i386/t-mingw32: New file.
    	* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: New files.
    	* config/ia64/t-glibc: Rename to ...
    	* config/ia64/t-linux: ... this.
    	(SHLIB_MAPFILES): Set.
    	* config/ia64/t-glibc-libunwind: Rename to ...
    	* config/ia64/t-linux-libunwind: ... this.
    	* config/ia64/t-ia64 (SHLIB_MAPFILES): Set.
    	* config/ia64/t-slibgcc-hpux: New file.
    	* config/m32r/libgcc-glibc.ver, config/m32r/t-linux: New files.
    	* config/m68k/t-slibgcc-elf-ver: New file.
    	* config/mips/t-mips16 (SHLIB_MAPFILES): Set.
    	* config/mips/t-slibgcc-irix (SHLIB_MKMAP): Use $(srcdir) to refer
    	to mkmap-flat.awk.
    	* config/pa/t-slibgcc-hpux: New file.
    	* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver: New
    	files.
    	* config/rs6000/libgcc-darwin.10.4.ver,
    	config/rs6000/libgcc-darwin.10.5.ver: New files.
    	* config/rs6000/libgcc-ppc-glibc.ver: Rename to
    	config/rs6000/libgcc-glibc.ver.
    	* config/rs6000/libgcc-ppc64.ver: Rename to
    	config/rs6000/libgcc-ibm-ldouble.ver.
    	* config/rs6000/t-darwin (SHLIB_VERPFX): Remove.
    	* config/rs6000/t-ibm-ldouble (SHLIB_MAPFILES): Adapt filename.
    	* config/rs6000/t-ldbl128: Rename to ...
    	* config/rs6000/t-linux: ... this.
    	(SHLIB_MAPFILES): Adapt filename.
    	* config/rs6000/t-slibgcc-aix: New file.
    	* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: New files.
    	* config/sh/t-linux (SHLIB_MAPFILES): Use $(srcdir) to refer to
    	libgcc-excl.ver, libgcc-glibc.ver.
    	(SHLIB_LINK, SHLIB_INSTALL): Remove.
    	* config/sparc/libgcc-glibc.ver: New file.
    	* config/sparc/t-linux: New file.
    	* config/xtensa/libgcc-glibc.ver, config/xtensa/t-linux: New files.
    	* config.host (*-*-freebsd*): Add t-slibgcc, t-slibgcc-gld,
    	t-slibgcc-elf-ver to tmake_file.
    	Add t-slibgcc-nolc-override to tmake_file for posix threads on
    	*-*-freebsd[34].
    	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
    	*-*-gnu*, *-*-kopensolaris*-gnu): Add t-slibgcc, t-slibgcc-gld,
    	t-slibgcc-elf-ver, t-linux to tmake_file.
    	(*-*-netbsd*): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to
    	tmake_file.
    	(alpha*-*-linux*): Add alpha/t-linux to tmake_file.
    	(alpha64-dec-*vms*): Add t-slibgcc-vms to tmake_file.
    	(alpha*-dec-*vms*): Likewise.
    	(arm*-*-freebsd*): Append to tmake_file.
    	(arm*-*-netbsdelf*): Add t-slibgcc-gld-nover to tmake_file.
    	(arm*-*-linux*): Add t-slibgcc-libgcc to tmake_file for
    	arm*-*-linux-*eabi.
    	(arm*-*-eabi*, arm*-*-symbianelf*): Add t-slibgcc-nolc-override to
    	tmake_file for arm*-*-symbianelf*.
    	(bfin*-linux-uclibc*): Append to tmake_file, add bfin/t-linux.
    	(cris-*-linux*, crisv32-*-linux*): Append to tmake_file, add
    	cris/t-linux.
    	(frv-*-*linux*): Append to tmake_file, add frv/t-linux.
    	(hppa*-*-linux*): Add t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
    	pa/t-slibgcc-dwarf-ver to tmake_file.
    	(hppa[12]*-*-hpux10*): Add t-slibgcc, pa/t-slibgcc-sjlj-ver,
    	pa/t-slibgcc-dwarf-ver, t-slibgcc-hpux, pa/t-slibgcc-hpux to tmake_file.
    	(hppa*64*-*-hpux11*): Likewise.
    	(hppa[12]*-*-hpux11*): Likewise.
    	(x86_64-*-darwin*): Don't override tmake_file, but only keep
    	i386/t-crtpc, i386/t-crtfm.
    	(i[34567]86-*-cygwin*): Set tmake_eh_file, tmake_dlldir_file.
    	Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
    	to tmake_file.
    	Add i386/t-cygwin to tmake_file.
    	Prepent i386/t-mingw-pthread to tmake_file for posix threads.
    	(i[34567]86-*-mingw*): Set tmake_eh_file, tmake_dlldir_file.
    	Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
    	to tmake_file.
    	Add i386/t-mingw32 to tmake_file.
    	(x86_64-*-mingw*): Likewise.
    	(ia64*-*-freebsd*): Append to tmake_file.
    	(ia64*-*-linux*): Append to tmake_file.
    	Replace ia64/t-glibc by ia64/t-linux.
    	Replace ia64/t-glibc-libunwind by ia64/t-linux-libunwind if using
    	system libunwind.
    	(ia64*-*-hpux*): Add t-slibgcc, ia64/t-slibgcc-hpux,
    	t-slibgcc-hpux to tmake_file.
    	(ia64-hp-*vms*): Add t-slibgcc-vms to tmake_file.
    	(m32r-*-linux*): Append to tmake_file, add m32r/t-linux.
    	(m32rle-*-linux*): Likewise.
    	(m68k-*-linux*)): Add m68k/t-slibgcc-elf-ver to tmake_file unless
    	sjlj exceptions.
    	(microblaze*-linux*): New case.
    	Append to tmake_file, add t-slibgcc-nolc-override.
    	(powerpc-*-freebsd*): Add t-slibgcc-libgcc to tmake_file.
    	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
    	Replace rs6000/t-ldbl128 by rs6000/t-linux in tmake_file.
    	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
    	rs6000/t-slibgcc-aix to tmake_file.
    	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
    	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
    	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
    	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
    	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
    	(sh64l*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file for
    	sh*-*-linux*.
    	(sparc-*-linux*): Append to tmake_file for *-leon*.
    	Add sparc/t-linux to tmake_file for non-Leon targets.
    	(sparc64-*-linux*): Add sparc/t-linux to tmake_file.
    	(tic6x-*-uclinux): New case.
    	Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file.
    	(tic6x-*-*): Add c6x/t-elf to tmake_file.
    	(xtensa*-*-linux*): Append to tmake_file, add xtensa/t-linux.
    	(am33_2.0-*-linux*): Append to tmake_file.
    	(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
    	(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Also handle
    	x86_64-*-kfreebsd*-gnu.
    	Add i386/t-linux to tmake_file.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180767 138bc75d-0d04-0410-961f-82ee72b054a4
    a997b0d8
t-netbsd 1.01 KB