summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTavis Ormandy <taviso@gentoo.org>2003-06-10 12:19:00 +0000
committerTavis Ormandy <taviso@gentoo.org>2003-06-10 12:19:00 +0000
commit399120c9dbd6b6275ebcb503fe2b1ad7d9d930bf (patch)
tree801c5ac9d497d0d5ee15ba0eb6a9028093e5d392 /sys-devel/gcc
parentnew version, mark 2.2.1 x86 (diff)
downloadgentoo-2-399120c9dbd6b6275ebcb503fe2b1ad7d9d930bf.tar.gz
gentoo-2-399120c9dbd6b6275ebcb503fe2b1ad7d9d930bf.tar.bz2
gentoo-2-399120c9dbd6b6275ebcb503fe2b1ad7d9d930bf.zip
fixing #18626
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/ChangeLog6
-rw-r--r--sys-devel/gcc/Manifest109
-rw-r--r--sys-devel/gcc/files/gcc-2.95.3-alpha.diff427
-rw-r--r--sys-devel/gcc/gcc-2.95.3-r8.ebuild9
4 files changed, 493 insertions, 58 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index efec60b0b226..349a8eba8d49 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-devel/gcc
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.100 2003/05/27 23:41:45 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.101 2003/06/10 12:18:52 taviso Exp $
+
+ 10 Jun 2003; Tavis Ormandy,,, <taviso@gentoo.org> gcc-2.95.3-r8.ebuild,
+ files/gcc-2.95.3-alpha.diff:
+ new-atexit.diff is not finished for alpha, fixing #18626
19 May 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.ebuild :
Only compile gcj AWT/Swing support if we have the Xlib.h header, else
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index f5f3634d2756..c685194596e6 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,90 +1,91 @@
-MD5 85937b0fe0d923123bf2d068771a6e61 ChangeLog 22533
MD5 63530786ea42df2b5ca6e52999f586f2 gcc-2.95.3-r7.ebuild 5464
-MD5 5a4475fa7fe0b65b070ad173457878d5 gcc-2.95.3-r8.ebuild 9170
-MD5 feb010a6cb97e65c1d201a5796e92942 gcc-3.0.4-r6.ebuild 8766
-MD5 396808683bbe6fe294fe6f803ec4e7a2 gcc-3.1-r8.ebuild 9803
-MD5 b8162a884971199cc4a538d2e484cdfe gcc-3.1.1-r1.ebuild 9636
-MD5 8404d33d188fb93f4f825abf2ad4f8d7 gcc-3.3.ebuild 15669
-MD5 8b116192168fec85477e59d68d24ac44 gcc-3.2-r5.ebuild 12936
-MD5 3d13dcdb8ae4a92e1809b031504feb59 gcc-3.2.2.ebuild 15327
-MD5 857d79065f68cdc820201acbeb5c10ac gcc-3.2.1-r7.ebuild 14840
MD5 25e5edcce8f471a375b397ccbd52a761 gcc-3.2.2-r2.ebuild 15119
+MD5 8404d33d188fb93f4f825abf2ad4f8d7 gcc-3.3.ebuild 15669
MD5 2e5095825f0f653ff7bdd85bf39886be gcc-3.2.3-r1.ebuild 15898
MD5 feed532ddfb47b382cd79f924d8578db manifest 7147
+MD5 857d79065f68cdc820201acbeb5c10ac gcc-3.2.1-r7.ebuild 14840
+MD5 feb010a6cb97e65c1d201a5796e92942 gcc-3.0.4-r6.ebuild 8766
+MD5 b8162a884971199cc4a538d2e484cdfe gcc-3.1.1-r1.ebuild 9636
+MD5 3d13dcdb8ae4a92e1809b031504feb59 gcc-3.2.2.ebuild 15327
+MD5 01db3361d9d3f83536a3628a01a5ba06 gcc-2.95.3-r8.ebuild 9250
+MD5 8b116192168fec85477e59d68d24ac44 gcc-3.2-r5.ebuild 12936
+MD5 396808683bbe6fe294fe6f803ec4e7a2 gcc-3.1-r8.ebuild 9803
+MD5 c3696e669874c1feb2699809e5c726d1 ChangeLog 22698
MD5 d70bcc196f1d68275346f067efcb9373 files/cc 20
MD5 dcf3646d19d351cc4d95a8096c6eaf58 files/cpp 20
-MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r7 64
-MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64
MD5 4a4be6eb294e00da7fef14ec597dcf13 files/digest-gcc-3.0.4-r6 128
-MD5 f0b73e4542862243a43920fd6fd0cb99 files/digest-gcc-3.1-r8 62
MD5 0d683280daf95e6bb9712549352a200c files/digest-gcc-3.1.1-r1 140
-MD5 f07133f69ac2407a34588a33a119f795 files/digest-gcc-3.3 362
-MD5 cd65d39a64a53d74db2ad18611e18a27 files/digest-gcc-3.2-r5 134
MD5 3853f5e3fdf34c40e6f45ae35a845c99 files/digest-gcc-3.2.1-r7 223
-MD5 cd99b576d23043d02ee0b47a63c0c95e files/digest-gcc-3.2.2 64
MD5 a71b08c7e35abe2526586874801de12e files/digest-gcc-3.2.2-r2 226
MD5 88d93eeee1d9cbb203f3c97afa7bbc3a files/digest-gcc-3.2.3-r1 278
-MD5 7ce23f6fb5adf84f6e8ff293c4e7c4dd files/fix_libtool_files.sh 1048
-MD5 2d5af6fe0b03d39a94cb4c4d4b03e226 files/gcc-2.95.3-atexit.diff 1731
-MD5 73da03a8bd40327709e7850d9e2158e6 files/gcc-2.95.3-destructor-atexit.diff 3890
MD5 523970c128b929fe7c7cf36508ebd1d5 files/gcc-2.95.3-new-atexit.diff 13604
-MD5 385267d11aa8b32522d1585b2d520476 files/gcc-3-deopt-doc.patch 819
+MD5 33df162e1767e168f4f39442785071af files/texinfo-4.0-no-ncurses-gentoo.diff 51748
+MD5 2d5af6fe0b03d39a94cb4c4d4b03e226 files/gcc-2.95.3-atexit.diff 1731
+MD5 7ce23f6fb5adf84f6e8ff293c4e7c4dd files/fix_libtool_files.sh 1048
MD5 a84561f46d573c1c835b1c4d2510cc07 files/gcc-3-deopt.patch 588
MD5 9c13e6b0d5770979430b76c578afa22c files/gcc3-program-transform.patch 9771
+MD5 cd99b576d23043d02ee0b47a63c0c95e files/digest-gcc-3.2.2 64
+MD5 73da03a8bd40327709e7850d9e2158e6 files/gcc-2.95.3-destructor-atexit.diff 3890
+MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r7 64
+MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64
+MD5 f07133f69ac2407a34588a33a119f795 files/digest-gcc-3.3 362
+MD5 b1a242694f56184cbcdd40ba25800d50 files/gcc-2.95.3-alpha.diff 14345
+MD5 385267d11aa8b32522d1585b2d520476 files/gcc-3-deopt-doc.patch 819
MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324
-MD5 33df162e1767e168f4f39442785071af files/texinfo-4.0-no-ncurses-gentoo.diff 51748
-MD5 aa7a1e8bbe618c0d88368e69caeb7653 files/3.1/gcc31-attr-visibility.patch.bz2 3671
-MD5 8b4c6af1c730dcdd843a77e8095d312b files/3.1/gcc31-attr-visibility2.patch.bz2 2341
-MD5 98f539e65ab7e21994e5d378537a5506 files/3.1/gcc31-boehm-gc-libs.patch.bz2 1921
-MD5 9495fab2aa4388693856b2c52f5ac363 files/3.1/gcc31-c++-diagnostic-no-line-wrapping.patch.bz2 562
-MD5 ea61b0ff2db11805fb0778c63b51f43b files/3.1/gcc31-c++-null-pm-init.patch.bz2 4434
-MD5 24642b902b9937cdebeb14063859135f files/3.1/gcc31-c++-tsubst-asm.patch.bz2 703
+MD5 f0b73e4542862243a43920fd6fd0cb99 files/digest-gcc-3.1-r8 62
+MD5 cd65d39a64a53d74db2ad18611e18a27 files/digest-gcc-3.2-r5 134
MD5 f7274feec78a2dc4ce9233880804ed0f files/3.1/gcc31-dwarf2-pr6381.patch.bz2 1059
-MD5 87f7be372b23072220fbceed8a127474 files/3.1/gcc31-dwarf2-pr6436-test.patch.bz2 336
-MD5 9ea8c34a980997a0d89744cb2ddf941a files/3.1/gcc31-fdata-sections.patch.bz2 2676
-MD5 d3250673494682fa71cb3760e6de257b files/3.1/gcc31-fde-merge-compat.patch.bz2 634
MD5 a235188ad8a8ac2bb3dc8fcd51603225 files/3.1/gcc31-fold-const.patch.bz2 1867
-MD5 637b53059fa127746952cbffe1e8d403 files/3.1/gcc31-fold-const2.patch.bz2 368
-MD5 734e98009983615eff4814f671d83679 files/3.1/gcc31-i386-expand-clrstr.patch.bz2 527
-MD5 2aadf0591cbf8a4e04235f5fb415f974 files/3.1/gcc31-i386-malign-double-doc.patch.bz2 526
+MD5 9ea8c34a980997a0d89744cb2ddf941a files/3.1/gcc31-fdata-sections.patch.bz2 2676
+MD5 98f539e65ab7e21994e5d378537a5506 files/3.1/gcc31-boehm-gc-libs.patch.bz2 1921
MD5 f3818c997439d173ac11322c08f2f2c8 files/3.1/gcc31-libstdc++-pr6594.patch.bz2 635
-MD5 981171de6a3f8d53741f77c12c221469 files/3.1/gcc31-libstdc++-pr6648.patch.bz2 770
+MD5 87f7be372b23072220fbceed8a127474 files/3.1/gcc31-dwarf2-pr6436-test.patch.bz2 336
+MD5 386ffd7fc3ca4a8af55155fe57871dc4 files/3.1/gcc31-test-rotate.patch.bz2 1060
MD5 2f1d2c02b99aa182f1fd9b6328c8b77a files/3.1/gcc31-libstdc++-setrlim.patch.bz2 584
+MD5 2aadf0591cbf8a4e04235f5fb415f974 files/3.1/gcc31-i386-malign-double-doc.patch.bz2 526
+MD5 ea61b0ff2db11805fb0778c63b51f43b files/3.1/gcc31-c++-null-pm-init.patch.bz2 4434
+MD5 8b4c6af1c730dcdd843a77e8095d312b files/3.1/gcc31-attr-visibility2.patch.bz2 2341
MD5 df404bbcc95193a2591895758915e74e files/3.1/gcc31-pr6643.patch.bz2 421
-MD5 386ffd7fc3ca4a8af55155fe57871dc4 files/3.1/gcc31-test-rotate.patch.bz2 1060
+MD5 aa7a1e8bbe618c0d88368e69caeb7653 files/3.1/gcc31-attr-visibility.patch.bz2 3671
+MD5 9495fab2aa4388693856b2c52f5ac363 files/3.1/gcc31-c++-diagnostic-no-line-wrapping.patch.bz2 562
+MD5 d3250673494682fa71cb3760e6de257b files/3.1/gcc31-fde-merge-compat.patch.bz2 634
+MD5 637b53059fa127746952cbffe1e8d403 files/3.1/gcc31-fold-const2.patch.bz2 368
MD5 7f4bc242692c8e5a2ea0e3e865433d94 files/3.1/gcc31-trunc_int_for_mode.patch.bz2 826
-MD5 2b3b3b8637dc17eedce3b1ca1b68f1f1 files/3.2/gcc-3.2-glibc-2.3-compat.diff 5511
-MD5 a97a78f90c372855823b9facf1ba57b6 files/3.2/gcc-3.2.ctype.patch 3500
+MD5 981171de6a3f8d53741f77c12c221469 files/3.1/gcc31-libstdc++-pr6648.patch.bz2 770
+MD5 24642b902b9937cdebeb14063859135f files/3.1/gcc31-c++-tsubst-asm.patch.bz2 703
+MD5 734e98009983615eff4814f671d83679 files/3.1/gcc31-i386-expand-clrstr.patch.bz2 527
MD5 7f884a426afe182c10d2a5fad94c73cc files/3.2/gcc-3.2.fix-copy.patch 2185
+MD5 a97a78f90c372855823b9facf1ba57b6 files/3.2/gcc-3.2.ctype.patch 3500
+MD5 2b3b3b8637dc17eedce3b1ca1b68f1f1 files/3.2/gcc-3.2-glibc-2.3-compat.diff 5511
MD5 f0d236f86eaa66efd429fdac632e0ae2 files/3.2/gcc-3.2.fix-var.patch 1577
-MD5 7e8381ddac68428122ee2b186e3e7c5b files/3.2.1/gcc-3.2.1-bug-url.patch 537
+MD5 e87eadb8890b6f9a5afff873134c4119 files/3.3/gcc33-propolice-version.patch 631
+MD5 d6ee829d1712436361f5f1daf7b14e83 files/3.3/gcc33-gentoo-branding.patch 890
+MD5 024be708f930f58eea99c548009b9a86 files/awk/fixlafiles.awk 2634
+MD5 51719a174883702ef1851fac4cc79398 files/3.2.1/gcc32-strip-dotdot.patch 2071
MD5 8ec9b0352d226e4693cabffe0fa5bba6 files/3.2.1/gcc31-loop-load-final-value.patch 3324
-MD5 f0261a99a420d6b533014b95c0a7d00c files/3.2.1/gcc32-ada-make.patch 957
-MD5 5e8f2122ef7f9ce187b0a0d50ac9d24a files/3.2.1/gcc32-arm-disable-mathf.patch 2229
-MD5 044a164462d9392aa67cde6f9fd5c1bc files/3.2.1/gcc32-arm-reload1-fix.patch 932
-MD5 38131a537835873acb08c415d27a013e files/3.2.1/gcc32-athlon-alignment.patch 509
MD5 2c18cb2004c626adf634823713582738 files/3.2.1/gcc32-fix-sixtrack.patch 2001
MD5 43442dbe4412f751605f1597815b5671 files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch 445
-MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.1/gcc32-pr8213.patch 2036
+MD5 7978d1aaf6bae19163e83c110dec1b38 files/3.2.1/gcc32-sparc32-hack.patch 2192
+MD5 38131a537835873acb08c415d27a013e files/3.2.1/gcc32-athlon-alignment.patch 509
+MD5 044a164462d9392aa67cde6f9fd5c1bc files/3.2.1/gcc32-arm-reload1-fix.patch 932
+MD5 5e8f2122ef7f9ce187b0a0d50ac9d24a files/3.2.1/gcc32-arm-disable-mathf.patch 2229
+MD5 7e8381ddac68428122ee2b186e3e7c5b files/3.2.1/gcc-3.2.1-bug-url.patch 537
MD5 62e1cc1d310d74e97080b10802263791 files/3.2.1/gcc32-pr8988.patch 2070
+MD5 f0261a99a420d6b533014b95c0a7d00c files/3.2.1/gcc32-ada-make.patch 957
+MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.1/gcc32-pr8213.patch 2036
+MD5 444d0885eecc638ed3ca644d96323422 files/3.2.1/gcc32-tls-reload-fix.patch 6660
MD5 f8505ae264a0fe9557382b7c96a13461 files/3.2.1/gcc32-shared-pthread.patch 3637
-MD5 7978d1aaf6bae19163e83c110dec1b38 files/3.2.1/gcc32-sparc32-hack.patch 2192
-MD5 51719a174883702ef1851fac4cc79398 files/3.2.1/gcc32-strip-dotdot.patch 2071
MD5 c113c3352ad365b8a35d2b0c21e69256 files/3.2.1/gcc32-testsuite.patch 650
-MD5 444d0885eecc638ed3ca644d96323422 files/3.2.1/gcc32-tls-reload-fix.patch 6660
-MD5 203daadba73857e4a55377c24c4e447d files/3.2.2/gcc-322-r3-propolice-version.patch 715
MD5 17f15202b98a8dd84d0f4b67eff2d868 files/3.2.2/gcc32-pr7768.patch 1789
-MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.2/gcc32-pr8213.patch 2036
-MD5 0760a0992d24384d13b7e160614c54ac files/3.2.2/gcc32-pr9732.patch 5534
+MD5 c940a836992f425c3182b58f555592c7 files/3.2.2/protector_parallel_make.patch 483
MD5 465eeaf6008c25dc69ff502dc2a9d8e0 files/3.2.2/gcc322-ggc_page-speedup.patch 872
MD5 ccb007933a794eb661ee3b742189f285 files/3.2.2/gcc322-pr8746.patch 2816
+MD5 203daadba73857e4a55377c24c4e447d files/3.2.2/gcc-322-r3-propolice-version.patch 715
+MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.2/gcc32-pr8213.patch 2036
+MD5 0760a0992d24384d13b7e160614c54ac files/3.2.2/gcc32-pr9732.patch 5534
MD5 f055e4ef28077477e8d64c6a985b1ad4 files/3.2.2/gcc322-pr9888.patch 9771
-MD5 c940a836992f425c3182b58f555592c7 files/3.2.2/protector_parallel_make.patch 483
-MD5 1f4f8ca52d2dda4a5dc3a9b8f130841c files/3.2.3/gcc-323-propolice-version.patch 700
-MD5 c9c45dab64bab25e716859626ad7f94f files/3.2.3/gcc32-c++-classfn-member-template.patch 3219
MD5 494d917cc15c81c9cead4a8c17d4d00d files/3.2.3/gcc32-mklibgcc-serialize-crtfiles.patch 926
+MD5 c9c45dab64bab25e716859626ad7f94f files/3.2.3/gcc32-c++-classfn-member-template.patch 3219
MD5 99db7c1a41babe024f0c6859c30a87ee files/3.2.3/gcc323-gentoo-branding.patch 2058
MD5 9c700e137dd3bbd20dff378114b34943 files/3.2.3/protector-3.2.2-6-PPC.patch 439
-MD5 d6ee829d1712436361f5f1daf7b14e83 files/3.3/gcc33-gentoo-branding.patch 890
-MD5 e87eadb8890b6f9a5afff873134c4119 files/3.3/gcc33-propolice-version.patch 631
-MD5 024be708f930f58eea99c548009b9a86 files/awk/fixlafiles.awk 2634
+MD5 1f4f8ca52d2dda4a5dc3a9b8f130841c files/3.2.3/gcc-323-propolice-version.patch 700
diff --git a/sys-devel/gcc/files/gcc-2.95.3-alpha.diff b/sys-devel/gcc/files/gcc-2.95.3-alpha.diff
new file mode 100644
index 000000000000..f97fb94b90e4
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-2.95.3-alpha.diff
@@ -0,0 +1,427 @@
+2000-04-29 Richard Henderson <rth@cygnus.com>
+
+ * config/alpha/crtbegin.asm: Use C comments instead of #.
+ Mark __dso_handle hidden.
+
+2000-02-16 Richard Henderson <rth@cygnus.com>
+
+ * configure.in (alpha-linux*, alpha-netbsd) [extra_parts]:
+ Add crtbeginS.o and crtendS.o.
+ * alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o.
+ (ENDFILE_SPEC): Use crtendS.o.
+ * alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets.
+
+ * alpha/crtbegin.asm (__do_frame_takedown): Merge into ...
+ (__do_global_dtors_aux): ... here. Call __cxa_finalize if
+ shared and present.
+ (__dso_handle): New variable.
+
+2000-04-04 Ulrich Drepper <drepper@cygnus.com>
+
+ * acconfig.h: Add HAVE_GAS_HIDDEN.
+ * config.in: Regenerated.
+ * configure.in: Add test for .hidden pseudo-op in gas.
+ * configure: Regenerated.
+ * crtstuff.c: Include auto-host.h.
+ Emit additional .hidden pseudo-op for __dso_handle if the
+ assembler knows about it.
+
+--- gcc-2.95.x/gcc/config/alpha/crtbegin.asm.jj Wed Dec 16 22:00:53 1998
++++ gcc-2.95.x/gcc/config/alpha/crtbegin.asm Mon Aug 13 11:16:43 2001
+@@ -1,42 +1,46 @@
+- # Copyright (C) 1996, 1998 Free Software Foundation, Inc.
+- # Contributed by Richard Henderson (rth@tamu.edu)
+- #
+- # This file 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.
+- #
+- # In addition to the permissions in the GNU General Public License, the
+- # Free Software Foundation gives you unlimited permission to link the
+- # compiled version of this file with other programs, and to distribute
+- # those programs without any restriction coming from the use of this
+- # file. (The General Public License restrictions do apply in other
+- # respects; for example, they cover modification of the file, and
+- # distribution when not linked into another program.)
+- #
+- # This file 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; see the file COPYING. If not, write to
+- # the Free Software Foundation, 59 Temple Place - Suite 330,
+- # Boston, MA 02111-1307, USA.
+- #
+- # As a special exception, if you link this library with files
+- # compiled with GCC to produce an executable, this does not cause
+- # the resulting executable to be covered by the GNU General Public License.
+- # This exception does not however invalidate any other reasons why
+- # the executable file might be covered by the GNU General Public License.
+-
+- #
+- # Heads of the constructor/destructor lists.
+- #
+-
+- # The __*TOR_LIST__ symbols are not global because when this file is used
+- # in a shared library, we do not want the symbol to fall over to the
+- # application's lists.
++/* Copyright (C) 1996, 1998 Free Software Foundation, Inc.
++ * Contributed by Richard Henderson (rth@tamu.edu)
++ *
++ * This file 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.
++ *
++ * In addition to the permissions in the GNU General Public License, the
++ * Free Software Foundation gives you unlimited permission to link the
++ * compiled version of this file with other programs, and to distribute
++ * those programs without any restriction coming from the use of this
++ * file. (The General Public License restrictions do apply in other
++ * respects; for example, they cover modification of the file, and
++ * distribution when not linked into another program.)
++ *
++ * This file 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; see the file COPYING. If not, write to
++ * the Free Software Foundation, 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ *
++ * As a special exception, if you link this library with files
++ * compiled with GCC to produce an executable, this does not cause
++ * the resulting executable to be covered by the GNU General Public License.
++ * This exception does not however invalidate any other reasons why
++ * the executable file might be covered by the GNU General Public License.
++ */
++
++
++
++/*
++ * Heads of the constructor/destructor lists.
++ */
++
++/* The __*TOR_LIST__ symbols are not global because when this file is used
++ * in a shared library, we do not want the symbol to fall over to the
++ * application's lists.
++ */
+
+ .section .ctors,"aw"
+
+@@ -53,34 +57,34 @@ __DTOR_LIST__:
+ .section .eh_frame,"aw"
+ __EH_FRAME_BEGIN__:
+
+- #
+- # Fragment of the ELF _fini routine that invokes our dtor cleanup.
+- #
++/*
++ * Fragment of the ELF _fini routine that invokes our dtor cleanup.
++ */
+
+ .section .fini,"ax"
+
+- # Since the bits of the _fini function are spread across many
+- # object files, each potentially with its own GP, we must
+- # assume we need to load ours. Further, our .fini section
+- # can easily be more than 4MB away from our .text bits so we
+- # can't use bsr.
++ /* Since the bits of the _fini function are spread across many
++ object files, each potentially with its own GP, we must
++ assume we need to load ours. Further, our .fini section
++ can easily be more than 4MB away from our .text bits so we
++ can't use bsr. */
+
+ br $29,1f
+ 1: ldgp $29,0($29)
+ jsr $26,__do_global_dtors_aux
+
+- # Ideally this call would go in crtend.o, except that we can't
+- # get hold of __EH_FRAME_BEGIN__ there.
++ /* Ideally this call would go in crtend.o, except that we can't
++ get hold of __EH_FRAME_BEGIN__ there */
+
+ jsr $26,__do_frame_takedown
+
+- # Must match the alignment we got from crti.o else we get
+- # zero-filled holes in our _fini function and then SIGILL.
++ /* Must match the alignment we got from crti.o else we get
++ zero-filled holes in our _fini function and then SIGILL. */
+ .align 3
+
+- #
+- # Fragment of the ELF _init routine that sets up the frame info.
+- #
++/*
++ * Fragment of the ELF _init routine that sets up the frame info.
++ */
+
+ .section .init,"ax"
+ br $29,1f
+@@ -88,32 +92,68 @@ __EH_FRAME_BEGIN__:
+ jsr $26,__do_frame_setup
+ .align 3
+
+- #
+- # Invoke our destructors in order.
+- #
++/*
++ * Invoke our destructors in order.
++ */
+
+ .data
+
+- # Support recursive calls to exit.
++/* Support recursive calls to exit. */
+ $ptr: .quad __DTOR_LIST__
+
++/* A globally unique widget for c++ local destructors to hang off.
++
++ This has a unique value in every dso; in the main program its
++ value is zero. The object should be protected. This means the
++ instance in any dso or the main program is not used in any other
++ dso. The dynamic linker takes care of this. */
++
++ .global __dso_handle
++ .type __dso_handle,@object
++ .size __dso_handle,8
++#ifdef SHARED
++.section .data
++ .align 3
++__dso_handle:
++ .quad __dso_handle
++#else
++.section .bss
++ .align 3
++__dso_handle:
++ .zero 8
++#endif
++#ifdef HAVE_GAS_HIDDEN
++ .hidden __dso_handle
++#endif
++
+ .text
+
+ .align 3
+ .ent __do_global_dtors_aux
+
+ __do_global_dtors_aux:
++ ldgp $29,0($27)
+ lda $30,-16($30)
+ .frame $30,16,$26,0
+ stq $9,8($30)
+ stq $26,0($30)
+ .mask 0x4000200,-16
+- .prologue 0
++ .prologue 1
+
++#ifdef SHARED
++ /* Do c++ local destructors. */
++ lda $1,__cxa_finalize
++ beq $1,2f
++ lda $16,__dso_handle
++ jsr $26,__cxa_finalize
++ ldgp $29,0($26)
++2:
++#endif
+ lda $9,$ptr
+ br 1f
+ 0: stq $1,0($9)
+ jsr $26,($27)
++ ldgp $29,0($26)
+ 1: ldq $1,0($9)
+ ldq $27,8($1)
+ addq $1,8,$1
+@@ -126,11 +166,11 @@ __do_global_dtors_aux:
+
+ .end __do_global_dtors_aux
+
+- #
+- # Install our frame info.
+- #
++/*
++ * Install our frame info.
++ */
+
+- # ??? How can we rationally keep this size correct?
++/* ??? How can we rationally keep this size correct? */
+
+ .section .bss
+ .type $object,@object
+@@ -163,9 +203,9 @@ __do_frame_setup:
+
+ .end __do_frame_setup
+
+- #
+- # Remove our frame info.
+- #
++/*
++ * Remove our frame info.
++ */
+
+ .align 3
+ .ent __do_frame_takedown
+@@ -190,3 +230,6 @@ __do_frame_takedown:
+
+ .weak __register_frame_info
+ .weak __deregister_frame_info
++#ifdef SHARED
++.weak __cxa_finalize
++#endif
+--- gcc-2.95.x/gcc/config/alpha/t-crtbe.jj Wed Dec 16 22:01:05 1998
++++ gcc-2.95.x/gcc/config/alpha/t-crtbe Mon Aug 13 11:08:08 2001
+@@ -3,7 +3,13 @@ T = disable
+
+ # Assemble startup files.
+ crtbegin.o: $(srcdir)/config/alpha/crtbegin.asm $(GCC_PASSES)
+- $(GCC_FOR_TARGET) -c -o crtbegin.o -x assembler $(srcdir)/config/alpha/crtbegin.asm
++ $(GCC_FOR_TARGET) -c -o crtbegin.o -x assembler-with-cpp $(srcdir)/config/alpha/crtbegin.asm
+
+ crtend.o: $(srcdir)/config/alpha/crtend.asm $(GCC_PASSES)
+- $(GCC_FOR_TARGET) -c -o crtend.o -x assembler $(srcdir)/config/alpha/crtend.asm
++ $(GCC_FOR_TARGET) -c -o crtend.o -x assembler $(srcdir)/config/alpha/crtend.asm
++
++crtbeginS.o: $(srcdir)/config/alpha/crtbegin.asm $(GCC_PASSES)
++ $(GCC_FOR_TARGET) -DSHARED -c -o crtbeginS.o -x assembler-with-cpp -I. $(srcdir)/config/alpha/crtbegin.asm
++
++crtendS.o: $(srcdir)/config/alpha/crtend.asm $(GCC_PASSES)
++ $(GCC_FOR_TARGET) -c -o crtendS.o -x assembler -I. $(srcdir)/config/alpha/crtend.asm
+--- gcc-2.95.x/gcc/config/alpha/elf.h.jj Mon Jun 21 22:15:10 1999
++++ gcc-2.95.x/gcc/config/alpha/elf.h Mon Aug 13 11:09:13 2001
+@@ -513,7 +513,7 @@ do { \
+ #define STARTFILE_SPEC \
+ "%{!shared: \
+ %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}\
+- crti.o%s crtbegin.o%s"
++ crti.o%s %{shared:crtbeginS.o%s}%{!shared:crtbegin.o%s}"
+
+ /* Provide a ENDFILE_SPEC appropriate for ELF. Here we tack on the
+ magical crtend.o file which provides part of the support for
+@@ -522,7 +522,7 @@ do { \
+
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+- "crtend.o%s crtn.o%s"
++ "%{shared:crtendS.o%s}%{!shared:crtend.o%s} crtn.o%s"
+
+ /* We support #pragma. */
+ #define HANDLE_SYSV_PRAGMA
+--- gcc-2.95.x/gcc/crtstuff.c 2001/04/03 10:34:32 1.18.4.1
++++ gcc-2.95.x/gcc/crtstuff.c 2001/08/09 06:56:33
+@@ -55,6 +55,7 @@ Boston, MA 02111-1307, USA. */
+ #include "defaults.h"
+ #include <stddef.h>
+ #include "frame.h"
++#include "auto-host.h"
+
+ /* We do not want to add the weak attribute to the declarations of these
+ routines in frame.h because that will cause the definition of these
+@@ -134,7 +135,29 @@ typedef void (*func_ptr) (void);
+ #ifdef INIT_SECTION_ASM_OP
+
+ #ifdef OBJECT_FORMAT_ELF
++/* Declare the __dso_handle variable. It should have a unique value
++ in every shared-object; in a main program its value is zero. The
++ object should in any case be protected. This means the instance
++ in one DSO or the main program is not used in another object. The
++ dynamic linker takes care of this. */
++
++/* XXX Ideally the following should be implemented using
++ __attribute__ ((__visibility__ ("hidden")))
++ but the __attribute__ support is not yet there. */
++#ifdef HAVE_GAS_HIDDEN
++asm (".hidden\t__dso_handle");
++#endif
++
++#ifdef CRTSTUFFS_O
++void *__dso_handle = &__dso_handle;
++#else
++void *__dso_handle = 0;
++#endif
+
++/* The __cxa_finalize function may not be available so we use only a
++ weak declaration. */
++extern void __cxa_finalize (void *) TARGET_ATTRIBUTE_WEAK;
++
+ /* Run all the global destructors on exit from the program. */
+
+ /* Some systems place the number of pointers in the first word of the
+@@ -164,6 +187,11 @@ __do_global_dtors_aux (void)
+
+ if (completed)
+ return;
++
++#ifdef CRTSTUFFS_O
++ if (__cxa_finalize)
++ __cxa_finalize (__dso_handle);
++#endif
+
+ while (*p)
+ {
+--- gcc-2.95.x/gcc/configure.in.jj Wed Oct 13 09:58:02 1999
++++ gcc-2.95.x/gcc/configure.in Mon Aug 13 11:11:39 2001
+@@ -608,7 +608,7 @@ changequote([,])dnl
+ tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
+ target_cpu_default="MASK_GAS"
+ tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe alpha/t-ieee"
+- extra_parts="crtbegin.o crtend.o"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
+ xmake_file=none
+ gas=yes gnu_ld=yes
+ if test x$enable_threads = xyes; then
+@@ -619,7 +619,7 @@ changequote([,])dnl
+ tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
+ target_cpu_default="MASK_GAS"
+ tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-ieee"
+- extra_parts="crtbegin.o crtend.o"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
+ xmake_file=none
+ gas=yes gnu_ld=yes
+ if test x$enable_threads = xyes; then
+@@ -630,7 +630,7 @@ changequote([,])dnl
+ tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
+ target_cpu_default="MASK_GAS"
+ tmake_file="alpha/t-crtbe alpha/t-ieee"
+- extra_parts="crtbegin.o crtend.o"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
+ xmake_file=none
+ gas=yes gnu_ld=yes
+ ;;
+@@ -4052,6 +4052,21 @@ EOF
+ rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
+ fi
+ AC_MSG_RESULT($gcc_cv_as_subsections)
++
++AC_MSG_CHECKING(assembler hidden support)
++gcc_cv_as_hidden=
++if test x$gcc_cv_as != x; then
++ # Check if we have .hidden
++ echo " .hidden foobar" > conftest.s
++ echo "foobar:" >> conftest.s
++ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
++ AC_DEFINE(HAVE_GAS_HIDDEN, 1,
++ [Define if your assembler supports .hidden.])
++ gcc_cv_as_hidden="yes"
++ fi
++ rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
++fi
++AC_MSG_RESULT($gcc_cv_as_hidden)
+
+ AC_MSG_CHECKING(assembler instructions)
+ gcc_cv_as_instructions=
+--- gcc-2.95.x/gcc/config.in.jj Mon Oct 25 10:02:08 1999
++++ gcc-2.95.x/gcc/config.in Wed Jun 13 12:45:56 2001
+2 the beginning of your section */
+ #undef HAVE_GAS_SUBSECTION_ORDERING
+
++/* Define if your assembler supports .hidden. */
++#undef HAVE_GAS_HIDDEN
++
+ /* Define if your assembler uses the old HImode fild and fist notation. */
+ #undef HAVE_GAS_FILDS_FISTS
diff --git a/sys-devel/gcc/gcc-2.95.3-r8.ebuild b/sys-devel/gcc/gcc-2.95.3-r8.ebuild
index 5b733b42c67c..c2a152b6a990 100644
--- a/sys-devel/gcc/gcc-2.95.3-r8.ebuild
+++ b/sys-devel/gcc/gcc-2.95.3-r8.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r8.ebuild,v 1.17 2003/04/03 21:55:06 mholzer Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r8.ebuild,v 1.18 2003/06/10 12:18:52 taviso Exp $
IUSE="static nls bootstrap java build"
@@ -105,8 +105,11 @@ src_unpack() {
#
# Azarah - 30 Jun 2002
#
- epatch ${FILESDIR}/${P}-new-atexit.diff
-
+ if ! use alpha >/dev/null ;then
+ epatch ${FILESDIR}/${P}-new-atexit.diff
+ else
+ epatch ${FILESDIR}/${P}-alpha.diff
+ fi
# Currently if any path is changed via the configure script, it breaks
# installing into ${D}. We should not patch it in src_install() with
# absolute paths, as some modules then gets rebuild with the wrong