Your message dated Thu, 10 Apr 2003 17:32:49 -0400 with message-id <[EMAIL PROTECTED]> and subject line Bug#187652: fixed in gcc-3.2 1:3.2.3ds7-0pre8 has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database) -------------------------------------- Received: (at submit) by bugs.debian.org; 4 Apr 2003 21:44:24 +0000 >From [EMAIL PROTECTED] Fri Apr 04 15:44:23 2003 Return-path: <[EMAIL PROTECTED]> Received: from gandalf.tausq.org (pippin.tausq.org) [64.81.244.94] by master.debian.org with esmtp (Exim 3.12 1 (Debian)) id 191Yyz-0007g7-00; Fri, 04 Apr 2003 15:44:22 -0600 Received: by pippin.tausq.org (Postfix, from userid 1000) id DE5C6CD295; Fri, 4 Apr 2003 13:44:14 -0800 (PST) Date: Fri, 4 Apr 2003 13:44:14 -0800 From: Randolph Chung <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: [patch] [3.2.3/hppa] fix function pointer comparisions Message-ID: <[EMAIL PROTECTED]> Reply-To: Randolph Chung <[EMAIL PROTECTED]> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="ZPt4rx8FFjLCG7dd" Content-Disposition: inline X-PGP: for PGP key, see http://www.tausq.org/pgp.txt X-GPG: for GPG key, see http://www.tausq.org/gpg.txt User-Agent: Mutt/1.5.3i Delivered-To: [EMAIL PROTECTED] X-Spam-Status: No, hits=-2.8 required=4.0 tests=HAS_PACKAGE,PATCH_UNIFIED_DIFF,SPAM_PHRASE_00_01, USER_AGENT,USER_AGENT_MUTT version=2.44 X-Spam-Level: --ZPt4rx8FFjLCG7dd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Package: gcc Version: 3.2.3 Severity: important Tags: patch Please include the attached patch in the next gcc-3.2.3 upload. It fixes an important bug in doing function pointer comparisions on hppa. This patch was backported from the gcc-3.3 branch. Test-compiled with no regressions. This bug causes some X programs to be miscompiled and not work. thanks randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ --ZPt4rx8FFjLCG7dd Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="hppa-fptr.dpatch" #! /bin/sh -e # DP: Handle function pointer comparisions on hppa properly # DP: Backported from gcc-3.3 branch # DP: http://gcc.gnu.org/ml/gcc-cvs/2002-12/msg00157.html # DP: http://gcc.gnu.org/ml/gcc-cvs/2002-12/msg00195.html dir= if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" dir="$3/" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0 #cd ${dir}gcc && autoconf ;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 #rm ${dir}gcc/configure ;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 2002-12-04 John David Anglin <[EMAIL PROTECTED]> * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function. * pa.md (canonicalize_funcptr_for_compare): Output library call to canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32. * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL, CTOR_LIST_BEGIN): New defines. * pa/t-linux (LIB2FUNCS_EXTRA): New define. (fptr.c): Add make rules. 2002-12-05 John David Anglin <[EMAIL PROTECTED]> * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define. * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here. diff -uNrp src.orig/gcc/config/pa/fptr.c src/gcc/config/pa/fptr.c --- src.orig/gcc/config/pa/fptr.c 1969-12-31 16:00:00.000000000 -0800 +++ src/gcc/config/pa/fptr.c 2003-03-30 14:50:24.000000000 -0800 @@ -0,0 +1,127 @@ +/* Subroutine for function pointer canonicalization on PA-RISC with ELF32. + Copyright 2002 Free Software Foundation, Inc. + Contributed by John David Anglin ([EMAIL PROTECTED]). + +This file is part of GNU CC. + +GNU CC 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. + +GNU CC 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 GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* WARNING: The code is this function depends on internal and undocumented + details of the GNU linker and dynamic loader as implemented for parisc + linux. */ + +/* This MUST match the defines sysdeps/hppa/dl-machine.h and + bfd/elf32-hppa.c. */ +#define GOT_FROM_PLT_STUB (4*4) + +/* List of byte offsets in _dl_runtime_resolve to search for "bl" branches. + The first "bl" branch instruction found MUST be a call to fixup. See + the define for TRAMPOLINE_TEMPLATE in sysdeps/hppa/dl-machine.h. If + the trampoline template is changed, the list must be appropriately + updated. The offset of -4 allows for a magic branch at the start of + the template should it be necessary to change the current branch + position. */ +#define NOFFSETS 2 +static int fixup_branch_offset[NOFFSETS] = { 32, -4 }; + +#define GET_FIELD(X, FROM, TO) \ + ((X) >> (31 - (TO)) & ((1 << ((TO) - (FROM) + 1)) - 1)) +#define SIGN_EXTEND(VAL,BITS) \ + ((int) ((VAL) >> ((BITS) - 1) ? (-1 << (BITS)) | (VAL) : (VAL))) + +struct link_map; +typedef int (*fptr_t) (void); +typedef int (*fixup_t) (struct link_map *, unsigned int); +extern unsigned int _GLOBAL_OFFSET_TABLE_; + +/* __canonicalize_funcptr_for_compare must be hidden so that it is not + placed in the dynamic symbol table. Like millicode functions, it + must be linked into all binaries in order access the got table of + that binary. However, we don't use the millicode calling convention + and the routine must be a normal function so that it can be compiled + as pic code. */ +unsigned int __canonicalize_funcptr_for_compare (fptr_t) + __attribute__ ((visibility ("hidden"))); + +unsigned int +__canonicalize_funcptr_for_compare (fptr) + fptr_t fptr; +{ + static unsigned int fixup_plabel[2]; + static fixup_t fixup; + unsigned int *plabel, *got; + + /* -1 is special. It is used in crtend to mark the end of a list of + function pointers. Also return immediately if the plabel bit is + not set in the function pointer. In this case, the function pointer + points directly to the function. */ + if ((int) fptr == -1 || !((int) fptr & 2)) + return (unsigned int) fptr; + + /* The function pointer points to a function descriptor (plabel). If + the plabel hasn't been resolved, the first word of the plabel points + to the entry of the PLT stub just before the global offset table. + The second word in the plabel contains the relocation offset for the + function. */ + plabel = (unsigned int *) ((unsigned int) fptr & ~3); + got = (unsigned int *) (plabel[0] + GOT_FROM_PLT_STUB); + + /* Return the address of the function if the plabel has been resolved. */ + if (got != &_GLOBAL_OFFSET_TABLE_) + return plabel[0]; + + /* Initialize our plabel for calling fixup if we haven't done so already. + This code needs to be thread safe but we don't have to be too careful + as the result is invariant. */ + if (!fixup) + { + int i; + unsigned int *iptr; + + /* Find the first "bl" branch in the offset search list. This is a + call to fixup or a magic branch to fixup at the beginning of the + trampoline template. The fixup function does the actual runtime + resolution of function decriptors. We only look for "bl" branches + with a 17-bit pc-relative displacement. */ + for (i = 0; i < NOFFSETS; i++) + { + iptr = (unsigned int *) (got[-2] + fixup_branch_offset[i]); + if ((*iptr & 0xfc00e000) == 0xe8000000) + break; + } + + /* This should not happen... */ + if (i == NOFFSETS) + return ~0; + + /* Extract the 17-bit displacement from the instruction. */ + iptr += SIGN_EXTEND (GET_FIELD (*iptr, 19, 28) | + GET_FIELD (*iptr, 29, 29) << 10 | + GET_FIELD (*iptr, 11, 15) << 11 | + GET_FIELD (*iptr, 31, 31) << 16, 17); + + /* Build a plabel for an indirect call to fixup. */ + fixup_plabel[0] = (unsigned int) iptr + 8; /* address of fixup */ + fixup_plabel[1] = got[-1]; /* ltp for fixup */ + fixup = (fixup_t) ((int) fixup_plabel | 3); + } + + /* Call fixup to resolve the function address. got[1] contains the + link_map pointer and plabel[1] the relocation offset. */ + fixup ((struct link_map *) got[1], plabel[1]); + + return plabel[0]; +} diff -uNrp src.orig/gcc/config/pa/pa.h src/gcc/config/pa/pa.h --- src.orig/gcc/config/pa/pa.h 2002-12-28 16:29:03.000000000 -0800 +++ src/gcc/config/pa/pa.h 2003-03-30 14:50:24.000000000 -0800 @@ -2033,3 +2033,7 @@ while (0) {"cmpib_comparison_operator", {EQ, NE, LT, LE, LEU, \ GT, GTU, GE}}, \ {"movb_comparison_operator", {EQ, NE, LT, GE}}, + +/* We need a libcall to canonicalize function pointers on TARGET_ELF32. */ +#define CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL \ + "__canonicalize_funcptr_for_compare" diff -uNrp src.orig/gcc/config/pa/pa.md src/gcc/config/pa/pa.md --- src.orig/gcc/config/pa/pa.md 2003-02-21 02:19:25.000000000 -0800 +++ src/gcc/config/pa/pa.md 2003-03-30 14:50:24.000000000 -0800 @@ -7144,9 +7144,20 @@ (clobber (reg:SI 31))]) (set (match_operand:SI 0 "register_operand" "") (reg:SI 29))] - "! TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && !TARGET_ELF32" + "!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT" " { + if (TARGET_ELF32) + { + rtx canonicalize_funcptr_for_compare_libfunc + = init_one_libfunc (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL); + + emit_library_call_value (canonicalize_funcptr_for_compare_libfunc, + operands[0], LCT_NORMAL, Pmode, + 1, operands[1], Pmode); + DONE; + } + operands[2] = gen_reg_rtx (SImode); if (GET_CODE (operands[1]) != REG) { diff -uNrp src.orig/gcc/config/pa/pa32-linux.h src/gcc/config/pa/pa32-linux.h --- src.orig/gcc/config/pa/pa32-linux.h 2002-03-01 15:38:29.000000000 -0800 +++ src/gcc/config/pa/pa32-linux.h 2003-03-30 14:52:25.000000000 -0800 @@ -24,3 +24,17 @@ Boston, MA 02111-1307, USA. */ #undef CPP_SPEC #define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{mhppa:-D__hppa__} %{posix:-D_POSIX_SOURCE} -D_PA_RISC1_1" + +/* The libcall __canonicalize_funcptr_for_compare is referenced in + crtend.o and the reference isn't resolved in objects that don't + compare function pointers. Thus, we need to play games to provide + a reference in crtbegin.o. The rest of the define is the same + as that in crtstuff.c */ +#define CTOR_LIST_BEGIN \ + asm (".type __canonicalize_funcptr_for_compare,@function\n" \ +" .text\n" \ +" .word __canonicalize_funcptr_for_compare-$PIC_pcrel$0"); \ + STATIC func_ptr __CTOR_LIST__[1] \ + __attribute__ ((__unused__, section(".ctors"), \ + aligned(sizeof(func_ptr)))) \ + = { (func_ptr) (-1) } diff -uNrp src.orig/gcc/config/pa/t-linux src/gcc/config/pa/t-linux --- src.orig/gcc/config/pa/t-linux 2002-05-01 02:45:08.000000000 -0700 +++ src/gcc/config/pa/t-linux 2003-03-30 14:50:24.000000000 -0800 @@ -9,8 +9,14 @@ LIB1ASMFUNCS = _divI _divU _remI _remU LIB1ASMSRC = pa/milli32.S -# Compile crtbeginS.o and crtendS.o as PIC. -CRTSTUFF_T_CFLAGS_S = -fPIC - # Compile libgcc2.a as PIC. TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DLINUX=1 + +LIB2FUNCS_EXTRA=fptr.c + +fptr.c: $(srcdir)/config/pa/fptr.c + rm -f fptr.c + cp $(srcdir)/config/pa/fptr.c . + +# Compile crtbeginS.o and crtendS.o as PIC. +CRTSTUFF_T_CFLAGS_S = -fPIC --ZPt4rx8FFjLCG7dd-- --------------------------------------- Received: (at 187652-close) by bugs.debian.org; 10 Apr 2003 21:38:46 +0000 >From [EMAIL PROTECTED] Thu Apr 10 16:38:46 2003 Return-path: <[EMAIL PROTECTED]> Received: from auric.debian.org [206.246.226.45] (mail) by master.debian.org with esmtp (Exim 3.12 1 (Debian)) id 193jkr-0000Mm-00; Thu, 10 Apr 2003 16:38:45 -0500 Received: from katie by auric.debian.org with local (Exim 3.35 1 (Debian)) id 193jf7-0002CF-00; Thu, 10 Apr 2003 17:32:49 -0400 From: Matthias Klose <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] X-Katie: $Revision: 1.33 $ Subject: Bug#187652: fixed in gcc-3.2 1:3.2.3ds7-0pre8 Message-Id: <[EMAIL PROTECTED]> Sender: Archive Administrator <[EMAIL PROTECTED]> Date: Thu, 10 Apr 2003 17:32:49 -0400 Delivered-To: [EMAIL PROTECTED] We believe that the bug you reported is fixed in the latest version of gcc-3.2, which is due to be installed in the Debian FTP archive: cpp-3.2-doc_3.2.3-0pre8_all.deb to pool/main/g/gcc-3.2/cpp-3.2-doc_3.2.3-0pre8_all.deb cpp-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/cpp-3.2_3.2.3-0pre8_i386.deb fastjar_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/fastjar_3.2.3-0pre8_i386.deb fixincludes_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/fixincludes_3.2.3-0pre8_i386.deb g++-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/g++-3.2_3.2.3-0pre8_i386.deb g77-3.2-doc_3.2.3-0pre8_all.deb to pool/main/g/gcc-3.2/g77-3.2-doc_3.2.3-0pre8_all.deb g77-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/g77-3.2_3.2.3-0pre8_i386.deb gcc-3.2-base_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/gcc-3.2-base_3.2.3-0pre8_i386.deb gcc-3.2-doc_3.2.3-0pre8_all.deb to pool/main/g/gcc-3.2/gcc-3.2-doc_3.2.3-0pre8_all.deb gcc-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/gcc-3.2_3.2.3-0pre8_i386.deb gcc-3.2_3.2.3ds7-0pre8.diff.gz to pool/main/g/gcc-3.2/gcc-3.2_3.2.3ds7-0pre8.diff.gz gcc-3.2_3.2.3ds7-0pre8.dsc to pool/main/g/gcc-3.2/gcc-3.2_3.2.3ds7-0pre8.dsc gcc-3.2_3.2.3ds7.orig.tar.gz to pool/main/g/gcc-3.2/gcc-3.2_3.2.3ds7.orig.tar.gz gcj-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/gcj-3.2_3.2.3-0pre8_i386.deb gij-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/gij-3.2_3.2.3-0pre8_i386.deb gnat-3.2-doc_3.2.3-0pre8_all.deb to pool/main/g/gcc-3.2/gnat-3.2-doc_3.2.3-0pre8_all.deb gnat-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/gnat-3.2_3.2.3-0pre8_i386.deb gobjc-3.2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/gobjc-3.2_3.2.3-0pre8_i386.deb gpc-2.1-3.2-doc_3.2.3.20030323-0pre8_all.deb to pool/main/g/gcc-3.2/gpc-2.1-3.2-doc_3.2.3.20030323-0pre8_all.deb gpc-2.1-3.2_3.2.3.20030323-0pre8_i386.deb to pool/main/g/gcc-3.2/gpc-2.1-3.2_3.2.3.20030323-0pre8_i386.deb libffi2-dev_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libffi2-dev_3.2.3-0pre8_i386.deb libffi2_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libffi2_3.2.3-0pre8_i386.deb libg2c0_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libg2c0_3.2.3-0pre8_i386.deb libgcc1_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libgcc1_3.2.3-0pre8_i386.deb libgcj-common_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libgcj-common_3.2.3-0pre8_i386.deb libgcj3-dev_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libgcj3-dev_3.2.3-0pre8_i386.deb libgcj3_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libgcj3_3.2.3-0pre8_i386.deb libobjc1_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libobjc1_3.2.3-0pre8_i386.deb libstdc++5-dbg_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libstdc++5-dbg_3.2.3-0pre8_i386.deb libstdc++5-dev_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libstdc++5-dev_3.2.3-0pre8_i386.deb libstdc++5-doc_3.2.3-0pre8_all.deb to pool/main/g/gcc-3.2/libstdc++5-doc_3.2.3-0pre8_all.deb libstdc++5-pic_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libstdc++5-pic_3.2.3-0pre8_i386.deb libstdc++5_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/libstdc++5_3.2.3-0pre8_i386.deb protoize_3.2.3-0pre8_i386.deb to pool/main/g/gcc-3.2/protoize_3.2.3-0pre8_i386.deb A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Matthias Klose <[EMAIL PROTECTED]> (supplier of updated gcc-3.2 package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Format: 1.7 Date: Mon, 7 Apr 2003 23:12:24 +0200 Source: gcc-3.2 Binary: gcc-3.2-base libstdc++5-dev cpp-3.2-doc libgcj3-dev libobjc1 libstdc++5-doc libgcc1 libstdc++5 protoize g77-3.2-doc libstdc++5-dbg gobjc-3.2 g++-3.2 gnat-3.2-doc gcc-3.2 gpc-2.1-3.2-doc libstdc++5-pic g77-3.2 libgcj3 libffi2-dev gpc-2.1-3.2 gcc-3.2-soft-float gcj-3.2 libgcj-common fastjar gcc-3.2-doc gcc-3.2-nof libg2c0 fixincludes gij-3.2 cpp-3.2 libffi2 gnat-3.2 Architecture: source all i386 Version: 1:3.2.3ds7-0pre8 Distribution: unstable Urgency: high Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org> Changed-By: Matthias Klose <[EMAIL PROTECTED]> Description: cpp-3.2 - The GNU C preprocessor cpp-3.2-doc - Documentation for the GNU C preprocessor (cpp) fastjar - Jar creation utility fixincludes - Fix non-ANSI header files g++-3.2 - The GNU C++ compiler g77-3.2 - The GNU Fortran 77 compiler g77-3.2-doc - Documentation for the GNU Fortran compiler (g77) gcc-3.2 - The GNU C compiler gcc-3.2-base - The GNU Compiler Collection (base package) gcc-3.2-doc - Documentation for the GNU compilers (gcc, gobjc, g++) gcj-3.2 - The GNU compiler for Java(TM) gij-3.2 - The GNU Java bytecode interpreter gnat-3.2 - The GNU Ada compiler gnat-3.2-doc - Documentation for the GNU Ada compiler (gnat) gobjc-3.2 - The GNU Objective-C compiler gpc-2.1-3.2 - The GNU Pascal compiler gpc-2.1-3.2-doc - Documentation for the GNU Pascal compiler (gpc) libffi2 - Foreign Function Interface library runtime libffi2-dev - Foreign Function Interface library development libg2c0 - Runtime library for GNU Fortran 77 applications libgcc1 - GCC support library libgcj-common - Java runtime library (common files) libgcj3 - Java runtime library for use with gcj libgcj3-dev - Java development headers and static library for use with gcj libobjc1 - Runtime library for GNU Objective-C applications libstdc++5 - The GNU Standard C++ Library v3 libstdc++5-dbg - The GNU Standard C++ Library v3 (debugging files) libstdc++5-dev - The GNU Standard C++ Library v3 (development files) libstdc++5-doc - The GNU Standard C++ Library v3 (documentation files) libstdc++5-pic - The GNU Standard C++ Library v3 (shared library subset kit) protoize - Create/remove ANSI prototypes from C code Closes: 185867 187652 Changes: gcc-3.2 (1:3.2.3ds7-0pre8) unstable; urgency=high . * gcc-3.2.3 prerelease (CVS 20030407) * Run the correct automake after patching (closes: #185867). * config/m68k/m68k.md: Avoid forcing fp constants into memory (Roman Zippel). Fixes gtk2 build: #177840. * m68k-subreg.dpatch: Fix vim build on m68k (Roman Zippel). * Section conversion (devel -> libdevel). * Handle function pointer comparisions on hppa properly. Backported from gcc-3.3 branch (Randolph Chung). Closes: #187652. Files: 5d267db9bb8de0c3ec1619f990f53310 2326 devel standard gcc-3.2_3.2.3ds7-0pre8.dsc c964b166a073b77751c1fa1267504506 21559610 devel standard gcc-3.2_3.2.3ds7.orig.tar.gz e5c30861edf548566cfe08cf0e740192 1795766 devel standard gcc-3.2_3.2.3ds7-0pre8.diff.gz a0cb0e0adfddec4cf1ab5d0cdb26010e 84298 doc optional cpp-3.2-doc_3.2.3-0pre8_all.deb 51aea1661e5b0ed4944aaa43bc44b427 2199722 doc optional libstdc++5-doc_3.2.3-0pre8_all.deb 19e3e62dcde1ef40b1ee6b10f51c5e4b 309440 doc optional g77-3.2-doc_3.2.3-0pre8_all.deb 35c58df57e84e8ac4be30ae210e8985f 346706 doc optional gnat-3.2-doc_3.2.3-0pre8_all.deb 344a4057ccc6aec6954db35f9adbd13c 494476 doc optional gpc-2.1-3.2-doc_3.2.3.20030323-0pre8_all.deb 1b8557ecc7fae7884082748cd94ea77f 630940 doc optional gcc-3.2-doc_3.2.3-0pre8_all.deb 15ddb2219991f75e3b54c774d3bf803d 128922 devel important gcc-3.2-base_3.2.3-0pre8_i386.deb 0b2f91f62d8abeca949dff2f8ce6753e 62216 libs important libgcc1_3.2.3-0pre8_i386.deb 2c40e54b1384f6d945cd2f9083bf2b69 119928 interpreters standard cpp-3.2_3.2.3-0pre8_i386.deb 186f07b3110e8469e21a3a911472ad85 22524 devel optional protoize_3.2.3-0pre8_i386.deb 57d474ad112a638afe0e49bd8cd879fe 47340 devel optional fixincludes_3.2.3-0pre8_i386.deb 34b83e885d4edf53ebc085df5077da4d 1297882 devel optional gobjc-3.2_3.2.3-0pre8_i386.deb 2c5b358482497671b94c13696632e550 117600 libs optional libobjc1_3.2.3-0pre8_i386.deb d9769aa8dd70199add0f679fdfc30935 12658 devel optional gij-3.2_3.2.3-0pre8_i386.deb b420640c258b9fdbbec45e08be493ee7 2688422 libs optional libgcj3_3.2.3-0pre8_i386.deb 77e40ec3fcd4675ea7274fd16a5311cc 48446 libs optional libgcj-common_3.2.3-0pre8_i386.deb 1c90dce9e55782c9750211c3fde7f329 1503924 devel optional gcj-3.2_3.2.3-0pre8_i386.deb 9d0f8e7cd9218ee72f622230e7033011 3012632 libdevel optional libgcj3-dev_3.2.3-0pre8_i386.deb 4b1006104d664134d62b8976c794763f 90614 devel extra fastjar_3.2.3-0pre8_i386.deb e98e5629922fa9c1d9e3661867a080b0 57000 libs optional libffi2_3.2.3-0pre8_i386.deb 89e060897bfcf47783fe0b34f9dc05c5 10578 libdevel optional libffi2-dev_3.2.3-0pre8_i386.deb af12046c02825406c44880a4808ed0dd 1550586 devel standard g++-3.2_3.2.3-0pre8_i386.deb 30f1b5072392204f8dcd417d2bb973cb 260754 base important libstdc++5_3.2.3-0pre8_i386.deb 67024e7e8560b2036907a2f5452bccf2 729690 libdevel standard libstdc++5-dev_3.2.3-0pre8_i386.deb df862021a46d84c7de67319da6b8d211 309246 libdevel extra libstdc++5-pic_3.2.3-0pre8_i386.deb a933e92523f0e31c5a2994e7711f2a3e 1505388 libdevel extra libstdc++5-dbg_3.2.3-0pre8_i386.deb 5e5ecd57632226456fce71dc0b5bd020 47500 libs optional libg2c0_3.2.3-0pre8_i386.deb ee6e19e581d9ce985c40bbff2ddc73e5 1431592 devel optional g77-3.2_3.2.3-0pre8_i386.deb a38dd5fc63af19a7a6a24fd72a9d9edb 5405606 devel optional gnat-3.2_3.2.3-0pre8_i386.deb 68c78b060a2b718647568c9dd70ad7e5 1874652 devel optional gpc-2.1-3.2_3.2.3.20030323-0pre8_i386.deb 8ac85c5548e8e28d92b6998208e381ec 2278872 devel standard gcc-3.2_3.2.3-0pre8_i386.deb -----BEGIN PGP SIGNATURE----- Version: 2.6.3ia Charset: noconv Comment: Requires PGP version 2.6 or later. iQEVAwUBPpMhAQuDzMCIcnEhAQGCqwf7BBXgFvlJ9f8RoGkAkO3uD9hbYEv2Lrkh KfMXgeCkX9pUhZrt3bKiwNeKLX6pHPb0o/gPM7mhcIKhKJEIwagXaYXmQT5HoNhC nRvyS8E9G+59hrddUPc2gT/CQEsHog+fDgA4wk8b62YhWP7OYUrYwSiimvdHyxPL oqaBSckdY4WhON1gM4gvu7dLRB+iMvnkgHoDt0ZMI4fp6d49IRZXQxu6qvdPyQL0 xPfyDoyS9vn5+XZBLgXjVkM9Z/LOoxmG4tf9lbPnZygrMeLgSLgvxatsZPE/3utF MJVqcqAGyxUPNf20XOJyzISp7RoFuxOzNiQhVg+Xr7HWnx2bCllelA== =cp42 -----END PGP SIGNATURE-----