diff options
author | Joshua Kinard <kumba@gentoo.org> | 2005-07-08 04:27:35 +0000 |
---|---|---|
committer | Joshua Kinard <kumba@gentoo.org> | 2005-07-08 04:27:35 +0000 |
commit | 493a253e07d7cea5ec8be8b893b49a2e056d4634 (patch) | |
tree | 449218eb86c049b4111a9fc60e4a185d500ce074 /sys-devel | |
parent | Stable on SPARC. (diff) | |
download | gentoo-2-493a253e07d7cea5ec8be8b893b49a2e056d4634.tar.gz gentoo-2-493a253e07d7cea5ec8be8b893b49a2e056d4634.tar.bz2 gentoo-2-493a253e07d7cea5ec8be8b893b49a2e056d4634.zip |
<`Kumba> btw
<`Kumba> egcs64-sparc able to be killed off?
<`Kumba> or do we still have some fringe users (like stuck out in montana fringe users) using that?
<Weeve> you've got to have an older 2.4 kernel for that to still work IIRC
<Weeve> smoke it, if they scream we can always put it back
* `Kumba giggles, and pulls out that tripod-mounted gatling plasma cannon
<Weeve> oh dear god, what have I done?!?!?!
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/egcs64-sparc/ChangeLog | 26 | ||||
-rw-r--r-- | sys-devel/egcs64-sparc/Manifest | 6 | ||||
-rw-r--r-- | sys-devel/egcs64-sparc/egcs64-sparc-19980921-r2.ebuild | 94 | ||||
-rw-r--r-- | sys-devel/egcs64-sparc/files/digest-egcs64-sparc-19980921-r2 | 1 | ||||
-rw-r--r-- | sys-devel/egcs64-sparc/files/egcs64_19980921-4-gentoo.diff | 16 | ||||
-rw-r--r-- | sys-devel/egcs64-sparc/files/egcs64_19980921-4.diff | 1476 | ||||
-rw-r--r-- | sys-devel/egcs64-sparc/metadata.xml | 12 |
7 files changed, 0 insertions, 1631 deletions
diff --git a/sys-devel/egcs64-sparc/ChangeLog b/sys-devel/egcs64-sparc/ChangeLog deleted file mode 100644 index 04a84d3c0c68..000000000000 --- a/sys-devel/egcs64-sparc/ChangeLog +++ /dev/null @@ -1,26 +0,0 @@ -# ChangeLog for sys-devel/egcs64-sparc -# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/egcs64-sparc/ChangeLog,v 1.11 2004/07/02 08:38:10 eradicator Exp $ - - 02 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> - egcs64-sparc-19980921-r2.ebuild: - virtual/glibc -> virtual/libc - - 16 Aug 2003; Jason Wever <weeve@gentoo.org> egcs64-sparc-19980921-r2.ebuild: - Ebuild updates and addition of metadata.xml - -*egcs64-sparc-19980921-r2 (15 Dec 2002) - - 15 Dec 2002, Rodney Rees <manson@gentoo.org> added repaired - ebuild - -*egcs64-sparc-19980921-r1 (09 Jul 2002) - - 14 Dec 2002; Jack Morgan <jmorgan@gentoo.org> egcs64-sparc-19980921-r1.ebuild : - Changed CHOST=sparc-unknown-linux-gnu from CHOST=-unknown-linux-gnu - - 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords - - 09 Jul 2002; Daniel Ahlberg <aliz@gentoo.org> ChangeLog : - Added ChangeLog. - diff --git a/sys-devel/egcs64-sparc/Manifest b/sys-devel/egcs64-sparc/Manifest deleted file mode 100644 index 0435358298d5..000000000000 --- a/sys-devel/egcs64-sparc/Manifest +++ /dev/null @@ -1,6 +0,0 @@ -MD5 c1ba164e83eae176d6c475c925905e62 egcs64-sparc-19980921-r2.ebuild 2886 -MD5 3c0ffa4f6ea427ecd46c62f19806d8e9 ChangeLog 940 -MD5 6fa9899d8b744646ed336b5aa15a0ebc metadata.xml 357 -MD5 2d0f7f21d1e920c882bdb3e12bbae018 files/egcs64_19980921-4.diff 50461 -MD5 22c983d001f437c0dd6d865ba1583a3d files/egcs64_19980921-4-gentoo.diff 519 -MD5 1fd384e9544a542c21bbc239029fa70a files/digest-egcs64-sparc-19980921-r2 74 diff --git a/sys-devel/egcs64-sparc/egcs64-sparc-19980921-r2.ebuild b/sys-devel/egcs64-sparc/egcs64-sparc-19980921-r2.ebuild deleted file mode 100644 index b3cab190a54b..000000000000 --- a/sys-devel/egcs64-sparc/egcs64-sparc-19980921-r2.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/egcs64-sparc/egcs64-sparc-19980921-r2.ebuild,v 1.6 2004/07/15 03:12:37 agriffis Exp $ - -EGCSDATE=`echo $P| sed -e 's/egcs64-sparc-\([0-9]*\).*/\1/'` -EGCSVER=2.92.11 -S=${WORKDIR}/egcs64-${EGCSDATE} -DESCRIPTION="compiler to build 64-bit kernels for sparc64 (ultrasparcs)." -SRC_URI="http://ftp.us.debian.org/debian/dists/stable/main/source/devel/egcs64_${EGCSDATE}.orig.tar.gz" -HOMEPAGE="http://www.rocklinux.de/projects/sparc/sparc.html" -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="-* sparc" -IUSE="" - -#RDEPEND="virtual/libc" -#MYCHOST=`echo $CHOST | sed 's/sparc-/-/'` -DEPEND="sys-devel/autoconf" - -MYPREFIX=/usr -MYCHOST=sparc64-unknown-linux-gnu - -# Reset CFLAGS, gcc doesn't want that stuff -CFLAGS="" -CXXFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS - -src_unpack() { - unpack ${A} - cat ${FILESDIR}/egcs64_${EGCSDATE}-4.diff | patch -p0 -l || die - cat ${FILESDIR}/egcs64_${EGCSDATE}-4-gentoo.diff | patch -p0 -l || die -} - -src_compile() { - unset CHOST - mkdir ${S}/build - cd ${S}/build - AR_FOR_TARGET=ar LIBGCC2_INCLUDES=-I/usr/include CC=gcc \ - ../configure \ - --prefix=${MYPREFIX} --mandir=${MYPREFIX}/share/man \ - --infodir=${MYPREFIX}/share/info --enable-shared \ - --enable-threads --enable-languages=c \ - --enable-version-specific-runtime-libs $MYCHOST || die - - #--prefix=${MYPREFIX} --with-local-prefix=${MYPREFIX}/local \ - # Fix a weird problem where TARGET_CONFIGDIRS gets populated with the wrong - # thing for a kernel crosscompiler. Need to investigate. - mv Makefile Makefile.tmp - sed -e 's/[ ]*TARGET_CONFIGDIRS[ ]*=.*/TARGET_CONFIGDIRS = /' Makefile.tmp \ - > Makefile - - # Now make - make \ - CFLAGS="-DHOST_WIDE_INT=long\ long -DHOST_BITS_PER_WIDE_INT=64" \ - LANGUAGES=c TARGET_CONFIGDIRS="" \ - cross || die - -} - -src_install() { - - cd ${S}/build - dodir /${MYPREFIX}/{bin,lib,local} /${MYPREFIX}/doc/egcs64-${EGCSDATE}/gcc - - cd gcc && make install \ - prefix=${D}/${MYPREFIX} local_prefix=${D}/${MYPREFIX}/local \ - includedir=${D}/${MYPREFIX}/local/include \ - CFLAGS='-DHOST_WIDE_INT=long\ long -DHOST_BITS_PER_WIDE_INT=64' \ - LANGUAGES=c || die - - cd ${D}/${MYPREFIX}/bin - rm gcc gcj - - cd ${S} - cp -a COPYING COPYING.LIB ChangeLog README MAINTAINERS \ - ${D}/${MYPREFIX}/doc/egcs64-${EGCSDATE} - cd gcc - cp -a BUGS INSTALL LANGUAGES LITERATURE NEWS PROBLEMS PROJECTS \ - README* SERVICE TESTS.FLUNK \ - ${D}/${MYPREFIX}/doc/egcs64-${EGCSDATE}/gcc - - # remove the stuff we don't need - - cd ${D}/${MYPREFIX} - rm -rf info man - cd ${D}/${MYPREFIX}/bin - mv sparc64-unknown-linux-gnu-gcc egcs-${EGCSVER} - ln -s egcs-${EGCSVER} sparc64-unknown-linux-gnu-gcc - ln -s egcs-${EGCSVER} sparc64-unknown-linux-gcc - ln -s egcs-${EGCSVER} sparc64-linux-gcc - ln -s egcs-${EGCSVER} gcc64 - ln -s egcs-${EGCSVER} egcs64 - ln -s egcs-${EGCSVER} cc64 -} diff --git a/sys-devel/egcs64-sparc/files/digest-egcs64-sparc-19980921-r2 b/sys-devel/egcs64-sparc/files/digest-egcs64-sparc-19980921-r2 deleted file mode 100644 index f4346fd0711a..000000000000 --- a/sys-devel/egcs64-sparc/files/digest-egcs64-sparc-19980921-r2 +++ /dev/null @@ -1 +0,0 @@ -MD5 23cb18feec1a72c1fbc562889575c62e egcs64_19980921.orig.tar.gz 12665426 diff --git a/sys-devel/egcs64-sparc/files/egcs64_19980921-4-gentoo.diff b/sys-devel/egcs64-sparc/files/egcs64_19980921-4-gentoo.diff deleted file mode 100644 index 8fed6641fb7d..000000000000 --- a/sys-devel/egcs64-sparc/files/egcs64_19980921-4-gentoo.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- egcs64-19980921.orig/Makefile.in -+++ egcs64-19980921/Makefile.in -1362,1363c1362,1363 -< echo "Building the C and C++ compiler"; \ -< cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" ---- -> echo "Building the C compiler"; \ -> cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c" -1365c1365 -< $(MAKE) all LANGUAGES="c c++" ---- -> $(MAKE) all LANGUAGES="c" -1395c1395 -< (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" install); \ ---- -> (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c" install); \ diff --git a/sys-devel/egcs64-sparc/files/egcs64_19980921-4.diff b/sys-devel/egcs64-sparc/files/egcs64_19980921-4.diff deleted file mode 100644 index c201f9536d5b..000000000000 --- a/sys-devel/egcs64-sparc/files/egcs64_19980921-4.diff +++ /dev/null @@ -1,1476 +0,0 @@ ---- egcs64-19980921.orig/gcc/ChangeLog -+++ egcs64-19980921/gcc/ChangeLog -@@ -1,3 +1,63 @@ -+Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> -+ -+ * config/sparc/sparc.c (function_value): Perform the equivalent of -+ PROMOTE_MODE for ARCH64. -+ (eligible_for_epilogue_delay): Allow DImode operations in delay -+ slot of a return for ARCH64. -+ -+Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com> -+ -+ * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define. -+ * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is -+ defined, emit libcall to __enable_execute_stack. Also fix opcodes -+ and offsets in actual stack trampoline code so they match the -+ commentary and actually work. -+ -+Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> -+ -+ * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for -+ tmake_file. -+ (sparc64-*-linux): Use t-linux and sparc/t-linux64 for -+ tmake_file. Set extra_parts to needed crt objects. -+ * configure: Rebuilt. -+ * config/sparc/linux64.h (SPARC_BI_ARCH): Define. -+ (TARGET_DEFAULT): Set if default is v9 or ultra. -+ (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros. -+ (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH. -+ (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise. -+ (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC, -+ LINK_SPEC, LINK_ARCH_SPEC): Likewise. -+ (TARGET_VERSION): Define. -+ (MULTILIB_DEFAULT): Define. -+ * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that -+ mixed 32/64 bit compilers based upon SPARC_BI_ARCH work. -+ (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define -+ appropriately. -+ (TARGET_SWITCHES): Allow ptr32/ptr64 options once more. -+ * config/sparc/sparc.c (sparc_override_options): If arch and -+ pointer size disagree, emit diagnostic and fix it up. If -+ SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off -+ V8PLUS in 64-bit mode. -+ * config/sparc/t-linux64: New file. -+ * config/sparc/t-sol2-64: New file. -+ * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS. -+ * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define. -+ (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC, -+ CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define. -+ (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those. -+ (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC): -+ Define. -+ (STARTFILE_SPEC): Set approriately based upon those. -+ (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon -+ disposition of DEFAULT_ARCH32_P. -+ (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define. -+ (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those. -+ (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P. -+ (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH. -+ * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on -+ arch64/v9. -+ * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise. -+ - Mon Sep 21 23:40:38 PDT 1998 Jeff Law (law@cygnus.com) - - * version.c: Bump for snapshot. ---- egcs64-19980921.orig/gcc/configure -+++ egcs64-19980921/gcc/configure -@@ -4739,7 +4739,7 @@ - tm_file=sparc/sol2-sld-64.h - xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h" - xm_defines="USG POSIX" -- tmake_file=sparc/t-sol2 -+ tmake_file="sparc/t-sol2 sparc/t-sol2-64" - xmake_file=sparc/x-sysv4 - extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o" - fixincludes=fixinc.wrap -@@ -4845,11 +4845,12 @@ - extra_parts="crtbegin.o crtend.o" - ;; - sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux -- tmake_file=sparc/t-sp64 -+ tmake_file="t-linux sparc/t-linux64" - xm_file="sparc/xm-sp64.h sparc/xm-linux.h" - tm_file=sparc/linux64.h - xmake_file=x-linux - fixincludes=Makefile.in # The headers are ok already. -+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" - gnu_ld=yes - ;; - # This hasn't been upgraded to GCC 2. ---- egcs64-19980921.orig/gcc/configure.in -+++ egcs64-19980921/gcc/configure.in -@@ -2878,7 +2878,7 @@ - tm_file=sparc/sol2-sld-64.h - xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h" - xm_defines="USG POSIX" -- tmake_file=sparc/t-sol2 -+ tmake_file="sparc/t-sol2 sparc/t-sol2-64" - xmake_file=sparc/x-sysv4 - extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o" - fixincludes=fixinc.wrap -@@ -2986,11 +2986,12 @@ - extra_parts="crtbegin.o crtend.o" - ;; - sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux -- tmake_file=sparc/t-sp64 -+ tmake_file="t-linux sparc/t-linux64" - xm_file="sparc/xm-sp64.h sparc/xm-linux.h" - tm_file=sparc/linux64.h - xmake_file=x-linux - fixincludes=Makefile.in # The headers are ok already. -+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" - gnu_ld=yes - ;; - # This hasn't been upgraded to GCC 2. ---- egcs64-19980921.orig/gcc/flow.c -+++ egcs64-19980921/gcc/flow.c -@@ -3321,15 +3321,28 @@ - int *num_preds; - int *num_succs; - { -+ int_list_ptr tmp; - if (succ_bb != EXIT_BLOCK) - { -- add_int_list_node (&pred_int_list_blocks, &s_preds[succ_bb], pred_bb); -- num_preds[succ_bb]++; -+ for (tmp = s_preds[succ_bb]; tmp; tmp = tmp->next) -+ if (tmp->val == pred_bb) -+ break; -+ if (tmp == NULL) -+ { -+ add_int_list_node (&pred_int_list_blocks, &s_preds[succ_bb], pred_bb); -+ num_preds[succ_bb]++; -+ } - } - if (pred_bb != ENTRY_BLOCK) - { -- add_int_list_node (&pred_int_list_blocks, &s_succs[pred_bb], succ_bb); -- num_succs[pred_bb]++; -+ for (tmp = s_succs[pred_bb]; tmp; tmp = tmp->next) -+ if (tmp->val == succ_bb) -+ break; -+ if (tmp == NULL) -+ { -+ add_int_list_node (&pred_int_list_blocks, &s_succs[pred_bb], succ_bb); -+ num_succs[pred_bb]++; -+ } - } - } - ---- egcs64-19980921.orig/gcc/frame.c -+++ egcs64-19980921/gcc/frame.c -@@ -27,6 +27,9 @@ - This exception does not however invalidate any other reasons why - the executable file might be covered by the GNU General Public License. */ - -+/* Gross, but makes it build with glibc-2.1 -DaveM */ -+#define __restrict -+ - /* It is incorrect to include config.h here, because this file is being - compiled for the target, and hence definitions concerning only the host - do not apply. */ ---- egcs64-19980921.orig/gcc/gcse.c -+++ egcs64-19980921/gcc/gcse.c -@@ -4146,12 +4146,18 @@ - int bb, i, changed, size, passes; - - sbitmap_vector_ones (pre_ppin, n_basic_blocks); -- /* ??? Inefficient as we set pre_ppin[0] twice, but simple. */ - sbitmap_zero (pre_ppin[0]); - -+ /* Placement Possible out is initially set on all except exit blocks. -+ That is, either blocks whose sole successor is exit, or who have no -+ successors at all, such as would be created by a function that does -+ not return. */ - sbitmap_vector_ones (pre_ppout, n_basic_blocks); -- /* ??? Inefficient as we set pre_ppout[n_basic_blocks-1] twice, but simple. */ -- sbitmap_zero (pre_ppout[n_basic_blocks - 1]); -+ for (bb = 0; bb < n_basic_blocks; bb++) -+ if (s_succs[bb] == NULL -+ || (s_succs[bb]->next == NULL -+ && s_succs[bb]->val == EXIT_BLOCK)) -+ sbitmap_zero (pre_ppout[bb]); - - size = pre_ppin[0]->size; - passes = 0; -@@ -4171,8 +4177,9 @@ - for (i = 0; i < size; i++) - { - int_list_ptr pred; -- SBITMAP_ELT_TYPE tmp = *antin & *pavin & (*antloc | (*transp & *ppout)); -- SBITMAP_ELT_TYPE pred_val = -1L; -+ SBITMAP_ELT_TYPE tmp, pred_val = -1L; -+ -+ tmp = *antin & *pavin & (*antloc | (*transp & *ppout)); - - for (pred = s_preds[bb]; pred != NULL; pred = pred->next) - { -@@ -4206,13 +4213,18 @@ - } - } - -- for (bb = 0; bb < n_basic_blocks - 1; bb++) -+ for (bb = 0; bb < n_basic_blocks; bb++) - { - sbitmap_ptr ppout = pre_ppout[bb]->elms; - -- for (i = 0; i < size; i++) -+ if (s_succs[bb] == NULL -+ || (s_succs[bb]->next == NULL -+ && s_succs[bb]->val == EXIT_BLOCK)) -+ continue; -+ -+ for (i = 0; i < size; i++, ppout++) - { -- int_list_ptr succ; -+ int_list_ptr succ = s_succs[bb]; - SBITMAP_ELT_TYPE tmp = -1L; - - for (succ = s_succs[bb]; succ != NULL; succ = succ->next) -@@ -4229,10 +4241,8 @@ - if (*ppout != tmp) - { - changed = 1; -- *ppout++ = tmp; -+ *ppout = tmp; - } -- else -- ppout++; - } - } - ---- egcs64-19980921.orig/gcc/libgcc2.c -+++ egcs64-19980921/gcc/libgcc2.c -@@ -26,6 +26,9 @@ - This exception does not however invalidate any other reasons why - the executable file might be covered by the GNU General Public License. */ - -+/* Gross, but makes it build with glibc-2.1 -DaveM */ -+#define __restrict -+ - /* It is incorrect to include config.h here, because this file is being - compiled for the target, and hence definitions concerning only the host - do not apply. */ ---- egcs64-19980921.orig/gcc/f/intdoc.texi -+++ egcs64-19980921/gcc/f/intdoc.texi -@@ -2231,7 +2231,7 @@ - - @emph{Caution:} Using this routine during I/O to a unit connected with a - non-absolute file name can cause subsequent I/O on such a unit to fail --because the I/O library may reopen files by name. -+because the I/O library might reopen files by name. - - Some non-GNU implementations of Fortran provide this intrinsic as - only a function, not as a subroutine, or do not support the -@@ -2270,7 +2270,7 @@ - - @emph{Caution:} Using this routine during I/O to a unit connected with a - non-absolute file name can cause subsequent I/O on such a unit to fail --because the I/O library may reopen files by name. -+because the I/O library might reopen files by name. - - Due to the side effects performed by this intrinsic, the function - form is not recommended. -@@ -2319,7 +2319,7 @@ - - Note that this currently works - by actually invoking @code{/bin/chmod} (or the @code{chmod} found when --the library was configured) and so may fail in some circumstances and -+the library was configured) and so might fail in some circumstances and - will, anyway, be slow. - - Some non-GNU implementations of Fortran provide this intrinsic as -@@ -2369,7 +2369,7 @@ - - Note that this currently works - by actually invoking @code{/bin/chmod} (or the @code{chmod} found when --the library was configured) and so may fail in some circumstances and -+the library was configured) and so might fail in some circumstances and - will, anyway, be slow. - - Due to the side effects performed by this intrinsic, the function -@@ -4237,7 +4237,7 @@ - Description: - - Returns the complementary error function of @var{X}: --@samp{ERFC(R) = 1 - ERF(R)} (except that the result may be more -+@samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more - accurate than explicitly evaluating that formulae would give). - See @code{erfc(3m)}, which provides the implementation. - -@@ -4896,10 +4896,10 @@ - Description: - - Attempts to move Fortran unit @var{Unit} to the specified --@var{Offset}: absolute offset if @var{Offset}=0; relative to the --current offset if @var{Offset}=1; relative to the end of the file if --@var{Offset}=2. --It branches to label @var{Whence} if @var{Unit} is -+@var{Offset}: absolute offset if @var{Whence}=0; relative to the -+current offset if @var{Whence}=1; relative to the end of the file if -+@var{Whence}=2. -+It branches to label @var{ErrLab} if @var{Unit} is - not open or if the call otherwise fails. - - @node FStat Intrinsic (subroutine) -@@ -5455,8 +5455,9 @@ - (optional) @var{Status} argument. - - On some systems (specifically SCO) it might be necessary to link the --``socket'' library if you call this routine, i.e.@: append --@samp{-lg2c -lsocket -lm} to the @code{g77} arguments. -+``socket'' library if you call this routine. -+Typically this means adding @samp{-lg2c -lsocket -lm} -+to the @code{g77} command line when linking the program. - - For information on other intrinsics with the same name: - @xref{HostNm Intrinsic (function)}. -@@ -5488,8 +5489,9 @@ - (@code{ENOSYS} if the system does not provide @code{gethostname(2)}). - - On some systems (specifically SCO) it might be necessary to link the --``socket'' library if you call this routine, i.e.@: append --@samp{-lg2c -lsocket -lm} to the @code{g77} arguments. -+``socket'' library if you call this routine. -+Typically this means adding @samp{-lg2c -lsocket -lm} -+to the @code{g77} command line when linking the program. - - For information on other intrinsics with the same name: - @xref{HostNm Intrinsic (subroutine)}. -@@ -6598,8 +6600,7 @@ - indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift. - If the absolute value of the shift count is greater than - @samp{BIT_SIZE(@var{I})}, the result is undefined. --Bits shifted out from the left end or the right end, as the case may be, --are lost. -+Bits shifted out from the left end or the right end are lost. - Zeros are shifted in from the opposite end. - - @xref{IShftC Intrinsic} for the circular-shift equivalent. ---- egcs64-19980921.orig/gcc/config/sparc/linux64.h -+++ egcs64-19980921/gcc/config/sparc/linux64.h -@@ -19,9 +19,7 @@ - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - --/* ??? bi-architecture support will require changes to the linker -- related specs, among perhaps other things (multilibs). */ --/* #define SPARC_BI_ARCH */ -+#define SPARC_BI_ARCH - - #define LINUX_DEFAULT_ELF - -@@ -36,6 +34,16 @@ - #undef MD_EXEC_PREFIX - #undef MD_STARTFILE_PREFIX - -+#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc -+/* A 64 bit v9 compiler with stack-bias, -+ in a Medium/Low code model environment. */ -+ -+#undef TARGET_DEFAULT -+#define TARGET_DEFAULT \ -+ (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ \ -+ + MASK_STACK_BIAS + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU) -+#endif -+ - /* Output at beginning of assembler file. */ - /* The .file command should always begin the output. */ - #undef ASM_FILE_START -@@ -54,11 +62,37 @@ - object constructed before entering `main'. */ - - #undef STARTFILE_SPEC --#define STARTFILE_SPEC \ -+ -+#define STARTFILE_SPEC32 \ - "%{!shared: \ - %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}\ - crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" - -+#define STARTFILE_SPEC64 \ -+ "%{!shared: \ -+ %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} %{!p:/usr/lib64/crt1.o%s}}}\ -+ /usr/lib64/crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" -+ -+#ifdef SPARC_BI_ARCH -+ -+#if DEFAULT_ARCH32_P -+#define STARTFILE_SPEC "\ -+%{m32:" STARTFILE_SPEC32 "} \ -+%{m64:" STARTFILE_SPEC64 "} \ -+%{!m32:%{!m64:" STARTFILE_SPEC32 "}}" -+#else -+#define STARTFILE_SPEC "\ -+%{m32:" STARTFILE_SPEC32 "} \ -+%{m64:" STARTFILE_SPEC64 "} \ -+%{!m32:%{!m64:" STARTFILE_SPEC64 "}}" -+#endif -+ -+#else -+ -+#define STARTFILE_SPEC STARTFILE_SPEC64 -+ -+#endif -+ - /* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on - the GNU/Linux magical crtend.o file (see crtstuff.c) which - provides part of the support for getting C++ file-scope static -@@ -66,19 +100,35 @@ - GNU/Linux "finalizer" file, `crtn.o'. */ - - #undef ENDFILE_SPEC --#define ENDFILE_SPEC \ -+ -+#define ENDFILE_SPEC32 \ - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" - --#undef TARGET_VERSION --#define TARGET_VERSION fprintf (stderr, " (sparc64 GNU/Linux with ELF)"); -+#define ENDFILE_SPEC64 \ -+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s" -+ -+#ifdef SPARC_BI_ARCH - --/* A 64 bit v9 compiler with stack-bias, -- in a Medium/Anywhere code model environment. */ -+#if DEFAULT_ARCH32_P -+#define ENDFILE_SPEC "\ -+%{m32:" ENDFILE_SPEC32 "} \ -+%{m64:" ENDFILE_SPEC64 "} \ -+%{!m32:%{!m64:" ENDFILE_SPEC32 "}}" -+#else -+#define ENDFILE_SPEC "\ -+%{m32:" ENDFILE_SPEC32 "} \ -+%{m64:" ENDFILE_SPEC64 "} \ -+%{!m32:%{!m64:" ENDFILE_SPEC64 "}}" -+#endif - --#undef TARGET_DEFAULT --#define TARGET_DEFAULT \ -- (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ \ -- + MASK_STACK_BIAS + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU) -+#else -+ -+#define ENDFILE_SPEC ENDFILE_SPEC64 -+ -+#endif -+ -+#undef TARGET_VERSION -+#define TARGET_VERSION fprintf (stderr, " (sparc64 GNU/Linux with ELF)"); - - /* The default code model. */ - #undef SPARC_DEFAULT_CMODEL -@@ -92,7 +142,7 @@ - - #undef LONG_DOUBLE_TYPE_SIZE - #define LONG_DOUBLE_TYPE_SIZE 128 -- -+ - #undef CPP_PREDEFINES - #define CPP_PREDEFINES "-D__ELF__ -Dunix -Dsparc -Dlinux -Asystem(unix) -Asystem(posix)" - -@@ -126,16 +176,87 @@ - - /* If ELF is the default format, we should not use /lib/elf. */ - -+#ifdef SPARC_BI_ARCH -+ -+#undef SUBTARGET_EXTRA_SPECS -+#define SUBTARGET_EXTRA_SPECS \ -+ { "link_arch32", LINK_ARCH32_SPEC }, \ -+ { "link_arch64", LINK_ARCH64_SPEC }, \ -+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ -+ { "link_arch", LINK_ARCH_SPEC }, -+ -+#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ -+ %{!shared: \ -+ %{!ibcs: \ -+ %{!static: \ -+ %{rdynamic:-export-dynamic} \ -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ -+ %{static:-static}}} \ -+" -+ -+#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ -+ %{!shared: \ -+ %{!ibcs: \ -+ %{!static: \ -+ %{rdynamic:-export-dynamic} \ -+ %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \ -+ %{static:-static}}} \ -+" -+ -+#define LINK_ARCH_SPEC "\ -+%{m32:%(link_arch32)} \ -+%{m64:%(link_arch64)} \ -+%{!m32:%{!m64:%(link_arch_default)}} \ -+" -+ -+#define LINK_ARCH_DEFAULT_SPEC \ -+(DEFAULT_ARCH32_P ? LINK_ARCH32_SPEC : LINK_ARCH64_SPEC) -+ - #undef LINK_SPEC --#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib %{shared:-shared} \ -+#define LINK_SPEC "\ -+%(link_arch) \ -+%{mlittle-endian:-EL} \ -+" -+ -+#undef CC1_SPEC -+#if DEFAULT_ARCH32_P -+#define CC1_SPEC "\ -+%{sun4:} %{target:} \ -+%{mcypress:-mcpu=cypress} \ -+%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \ -+%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \ -+%{m64:-mptr64 -mcpu=ultrasparc -mstack-bias} \ -+" -+#else -+#define CC1_SPEC "\ -+%{sun4:} %{target:} \ -+%{mcypress:-mcpu=cypress} \ -+%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \ -+%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \ -+%{m32:-mptr32 -mcpu=cypress -mno-stack-bias} \ -+" -+#endif -+ -+#if DEFAULT_ARCH32_P -+#define MULTILIB_DEFAULTS { "m32" } -+#else -+#define MULTILIB_DEFAULTS { "m64" } -+#endif -+ -+#else /* !SPARC_BI_ARCH */ -+ -+#undef LINK_SPEC -+#define LINK_ARCH_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ - %{!shared: \ - %{!ibcs: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux64.so.2}} \ -+ %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \ - %{static:-static}}} \ - %{mlittle-endian:-EL} \ - " -+ -+#endif /* !SPARC_BI_ARCH */ - - /* The sun bundled assembler doesn't accept -Yd, (and neither does gas). - It's safe to pass -s always, even if -g is not used. */ ---- egcs64-19980921.orig/gcc/config/sparc/sparc.c -+++ egcs64-19980921/gcc/config/sparc/sparc.c -@@ -210,7 +210,7 @@ - struct cpu_table *cpu; - struct sparc_cpu_select *sel; - int fpu; -- -+ - #ifndef SPARC_BI_ARCH - /* Check for unsupported architecture size. */ - if (! TARGET_64BIT != DEFAULT_ARCH32_P) -@@ -220,8 +220,25 @@ - } - #endif - -+ /* At the moment we don't allow different pointer size and architecture */ -+ if (! TARGET_64BIT != ! TARGET_PTR64) -+ { -+ error ("-mptr%d not allowed on -m%d", -+ TARGET_PTR64 ? 64 : 32, TARGET_64BIT ? 64 : 32); -+ if (TARGET_64BIT) -+ target_flags |= MASK_PTR64; -+ else -+ target_flags &= ~MASK_PTR64; -+ } -+ - /* Code model selection. */ - sparc_cmodel = SPARC_DEFAULT_CMODEL; -+ -+#ifdef SPARC_BI_ARCH -+ if (TARGET_ARCH32) -+ sparc_cmodel = CM_32; -+#endif -+ - if (sparc_cmodel_string != NULL) - { - if (TARGET_ARCH64) -@@ -280,8 +297,8 @@ - if (TARGET_V9 && TARGET_ARCH32) - target_flags |= MASK_DEPRECATED_V8_INSNS; - -- /* V8PLUS requires V9 */ -- if (! TARGET_V9) -+ /* V8PLUS requires V9, makes no sense in 64 bit mode. */ -+ if (! TARGET_V9 || TARGET_ARCH64) - target_flags &= ~MASK_V8PLUS; - - /* Don't use stack biasing in 32 bit mode. */ -@@ -1018,7 +1035,7 @@ - return ((GET_CODE (op) == CONST_INT - && ((INTVAL (op) >= 0 && INTVAL (op) < 0x1000) - || (INTVAL (op) >= 0xFFFFF000 -- && INTVAL (op) < 0x100000000))) -+ && INTVAL (op) < ((unsigned HOST_WIDE_INT)0xFFFFFFFF) + 1))) - || GET_CODE (op) == CONSTANT_P_RTX); - #else - return (((GET_CODE (op) == CONST_INT && (unsigned) INTVAL (op) < 0x1000) -@@ -2242,9 +2259,14 @@ - - src = SET_SRC (pat); - -- /* This matches "*return_[qhs]i". */ -+ /* This matches "*return_[qhs]i" or even "*return_di" on TARGET_ARCH64. */ - if (arith_operand (src, GET_MODE (src))) -- return GET_MODE_SIZE (GET_MODE (src)) <= GET_MODE_SIZE (SImode); -+ { -+ if (TARGET_ARCH64) -+ return GET_MODE_SIZE (GET_MODE (src)) <= GET_MODE_SIZE (DImode); -+ else -+ return GET_MODE_SIZE (GET_MODE (src)) <= GET_MODE_SIZE (SImode); -+ } - - /* This matches "*return_di". */ - else if (arith_double_operand (src, GET_MODE (src))) -@@ -4215,6 +4237,12 @@ - mode = mode_for_size (bytes * BITS_PER_UNIT, MODE_INT, 0); - } - } -+ -+ if (TARGET_ARCH64 -+ && GET_MODE_CLASS (mode) == MODE_INT -+ && GET_MODE_SIZE (mode) < UNITS_PER_WORD -+ && type && TREE_CODE (type) != UNION_TYPE) -+ mode = DImode; - - if (incoming_p) - regno = BASE_RETURN_VALUE_REG (mode); -@@ -5453,6 +5481,11 @@ - sparc64_initialize_trampoline (tramp, fnaddr, cxt) - rtx tramp, fnaddr, cxt; - { -+#ifdef TRANSFER_FROM_TRAMPOLINE -+ emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"), -+ 0, VOIDmode, 1, tramp, Pmode); -+#endif -+ - /* - rd %pc, %g1 - ldx [%g1+24], %g5 -@@ -5466,12 +5499,13 @@ - emit_move_insn (gen_rtx_MEM (SImode, plus_constant (tramp, 4)), - GEN_INT (0xca586018)); - emit_move_insn (gen_rtx_MEM (SImode, plus_constant (tramp, 8)), -- GEN_INT (0x81c04000)); -+ GEN_INT (0x81c14000)); - emit_move_insn (gen_rtx_MEM (SImode, plus_constant (tramp, 12)), - GEN_INT (0xca586010)); - emit_move_insn (gen_rtx_MEM (DImode, plus_constant (tramp, 16)), cxt); -- emit_move_insn (gen_rtx_MEM (DImode, plus_constant (tramp, 20)), fnaddr); -+ emit_move_insn (gen_rtx_MEM (DImode, plus_constant (tramp, 24)), fnaddr); - emit_insn (gen_flush (validize_mem (gen_rtx_MEM (DImode, tramp)))); -+ - if (sparc_cpu != PROCESSOR_ULTRASPARC) - emit_insn (gen_flush (validize_mem (gen_rtx_MEM (DImode, plus_constant (tramp, 8))))); - } ---- egcs64-19980921.orig/gcc/config/sparc/sparc.h -+++ egcs64-19980921/gcc/config/sparc/sparc.h -@@ -109,34 +109,74 @@ - #define TARGET_CPU_sparc64 5 /* alias */ - #define TARGET_CPU_ultrasparc 6 - --#if TARGET_CPU_DEFAULT == TARGET_CPU_sparc || TARGET_CPU_DEFAULT == TARGET_CPU_v8 || TARGET_CPU_DEFAULT == TARGET_CPU_supersparc --#define CPP_CPU_DEFAULT_SPEC "" --#define ASM_CPU_DEFAULT_SPEC "" --#endif --#if TARGET_CPU_DEFAULT == TARGET_CPU_sparclet --#define CPP_CPU_DEFAULT_SPEC "-D__sparclet__" --#define ASM_CPU_DEFAULT_SPEC "-Asparclet" --#endif --#if TARGET_CPU_DEFAULT == TARGET_CPU_sparclite --#define CPP_CPU_DEFAULT_SPEC "-D__sparclite__" --#define ASM_CPU_DEFAULT_SPEC "-Asparclite" --#endif -+#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc -+ -+#define CPP_CPU32_DEFAULT_SPEC "" -+#define ASM_CPU32_DEFAULT_SPEC "" -+ - #if TARGET_CPU_DEFAULT == TARGET_CPU_v9 - /* ??? What does Sun's CC pass? */ --#define CPP_CPU_DEFAULT_SPEC "-D__sparc_v9__" -+#define CPP_CPU64_DEFAULT_SPEC "-D__sparc_v9__" - /* ??? It's not clear how other assemblers will handle this, so by default - use GAS. Sun's Solaris assembler recognizes -xarch=v8plus, but this case - is handled in sol2.h. */ --#define ASM_CPU_DEFAULT_SPEC "-Av9" -+#define ASM_CPU64_DEFAULT_SPEC "-Av9" - #endif - #if TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc --#define CPP_CPU_DEFAULT_SPEC "-D__sparc_v9__" --#define ASM_CPU_DEFAULT_SPEC "-Av9a" -+#define CPP_CPU64_DEFAULT_SPEC "-D__sparc_v9__" -+#define ASM_CPU64_DEFAULT_SPEC "-Av9a" -+#endif -+ -+#else -+ -+#define CPP_CPU64_DEFAULT_SPEC "" -+#define ASM_CPU64_DEFAULT_SPEC "" -+ -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparc || TARGET_CPU_DEFAULT == TARGET_CPU_v8 || TARGET_CPU_DEFAULT == TARGET_CPU_supersparc -+#define CPP_CPU32_DEFAULT_SPEC "" -+#define ASM_CPU32_DEFAULT_SPEC "" -+#endif -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparclet -+#define CPP_CPU32_DEFAULT_SPEC "-D__sparclet__" -+#define ASM_CPU32_DEFAULT_SPEC "-Asparclet" -+#endif -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparclite -+#define CPP_CPU32_DEFAULT_SPEC "-D__sparclite__" -+#define ASM_CPU32_DEFAULT_SPEC "-Asparclite" - #endif --#ifndef CPP_CPU_DEFAULT_SPEC -+ -+#endif -+ -+#if !defined(CPP_CPU32_DEFAULT_SPEC) || !defined(CPP_CPU64_DEFAULT_SPEC) - Unrecognized value in TARGET_CPU_DEFAULT. - #endif - -+#ifdef SPARC_BI_ARCH -+ -+#define CPP_CPU_DEFAULT_SPEC \ -+(DEFAULT_ARCH32_P ? "\ -+%{m64:" CPP_CPU64_DEFAULT_SPEC "} \ -+%{!m64:" CPP_CPU32_DEFAULT_SPEC "} \ -+" : "\ -+%{m32:" CPP_CPU32_DEFAULT_SPEC "} \ -+%{!m32:" CPP_CPU64_DEFAULT_SPEC "} \ -+") -+#define ASM_CPU_DEFAULT_SPEC \ -+(DEFAULT_ARCH32_P ? "\ -+%{m64:" ASM_CPU64_DEFAULT_SPEC "} \ -+%{!m64:" ASM_CPU32_DEFAULT_SPEC "} \ -+" : "\ -+%{m32:" ASM_CPU32_DEFAULT_SPEC "} \ -+%{!m32:" ASM_CPU64_DEFAULT_SPEC "} \ -+") -+ -+#else /* !SPARC_BI_ARCH */ -+ -+#define CPP_CPU_DEFAULT_SPEC (DEFAULT_ARCH32_P ? CPP_CPU32_DEFAULT_SPEC : CPP_CPU64_DEFAULT_SPEC) -+#define ASM_CPU_DEFAULT_SPEC (DEFAULT_ARCH32_P ? ASM_CPU32_DEFAULT_SPEC : ASM_CPU64_DEFAULT_SPEC) -+ -+#endif /* !SPARC_BI_ARCH */ -+ - /* Names to predefine in the preprocessor for this target machine. - ??? It would be nice to not include any subtarget specific values here, - however there's no way to portably provide subtarget values to -@@ -171,8 +211,20 @@ - sparc64 in 32 bit environments, so for now we only use `sparc64' in - 64 bit environments. */ - -+#ifdef SPARC_BI_ARCH -+ -+#define CPP_ARCH32_SPEC "-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \ -+-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc)" -+#define CPP_ARCH64_SPEC "-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int \ -+-D__arch64__ -Acpu(sparc64) -Amachine(sparc64)" -+ -+#else -+ - #define CPP_ARCH32_SPEC "-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc)" - #define CPP_ARCH64_SPEC "-D__arch64__ -Acpu(sparc64) -Amachine(sparc64)" -+ -+#endif -+ - #define CPP_ARCH_DEFAULT_SPEC \ - (DEFAULT_ARCH32_P ? CPP_ARCH32_SPEC : CPP_ARCH64_SPEC) - -@@ -413,8 +465,7 @@ - /* 0x2000, 0x4000 are unused */ - - /* Nonzero if pointers are 64 bits. -- This is not a user selectable option, though it may be one day - -- so it is used to determine pointer size instead of an architecture flag. */ -+ At the moment it must follow architecture size flag. */ - #define MASK_PTR64 0x8000 - #define TARGET_PTR64 (target_flags & MASK_PTR64) - -@@ -512,9 +563,8 @@ - {"v8", 0}, \ - {"supersparc", 0}, \ - /* End of deprecated options. */ \ -- /* -mptrNN exists for *experimental* purposes. */ \ --/* {"ptr64", MASK_PTR64}, */ \ --/* {"ptr32", -MASK_PTR64}, */ \ -+ {"ptr64", MASK_PTR64}, \ -+ {"ptr32", -MASK_PTR64}, \ - {"32", -MASK_64BIT}, \ - {"64", MASK_64BIT}, \ - {"stack-bias", MASK_STACK_BIAS}, \ ---- egcs64-19980921.orig/gcc/config/sparc/t-sol2 -+++ egcs64-19980921/gcc/config/sparc/t-sol2 -@@ -6,19 +6,19 @@ - LIBGCC1_TEST = - - # gmon build rule: --gmon.o: $(srcdir)/config/sparc/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) \ -- -c $(srcdir)/config/sparc/gmon-sol2.c -o gmon.o -+$(T)gmon.o: $(srcdir)/config/sparc/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H) stmp-int-hdrs -+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ -+ -c $(srcdir)/config/sparc/gmon-sol2.c -o $(T)gmon.o - - # Assemble startup files. --crt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES) -- $(GCC_FOR_TARGET) -c -o crt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm --crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES) -- $(GCC_FOR_TARGET) -c -o crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm --crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES) -- $(GCC_FOR_TARGET) -c -o crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm --gcrt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES) -- $(GCC_FOR_TARGET) -c -DGCRT1 -o gcrt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm -+$(T)crt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES) -+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm -+$(T)crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES) -+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm -+$(T)crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES) -+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm -+$(T)gcrt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES) -+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -DGCRT1 -o $(T)gcrt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm - - # We need to use -fPIC when we are using gcc to compile the routines in - # crtstuff.c. This is only really needed when we are going to use gcc/g++ ---- egcs64-19980921.orig/gcc/config/sparc/xm-sp64.h -+++ egcs64-19980921/gcc/config/sparc/xm-sp64.h -@@ -21,5 +21,7 @@ - #include <sparc/xm-sparc.h> - - /* This describes the machine the compiler is hosted on. */ -+#if defined(__arch64__) || defined(__sparc_v9__) || defined(__sparcv9) - #undef HOST_BITS_PER_LONG - #define HOST_BITS_PER_LONG 64 -+#endif ---- egcs64-19980921.orig/gcc/config/sparc/sol2-sld-64.h -+++ egcs64-19980921/gcc/config/sparc/sol2-sld-64.h -@@ -1,6 +1,8 @@ - /* Definitions of target machine for GNU compiler, for 64-bit SPARC - running Solaris 2 using the system linker. */ - -+#define SPARC_BI_ARCH -+ - #include "sparc/sol2.h" - - /* At least up through Solaris 2.6, -@@ -12,14 +14,12 @@ - - /* A 64 bit v9 compiler with stack-bias */ - -+#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc - #undef TARGET_DEFAULT - #define TARGET_DEFAULT \ - (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ + \ - MASK_STACK_BIAS + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU) -- --/* ??? bi-architecture support will require changes to the linker -- related specs, among perhaps other things (multilibs). */ --/* #define SPARC_BI_ARCH */ -+#endif - - /* The default code model. */ - #undef SPARC_DEFAULT_CMODEL -@@ -28,58 +28,243 @@ - #undef LONG_DOUBLE_TYPE_SIZE - #define LONG_DOUBLE_TYPE_SIZE 128 - -+#undef ASM_CPU32_DEFAULT_SPEC -+#define ASM_CPU32_DEFAULT_SPEC "" -+#undef ASM_CPU64_DEFAULT_SPEC -+#define ASM_CPU64_DEFAULT_SPEC "-xarch=v9" -+ - #if TARGET_CPU_DEFAULT == TARGET_CPU_v9 --#undef CPP_CPU_DEFAULT_SPEC --#define CPP_CPU_DEFAULT_SPEC "-D__sparcv9" --#undef ASM_CPU_DEFAULT_SPEC --#define ASM_CPU_DEFAULT_SPEC "-xarch=v9" --#undef CPP_CPU_SPEC --#define CPP_CPU_SPEC "\ --%{mcypress:} \ --%{msparclite:-D__sparclite__} \ --%{mf930:-D__sparclite__} %{mf934:-D__sparclite__} \ --%{mv8:-D__sparcv8} \ --%{msupersparc:-D__supersparc__ -D__sparcv8} \ --%{mcpu=sparclet:-D__sparclet__} %{mcpu=tsc701:-D__sparclet__} \ --%{mcpu=sparclite:-D__sparclite__} \ --%{mcpu=f930:-D__sparclite__} %{mcpu=f934:-D__sparclite__} \ --%{mcpu=v8:-D__sparc_v8__} \ --%{mcpu=supersparc:-D__supersparc__ -D__sparcv8} \ --%{mcpu=v9:-D__sparcv9} \ --%{mcpu=ultrasparc:-D__sparcv9} \ --%{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} \ --" -+#undef CPP_CPU64_DEFAULT_SPEC -+#define CPP_CPU64_DEFAULT_SPEC "" -+#undef ASM_CPU32_DEFAULT_SPEC -+#define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plus" - #endif - #if TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc --#undef CPP_CPU_DEFAULT_SPEC --#define CPP_CPU_DEFAULT_SPEC "-D__sparcv9" --#undef ASM_CPU_DEFAULT_SPEC --#define ASM_CPU_DEFAULT_SPEC "-xarch=v9a" -+#undef CPP_CPU64_DEFAULT_SPEC -+#define CPP_CPU64_DEFAULT_SPEC "" -+#undef ASM_CPU32_DEFAULT_SPEC -+#define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusa" -+#undef ASM_CPU64_DEFAULT_SPEC -+#define ASM_CPU64_DEFAULT_SPEC "-xarch=v9a" -+#endif -+ -+/* The sun bundled assembler doesn't accept -Yd, (and neither does gas). -+ It's safe to pass -s always, even if -g is not used. */ -+#undef ASM_SPEC -+#define ASM_SPEC "\ -+%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \ -+%{fpic:-K PIC} %{fPIC:-K PIC} \ -+%(asm_cpu)\ -+" -+ -+#if DEFAULT_ARCH32_P -+#define DEF_ARCH32_SPEC(__str) "%{!m64:" __str "}" -+#define DEF_ARCH64_SPEC(__str) "%{m64:" __str "}" -+#else -+#define DEF_ARCH32_SPEC(__str) "%{m32:" __str "}" -+#define DEF_ARCH64_SPEC(__str) "%{!m32:" __str "}" -+#endif -+ - #undef CPP_CPU_SPEC - #define CPP_CPU_SPEC "\ - %{mcypress:} \ - %{msparclite:-D__sparclite__} \ - %{mf930:-D__sparclite__} %{mf934:-D__sparclite__} \ --%{mv8:-D__sparcv8} \ --%{msupersparc:-D__supersparc__ -D__sparcv8} \ -+%{mv8:" DEF_ARCH32_SPEC("-D__sparcv8") "} \ -+%{msupersparc:-D__supersparc__ " DEF_ARCH32_SPEC("-D__sparcv8") "} \ - %{mcpu=sparclet:-D__sparclet__} %{mcpu=tsc701:-D__sparclet__} \ - %{mcpu=sparclite:-D__sparclite__} \ - %{mcpu=f930:-D__sparclite__} %{mcpu=f934:-D__sparclite__} \ --%{mcpu=v8:-D__sparc_v8__} \ --%{mcpu=supersparc:-D__supersparc__ -D__sparcv8} \ --%{mcpu=v9:-D__sparcv9} \ --%{mcpu=ultrasparc:-D__sparcv9} \ -+%{mcpu=v8:" DEF_ARCH32_SPEC("-D__sparcv8") "} \ -+%{mcpu=supersparc:-D__supersparc__ " DEF_ARCH32_SPEC("-D__sparcv8") "} \ -+%{mcpu=v9:" DEF_ARCH32_SPEC("-D__sparcv8") "} \ -+%{mcpu=ultrasparc:" DEF_ARCH32_SPEC("-D__sparcv8") "} \ - %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} \ - " --#endif - - #undef ASM_CPU_SPEC --#define ASM_CPU_SPEC "\ --%{mcpu=v8plus:-xarch=v8plus} \ --%{mcpu=ultrasparc:-xarch=v9a} \ -+#define ASM_CPU_SPEC " -+%{mcpu=ultrasparc:" DEF_ARCH32_SPEC("-xarch=v8plusa") DEF_ARCH64_SPEC("-xarch=v9a") "} \ -+%{mcpu=v9:" DEF_ARCH32_SPEC("-xarch=v8plus") DEF_ARCH64_SPEC("-xarch=v9") "} \ -+%{!mcpu=ultrasparc:%{!mcpu=v9:%{mcpu*:" DEF_ARCH32_SPEC("-xarch=v8") DEF_ARCH64_SPEC("-xarch=v9") "}}} \ - %{!mcpu*:%(asm_cpu_default)} \ - " - -+#define STARTFILE_SPEC32 "\ -+%{ansi:values-Xc.o%s} \ -+%{!ansi: \ -+ %{traditional:values-Xt.o%s} \ -+ %{!traditional:values-Xa.o%s}}" -+ -+#define STARTFILE_SPEC64 "\ -+%{ansi:/usr/lib/sparcv9/values-Xc.o%s} \ -+%{!ansi: \ -+ %{traditional:/usr/lib/sparcv9/values-Xt.o%s} \ -+ %{!traditional:/usr/lib/sparcv9/values-Xa.o%s}}" -+ -+#ifdef SPARC_BI_ARCH -+ -+#if DEFAULT_ARCH32_P -+#define STARTFILE_ARCH_SPEC "\ -+%{m32:" STARTFILE_SPEC32 "} \ -+%{m64:" STARTFILE_SPEC64 "} \ -+%{!m32:%{!m64:" STARTFILE_SPEC32 "}}" -+#else -+#define STARTFILE_ARCH_SPEC "\ -+%{m32:" STARTFILE_SPEC32 "} \ -+%{m64:" STARTFILE_SPEC64 "} \ -+%{!m32:%{!m64:" STARTFILE_SPEC64 "}}" -+#endif -+ -+#else /* !SPARC_BI_ARCH */ -+ -+/* In this case we define MD_STARTFILE_PREFIX to /usr/lib/sparcv9/ */ -+#define STARTFILE_ARCH_SPEC STARTFILE_SPEC32 -+ -+#endif /* !SPARC_BI_ARCH */ -+ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC "%{!shared: \ -+ %{!symbolic: \ -+ %{p:mcrt1.o%s} \ -+ %{!p: \ -+ %{pg:gcrt1.o%s gmon.o%s} \ -+ %{!pg:crt1.o%s}}}} \ -+ crti.o%s" STARTFILE_ARCH_SPEC " \ -+ crtbegin.o%s" -+ -+#ifdef SPARC_BI_ARCH -+ -+#undef CPP_CPU_DEFAULT_SPEC -+#define CPP_CPU_DEFAULT_SPEC \ -+(DEFAULT_ARCH32_P ? "\ -+%{m64:" CPP_CPU64_DEFAULT_SPEC "} \ -+%{!m64:" CPP_CPU32_DEFAULT_SPEC "} \ -+" : "\ -+%{m32:" CPP_CPU32_DEFAULT_SPEC "} \ -+%{!m32:" CPP_CPU64_DEFAULT_SPEC "} \ -+") -+ -+#undef ASM_CPU_DEFAULT_SPEC -+#define ASM_CPU_DEFAULT_SPEC \ -+(DEFAULT_ARCH32_P ? "\ -+%{m64:" ASM_CPU64_DEFAULT_SPEC "} \ -+%{!m64:" ASM_CPU32_DEFAULT_SPEC "} \ -+" : "\ -+%{m32:" ASM_CPU32_DEFAULT_SPEC "} \ -+%{!m32:" ASM_CPU64_DEFAULT_SPEC "} \ -+") -+ -+#undef CPP_ARCH32_SPEC -+#define CPP_ARCH32_SPEC "-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \ -+-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc)" -+#undef CPP_ARCH64_SPEC -+#define CPP_ARCH64_SPEC "-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int \ -+-D__arch64__ -Acpu(sparc64) -Amachine(sparcv9) -D__sparcv9" -+ -+#undef CPP_ARCH_SPEC -+#define CPP_ARCH_SPEC "\ -+%{m32:%(cpp_arch32)} \ -+%{m64:%(cpp_arch64)} \ -+%{!m32:%{!m64:%(cpp_arch_default)}} \ -+" -+ -+#undef ASM_ARCH_SPEC -+#define ASM_ARCH_SPEC "" -+ -+#undef ASM_ARCH32_SPEC -+#define ASM_ARCH32_SPEC "" -+ -+#undef ASM_ARCH64_SPEC -+#define ASM_ARCH64_SPEC "" -+ -+#undef ASM_ARCH_DEFAULT_SPEC -+#define ASM_ARCH_DEFAULT_SPEC "" -+ -+#undef SUBTARGET_EXTRA_SPECS -+#define SUBTARGET_EXTRA_SPECS \ -+ { "link_arch32", LINK_ARCH32_SPEC }, \ -+ { "link_arch64", LINK_ARCH64_SPEC }, \ -+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ -+ { "link_arch", LINK_ARCH_SPEC }, -+ -+/* This should be the same as in svr4.h, except with -R added. */ -+#define LINK_ARCH32_SPEC \ -+ "%{G:-G} \ -+ %{YP,*} \ -+ %{R*} \ -+ %{compat-bsd: \ -+ %{!YP,*:%{p:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ -+ %{pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ -+ %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}} \ -+ -R /usr/ucblib} \ -+ %{!compat-bsd: \ -+ %{!YP,*:%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ -+ %{pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ -+ %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}" -+ -+#define LINK_ARCH64_SPEC \ -+ "%{mcmodel=medlow:-M /usr/lib/ld/sparcv9/map.below4G} \ -+ %{G:-G} \ -+ %{YP,*} \ -+ %{R*} \ -+ %{compat-bsd: \ -+ %{!YP,*:%{p:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ -+ %{pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ -+ %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}} \ -+ -R /usr/ucblib} \ -+ %{!compat-bsd: \ -+ %{!YP,*:%{p:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ -+ %{pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ -+ %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}" -+ -+#define LINK_ARCH_SPEC "\ -+%{m32:%(link_arch32)} \ -+%{m64:%(link_arch64)} \ -+%{!m32:%{!m64:%(link_arch_default)}} \ -+" -+ -+#define LINK_ARCH_DEFAULT_SPEC \ -+(DEFAULT_ARCH32_P ? LINK_ARCH32_SPEC : LINK_ARCH64_SPEC) -+ -+#undef LINK_SPEC -+#define LINK_SPEC \ -+ "%{h*} %{v:-V} \ -+ %{b} %{Wl,*:%*} \ -+ %{static:-dn -Bstatic} \ -+ %{shared:-G -dy %{!mimpure-text:-z text}} \ -+ %{symbolic:-Bsymbolic -G -dy -z text} \ -+ %(link_arch) \ -+ %{Qy:} %{!Qn:-Qy}" -+ -+#undef CC1_SPEC -+#if DEFAULT_ARCH32_P -+#define CC1_SPEC "\ -+%{sun4:} %{target:} \ -+%{mcypress:-mcpu=cypress} \ -+%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \ -+%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \ -+%{m64:-mptr64 -mcpu=v9 -mstack-bias -mno-v8plus} \ -+" -+#else -+#define CC1_SPEC "\ -+%{sun4:} %{target:} \ -+%{mcypress:-mcpu=cypress} \ -+%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \ -+%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \ -+%{m32:-mptr32 -mcpu=cypress -mno-stack-bias} \ -+%{mv8plus:-m32 -mptr32 -mcpu=cypress -mno-stack-bias} \ -+" -+#endif -+ -+#if DEFAULT_ARCH32_P -+#define MULTILIB_DEFAULTS { "m32" } -+#else -+#define MULTILIB_DEFAULTS { "m64" } -+#endif -+ -+#else /* !SPARC_BI_ARCH */ -+ - /* - * This should be the same as in sol2-sld.h, except with "/sparcv9" - * appended to the paths and /usr/ccs/lib is no longer necessary -@@ -105,6 +290,25 @@ - %{pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ - %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}} \ - %{Qy:} %{!Qn:-Qy}" -- -+ - #undef MD_STARTFILE_PREFIX --#define MD_STARTFILE_PREFIX "/usr/ccs/lib/sparcv9/" -+#define MD_STARTFILE_PREFIX "/usr/lib/sparcv9/" -+ -+/* Attempt to turn on access permissions for the stack. */ -+ -+#define TRANSFER_FROM_TRAMPOLINE \ -+void \ -+__enable_execute_stack (addr) \ -+ void *addr; \ -+{ \ -+ long size = getpagesize (); \ -+ long mask = ~(size-1); \ -+ char *page = (char *) (((long) addr) & mask); \ -+ char *end = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \ -+ \ -+ /* 7 is PROT_READ | PROT_WRITE | PROT_EXEC */ \ -+ if (mprotect (page, end - page, 7) < 0) \ -+ perror ("mprotect of trampoline code"); \ -+} -+ -+#endif /* ! SPARC_BI_ARCH */ ---- egcs64-19980921.orig/gcc/config/sparc/xm-sysv4-64.h -+++ egcs64-19980921/gcc/config/sparc/xm-sysv4-64.h -@@ -21,5 +21,7 @@ - #include <sparc/xm-sysv4.h> - - /* This describes the machine the compiler is hosted on. */ -+#if defined(__arch64__) || defined(__sparc_v9__) || defined(__sparcv9) - #undef HOST_BITS_PER_LONG - #define HOST_BITS_PER_LONG 64 -+#endif ---- egcs64-19980921.orig/gcc/config/sparc/t-linux64 -+++ egcs64-19980921/gcc/config/sparc/t-linux64 -@@ -0,0 +1,21 @@ -+MULTILIB_OPTIONS = m64/m32 -+MULTILIB_DIRNAMES = 64 32 -+MULTILIB_MATCHES = -+ -+LIBGCC = stmp-multilib -+INSTALL_LIBGCC = install-multilib -+ -+EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o -+ -+tcrtbeginS.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \ -+ defaults.h frame.h gbl-ctors.h -+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ -+ -finhibit-size-directive -fno-inline-functions -fno-exceptions $(CRTSTUFF_T_CFLAGS_S) \ -+ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -o tcrtbeginS$(objext) -+ -+tcrtendS.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \ -+ defaults.h frame.h gbl-ctors.h -+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ -+ -finhibit-size-directive -fno-inline-functions -fno-exceptions $(CRTSTUFF_T_CFLAGS_S) \ -+ -c $(srcdir)/crtstuff.c -DCRT_END -o tcrtendS$(objext) -+ ---- egcs64-19980921.orig/gcc/config/sparc/t-sol2-64 -+++ egcs64-19980921/gcc/config/sparc/t-sol2-64 -@@ -0,0 +1,8 @@ -+MULTILIB_OPTIONS = m32/m64 -+MULTILIB_DIRNAMES = sparcv7 sparcv9 -+MULTILIB_MATCHES = -+ -+LIBGCC = stmp-multilib -+INSTALL_LIBGCC = install-multilib -+ -+EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o ---- egcs64-19980921.orig/debian/README.debian -+++ egcs64-19980921/debian/README.debian -@@ -0,0 +1,13 @@ -+egcs64 for DEBIAN -+---------------------- -+ -+This program is compromised of the egcs64 package from RedHat including -+their patches. It was based on the UltraPenguin egcs64 compiler using an -+egcs snapshot from Sept, 21 1998. It is only useful for compiling kernels. -+When a sparc64 capable compiler is ready for compiling binaries, it will -+be packaged as gcc-64. -+ -+Ben Collins <bcollins@debian.org> -+ -+(originally packaged by) -+Steve Dunham <dunham@debian.org>, Mon, 14 Dec 1998 22:09:05 -0500 ---- egcs64-19980921.orig/debian/changelog -+++ egcs64-19980921/debian/changelog -@@ -0,0 +1,61 @@ -+egcs64 (1:19980921-4) frozen unstable; urgency=low -+ -+ * Up the priority of our alternative for sparc64-linux-gcc so we are -+ made default above gcc. This makes sure sparc64 kernels get built -+ with this by default, which is what we want to avoid problems. -+ -+ -- Ben Collins <bcollins@debian.org> Tue, 28 Mar 2000 10:34:46 -0500 -+ -+egcs64 (1:19980921-3) unstable; urgency=low -+ -+ * sparc64-linux-gcc is now provided via an alternative since the next -+ gcc will also have -m64 support and provide this. -+ -+ -- Ben Collins <bcollins@debian.org> Sun, 29 Aug 1999 11:40:23 -0400 -+ -+egcs64 (1:19980921-2) unstable; urgency=low -+ -+ * Added patch for gsce.c and flow.c to fix X and kaffe problems. -+ -+ -- Ben Collins <bcollins@debian.org> Fri, 20 Aug 1999 20:46:00 -0400 -+ -+egcs64 (1:19980921-1) unstable; urgency=low -+ -+ * Back ported to RedHat version including their patches -+ -+ -- Ben Collins <bcollins@debian.org> Thu, 29 Jul 1999 11:46:37 -0400 -+ -+egcs64 (19990402-2) unstable; urgency=low -+ -+ * Get rid of collect2 or we have compile problems (not kernel ones -+ though). -+ -+ -- Ben Collins <bcollins@debian.org> Mon, 5 Apr 1999 15:47:39 -0400 -+ -+egcs64 (19990402-1) unstable; urgency=low -+ -+ * NMU -+ * Upgraded to the latest egcs CVS, did not use UltraPenguin patches, -+ this is purely egcs. -+ * Disable haifa scheduler and patch gcc/sched.c to allow glibc to -+ compile (still needs work for a usable compile) -+ * Added /usr/sparc-linux to satisfy certain binutils problems when -+ looking for elf_sparc64 -+ * Updated control file information as well as copyright and -+ README.Debian -+ * Changed build setup to be a cross-compile instead of a sparc64-linux -+ compile -+ -+ -- Ben Collins <bcollins@debian.org> Fri, 2 Apr 1999 18:11:58 -0500 -+ -+egcs64 (19980921-1) unstable; urgency=low -+ -+ * Original code and patches taken from Ultrapenguin egcs64 package -+ * Initial Release. -+ -+ -- Steve Dunham <dunham@debian.org> Mon, 14 Dec 1998 22:09:05 -0500 -+ -+Local variables: -+mode: debian-changelog -+add-log-mailing-address: "dunham@debian.org" -+End: ---- egcs64-19980921.orig/debian/copyright -+++ egcs64-19980921/debian/copyright -@@ -0,0 +1,39 @@ -+This package was debianized by Steve Dunham dunham@debian.org on -+Mon, 14 Dec 1998 22:09:05 -0500. -+ -+This source was obtained from the egcs cvs repository. Information is -+available at http://egcs.cygnus.com -+ -+Copyright: GPL -+ -+EGCS is derived from gcc, and retains the same ownership and copyright. -+ -+GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, -+1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. -+ -+This program is free software; you can redistribute it and/or modify it -+under the terms of the GNU General Public License as published by the -+Free Software Foundation; either version 2, or (at your option) any -+later version. -+ -+This program is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this program; if not, write to the Free Software -+Foundation, 59 Temple Place - Suite 330, -+Boston, MA 02111-1307, USA. -+ -+On Debian GNU/Linux systems, the complete text of the GNU General -+Public License can be found in `/usr/doc/copyright/GPL'. -+ -+libg++ is copyright Free Software Foundation, and is licensed under -+the GNU Library General Public License which on Debian GNU/Linux -+systems can be found as `/usr/doc/copyright/LGPL'. -+ -+gpc is copyright Free Software Foundation, and is licensed under the -+GNU General Public License which on Debian GNU/Linux systems can be -+found as `/usr/doc/copyright/GPL'. -+ ---- egcs64-19980921.orig/debian/dirs -+++ egcs64-19980921/debian/dirs -@@ -0,0 +1,3 @@ -+usr/bin -+usr/lib -+usr/sparc-linux ---- egcs64-19980921.orig/debian/docs -+++ egcs64-19980921/debian/docs -@@ -0,0 +1 @@ -+README ---- egcs64-19980921.orig/debian/control -+++ egcs64-19980921/debian/control -@@ -0,0 +1,12 @@ -+Source: egcs64 -+Section: devel -+Priority: standard -+Maintainer: Steve Dunham <dunham@debian.org> -+Standards-Version: 2.5.0.0 -+ -+Package: egcs64 -+Architecture: sparc -+Depends: ${shlibs:Depends} -+Description: C Cross-Compiler for 64 bit UltraSPARC kernels -+ This package contains a cross-compiler for compiling 64 bit binaries on sparc -+ systems (mainly 64 bit UltraSPARC kernels). ---- egcs64-19980921.orig/debian/rules -+++ egcs64-19980921/debian/rules -@@ -0,0 +1,82 @@ -+#!/usr/bin/make -f -+# MAde with the aid of dh_make, by Craig Small -+# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. -+# Some lines taken from debmake, by Cristoph Lameter. -+ -+# Uncomment this to turn on verbose mode. -+#export DH_VERBOSE=1 -+ -+build: build-stamp -+build-stamp: configure-stamp -+ dh_testdir -+ -cd obj-sparc64-linux && make CFLAGS='-O2' LANGUAGES=c cross -+ touch build-stamp -+ -+configure-stamp: -+ rm -rf obj-sparc64-linux -+ mkdir obj-sparc64-linux -+ cd obj-sparc64-linux && MAKEINFO="makeinfo --no-split" \ -+ AR_FOR_TARGET=ar LIBGCC2_INCLUDES=-I/usr/include CC=gcc \ -+ ../configure --prefix=/usr \ -+ --enable-shared --enable-threads --enable-languages="" \ -+ --enable-version-specific-runtime-libs sparc64-linux -+ # Do this to trick the cross compile -+ touch obj-sparc64-linux/gcc/{g,c}++ -+ touch obj-sparc64-linux/gcc/{gcc,cpp}.info -+ -+ touch configure-stamp -+ -+clean: -+ dh_testdir -+ dh_testroot -+ rm -f build-stamp install-stamp configure-stamp -+ rm -rf obj-sparc64-linux -+ dh_clean -+ -+install: install-stamp -+install-stamp: build-stamp -+ dh_testdir -+ dh_testroot -+ dh_clean -k -+ dh_installdirs -+ -+ # Add here commands to install the package into debian/tmp. -+ cd obj-sparc64-linux && make install prefix=`pwd`/../debian/tmp/usr \ -+ CFLAGS='-O2 -DHOST_WIDE_INT=long\ long -DHOST_BITS_PER_WIDE_INT=64' \ -+ LANGUAGES=c -+ -+ # Remove extraneous stuff -+ cd debian/tmp/usr && rm -rf man info include -+ rm -f debian/tmp/usr/bin/{*++,g}* debian/tmp/usr/bin/sparc64-linux-*protoize -+ rm -f `find debian/tmp/usr -name libiberty.a -o -name collect2` -+ rm -f debian/tmp/usr/lib/gcc-lib/sparc64-linux/*/cc1plus -+ rm -rf debian/tmp/usr/sparc64-linux -+ ln -s ../lib debian/tmp/usr/sparc-linux/lib -+ # We now provide sparc64-linux-gcc through an alternative since -+ # the default compiler now has -m64 support -+ mv debian/tmp/usr/bin/sparc64-linux-gcc debian/tmp/usr/bin/sparc64-linux-gcc.egcs64 -+ -+ touch install-stamp -+ -+binary-indep: build install -+ -+# Build architecture-dependent files here. -+binary-arch: build install -+ dh_testdir -+ dh_testroot -+ dh_installdocs -+ dh_installchangelogs ChangeLog -+ dh_strip -+ dh_compress -+ dh_fixperms -+ dh_installdeb -+ dh_shlibdeps -+ dh_gencontrol -+ dh_md5sums -+ dh_builddeb -+ -+source diff: -+ @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false -+ -+binary: binary-indep binary-arch -+.PHONY: build clean binary-indep binary-arch binary ---- egcs64-19980921.orig/debian/postinst -+++ egcs64-19980921/debian/postinst -@@ -0,0 +1,4 @@ -+#!/bin/sh -e -+ -+update-alternatives --install /usr/bin/sparc64-linux-gcc sparc64-linux-gcc \ -+ /usr/bin/sparc64-linux-gcc.egcs64 40 ---- egcs64-19980921.orig/debian/prerm -+++ egcs64-19980921/debian/prerm -@@ -0,0 +1,6 @@ -+#!/bin/sh -e -+ -+if [ "$1" != "upgrade" ] -+then -+ update-alternatives --remove sparc64-linux-gcc /usr/bin/sparc64-linux-gcc.egcs64 -+fi diff --git a/sys-devel/egcs64-sparc/metadata.xml b/sys-devel/egcs64-sparc/metadata.xml deleted file mode 100644 index 7a326eec1fa6..000000000000 --- a/sys-devel/egcs64-sparc/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<herd>sparc</herd> -<maintainer> - <email>sparc@gentoo.org</email> - <name>Sparc Team</name> -</maintainer> -<longdescription> -egcs64-sparc is the C compiler used for compiling kernels for UltraSparcs. -</longdescription> -</pkgmetadata> |