--- gcc-4.3-4.3.4.orig/debian/rules.source +++ gcc-4.3-4.3.4/debian/rules.source @@ -0,0 +1,15 @@ +SOURCE_DIR := $(dir $(lastword $(MAKEFILE_LIST))) +patchdir = $(SOURCE_DIR)/patches + +include $(SOURCE_DIR)/debian/rules.defs +include $(SOURCE_DIR)/debian/rules.patch +include $(SOURCE_DIR)/debian/rules.unpack + +patch-source: $(patch_stamp) + +clean-source: + rm -rf $(stampdir) + rm -rf $(gcc_srcdir) $(gpc_srcdir) p $(gdc_srcdir) d + rm -rf bin + rm -rf $(srcdir) + --- gcc-4.3-4.3.4.orig/debian/README.libstdc++-baseline.in +++ gcc-4.3-4.3.4/debian/README.libstdc++-baseline.in @@ -0,0 +1,2 @@ +The libstdc++ baseline file is a list of symbols exported by the +libstdc++ library. --- gcc-4.3-4.3.4.orig/debian/FAQ.gcj +++ gcc-4.3-4.3.4/debian/FAQ.gcj @@ -0,0 +1,494 @@ +The GCJ FAQ +=========== + + The latest version of this document is always available at + http://gcc.gnu.org/java/faq.html. + + General Questions + + What license is used for libgcj? + How can I report a bug in libgcj? + How can I contribute to libgcj + Is libgcj part of GCC? + Will gcj and libgcj work on my machine? + How can I debug my Java program? + Can I interface byte-compiled and native java code? + + + Java Feature Support + + What Java API's are supported? How complete is + the support? + Does GCJ support using straight C native methods + ala JNI? + Why does GCJ use CNI? + What is the state of AWT support? + How about support for Swing ? + What support is there for RMI ? + Can I use any code from other OpenSource projects + to supplement libgcj's current features ? + What features of the Java language are/arn't supported + + + Build Issues + + I need something more recent than the last release; how + should I build it? + Linker bug on Solaris + Can I configure/build in the source tree? + My libgcj build fails with "invalid use of undefined type + struct sigcontext_struct" + + + Gcj Compile/Link Questions + + Why do I get undefined reference to `main' errors? + Can GCJ only handle source code? + "gcj -C" Doesn't seem to work like javac/jikes. Whats going on? + Where does GCJ look for files? + How does gcj resolve wether to compile .class or .java files? + I'm getting link errors! + I'm getting 'undefined symbol: __dso_handle' + + + Runtime Questions + + My program is dumping core! What's going on? + When I run the debugger I get a SEGV in the GC! What's going on? + I have just compiled and benchmarked my Java application + and it seems to be running slower than than XXX JIT JVM. Is there + anything I can do to make it go faster? + Can I profile Garbage Collection? + How do I increase the runtime's initial and maximum heap sizes? + How can I profile my application? + My program seems to hang and doesn't produce any output + + + Programming Issues + + Are there any examples of how to use CNI? + Is it possible to invoke GCJ compiled Java code from a + C++ application? + +General Questions +================= + + 1.1 What license is used for libgcj? + + libgcj is distributed under the GPL, with the 'libgcc exception'. + This means that linking with libgcj does not by itself cause + your program to fall under the GPL. See LIBGCJ_LICENSE in + the source tree for more details. + + 1.2 How can I report a bug in libgcj? + + libgcj has a corresponding Gnats bug database which you can + browse. You can also submit new bug reports from the Gnats + page. + + 1.3 How can I contribute to libgcj? + + You can send simple bug fixes in as patches. Please follow + the GCC guidelines for submitting patches. For more complex + changes, you must sign copyright over to the Free Software + Foundation. See the contribution page for details. + + 1.4 Is libgcj part of GCC? + + Yes, libgcj is now part of GCC. It can be downloaded, + configured and built as one single tree. + + 1.5 Will gcj and libgcj work on my machine? + + Gcj and libgcj are known to work more or less with IA-32 and + Sparc Solaris, Tru64 Unix, as well as IA-32, IA-64, Alpha, + and PowerPC Linux. They might work on other + systems. Generally speaking, porting to a new system should + not be hard. This would be a good way to volunteer. + + 1.6 How can I debug my Java program? + + gdb 5.0 includes support for debugging gcj-compiled Java + programs. For more information please read Java Debugging + with gdb. + + 1.7 Can I interface byte-compiled and native java code + + libgcj has a bytecode interpreter that allows you to mix + .class files with compiled code. It works pretty + transparently: if a compiled version of a class is not found + in the application binary or linked shared libraries, the + class loader will search for a bytecode version in your + classpath, much like a VM would. Be sure to build libgcj + with the --enable-interpreter option to enable this + functionality. + + The program "gij" provides a front end to the interpreter + that behaves much like a traditional virtual machine. You + can even use "gij" to run a shared library which is compiled + from java code and contains a main method: + + $ gcj -shared -o lib-HelloWorld.so HelloWorld.java + $ gij HelloWorld + + This works because gij uses Class.forName, which knows how + to load shared objects. + +Java Feature Support +==================== + + 2.1 What Java API's are supported? How complete is + the support? + + Matt Welsh writes: + + Just look in the 'libjava' directory of libgcj and see + what classes are there. Most GUI stuff isn't there yet, + that's true, but many of the other classes are easy to add + if they don't yet exist. + + I think it's important to stress that there is a big + difference between Java and the many libraries which Java + supports. Unfortunately, Sun's promise of "write once, run + everywhere" assumes much more than a JVM: you also need + the full set of JDK libraries. Considering that new Java + APIs come out every week, it's going to be impossible to + track everything. + + To make things worse, you can't simply run Sun's JDK + classes on any old JVM -- they assume that a bunch of + native methods are also defined. Since this native method + requirement isn't defined by the JDK specs, you're + effectively constrained to using Sun's JVMs if you want to + use Sun's JDK libraries. Oh yes -- you could also + reimplement all of those native methods yourself, and make + sure they behave exactly as Sun's do. Note that they're + undocumented! + + 2.2 Does GCJ support using straight C native methods + ala JNI? + + Yes. libgcj now has experimental support for JNI, in + addition to its native Compiled Native Interface (CNI). gcjh + will generate JNI stubs and headers using the "-jni" + option. However, we do prefer CNI: it is more efficient, + easier to write, and (at least potentially) easier to debug. + + 2.3 Why does GCJ use CNI? + + Per Bothner explains: + + We use CNI because we think it is a better solution, + especially for a Java implementation that is based on the + idea that Java is just another programming language that + can be implemented using standard compilation + techniques. Given that, and the idea that languages + implemented using Gcc should be compatible where it makes + sense, it follows that the Java calling convention should + be as similar as practical to that used for other + languages, especially C++, since we can think of Java as a + subset of C++. CNI is just a set of helper functions and + conventions built on the idea that C++ and Java have the + *same* calling convention and object layout; they are + binary compatible. (This is a simplification, but close + enough.) + + 2.4 What is the state of AWT support? + + Work is in progress to implement AWT and Java2D. We intend + to support both GTK and xlib peers written using CNI. Some + components are already working atop the xlib peers. + + 2.5 How about support for Swing? + + Once AWT support is working then Swing support can be + considered. There is at least one free-software partial + implementations of Swing that may be usable. + + 2.6 What support is there for RMI? + + RMI code exists on the CVS trunk (aka gcc 3.1), but it has + not been heavily tested. This code was donated by + Transvirtual Technologies. + + 2.7 Can I use any code from other OpenSource + projects to supplement libgcj's current features? + + Certainly. However, in many cases, if you wanted to + contribute the code back into the official libgcj + distribution, we would require that the original author(s) + assign copyright to the Free Software Foundation. As of + March 6, 2000, libgcj has been relicenced, and copyright + has been assigned to the FSF. This allows us to share and + merge much of the libgcj codebase with the Classpath + project. Our eventual goal is for Classpath to be an + upstream source provider for libgcj, however it will be + some time before this becomes reality: libgcj and Classpath + have different implementations of many core java + classes. In order to merge them, we need to select the best + (most efficient, cleanest) implementation of each + method/class/package, resolve any conflicts created by the + merge, and test the final result. Needless to say, this is + a lot of work. If you can help out, please let us know! + + 2.8 What features of the Java language are/aren't supported. + + GCJ supports all Java language constructs as per the Java + language Specification. Recent GCJ snapshots have added + support for most JDK1.1 (and beyond) language features, + including inner classes. + +Build Issues +============ + + 3.1 I need something more recent than the last release. + How should I build it? + + Please read here: http://gcc.gnu.org/java/build-snapshot.html + + 3.2 Linker bug on Solaris + + There is a known problem with the native Solaris linker when + using gcc/gcj. A good indication you've run into this + problem is if you get an error that looks like the following + when building libgcj: + +ld: warning: option -o appears more than once, first setting taken +ld: fatal: file libfoo.so: cannot open file: No such file or directory +ld: fatal: File processing errors. No output written to .libs/libfoo.so +collect2: ld returned 1 exit status + + A known workaround for this and other reported link problems + on the various releases of Solaris is to build gcc/gcj with + the latest GNU binutils instead of the native Solaris + ld. The most straightforward way to do this is to build and + install binutils, and then reference it in the configure for + gcc via --with-ld=/path_to_binutils_install/bin/ld + (--with-as may also be similarly specified but is not + believed to be required). + + Please note, gcc/gcj must be built using GNU ld prior to + doing a clean build of libgcj! + + 3.3 Can I configure/build in the source tree? + + No. You cannot configure/build in the source tree. If you + try, you'll see something like: + + $ ./configure [...] + Configuring for a i686-pc-linux-gnu host. + *** Cannot currently configure in source tree. + + Instead, you must build in another directory. E.g.: + + $ mkdir build + $ cd build + $ ../configure [...] + + 3.4 My libgcj build fails with "invalid use of undefined type + struct sigcontext_struct" + + If you're using Linux, this probably means you need to + upgrade to a newwer, glibc (libc6) based Linux + distribution. libgcj does not support the older linux libc5. + It might be possible to get a working libgcj by changing + occurances of "sigcontext_struct" to "sigcontext", however + this has not been tested. Even if it works, it is likely + that there are other issues with older libc versions that + would prevent libgcj from working correctly (threads bugs, + for example). + +Gcj Compile/Link Questions +========================== + + 4.1 Why do I get undefined reference to `main' errors? + + When using gcj to link a Java program, you must use the --main= + option to indicate the class that has the desired main method. + This is because every Java class can have a main method, thus + you have to tell gcj which one to use. + + 4.2 Can GCJ only handle source code? + + GCJ will compile both source (.java) and bytecode (.class) + files. However, in many cases the native code produced by + compiling from source is better optimized than that compiled + from .class files. + + Per Bothner explains: + + The reason is that when you compile to bytecode you lose a + lot of information about program structure etc. That + information helps in generating better code. We can in + theory recover the information we need by analysing the + structure of the bytecodes, but it is sometimes difficult + - or sometimes it just that no-one has gotten around to + it. Specific examples include loop structure (gcc + generates better code with explicit loops rather than with + the equivalent spaghetti code), array initializers, and + the JDK 1.1 `CLASS.class' syntax, all of which are + represented using more low-level constructs in bytecode. + + 4.3 "gcj -C" Doesn't seem to work like javac/jikes. Whats going on? + + The behavior of "gcj -C" is not at all like javac or jikes, + which will compile (not just scan) all .java's which are out + of date with regard to their .class's. + + 4.4 Where does GCJ look for files? + + GCJ looks for classes to compile based on the CLASSPATH + environment variable. libgcj.jar and other files are found + relative to the path of the compiler itself, so it is safe + to move the entire compiler tree to a different path, and + there is no need to include libgcj.jar in your CLASSPATH. + + 4.5 How does gcj resolve whether to compile .class or .java files? + + GCJ compiles only the files presented to it on the command + line. However, it also needs to scan other files in order to + determine the layout of other classes and check for errors + in your code. For these dependencies, GCJ will favour + .class files if they are available because it is faster to + parse a class file than source code. + + 4.6 I'm getting link errors + + If you get errors at link time that refer to 'undefined + reference to `java::lang::Object type_info function', verify + that you have compiled any CNI C++ files with the -fno-rtti + option. This is only required for versions of GCJ earlier + than 3.0. + + 4.7 I'm getting 'undefined symbol: __dso_handle' + + Some versions of the GNU linker have broken support for the + '.hidden' directive, which results in problems with shared + libraries built with recent versions of gcc. + + There are three solutions: + + - downgrade to binutils that don't support .hidden at all, + - upgrade to a recent binutils, or + - undef the HAVE_GAS_HIDDEN definition in gcc's auto-host.h + (and rebuild gcc). + +Runtime Questions +================= + + 5.1 My program is dumping core! What's going on? + + It could be any number of things. One common mistake is + having your CLASSPATH environment variable pointing at a + third party's java.lang and friends. Either unset CLASSPATH, + or make sure it does not refer to core libraries other than + those found in libgcj.jar.Note that newwer versions of GCJ + will reject the core class library if it wasn't generated by + GCJ itself. + + 5.2 When I run the debugger I get a SEGV in the GC! What's going on? + + This is "normal"; the Garbage Collector (GC) uses it to + determine stack boundaries. It is ordinarily caught and + handled by the GC -- you can see this in the debugger by + using cont to continue to the "real" segv. + + 5.3 I have just compiled and benchmarked my Java application + and it seems to be running slower than than XXX JIT JVM. Is there + anything I can do to make it go faster? + + A few things: + + - If your programs allocate many small, short lived objects, + the heap could be filling and triggering GC too + regularly. Try increasing the initial and maximum heap sizes + as per 5.5 How do I increase the runtime's initial and + maximum heap size? + - RE - array accesses. We have sub-optimal runtime checking + code, and the compiler is still not so smart about + automatically removing array checks. If your code is ready, + and it doesn't rely on them, try compiling with + --no-bounds-check. + - Try static linking. On many platforms, dynamic (PIC) + function calls are more expensive than static ones. In + particular, the interaction with boehm-gc seems to incur + extra overhead when shared libraries are used. + - If your Java application doesn't need threads, try + building libgcj using --enable-threads=none. Portions of the + libgcj runtime are still more efficient when + single-threaded. + + 5.4 Can I profile Garbage Collection? + + It is possible to turn on verbose GC output by supressing + the -DSILENT flag during build. One way to do this is to + comment out the line with #define SILENT 1 from + boehm-gc/configure before configuring libgcj. The GC will + print collection statistics to stdout. (Rebuilding boehm-gc + alone without this flag doesn't seem to work.) + + 5.5 How do I increase the runtime's initial and maximum heap sizes? + + Some programs that allocate many small, short-lived objects + can cause the default-sized heap to fill quickly and GC + often. With the 2.95.1 release there is no means to adjust + the heap at runtime. Recent snapshots provide the -ms and + -mx arguments to gij to specify the initial and maximum heap + sizes, respectively. + + 5.6 How can I profile my application? + + Currently, only single threaded Java code may be used by the + profiler (gprof). POSIX threads seem to be incompatible with + the gmon stuff. A couple of other tools that have been + mentioned on the GCJ mailing list are sprof and cprof. The + former is part of GNU libc. + + 5.7 My program seems to hang and doesn't produce any output + + Some versions had a bug in the iconv support. You can work + around it by setting LANG=en_US.UTF-8 at runtime, or give + the following option during compile time + -Dfile.encoding=UTF-8. This problem should no longer occur + as of November 1, 2000. + +Programming Issues +================== + + 6.1 Are there any examples of how to use CNI? + + Glenn Chambers has created a couple of trivial examples for + version 2.95 and version 3.0. As a comparison, here is the + same example as a JNI application using Kaffe. The same + code will work with GCJ, as shown here. + + Note that for version 2.95, you must compile the C++ files + used for CNI with the -fno-rtti option. This constraint + does not apply in version 3.0 and later. + + The primary source of documentation for CNI is at + http://gcc.gnu.org/java/papers/cni/t1.html + + 6.2 Is it possible to invoke GCJ compiled Java code from a + C++ application? + + Yes, GCJ 3.1 supports a CNI-based invocation interface as + well as the traditional JNI invocation API. See the GCJ + Manual for more details on how to use the CNI interface. + +Please send FSF & GNU inquiries & questions tognu@gnu.org.There are +also other waysto contact the FSF. + +These pages are maintained by The GCC team. + +Please send comments on these web pages and GCC to our publicmailing +list at gcc@gnu.org orgcc@gcc.gnu.org, send other questions to +gnu@gnu.org. + +Copyright (C) Free Software Foundation, Inc., +59 Temple Place - Suite 330, Boston, MA 02111, USA. + +Verbatim copying and distribution of this entire article is permitted +in any medium, provided this notice is preserved. + +Last modified 2003-04-30 --- gcc-4.3-4.3.4.orig/debian/control.m4 +++ gcc-4.3-4.3.4/debian/control.m4 @@ -0,0 +1,1726 @@ +divert(-1) + +define(`checkdef',`ifdef($1, , `errprint(`error: undefined macro $1 +')m4exit(1)')') +define(`errexit',`errprint(`error: undefined macro `$1' +')m4exit(1)') + +dnl The following macros must be defined, when called: +dnl ifdef(`SRCNAME', , errexit(`SRCNAME')) +dnl ifdef(`PV', , errexit(`PV')) +dnl ifdef(`ARCH', , errexit(`ARCH')) + +dnl The architecture will also be defined (-D__i386__, -D__powerpc__, etc.) + +define(`PN', `$1') +ifdef(`PRI', `', ` + define(`PRI', `$1') +') +define(`MAINTAINER', `Debian GCC Maintainers ') + +define(`ifenabled', `ifelse(index(enabled_languages, `$1'), -1, `dnl', `$2')') + +divert`'dnl +dnl -------------------------------------------------------------------------- +Source: SRCNAME +Section: devel +Priority: PRI(optional) +ifelse(DIST,`Ubuntu',`dnl +ifelse(regexp(SRCNAME, `gnat\|gpc-|gdc-'),0,`dnl +Maintainer: Ubuntu MOTU Developers +', `dnl +Maintainer: Ubuntu Core developers +')dnl SRCNAME +XSBC-Original-Maintainer: MAINTAINER +', `dnl +Maintainer: MAINTAINER +')dnl DIST +ifelse(regexp(SRCNAME, `gnat'),0,`dnl +Uploaders: Ludovic Brenta +', regexp(SRCNAME, `gdc'),0,`dnl +Uploaders: Iain Buclaw , Arthur Loiret +', regexp(SRCNAME, `gpc'),0,`dnl +Uploaders: Matthias Klose +', `dnl +Uploaders: Matthias Klose +')dnl SRCNAME +Standards-Version: 3.8.3 +ifdef(`TARGET',`dnl cross +Build-Depends: dpkg-dev (>= 1.14.15), debhelper (>= 5.0.62), dpkg-cross (>= 1.25.99), LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP LIBUNWIND_BUILD_DEP LIBATOMIC_OPS_BUILD_DEP AUTOGEN_BUILD_DEP CLOOG_BUILD_DEP m4, libmpfr-dev (>= 2.3.0), autoconf (>= 2.50), autoconf2.59, automake1.9, libtool, gawk, lzma, BINUTILS_BUILD_DEP, bison (>= 1:2.3), flex, realpath (>= 1.9.12), lsb-release, make (>= 3.81) +',`dnl native +Build-Depends: dpkg-dev (>= 1.14.15), debhelper (>= 5.0.62), gcc-multilib [amd64 i386 mips mipsel powerpc ppc64 s390 sparc kfreebsd-amd64], LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP AUTOGEN_BUILD_DEP libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], m4, autoconf (>= 2.50), autoconf2.59, automake1.9, libtool, gawk, CHECK_BUILD_DEP, lzma, BINUTILS_BUILD_DEP, binutils-hppa64 (>= BINUTILSV) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), libmpfr-dev (>= 2.3.0), FORTRAN_BUILD_DEP locales [locale_no_archs], procps [linux_gnu_archs], sharutils, PASCAL_BUILD_DEP JAVA_BUILD_DEP GNAT_BUILD_DEP SPU_BUILD_DEP CLOOG_BUILD_DEP GDC_BUILD_DEP realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81) +Build-Depends-Indep: LIBSTDCXX_BUILD_INDEP JAVA_BUILD_INDEP +')dnl +Build-Conflicts: binutils-gold + +ifelse(SRCNAME,gcc-snapshot,`dnl +Package: gcc-snapshot +Architecture: any +Section: devel +Priority: extra +Depends: binutils`'TS (>= ${binutils:Version}), ${dep:libcbiarchdev}, ${dep:libcdev}, ${dep:libunwinddev}, ${snap:depends}, ${shlibs:Depends} +Recommends: ${snap:recommends} +Provides: c++abi2-dev +Description: A SNAPSHOT of the GNU Compiler Collection + This package contains a recent development SNAPSHOT of all files + contained in the GNU Compiler Collection (GCC). + . + DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + . + This package will NEVER hit the testing distribution. It is used for + tracking gcc bugs submitted to the Debian BTS in recent development + versions of gcc. +',`dnl gcc-X.Y + +dnl default base package dependencies +define(`BASETARGET', `') +define(`BASEDEP', `gcc`'PV-base (= ${gcc:Version})') +define(`SOFTBASEDEP', `gcc`'PV-base (>= ${gcc:SoftVersion})') + +dnl base, when building libgcc out of the gcj source; needed if new symbols +dnl in libgcc are used in libgcj. +ifelse(index(SRCNAME, `gcj'), 0, ` +define(`BASEDEP', `gcj`'PV-base (= ${gcj:Version})') +define(`SOFTBASEDEP', `gcj`'PV-base (>= ${gcj:SoftVersion})') +') + +ifdef(`TARGET', `', ` +ifenabled(`gccbase',` + +Package: gcc`'PV-base +Architecture: any +Section: libs +Priority: PRI(optional) +Replaces: cpp-4.3 (<< 4.3.2-1), ${base:Replaces} +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +ifdef(`BASE_ONLY', `dnl + . + This version of GCC is not yet available for this architecture. + Please use the compilers from the gcc-snapshot package for testing. +')`'dnl +')`'dnl +')`'dnl native + +ifenabled(`gccxbase',` +dnl override default base package dependencies to cross version +dnl This creates a toolchain that doesnt depend on the system -base packages +define(`BASETARGET', `PV`'TS') +define(`BASEDEP', `gcc`'BASETARGET-base (= ${gcc:Version})') +define(`SOFTBASEDEP', `gcc`'BASETARGET-base (>= ${gcc:SoftVersion})') + +Package: gcc`'BASETARGET-base +Architecture: any +Section: devel +Priority: PRI(required) +Conflicts: gcc-3.5-base +Replaces: gcc-3.5-base +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +')`'dnl + +ifenabled(`java',` +Package: gcj`'PV-base +Architecture: any +Section: java +Priority: PRI(optional) +Description: The GNU Compiler Collection (gcj base package) + This package contains files common to all java related packages + built from the GNU Compiler Collection (GCC). +')`'dnl java + +ifenabled(`ada',` +Package: gnat`'PV-base +Architecture: any +Section: libs +Priority: PRI(optional) +Description: The GNU Compiler Collection (gnat base package) + This package contains files common to all Ada related packages + built from the GNU Compiler Collection (GCC). +')`'dnl ada + +ifenabled(`libgcc',` +Package: libgcc1`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASEDEP, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libgcc1-TARGET-dcv1 +',`')`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc1-dbg`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: debug +Priority: extra +Depends: BASEDEP, libgcc1 (= ${gcc:EpochVersion}) +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc2`'LS +Architecture: ifdef(`TARGET',`all',`m68k') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASEDEP, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libgcc2-TARGET-dcv1 +',`')`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc2-dbg`'LS +Architecture: ifdef(`TARGET',`all',`m68k') +Section: debug +Priority: extra +Depends: BASEDEP, libgcc2 (= ${gcc:Version}) +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libgcc + +ifenabled(`lib4gcc',` +Package: libgcc4`'LS +Architecture: ifdef(`TARGET',`all',`hppa') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: ifdef(`STANDALONEJAVA',`gcj`'PV-base (>= ${gcj:Version})',`BASEDEP'), ${shlibs:Depends} +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc4-dbg`'LS +Architecture: ifdef(`TARGET',`all',`hppa') +Section: debug +Priority: extra +Depends: BASEDEP, libgcc4 (= ${gcc:Version}) +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib4gcc + +ifenabled(`lib64gcc',` +Package: lib64gcc1`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, ${dep:libcbiarch} +ifdef(`TARGET',`Provides: lib64gcc1-TARGET-dcv1 +',`')`'dnl +Conflicts: libgcc`'GCC_SO`'LS (<= 1:3.3-0pre9) +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (64bit) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASEDEP, lib64gcc1 (= ${gcc:EpochVersion}) +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64gcc + +ifenabled(`lib32gcc',` +Package: lib32gcc1`'LS +Architecture: ifdef(`TARGET',`all',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: optional +Depends: BASEDEP, ${dep:libcbiarch} +ifdef(`TARGET',`Provides: lib32gcc1-TARGET-dcv1 +',`')`'dnl +ifelse(DIST,`Ubuntu', `Replaces: ia32-libs-openoffice.org (<< 1ubuntu3)', `dnl') +Description: GCC support library (32 bit Version) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASEDEP, lib32gcc1 (= ${gcc:EpochVersion}) +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib32gcc1 + +ifenabled(`libvfpgcc',` +Package: libgcc1-vfp`'LS +Architecture: VFP_ARCHS +Section: libs +Priority: extra +Depends: BASEDEP, libc6-vfp, ${shlibs:Depends} +Description: GCC support library [vfp optimized] + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + . + This set of libraries is optimized to use a VFP coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libvfpgcc1 + +ifenabled(`libn32gcc',` +Package: libn32gcc1`'LS +Architecture: ifdef(`TARGET',`all',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, ${dep:libcbiarch} +ifdef(`TARGET',`Provides: libn32gcc1-TARGET-dcv1 +',`')`'dnl +Conflicts: libgcc`'GCC_SO`'LS (<= 1:3.3-0pre9) +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (n32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASEDEP, libn32gcc1 (= ${gcc:EpochVersion}) +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libn32gcc + +ifdef(`TARGET', `', ` +ifenabled(`libgmath',` +Package: libgccmath`'GCCMATH_SO +Architecture: i386 +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC math support library + Support library for GCC. + +Package: lib32gccmath`'GCCMATH_SO +Architecture: amd64 +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC math support library (32bit) + Support library for GCC. + +Package: lib64gccmath`'GCCMATH_SO +Architecture: i386 +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC math support library (64bit) + Support library for GCC. +')`'dnl +')`'dnl native + +ifenabled(`cdev',` +Package: gcc`'PV`'TS +Architecture: any +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, cpp`'PV`'TS (= ${gcc:Version}), binutils`'TS (>= ${binutils:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libunwinddev}, ${shlibs:Depends} +Recommends: ${dep:libcdev} +Suggests: ${gcc:multilib}, libmudflap`'MF_SO`'PV-dev`'LS (>= ${gcc:Version}), gcc`'PV-doc (>= ${gcc:SoftVersion}), gcc`'PV-locales (>= ${gcc:SoftVersion}), libgcc`'GCC_SO-dbg`'LS, libgomp`'GOMP_SO-dbg`'LS, libmudflap`'MF_SO-dbg`'LS +Provides: c-compiler`'TS +Description: The GNU C compiler`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C compiler, a fairly portable optimizing compiler for C. +ifdef(`TARGET', `dnl + . + This package contains C cross-compiler for TARGET architecture. +')`'dnl + +ifenabled(`multilib',` +Package: gcc`'PV-multilib`'TS +Architecture: MULTILIB_ARCHS +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarch}, ${dep:libsspbiarch}, ${dep:libgompbiarch}, ${shlibs:Depends} +Suggests: ${dep:libmudflapbiarch} +Description: The GNU C compiler (multilib files)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl cdev + +ifenabled(`cdev',` +ifdef(`TARGET', `', ` +Package: gcc`'PV-hppa64 +Architecture: hppa +Section: devel +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Conflicts: gcc-3.3-hppa64 (<= 1:3.3.4-5), gcc-3.4-hppa64 (<= 3.4.1-3) +Description: The GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: gcc`'PV-spu +Architecture: powerpc ppc64 +Section: devel +Priority: PRI(optional) +Depends: BASEDEP, binutils-spu (>= 2.18.1~cvs20080103-3), newlib-spu, ${shlibs:Depends} +Provides: spu-gcc +Replaces: spu-gcc +Description: SPU cross-compiler (preprocessor and C compiler) + GNU Compiler Collection for the Cell Broadband Engine SPU (preprocessor + and C compiler). + +Package: g++`'PV-spu +Architecture: powerpc ppc64 +Section: devel +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV-spu (= ${gcc:Version}), ${shlibs:Depends} +Provides: spu-g++ +Replaces: spu-g++ +Description: SPU cross-compiler (C++ compiler) + GNU Compiler Collection for the Cell Broadband Engine SPU (C++ compiler). + +Package: gfortran`'PV-spu +Architecture: powerpc ppc64 +Section: devel +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV-spu (= ${gcc:Version}), ${shlibs:Depends} +Provides: spu-gfortran +Replaces: spu-gfortran +Description: SPU cross-compiler (Fortran compiler) + GNU Compiler Collection for the Cell Broadband Engine SPU (Fortran compiler). + +')`'dnl native +')`'dnl cdev + +ifenabled(`cdev',` +Package: cpp`'PV`'TS +Architecture: any +Section: ifdef(`TARGET',`devel',`interpreters') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, ${shlibs:Depends} +Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion}) +Description: The GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. +ifdef(`TARGET', `dnl + . + This package contains preprocessor configured for TARGET architecture. +')`'dnl + +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: cpp`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info `format'. +')`'dnl gfdldoc +')`'dnl native + +ifdef(`TARGET', `', ` +Package: gcc`'PV-locales +Architecture: all +Section: devel +Priority: PRI(optional) +Depends: SOFTBASEDEP, cpp`'PV (>= ${gcc:SoftVersion}) +Recommends: gcc`'PV (>= ${gcc:SoftVersion}) +Description: The GNU C compiler (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. +')`'dnl native +')`'dnl cdev + +ifenabled(`c++',` +ifenabled(`c++dev',` +Package: g++`'PV`'TS +Architecture: any +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}), ${shlibs:Depends} +Provides: c++-compiler`'TS, c++abi2-dev +Suggests: ${gxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), libstdc++CXX_SO`'PV-dbg`'LS +Description: The GNU C++ compiler`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. +ifdef(`TARGET', `dnl + . + This package contains C++ cross-compiler for TARGET architecture. +')`'dnl + +ifenabled(`multilib',` +Package: g++`'PV-multilib`'TS +Architecture: MULTILIB_ARCHS +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, g++`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libcxxbiarch}, ${shlibs:Depends} +Suggests: ${dep:libcxxbiarchdbg} +Description: The GNU C++ compiler (multilib files)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl c++dev +')`'dnl c++ + +ifdef(`TARGET', `', ` +ifenabled(`mudflap',` +ifenabled(`libmudf',` +Package: libmudflap`'MF_SO +Architecture: any +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC mudflap shared support libraries + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: libmudflap`'MF_SO-dbg +Architecture: any +Section: debug +Priority: extra +Depends: BASEDEP, libmudflap`'MF_SO (= ${gcc:Version}) +Description: GCC mudflap shared support libraries (debug symbols) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib32mudflap`'MF_SO +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (32bit) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib32mudflap`'MF_SO-dbg +Architecture: biarch32_archs +Section: debug +Priority: extra +Depends: BASEDEP, lib32mudflap`'MF_SO (= ${gcc:Version}) +Description: GCC mudflap shared support libraries (32 bit debug symbols) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib64mudflap`'MF_SO +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (64bit) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib64mudflap`'MF_SO-dbg +Architecture: biarch64_archs +Section: debug +Priority: extra +Depends: BASEDEP, lib64mudflap`'MF_SO (= ${gcc:Version}) +Description: GCC mudflap shared support libraries (64 bit debug symbols) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: libn32mudflap`'MF_SO +Architecture: biarchn32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (n32) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: libn32mudflap`'MF_SO-dbg +Architecture: biarchn32_archs +Section: debug +Priority: extra +Depends: BASEDEP, libn32mudflap`'MF_SO (= ${gcc:Version}) +Description: GCC mudflap shared support libraries (n32 debug symbols) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. +')`'dnl libmudf + +Package: libmudflap`'MF_SO`'PV-dev +Architecture: any +Section: libdevel +Priority: PRI(optional) +Depends: BASEDEP, libmudflap`'MF_SO (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Suggests: ${sug:libmudflapdev} +Conflicts: libmudflap0-dev +Description: GCC mudflap support libraries (development files) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + . + This package contains the headers and the static libraries. +')`'dnl +')`'dnl native + +ifdef(`TARGET', `', ` +ifenabled(`ssp',` +Package: libssp`'SSP_SO +Architecture: any +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC stack smashing protection library + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib32ssp`'SSP_SO +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (32bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib64ssp`'SSP_SO +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (64bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libn32ssp`'SSP_SO +Architecture: biarchn32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (n32) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. +')`'dnl +')`'dnl native + +ifdef(`TARGET', `', ` +ifenabled(`libgomp',` +Package: libgomp`'GOMP_SO +Architecture: any +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: libgomp`'GOMP_SO-dbg +Architecture: any +Section: debug +Priority: extra +Depends: BASEDEP, libgomp`'GOMP_SO (= ${gcc:Version}) +Description: GCC OpenMP (GOMP) support library (debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib32gomp`'GOMP_SO +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib32gomp`'GOMP_SO-dbg +Architecture: biarch32_archs +Section: debug +Priority: extra +Depends: BASEDEP, lib32gomp`'GOMP_SO (= ${gcc:Version}) +Description: GCC OpenMP (GOMP) support library (32 bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib64gomp`'GOMP_SO +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib64gomp`'GOMP_SO-dbg +Architecture: biarch64_archs +Section: debug +Priority: extra +Depends: BASEDEP, lib64gomp`'GOMP_SO (= ${gcc:Version}) +Description: GCC OpenMP (GOMP) support library (64bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: libn32gomp`'GOMP_SO +Architecture: biarchn32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (n32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: libn32gomp`'GOMP_SO-dbg +Architecture: biarchn32_archs +Section: debug +Priority: extra +Depends: BASEDEP, libn32gomp`'GOMP_SO (= ${gcc:Version}) +Description: GCC OpenMP (GOMP) support library (n32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + +ifenabled(`libvfpgomp',` +Package: libgomp`'GOMP_SO-vfp +Architecture: VFP_ARCHS +Section: libs +Priority: extra +Depends: BASEDEP, libc6-vfp, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library [vfp optimized] + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + . + This set of libraries is optimized to use a VFP coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libvfpgomp +')`'dnl libgomp +')`'dnl native + +ifenabled(`proto',` +Package: protoize +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (>= ${gcc:Version}), ${shlibs:Depends} +Description: Create/remove ANSI prototypes from C code + "protoize" can be used to add prototypes to a program, thus converting + the program to ANSI C in one respect. The companion program "unprotoize" + does the reverse: it removes argument types from any prototypes + that are found. +')`'dnl proto + +ifenabled(`objpp',` +ifenabled(`objppdev',` +Package: gobjc++`'PV`'TS +Architecture: any +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), g++`'PV`'TS (= ${gcc:Version}), ${shlibs:Depends}, libobjc`'OBJC_SO`'LS (>= ${gcc:Version}) +Suggests: ${gobjcxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler`'TS +Description: The GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl obcppdev + +ifenabled(`multilib',` +Package: gobjc++`'PV-multilib`'TS +Architecture: MULTILIB_ARCHS +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gobjc++`'PV`'TS (= ${gcc:Version}), g++`'PV-multilib`'TS (= ${gcc:Version}), gobjc`'PV-multilib`'TS (= ${gcc:Version}), ${shlibs:Depends} +Description: The GNU Objective-C++ compiler (multilib files) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl obcpp + +ifenabled(`objc',` +ifenabled(`objcdev',` +Package: gobjc`'PV`'TS +Architecture: any +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc`'OBJC_SO`'LS (>= ${gcc:Version}) +Suggests: ${gobjc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), libobjc`'OBJC_SO-dbg`'LS +Provides: objc-compiler`'TS +ifdef(`__sparc__',`Conflicts: gcc`'PV-sparc64', `dnl') +Description: The GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +ifenabled(`multilib',` +Package: gobjc`'PV-multilib`'TS +Architecture: MULTILIB_ARCHS +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libobjcbiarch}, ${shlibs:Depends} +Description: The GNU Objective-C compiler (multilib files)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl objcdev + +ifenabled(`libobjc',` +Package: libobjc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: any +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. + +Package: libobjc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`all',`any') +Priority: extra +Depends: BASEDEP, libobjc`'OBJC_SO`'LS (= ${gcc:Version}), libgcc`'GCC_SO-dbg`'LS +Description: Runtime library for GNU Objective-C applications (debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libobjc + +ifenabled(`lib64objc',` +Package: lib64objc`'OBJC_SO +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib64objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: biarch64_archs +Priority: extra +Depends: BASEDEP, lib64objc`'OBJC_SO`'LS (= ${gcc:Version}), lib64gcc`'GCC_SO-dbg`'LS +Description: Runtime library for GNU Objective-C applications (64 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl lib64objc + +ifenabled(`lib32objc',` +Package: lib32objc`'OBJC_SO +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib32objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: biarch32_archs +Priority: extra +Depends: BASEDEP, lib32objc`'OBJC_SO`'LS (= ${gcc:Version}), lib32gcc`'GCC_SO-dbg`'LS +Description: Runtime library for GNU Objective-C applications (32 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl lib32objc + +ifenabled(`libn32objc',` +Package: libn32objc`'OBJC_SO +Section: libs +Architecture: biarchn32_archs +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (n32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libn32objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: biarchn32_archs +Priority: extra +Depends: BASEDEP, libn32objc`'OBJC_SO`'LS (= ${gcc:Version}), libn32gcc`'GCC_SO-dbg`'LS +Description: Runtime library for GNU Objective-C applications (n32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libn32objc + +ifenabled(`libvfpobjc',` +Package: libobjc`'OBJC_SO-vfp +Section: libs +Architecture: VFP_ARCHS +Priority: PRI(optional) +Depends: BASEDEP, libc6-vfp, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications [VFP version] + Library needed for GNU ObjC applications linked against the shared library. + . + This set of libraries is optimized to use a VFP coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libvfpobjc +')`'dnl objc + +ifenabled(`fortran',` +ifenabled(`fdev',` +Package: gfortran`'PV +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), libgfortran`'FORTRAN_SO (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Provides: fortran95-compiler +Suggests: ${gfortran:multilib}, gfortran`'PV-doc, libgfortran`'FORTRAN_SO-dbg +Replaces: libgfortran`'FORTRAN_SO-dev +Description: The GNU Fortran 95 compiler + This is the GNU Fortran compiler, which compiles + Fortran 95 on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +ifenabled(`multilib',` +Package: gfortran`'PV-multilib`'TS +Architecture: MULTILIB_ARCHS +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gfortran`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libfortranbiarch}, ${shlibs:Depends} +Description: The GNU Fortran 95 compiler (multilib files)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU Fortran compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`gfdldoc',` +Package: gfortran`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran 95 compiler in info `format'. +')`'dnl gfdldoc +')`'dnl fdev + +ifenabled(`libgfortran',` +Package: libgfortran`'FORTRAN_SO +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libgfortran`'FORTRAN_SO-dbg +Section: debug +Architecture: any +Priority: extra +Depends: BASEDEP, libgfortran`'FORTRAN_SO (= ${gcc:Version}) +Description: Runtime library for GNU Fortran applications (debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libgfortran + +ifenabled(`lib64gfortran',` +Package: lib64gfortran`'FORTRAN_SO +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib64gfortran`'FORTRAN_SO-dbg +Section: debug +Architecture: biarch64_archs +Priority: extra +Depends: BASEDEP, lib64gfortran`'FORTRAN_SO (= ${gcc:Version}) +Description: Runtime library for GNU Fortran applications (64bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl lib64gfortran + +ifenabled(`lib32gfortran',` +Package: lib32gfortran`'FORTRAN_SO +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib32gfortran`'FORTRAN_SO-dbg +Section: debug +Architecture: biarch32_archs +Priority: extra +Depends: BASEDEP, lib32gfortran`'FORTRAN_SO (= ${gcc:Version}) +Description: Runtime library for GNU Fortran applications (32 bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl lib32gfortran + +ifenabled(`libn32gfortran',` +Package: libn32gfortran`'FORTRAN_SO +Section: libs +Architecture: biarchn32_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (n32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libn32gfortran`'FORTRAN_SO-dbg +Section: debug +Architecture: biarchn32_archs +Priority: extra +Depends: BASEDEP, libn32gfortran`'FORTRAN_SO (= ${gcc:Version}) +Description: Runtime library for GNU Fortran applications (n32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libn32gfortran + +ifenabled(`libvfpgfortran',` +Package: libgfortran`'FORTRAN_SO-vfp +Section: libs +Architecture: VFP_ARCHS +Priority: extra +Depends: BASEDEP, libgcc1-vfp, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications [VFP version] + Library needed for GNU Fortran applications linked against the + shared library. + . + This set of libraries is optimized to use a VFP coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libvfpgfortran +')`'dnl fortran + +ifenabled(`java',` +ifenabled(`gcj',` +Package: gcj`'PV +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), ${dep:gcj}, ${dep:libcdev}, gij`'PV (= ${gcj:Version}), libgcj`'GCJ_SO-dev (= ${gcj:Version}), libgcj`'GCJ_SO-jar (>= ${gcj:SoftVersion}), ${dep:ecj}, libgcj-bc, java-common, ${shlibs:Depends}, dpkg (>= 1.15.4) | install-info +Recommends: fastjar, libecj-java-gcj +Suggests: java-gcj-compat-dev, libgcj`'GCJ_SO-dbg +Provides: java-compiler +Conflicts: cpp-4.1 (<< 4.1.1), gcc-4.1 (<< 4.1.1), java-gcj-compat-dev (<< 1.0.56-2) +Description: The GNU compiler for Java(TM) + GCJ is a front end to the GCC compiler which can natively compile both + Java(tm) source and bytecode files. The compiler can also generate class + files. +')`'dnl gcj + +ifenabled(`libgcj',` +ifenabled(`libgcjcommon',` +Package: libgcj-common +Section: java +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}) +Conflicts: classpath (<= 0.04-4) +Replaces: java-gcj-compat (<< 1.0.65-3), java-gcj-compat-dev (<< 1.0.65-3) +Description: Java runtime library (common files) + This package contains files shared by classpath and libgcj libraries. +')`'dnl libgcjcommon + +Package: gij`'PV +Priority: optional +Section: java +Architecture: any +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'LIBGCJ_EXT (= ${gcj:Version}), ${dep:prctl}, ${shlibs:Depends} +Suggests: fastjar, gcj`'PV (= ${gcj:Version}), java-gcj-compat, libgcj`'LIBGCJ_EXT-awt (= ${gcj:Version}) +Replaces: libgcj8 +Conflicts: java-gcj-compat (<< 1.0.76-4) +Provides: java-virtual-machine, java5-runtime-headless, java2-runtime-headless, java1-runtime-headless, java-runtime-headless +Description: The GNU Java bytecode interpreter + GIJ is not limited to interpreting bytecode. It includes a class loader which + can dynamically load shared objects, so it is possible to give it the name + of a class which has been compiled and put into a shared library on the + class path. + +Package: libgcj`'LIBGCJ_EXT +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), libgcj-common (>= 1:4.1.1-21), ${shlibs:Depends} +Recommends: libgcj`'GCJ_SO-jar (>= ${gcj:SoftVersion}) +Suggests: libgcj`'GCJ_SO-dbg, libgcj`'LIBGCJ_EXT-awt (= ${gcj:Version}) +Description: Java runtime library for use with gcj + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + . + To show file names and line numbers in stack traces, the packages + libgcj`'GCJ_SO-dbg and binutils are required. + +Package: libgcj`'GCJ_SO-jar +Section: java +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}), libgcj`'LIBGCJ_EXT (>= ${gcj:SoftVersion}) +Conflicts: libgcj7-common +Replaces: libgcj7-common +Description: Java runtime library for use with gcj (jar files) + This is the jar file that goes along with the gcj front end to gcc. + +ifenabled(`gcjbc',` +Package: libgcj-bc +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), libgcj`'LIBGCJ_EXT (>= ${gcj:Version}) +Description: Link time only library for use with gcj + A fake library that is used at link time only. It ensures that + binaries built with the BC-ABI link against a constant SONAME. + This way, BC-ABI binaries continue to work if the SONAME underlying + libgcj.so changes. +')`'dnl gcjbc + +Package: libgcj`'LIBGCJ_EXT-awt +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), libgcj`'LIBGCJ_EXT (= ${gcj:Version}), ${shlibs:Depends} +Suggests: ${pkg:gcjqt} +Description: AWT peer runtime libraries for use with gcj + These are runtime libraries holding the AWT peer implementations + for libgcj (currently the GTK+ based peer library is required, the + QT bases library is not built). + +ifenabled(`gtkpeer',` +Package: libgcj`'GCJ_SO-awt-gtk +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'LIBGCJ_EXT-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: AWT GTK+ peer runtime library for use with libgcj + This is the runtime library holding the GTK+ based AWT peer + implementation for libgcj. +')`'dnl gtkpeer + +ifenabled(`qtpeer',` +Package: libgcj`'GCJ_SO-awt-qt +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'LIBGCJ_EXT-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: AWT QT peer runtime library for use with libgcj + This is the runtime library holding the QT based AWT peer + implementation for libgcj. +')`'dnl qtpeer + +Package: gappletviewer`'PV +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), gij`'PV (= ${gcj:Version}), libgcj`'LIBGCJ_EXT-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: Standalone application to execute Java (tm) applets + gappletviewer is a standalone application to execute Java (tm) applets. +')`'dnl libgcj + +ifenabled(`libgcjdev',` +Package: libgcj`'GCJ_SO-dev +Section: java +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), gcj`'PV (= ${gcj:Version}), libgcj`'GCJ_SO-jar (>= ${gcj:SoftVersion}), libgcj`'LIBGCJ_EXT-awt (= ${gcj:Version}), libgcj-bc, ${pkg:gcjgtk}, ${pkg:gcjqt}, zlib1g-dev, ${shlibs:Depends} +Suggests: libgcj-doc +Description: Java development headers for use with gcj + These are the development headers that go along with the gcj front end + to gcc. libgcj includes parts of the Java Class Libraries, plus glue + to connect the libraries to the compiler and the underlying OS. + +Package: libgcj`'GCJ_SO-dbg +Section: debug +Architecture: any +Priority: extra +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'LIBGCJ_EXT (= ${gcj:Version}) +Recommends: binutils +Description: Debugging symbols for libraries provided in libgcj`'GCJ_SO-dev + The package provides debugging symbols for the libraries provided + in libgcj`'GCJ_SO-dev. + . + binutils is required to show file names and line numbers in stack traces. + +Package: libgcj`'GCJ_SO-src +Section: java +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}), gcj`'PV (>= ${gcj:SoftVersion}), libgcj`'GCJ_SO-jar (= ${gcj:Version}) +Description: libgcj java sources for use in eclipse + These are the java source files packaged as a zip file for use in development + environments like eclipse. + +ifenabled(`gcjdoc',` +Package: libgcj-doc +Section: doc +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}) +Enhances: libgcj`'GCJ_SO-dev +Provides: classpath-doc +Description: libgcj API documentation and example programs + Autogenerated documentation describing the API of the libgcj library. + Sources and precompiled example programs from the classpath library. +')`'dnl gcjdoc +')`'dnl libgcjdev +')`'dnl java + +ifenabled(`c++',` +ifenabled(`libcxx',` +Package: libstdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(required)) +Depends: BASEDEP, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libstdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Conflicts: scim (<< 1.4.2-1) +Description: The GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libcxx + +ifenabled(`lib32cxx',` +Package: lib32stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, lib32gcc1`'LS, ${shlibs:Depends} +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib32cxx + +ifenabled(`lib64cxx',` +Package: lib64stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, ${shlibs:Depends}, lib64gcc1`'LS +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64cxx + +ifenabled(`libn32cxx',` +Package: libn32stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, ${shlibs:Depends}, libn32gcc1`'LS +ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (n32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libn32cxx + +ifenabled(`libvfpcxx',` +Package: libstdc++CXX_SO-vfp +Architecture: VFP_ARCHS +Section: libs +Priority: extra +Depends: BASEDEP, libc6-vfp, libgcc1-vfp, ${shlibs:Depends} +Description: The GNU Standard C++ Library v3 [VFP version] + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + This set of libraries is optimized to use a VFP coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl + +ifenabled(`c++dev',` +Package: libstdc++CXX_SO`'PV-dev`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, g++`'PV`'TS (= ${gcc:Version}), libstdc++CXX_SO`'LS (>= ${gcc:Version}), ${dep:libcdev} +ifdef(`TARGET',`',`dnl native +Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev, libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev, libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev +Suggests: libstdc++CXX_SO`'PV-doc +')`'dnl native +Provides: libstdc++-dev`'LS`'dnl +ifdef(`TARGET',`, libstdc++-dev-TARGET-dcv1, libstdc++CXX_SO-dev-TARGET-dcv1 +',` +')`'dnl +Description: The GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++CXX_SO`'PV-pic`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: extra +Depends: BASEDEP, libstdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}) +ifdef(`TARGET',`Provides: libstdc++CXX_SO-pic-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3 (shared library subset kit)`'ifdef(`TARGET)',` (TARGET)', `') + This is used to develop subsets of the libstdc++ shared libraries for + use on custom installation floppies and in embedded systems. + . + Unless you are making one of those, you will not need this package. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`debug') +Priority: extra +Depends: BASEDEP, libstdc++CXX_SO`'LS (>= ${gcc:Version}), libgcc`'GCC_SO-dbg`'LS, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libstdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Recommends: libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}) +Conflicts: libstdc++5-dbg`'LS, libstdc++5-3.3-dbg`'LS, libstdc++6-dbg`'LS, libstdc++6-4.0-dbg`'LS, libstdc++6-4.1-dbg`'LS, libstdc++6-4.2-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`debug') +Priority: extra +Depends: BASEDEP, lib32stdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}), lib32gcc`'GCC_SO-dbg`'LS, ${shlibs:Depends} +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib32stdc++6-dbg`'LS, lib32stdc++6-4.0-dbg`'LS, lib32stdc++6-4.1-dbg`'LS, lib32stdc++6-4.2-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`debug') +Priority: extra +Depends: BASEDEP, lib64stdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}), lib64gcc`'GCC_SO-dbg`'LS, ${shlibs:Depends} +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib64stdc++6-dbg`'LS, lib64stdc++6-4.0-dbg`'LS, lib64stdc++6-4.1-dbg`'LS, lib64stdc++6-4.2-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`debug') +Priority: extra +Depends: BASEDEP, libn32stdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}), libn32gcc`'GCC_SO-dbg`'LS, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: libn32stdc++6-dbg`'LS, libn32stdc++6-4.0-dbg`'LS, libn32stdc++6-4.1-dbg`'LS, libn32stdc++6-4.2-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifdef(`TARGET', `', ` +Package: libstdc++CXX_SO`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}) +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc +Description: The GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. +')`'dnl native +')`'dnl c++dev +')`'dnl c++ + +ifenabled(`ada',` +Package: gnat`'-GNAT_V +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), gcc`'PV (>= ${gcc:Version}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends} +Suggests: gnat`'PV-doc, ada-reference-manual +Provides: ada-compiler +Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5, gnat-4.0, gnat-4.1, gnat-4.2 +Description: The GNU Ada compiler + This is the GNU Ada compiler, which compiles Ada on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + +ifenabled(`libgnat',` +Package: libgnat`'-GNAT_V +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), ${shlibs:Depends} +Description: Runtime library for GNU Ada applications + Library needed for GNU Ada applications linked against the shared library. + +Package: libgnat`'-GNAT_V-dbg +Section: debug +Architecture: any +Priority: extra +Depends: gnat`'PV-base (= ${gnat:Version}), libgnat`'-GNAT_V (= ${gnat:Version}) +Recommends: gnat-gdb (>= 6.4) +Description: Runtime library for GNU Ada applications + Debugging symbols for the library needed for GNU Ada applications linked + against the shared library. + +Package: libgnatvsn`'GNAT_V-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), gnat`'PV (= ${gnat:Version}), libgnatvsn`'GNAT_V (= ${gnat:Version}) +Conflicts: libgnatvsn-dev (<< `'GNAT_V) +Description: GNU Ada compiler version library - development files + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the development files and static library. + +Package: libgnatvsn`'GNAT_V +Architecture: any +Priority: PRI(optional) +Section: libs +Depends: gnat`'PV-base (= ${gnat:Version}), libgnat`'-GNAT_V (= ${gnat:Version}) +Description: GNU Ada compiler version library + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the run-time shared library. + +Package: libgnatvsn`'GNAT_V-dbg +Architecture: any +Priority: extra +Section: debug +Depends: gnat`'PV-base (= ${gnat:Version}), libgnatvsn`'GNAT_V (= ${gnat:Version}) +Recommends: gnat-gdb (>= 6.4), libgnatvsn-dev (= ${gnat:Version}) +Description: GNU Ada compiler version library + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the debugging symbols for the run-time shared library. + +Package: libgnatprj`'GNAT_V-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), gnat`'PV (= ${gnat:Version}), libgnatprj`'GNAT_V (= ${gnat:Version}), libgnatvsn`'GNAT_V-dev (= ${gnat:Version}) +Conflicts: libgnatprj-dev (<< `'GNAT_V) +Description: GNU Ada Project Manager development files + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains development files: install it to develop applications + that understand GNAT project files. + +Package: libgnatprj`'GNAT_V +Architecture: any +Priority: PRI(optional) +Section: libs +Depends: gnat`'PV-base (= ${gnat:Version}), libgnat`'-GNAT_V (= ${gnat:Version}), libgnatvsn`'GNAT_V (= ${gnat:Version}) +Description: GNU Ada Project Manager + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains the run-time shared library. + +Package: libgnatprj`'GNAT_V-dbg +Architecture: any +Priority: extra +Section: debug +Depends: gnat`'PV-base (= ${gnat:Version}), libgnatprj`'GNAT_V (= ${gnat:Version}) +Recommends: gnat-gdb (>= 6.4), libgnatprj-dev (= ${gnat:Version}) +Description: GNU Ada Project Manager + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains the debugging symbols for the run-time shared library. +')`'dnl libgnat + +ifenabled(`lib64gnat',` +Package: lib64gnat`'-GNAT_V +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Ada applications + Library needed for GNU Ada applications linked against the shared library. +')`'dnl libgnat + +ifenabled(`gfdldoc',` +Package: gnat`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Suggests: gnat`'PV +Depends: dpkg (>= 1.15.4) | install-info +Conflicts: gnat-4.1-doc, gnat-4.2-doc +Description: Documentation for the GNU Ada compiler (gnat) + Documentation for the GNU Ada compiler in info `format'. +')`'dnl gfdldoc +')`'dnl ada + +ifenabled(`pascal',` +Package: gpc`'PV +Architecture: any +Priority: PRI(optional) +Depends: SOFTBASEDEP, gcc`'PV (>= ${gcc:SoftVersion}), ${dep:libcdev}, ${shlibs:Depends} +Recommends: libgmp3-dev, libncurses5-dev +Suggests: gpc`'PV-doc (>= ${gpc:Version}) +Provides: pascal-compiler +Description: The GNU Pascal compiler + This is the GNU Pascal compiler, which compiles Pascal on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + . + WARNING: the integration of gpc into gcc-4.x is still in an experimental + stage. For production use, please use gpc or gpc-2.1-3.4. + +Package: gpc`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: SOFTBASEDEP, dpkg (>= 1.15.4) | install-info +Replaces: gpc (<= 2.91.58-3) +Suggests: gpc`'PV +Description: Documentation for the GNU Pascal compiler (gpc) + Documentation for the GNU Pascal compiler in info `format'. + . + WARNING: the integration of gpc into gcc-4.x is still in an experimental + stage. For production use, please use gpc or gpc-2.1-3.4. +')`'dnl pascal + +ifenabled(`d ',` +Package: gdc`'PV +Architecture: any +Priority: PRI(optional) +Depends: SOFTBASEDEP, g++`'PV (>= ${gcc:SoftVersion}), libphobos`'PHOBOS_V`'PV-dev (= ${gdc:Version}) [libphobos_no_archs], ${shlibs:Depends}, ${misc:Depends} +Provides: d-compiler +Description: The D compiler + This is the D compiler, which compiles D on platforms supported by the gcc + compiler. It uses the GCC backend to generate optimised code. + . + For more information check https://bitbucket.org/goshawk/gdc + +ifenabled(`libphobos',` +Package: libphobos`'PHOBOS_V`'PV`'TS-dev +Architecture: any +Section: libdevel +Priority: PRI(optional) +Depends: gdc`'PV`'TS (= ${gdc:Version}), zlib1g-dev, ${shlibs:Depends}, ${misc:Depends} +Provides: libphobos`'PHOBOS_V`'TS-dev +Replaces: gdc-4.1`'TS (<< 0.25-4.1.2-17), gdc-4.3`'TS (<< 1:1.043-4.3.4-0) +Description: The phobos D standard library + This is the Phobos standard library that comes with the D compiler. + . + For more information check http://www.digitalmars.com/d/phobos/phobos.html +')`'dnl libphobos +')`'dnl d + +ifdef(`TARGET',`',`dnl +ifenabled(`libs',` +Package: gcc`'PV-soft-float +Architecture: arm armel +Priority: PRI(optional) +Depends: BASEDEP, ifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends} +Replaces: gcc-soft-float-ss +Description: The soft-floating-point gcc libraries (arm) + These are versions of basic static libraries such as libgcc.a compiled + with the -msoft-float option, for CPUs without a floating-point unit. +')`'dnl commonlibs +')`'dnl + +ifenabled(`fixincl',` +Package: fixincludes +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${shlibs:Depends} +Description: Fix non-ANSI header files + FixIncludes was created to fix non-ANSI system header files. Many + system manufacturers supply proprietary headers that are not ANSI compliant. + The GNU compilers cannot compile non-ANSI headers. Consequently, the + FixIncludes shell script was written to fix the header files. + . + Not all packages with header files are installed on the system, when the + package is built, so we make fixincludes available at build time of other + packages, such that checking tools like lintian can make use of it. +')`'dnl fixincl + +ifenabled(`cdev',` +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: gcc`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info `format'. +')`'dnl gfdldoc +')`'dnl native +')`'dnl cdev + +ifdef(`TARGET',`',`dnl +ifenabled(`libnof',` +Package: gcc`'PV-nof +Architecture: powerpc +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (= ${gcc:Version})') +Conflicts: gcc-3.2-nof +Description: The no-floating-point gcc libraries (powerpc) + These are versions of basic static libraries such as libgcc.a compiled + with the -msoft-float option, for CPUs without a floating-point unit. +')`'dnl libnof +')`'dnl + +ifenabled(`source',` +Package: gcc`'PV-source +Architecture: all +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), make (>= 3.81), automake1.9, autoconf2.59 +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). +')`'dnl source +dnl +')`'dnl gcc-X.Y +dnl last line in file --- gcc-4.3-4.3.4.orig/debian/lib64stdc++6.symbols.i386 +++ gcc-4.3-4.3.4/debian/lib64stdc++6.symbols.i386 @@ -0,0 +1,30 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# acosl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# asinl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# atan2l@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# atanl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# ceill@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# coshl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# cosl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# expl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# floorl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# fmodl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# frexpl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# hypotl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# log10l@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# logl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# modfl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# powl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# sinhl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# sinl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# sqrtl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# tanhl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# tanl@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-4.3-4.3.4.orig/debian/NEWS.gcc +++ gcc-4.3-4.3.4/debian/NEWS.gcc @@ -0,0 +1,861 @@ +GCC 4.3 Release Series — Changes, New Features, and Fixes +=============================================================== + + +Caveats +======= + +- GCC requires the GMP and MPFR libraries for building all the various + front-end languages it supports. See the prerequisites page for + version requirements. + +- ColdFire targets now treat long double as having the same format as + double. In earlier versions of GCC, they used the 68881 long double + format instead. + +- The m68k-uclinux target now uses the same calling conventions as + m68k-linux-gnu. You can select the original calling conventions by + configuring for m68k-uclinuxoldabi instead. Note that + m68k-uclinuxoldabi also retains the original 80-bit long double on + ColdFire targets. + +- The -fforce-mem option has been removed because it has had no effect + in the last few GCC releases. + +- The i386 -msvr3-shlib option has been removed since it is no longer + used. + +- Fastcall for i386 has been changed not to pass aggregate arguments in + registers, following Microsoft compilers. + +- Support for the AOF assembler has been removed from the ARM back end; + this affects only the targets arm-semi-aof and armel-semi-aof, which + are no longer recognized. We removed these targets without a + deprecation period because we discovered that they have been unusable + since GCC 4.0.0. + +- Support for the TMS320C3x/C4x processor (targets c4x-* and tic4x-*) + has been removed. This support had been deprecated since GCC 4.0.0. + +- Support for a number of older systems and recently unmaintained or + untested target ports of GCC has been declared obsolete in GCC 4.3. + Unless there is activity to revive them, the next release of GCC will + have their sources permanently removed. + + All GCC ports for the following processor architectures have been + declared obsolete: + + - National Semiconductor CRX (crx-*) + - Morpho MT (mt-*) + + The following aliases for processor architectures have been declared + obsolete. Users should use the indicated generic target names + instead, with compile-time options such as -mcpu or configure-time + options such as --with-cpu to control the configuration more + precisely. + + + - strongarm*-*-*, ep9312*-*-*, xscale*-*-* (use arm*-*-* instead). + - parisc*-*-* (use hppa*-*-* instead). + - m680[012]0-*-* (use m68k-*-* instead). + + All GCC ports for the following operating systems have been + declared obsolete: + + - BeOS (*-*-beos*) + - kaOS (*-*-kaos*) + - GNU/Linux using the a.out object format (*-*-linux*aout*) + - GNU/Linux using version 1 of the GNU C Library (*-*-linux*libc1*) + - Solaris versions before Solaris 7 (*-*-solaris2.[0-6], + *-*-solaris2.[0-6].*) + - Miscellaneous System V (*-*-sysv*) + - WindISS (*-*-windiss*) + + Also, those for some individual systems on particular architectures + have been obsoleted: + + - UNICOS/mk on DEC Alpha (alpha*-*-unicosmk*) + - CRIS with a.out object format (cris-*-aout) + - BSD 4.3 on PA-RISC (hppa1.1-*-bsd*) + - OSF/1 on PA-RISC (hppa1.1-*-osf*) + - PRO on PA-RISC (hppa1.1-*-pro*) + - Sequent PTX on IA32 (i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*) + - SCO Open Server 5 on IA32 (i[34567]86-*-sco3.2v5*) + - UWIN on IA32 (i[34567]86-*-uwin*) (support for UWIN as a host + was previously removed in 2001, leaving only the support for UWIN + as a target now being deprecated) + - ChorusOS on PowerPC (powerpc-*-chorusos*) + - All VAX configurations apart from NetBSD and OpenBSD + (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*) + +- The -Wconversion option has been modified. Its purpose now is to + warn for implicit conversions that may alter a value. This new + behavior is available for both C and C++. Warnings about conversions + between signed and unsigned integers can be disabled by using + -Wno-sign-conversion. In C++, they are disabled by default unless + -Wsign-conversion is explicitly requested. The old behavior of + -Wconversion, that is, warn for prototypes causing a type conversion + that is different from what would happen to the same argument in the + absence of a prototype, has been moved to a new option + -Wtraditional-conversion, which is only available for C. + +- The -m386, -m486, -mpentium and -mpentiumpro tuning options have + been removed because they were deprecated for more than 3 GCC major + releases. Use -mtune=i386, -mtune=i486, -mtune=pentium or + -mtune=pentiumpro as a replacement. + +- The -funsafe-math-optimizations option now automatically turns on + -fno-trapping-math in addition to -fno-signed-zeros, as it enables + reassociation and thus may introduce or remove traps. + +- More information on porting to GCC 4.3 from previous versions of GCC + can be found in the porting guide for this release. + + +General Optimizer Improvements +============================== + +- The GCC middle-end has been integrated with the MPFR library. This + allows GCC to evaluate and replace at compile-time calls to built-in + math functions having constant arguments with their mathematically + equivalent results. In making use of MPFR, GCC can generate correct + results regardless of the math library implementation or floating + point precision of the host platform. This also allows GCC to + generate identical results regardless of whether one compiles in + native or cross-compile configurations to a particular target. The + following built-in functions take advantage of this new capability: + acos, acosh, asin, asinh, atan2, atan, atanh, cbrt, cos, cosh, drem, + erf, erfc, exp10, exp2, exp, expm1, fdim, fma, fmax, fmin, gamma_r, + hypot, j0, j1, jn, lgamma_r, log10, log1p, log2, log, pow10, pow, + remainder, remquo, sin, sincos, sinh, tan, tanh, tgamma, y0, y1 and + yn. The float and long double variants of these functions + (e.g. sinf and sinl) are also handled. The sqrt and cabs functions + with constant arguments were already optimized in prior GCC + releases. Now they also use MPFR. + +- A new forward propagation pass on RTL was added. The new pass + replaces several slower transformations, resulting in compile-time + improvements as well as better code generation in some cases. + +- A new command-line switch -frecord-gcc-switches has been added to + GCC, although it is only enabled for some targets. The switch + causes the command line that was used to invoke the compiler to be + recorded into the object file that is being created. The exact + format of this recording is target and binary file format dependent, + but it usually takes the form of a note section containing ASCII + text. The switch is related to the -fverbose-asm switch, but that + one only records the information in the assembler output file as + comments, so the information never reaches the object file. + + +- The inliner heuristic is now aware of stack frame consumption. New + command-line parameters --param large-stack-frame and --param + large-stack-frame-growth can be used to limit stack frame size + growth caused by inlining. + +- During feedback directed optimizations, the expected block size the + memcpy, memset and bzero functions operate on is discovered and for + cases of commonly used small sizes, specialized inline code is + generated. + +- __builtin_expect no longer requires its argument to be a compile + time constant. + +- Interprocedural optimization was reorganized to work on functions in + SSA form. This enables more precise and cheaper dataflow analysis + and makes writing interprocedural optimizations easier. The + following improvements have been implemented on top of this + framework: + + - Pre-inline optimization: Selected local optimization passes are + run before the inliner (and other interprocedural passes) are + executed. This significantly improves the accuracy of code growth + estimates used by the inliner and reduces the overall memory + footprint for large compilation units. + + - Early inlining (a simple bottom-up inliner pass inlining only + functions whose body is smaller than the expected call overhead) + is now executed with the early optimization passes, thus inlining + already optimized function bodies into an unoptimized function + that is subsequently optimized by early optimizers. This enables + the compiler to quickly eliminate abstraction penalty in C++ + programs. + + - Interprocedural constant propagation now operate on SSA form + increasing accuracy of the analysis. + +- A new internal representation for GIMPLE statements has been + contributed, resulting in compile-time memory savings. + + +New Languages and Language specific improvements +================================================ + +- We have added new command-line options + -finstrument-functions-exclude-function-list and + -finstrument-functions-exclude-file-list. They provide more control + over which functions are annotated by the -finstrument-functions + option. + + +C family +-------- + +- Implicit conversions between generic vector types are now only + permitted when the two vectors in question have the same number of + elements and compatible element types. (Note that the restriction + involves compatible element types, not implicitly-convertible + element types: thus, a vector type with element type int may not be + implicitly converted to a vector type with element type unsigned + int.) This restriction, which is in line with specifications for + SIMD architectures such as AltiVec, may be relaxed using the flag + -flax-vector-conversions. This flag is intended only as a + compatibility measure and should not be used for new code. + +- -Warray-bounds has been added and is now enabled by default for + -Wall . It produces warnings for array subscripts that can be + determined at compile time to be always out of + bounds. -Wno-array-bounds will disable the warning. + +- The constructor and destructor function attributes now accept + optional priority arguments which control the order in which the + constructor and destructor functions are run. + +- New command-line options -Wtype-limits, -Wold-style-declaration, + -Wmissing-parameter-type, -Wempty-body, -Wclobbered and + -Wignored-qualifiers have been added for finer control of the diverse + warnings enabled by -Wextra. + +- A new function attribute alloc_size has been added to mark up malloc + style functions. For constant sized allocations this can be used to + find out the size of the returned pointer using the + __builtin_object_size() function for buffer overflow checking and + similar. This supplements the already built-in malloc and calloc + constant size handling. + +- Integer constants written in binary are now supported as a GCC + extension. They consist of a prefix 0b or 0B, followed by a + sequence of 0 and 1 digits. + +- A new predefined macro __COUNTER__ has been added. It expands to + sequential integral values starting from 0. In conjunction with the + ## operator, this provides a convenient means to generate unique + identifiers. + +- A new command-line option -fdirectives-only has been added. It + enables a special preprocessing mode which improves the performance + of applications like distcc and ccache. + +- Fixed-point data types and operators have been added. They are + based on Chapter 4 of the Embedded-C specification (n1169.pdf). + Currently, only MIPS targets are supported. + + +C++ +--- + +- Experimental support for the upcoming ISO C++ standard, C++0x. + +- -Wc++0x-compat has been added and is now enabled by default for + -Wall. It produces warnings for constructs whose meaning differs + between ISO C++ 1998 and C++0x. + +- The -Wparentheses option now works for C++ as it does for C. It + warns if parentheses are omitted when operators with confusing + precedence are nested. It also warns about ambiguous else + statements. Since -Wparentheses is enabled by -Wall, this may cause + additional warnings with existing C++ code which uses -Wall. These + new warnings may be disabled by using -Wall -Wno-parentheses. + +- The -Wmissing-declarations now works for C++ as it does for C. + +- The -fvisibility-ms-compat flag was added, to make it easier to port + larger projects using shared libraries from Microsoft's Visual + Studio to ELF and Mach-O systems. + +- C++ attribute handling has been overhauled for template arguments + (ie dependent types). In particular, __attribute__((aligned(T))); + works for C++ types. + + +Runtime Library (libstdc++) +--------------------------- + +- Experimental support for the upcoming ISO C++ standard, C++0x. + +- Support for TR1 mathematical special functions and regular + expressions. The implementation status for TR1 can be tracked in + tr1.html + +- Default what implementations give more elaborate exception strings + for bad_cast, bad_typeid, bad_exception, and bad_alloc. Header + dependencies have been streamlined, reducing unnecessary includes + and pre-processed bloat. Variadic template implementations of items + in and . + +- An experimental parallel mode has been added. This is a parallel + implementation of many C++ Standard library algorithms, like + std::accumulate, std::for_each, std::transform, or std::sort, to + give but four examples. These algorithms can be substituted for the + normal (sequential) libstdc++ algorithms on a piecemeal basis, or + all existing algorithms can be transformed via the + -D_GLIBCXX_PARALLEL macro. + +- Debug mode versions of classes in and + . + +- Formal deprecation of and , which are + now and . This code: + + #include + __gnu_cxx::hash_set s; + + Can be transformed (in order of preference) to: + + #include + std::tr1::unordered_set s; + + or + + #include + __gnu_cxx::hash_set s; + + Similar transformations apply to __gnu_cxx::hash_map, + __gnu_cxx::hash_multimap, __gnu_cxx::hash_set, + __gnu_cxx::hash_multiset. + + +Fortran +------- + +- Due to the fact that the GMP and MPFR libraries are required for all + languages, Fortran is no longer special in this regard and is + available by default. + +- The -fexternal-blas option has been added, which generates calls to + BLAS routines for intrinsic matrix operations such as matmul rather + than using the built-in algorithms. Support to give a backtrace + (compiler flag -fbacktrace or environment variable + GFORTRAN_ERROR_BACKTRACE; on glibc systems only) or a core dump + (-fdump-core, GFORTRAN_ERROR_DUMPCORE) when a run-time error + occured. + +- GNU Fortran now defines __GFORTRAN__ when it runs the C preprocessor + (CPP). + +- The -finit-local-zero, -finit-real, -finit-integer, + -finit-character, and -finit-logical options have been added, which + can be used to initialize local variables. + +- The intrinsic procedures GAMMA and LGAMMA have been added, which + calculate the Gamma function and its logarithm. Use EXTERNAL gamma + if you want to use your own gamma function. + +- GNU Fortran now regards the backslash character as literal (as + required by the Fortran 2003 standard); using -fbackslash GNU + Fortran interprets backslashes as C-style escape characters. + +- The interpretation of binary, octal and hexadecimal (BOZ) literal + constants has been changed. Before they were always interpreted as + integer; now they are bit-wise transferred as argument of INT, REAL, + DBLE and CMPLX as required by the Fortran 2003 standard, and for + real and complex variables in DATA statements or when directly + assigned to real and complex variables. Everywhere else and + especially in expressions they are still regarded as integer + constants. + +- Fortran 2003 support has been extended: + + - Intrinsic statements IMPORT, PROTECTED, VALUE and VOLATILE + - Pointer intent + - Intrinsic module ISO_ENV_FORTRAN + - Interoperability with C (ISO C Bindings) + - ABSTRACT INTERFACES and PROCEDURE statements (without POINTER + attribute) + - Fortran 2003 BOZ + + +Java (GCJ) +---------- + +- gcj now uses the Eclipse Java compiler for its Java parsing needs. + This enables the use of all 1.5 language features, and fixes most + existing front end bugs. + +- libgcj now supports all 1.5 language features which require runtime + support: foreach, enum, annotations, generics, and auto-boxing. + +- We've made many changes to the tools shipped with gcj. + + - The old jv-scan tool has been removed. This tool never really + worked properly. There is no replacement. + + - gcjh has been rewritten. Some of its more obscure options no + longer work, but are still recognized in an attempt at + compatibility. gjavah is a new program with similar functionality + but different command-line options. + + - grmic and grmiregistry have been rewritten. grmid has been added. + + - gjar replaces the old fastjar. + + - gjarsigner (used for signing jars), gkeytool (used for key + management), gorbd (for CORBA), gserialver (computes serialization + UIDs), and gtnameserv (also for CORBA) are now installed. + +- The ability to dump the contents of the java run time heap to a file + for off-line analysis has been added. The heap dumps may be + analyzed with the new gc-analyze tool. They may be generated on + out-of-memory conditions or on demand and are controlled by the new + run time class gnu.gcj.util.GCInfo. + +- java.util.TimeZone can now read files from /usr/share/zoneinfo to + provide correct, updated, timezone information. This means that + packagers no longer have to update libgcj when a time zone change is + published. + + +New Targets and Target Specific Improvements +============================================ + +IA-32/x86-64 +------------ + +- Tuning for Intel Core 2 processors is available via -mtune=core2 and + -march=core2. + +- Tuning for AMD Geode processors is available via -mtune=geode and + -march=geode. + +- Code generation of block move (memcpy) and block set (memset) was + rewritten. GCC can now pick the best algorithm (loop, unrolled + loop, instruction with rep prefix or a library call) based on the + size of the block being copied and the CPU being optimized for. A + new option -minline-stringops-dynamically has been added. With this + option string operations of unknown size are expanded such that + small blocks are copied by in-line code, while for large blocks a + library call is used. This results in faster code than + -minline-all-stringops when the library implementation is capable of + using cache hierarchy hints. The heuristic choosing the particular + algorithm can be overwritten via -mstringop-strategy. Newly also + memset of values different from 0 is inlined. + +- GCC no longer places the cld instruction before string operations. + Both i386 and x86-64 ABI documents mandate the direction flag to be + clear at the entry of a function. It is now invalid to set the flag + in asm statement without reseting it afterward. + +- Support for SSSE3 built-in functions and code generation are + available via -mssse3. + +- Support for SSE4.1 built-in functions and code generation are + available via -msse4.1. + +- Support for SSE4.2 built-in functions and code generation are + available via -msse4.2. + +- Both SSE4.1 and SSE4.2 support can be enabled via -msse4. + +- A new set of options -mpc32, -mpc64 and -mpc80 have been added to + allow explicit control of x87 floating point precision. + +- Support for __float128 (TFmode) IEEE quad type and corresponding + TCmode IEEE complex quad type is available via the soft-fp library + on x86_64 targets. This includes basic arithmetic operations + (addition, subtraction, negation, multiplication and division) on + __float128 real and TCmode complex values, the full set of IEEE + comparisons between __float128 values, conversions to and from + float, double and long double floating point types, as well as + conversions to and from signed or unsigned integer, signed or + unsigned long integer and signed or unsigned quad (TImode) integer + types. Additionally, all operations generate the full set of IEEE + exceptions and support the full set of IEEE rounding modes. + +- GCC can now utilize the ACML library for vectorizing calls to a set + of C99 functions on x86_64 if -mveclibabi=acml is specified and you + link to an ACML ABI compatible library. + + +ARM +--- + +- Compiler and Library support for Thumb-2 and the ARMv7 architecture + has been added. + + +CRIS +---- + +New features + +- Compiler and Library support for the CRIS v32 architecture, as found + in Axis Communications ETRAX FS and ARTPEC-3 chips, has been added. + +Configuration changes + +- The cris-*-elf target now includes support for CRIS v32, including + libraries, through the -march=v32 option. + +- A new crisv32-*-elf target defaults to generate code for CRIS v32. + +- A new crisv32-*-linux* target defaults to generate code for CRIS + v32. + +- The cris-*-aout target has been obsoleted. + +Improved support for built-in functions + +- GCC can now use the lz and swapwbr instructions to implement the + __builtin_clz, __builtin_ctz and __builtin_ffs family of functions. + +- __builtin_bswap32 is now implemented using the swapwb instruction, + when available. + + +m68k and ColdFire +----------------- + +New features + +- Support for several new ColdFire processors has been added. You can + generate code for them using the new -mcpu option. + +- All targets now support ColdFire processors. + +- m68k-uclinux targets have improved support for C++ constructors and + destructors, and for shared libraries. + +- It is now possible to set breakpoints on the first or last line of a + function, even if there are no statements on that line. + +Optimizations + +- Support for sibling calls has been added. + +- More use is now made of the ColdFire mov3q instruction. + +- __builtin_clz is now implemented using the ff1 ColdFire instruction, + when available. + +- GCC now honors the -m68010 option. 68010 code now uses clr rather + than move to zero volatile memory. + +- 68020 targets and above can now use symbol(index.size*scale) + addresses for indexed array accesses. Earlier compilers would + always load the symbol into a base register first. + +Configuration changes + +- All m68k and ColdFire targets now allow the default processor to be + set at configure time using --with-cpu. + +- A --with-arch configuration option has been added. This option + allows you to restrict a target to ColdFire or non-ColdFire + processors. + +Preprocessor macros + +- An __mcfv*__ macro is now defined for all ColdFire targets. + (Earlier versions of GCC only defined __mcfv4e__.) + +- __mcf_cpu_*, __mcf_family_* and __mcffpu__ macros have been added. + +- All targets now define __mc68010 and __mc68010__ when generating + 68010 code. + +Command-line changes + +- New command-line options -march, -mcpu, -mtune and -mhard-float have + been added. These options apply to both m68k and ColdFire targets. + +- -mno-short, -mno-bitfield and -mno-rtd are now accepted as negative + versions of -mshort, etc. + +- -fforce-addr has been removed. It is now ignored by the compiler. + +Other improvements + +- ColdFire targets now try to maintain a 4-byte-aligned stack where + possible. + +- m68k-uclinux targets now try to avoid situations that lead to the + load-time error: BINFMT_FLAT: reloc outside program. + + +MIPS +---- + +Changes to existing configurations + +- libffi and libjava now support all three GNU/Linux ABIs: o32, n32 + and n64. Every GNU/Linux configuration now builds these libraries + by default. + +- GNU/Linux configurations now generate -mno-shared code unless + overridden by -fpic, -fPIC, -fpie or -fPIE. + +- mipsisa32*-linux-gnu configurations now generate hard-float code by + default, just like other mipsisa32* and mips*-linux-gnu + configurations. You can build a soft-float version of any + mips*-linux-gnu configuration by passing --with-float=soft to + configure. + +- mips-wrs-vxworks now supports run-time processes (RTPs). + +Changes to existing command-line options + +- The -march and -mtune options no longer accept 24k as a processor + name. Please use 24kc, 24kf2_1 or 24kf1_1 instead. + +- The -march and -mtune options now accept 24kf2_1, 24kef2_1 and + 34kf2_1 as synonyms for 24kf, 24kef and 34kf respectively. The + options also accept 24kf1_1, 24kef1_1 and 34kf1_1 as synonyms for + 24kx, 24kex and 34kx. + +New configurations + +GCC now supports the following configurations: + +- mipsisa32r2*-linux-gnu*, which generates MIPS32 revision 2 code by + default. Earlier releases also recognized this configuration, but + they treated it in the same way as mipsisa32*-linux-gnu*. Note that + you can customize any mips*-linux-gnu* configuration to a particular + ISA or processor by passing an appropriate --with-arch option to + configure. + +- mipsisa*-sde-elf*, which provides compatibility with MIPS + Technologies' SDE toolchains. The configuration uses the SDE + libraries by default, but you can use it like other newlib-based ELF + configurations by passing --with-newlib to configure. It is the + only configuration besides mips64vr*-elf* to build MIPS16 as well as + non-MIPS16 libraries. + +- mipsisa*-elfoabi*, which is similar to the general mipsisa*-elf* + configuration, but uses the o32 and o64 ABIs instead of the 32-bit + and 64-bit forms of the EABI. + +New processors and application-specific extensions + +- Support for the SmartMIPS ASE is available through the new + -msmartmips option. + +- Support for revision 2 of the DSP ASE is available through the new + -mdspr2 option. A new preprocessor macro called __mips_dsp_rev + indicates the revision of the ASE in use. + +- Support for the 4KS and 74K families of processors is available + through the -march and -mtune options. + +Improved support for built-in functions + +- GCC can now use load-linked, store-conditional and sync instructions + to implement atomic built-in functions such as __sync_fetch_and_add. + The memory reference must be 4 bytes wide for 32-bit targets and + either 4 or 8 bytes wide for 64-bit targets. + +- GCC can now use the clz and dclz instructions to implement the + __builtin_ctz and __builtin_ffs families of functions. + +- There is a new __builtin___clear_cache function for flushing the + instruction cache. GCC expands this function inline on MIPS32 + revision 2 targets, otherwise it calls the function specified by + -mcache-flush-func. + +MIPS16 improvements + +- GCC can now compile objects that contain a mixture of MIPS16 and + non-MIPS16 code. There are two new attributes, mips16 and nomips16, + for specifying which mode a function should use. + +- A new option called -minterlink-mips16 makes non-MIPS16 code + link-compatible with MIPS16 code. + +- After many bug fixes, the long-standing MIPS16 -mhard-float support + should now work fairly reliably. + +- GCC can now use the MIPS16e save and restore instructions. + +- -fsection-anchors now works in MIPS16 mode. MIPS16 code compiled + with -G0 -fsection-anchors is often smaller than code compiled with + -G8. However, please note that you must usually compile all objects + in your application with the same -G option; see the documentation + of -G for details. + +- A new option called-mcode-readable specifies which instructions are + allowed to load from the code segment. -mcode-readable=yes is the + default and says that any instruction may load from the code + segment. The other alternatives are -mcode-readable=pcrel, which + says that only PC-relative MIPS16 instructions may load from the + code segment, and -mcode-readable=no, which says that no instruction + may do so. Please see the documentation for more details, including + example uses. + +Small-data improvements + +There are three new options for controlling small data: + +- -mno-extern-sdata, which disables small-data accesses for + externally-defined variables. Code compiled with -Gn + -mno-extern-sdata will be link-compatible with any -G setting + between -G0 and -Gn inclusive. + +- -mno-local-sdata, which disables the use of small-data sections for + data that is not externally visible. This option can be a useful + way of reducing small-data usage in less performance-critical parts + of an application. + +- -mno-gpopt, which disables the use of the $gp register while still + honoring the -G limit when placing externally-visible data. This + option implies -mno-extern-sdata and -mno-local-sdata and it can be + useful in situations where $gp does not necessarily hold the + expected value. + +Miscellaneous improvements + +- There is a new option called -mbranch-cost for tweaking the + perceived cost of branches. + +- If GCC is configured to use a version of GAS that supports the + .gnu_attribute directive, it will use that directive to record + certain properties of the output code. .gnu_attribute is new to GAS + 2.18. + +- There are two new function attributes, near and far, for overriding + the command-line setting of -mlong-calls on a function-by-function + basis. + +- -mfp64, which previously required a 64-bit target, now works with + MIPS32 revision 2 targets as well. The mipsisa*-elfoabi* and + mipsisa*-sde-elf* configurations provide suitable library support. + +- GCC now recognizes the -mdmx and -mmt options and passes them down + to the assembler. It does nothing else with the options at present. + + +SPU (Synergistic Processor Unit) of the Cell Broadband Engine Architecture (BEA) +-------------------------------------------------------------------------------- + +Support has been added for this new architecture. + + +RS6000 (POWER/PowerPC) +---------------------- + +- Support for the PowerPC 750CL paired-single instructions has been + added with a new powerpc-*-linux*paired* target configuration. It + is enabled by an associated -mpaired option and can be accessed + using new built-in functions. + +- Support for auto-detecting architecture and system configuration to + auto-select processor optimization tuning. + +- Support for VMX on AIX 5.3 has been added. + +- Support for AIX Version 6.1 has been added. + + +S/390, zSeries and System z9 +---------------------------- + +- Support for the IBM System z9 EC/BC processor (z9 GA3) has been + added. When using the -march=z9-ec option, the compiler will + generate code making use of instructions provided by the decimal + floating point facility and the floating point conversion facility + (pfpo). Besides the instructions used to implement decimal floating + point operations these facilities also contain instructions to move + between general purpose and floating point registers and to modify + and copy the sign-bit of floating point values. + +- When the -march=z9-ec option is used the new + -mhard-dfp/-mno-hard-dfp options can be used to specify whether the + decimal floating point hardware instructions will be used or not. + If none of them is given the hardware support is enabled by default. + +- The -mstack-guard option can now be omitted when using stack + checking via -mstack-size in order to let GCC choose a sensible + stack guard value according to the frame size of each function. + +- Various changes to improve performance of generated code have been + implemented, including: + + - The condition code set by an add logical with carry instruction is + now available for overflow checks like: a + b + carry < b. + + - The test data class instruction is now used to implement sign-bit + and infinity checks of binary and decimal floating point numbers. + + +Xtensa +------ + +- Stack unwinding for exception handling now uses by default a + specialized version of DWARF unwinding. This is not + binary-compatible with the setjmp/longjmp (sjlj) unwinding used for + Xtensa with previous versions of GCC. + +- For Xtensa processors that include the Conditional Store option, the + built-in functions for atomic memory access are now implemented + using S32C1I instructions. + +- If the Xtensa NSA option is available, GCC will use it to implement + the __builtin_ctz and __builtin_clz functions. + + +Documentation improvements +========================== + + +Other significant improvements +============================== + +- The compiler's --help command-line option has been extended so that + it now takes an optional set of arguments. These arguments restrict + the information displayed to specific classes of command-line + options, and possibly only a subset of those options. It is also + now possible to replace the descriptive text associated with each + displayed option with an indication of its current value, or for + binary options, whether it has been enabled or disabled. + +- Here are some examples. The following will display all the options + controlling warning messages: + + --help=warnings + + Whereas this will display all the undocumented, target specific + options: + + --help=target,undocumented + + This sequence of commands will display the binary optimizations that + are enabled by -O3: + + gcc -c -Q -O3 --help=optimizers > /tmp/O3-opts + gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts + diff /tmp/O2-opts /tmp/O3-opts | grep enabled + +- The configure options --with-pkgversion and --with-bugurl have been + added. These allow distributors of GCC to include a + distributor-specific string in manuals and --version output and to + specify the URL for reporting bugs in their versions of GCC. + + + +------------------------------------------------------------------------------ +Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are +also other ways to contact the FSF. + +These pages are maintained by the GCC team. + +For questions related to the use of GCC, please consult these web +pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org +mailing list might help. Please send comments on these web pages and +the development of GCC to our developer mailing list at gcc@gnu.org or +gcc@gcc.gnu.org. All of our lists have public archives. + +Copyright (C) Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110, USA. + +Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved. + +Last modified 2008-02-28 --- gcc-4.3-4.3.4.orig/debian/g++-BV-spu.overrides +++ gcc-4.3-4.3.4/debian/g++-BV-spu.overrides @@ -0,0 +1,2 @@ +g++-@BV@-spu: non-standard-dir-in-usr usr/spu/ +g++-@BV@-spu: file-in-unusual-dir --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.i386 +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.i386 @@ -0,0 +1,5 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-4.3-4.3.4.orig/debian/gnat-BV-doc.doc-base.style +++ gcc-4.3-4.3.4/debian/gnat-BV-doc.doc-base.style @@ -0,0 +1,16 @@ +Document: gnat-style-@BV@ +Title: GNAT Coding Style +Author: Various +Abstract: Most of GNAT is written in Ada using a consistent style to + ensure readability of the code. This document has been written to + help maintain this consistent style, while having a large group of + developers work on the compiler. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat-style.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat-style.html + +Format: info +Index: /usr/share/info/gnat-style-@BV@.info.gz +Files: /usr/share/info/gnat-style-@BV@* --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.powerpc +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.powerpc @@ -0,0 +1,7 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.16 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.16 @@ -0,0 +1,169 @@ + __iso_c_binding_c_f_pointer_i16@GFORTRAN_1.0 4.3 + _gfortran_all_l16@GFORTRAN_1.0 4.3 + _gfortran_any_l16@GFORTRAN_1.0 4.3 + _gfortran_count_16_l@GFORTRAN_1.0 4.3 + _gfortran_cshift1_16@GFORTRAN_1.0 4.3 + _gfortran_cshift1_16_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_16@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_16_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_16@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_16_char@GFORTRAN_1.0 4.3 + _gfortran_ishftc16@GFORTRAN_1.0 4.3 + _gfortran_matmul_i16@GFORTRAN_1.0 4.3 + _gfortran_matmul_l16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_r10@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_r10@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_maxval_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_r10@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_r10@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_minval_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_r10@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_r10@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_r10@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_r10@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mminval_i16@GFORTRAN_1.0 4.3 + _gfortran_mproduct_i16@GFORTRAN_1.0 4.3 + _gfortran_msum_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_c10_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_c4_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_c8_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_i16_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_i16_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_i16_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_i4_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_i8_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_r10_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_r4_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_r8_i16@GFORTRAN_1.0 4.3 + _gfortran_product_i16@GFORTRAN_1.0 4.3 + _gfortran_reshape_16@GFORTRAN_1.0 4.3 + _gfortran_shape_16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_r10@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_r10@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxval_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_r10@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_r10@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_sminval_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__char_1_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__index_1_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__len_1_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_16_10@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_16_4@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_16_8@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_i16@GFORTRAN_1.0 4.3 + _gfortran_sproduct_i16@GFORTRAN_1.0 4.3 + _gfortran_ssum_i16@GFORTRAN_1.0 4.3 + _gfortran_sum_i16@GFORTRAN_1.0 4.3 + _gfortran_transpose_i16@GFORTRAN_1.0 4.3 --- gcc-4.3-4.3.4.orig/debian/dummy-man.1 +++ gcc-4.3-4.3.4/debian/dummy-man.1 @@ -0,0 +1,29 @@ +.TH @NAME@ 1 "May 24, 2003" @name@ "Debian Free Documentation" +.SH NAME +@name@ \- A program with a man page covered by the GFDL with invariant sections +.SH SYNOPSIS +@name@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fB@name@\fR is documented by a man page, which is covered by the "GNU +Free Documentation License" (GFDL) containing invariant sections. +.P +In November 2002, version 1.2 of the GNU Free Documentation License (GNU +FDL) was released by the Free Software Foundation after a long period +of consultation. Unfortunately, some concerns raised by members of the +Debian Project were not addressed, and as such the GNU FDL can apply +to works that do not pass the Debian Free Software Guidelines (DFSG), +and may thus only be included in the non-free component of the Debian +archive, not the Debian distribution itself. + +.SH "SEE ALSO" +.BR http://gcc.gnu.org/onlinedocs/ +for the complete documentation, +.BR http://lists.debian.org/debian-legal/2003/debian-legal-200304/msg00307.html +for a proposed statement of Debian with respect to the GFDL, +.BR gfdl(7) + +.SH AUTHOR +This manual page was written by the Debian GCC maintainers, +for the Debian GNU/Linux system. --- gcc-4.3-4.3.4.orig/debian/README.cross +++ gcc-4.3-4.3.4/debian/README.cross @@ -0,0 +1,144 @@ +Building cross-compiler Debian packages +--------------------------------------- + +It is possible to build C and C++ cross compilers and support libraries +from gcc-4.0 source package. This document describes how to do so. +Cross-compiler build support is not perfect yet, please send fixes +and improvements to debian-gcc@lists.debian.org and +debian-embedded@lists.debian.org + +Before you start, you should probably check available pre-built +cross-toolchain debs. Available at http://www.emdebian.org + +Old patches could be reached at + http://zigzag.lvk.cs.msu.su/~nikita/debian/ + +If they are no longer there, you may check EmDebian web site at + http://www.emdebian.org/ +or ask debian-embedded@lists.debian.org for newer location. + +Please check http://bugs.debian.org/391445 if you are about building +gcc-4.3 or above. + +Most of them has been merged with gcc debian sources. + +0. What's wrong with toolchain-source approach + +Package toolchain-source contains sources for binutils and gcc, as well as +some support scripts to build cross-compiler packages. They seem to work. + +However, there is one fundamental problem with this approach. +Gcc package is actively maintained and frequently updated. These updates +do contain bug fixes and improvements, especially for non-x86 architectures. +Cross-compilers built using toolchain-source will not get those fixes unless +toolchain-source package is updated after each binutils and gcc update. +The later is not hapenning in real life. For example, toolchain-source +was upgraded from gcc-3.2 to gcc-3.3 half a year later than gcc-3.3 became +Debian default compiler. + +Keeping toolchain-source package up-to-date requires lots of work, and seems +to be a waste of time. It is much better to build cross-compilers directly +from gcc source package. + + +1. What is needed to build a cross-compiler from gcc-4.3 source + +1.1. dpkg-cross package + +Dpkg-cross package contains several tools to manage cross-compile environment. + +It can convert native debian library and lib-dev packages for the target +architecture to binary-all packages that keep libraries and headers under +/usr/$(TARGET)/. + +Also it contains helper tools for cross-compiling debian packages. Some of +these tools are used while building libgcc1 and libstdc++ library packages. +The resulting library packages follow the same convensions as library packages +converted by dpkg-cross. + +Currently, at least version 1.18 of dpkg-cross is needed for cross-gcc +package build. Version 1.32 of dpkg-cross is needed in order to build gcc-4.3. + +1.2. cross-binutils for the target + +You need cross-binutils for your target to build cross-compiler. +Binutils-multiarch package will not work because it does not provide cross- +assemblers. + +If you don't want to use pre-built cross-binutils packages, you may build +your own from binutils debian source package, using patches posted to +bug #231707. Please use the latest of patch versions available there. + +Alternatively, you may use toolchain-source package to build cross-binutils +(but in this case you will probably also want to use toolchain-source +to build cross-compiler itself). However, multilib'ed cross-compilers may +not build or work with these binutils. + +1.3. libc for target + +You also need libc library and development packages for the target +architecture installed. + +To get those, download linux-kernel-headers, libc6, and libc6-dev binary +debs for your target, convert those using dpkg-cross -b, and install +resulting -arch-cross debs. Consult dpkg-cross manual page for more +information. + +Building with/for alternative libc's is not supported yet (but this is in +TODO). + +Note that if you plan to use your cross-toolchain to develop kernel drivers +or similar low-level things, you will probably also need kernel headers +for the exact kernel version that your target hardware uses. + + +2. Building cross-compiler packages + +Get gcc-4.3 source package. + +Unpack it using dpkg-source -x, and cd to the package directory. + +Set GCC_TARGET environment variable to the target architectire name. Note +that currently you should use debian architecture name (i.e 'powerpc' or 'arm'), +not GNU system type (i.e. 'powerpc-linux' or 'arm-linux'). Setting GCC_TARGET +to GNU system type will cause cross-compiler build to fail. + +Instead of setting GCC_TARGET, target architecture name may be put into +debian/target file. If both GCC_TARGET is defined and debian/target file +exists, GCC_TARGET is used. + +Run debian/rules control. This will change debian/control file, +adjusting build-depends. By default, the packages will not depend on the +system -base package. A variable DEB_CROSS_INDEPENDENT has been merged with DEB_CROSS variable. + +You can then build with either + +$ GCC_TARGET=[arch] dpkg-buildpackage -rfakeroot + +3. Using crosshurd + +Jeff Bailey suggests alternate way to setup +environment to build cross-compiler, using 'crosshurd' package. +Crosshurd is like debootstrap but cross-arch, and works on the Hurd, +Linux and FreeBSD. (The name is historical). + +If you setup your environment with crosshurd, you will need to fix symlinks +in lib and usr/lib to be relative instead of absolute. For example: + +lrwxrwxrwx 1 root root 20 2004-05-06 23:02 libcom_err.so -> /lib/libcom_err.so.2 + +Needs to be changed to: + +lrwxrwxrwx 1 root root 20 2004-05-06 23:02 libcom_err.so -> ../../lib/libcom_err.so.2 + +Also, if you choose this method, set the environment variable 'with_sysroot' +to point to the ABSOLUTE PATH where the crosshurd was done. + +Note however that build-depends of cross-gcc and dependencies in generated +libgcc1 and libstdc++ packages assume that you use dpkg-cross to set up +your environment, and may be wrong or incomplete if you use alternate methods. +But probably you don't care. + +-- +Nikita V. Youshchenko - Jun 2004 +Hector Oron Martinez - Oct 2006 --- gcc-4.3-4.3.4.orig/debian/fastjar.postinst +++ gcc-4.3-4.3.4/debian/fastjar.postinst @@ -0,0 +1,14 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/fastjar.info.gz ]; then + install-info --quiet --section "Development" "Development" \ + /usr/share/info/fastjar.info.gz +else + # GFDL invariant free + true +fi + +update-alternatives --quiet --install /usr/bin/jar jar /usr/bin/fastjar 40 \ + --slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/share/man/man1/fastjar.1.gz + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/gcc-dummy.texi +++ gcc-4.3-4.3.4/debian/gcc-dummy.texi @@ -0,0 +1,41 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header + +@settitle The GNU Compiler Collection (GCC) + +@c Create a separate index for command line options. +@defcodeindex op +@c Merge the standard indexes into a single one. +@syncodeindex fn cp +@syncodeindex vr cp +@syncodeindex ky cp +@syncodeindex pg cp +@syncodeindex tp cp + +@paragraphindent 1 + +@c %**end of header + +@copying +The current documentation is licensed under the same terms as the Debian packaging. +@end copying +@ifnottex +@dircategory Programming +@direntry +* @name@: (@name@). The GNU Compiler Collection (@name@). +@end direntry +@sp 1 +@end ifnottex + +@summarycontents +@contents +@page + +@node Top +@top Introduction +@cindex introduction +The official GNU compilers' documentation is released under the terms +of the GNU Free Documentation License with cover texts. This has been +considered non free by the Debian Project. Thus you will find it in the +non-free section of the Debian archive. +@bye --- gcc-4.3-4.3.4.orig/debian/gfortran-BV-doc.doc-base +++ gcc-4.3-4.3.4/debian/gfortran-BV-doc.doc-base @@ -0,0 +1,14 @@ +Document: gfortran-@BV@ +Title: The GNU Fortran Compiler +Author: Various +Abstract: This manual documents how to run, install and port `gfortran', + as well as its new features and incompatibilities, and how to report bugs. +Section: Programming/Fortran + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html +Files: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html + +Format: info +Index: /usr/share/info/gfortran-@BV@.info.gz +Files: /usr/share/info/gfortran-@BV@* --- gcc-4.3-4.3.4.orig/debian/rules.unpack +++ gcc-4.3-4.3.4/debian/rules.unpack @@ -0,0 +1,263 @@ +# -*- makefile -*- +# rules to unpack the source tarballs in $(srcdir); if the source dir already +# exists, the rule exits with an error to prevent deletion of modified +# source files. It has to be deleted manually. + +tarballs = $(gcc_tarball) # $(gcj_tarball) +ifeq ($(with_pascal),yes) + tarballs += $(gpc_tarball) +endif +ifeq ($(with_d),yes) + tarballs += $(gdc_tarball) +endif + +unpack_stamps = $(foreach i,$(tarballs),$(unpack_stamp)-$(i)) + +unpack: stamp-dir $(unpack_stamp) debian-chmod +$(unpack_stamp): $(unpack_stamps) +$(unpack_stamp): $(foreach p,$(debian_tarballs),unpacked-$(p)) + echo -e "\nBuilt from Debian source package $(PKGSOURCE)-$(SOURCE_VERSION)" \ + > pxxx + echo -e "Integrated upstream packages in this version:\n" >> pxxx + for i in $(tarballs); do echo " $$i" >> pxxx; done + mv -f pxxx $@ + +debian-chmod: + @chmod 755 debian/dh_* + +# --------------------------------------------------------------------------- + +gfdl_texinfo_files = \ + gcc/doc/arm-neon-intrinsics.texi \ + gcc/doc/bugreport.texi \ + gcc/doc/cfg.texi \ + gcc/doc/collect2.texi \ + gcc/doc/compat.texi \ + gcc/doc/configfiles.texi \ + gcc/doc/configterms.texi \ + gcc/doc/contrib.texi \ + gcc/doc/contribute.texi \ + gcc/doc/cppenv.texi \ + gcc/doc/cppinternals.texi \ + gcc/doc/cppopts.texi \ + gcc/doc/cpp.texi \ + gcc/doc/c-tree.texi \ + gcc/doc/extend.texi \ + gcc/doc/fragments.texi \ + gcc/doc/frontends.texi \ + gcc/doc/gccint.texi \ + gcc/doc/gcc.texi \ + gcc/doc/gcov.texi \ + gcc/doc/gnu.texi \ + gcc/doc/gty.texi \ + gcc/doc/headerdirs.texi \ + gcc/doc/hostconfig.texi \ + gcc/doc/implement-c.texi \ + gcc/doc/install-old.texi \ + gcc/doc/install.texi \ + gcc/doc/interface.texi \ + gcc/doc/invoke.texi \ + gcc/doc/languages.texi \ + gcc/doc/libgcc.texi \ + gcc/doc/loop.texi \ + gcc/doc/makefile.texi \ + gcc/doc/md.texi \ + gcc/doc/objc.texi \ + gcc/doc/options.texi \ + gcc/doc/passes.texi \ + gcc/doc/portability.texi \ + gcc/doc/rtl.texi \ + gcc/doc/service.texi \ + gcc/doc/sourcebuild.texi \ + gcc/doc/standards.texi \ + gcc/doc/tm.texi \ + gcc/doc/tree-ssa.texi \ + gcc/doc/trouble.texi \ + gcc/doc/include/gcc-common.texi \ + gcc/doc/include/funding.texi \ + gcc/fortran/gfc-internals.texi \ + gcc/fortran/invoke.texi \ + gcc/fortran/intrinsic.texi \ + +gfdl_toplevel_texinfo_files = \ + gcc/doc/gcc.texi \ + gcc/java/gcj.texi \ + gcc/ada/gnat-style.texi \ + gcc/ada/gnat_rm.texi \ + gcc/ada/gnat_ugn.texi \ + gcc/fortran/gfortran.texi \ + gcc/treelang/treelang.texi \ + libgomp/libgomp.texi \ + +gfdl_manpages = \ + gcc/doc/cpp.1 \ + gcc/doc/g++.1 \ + gcc/doc/gc-analyze.1 \ + gcc/doc/gcc.1 \ + gcc/doc/gcj.1 \ + gcc/doc/gcj-dbtool.1 \ + gcc/doc/gcjh.1 \ + gcc/doc/gcov.1 \ + gcc/doc/gfortran.1 \ + gcc/doc/gij.1 \ + gcc/doc/grmic.1 \ + gcc/doc/grmiregistry.1 \ + gcc/doc/jcf-dump.1 \ + gcc/doc/jv-convert.1 \ + gcc/doc/fsf-funding.7 \ + +# --------------------------------------------------------------------------- +$(unpack_stamp)-$(gcc_tarball): $(gcc_tarpath) + : # unpack gcc tarball + -mkdir $(stampdir) + if [ -d $(srcdir) ]; then \ + echo >&2 "Source directory $(srcdir) exists. Delete by hand"; \ + false; \ + fi + rm -rf $(gcc_srcdir) + case $(gcc_tarball) in \ + *.bz2) tar -x --bzip2 -f $(gcc_tarpath);; \ + *.gz) tar -x --gzip -f $(gcc_tarpath);; \ + *.lzma) lzcat $(gcc_tarpath) | tar -x -f -;; \ + *) false; \ + esac + mv $(gcc_srcdir) $(srcdir) +#ifeq ($(with_java),yes) +# tar -x -C $(srcdir)/libjava/testsuite/libmauve.exp \ +# $(wildcard /usr/src/mauve*.tar.*) +#endif +ifeq (0,1) + cd $(srcdir) && tar cfj ../gcc-4.1.1-doc.tar.bz2 \ + $(gfdl_texinfo_files) \ + $(gfdl_toplevel_texinfo_files) \ + $(gfdl_manpages) +endif +ifeq ($(GFDL_INVARIANT_FREE),yes) + ifneq ($(PKGSOURCE),gcc-snapshot) + rm -f $(srcdir)/gcc/doc/*.1 + rm -f $(srcdir)/gcc/doc/fsf-funding.7 + rm -f $(srcdir)/gcc/doc/*.info + rm -f $(srcdir)/gcc/fortran/*.info + rm -f $(srcdir)/libgomp/*.info + rm -f $(srcdir)/gcc/java/*.1 + rm -f $(srcdir)/gcc/java/*.info + for i in $(gfdl_texinfo_files); do \ + if [ -f $(srcdir)/$$i ]; then \ + cp $(SOURCE_DIR)debian/dummy.texi $(srcdir)/$$i; \ + else \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + for i in $(gfdl_toplevel_texinfo_files); do \ + n=$$(basename $$i .texi); \ + if [ -f $(srcdir)/$$i ]; then \ + sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \ + > $(srcdir)/$$i; \ + else \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + for i in $(gfdl_manpages); do \ + touch $(srcdir)/$$i; \ + done + rm -f $(srcdir)/INSTALL/*.html + endif +endif + echo "$(gcc_tarball) unpacked." > $@ + +# --------------------------------------------------------------------------- +ifneq (,$(gcj_tarball)) +$(unpack_stamp)-$(gcj_tarball): $(gcj_tarpath) $(unpack_stamp)-$(gcc_tarball) + : # unpack gcj tarball + rm -rf $(srcdir)/gcc/java $(srcdir)/libjava + tar -x -C $(srcdir) -f $(gcj_tarpath) +ifeq ($(GFDL_INVARIANT_FREE),yes) + ifneq ($(PKGSOURCE),gcc-snapshot) + rm -f $(srcdir)/gcc/java/*.1 + rm -f $(srcdir)/gcc/java/*.info + for i in $(gfdl_texinfo_files); do \ + if [ -f $(srcdir)/$$i ]; then \ + cp $(SOURCE_DIR)debian/dummy.texi $(srcdir)/$$i; \ + else \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + for i in $(gfdl_toplevel_texinfo_files); do \ + n=$$(basename $$i .texi); \ + if [ -f $(srcdir)/$$i ]; then \ + sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \ + > $(srcdir)/$$i; \ + else \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + endif +endif + echo "$(gcj_tarball) unpacked." > $@ +endif + +# --------------------------------------------------------------------------- +ifneq (,$(gpc_tarball)) +$(unpack_stamp)-$(gpc_tarball): $(gpc_tarpath) + : # unpack gpc tarball + -mkdir $(stampdir) + if [ -d $(srcdir)/gcc/p ]; then \ + echo >&2 "Source directory $(srcdir)/gcc/p exists. Delete by hand";\ + false; \ + fi + #rm -rf $(gpc_srcdir) + rm -rf p + case $(gpc_tarball) in \ + *.bz2) tar -x --bzip2 -f $(gpc_tarpath);; \ + *.gz) tar -x --gzip -f $(gpc_tarpath);; \ + *.lzma) lzcat $(gpc_tarpath) | tar -x -f -;; \ + *) false; \ + esac + if [ -d p ]; then \ + mv p $(srcdir)/gcc/. ; \ + else \ + mv $(gpc_srcdir)/p $(srcdir)/gcc/. ; \ + rm -rf $(gpc_srcdir)/CVS; \ + rmdir $(gpc_srcdir); \ + fi + echo "$(gpc_tarball) unpacked." > $@ +endif + +# --------------------------------------------------------------------------- +ifneq (,$(gdc_tarball)) +$(unpack_stamp)-$(gdc_tarball): $(gdc_tarpath) + : # unpack gdc tarball + -mkdir $(stampdir) + if [ -d $(srcdir)/gcc/d ]; then \ + echo >&2 "Source directory $(srcdir)/gcc/d exists. Delete by hand";\ + false; \ + fi + #rm -rf $(gdc_srcdir) + rm -rf d + case $(gdc_tarball) in \ + *.bz2) tar -x --bzip2 -f $(gdc_tarpath);; \ + *.gz) tar -x --gzip -f $(gdc_tarpath);; \ + *.lzma) lzcat $(gdc_tarpath) | tar -x -f -;; \ + *) false; \ + esac + if [ -d d ]; then \ + mv d $(srcdir)/gcc/. ; \ + else \ + mv $(gdc_srcdir)/d $(srcdir)/gcc/. ; \ + rm -rf $(gdc_srcdir)/CVS; \ + rmdir $(gdc_srcdir); \ + fi + [ -d $(srcdir)/libphobos ] && rm -rf $(srcdir)/libphobos || true +ifeq ($(with_libphobos),yes) + mkdir $(srcdir)/libphobos && \ + cd $(srcdir)/libphobos && \ + ../symlink-tree ../gcc/d/phobos$(libphobos_version) 2>&1 +endif + [ -e $(srcdir)/gcc/d/d-make-include ] && rm -f $(srcdir)/gcc/d/d-make-include || true +ifeq ($(libphobos_version),2) + echo "D_LANGUAGE_VERSION=2" > $(srcdir)/gcc/d/d-make-include +else + echo "D_LANGUAGE_VERSION=1" > $(srcdir)/gcc/d/d-make-include +endif + echo "$(gdc_tarball) unpacked." > $@ +endif --- gcc-4.3-4.3.4.orig/debian/libgomp1.symbols.common +++ gcc-4.3-4.3.4/debian/libgomp1.symbols.common @@ -0,0 +1,89 @@ + GOMP_1.0@GOMP_1.0 4.2.1 + GOMP_barrier@GOMP_1.0 4.2.1 + GOMP_critical_end@GOMP_1.0 4.2.1 + GOMP_critical_name_end@GOMP_1.0 4.2.1 + GOMP_critical_name_start@GOMP_1.0 4.2.1 + GOMP_critical_start@GOMP_1.0 4.2.1 + GOMP_loop_dynamic_next@GOMP_1.0 4.2.1 + GOMP_loop_dynamic_start@GOMP_1.0 4.2.1 + GOMP_loop_end@GOMP_1.0 4.2.1 + GOMP_loop_end_nowait@GOMP_1.0 4.2.1 + GOMP_loop_guided_next@GOMP_1.0 4.2.1 + GOMP_loop_guided_start@GOMP_1.0 4.2.1 + GOMP_loop_ordered_dynamic_next@GOMP_1.0 4.2.1 + GOMP_loop_ordered_dynamic_start@GOMP_1.0 4.2.1 + GOMP_loop_ordered_guided_next@GOMP_1.0 4.2.1 + GOMP_loop_ordered_guided_start@GOMP_1.0 4.2.1 + GOMP_loop_ordered_runtime_next@GOMP_1.0 4.2.1 + GOMP_loop_ordered_runtime_start@GOMP_1.0 4.2.1 + GOMP_loop_ordered_static_next@GOMP_1.0 4.2.1 + GOMP_loop_ordered_static_start@GOMP_1.0 4.2.1 + GOMP_loop_runtime_next@GOMP_1.0 4.2.1 + GOMP_loop_runtime_start@GOMP_1.0 4.2.1 + GOMP_loop_static_next@GOMP_1.0 4.2.1 + GOMP_loop_static_start@GOMP_1.0 4.2.1 + GOMP_ordered_end@GOMP_1.0 4.2.1 + GOMP_ordered_start@GOMP_1.0 4.2.1 + GOMP_parallel_end@GOMP_1.0 4.2.1 + GOMP_parallel_loop_dynamic_start@GOMP_1.0 4.2.1 + GOMP_parallel_loop_guided_start@GOMP_1.0 4.2.1 + GOMP_parallel_loop_runtime_start@GOMP_1.0 4.2.1 + GOMP_parallel_loop_static_start@GOMP_1.0 4.2.1 + GOMP_parallel_sections_start@GOMP_1.0 4.2.1 + GOMP_parallel_start@GOMP_1.0 4.2.1 + GOMP_sections_end@GOMP_1.0 4.2.1 + GOMP_sections_end_nowait@GOMP_1.0 4.2.1 + GOMP_sections_next@GOMP_1.0 4.2.1 + GOMP_sections_start@GOMP_1.0 4.2.1 + GOMP_single_copy_end@GOMP_1.0 4.2.1 + GOMP_single_copy_start@GOMP_1.0 4.2.1 + GOMP_single_start@GOMP_1.0 4.2.1 + OMP_1.0@OMP_1.0 4.2.1 + OMP_2.0@OMP_2.0 4.2.1 + omp_destroy_lock@OMP_1.0 4.2.1 + omp_destroy_lock_@OMP_1.0 4.2.1 + omp_destroy_nest_lock@OMP_1.0 4.2.1 + omp_destroy_nest_lock_@OMP_1.0 4.2.1 + omp_get_dynamic@OMP_1.0 4.2.1 + omp_get_dynamic_@OMP_1.0 4.2.1 + omp_get_max_threads@OMP_1.0 4.2.1 + omp_get_max_threads_@OMP_1.0 4.2.1 + omp_get_nested@OMP_1.0 4.2.1 + omp_get_nested_@OMP_1.0 4.2.1 + omp_get_num_procs@OMP_1.0 4.2.1 + omp_get_num_procs_@OMP_1.0 4.2.1 + omp_get_num_threads@OMP_1.0 4.2.1 + omp_get_num_threads_@OMP_1.0 4.2.1 + omp_get_thread_num@OMP_1.0 4.2.1 + omp_get_thread_num_@OMP_1.0 4.2.1 + omp_get_wtick@OMP_2.0 4.2.1 + omp_get_wtick_@OMP_2.0 4.2.1 + omp_get_wtime@OMP_2.0 4.2.1 + omp_get_wtime_@OMP_2.0 4.2.1 + omp_in_parallel@OMP_1.0 4.2.1 + omp_in_parallel_@OMP_1.0 4.2.1 + omp_init_lock@OMP_1.0 4.2.1 + omp_init_lock_@OMP_1.0 4.2.1 + omp_init_nest_lock@OMP_1.0 4.2.1 + omp_init_nest_lock_@OMP_1.0 4.2.1 + omp_set_dynamic@OMP_1.0 4.2.1 + omp_set_dynamic_8_@OMP_1.0 4.2.1 + omp_set_dynamic_@OMP_1.0 4.2.1 + omp_set_lock@OMP_1.0 4.2.1 + omp_set_lock_@OMP_1.0 4.2.1 + omp_set_nest_lock@OMP_1.0 4.2.1 + omp_set_nest_lock_@OMP_1.0 4.2.1 + omp_set_nested@OMP_1.0 4.2.1 + omp_set_nested_8_@OMP_1.0 4.2.1 + omp_set_nested_@OMP_1.0 4.2.1 + omp_set_num_threads@OMP_1.0 4.2.1 + omp_set_num_threads_8_@OMP_1.0 4.2.1 + omp_set_num_threads_@OMP_1.0 4.2.1 + omp_test_lock@OMP_1.0 4.2.1 + omp_test_lock_@OMP_1.0 4.2.1 + omp_test_nest_lock@OMP_1.0 4.2.1 + omp_test_nest_lock_@OMP_1.0 4.2.1 + omp_unset_lock@OMP_1.0 4.2.1 + omp_unset_lock_@OMP_1.0 4.2.1 + omp_unset_nest_lock@OMP_1.0 4.2.1 + omp_unset_nest_lock_@OMP_1.0 4.2.1 --- gcc-4.3-4.3.4.orig/debian/lib64gcc1.symbols.i386 +++ gcc-4.3-4.3.4/debian/lib64gcc1.symbols.i386 @@ -0,0 +1,138 @@ +libgcc_s.so.1 lib64gcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __addtf3@GCC_4.3.0 1:4.3 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __deregister_frame@GCC_3.0 1:4.1.1 + __deregister_frame_info@GCC_3.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_4.0.0 1:4.3 + __divtf3@GCC_4.3.0 1:4.3 + __divti3@GCC_3.0 1:4.1.1 + __divxc3@GCC_4.0.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __eqtf2@GCC_4.3.0 1:4.3 + __extenddftf2@GCC_4.3.0 1:4.3 + __extendsftf2@GCC_4.3.0 1:4.3 + __extendxftf2@GCC_4.3.0 1:4.3 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfdi@GCC_4.3.0 1:4.3 + __fixtfsi@GCC_4.3.0 1:4.3 + __fixtfti@GCC_4.3.0 1:4.3 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfdi@GCC_4.3.0 1:4.3 + __fixunstfsi@GCC_4.3.0 1:4.3 + __fixunstfti@GCC_4.3.0 1:4.3 + __fixunsxfdi@GCC_3.0 1:4.1.1 + __fixunsxfti@GCC_3.0 1:4.1.1 + __fixxfti@GCC_3.0 1:4.1.1 + __floatditf@GCC_4.3.0 1:4.3 + __floatsitf@GCC_4.3.0 1:4.3 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_4.3.0 1:4.3 + __floattixf@GCC_3.0 1:4.1.1 + __floatunditf@GCC_4.3.0 1:4.3 + __floatunsitf@GCC_4.3.0 1:4.3 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntitf@GCC_4.3.0 1:4.3 + __floatuntixf@GCC_4.2.0 1:4.2.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __getf2@GCC_4.3.0 1:4.3 + __gttf2@GCC_3.0 1:4.3 + __letf2@GCC_4.3.0 1:4.3 + __lshrti3@GCC_3.0 1:4.1.1 + __lttf2@GCC_3.0 1:4.3 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_4.0.0 1:4.3 + __multf3@GCC_4.3.0 1:4.3 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __mulxc3@GCC_4.0.0 1:4.1.1 + __negtf2@GCC_4.3.0 1:4.3 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __netf2@GCC_3.0 1:4.3 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.0.0 1:4.3 + __powixf2@GCC_4.0.0 1:4.1.1 + __register_frame@GCC_3.0 1:4.1.1 + __register_frame_info@GCC_3.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GCC_3.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GCC_3.0 1:4.1.1 + __subtf3@GCC_4.3.0 1:4.3 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __trunctfdf2@GCC_4.3.0 1:4.3 + __trunctfsf2@GCC_4.3.0 1:4.3 + __trunctfxf2@GCC_4.3.0 1:4.3 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 + __unordtf2@GCC_4.3.0 1:4.3 --- gcc-4.3-4.3.4.orig/debian/libgcj-common.preinst +++ gcc-4.3-4.3.4/debian/libgcj-common.preinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + upgrade|install) + if [ -n "$2" ] && [ -h /usr/share/doc/libgcj-common ] \ + && dpkg --compare-versions "$2" lt 1:4.0.2-10 + then + rm -f /usr/share/doc/libgcj-common + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.hurd-i386 +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.hurd-i386 @@ -0,0 +1,101 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 4.2.1 + GCC_3.3.1@GCC_3.3.1 4.2.1 + GCC_3.3@GCC_3.3 4.2.1 + GCC_3.4.2@GCC_3.4.2 4.2.1 + GCC_3.4@GCC_3.4 4.2.1 + GCC_4.0.0@GCC_4.0.0 4.2.1 + GCC_4.2.0@GCC_4.2.0 4.2.1 + GCC_4.3.0@GCC_4.3.0 1:4.3.0 + GLIBC_2.0@GLIBC_2.0 4.2.1 + _Unwind_Backtrace@GCC_3.3 4.2.1 + _Unwind_DeleteException@GCC_3.0 4.2.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.2.1 + _Unwind_Find_FDE@GCC_3.0 4.2.1 + _Unwind_ForcedUnwind@GCC_3.0 4.2.1 + _Unwind_GetCFA@GCC_3.3 4.2.1 + _Unwind_GetDataRelBase@GCC_3.0 4.2.1 + _Unwind_GetGR@GCC_3.0 4.2.1 + _Unwind_GetIP@GCC_3.0 4.2.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.2.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.2.1 + _Unwind_GetRegionStart@GCC_3.0 4.2.1 + _Unwind_GetTextRelBase@GCC_3.0 4.2.1 + _Unwind_RaiseException@GCC_3.0 4.2.1 + _Unwind_Resume@GCC_3.0 4.2.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.2.1 + _Unwind_SetGR@GCC_3.0 4.2.1 + _Unwind_SetIP@GCC_3.0 4.2.1 + __absvdi2@GCC_3.0 4.2.1 + __absvsi2@GCC_3.0 4.2.1 + __addvdi3@GCC_3.0 4.2.1 + __addvsi3@GCC_3.0 4.2.1 + __ashldi3@GCC_3.0 4.2.1 + __ashrdi3@GCC_3.0 4.2.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 4.2.1 + __clzdi2@GCC_3.4 4.2.1 + __clzsi2@GCC_3.4 4.2.1 + __cmpdi2@GCC_3.0 4.2.1 + __ctzdi2@GCC_3.4 4.2.1 + __ctzsi2@GCC_3.4 4.2.1 + __deregister_frame@GLIBC_2.0 4.2.1 + __deregister_frame_info@GLIBC_2.0 4.2.1 + __deregister_frame_info_bases@GCC_3.0 4.2.1 + __divdc3@GCC_4.0.0 4.2.1 + __divdi3@GLIBC_2.0 4.2.1 + __divsc3@GCC_4.0.0 4.2.1 + __divxc3@GCC_4.0.0 4.2.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 4.2.1 + __ffsdi2@GCC_3.0 4.2.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 4.2.1 + __fixsfdi@GCC_3.0 4.2.1 + __fixunsdfdi@GCC_3.0 4.2.1 + __fixunsdfsi@GCC_3.0 4.2.1 + __fixunssfdi@GCC_3.0 4.2.1 + __fixunssfsi@GCC_3.0 4.2.1 + __fixunsxfdi@GCC_3.0 4.2.1 + __fixunsxfsi@GCC_3.0 4.2.1 + __fixxfdi@GCC_3.0 4.2.1 + __floatdidf@GCC_3.0 4.2.1 + __floatdisf@GCC_3.0 4.2.1 + __floatdixf@GCC_3.0 4.2.1 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __floatundixf@GCC_4.2.0 4.2.1 + __frame_state_for@GLIBC_2.0 4.2.1 + __gcc_personality_v0@GCC_3.3.1 4.2.1 + __lshrdi3@GCC_3.0 4.2.1 + __moddi3@GLIBC_2.0 4.2.1 + __muldc3@GCC_4.0.0 4.2.1 + __muldi3@GCC_3.0 4.2.1 + __mulsc3@GCC_4.0.0 4.2.1 + __mulvdi3@GCC_3.0 4.2.1 + __mulvsi3@GCC_3.0 4.2.1 + __mulxc3@GCC_4.0.0 4.2.1 + __negdi2@GCC_3.0 4.2.1 + __negvdi2@GCC_3.0 4.2.1 + __negvsi2@GCC_3.0 4.2.1 + __paritydi2@GCC_3.4 4.2.1 + __paritysi2@GCC_3.4 4.2.1 + __popcountdi2@GCC_3.4 4.2.1 + __popcountsi2@GCC_3.4 4.2.1 + __powidf2@GCC_4.0.0 4.2.1 + __powisf2@GCC_4.0.0 4.2.1 + __powixf2@GCC_4.0.0 4.2.1 + __register_frame@GLIBC_2.0 4.2.1 + __register_frame_info@GLIBC_2.0 4.2.1 + __register_frame_info_bases@GCC_3.0 4.2.1 + __register_frame_info_table@GLIBC_2.0 4.2.1 + __register_frame_info_table_bases@GCC_3.0 4.2.1 + __register_frame_table@GLIBC_2.0 4.2.1 + __subvdi3@GCC_3.0 4.2.1 + __subvsi3@GCC_3.0 4.2.1 + __ucmpdi2@GCC_3.0 4.2.1 + __udivdi3@GLIBC_2.0 4.2.1 + __udivmoddi4@GCC_3.0 4.2.1 + __umoddi3@GLIBC_2.0 4.2.1 --- gcc-4.3-4.3.4.orig/debian/gcc-BV-spu.overrides +++ gcc-4.3-4.3.4/debian/gcc-BV-spu.overrides @@ -0,0 +1,2 @@ +gcc-@BV@-spu: non-standard-dir-in-usr usr/spu/ +gcc-@BV@-spu: file-in-unusual-dir --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.s390 +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.s390 @@ -0,0 +1,101 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.1.0@GCC_4.1.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __ashldi3@GCC_3.0 1:4.1.1 + __ashrdi3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzsi2@GCC_3.4 1:4.1.1 + __cmpdi2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzsi2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_4.1.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixtfdi@GCC_4.1.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __fixunstfdi@GCC_4.1.0 1:4.1.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatditf@GCC_4.1.0 1:4.1.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatunditf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __lshrdi3@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldi3@GCC_3.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_4.1.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __negdi2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __paritysi2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountsi2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.1.0 1:4.1.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __ucmpdi2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmoddi4@GCC_3.0 1:4.1.1 + __umoddi3@GLIBC_2.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/libobjc2.symbols +++ gcc-4.3-4.3.4/debian/libobjc2.symbols @@ -0,0 +1,3 @@ +libobjc.so.2 libobjc2 #MINVER# +#include "libobjc2.symbols.common" + __gnu_objc_personality_v0@Base 4.2.1 --- gcc-4.3-4.3.4.orig/debian/rules +++ gcc-4.3-4.3.4/debian/rules @@ -0,0 +1,100 @@ +#! /usr/bin/make -f +# -*- makefile -*- +# Build rules for gcc (>= 2.95) and gcc-snapshot +# Targets found in this makefile: +# - unpack tarballs +# - patch sources +# - (re)create the control file +# - create a debian/rules.parameters file, which is included +# by debian/rules2 +# All other targets are passed to the debian/rules2 file + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +unexport LANG LC_ALL LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MESSAGES + +default: build + +include debian/rules.defs +include debian/rules.unpack +include debian/rules.patch + +control: $(control_dependencies) + -mkdir -p $(stampdir) + $(MAKE) -f debian/rules.conf $@ + +configure: $(configure_dependencies) +$(configure_stamp): control $(unpack_stamp) $(patch_stamp) + $(MAKE) -f debian/rules2 $@ +$(configure_dummy_stamp): control + $(MAKE) -f debian/rules2 $@ +$(configure_hppa64_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(configure_vfp_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(configure_spu_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ + +build: $(build_dependencies) +$(build_stamp): $(unpack_stamp) $(patch_stamp) $(configure_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_dummy_stamp): $(configure_dummy_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_javadoc_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_hppa64_stamp): $(configure_hppa64_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_vfp_stamp): $(configure_vfp_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_spu_stamp): $(configure_spu_stamp) + $(MAKE) -f debian/rules2 $@ + +check: $(check_stamp) +$(check_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ + +clean: + rm -rf $(stampdir) +# remove temporary dirs used for unpacking + rm -rf $(gcc_srcdir) $(gpc_srcdir) p $(gdc_srcdir) d + -$(MAKE) -f debian/rules2 $@ + rm -rf $(srcdir) src-spu $(builddir)* debian/tmp* html + rm -f bootstrap-* first-move-stamp + rm -f debian/*.tmp + rm -f debian/soname-cache + find debian -name '.#*' | xargs -r rm -f + find debian/patches -name '*.dpatch' -type f ! -perm 644 | xargs -r chmod 644 + dh_clean + +install: $(install_dependencies) +$(install_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_snap_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_dummy_stamp): $(build_dummy_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_hppa64_stamp): $(build_hppa64_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_vfp_stamp): $(build_vfp_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_spu_stamp): $(build_spu_stamp) + $(MAKE) -f debian/rules2 $@ + +html-docs doxygen-docs update-doxygen-docs update-ada-files xxx: + $(MAKE) -f debian/rules2 $@ + +binary-indep binary-arch binary: install + $(MAKE) -f debian/rules2 $@ + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +release: + foo=$(shell basename $(CURDIR)); \ + if [ "$$foo" != "gcc-3.4" ]; then \ + find -name CVS -o -name .cvsignore -o -name '.#*' | \ + xargs rm -rf; \ + fi + +.PHONY: build clean binary-indep binary-arch binary release --- gcc-4.3-4.3.4.orig/debian/libgcjGCJ-dev.overrides +++ gcc-4.3-4.3.4/debian/libgcjGCJ-dev.overrides @@ -0,0 +1 @@ +libgcj@GCJ@-dev: library-not-linked-against-libc --- gcc-4.3-4.3.4.orig/debian/gcj-BV.postinst +++ gcc-4.3-4.3.4/debian/gcj-BV.postinst @@ -0,0 +1,37 @@ +#! /bin/sh -e + +if [ -d /usr/share/doc/gcc-@BV@-base/java ] && [ ! -h /usr/share/doc/gcc-@BV@-base/java ]; then + rm -rf /usr/share/doc/gcc-@BV@-base/java + ln -s ../gcj-@BV@-base /usr/share/doc/gcc-@BV@-base/java +fi + +prio=$(echo @BV@ | sed 's/\.//g') +update-alternatives --quiet \ + --install /usr/bin/javac javac /usr/bin/gcj-wrapper-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/share/man/man1/gcj-wrapper-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/jar jar /usr/bin/gjar-@BV@ $prio \ + --slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/share/man/man1/gjar-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/jarsigner jarsigner /usr/bin/gjarsigner-@BV@ $prio \ + --slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/share/man/man1/gjarsigner-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/javah javah /usr/bin/gjavah-@BV@ $prio \ + --slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/share/man/man1/gjavah-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/native2ascii native2ascii /usr/bin/gnative2ascii-@BV@ $prio \ + --slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/share/man/man1/gnative2ascii-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/rmic rmic /usr/bin/grmic-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/share/man/man1/grmic-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/tnameserv tnameserv /usr/bin/gtnameserv-@BV@ $prio \ + --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/share/man/man1/gtnameserv-@BV@.1.gz + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/lib32gcc1.symbols.amd64 +++ gcc-4.3-4.3.4/debian/lib32gcc1.symbols.amd64 @@ -0,0 +1,101 @@ +libgcc_s.so.1 lib32gcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __ashldi3@GCC_3.0 1:4.1.1 + __ashrdi3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzsi2@GCC_3.4 1:4.1.1 + __cmpdi2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzsi2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divxc3@GCC_4.0.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __fixunsxfdi@GCC_3.0 1:4.1.1 + __fixunsxfsi@GCC_3.0 1:4.1.1 + __fixxfdi@GCC_3.0 1:4.1.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatdixf@GCC_3.0 1:4.1.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatundixf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __lshrdi3@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldi3@GCC_3.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulxc3@GCC_4.0.0 1:4.1.1 + __negdi2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __paritysi2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountsi2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powixf2@GCC_4.0.0 1:4.1.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __ucmpdi2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmoddi4@GCC_3.0 1:4.1.1 + __umoddi3@GLIBC_2.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/lib64gfortran3.symbols.sparc +++ gcc-4.3-4.3.4/debian/lib64gfortran3.symbols.sparc @@ -0,0 +1,4 @@ +libgfortran.so.3 lib64gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" +#include "libgfortran3.symbols.16.powerpc64" --- gcc-4.3-4.3.4.orig/debian/gij-BV.prerm +++ gcc-4.3-4.3.4/debian/gij-BV.prerm @@ -0,0 +1,14 @@ +#! /bin/sh -e + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then + update-alternatives --quiet --remove java /usr/bin/gij-@BV@ + update-alternatives --quiet --remove rmiregistry /usr/bin/grmiregistry-@BV@ + update-alternatives --quiet --remove keytool /usr/bin/gkeytool-@BV@ + update-alternatives --quiet --remove orbd /usr/bin/gorbd-@BV@ + update-alternatives --quiet --remove rmid /usr/bin/grmid-@BV@ + update-alternatives --quiet --remove serialver /usr/bin/gserialver-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-4.3-4.3.4.orig/debian/gcc-BV-doc.doc-base.gccint +++ gcc-4.3-4.3.4/debian/gcc-BV-doc.doc-base.gccint @@ -0,0 +1,17 @@ +Document: gccint-@BV@ +Title: Internals of the GNU C and C++ compiler +Author: Various +Abstract: This manual documents the internals of the GNU compilers, + including how to port them to new targets and some information about + how to write front ends for new languages. It corresponds to GCC + version @BV@.x. The use of the GNU compilers is documented in a + separate manual. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gccint.html +Files: /usr/share/doc/gcc-@BV@-base/gccint.html + +Format: info +Index: /usr/share/info/gccint-@BV@.info.gz +Files: /usr/share/info/gccint-@BV@* --- gcc-4.3-4.3.4.orig/debian/gpc-BV-doc.doc-base.gpcs +++ gcc-4.3-4.3.4/debian/gpc-BV-doc.doc-base.gpcs @@ -0,0 +1,23 @@ +Document: gpcs-@BV@-doc +Title: The GNU Pascal Coding Standards +Author: Various +Abstract: The GNU Pascal Coding Standards were designed by a group of + GNU Pascal project volunteers. The aim of this document is extending + the GNU Coding Standards with specific information relating Pascal + programming. As a matter of fact, the information contained in the + GNU Coding Standards mainly pertains to programs written in the C + language. On the other hand, they also explain many of the rules and + principles that are useful for writing portable, robust and reliable + programs. Most of those general topics could be shared with this + document with just a few specific notes, thus cross references are + provided which will lead you to the more extensive information + contained in the GNU Coding Standards. +Section: Programming/Pascal + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/pascal/gpcs.html +Files: /usr/share/doc/gcc-@BV@-base/pascal/gpcs.html + +Format: info +Index: /usr/share/info/gpcs-@BV@.info.gz +Files: /usr/share/info/gpcs-@BV@* --- gcc-4.3-4.3.4.orig/debian/fastjar.prerm +++ gcc-4.3-4.3.4/debian/fastjar.prerm @@ -0,0 +1,16 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/fastjar.info.gz ]; then + install-info --quiet --remove fastjar +else + # GFDL invariant free + true +fi + +if [ "$1" != "upgrade" ]; then + update-alternatives --quiet --remove jar /usr/bin/fastjar +fi + +#DEBHELPER# + +exit 0 --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.ia64 +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.ia64 @@ -0,0 +1,115 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3.2@GCC_3.3.2 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetBSP@GCC_3.3.2 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdf3@GCC_3.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divsf3@GCC_3.0 1:4.1.1 + __divsi3@GCC_3.0 1:4.1.1 + __divtf3@GCC_3.0 1:4.1.1 + __divti3@GCC_3.0 1:4.1.1 + __divxc3@GCC_4.0.0 1:4.1.1 + __divxf3@GCC_3.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfti@GCC_3.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfti@GCC_3.0 1:4.1.1 + __fixunsxfdi@GCC_3.0 1:4.1.1 + __fixunsxfti@GCC_3.0 1:4.1.1 + __fixxfti@GCC_3.0 1:4.1.1 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_3.0 1:4.1.1 + __floattixf@GCC_3.0 1:4.1.1 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntixf@GCC_4.2.0 1:4.2.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __ia64_nonlocal_goto@GCC_3.0 1:4.1.1 + __ia64_restore_stack_nonlocal@GCC_3.0 1:4.1.1 + __ia64_save_stack_nonlocal@GCC_3.0 1:4.1.1 + __ia64_trampoline@GCC_3.0 1:4.1.1 + __lshrti3@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __modsi3@GCC_3.0 1:4.1.1 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __mulxc3@GCC_4.0.0 1:4.1.1 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powixf2@GCC_4.0.0 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivsi3@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umoddi3@GLIBC_2.0 1:4.1.1 + __umodsi3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/rename-pkgs.sh +++ gcc-4.3-4.3.4/debian/rename-pkgs.sh @@ -0,0 +1,32 @@ +#! /bin/bash + +rename_pkg() +{ + src=$1 + dest=$2 + for ext in preinst postinst prerm postrm doc-base; do + if [ -f $src.$ext ]; then + if [ -f $dest.ext ]; then + echo already exists: $dest.$ext + else + echo "$src.$ext --> $dest.$ext" + svn rename $src.$ext $dest.$ext + #mv $src.$ext $dest.$ext + fi + fi + done +} + +v_new=3.4 +v_old=3.3 + +for p in chill cpp gcc g++ g77 gpc gij gcj gobjc protoize treelang; do + rename_pkg $p-$v_old $p-$v_new +done + +for p in cpp gcc g77 gnat; do + rename_pkg $p-$v_old-doc $p-$v_new-doc +done + +rename_pkg gcc-$v_old-base gcc-$v_new-base +rename_pkg gcc-$v_old-sparc64 gcc-$v_new-sparc64 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.ldbl.64bit +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.ldbl.64bit @@ -0,0 +1,283 @@ + CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1 + GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1 + GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTIPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTIPg@CXXABI_LDBL_1.3 4.2.1 + _ZTIg@CXXABI_LDBL_1.3 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTSPg@CXXABI_LDBL_1.3 4.2.1 + _ZTSg@CXXABI_LDBL_1.3 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.mipsel +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.mipsel @@ -0,0 +1,2 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" --- gcc-4.3-4.3.4.orig/debian/libgomp1.symbols +++ gcc-4.3-4.3.4/debian/libgomp1.symbols @@ -0,0 +1,4 @@ +libgomp.so.1 libgomp1 #MINVER# +#include "libgomp1.symbols.common" + GOMP_atomic_end@GOMP_1.0 4.2.1 + GOMP_atomic_start@GOMP_1.0 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libmudflapMF.postinst +++ gcc-4.3-4.3.4/debian/libmudflapMF.postinst @@ -0,0 +1,12 @@ +#! /bin/sh + +set -e + +case "$1" in configure) + if [ -d /usr/share/doc/libmudflap@MF@ ] && [ ! -h /usr/share/doc/libmudflap@MF@ ]; then + rm -rf /usr/share/doc/libmudflap@MF@ + ln -s gcc-@BV@-base /usr/share/doc/libmudflap@MF@ + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/acats-killer.sh +++ gcc-4.3-4.3.4/debian/acats-killer.sh @@ -0,0 +1,62 @@ +#! /bin/sh + +# on ia64 systems, the acats hangs in unaligned memory accesses. +# kill these testcases. + +pidfile=acats-killer.pid + +usage() +{ + echo >&2 "usage: `basename $0` [-p ] " + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -eq 2 ] || usage + +logfile=$1 +stopfile=$2 +interval=30 + +echo $$ > $pidfile + +while true; do + if [ -f "$stopfile" ]; then + echo "`basename $0`: finished." + rm -f $pidfile + exit 0 + fi + sleep $interval + if [ ! -f "$logfile" ]; then + continue + fi + pids=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ -n "$pids" ]; then + sleep $interval + pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ "$pids" = "$pids2" ]; then + #echo kill: $pids + kill $pids + sleep 1 + pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ "$pids" = "$pids2" ]; then + #echo kill -9: $pids + kill -9 $pids + fi + fi + fi +done --- gcc-4.3-4.3.4.orig/debian/libmudflap.copyright +++ gcc-4.3-4.3.4/debian/libmudflap.copyright @@ -0,0 +1,30 @@ +This package was debianized by Matthias Klose on +Mon, 5 Jul 2004 21:29:57 +0200 + +Mudflap is part of GCC. + +Authors: Frank Ch. Eigler , Graydon Hoare + +Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + +GCC 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 into combinations with other programs, +and to distribute those combinations 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 a combine +executable.) + +GCC 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. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. --- gcc-4.3-4.3.4.orig/debian/cpp-BV-doc.doc-base.cppint +++ gcc-4.3-4.3.4/debian/cpp-BV-doc.doc-base.cppint @@ -0,0 +1,17 @@ +Document: cppinternals-@BV@ +Title: The GNU C preprocessor (internals) +Author: Various +Abstract: This brief manual documents the internals of cpplib, and + explains some of the tricky issues. It is intended that, along with + the comments in the source code, a reasonably competent C programmer + should be able to figure out what the code is doing, and why things + have been implemented the way they have. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cppinternals.html +Files: /usr/share/doc/gcc-@BV@-base/cppinternals.html + +Format: info +Index: /usr/share/info/cppinternals-@BV@.info.gz +Files: /usr/share/info/cppinternals-@BV@* --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.amd64 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.amd64 @@ -0,0 +1,4 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.10" +#include "libgfortran3.symbols.16" --- gcc-4.3-4.3.4.orig/debian/cpp-BV-doc.doc-base.cpp +++ gcc-4.3-4.3.4/debian/cpp-BV-doc.doc-base.cpp @@ -0,0 +1,16 @@ +Document: cpp-@BV@ +Title: The GNU C preprocessor +Author: Various +Abstract: The C preprocessor is a "macro processor" that is used automatically + by the C compiler to transform your program before actual compilation. + It is called a macro processor because it allows you to define "macros", + which are brief abbreviations for longer constructs. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cpp.html +Files: /usr/share/doc/gcc-@BV@-base/cpp.html + +Format: info +Index: /usr/share/info/cpp-@BV@.info.gz +Files: /usr/share/info/cpp-@BV@* --- gcc-4.3-4.3.4.orig/debian/lib32stdc++CXX.postinst +++ gcc-4.3-4.3.4/debian/lib32stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/rules.defs +++ gcc-4.3-4.3.4/debian/rules.defs @@ -0,0 +1,1347 @@ +# -*- makefile -*- +# definitions used in more than one Makefile / rules file + +SHELL = /bin/bash -e # brace expansion used in rules file +PWD := $(shell pwd) +srcdir = $(PWD)/src +builddir = $(PWD)/build +builddir_hppa64 = $(PWD)/build-hppa64 +builddir_ia6432 = $(PWD)/build-ia6432 +builddir_spu = $(PWD)/build-spu +builddir_vfp = $(PWD)/build-vfp +stampdir = stamps +distribution := $(shell lsb_release -is) + +# architecture dependent variables +vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1))) + +DPKG_VARS := $(shell dpkg-architecture) +DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH) +DEB_HOST_GNU_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_CPU) +DEB_HOST_GNU_SYSTEM ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_SYSTEM) +DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE) + +ifdef DEB_TARGET_GNU_TYPE + TARGET_VARS := $(shell dpkg-architecture -f \ + -t$(DEB_TARGET_GNU_TYPE) 2>/dev/null) + DEB_TARGET_ARCH ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH) + DEB_TARGET_ARCH_OS ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_OS) + DEB_TARGET_ARCH_CPU ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_CPU) + DEB_TARGET_GNU_CPU ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_CPU) + DEB_TARGET_GNU_TYPE ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_TYPE) + DEB_TARGET_GNU_SYSTEM ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_SYSTEM) +else + + # allow debian/target to be used instead of GCC_TARGET - this was requested + # by toolchain-source maintainer + DEBIAN_TARGET_FILE := $(strip $(if $(wildcard debian/target), \ + $(shell cat debian/target 2>/dev/null))) + + ifdef DEB_TARGET_ARCH + # empty + else ifdef GCC_TARGET + DEB_TARGET_ARCH = $(GCC_TARGET) + else ifneq ($(DEBIAN_TARGET_FILE),) + DEB_TARGET_ARCH := $(DEBIAN_TARGET_FILE) + else + DEB_TARGET_ARCH = $(DEB_HOST_ARCH) + endif + + TARGET_VARS := $(shell dpkg-architecture -f \ + -a$(DEB_TARGET_ARCH) 2>/dev/null) + DEB_TARGET_ARCH ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH) + DEB_TARGET_ARCH_OS ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_OS) + DEB_TARGET_ARCH_CPU ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_CPU) + DEB_TARGET_GNU_CPU ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_CPU) + DEB_TARGET_GNU_TYPE ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_TYPE) + DEB_TARGET_GNU_SYSTEM ?= $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_SYSTEM) +endif + +# --------------------------------------------------------------------------- +# full canadian +# typical cross-compiler +# reverse cross (built to run on the target) +# native +# +# build != host && host == target : reverse cross (REVERSE_CROSS == yes) +# build == host && host != target : typical cross (DEB_CROSS == yes) +# build != host && host != target : canadian (DEB_CROSS == yes) +# build == host && host == target : native +ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + ifneq ($(DEB_HOST_GNU_TYPE), $(DEB_TARGET_GNU_TYPE)) + DEB_CROSS = yes + else + REVERSE_CROSS = yes + endif + else + ifneq ($(DEB_HOST_GNU_TYPE), $(DEB_TARGET_GNU_TYPE)) + DEB_CROSS = yes + endif +endif + +# --------------------------------------------------------------------------- +# which binary packages are built? + +# cross compiler support. If GCC_TARGET is set, then it's the architecture +# we build for. + +ifeq ($(DEB_TARGET_ARCH),) +$(error GCC_TARGET value "$(GCC_TARGET)" is not a valid Debian architecture) +endif + +ifeq ($(DEB_CROSS),yes) + # TP: Target Prefix. Used primarily as a prefix for cross tool + # names (e.g. powerpc-linux-gcc). + # TS: Target Suffix. Used primarily at the end of cross compiler + # package names (e.g. gcc-powerpc). + # LS: Library Suffix. Used primarily at the end of cross compiler + # library package names (e.g. libgcc-powerpc-cross). + DEB_TARGET_ALIAS ?= $(DEB_TARGET_GNU_TYPE) + TP = $(subst _,-,$(DEB_TARGET_GNU_TYPE))- + TS = -$(subst _,-,$(DEB_TARGET_ALIAS)) + LS = -$(subst _,-,$(DEB_TARGET_ARCH))-cross +endif + +ifeq ($(DEB_CROSS),yes) + TARGET_ALIAS := $(DEB_TARGET_ALIAS) +else + TARGET_ALIAS := $(DEB_TARGET_GNU_TYPE) + + ifeq ($(TARGET_ALIAS),i386-gnu) + TARGET_ALIAS := i586-gnu + endif + + #ifeq ($(TARGET_ALIAS),i486-linux-gnu) + # TARGET_ALIAS := i686-linux-gnu + #endif + + TARGET_ALIAS := $(subst i386,i486,$(TARGET_ALIAS)) + + # configure as linux-gnu, not linux + #ifeq ($(findstring linux,$(TARGET_ALIAS))/$(findstring linux-gnu,$(TARGET_ALIAS)),linux/) + # TARGET_ALIAS := $(TARGET_ALIAS)-gnu + #endif + + # configure as linux, not linux-gnu + #TARGET_ALIAS := $(subst linux-gnu,linux,$(TARGET_ALIAS)) +endif + +printarch: + @echo DEB_TARGET_ARCH: $(DEB_TARGET_ARCH) + @echo DEB_TARGET_ARCH_OS: $(DEB_TARGET_ARCH_OS) + @echo DEB_TARGET_ARCH_CPU: $(DEB_TARGET_ARCH_CPU) + @echo DEB_TARGET_ARCH_CPU: $(DEB_TARGET_ARCH_CPU) + @echo DEB_TARGET_GNU_SYSTEM: $(DEB_TARGET_GNU_SYSTEM) + @echo TARGET_ALIAS: $(TARGET_ALIAS) + @echo TP: $(TP) + @echo TS: $(TS) + +# The name of the source package +CHANGELOG_VARS := $(shell dpkg-parsechangelog | sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p') +PKGSOURCE := $(call vafilt,$(CHANGELOG_VARS),Source) + +ifneq ($(PKGSOURCE),gcc-snapshot) + versioned_packages := yes +endif + +ifeq ($(DEB_CROSS),yes) + cross_bin_arch := -$(subst _,-,$(TARGET_ALIAS)) + cross_lib_arch := -$(subst _,-,$(DEB_TARGET_ARCH))-cross +endif + +ifneq ($(DEB_CROSS),yes) + ifneq ($(PKGSOURCE),gcc-snapshot) + with_common_gcclibdir := yes + endif +endif + +# Don't include docs with GFDL invariant sections -------------------- +GFDL_INVARIANT_FREE := yes +ifeq ($(distribution),Ubuntu) + GFDL_INVARIANT_FREE=no +endif + +# -------------------- +# Configuration of components + +COMMA = , +SPACE = $(EMPTY) $(EMPTY) + +# lang= overwrites all of nolang=, overwrites all of WITHOUT_LANG + +DEB_LANG_OPT := $(filter lang=%,$(DEB_BUILD_OPTIONS)) +DEB_LANG := $(strip $(subst $(COMMA), ,$(patsubst lang=%,%,$(DEB_LANG_OPT)))) +DEB_NOLANG_OPT := $(filter nolang=%,$(DEB_BUILD_OPTIONS)) +DEB_NOLANG := $(strip $(subst $(COMMA), ,$(patsubst nolang=%,%,$(DEB_NOLANG_OPT)))) +lfilt = $(strip $(if $(DEB_LANG), \ + $(if $(filter $(1) $(2),$(DEB_LANG)),yes),$(3))) +nlfilt = $(strip $(if $(DEB_NOLANG), \ + $(if $(filter $(1) $(2),$(DEB_NOLANG)),disabled by $(DEB_NOLANG_OPT),$(3)))) +wlfilt = $(strip $(if $(filter $(1) $(2), $(subst $(COMMA), ,$(WITHOUT_LANG))), \ + disabled by WITHOUT_LANG=$(WITHOUT_LANG),$(3))) +envfilt = $(strip $(or $(call lfilt,$(1),$(2)),$(call nlfilt,$(1),$(3)),$(call wlfilt,$(1),$(3)),$(4))) + +# common things -------------------- +# build common packages, where package names don't differ in different +# gcc versions (fixincludes, libgcj-common) ... +with_common_pkgs := no + +# ... and some libraries, which do not change (libgcc1, libmudflap, libssp0). +with_common_libs := no + +#ifeq ($(distribution),Debian) +# next_gcc_not_built := alpha m68k mips mipsel hurd-i386 kfreebsd-i386 kfreebsd-amd64 +# ifneq (,$(filter $(DEB_TARGET_ARCH),$(next_gcc_not_built))) +# with_common_pkgs := yes +# with_common_libs := yes +# endif +#endif +#ifeq ($(distribution),Ubuntu) +# with_common_pkgs := yes +# with_common_libs := yes +#endif + +with_gccbase := yes +with_dev := yes + +with_source := no +ifneq (,$(findstring gcc-4,$(PKGSOURCE))) + with_source := yes +endif +with_source := $(call envfilt, source, , , $(with_source)) + +ifeq ($(PKGSOURCE),gcc-snapshot) + with_nls := no +else + with_nls := yes +endif +with_nls := $(call envfilt, nls, , , $(with_nls)) + +ifneq ($(WITH_BOOTSTRAP),) + # "yes" is the default and causes a 3-stage bootstrap. + # "no" means to just build the first stage, and not create the stage1 + # directory. + # "lean" means a lean 3-stage bootstrap, i.e. delete each stage when no + # longer needed. + with_bootstrap=$(WITH_BOOTSTRAP) +endif + +# separate -base package for the cross compiler. +ifeq ($(DEB_CROSS),yes) + with_gccxbase := yes +endif + +#no_dummy_cpus := ia64 i386 hppa s390 sparc +#with_base_only := yes +#ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(no_dummy_cpus))) +# with_base_only := no +# with_common_libs := yes +# with_common_pkgs := yes +#else +# with_common_libs := no +# with_common_pkgs := no +# with_dev := no +#endif + +# FIXME: build as a cross compiler to build on armv4 as well +vfp_archs = armel +ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + ifeq ($(distribution),Ubuntu) + ifneq (, $(filter $(DEB_TARGET_ARCH),$(vfp_archs))) + #with_vfp = yes + endif + endif +endif + +# C -------------------- +enabled_languages := c +# Build all packages needed for C development +ifeq ($(with_base_only),yes) + with_cdev := no +else + ifeq ($(with_dev),yes) + with_cdev := yes + else + with_cdev := no + endif +endif + +# C++ -------------------- +ifeq ($(with_base_only),yes) + with_cxx := no +else + with_cxx := yes +endif +no_cxx_cpus := avr +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(no_cxx_cpus))) + with_cxx := disabled for architecture $(DEB_TARGET_ARCH_CPU) +endif +with_cxx := $(call envfilt, c++, obj-c++ java, , $(with_cxx)) + +# Build all packages needed for C++ development +ifeq ($(with_cxx)-$(with_dev),yes-yes) + with_cxxdev := yes + with_libcxxdbg := yes +else + with_cxxdev := no + with_libcxxdbg := no +endif + +ifeq ($(with_cxx),yes) + enabled_languages += c++ +endif + +ifeq ($(with_common_pkgs)-$(with_cxx),yes-yes) + with_libcxx := yes +# ifeq ($(DEB_TARGET_ARCH_CPU),arm) +# with_libcxx := no +# endif +else + with_libcxx := no +endif + +# debugging versions of libstdc++ +ifeq ($(with_cxxdev),yes) + with_debug := yes +else + with_debug := no +endif +debug_no_cpus := +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(debug_no_cpus))) + with_debug := disabled for architecure $(DEB_TARGET_ARCH_CPU) +endif +with_debug := $(call envfilt, debug, , , $(with_debug)) + +# Java -------------------- +# - To build a standalone gcj package (with no corresponding gcc +# package): with_separate_libgcj=yes, with_standalone_gcj=yes +# - To build the java packages from the gcc source package: +# with_separate_libgcj=no, with_standalone_gcj=no +# - To build gcc and java from separate sources: +# with_separate_libgcj=yes, with_standalone_gcj=no + +with_separate_libgcj := yes +with_standalone_gcj := no + +# java converted for V3 C++ ABI for some archs +ifeq ($(with_base_only),yes) + with_java := no +else + with_java := yes +endif + +ifneq (,$(findstring gcj-4, $(PKGSOURCE))) + ifneq (,$(filter $(DEB_TARGET_ARCH), arm hppa)) + with_gcj_base_only := yes + endif +endif + +java_no_cpus := #mips mipsel +java_no_arches := +java_no_systems := +gcj_native_archs = alpha amd64 i386 ia64 m68k mips mipsel powerpc s390 sparc + +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(java_no_cpus))) + with_java := disabled for architecture $(DEB_TARGET_ARCH_CPU) +endif +ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(java_no_systems))) + with_java := disabled for $(DEB_TARGET_GNU_SYSTEM) +endif +ifneq (, $(filter $(DEB_TARGET_ARCH),$(java_no_arches))) + with_java := disabled for $(DEB_TARGET_ARCH) +endif +ifeq ($(DEB_CROSS),yes) + with_java := disabled for cross compiler package +endif +with_java := $(call envfilt, java, , c++, $(with_java)) + +#ifneq (,$(filter $(DEB_TARGET_ARCH),hppa)) +# with_native_ecj := yes +#endif + +with_java_maintainer_mode := yes +with_java_maintainer_mode := no + +# used as well in debian/rules.conf to determine the build deps +java_awt_peers = gtk # qt # xlib + +with_libgcjbc := no +with_libgcj_doc := yes +ifneq ($(with_common_libs),yes) + with_libgcj_doc := no +endif + +# Build all packages needed for Java development (gcj, libgcj-dev) +ifeq ($(with_java)-$(with_dev),yes-yes) + with_javadev := yes + with_gcj := yes +else + with_javadev := no +endif + +ifeq ($(with_java),yes) + with_java_alsa := yes + ifneq (,$(filter $(DEB_TARGET_GNU_SYSTEM), kfreebsd-gnu gnu)) + with_java_alsa := no + endif +endif + +ifeq ($(with_java),yes) + enabled_languages += java + with_libgcj := yes +else + with_libgcj := no +endif + +# libmudflap ------------------- +with_mudflap := yes +with_mudflap := $(call envfilt, mudflap, , , $(with_mudflap)) +ifeq ($(with_mudflap),yes) + with_libmudflap := yes +endif +ifneq ($(with_common_libs),yes) + with_libmudflap := no +endif + +# libssp ------------------- +with_ssp := yes +ssp_no_archs = alpha hppa ia64 m68k mips mipsel +ifneq (, $(filter $(DEB_TARGET_ARCH),$(ssp_no_archs))) + with_ssp := not available on $(DEB_TARGET_ARCH) +endif +with_ssp := $(call envfilt, ssp, , , $(with_ssp)) + +ifeq ($(with_ssp),yes) + ifneq ($(distribution),Debian) + ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + with_ssp_default := yes + endif + endif +endif + +# do it here, the information is only available after gcc is configured +ifeq ($(with_common_libs),yes) + ifeq ($(with_ssp),yes) + with_libssp := $(if $(wildcard $(builddir)/gcc/auto-host.h), \ + $(shell if grep -qs '^\#define TARGET_LIBC_PROVIDES_SSP 1' $(builddir)/gcc/auto-host.h; then echo 'libc provides ssp'; else echo 'yes'; fi)) + endif +endif + +# Fortran 95 -------------------- +ifeq ($(with_base_only),yes) + with_fortran := no +else + with_fortran := yes +endif + +f95_no_cpus := +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(f95_no_cpus))) + with_fortran := disabled for architecure $(DEB_TARGET_ARCH_CPU) +endif +ifeq ($(DEB_CROSS),yes) + with_fortran := disabled for cross compiler package +endif +ifeq (f95, $(findstring f95,$(WITHOUT_LANG))) + with_fortran := disabled by environment +endif +with_fortran := $(call envfilt, fortran, , , $(with_fortran)) + +# Build all packages needed for Fortran development +ifeq ($(with_fortran)-$(with_dev),yes-yes) + with_fdev := yes +else + with_fdev := no +endif + +ifeq ($(with_common_libs)-$(with_fortran),yes-yes) + with_libfortran := yes +else + with_libfortran := no +endif + +ifeq ($(with_fortran),yes) + enabled_languages += fortran +endif + +# protoize -------------------- +ifeq ($(with_common_pkgs),yes) + with_proto := yes + ifeq ($(DEB_CROSS),yes) + with_proto := disabled for cross compiler package + endif +else + with_proto := no +endif +#ifeq ($(with_proto),yes) +# enabled_languages += proto +#endif + +ifeq ($(with_common_pkgs),yes) + with_fixincl := yes + ifeq ($(DEB_CROSS),yes) + with_fixincl := disabled for cross compiler package + endif +else + with_fixincl := no +endif + +# Pascal -------------------- + +with_separate_gpc := yes + +with_pascal := yes +ifneq ($(with_dev),yes) + with_pascal := no +endif + +pascal_no_systems := +#ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(pascal_no_systems))) +# with_pascal := disabled for $(DEB_TARGET_GNU_SYSTEM) +#endif +ifneq ($(DEB_TARGET_ARCH),i386) + with_pascal := disabled for $(DEB_TARGET_ARCH) +endif +ifeq (,$(findstring gpc, $(PKGSOURCE))) + with_pascal := disabled, built by separate source +endif + +with_gpidump := yes +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),mips mipsel)) + with_gpidump := disabled for architecture $(DEB_TARGET_ARCH_CPU) +endif +pascal_version := 20030830 +ifeq (pascal, $(findstring pascal,$(WITHOUT_LANG))) + with_pascal := disabled by environment +endif +with_pascal := disabled for 4.3 +ifeq ($(DEB_CROSS),yes) + with_pascal := disabled for cross compiler package +endif +ifeq ($(with_pascal),yes) + enabled_languages += pascal +endif + +# ObjC -------------------- +ifeq ($(with_base_only),yes) + with_objc := no +else + with_objc := yes +endif +# the ObjC runtime with garbage collection enabled needs the Boehm GC +with_objc_gc := yes + +# disable ObjC garbage collection library (needs libgc) +libgc_no_cpus := avr #alpha amd64 arm armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc +libgc_no_systems := +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(libgc_no_cpus))) + with_objc_gc := disabled for architecture $(DEB_TARGET_ARCH_CPU) +endif +ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(libgc_no_systems))) + with_objc_gc := disabled for $(DEB_TARGET_GNU_SYSTEM) +endif +ifeq ($(DEB_CROSS),yes) + ifneq (objc, $(findstring objc,$(WITH_LANG))) + with_objc := disabled for cross compiler package + endif +endif +with_objc := $(call envfilt, objc, obj-c++, , $(with_objc)) + +ifneq ($(with_objc),yes) + with_objc_gc := $(with_objc) +endif + +# Build all packages needed for Objective-C development +ifeq ($(with_objc)-$(with_dev),yes-yes) + with_objcdev := yes +else + with_objcdev := no +endif +ifeq ($(with_common_libs)-$(with_objc),yes-yes) + with_libobjc := yes +else + with_libobjc := no +endif + +ifeq ($(with_objc),yes) + enabled_languages += objc +endif + +# ObjC++ -------------------- +with_objcxx := yes +with_objcxx := $(call envfilt, obj-c++, , c++ objc, $(with_objcxx)) + +ifeq ($(with_objcxx),yes) + enabled_languages += obj-c++ +endif + +# Ada -------------------- +with_separate_gnat := yes +with_ada := yes +ifneq ($(with_dev),yes) + with_ada := no +endif + +ada_no_cpus := alpha arm armel m32r m68k mips mipsel sh3 sh3eb sh4 sh4eb +ada_no_systems := hurd-i386 +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus))) + with_ada := disabled for architecure $(DEB_TARGET_ARCH_CPU) +endif +ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(ada_no_systems))) + with_ada := disabled for $(DEB_TARGET_GNU_SYSTEM) +endif +ifeq ($(DEB_TARGET_ARCH),hurd-i386) + with_ada := disabled for architecure $(DEB_TARGET_ARCH) +endif +with_ada := $(call envfilt, ada, , , $(with_ada)) +ifeq ($(DEB_CROSS),yes) + with_ada := disabled for cross compiler package +endif +#ifeq ($(PKGSOURCE),gcc-snapshot) +# with_ada := disabled for snapshot builds +#endif +ifneq (,$(findstring 4.3,$(PKGSOURCE))) + with_ada := disabled for gcc-4.3 +endif + +with_libgnat := $(with_ada) +ifeq ($(with_ada),yes) + enabled_languages += ada + libada_shared_dual_cpus := hppa + ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(libada_shared_dual_cpus))) + with_libgnat_shared_dual := yes + endif +else + with_libgnat_shared_dual := no +endif + +# D ------------------------- + +with_separate_gdc := yes + +# no suffix for D1.0 +libphobos_version := + +# experimental D2.0 +#libphobos_version := 2 + +ifeq ($(with_base_only),yes) + with_d := no +else + with_d := yes +endif +with_d := $(call envfilt, d, , c++, $(with_d)) + +with_libphobos := $(with_d) +libphobos_no_cpus := sparc +libphobos_no_systems := gnu +ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(libphobos_no_cpus))) + with_libphobos := disabled for architecure $(DEB_TARGET_ARCH_CPU) +endif +ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(libphobos_no_systems))) + with_libphobos := disabled for $(DEB_TARGET_GNU_SYSTEM) +endif + +ifeq ($(with_d),yes) + enabled_languages += d +endif + +# Shared libgcc -------------------- +with_shared_libgcc := yes + +ifeq ($(with_common_libs),yes) + with_libgcc := yes +else + with_libgcc := no + with_shared_libgcc := no +endif + +# libgcc-math -------------------- +with_libgmath := no +with_lib32gmath := no +ifneq (,$(findstring i486,$(DEB_TARGET_ARCH))) + #with_gccmath := yes + #with_libgmath := yes + #with_libgmathdev := yes +endif +ifeq ($(DEB_TARGET_ARCH),amd64) + #with_gccmath := yes + #with_lib32gmath := yes + #with_libgmathdev := yes +endif + +# libgomp -------------------- +with_gomp := yes +with_gomp := $(call envfilt, gomp, , , $(with_gomp)) +ifeq ($(with_common_libs),yes) + with_libgomp := yes +else + with_libgomp := no +endif + +# hppa64 build -------------------- +with_hppa64 := no +ifeq ($(DEB_TARGET_ARCH),hppa) + ifneq ($(DEB_CROSS),yes) + with_hppa64 := yes + endif + #ifeq ($(PKGSOURCE),gcc-snapshot) + # with_hppa64 := disabled for snapshot build + #endif +endif +with_hppa64 := $(call envfilt, hppa64, , , $(with_hppa64)) + +# spu build ----------------------- +with_spu := no +ifneq (,$(findstring $(DEB_TARGET_ARCH),powerpc ppc64)) + ifneq ($(DEB_CROSS),yes) + with_spu := yes + endif + ifeq ($(PKGSOURCE),gcc-snapshot) + #with_spu := disabled for snapshot build + else + with_spucache := yes + with_spumea64 := yes + endif +endif +with_spu := $(call envfilt, spu, , , $(with_spu)) + +# run testsuite -------------------- +with_check := yes +# If you don't want to run the gcc testsuite, set `with_check' to `no' +#with_check := disabled by hand +ifeq ($(with_base_only),yes) + with_check := no +endif +ifeq ($(DEB_CROSS),yes) + with_check := disabled for cross compiler package +endif +ifeq ($(REVERSE_CROSS),yes) + with_check := disabled for reverse cross build +endif +check_no_systems := hurd-i386 +ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(check_no_systems))) + with_check := disabled for $(DEB_TARGET_GNU_SYSTEM) +endif +check_no_cpus := none +ifeq ($(DEB_TARGET_ARCH_CPU), $(findstring $(DEB_TARGET_ARCH_CPU),$(check_no_cpus))) + with_check := disabled for architecure $(DEB_TARGET_ARCH_CPU) +endif +ifeq ($(DEB_TARGET_ARCH),hurd-i386) + with_check := disabled for architecure $(DEB_TARGET_ARCH) +endif +ifeq ($(distribution)-$(DEB_HOST_ARCH),Ubuntu-hppa) + ifneq ($(PKGSOURCE),gcc-snapshot) + with_check := disabled, testsuite timeouts with expect + endif +endif +ifneq (,$(findstring gnat-4, $(PKGSOURCE))) + ifeq ($(DEB_TARGET_ARCH_CPU), $(findstring $(DEB_TARGET_ARCH_CPU),sparc)) + with_check := disabled for architecure $(DEB_TARGET_ARCH_CPU) + endif +endif +with_check := $(call envfilt, check, , , $(with_check)) +ifneq ($(WITHOUT_CHECK),) + with_check := disabled by environment +endif +ifneq ($(findstring nocheck, $(DEB_BUILD_OPTIONS)),) + with_check := disabled by DEB_BUILD_OPTIONS +endif + +# not a dependency on all archs, but if available, use it for the testsuite +ifneq (,$(wildcard /usr/bin/localedef)) + locale_data = generate +endif + +# powerpc nof libraries -------------------- +with_libnof := no + +all_enabled_languages := $(enabled_languages) +languages_without_lang_opt := c++ objc obj-c++ proto + +ifeq ($(with_separate_libgcj),yes) + ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + enabled_languages := $(filter-out java, $(all_enabled_languages)) + debian_extra_langs = java + with_java := built from separate source + with_gcj := built from separate source + with_libgcj := built from separate source + endif + ifneq (,$(findstring gcj, $(PKGSOURCE))) + enabled_languages = c c++ java + debian_extra_langs := $(filter-out $(enabled_languages) $(languages_without_lang_opt), $(all_enabled_languages)) + ifneq ($(with_standalone_gcj),yes) + with_libgcc := no + endif + with_libgccmath := no + with_cxx := no + with_cdev := no + with_cxxdev := no + with_fortran := no + with_proto := no + with_fixincl := no + with_pascal := no + with_mudflap := no + with_libmudflap := no + with_libffi := no + with_libssp := no + with_libgomp := no + with_objc := no + with_libobjc := no + with_objcxx := no + with_ada := no + with_d := no + with_libphobos := no + with_libgnat := no + with_hppa64 := no + with_spu := no + with_libnof := no + with_debug := no + with_gccbase := no + ifeq ($(with_standalone_gcj),yes) + ifeq ($(DEB_TARGET_ARCH),hppa) + with_libgcc := yes + endif + endif + endif +endif + +ifeq ($(with_separate_gnat),yes) + ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + enabled_languages := $(filter-out ada, $(enabled_languages)) + debian_extra_langs += ada + with_ada := built from separate source + with_libgnat := built from separate source + endif + ifneq (,$(findstring gnat, $(PKGSOURCE))) + enabled_languages = c ada + debian_extra_langs := $(filter-out $(enabled_languages) $(languages_without_lang_opt), $(all_enabled_languages)) + with_ada := yes + with_libgnat := yes + with_libgcc := no + with_cxx := no + with_cdev := no + with_cxxdev := no + with_fortran := no + with_libfortran := no + with_proto := no + with_fixincl := no + with_pascal := no + with_mudflap := no + with_libmudflap := no + with_libffi := no + with_ssp := no + with_libssp := no + with_libgomp := no + with_objc := no + with_libobjc := no + with_objcxx := no + with_d := no + with_libphobos := no + with_java := no + with_gcj := no + with_libgcj := no + with_hppa64 := no + with_spu := no + with_libnof := no + with_debug := no + with_gccbase := no + endif +endif + +ifeq ($(with_separate_gdc),yes) + ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + enabled_languages := $(filter-out d, $(enabled_languages)) + debian_extra_langs += d + with_d := built from separate source + with_libphobos := built from separate source + endif + ifneq (,$(findstring gdc, $(PKGSOURCE))) + enabled_languages = c c++ d + debian_extra_langs := $(filter-out $(enabled_languages) $(languages_without_lang_opt), $(all_enabled_languages)) + with_libgcc := no + with_cxx := no + with_cdev := no + with_cxxdev := no + with_fortran := no + with_proto := no + with_fixincl := no + with_pascal := no + # gpc doesn't support mudflap + with_mudflap := no + with_libmudflap := no + with_libffi := no + with_libssp := no + with_objc := no + with_libobjc := no + with_objcxx := no + with_ada := no + with_libgnat := no + with_java := no + with_gcj := no + with_libgcj := no + with_hppa64 := no + with_spu := no + with_libnof := no + with_debug := no + with_gccbase := no + with_fastjar := no + endif +endif + +ifeq ($(with_separate_gpc),yes) + ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + enabled_languages := $(filter-out pascal, $(enabled_languages)) + #debian_extra_langs += pascal + with_pascal := built from separate source + endif + ifneq (,$(findstring gpc, $(PKGSOURCE))) + enabled_languages = c pascal + debian_extra_langs := $(filter-out $(enabled_languages) $(languages_without_lang_opt), $(all_enabled_languages)) + with_libgcc := no + with_cxx := no + with_cdev := no + with_cxxdev := no + with_fortran := no + with_proto := no + with_fixincl := no + with_d := no + with_libphobos := no + # gpc doesn't support mudflap + with_mudflap := no + with_libmudflap := no + with_libffi := no + with_libssp := no + with_objc := no + with_libobjc := no + with_objcxx := no + with_ada := no + with_libgnat := no + with_java := no + with_gcj := no + with_libgcj := no + with_hppa64 := no + with_spu := no + with_libnof := no + with_debug := no + with_gccbase := no + with_fastjar := no + endif +endif + +debian_extra_langs := $(subst obj-c++,objcp,$(debian_extra_langs)) +export debian_extra_langs + +biarch64 := no +biarch34 := no +biarchn32 := no + +with_lib64gcc := no +with_lib64cxx := no +with_lib64objc := no +with_lib64ffi := no +with_lib64gcj := no +with_lib64fortran := no +with_lib64mudflap := no +with_lib64ssp := no + +biarch_map := i486=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x \ + x86_64=i486 powerpc64=powerpc mips=mips64 mipsel=mips64el +biarch_cpu := $(patsubst $(DEB_TARGET_GNU_CPU)=%,%, \ + $(filter $(DEB_TARGET_GNU_CPU)=%,$(biarch_map))) + +biarch64_archs := /i386/powerpc/sparc/s390/mips/mipsel/ + +ifneq (yes,$(call envfilt, biarch, , ,yes)) + biarch64_archs := +endif + +ifneq (,$(findstring /$(DEB_TARGET_ARCH)/,$(biarch64_archs))) + biarch64 := yes + biarch64subdir = $(biarch_cpu)-$(DEB_TARGET_GNU_SYSTEM) + biarch64subdir = 64 + ifeq ($(with_libgcc),yes) + with_lib64gcc := yes + endif + ifeq ($(with_libcxx),yes) + with_lib64cxx := yes + endif + ifeq ($(with_libcxxdbg),yes) + with_lib64cxxdbg := yes + endif + ifeq ($(with_libobjc),yes) + with_lib64objc := yes + endif + ifeq ($(with_libfortran),yes) + with_lib64fortran := yes + endif + ifeq ($(with_libffi),yes) + with_lib64ffi := yes + endif + ifeq ($(with_libmudflap),yes) + with_lib64mudflap := yes + endif + ifeq ($(with_libssp),yes) + with_lib64ssp := yes + endif + ifeq ($(with_libgomp),yes) + with_lib64gomp:= yes + endif + + biarch_multidir_names = libiberty libgcc + ifneq (,$(findstring gcc-, $(PKGSOURCE))) + biarch_multidir_names += libstdc++-v3 libgfortran libmudflap libssp \ + libffi libobjc libgomp zlib + ifeq ($(with_objc_gc),yes) + biarch_multidir_names += boehm-gc + endif + endif + export biarch_multidir_names + + TARGET32_MACHINE := $(TARGET_ALIAS) + TARGET64_MACHINE := $(strip $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu), \ + $(TARGET_ALIAS))) + export TARGET32_MACHINE + export TARGET64_MACHINE +endif + +biarch32_archs := /amd64/ppc64/kfreebsd-amd64/ +ifneq (yes,$(call envfilt, biarch, , ,yes)) + biarch32_archs := +endif +ifneq (,$(findstring /$(DEB_TARGET_ARCH)/,$(biarch32_archs))) + biarch32 := yes + biarch32subdir = $(biarch_cpu)-$(DEB_TARGET_GNU_SYSTEM) + biarch32subdir = 32 + ifeq ($(with_libgcc),yes) + with_lib32gcc := yes + endif + ifeq ($(with_libcxx),yes) + with_lib32cxx := yes + endif + ifeq ($(with_libcxxdbg),yes) + with_lib32cxxdbg := yes + endif + ifeq ($(with_libobjc),yes) + with_lib32objc := yes + endif + ifeq ($(with_libfortran),yes) + with_lib32fortran := yes + endif + ifeq ($(with_libffi),yes) + with_lib32ffi := yes + endif + ifeq ($(with_libmudflap),yes) + with_lib32mudflap := yes + endif + ifeq ($(with_libssp),yes) + with_lib32ssp := yes + endif + ifeq ($(with_libgomp),yes) + with_lib32gomp:= yes + endif + + biarch_multidir_names = libiberty libgcc + ifneq (,$(findstring gcc-, $(PKGSOURCE))) + biarch_multidir_names += libstdc++-v3 libgfortran libmudflap libssp \ + libffi libobjc libgomp zlib + ifeq ($(with_objc_gc),yes) + biarch_multidir_names += boehm-gc + endif + endif + export biarch_multidir_names + + TARGET32_MACHINE := $(strip $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu), \ + $(TARGET_ALIAS))) + TARGET64_MACHINE := $(TARGET_ALIAS) + export TARGET32_MACHINE + export TARGET64_MACHINE +endif + +biarchn32_archs := /mips/mipsel/ +ifneq (yes,$(call envfilt, biarch, , ,yes)) + biarchn32_archs := +endif +ifneq (,$(findstring /$(DEB_TARGET_ARCH)/,$(biarchn32_archs))) + biarchn32 := yes +# biarchn32subdir = $(biarch_cpu)-$(DEB_TARGET_GNU_SYSTEM) + biarchn32subdir = n32 + ifeq ($(with_libgcc),yes) + with_libn32gcc := yes + endif + ifeq ($(with_libcxx),yes) + with_libn32cxx := yes + endif + ifeq ($(with_libcxxdbg),yes) + with_libn32cxxdbg := yes + endif + ifeq ($(with_libobjc),yes) + with_libn32objc := yes + endif + ifeq ($(with_libfortran),yes) + with_libn32fortran := yes + endif + ifeq ($(with_libffi),yes) + with_libn32ffi := yes + endif + ifeq ($(with_libmudflap),yes) + with_libn32mudflap := yes + endif + ifeq ($(with_libssp),yes) + with_libn32ssp := yes + endif + ifeq ($(with_libgomp),yes) + with_libn32gomp:= yes + endif + + biarch_multidir_names = libiberty libgcc + ifneq (,$(findstring gcc-, $(PKGSOURCE))) + biarch_multidir_names += libstdc++-v3 libgfortran libmudflap libssp \ + libffi libobjc libgomp zlib + ifeq ($(with_objc_gc),yes) + biarch_multidir_names += boehm-gc + endif + endif + export biarch_multidir_names + + TARGET32_MACHINE := $(strip $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu), \ + $(TARGET_ALIAS))) + TARGET64_MACHINE := $(TARGET_ALIAS) + export TARGET32_MACHINE + export TARGET64_MACHINE +endif + +multilib_archs = $(sort $(subst /, , $(biarch64_archs) $(biarch32_archs) $(biarchn32_archs))) + +biarchsubdirs := \ + $(if $(filter yes,$(biarch64)),$(biarch64subdir),) \ + $(if $(filter yes,$(biarch32)),$(biarch32subdir),) \ + $(if $(filter yes,$(biarchn32)),$(biarchn32subdir),) +ifneq (,$(filter $(words $(biarchsubdirs)), 0 1)) + biarchsubdirs := $(strip $(biarchsubdirs)) +else + biarchsubdirs := {$(strip $(shell echo $(biarchsubdirs) | tr " " ","))} +endif + +#ifeq ($(DEB_TARGET_ARCH),ia64) +# biarch32 := yes +#endif + +ifeq ($(PKGSOURCE),gcc-snapshot) + #ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),sparc)) + with_lib64gcc := no + with_lib64cxx := no + with_lib64objc := no + with_lib64ffi := no + with_lib64gcj := no + with_lib64fortran := no + with_lib64mudflap := no + with_lib64ssp := no + + with_lib32gcc := no + with_lib32cxx := no + with_lib32objc := no + with_lib32ffi := no + with_lib32gcj := no + with_lib32fortran := no + with_lib32mudflap := no + with_lib32ssp := no + + with_libn32gcc := no + with_libn32cxx := no + with_libn32objc := no + with_libn32ffi := no + with_libn32gcj := no + with_libn32fortran := no + with_libn32mudflap := no + with_libn32ssp := no + + #biarch64 := disabled for snapshot build + #biarch32 := disabled for snapshot build + #biarchn32 := disabled for snapshot build + #endif +endif + +ifeq ($(DEB_CROSS_NO_BIARCH),yes) + with_lib64gcc := no + with_lib64cxx := no + with_lib64objc := no + with_lib64ffi := no + with_lib64gcj := no + with_lib64fortran := no + with_lib64mudflap := no + with_lib64ssp := no + + with_lib32gcc := no + with_lib32cxx := no + with_lib32objc := no + with_lib32ffi := no + with_lib32gcj := no + with_lib32fortran := no + with_lib32mudflap := no + with_lib32ssp := no + + with_libn32gcc := no + with_libn32cxx := no + with_libn32objc := no + with_libn32ffi := no + with_libn32gcj := no + with_libn32fortran := no + with_libn32mudflap := no + with_libn32ssp := no + + biarch64 := disabled for cross build + biarch32 := disabled for cross build + biarchn32 := disabled for cross build +endif + +ifeq ($(biarch32),yes) + with_32bit_check := $(strip $(if $(wildcard build/runcheck.out), \ + $(shell cat build/runcheck.out), \ + $(shell CC="gcc -m32" bash debian/runcheck.sh))) +endif + +ifeq ($(biarch64),yes) + ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),mips mipsel)) + with_64bit_check := $(strip $(if $(wildcard build/runcheck.out), \ + $(shell cat build/runcheck.out), \ + $(shell CC="gcc -mabi=64" bash debian/runcheck.sh))) + else + with_64bit_check := $(strip $(if $(wildcard build/runcheck.out), \ + $(shell cat build/runcheck.out), \ + $(shell CC="gcc -m64" bash debian/runcheck.sh))) + endif +endif + +ifeq ($(biarchn32),yes) + with_n32bit_check := $(strip $(if $(wildcard build/runcheck.out), \ + $(shell cat build/runcheck.out), \ + $(shell CC="gcc -mabi=n32" bash debian/runcheck.sh))) +endif + +# GNU locales +force_gnu_locales := yes +locale_no_systems := +ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(locale_no_systems))) + force_gnu_locales := disabled for $(DEB_TARGET_GNU_SYSTEM) +endif + +gcc_tarpath := $(firstword $(wildcard gcc-*.tar.* /usr/src/gcc-4.3/gcc-*.tar.*)) +gcc_tarball := $(notdir $(gcc_tarpath)) +#gcc_srcdir := $(shell echo $(gcc_tarball) | sed 's/\.tar.*//;s/-dfsg//') +gcc_srcdir := $(subst -dfsg,,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gcc_tarball:.tar.bz2=)))) + +ifeq ($(with_pascal),yes) + gpc_tarpath := $(firstword $(wildcard gpc-*.tar.* /usr/src/gcc-4.3/gpc-*.tar.*)) + gpc_tarball := $(notdir $(gpc_tarpath) + gpc_srcdir := $(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gpc_tarball:.tar.bz2=))) +endif + +ifeq ($(with_d),yes) + gdc_tarpath := $(firstword $(wildcard gdc-*.tar.* /usr/src/gcc-4.1/gdc-*.tar.*)) + gdc_tarball := $(notdir $(gdc_tarpath)) + gdc_srcdir := $(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gdc_tarball:.tar.bz2=))) +endif + +unpack_stamp := $(stampdir)/01-unpack-stamp +pre_patch_stamp := $(stampdir)/02-pre-patch-stamp +patch_stamp := $(stampdir)/02-patch-stamp +src_spu_stamp := $(stampdir)/02-src-spu-stamp +control_stamp := $(stampdir)/03-control-stamp +configure_stamp := $(stampdir)/04-configure-stamp +build_stamp := $(stampdir)/05-build-stamp +build_html_stamp := $(stampdir)/05-build-html-stamp +build_locale_stamp := $(stampdir)/05-build-locale-stamp +build_doxygen_stamp := $(stampdir)/05-build-doxygen-stamp +build_javadoc_stamp := $(stampdir)/05-build-javadoc-stamp +check_stamp := $(stampdir)/06-check-stamp +check_inst_stamp := $(stampdir)/06-check-inst-stamp +install_stamp := $(stampdir)/07-install-stamp +install_snap_stamp := $(stampdir)/07-install-snap-stamp +binary_stamp := $(stampdir)/08-binary-stamp + +configure_dummy_stamp := $(stampdir)/04-configure-dummy-stamp +build_dummy_stamp := $(stampdir)/05-build-dummy-stamp +install_dummy_stamp := $(stampdir)/07-install-dummy-stamp + +configure_hppa64_stamp := $(stampdir)/04-configure-hppa64-stamp +build_hppa64_stamp := $(stampdir)/05-build-hppa64-stamp +install_hppa64_stamp := $(stampdir)/07-install-hppa64-stamp + +configure_vfp_stamp := $(stampdir)/04-configure-vfp-stamp +build_vfp_stamp := $(stampdir)/05-build-vfp-stamp +install_vfp_stamp := $(stampdir)/07-install-vfp-stamp + +configure_ia6432_stamp := $(stampdir)/04-configure-ia6432-stamp +build_ia6432_stamp := $(stampdir)/05-build-ia6432-stamp +install_ia6432_stamp := $(stampdir)/07-install-ia6432-stamp + +configure_ia6432_stamp := $(stampdir)/04-configure-ia6432-stamp +build_ia6432_stamp := $(stampdir)/05-build-ia6432-stamp +install_ia6432_stamp := $(stampdir)/07-install-ia6432-stamp + +configure_spu_stamp := $(stampdir)/04-configure-spu-stamp +build_spu_stamp := $(stampdir)/05-build-spu-stamp +install_spu_stamp := $(stampdir)/07-install-spu-stamp + +ifeq ($(PKGSOURCE),gcc-snapshot) + control_dependencies = $(patch_stamp) + configure_dependencies = $(configure_stamp) + build_dependencies = $(build_stamp) + ifeq ($(with_check),yes) + check_dependencies += $(check_stamp) + endif + install_dependencies = $(install_snap_stamp) +else + ifeq ($(with_base_only),yes) + control_dependencies = $(patch_stamp) + configure_dependencies = $(configure_dummy_stamp) + build_dependencies = $(build_dummy_stamp) + install_dependencies = $(install_dummy_stamp) + else + control_dependencies = $(patch_stamp) + configure_dependencies = $(configure_stamp) + build_dependencies = $(build_stamp) + ifeq ($(with_check),yes) + check_dependencies += $(check_stamp) + endif + install_dependencies = $(install_stamp) + endif +endif + +ifneq (,$(findstring gcj-, $(PKGSOURCE))) + ifeq ($(with_gcj_base_only),yes) + configure_dependencies = $(configure_dummy_stamp) + build_dependencies = $(build_dummy_stamp) + install_dependencies = $(install_dummy_stamp) + endif +endif + +ifeq ($(with_vfp),yes) + build_dependencies += $(build_vfp_stamp) + install_dependencies += $(install_vfp_stamp) +endif + +ifeq ($(with_hppa64),yes) + build_dependencies += $(build_hppa64_stamp) + ifneq ($(PKGSOURCE),gcc-snapshot) + install_dependencies += $(install_hppa64_stamp) + endif +endif + +ifeq ($(with_ia6432),yes) + build_dependencies += $(build_ia6432_stamp) +endif + +ifeq ($(with_spu),yes) + control_dependencies += $(src_spu_stamp) + build_dependencies += $(build_spu_stamp) + ifneq ($(PKGSOURCE),gcc-snapshot) + install_dependencies += $(install_spu_stamp) + endif +endif + +build_dependencies += $(check_dependencies) + +stamp-dir: + mkdir -p $(stampdir) --- gcc-4.3-4.3.4.orig/debian/locale-gen +++ gcc-4.3-4.3.4/debian/locale-gen @@ -0,0 +1,43 @@ +#!/bin/sh + +LOCPATH=`pwd`/locales +export LOCPATH + +[ -d $LOCPATH ] || mkdir -p $LOCPATH + +umask 022 + +echo "Generating locales..." +while read locale charset; do + case $locale in \#*) continue;; esac + [ -n "$locale" -a -n "$charset" ] || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`" + echo -n ".$charset" + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'` + echo -n '...' + if [ -f $LOCPATH/$locale ]; then + input=$locale + else + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'` + fi + localedef -i $input -c -f $charset $LOCPATH/$locale #-A /etc/locale.alias + echo ' done'; \ +done <, with sources obtained from: + + ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases) + svn://gcc.gnu.org/svn/gcc/ (for prereleases) + http://gnu-pascal.de/alpha/ (for GNU Pascal) + https://bitbucket.org/goshawk/gdc (for D) + +The current gcc-4.3 source package is taken from the SVN trunk. + +Changes: See changelog.Debian.gz + +Debian splits the GNU Compiler Collection into packages for each language, +library, and documentation as follows: + +Language Compiler package Library package Documentation +--------------------------------------------------------------------------- +Ada gnat-4.3 libgnat-4.3 gnat-4.3-doc +C gcc-4.3 gcc-4.3-doc +C++ g++-4.3 libstdc++6 libstdc++6-4.3-doc +D gdc-4.3 +Fortran 95 gfortran-4.3 libgfortran3 gfortran-4.3-doc +Java gcj-4.3 libgcj9 libgcj-doc +Objective C gobjc-4.3 libobjc2 +Objective C++ gobjc++-4.3 +Pascal gpc-4.3 +Treelang treelang-4.3 + +For some language run-time libraries, Debian provides source files, +development files, debugging symbols and libraries containing position- +independent code in separate packages: + +Language Sources Development Debugging Position-Independent +--------------------------------------------------------------------------- +C++ libstdc++6-4.3-dbg libstdc++6-4.3-pic +Java libgcj9-src libgcj9-dev libgcj9-dbg + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-4.3-base Base files common to all compilers +gcc-4.3-soft-float Software floating point (ARM only) +gcc-4.3-source The sources with patches + +Ada: +libgnatvsn-dev, libgnatvsn4.3 GNAT version library +libgnatprj-dev, libgnatprj4.3 GNAT Project Manager library + +C: +cpp-4.3, cpp-4.3-doc GNU C Preprocessor +libmudflap0-dev, libmudflap0 Library for instrumenting pointers +libssp0-dev, libssp0 GCC stack smashing protection library +fixincludes Fix non-ANSI header files +protoize Create/remove ANSI prototypes from C code + +Java: +gij The Java bytecode interpreter and VM +libgcj-common Common files for the Java run-time +libgcj8-awt The Abstract Windowing Toolkit +libgcj8-jar Java ARchive for the Java run-time + +C, C++ and Fortran 95: +libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library + +Biarch support: On some 64-bit platforms which can also run 32-bit code, +Debian provides additional packages containing 32-bit versions of some +libraries. These packages have names beginning with 'lib32' instead of +'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which +can also run 64-bit code, Debian provides additional packages with names +beginning with 'lib64' instead of 'lib'. These packages contain 64-bit +versions of the libraries. (At this time, not all platforms and not all +libraries support biarch.) The license terms for these lib32 or lib64 +packages are identical to the ones for the lib packages. + + +COPYRIGHT STATEMENTS AND LICENSING TERMS + + +GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, +1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +2008 Free Software Foundation, Inc. + +GCC 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 3, or (at your option) any later +version. + +GCC 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. + +Files that have exception clauses are licensed under the terms of the +GNU General Public License; either version 2, or (at your option) any +later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 2 of this +license in `/usr/share/common-licenses/GPL-2'. + +The libstdc++-v3 library is licensed under the terms of the GNU General +Public License, with this special exception: + + As a special exception, you may use this file as part of a free software + library without restriction. Specifically, if other files instantiate + templates or use macros or inline functions from this file, or you compile + this file and link it with other files to produce an executable, this + file does not by itself 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. + +The libgnat-4.3 Ada support library and libgnatvsn are licensed under the +terms of the GNU General Public License, with this special exception: + + As a special exception, if other files instantiate generics from this + unit, or you link this unit with other files to produce an executable, + this unit does not by itself 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 Public License. + +In contrast, libgnatprj is licensed under the terms of the pure GNU +General Public License. + +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/share/common-licenses/GPL'. + +The gpc runtime library is licensed under the terms of the GNU General +Public License, with this special exception: + + As a special exception, if you link this file with files compiled + with a GNU compiler 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. } + +The libgcj library is licensed under the terms of the GNU General +Public License, with a special exception: + + Linking this library statically or dynamically with other modules + is making a combined work based on this library. Thus, the terms + and conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give + you permission to link this library with independent modules to + produce an executable, regardless of the license terms of these + independent modules, and to copy and distribute the resulting + executable under terms of your choice, provided that you also + meet, for each linked independent module, the terms and conditions + of the license of that module. An independent module is a module + which is not derived from or based on this library. If you modify + this library, you may extend this exception to your version of the + library, but you are not obligated to do so. If you do not wish + to do so, delete this exception statement from your version. + +gcc/libgcc2.c (source for libgcc) has the following addition: + + 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 into combinations with + other programs, and to distribute those combinations 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 a combine executable.) + +gcc/unwind-libunwind.c (source for libgcc) has the following addition: + + As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself 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. + +The mudflap library is licensed under the terms of the GNU General +Public License, and has the following addition: + + 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 into combinations with + other programs, and to distribute those combinations 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 a combine executable.) + +The ssp library is licensed under the terms of the GNU General +Public License, with a special exception: + + As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself 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. + +The D frontend is licensend under the terms of the GNU General +Public License, either version 2 of the License, or (at your option) +any later version, which on Debian GNU/Linux systems can be found as +`/usr/share/common-licenses/GPL'. + +The D runtime library (phobos) is licensed under the following terms: + +/* + * Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com + * Written by Walter Bright + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, in both source and binary form, subject to the following + * restrictions: + * + * o The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * o Altered source versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + * o This notice may not be removed or altered from any source + * distribution. + */ + +The Libgomp library is licensed under the terms of the GNU Lesser +General Public License, with a special exception: + + As a special exception, if you link this library with other files, some + of which are compiled with GCC, to produce an executable, this library + does not by itself 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. + +The libffi library is licensed under the following terms: + + libffi - Copyright (c) 1996-2003 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + ``Software''), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +The documentation is licensed under the GNU Free Documentation License (v1.2). +On Debian GNU/Linux systems, the complete text of this license is in +`/usr/share/common-licenses/GFDL-1.2'. --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.32bit +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.32bit @@ -0,0 +1,536 @@ +#include "libstdc++6.symbols.common" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEj@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSsixEj@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8valarrayIjE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_constructEjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjjc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEjc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEj@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEixEj@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcjRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znaj@GLIBCXX_3.4 4.1.1 + _ZnajRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwj@GLIBCXX_3.4 4.1.1 + _ZnwjRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-4.3-4.3.4.orig/debian/README.gnat +++ gcc-4.3-4.3.4/debian/README.gnat @@ -0,0 +1,22 @@ +If you want to develop Ada programs and libraries on Debian, please +read the Debian Policy for Ada: + +http://www.ada-france.org/debian/debian-ada-policy.html + +The default Ada compiler is and always will be the package `gnat'. +Debian contains many programs and libraries compiled with it, which +are all ABI-compatible. + +Starting with gnat-4.2, Debian provides both zero-cost and +setjump/longjump versions of the run-time library. The zero-cost +exception handling mechanism is the default as it provides the best +performance. The setjump/longjump exception handling mechanism is new +and only provided as a static library. It is necessary to use this +exception handling mechanism in distributed (annex E) programs. If +you wish to use the new sjlj library: + +1) call gnatmake with --RTS=sjlj +2) call gnatbind with -static + +Do NOT link your programs with libgnat-4.2.so, because it uses the ZCX +mechanism. --- gcc-4.3-4.3.4.orig/debian/gpc-BV-doc.doc-base.gpc +++ gcc-4.3-4.3.4/debian/gpc-BV-doc.doc-base.gpc @@ -0,0 +1,15 @@ +Document: gpc-@BV@-doc +Title: The GNU Pascal Compiler +Author: Various +Abstract: This manual documents how to run, install and maintain the + GNU Pascal compiler (GPC), as well as its new features and + incompatibilities, and how to report bugs. +Section: Programming/Pascal + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/pascal/gpc.html +Files: /usr/share/doc/gcc-@BV@-base/pascal/gpc.html + +Format: info +Index: /usr/share/info/gpc-@BV@.info.gz +Files: /usr/share/info/gpc-@BV@* --- gcc-4.3-4.3.4.orig/debian/lib64gfortran3.symbols +++ gcc-4.3-4.3.4/debian/lib64gfortran3.symbols @@ -0,0 +1,4 @@ +libgfortran.so.3 lib64gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.10" +#include "libgfortran3.symbols.16" --- gcc-4.3-4.3.4.orig/debian/libgcc4.symbols.hppa +++ gcc-4.3-4.3.4/debian/libgcc4.symbols.hppa @@ -0,0 +1,93 @@ +libgcc_s.so.4 libgcc4 #MINVER# + GCC_3.0@GCC_3.0 4.1.1 + GCC_3.3.1@GCC_3.3.1 4.1.1 + GCC_3.3@GCC_3.3 4.1.1 + GCC_3.4.2@GCC_3.4.2 4.1.1 + GCC_3.4@GCC_3.4 4.1.1 + GCC_4.0.0@GCC_4.0.0 4.1.1 + GCC_4.2.0@GCC_4.2.0 4.1.1 + GCC_4.3.0@GCC_4.3.0 4.3 + GLIBC_2.0@GLIBC_2.0 4.1.1 + _Unwind_Backtrace@GCC_3.3 4.1.1 + _Unwind_DeleteException@GCC_3.0 4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.1.1 + _Unwind_Find_FDE@GCC_3.0 4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 4.1.1 + _Unwind_GetCFA@GCC_3.3 4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 4.1.1 + _Unwind_GetGR@GCC_3.0 4.1.1 + _Unwind_GetIP@GCC_3.0 4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.1.1 + _Unwind_GetRegionStart@GCC_3.0 4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 4.1.1 + _Unwind_RaiseException@GCC_3.0 4.1.1 + _Unwind_Resume@GCC_3.0 4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.1.1 + _Unwind_SetGR@GCC_3.0 4.1.1 + _Unwind_SetIP@GCC_3.0 4.1.1 + __absvdi2@GCC_3.0 4.1.1 + __absvsi2@GCC_3.0 4.1.1 + __addvdi3@GCC_3.0 4.1.1 + __addvsi3@GCC_3.0 4.1.1 + __ashldi3@GCC_3.0 4.1.1 + __ashrdi3@GCC_3.0 4.1.1 + __bswapdi2@GCC_4.3.0 4.3 + __bswapsi2@GCC_4.3.0 4.3 + __clear_cache@GCC_3.0 4.1.1 + __clzdi2@GCC_3.4 4.1.1 + __clzsi2@GCC_3.4 4.1.1 + __cmpdi2@GCC_3.0 4.1.1 + __ctzdi2@GCC_3.4 4.1.1 + __ctzsi2@GCC_3.4 4.1.1 + __deregister_frame@GLIBC_2.0 4.1.1 + __deregister_frame_info@GLIBC_2.0 4.1.1 + __deregister_frame_info_bases@GCC_3.0 4.1.1 + __divdc3@GCC_4.0.0 4.1.1 + __divdi3@GLIBC_2.0 4.1.1 + __divsc3@GCC_4.0.0 4.1.1 + __emutls_get_address@GCC_4.3.0 4.3 + __emutls_register_common@GCC_4.3.0 4.3 + __enable_execute_stack@GCC_3.4.2 4.1.1 + __ffsdi2@GCC_3.0 4.1.1 + __ffssi2@GCC_4.3.0 4.3 + __fixdfdi@GCC_3.0 4.1.1 + __fixsfdi@GCC_3.0 4.1.1 + __fixunsdfdi@GCC_3.0 4.1.1 + __fixunsdfsi@GCC_3.0 4.1.1 + __fixunssfdi@GCC_3.0 4.1.1 + __fixunssfsi@GCC_3.0 4.1.1 + __floatdidf@GCC_3.0 4.1.1 + __floatdisf@GCC_3.0 4.1.1 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __frame_state_for@GLIBC_2.0 4.1.1 + __gcc_personality_v0@GCC_3.3.1 4.1.1 + __lshrdi3@GCC_3.0 4.1.1 + __moddi3@GLIBC_2.0 4.1.1 + __muldc3@GCC_4.0.0 4.1.1 + __muldi3@GCC_3.0 4.1.1 + __mulsc3@GCC_4.0.0 4.1.1 + __mulvdi3@GCC_3.0 4.1.1 + __mulvsi3@GCC_3.0 4.1.1 + __negdi2@GCC_3.0 4.1.1 + __negvdi2@GCC_3.0 4.1.1 + __negvsi2@GCC_3.0 4.1.1 + __paritydi2@GCC_3.4 4.1.1 + __paritysi2@GCC_3.4 4.1.1 + __popcountdi2@GCC_3.4 4.1.1 + __popcountsi2@GCC_3.4 4.1.1 + __powidf2@GCC_4.0.0 4.1.1 + __powisf2@GCC_4.0.0 4.1.1 + __register_frame@GLIBC_2.0 4.1.1 + __register_frame_info@GLIBC_2.0 4.1.1 + __register_frame_info_bases@GCC_3.0 4.1.1 + __register_frame_info_table@GLIBC_2.0 4.1.1 + __register_frame_info_table_bases@GCC_3.0 4.1.1 + __register_frame_table@GLIBC_2.0 4.1.1 + __subvdi3@GCC_3.0 4.1.1 + __subvsi3@GCC_3.0 4.1.1 + __ucmpdi2@GCC_3.0 4.1.1 + __udivdi3@GLIBC_2.0 4.1.1 + __udivmoddi4@GCC_3.0 4.1.1 + __umoddi3@GLIBC_2.0 4.1.1 --- gcc-4.3-4.3.4.orig/debian/README.source +++ gcc-4.3-4.3.4/debian/README.source @@ -0,0 +1,30 @@ +Patches applied to the Debian version of egcs +--------------------------------------------- + +Debian specific patches can be found in the debian/patches directory. +Each patch is accompanied by a shell script to apply and unapply the +patch: + +- The script can be found in the debian/patches directory and is called + .dpatch. +- The shell script is called by the debian/rules file with the option + '-patch' to apply the patch and and with '-unpatch' to unapply + the patch. The working directory is the source directory. +- The shell script returns 0 on success and 1 on failure when + (un)applying the patch. The patch program itself should be called with + --force to prevent questions. +- debian/rules creates a file patched- in the source + directory when applying the patch and removes this file when + unapplying the patch. + +Besides the patches, the following add-ons were included: + +- gpc (unpacked from gpc-19990118.tar.gz) + ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/beta/gpc-19990118.tar.gz + +If these package(s) aren't found in the gcc source directory, it's +assumed that the tarball(s) can be found in the parent directory. See +debian/rules for more details. + +Before making a source package, these packages need to be unpacked. +You can use "debian/rules unpack-addons". --- gcc-4.3-4.3.4.orig/debian/fixincludes.in +++ gcc-4.3-4.3.4/debian/fixincludes.in @@ -0,0 +1,8 @@ +#! /bin/sh + +PATH="/@LIBEXECDIR@/install-tools:$PATH" + +TARGET_MACHINE=`dpkg-architecture -qDEB_HOST_GNU_TYPE` +export TARGET_MACHINE + +exec fixinc.sh "$@" --- gcc-4.3-4.3.4.orig/debian/libgcjLGCJ.postrm +++ gcc-4.3-4.3.4/debian/libgcjLGCJ.postrm @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + remove|purge) + # only purge if no other library is installed. + if [ -z "$(ls /usr/lib/libgcj.so.@GCJ@* 2>/dev/null)" ]; then + rm -f /var/lib/gcj-@BV@/classmap.db + rmdir --ignore-fail-on-non-empty /var/lib/gcj-@BV@ 2>&1 || true + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libgccLC.postinst +++ gcc-4.3-4.3.4/debian/libgccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libgcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libgcjLGCJ.postinst +++ gcc-4.3-4.3.4/debian/libgcjLGCJ.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libgcj@GCJ@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf /usr/share/doc/libgcj@GCJ@ + ln -s gcj-@BV@-base /usr/share/doc/libgcj@GCJ@ + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libgcj-doc.doc-base +++ gcc-4.3-4.3.4/debian/libgcj-doc.doc-base @@ -0,0 +1,10 @@ +Document: libgcj-doc +Title: The GNU LibGCJ Classpath library +Author: Various +Abstract: Autogenerated documentation describing the libgcj + library (GCC 4.3), based on the classpath library. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcj-4.3-base/html/index.html +Files: /usr/share/doc/gcj-4.3-base/html/*.html --- gcc-4.3-4.3.4.orig/debian/watch +++ gcc-4.3-4.3.4/debian/watch @@ -0,0 +1,2 @@ +version=2 +ftp://gcc.gnu.org/pub/gcc/releases/gcc-(4\.3[\d\.]*) debian uupdate --- gcc-4.3-4.3.4.orig/debian/lib64gcc1.symbols.s390 +++ gcc-4.3-4.3.4/debian/lib64gcc1.symbols.s390 @@ -0,0 +1,107 @@ +libgcc_s.so.1 lib64gcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.1.0@GCC_4.1.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.2@GLIBC_2.2 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.2 1:4.1.1 + __deregister_frame_info@GLIBC_2.2 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_4.1.0 1:4.1.1 + __divti3@GCC_3.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfti@GCC_4.1.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfti@GCC_4.1.0 1:4.1.1 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_4.1.0 1:4.1.1 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntitf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.2 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __lshrti3@GCC_3.0 1:4.1.1 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_4.1.0 1:4.1.1 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.1.0 1:4.1.1 + __register_frame@GLIBC_2.2 1:4.1.1 + __register_frame_info@GLIBC_2.2 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.2 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.2 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.common +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.common @@ -0,0 +1,694 @@ + F2C_1.0@F2C_1.0 4.3 + GFORTRAN_1.0@GFORTRAN_1.0 4.3 + GFORTRAN_C99_1.0@GFORTRAN_C99_1.0 4.3 + __iso_c_binding_c_f_pointer@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_c4@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_c8@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_d0@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_i1@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_i2@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_i4@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_i8@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_l1@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_l2@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_l4@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_l8@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_r4@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_r8@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_s0@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_u0@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_procpointer@GFORTRAN_1.0 4.3 + _gfortran_abort@GFORTRAN_1.0 4.3 + _gfortran_access_func@GFORTRAN_1.0 4.3 + _gfortran_adjustl@GFORTRAN_1.0 4.3 + _gfortran_adjustr@GFORTRAN_1.0 4.3 + _gfortran_alarm_sub_i4@GFORTRAN_1.0 4.3 + _gfortran_alarm_sub_i8@GFORTRAN_1.0 4.3 + _gfortran_alarm_sub_int_i4@GFORTRAN_1.0 4.3 + _gfortran_alarm_sub_int_i8@GFORTRAN_1.0 4.3 + _gfortran_all_l1@GFORTRAN_1.0 4.3 + _gfortran_all_l2@GFORTRAN_1.0 4.3 + _gfortran_all_l4@GFORTRAN_1.0 4.3 + _gfortran_all_l8@GFORTRAN_1.0 4.3 + _gfortran_any_l1@GFORTRAN_1.0 4.3 + _gfortran_any_l2@GFORTRAN_1.0 4.3 + _gfortran_any_l4@GFORTRAN_1.0 4.3 + _gfortran_any_l8@GFORTRAN_1.0 4.3 + _gfortran_arandom_r4@GFORTRAN_1.0 4.3 + _gfortran_arandom_r8@GFORTRAN_1.0 4.3 + _gfortran_associated@GFORTRAN_1.0 4.3 + _gfortran_chdir_i4@GFORTRAN_1.0 4.3 + _gfortran_chdir_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_chdir_i8@GFORTRAN_1.0 4.3 + _gfortran_chdir_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_chmod_func@GFORTRAN_1.0 4.3 + _gfortran_chmod_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_chmod_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_compare_string@GFORTRAN_1.0 4.3 + _gfortran_concat_string@GFORTRAN_1.0 4.3 + _gfortran_count_1_l@GFORTRAN_1.0 4.3 + _gfortran_count_2_l@GFORTRAN_1.0 4.3 + _gfortran_count_4_l@GFORTRAN_1.0 4.3 + _gfortran_count_8_l@GFORTRAN_1.0 4.3 + _gfortran_cpu_time_4@GFORTRAN_1.0 4.3 + _gfortran_cpu_time_8@GFORTRAN_1.0 4.3 + _gfortran_cshift0_1@GFORTRAN_1.0 4.3 + _gfortran_cshift0_1_char@GFORTRAN_1.0 4.3 + _gfortran_cshift0_2@GFORTRAN_1.0 4.3 + _gfortran_cshift0_2_char@GFORTRAN_1.0 4.3 + _gfortran_cshift0_4@GFORTRAN_1.0 4.3 + _gfortran_cshift0_4_char@GFORTRAN_1.0 4.3 + _gfortran_cshift0_8@GFORTRAN_1.0 4.3 + _gfortran_cshift0_8_char@GFORTRAN_1.0 4.3 + _gfortran_cshift1_4@GFORTRAN_1.0 4.3 + _gfortran_cshift1_4_char@GFORTRAN_1.0 4.3 + _gfortran_cshift1_8@GFORTRAN_1.0 4.3 + _gfortran_cshift1_8_char@GFORTRAN_1.0 4.3 + _gfortran_ctime@GFORTRAN_1.0 4.3 + _gfortran_ctime_sub@GFORTRAN_1.0 4.3 + _gfortran_date_and_time@GFORTRAN_1.0 4.3 + _gfortran_dtime@GFORTRAN_1.0 4.3 + _gfortran_dtime_sub@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_1@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_1_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_2@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_2_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_4@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_4_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_8@GFORTRAN_1.0 4.3 + _gfortran_eoshift0_8_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_4@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_4_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_8@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_8_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_1@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_1_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_2@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_2_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_4@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_4_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_8@GFORTRAN_1.0 4.3 + _gfortran_eoshift2_8_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_4@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_4_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_8@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_8_char@GFORTRAN_1.0 4.3 + _gfortran_etime@GFORTRAN_1.0 4.3 + _gfortran_etime_sub@GFORTRAN_1.0 4.3 + _gfortran_exit_i4@GFORTRAN_1.0 4.3 + _gfortran_exit_i8@GFORTRAN_1.0 4.3 + _gfortran_exponent_r4@GFORTRAN_1.0 4.3 + _gfortran_exponent_r8@GFORTRAN_1.0 4.3 + _gfortran_f2c_specific__abs_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__abs_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__acos_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__acosh_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__aimag_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__aimag_c8@F2C_1.0 4.3 + _gfortran_f2c_specific__aint_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__anint_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__asin_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__asinh_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__atan2_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__atan_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__atanh_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__conjg_4@F2C_1.0 4.3 + _gfortran_f2c_specific__conjg_8@F2C_1.0 4.3 + _gfortran_f2c_specific__cos_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__cos_c8@F2C_1.0 4.3 + _gfortran_f2c_specific__cos_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__cosh_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__dim_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__exp_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__exp_c8@F2C_1.0 4.3 + _gfortran_f2c_specific__exp_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__log10_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__log_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__log_c8@F2C_1.0 4.3 + _gfortran_f2c_specific__log_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__mod_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__sign_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__sin_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__sin_c8@F2C_1.0 4.3 + _gfortran_f2c_specific__sin_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__sinh_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__sqrt_c4@F2C_1.0 4.3 + _gfortran_f2c_specific__sqrt_c8@F2C_1.0 4.3 + _gfortran_f2c_specific__sqrt_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__tan_r4@F2C_1.0 4.3 + _gfortran_f2c_specific__tanh_r4@F2C_1.0 4.3 + _gfortran_fdate@GFORTRAN_1.0 4.3 + _gfortran_fdate_sub@GFORTRAN_1.0 4.3 + _gfortran_fget@GFORTRAN_1.0 4.3 + _gfortran_fget_i1_sub@GFORTRAN_1.0 4.3 + _gfortran_fget_i2_sub@GFORTRAN_1.0 4.3 + _gfortran_fget_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_fget_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_fgetc@GFORTRAN_1.0 4.3 + _gfortran_fgetc_i1_sub@GFORTRAN_1.0 4.3 + _gfortran_fgetc_i2_sub@GFORTRAN_1.0 4.3 + _gfortran_fgetc_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_fgetc_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_flush_i4@GFORTRAN_1.0 4.3 + _gfortran_flush_i8@GFORTRAN_1.0 4.3 + _gfortran_fnum_i4@GFORTRAN_1.0 4.3 + _gfortran_fnum_i8@GFORTRAN_1.0 4.3 + _gfortran_fput@GFORTRAN_1.0 4.3 + _gfortran_fput_i1_sub@GFORTRAN_1.0 4.3 + _gfortran_fput_i2_sub@GFORTRAN_1.0 4.3 + _gfortran_fput_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_fput_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_fputc@GFORTRAN_1.0 4.3 + _gfortran_fputc_i1_sub@GFORTRAN_1.0 4.3 + _gfortran_fputc_i2_sub@GFORTRAN_1.0 4.3 + _gfortran_fputc_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_fputc_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_fraction_r4@GFORTRAN_1.0 4.3 + _gfortran_fraction_r8@GFORTRAN_1.0 4.3 + _gfortran_free@GFORTRAN_1.0 4.3 + _gfortran_fseek_sub@GFORTRAN_1.0 4.3 + _gfortran_fstat_i4@GFORTRAN_1.0 4.3 + _gfortran_fstat_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_fstat_i8@GFORTRAN_1.0 4.3 + _gfortran_fstat_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_ftell@GFORTRAN_1.0 4.3 + _gfortran_ftell_i1_sub@GFORTRAN_1.0 4.3 + _gfortran_ftell_i2_sub@GFORTRAN_1.0 4.3 + _gfortran_ftell_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_ftell_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_generate_error@GFORTRAN_1.0 4.3 + _gfortran_gerror@GFORTRAN_1.0 4.3 + _gfortran_get_command_argument_i4@GFORTRAN_1.0 4.3 + _gfortran_get_command_argument_i8@GFORTRAN_1.0 4.3 + _gfortran_get_command_i4@GFORTRAN_1.0 4.3 + _gfortran_get_command_i8@GFORTRAN_1.0 4.3 + _gfortran_get_environment_variable_i4@GFORTRAN_1.0 4.3 + _gfortran_get_environment_variable_i8@GFORTRAN_1.0 4.3 + _gfortran_getarg_i4@GFORTRAN_1.0 4.3 + _gfortran_getarg_i8@GFORTRAN_1.0 4.3 + _gfortran_getcwd@GFORTRAN_1.0 4.3 + _gfortran_getcwd_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_getcwd_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_getenv@GFORTRAN_1.0 4.3 + _gfortran_getgid@GFORTRAN_1.0 4.3 + _gfortran_getlog@GFORTRAN_1.0 4.3 + _gfortran_getpid@GFORTRAN_1.0 4.3 + _gfortran_getuid@GFORTRAN_1.0 4.3 + _gfortran_gmtime_i4@GFORTRAN_1.0 4.3 + _gfortran_gmtime_i8@GFORTRAN_1.0 4.3 + _gfortran_hostnm@GFORTRAN_1.0 4.3 + _gfortran_hostnm_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_hostnm_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_iargc@GFORTRAN_1.0 4.3 + _gfortran_idate_i4@GFORTRAN_1.0 4.3 + _gfortran_idate_i8@GFORTRAN_1.0 4.3 + _gfortran_ierrno_i4@GFORTRAN_1.0 4.3 + _gfortran_ierrno_i8@GFORTRAN_1.0 4.3 + _gfortran_internal_pack@GFORTRAN_1.0 4.3 + _gfortran_internal_unpack@GFORTRAN_1.0 4.3 + _gfortran_irand@GFORTRAN_1.0 4.3 + _gfortran_isatty_l4@GFORTRAN_1.0 4.3 + _gfortran_isatty_l8@GFORTRAN_1.0 4.3 + _gfortran_ishftc4@GFORTRAN_1.0 4.3 + _gfortran_ishftc8@GFORTRAN_1.0 4.3 + _gfortran_itime_i4@GFORTRAN_1.0 4.3 + _gfortran_itime_i8@GFORTRAN_1.0 4.3 + _gfortran_kill_i4@GFORTRAN_1.0 4.3 + _gfortran_kill_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_kill_i8@GFORTRAN_1.0 4.3 + _gfortran_kill_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_link_i4@GFORTRAN_1.0 4.3 + _gfortran_link_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_link_i8@GFORTRAN_1.0 4.3 + _gfortran_link_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_lstat_i4@GFORTRAN_1.0 4.3 + _gfortran_lstat_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_lstat_i8@GFORTRAN_1.0 4.3 + _gfortran_lstat_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_ltime_i4@GFORTRAN_1.0 4.3 + _gfortran_ltime_i8@GFORTRAN_1.0 4.3 + _gfortran_malloc@GFORTRAN_1.0 4.3 + _gfortran_matmul_c4@GFORTRAN_1.0 4.3 + _gfortran_matmul_c8@GFORTRAN_1.0 4.3 + _gfortran_matmul_i1@GFORTRAN_1.0 4.3 + _gfortran_matmul_i2@GFORTRAN_1.0 4.3 + _gfortran_matmul_i4@GFORTRAN_1.0 4.3 + _gfortran_matmul_i8@GFORTRAN_1.0 4.3 + _gfortran_matmul_l4@GFORTRAN_1.0 4.3 + _gfortran_matmul_l8@GFORTRAN_1.0 4.3 + _gfortran_matmul_r4@GFORTRAN_1.0 4.3 + _gfortran_matmul_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_r8@GFORTRAN_1.0 4.3 + _gfortran_maxval_i1@GFORTRAN_1.0 4.3 + _gfortran_maxval_i2@GFORTRAN_1.0 4.3 + _gfortran_maxval_i4@GFORTRAN_1.0 4.3 + _gfortran_maxval_i8@GFORTRAN_1.0 4.3 + _gfortran_maxval_r4@GFORTRAN_1.0 4.3 + _gfortran_maxval_r8@GFORTRAN_1.0 4.3 + _gfortran_mclock8@GFORTRAN_1.0 4.3 + _gfortran_mclock@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_r8@GFORTRAN_1.0 4.3 + _gfortran_minval_i1@GFORTRAN_1.0 4.3 + _gfortran_minval_i2@GFORTRAN_1.0 4.3 + _gfortran_minval_i4@GFORTRAN_1.0 4.3 + _gfortran_minval_i8@GFORTRAN_1.0 4.3 + _gfortran_minval_r4@GFORTRAN_1.0 4.3 + _gfortran_minval_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_r8@GFORTRAN_1.0 4.3 + _gfortran_mminval_i1@GFORTRAN_1.0 4.3 + _gfortran_mminval_i2@GFORTRAN_1.0 4.3 + _gfortran_mminval_i4@GFORTRAN_1.0 4.3 + _gfortran_mminval_i8@GFORTRAN_1.0 4.3 + _gfortran_mminval_r4@GFORTRAN_1.0 4.3 + _gfortran_mminval_r8@GFORTRAN_1.0 4.3 + _gfortran_move_alloc@GFORTRAN_1.0 4.3 + _gfortran_move_alloc_c@GFORTRAN_1.0 4.3 + _gfortran_mproduct_c4@GFORTRAN_1.0 4.3 + _gfortran_mproduct_c8@GFORTRAN_1.0 4.3 + _gfortran_mproduct_i1@GFORTRAN_1.0 4.3 + _gfortran_mproduct_i2@GFORTRAN_1.0 4.3 + _gfortran_mproduct_i4@GFORTRAN_1.0 4.3 + _gfortran_mproduct_i8@GFORTRAN_1.0 4.3 + _gfortran_mproduct_r4@GFORTRAN_1.0 4.3 + _gfortran_mproduct_r8@GFORTRAN_1.0 4.3 + _gfortran_msum_c4@GFORTRAN_1.0 4.3 + _gfortran_msum_c8@GFORTRAN_1.0 4.3 + _gfortran_msum_i1@GFORTRAN_1.0 4.3 + _gfortran_msum_i2@GFORTRAN_1.0 4.3 + _gfortran_msum_i4@GFORTRAN_1.0 4.3 + _gfortran_msum_i8@GFORTRAN_1.0 4.3 + _gfortran_msum_r4@GFORTRAN_1.0 4.3 + _gfortran_msum_r8@GFORTRAN_1.0 4.3 + _gfortran_mvbits_i1@GFORTRAN_1.0 4.3 + _gfortran_mvbits_i2@GFORTRAN_1.0 4.3 + _gfortran_mvbits_i4@GFORTRAN_1.0 4.3 + _gfortran_mvbits_i8@GFORTRAN_1.0 4.3 + _gfortran_nearest_r4@GFORTRAN_1.0 4.3 + _gfortran_nearest_r8@GFORTRAN_1.0 4.3 + _gfortran_os_error@GFORTRAN_1.0 4.3 + _gfortran_pack@GFORTRAN_1.0 4.3 + _gfortran_pack_char@GFORTRAN_1.0 4.3 + _gfortran_pack_s@GFORTRAN_1.0 4.3 + _gfortran_pack_s_char@GFORTRAN_1.0 4.3 + _gfortran_pause_numeric@GFORTRAN_1.0 4.3 + _gfortran_pause_string@GFORTRAN_1.0 4.3 + _gfortran_perror_sub@GFORTRAN_1.0 4.3 + _gfortran_pow_c4_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_c4_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_c8_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_c8_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_i4_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_i4_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_i8_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_i8_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_r4_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_r8_i8@GFORTRAN_1.0 4.3 + _gfortran_product_c4@GFORTRAN_1.0 4.3 + _gfortran_product_c8@GFORTRAN_1.0 4.3 + _gfortran_product_i1@GFORTRAN_1.0 4.3 + _gfortran_product_i2@GFORTRAN_1.0 4.3 + _gfortran_product_i4@GFORTRAN_1.0 4.3 + _gfortran_product_i8@GFORTRAN_1.0 4.3 + _gfortran_product_r4@GFORTRAN_1.0 4.3 + _gfortran_product_r8@GFORTRAN_1.0 4.3 + _gfortran_rand@GFORTRAN_1.0 4.3 + _gfortran_random_r4@GFORTRAN_1.0 4.3 + _gfortran_random_r8@GFORTRAN_1.0 4.3 + _gfortran_random_seed_i4@GFORTRAN_1.0 4.3 + _gfortran_random_seed_i8@GFORTRAN_1.0 4.3 + _gfortran_rename_i4@GFORTRAN_1.0 4.3 + _gfortran_rename_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_rename_i8@GFORTRAN_1.0 4.3 + _gfortran_rename_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_reshape@GFORTRAN_1.0 4.3 + _gfortran_reshape_4@GFORTRAN_1.0 4.3 + _gfortran_reshape_8@GFORTRAN_1.0 4.3 + _gfortran_reshape_c4@GFORTRAN_1.0 4.3 + _gfortran_reshape_c8@GFORTRAN_1.0 4.3 + _gfortran_reshape_char@GFORTRAN_1.0 4.3 + _gfortran_reshape_r4@GFORTRAN_1.0 4.3 + _gfortran_reshape_r8@GFORTRAN_1.0 4.3 + _gfortran_rrspacing_r4@GFORTRAN_1.0 4.3 + _gfortran_rrspacing_r8@GFORTRAN_1.0 4.3 + _gfortran_runtime_error@GFORTRAN_1.0 4.3 + _gfortran_runtime_error_at@GFORTRAN_1.0 4.3 + _gfortran_secnds@GFORTRAN_1.0 4.3 + _gfortran_second@GFORTRAN_1.0 4.3 + _gfortran_second_sub@GFORTRAN_1.0 4.3 + _gfortran_select_string@GFORTRAN_1.0 4.3 + _gfortran_selected_int_kind@GFORTRAN_1.0 4.3 + _gfortran_selected_real_kind@GFORTRAN_1.0 4.3 + _gfortran_set_args@GFORTRAN_1.0 4.3 + _gfortran_set_convert@GFORTRAN_1.0 4.3 + _gfortran_set_exponent_r4@GFORTRAN_1.0 4.3 + _gfortran_set_exponent_r8@GFORTRAN_1.0 4.3 + _gfortran_set_fpe@GFORTRAN_1.0 4.3 + _gfortran_set_max_subrecord_length@GFORTRAN_1.0 4.3 + _gfortran_set_options@GFORTRAN_1.0 4.3 + _gfortran_set_record_marker@GFORTRAN_1.0 4.3 + _gfortran_shape_4@GFORTRAN_1.0 4.3 + _gfortran_shape_8@GFORTRAN_1.0 4.3 + _gfortran_signal_func@GFORTRAN_1.0 4.3 + _gfortran_signal_func_int@GFORTRAN_1.0 4.3 + _gfortran_signal_sub@GFORTRAN_1.0 4.3 + _gfortran_signal_sub_int@GFORTRAN_1.0 4.3 + _gfortran_size0@GFORTRAN_1.0 4.3 + _gfortran_size1@GFORTRAN_1.0 4.3 + _gfortran_sleep_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_sleep_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxval_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxval_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxval_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxval_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxval_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxval_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_r8@GFORTRAN_1.0 4.3 + _gfortran_sminval_i1@GFORTRAN_1.0 4.3 + _gfortran_sminval_i2@GFORTRAN_1.0 4.3 + _gfortran_sminval_i4@GFORTRAN_1.0 4.3 + _gfortran_sminval_i8@GFORTRAN_1.0 4.3 + _gfortran_sminval_r4@GFORTRAN_1.0 4.3 + _gfortran_sminval_r8@GFORTRAN_1.0 4.3 + _gfortran_spacing_r4@GFORTRAN_1.0 4.3 + _gfortran_spacing_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__acos_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__acos_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__acosh_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__acosh_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__aimag_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__aimag_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__aint_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__aint_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__anint_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__anint_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__asin_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__asin_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__asinh_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__asinh_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__atan2_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__atan2_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__atan_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__atan_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__atanh_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__atanh_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__char_1_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__char_1_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__conjg_4@GFORTRAN_1.0 4.3 + _gfortran_specific__conjg_8@GFORTRAN_1.0 4.3 + _gfortran_specific__cos_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__cos_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__cos_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__cos_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__cosh_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__cosh_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__dprod_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__exp_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__exp_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__exp_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__exp_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__index_1_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__index_1_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__len_1_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__len_1_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__log10_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__log10_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__log_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__log_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__log_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__log_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_4_4@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_4_8@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_8_4@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_8_8@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_i4@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_i8@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__sin_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__sin_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__sin_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__sin_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__sinh_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__sinh_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__sqrt_c4@GFORTRAN_1.0 4.3 + _gfortran_specific__sqrt_c8@GFORTRAN_1.0 4.3 + _gfortran_specific__sqrt_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__sqrt_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__tan_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__tan_r8@GFORTRAN_1.0 4.3 + _gfortran_specific__tanh_r4@GFORTRAN_1.0 4.3 + _gfortran_specific__tanh_r8@GFORTRAN_1.0 4.3 + _gfortran_spread@GFORTRAN_1.0 4.3 + _gfortran_spread_char@GFORTRAN_1.0 4.3 + _gfortran_spread_char_scalar@GFORTRAN_1.0 4.3 + _gfortran_spread_scalar@GFORTRAN_1.0 4.3 + _gfortran_sproduct_c4@GFORTRAN_1.0 4.3 + _gfortran_sproduct_c8@GFORTRAN_1.0 4.3 + _gfortran_sproduct_i1@GFORTRAN_1.0 4.3 + _gfortran_sproduct_i2@GFORTRAN_1.0 4.3 + _gfortran_sproduct_i4@GFORTRAN_1.0 4.3 + _gfortran_sproduct_i8@GFORTRAN_1.0 4.3 + _gfortran_sproduct_r4@GFORTRAN_1.0 4.3 + _gfortran_sproduct_r8@GFORTRAN_1.0 4.3 + _gfortran_srand@GFORTRAN_1.0 4.3 + _gfortran_ssum_c4@GFORTRAN_1.0 4.3 + _gfortran_ssum_c8@GFORTRAN_1.0 4.3 + _gfortran_ssum_i1@GFORTRAN_1.0 4.3 + _gfortran_ssum_i2@GFORTRAN_1.0 4.3 + _gfortran_ssum_i4@GFORTRAN_1.0 4.3 + _gfortran_ssum_i8@GFORTRAN_1.0 4.3 + _gfortran_ssum_r4@GFORTRAN_1.0 4.3 + _gfortran_ssum_r8@GFORTRAN_1.0 4.3 + _gfortran_st_backspace@GFORTRAN_1.0 4.3 + _gfortran_st_close@GFORTRAN_1.0 4.3 + _gfortran_st_endfile@GFORTRAN_1.0 4.3 + _gfortran_st_flush@GFORTRAN_1.0 4.3 + _gfortran_st_inquire@GFORTRAN_1.0 4.3 + _gfortran_st_iolength@GFORTRAN_1.0 4.3 + _gfortran_st_iolength_done@GFORTRAN_1.0 4.3 + _gfortran_st_open@GFORTRAN_1.0 4.3 + _gfortran_st_read@GFORTRAN_1.0 4.3 + _gfortran_st_read_done@GFORTRAN_1.0 4.3 + _gfortran_st_rewind@GFORTRAN_1.0 4.3 + _gfortran_st_set_nml_var@GFORTRAN_1.0 4.3 + _gfortran_st_set_nml_var_dim@GFORTRAN_1.0 4.3 + _gfortran_st_write@GFORTRAN_1.0 4.3 + _gfortran_st_write_done@GFORTRAN_1.0 4.3 + _gfortran_stat_i4@GFORTRAN_1.0 4.3 + _gfortran_stat_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_stat_i8@GFORTRAN_1.0 4.3 + _gfortran_stat_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_stop_numeric@GFORTRAN_1.0 4.3 + _gfortran_stop_string@GFORTRAN_1.0 4.3 + _gfortran_store_exe_path@GFORTRAN_1.0 4.3 + _gfortran_string_index@GFORTRAN_1.0 4.3 + _gfortran_string_len_trim@GFORTRAN_1.0 4.3 + _gfortran_string_minmax@GFORTRAN_1.0 4.3 + _gfortran_string_scan@GFORTRAN_1.0 4.3 + _gfortran_string_trim@GFORTRAN_1.0 4.3 + _gfortran_string_verify@GFORTRAN_1.0 4.3 + _gfortran_sum_c4@GFORTRAN_1.0 4.3 + _gfortran_sum_c8@GFORTRAN_1.0 4.3 + _gfortran_sum_i1@GFORTRAN_1.0 4.3 + _gfortran_sum_i2@GFORTRAN_1.0 4.3 + _gfortran_sum_i4@GFORTRAN_1.0 4.3 + _gfortran_sum_i8@GFORTRAN_1.0 4.3 + _gfortran_sum_r4@GFORTRAN_1.0 4.3 + _gfortran_sum_r8@GFORTRAN_1.0 4.3 + _gfortran_symlnk_i4@GFORTRAN_1.0 4.3 + _gfortran_symlnk_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_symlnk_i8@GFORTRAN_1.0 4.3 + _gfortran_symlnk_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_system@GFORTRAN_1.0 4.3 + _gfortran_system_clock_4@GFORTRAN_1.0 4.3 + _gfortran_system_clock_8@GFORTRAN_1.0 4.3 + _gfortran_system_sub@GFORTRAN_1.0 4.3 + _gfortran_time8_func@GFORTRAN_1.0 4.3 + _gfortran_time_func@GFORTRAN_1.0 4.3 + _gfortran_transfer_array@GFORTRAN_1.0 4.3 + _gfortran_transfer_character@GFORTRAN_1.0 4.3 + _gfortran_transfer_complex@GFORTRAN_1.0 4.3 + _gfortran_transfer_integer@GFORTRAN_1.0 4.3 + _gfortran_transfer_logical@GFORTRAN_1.0 4.3 + _gfortran_transfer_real@GFORTRAN_1.0 4.3 + _gfortran_transpose@GFORTRAN_1.0 4.3 + _gfortran_transpose_c4@GFORTRAN_1.0 4.3 + _gfortran_transpose_c8@GFORTRAN_1.0 4.3 + _gfortran_transpose_char@GFORTRAN_1.0 4.3 + _gfortran_transpose_i4@GFORTRAN_1.0 4.3 + _gfortran_transpose_i8@GFORTRAN_1.0 4.3 + _gfortran_transpose_r4@GFORTRAN_1.0 4.3 + _gfortran_transpose_r8@GFORTRAN_1.0 4.3 + _gfortran_ttynam@GFORTRAN_1.0 4.3 + _gfortran_ttynam_sub@GFORTRAN_1.0 4.3 + _gfortran_umask_i4@GFORTRAN_1.0 4.3 + _gfortran_umask_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_umask_i8@GFORTRAN_1.0 4.3 + _gfortran_umask_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_unlink@GFORTRAN_1.0 4.3 + _gfortran_unlink_i4_sub@GFORTRAN_1.0 4.3 + _gfortran_unlink_i8_sub@GFORTRAN_1.0 4.3 + _gfortran_unpack0@GFORTRAN_1.0 4.3 + _gfortran_unpack0_char@GFORTRAN_1.0 4.3 + _gfortran_unpack1@GFORTRAN_1.0 4.3 + _gfortran_unpack1_char@GFORTRAN_1.0 4.3 --- gcc-4.3-4.3.4.orig/debian/libstdc++CXX-BV-doc.overrides +++ gcc-4.3-4.3.4/debian/libstdc++CXX-BV-doc.overrides @@ -0,0 +1,2 @@ +libstdc++@CXX@-@BV@-doc: hyphen-used-as-minus-sign +libstdc++@CXX@-@BV@-doc: manpage-has-bad-whatis-entry --- gcc-4.3-4.3.4.orig/debian/lib64gfortran3.symbols.mipsel +++ gcc-4.3-4.3.4/debian/lib64gfortran3.symbols.mipsel @@ -0,0 +1,4 @@ +libgfortran.so.3 lib64gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" +#include "libgfortran3.symbols.16.powerpc64" --- gcc-4.3-4.3.4.orig/debian/gcjh-wrapper-BV.1 +++ gcc-4.3-4.3.4/debian/gcjh-wrapper-BV.1 @@ -0,0 +1,20 @@ +.TH GCJH-WRAPPER 1 "June 6, 2002" gcjh-wrapper "Java User's Manual" +.SH NAME +gcjh-wrapper \- a wrapper around gcjh + +.SH SYNOPSIS +gcjh-wrapper [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fBgcjh-wrapper\fR is a wrapper around gcjh(1) to be called as the java header +compiler. Options different for javah(1) and gcjh(1) are translated, +options unknown to gcjh(1) are silently ignored. + +.SH OPTIONS +See gcjh-@BV@(1) for a list of options that gcj understands. + +.SH "SEE ALSO" +.BR gcjh-@BV@(1) +, +.BR javah(1) --- gcc-4.3-4.3.4.orig/debian/gcc-BV-hppa64.prerm +++ gcc-4.3-4.3.4/debian/gcc-BV-hppa64.prerm @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ "$1" != "upgrade" ]; then + update-alternatives --quiet \ + --remove hppa64-linux-gcc /usr/bin/hppa64-linux-gnu-gcc-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-4.3-4.3.4.orig/debian/lib64gcc1.symbols.sparc +++ gcc-4.3-4.3.4/debian/lib64gcc1.symbols.sparc @@ -0,0 +1,106 @@ +libgcc_s.so.1 lib64gcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.2@GLIBC_2.2 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.2 1:4.1.1 + __deregister_frame_info@GLIBC_2.2 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_4.0.0 1:4.1.1 + __divti3@GCC_3.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfti@GCC_3.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfti@GCC_3.0 1:4.1.1 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_3.0 1:4.1.1 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntitf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.2 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __lshrti3@GCC_3.0 1:4.1.1 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_4.0.0 1:4.1.1 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.0.0 1:4.1.1 + __register_frame@GLIBC_2.2 1:4.1.1 + __register_frame_info@GLIBC_2.2 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.2 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.2 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/gcj-wrapper-BV +++ gcc-4.3-4.3.4/debian/gcj-wrapper-BV @@ -0,0 +1,91 @@ +#!/usr/bin/perl -w +# +# Starts the GNU Java compiler. +# +# Command-line arguments should be in the style of Sun's Java compiler; +# these will be converted to gcj arguments before being passed to the +# gcj itself. +# +# Copyright (C) 2002-2003 by Ben Burton +# Based on the original gcj-wrapper-3.2 shell script. + +use strict; + +# The real Java compiler: +my $javaCompiler = '/usr/bin/gcj-@BV@'; + +# The command-line arguments to pass to the real Java compiler: +my @commandLine; + +# The warning flags to pass to the GNU Java compiler: +my $warnings = '-Wall'; + +# Build the command-line from the arguments given. +my $parsingOptions = 1; +my $copyNextArg = 0; +my $ignoreNextArg = 0; +my $appendNextArg = ''; +foreach my $arg (@ARGV) { + # See if we already know what to do with this argument. + if ($ignoreNextArg) { + # Throw it away. + $ignoreNextArg = 0; + next; + } elsif ($copyNextArg or not $parsingOptions) { + # Copy it directly. + push @commandLine, $arg; + $copyNextArg = 0; + next; + } elsif ($appendNextArg) { + # Append it to $appendNextArg and then copy directly. + push @commandLine, ($appendNextArg . $arg); + $appendNextArg = ''; + next; + } + + # Try to interpret Sun-style options. + if ($arg eq '-version') { + push @commandLine, '--version'; + } elsif ($arg eq '-h' or $arg eq '-help') { + push @commandLine, '--help'; + } elsif ($arg eq '-classpath' or $arg eq '--classpath' or $arg eq '--cp') { + $appendNextArg = '--classpath='; + } elsif ($arg eq '-encoding' or $arg eq '-bootclasspath' or + $arg eq '-extdirs') { + $appendNextArg = '-' . $arg . '='; + } elsif ($arg eq '-d') { + push @commandLine, '-d'; + $copyNextArg = 1; + } elsif ($arg eq '-nowarn') { + $warnings = ''; + } elsif ($arg =~ /^-g/) { + # Some kind of debugging option - just switch debugging on. + push @commandLine, '-g' if ($arg ne '-g:none'); + } elsif ($arg eq '-O') { + push @commandLine, '-O2'; + } elsif ($arg eq '-Xss') { + push @commandLine, $arg; + } elsif ($arg =~ /^-X/) { + # An extended Sun option (which we don't support). + push @commandLine, '--help' if ($arg eq '-X'); + } elsif ($arg eq '-source' or $arg eq '-sourcepath' or $arg eq '-target') { + # An unsupported option with a following argument. + $ignoreNextArg = 1; + } elsif ($arg =~ /^-/) { + # An unsupported standalone option. + } else { + # Some non-option argument has been given. + # Stop parsing options at this point. + push @commandLine, $arg; + $parsingOptions = 0; + } +} + +# Was there a partial argument that was never completed? +push @commandLine, $appendNextArg if ($appendNextArg); + +# Call the real Java compiler. +my @fullCommandLine = ( $javaCompiler, '-C' ); +push @fullCommandLine, $warnings if ($warnings); +push @fullCommandLine, @commandLine; +exec @fullCommandLine or exit(1); --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.16.powerpc64 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.16.powerpc64 @@ -0,0 +1,169 @@ + __iso_c_binding_c_f_pointer_i16@GFORTRAN_1.0 4.3 + _gfortran_all_l16@GFORTRAN_1.0 4.3 + _gfortran_any_l16@GFORTRAN_1.0 4.3 + _gfortran_count_16_l@GFORTRAN_1.0 4.3 + _gfortran_cshift1_16@GFORTRAN_1.0 4.3 + _gfortran_cshift1_16_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_16@GFORTRAN_1.0 4.3 + _gfortran_eoshift1_16_char@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_16@GFORTRAN_1.0 4.3 + _gfortran_eoshift3_16_char@GFORTRAN_1.0 4.3 + _gfortran_ishftc16@GFORTRAN_1.0 4.3 + _gfortran_matmul_i16@GFORTRAN_1.0 4.3 + _gfortran_matmul_l16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_r16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_r16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_maxval_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_r16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_r16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_minloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_minval_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_r16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_r16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_mminval_i16@GFORTRAN_1.0 4.3 + _gfortran_mproduct_i16@GFORTRAN_1.0 4.3 + _gfortran_msum_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_c16_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_c4_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_c8_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_i16_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_i16_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_i16_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_i4_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_i8_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_r16_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_r4_i16@GFORTRAN_1.0 4.3 + _gfortran_pow_r8_i16@GFORTRAN_1.0 4.3 + _gfortran_product_i16@GFORTRAN_1.0 4.3 + _gfortran_reshape_16@GFORTRAN_1.0 4.3 + _gfortran_shape_16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_smaxval_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_r16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_16_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i1@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i2@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_i8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_r16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_r4@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_16_r8@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_i16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_i16@GFORTRAN_1.0 4.3 + _gfortran_sminval_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__char_1_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__index_1_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__len_1_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_i16@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_16_16@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_16_4@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_16_8@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_i16@GFORTRAN_1.0 4.3 + _gfortran_sproduct_i16@GFORTRAN_1.0 4.3 + _gfortran_ssum_i16@GFORTRAN_1.0 4.3 + _gfortran_sum_i16@GFORTRAN_1.0 4.3 + _gfortran_transpose_i16@GFORTRAN_1.0 4.3 --- gcc-4.3-4.3.4.orig/debian/relink +++ gcc-4.3-4.3.4/debian/relink @@ -0,0 +1,74 @@ +#! /bin/sh +# +# Relink GNAT utilities using the shared library +# + +set -e + +pwd=`pwd` + +# why? +chmod a-w build/gcc/ada/rts/*.ali + +rm -rf tmp +ln -s $pwd/build/gcc/ada/rts/libgnat.so.1 tmp/libgnat.so + +LD_LIBRARY_PATH=$pwd/tmp +export LD_LIBRARY_PATH + +PATH=$pwd/debian:$pwd/tmp:$PATH +export PATH + +echo "#! /bin/sh" > tmp/dgcc +echo "$pwd/build/gcc/xgcc -B$pwd/build/gcc/ "'"$@"' >> tmp/dgcc +chmod 755 tmp/dgcc + +echo "#! /bin/sh" > tmp/dgnatlink +echo "$pwd/build/gcc/gnatlink --GCC=dgcc "'"$@"' >> tmp/dgnatlink +chmod 755 tmp/dgnatlink + +GMCMD="$pwd/build/gcc/gnatmake -I- -Irts -I. -a -m --GNATBIND=$pwd/build/gcc/gnatbind --GNATLINK=dgnatlink --GCC=dgcc" + +#cd $pwd/build/gcc/ada +#make CFLAGS="-O2" CC="../xgcc -B../" STAGE_PREFIX=../ a-link.o a-gmem.o +#cd $pwd + +[ -f build/gcc/gnatmake.old ] || cp -p build/gcc/gnatmake build/gcc/gnatmake.old +[ -f build/gcc/gnatlink.old ] || cp -p build/gcc/gnatlink build/gcc/gnatlink.old + +make -C build/gcc/ada \ + CFLAGS='-gnatp -gnata -O2 ' \ + ADA_INCLUDES="-I." \ + CC="../xgcc -B../" \ + STAGE_PREFIX=../ \ + ../gnatmake ../gnatlink + +mv gnatmake bgnatmake +mv gnatlink bgnatlink +exit 0 + +cd build/gcc/ada +for i in ../gnatchop ../gnatcmd \ + ../gnatkr ../gnatlbr \ + ../gnatls ../gnatmake \ + ../gnatprep ../gnatpsys \ + ../gnatxref ../gnatfind +do + rm -f $i + $GMCMD -O2 -gnatp -o $i `basename $i`.adb -largs -L.. +done + +rm -f ../gnatmem +$GMCMD -O2 -gnatp -o ../gnatmem gnatmem.adb -largs -L.. a-gmem.o +$GMCMD -O2 -gnatp -o ../gnatlink gnatlink -largs -L.. a-link.o +rm -f ../gnatpsta + +make CFLAGS="-O2" CC="../xgcc -B../" a-gettty.o a-deftar.o +$GMCMD -O2 -gnatp -o ../gnatpsta gnatpsta -largs -L.. a-gettty.o a-deftar.o +rm -f ../gnatbl + +make CFLAGS="-O2" CC="../xgcc -B../" gnatbl.o +../xgcc -B../ -o ../gnatbl gnatbl.o -L.. -lgnat +rm -f ../bgnatmake ../bgnatlink ../debian/dgcc ../debian/dgnatlink + +chmod +w rts/*.ali --- gcc-4.3-4.3.4.orig/debian/lib32gfortran3.symbols +++ gcc-4.3-4.3.4/debian/lib32gfortran3.symbols @@ -0,0 +1,3 @@ +libgfortran.so.3 lib32gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.10" --- gcc-4.3-4.3.4.orig/debian/gij-BV.postrm +++ gcc-4.3-4.3.4/debian/gij-BV.postrm @@ -0,0 +1,10 @@ +#! /bin/sh -e + +case "$1" in + purge) + rm -f /var/lib/gcj-@BV@/classmap.db +esac + +#DEBHELPER# + +exit 0 --- gcc-4.3-4.3.4.orig/debian/lib64gccLC.postinst +++ gcc-4.3-4.3.4/debian/lib64gccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/lib64objc2.symbols +++ gcc-4.3-4.3.4/debian/lib64objc2.symbols @@ -0,0 +1,3 @@ +libobjc.so.2 lib64objc2 #MINVER# +#include "libobjc2.symbols.common" + __gnu_objc_personality_v0@Base 4.2.1 --- gcc-4.3-4.3.4.orig/debian/gnat.1 +++ gcc-4.3-4.3.4/debian/gnat.1 @@ -0,0 +1,39 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" +.\" This 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 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 with +.\" your Debian GNU/Linux system, in /usr/doc/copyright/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.\" +.TH "GNAT TOOLBOX" 1 "Jun 2002" "Debian Project" "Debian Linux" +.SH NAME +gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnatkr, gnatlink, +gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref \- +GNAT toolbox +.SH DESCRIPTION +Those programs are part of GNU GNAT 4.1, a freely available Ada 95 compiler. +.PP +For accessing the full GNAT manuals, use +.B info gnat-ug-4.1 +and +.B info gnat-rm-4.1 +for the sections related to the reference manual. If those sections cannot +be found, you will have to install the gnat-3.4-doc package as well. +.SH SEE ALSO +.BR gcc-4.1 (1) +.SH AUTHOR +This manpage has been written by Samuel Tardieu , for the +Debian GNU/Linux project. --- gcc-4.3-4.3.4.orig/debian/lib32gomp1.symbols.ppc64 +++ gcc-4.3-4.3.4/debian/lib32gomp1.symbols.ppc64 @@ -0,0 +1,4 @@ +libgomp.so.1 lib32gomp1 #MINVER# +#include "libgomp1.symbols.common" + omp_unset_nest_lock@Base 4.3.0 + omp_unset_nest_lock_@Base 4.3.0 --- gcc-4.3-4.3.4.orig/debian/rules.parameters +++ gcc-4.3-4.3.4/debian/rules.parameters @@ -0,0 +1,34 @@ +# configuration parameters taken from upstream source files +GCC_VERSION := 4.3.4 +NEXT_GCC_VERSION := 4.3.5 +BASE_VERSION := 4.3 +SOURCE_VERSION := 4.3.4-9ubuntu1 +DEB_VERSION := 4.3.4-9ubuntu1 +DEB_EVERSION := 1:4.3.4-9ubuntu1 +GPC_BASE_VERSION := +GDC_BASE_VERSION := +DEB_GPC_VERSION := +DEB_GDC_VERSION := +DEB_SOVERSION := 4.3 +DEB_SOEVERSION := 1:4.3 +DEB_LIBGCC_SOVERSION := 1:4.3 +DEB_LIBGCC_VERSION := 1:4.3.4-9ubuntu1 +DEB_STDCXX_SOVERSION := 4.3 +DEB_GCJ_SOVERSION := 4.3 +PKG_GCJ_EXT := 9 +PKG_LIBGCJ_EXT := 9-0 +DEB_GOMP_SOVERSION := 4.3 +DEB_GCCMATH_SOVERSION := 4.3 +GCC_SONAME := 1 +CXX_SONAME := 6 +FORTRAN_SONAME := 3 +OBJC_SONAME := 2 +GCJ_SONAME := 90 +GNAT_VERSION := 4.3 +GNAT_SONAME := 4.3 +FFI_SONAME := 4 +MUDFLAP_SONAME := 0 +SSP_SONAME := 0 +GOMP_SONAME := 1 +GCCMATH_SONAME := +LIBC_DEP := libc6 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.mips +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.mips @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-4.3-4.3.4.orig/debian/gnat-BV-doc.doc-base.ug +++ gcc-4.3-4.3.4/debian/gnat-BV-doc.doc-base.ug @@ -0,0 +1,16 @@ +Document: gnat-ugn-@BV@ +Title: GNAT User's Guide for Unix Platforms +Author: Various +Abstract: This guide describes the use of GNAT, a compiler and + software development toolset for the full Ada 95 programming language. + It describes the features of the compiler and tools, and details how + to use them to build Ada 95 applications. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat_ugn_unw.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat_ugn_unw.html + +Format: info +Index: /usr/share/info/gnat_ugn_unw-@BV@.info.gz +Files: /usr/share/info/gnat_ugn_unw-@BV@* --- gcc-4.3-4.3.4.orig/debian/gcc-cross.postinst +++ gcc-4.3-4.3.4/debian/gcc-cross.postinst @@ -0,0 +1,7 @@ +#!/bin/sh + +update-alternatives --quiet \ + --install /usr/bin/cross-gcc cross-gcc /usr/bin/cross-gcc-ver 41 \ + --slave /usr/share/man/man1/cross-gcc.1.gz cross-gcc.1.gz /usr/share/man/man1/cross-gcc-ver.1.gz + +exit 0 --- gcc-4.3-4.3.4.orig/debian/lib64gcc1.symbols.powerpc +++ gcc-4.3-4.3.4/debian/lib64gcc1.symbols.powerpc @@ -0,0 +1,159 @@ +libgcc_s.so.1 lib64gcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3.4@GCC_3.3.4 1:4.2.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __adddf3@GCC_3.0 1:4.2.1 + __addsf3@GCC_3.0 1:4.2.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdf3@GCC_3.0 1:4.2.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divsf3@GCC_3.0 1:4.2.1 + __divtc3@GCC_4.0.0 1:4.1.1 + __divti3@GCC_3.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __eqdf2@GCC_3.0 1:4.2.1 + __eqsf2@GCC_3.0 1:4.2.1 + __extendsfdf2@GCC_3.0 1:4.2.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixdfsi@GCC_3.0 1:4.2.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixsfsi@GCC_3.0 1:4.2.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfdi@GCC_3.0 1:4.1.1 + __fixtfti@GCC_3.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfdi@GCC_3.0 1:4.1.1 + __fixunstfti@GCC_3.0 1:4.1.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatditf@GCC_3.0 1:4.1.1 + __floatsidf@GCC_3.0 1:4.2.1 + __floatsisf@GCC_3.0 1:4.2.1 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_3.0 1:4.1.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatunditf@GCC_4.2.0 1:4.2.1 + __floatunsidf@GCC_4.2.0 1:4.2.1 + __floatunsisf@GCC_4.2.0 1:4.2.1 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntitf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __gcc_qadd@GCC_3.4.4 1:4.1.1 + __gcc_qdiv@GCC_3.4.4 1:4.1.1 + __gcc_qmul@GCC_3.4.4 1:4.1.1 + __gcc_qsub@GCC_3.4.4 1:4.1.1 + __gedf2@GCC_3.0 1:4.2.1 + __gesf2@GCC_3.0 1:4.2.1 + __gtdf2@GCC_3.0 1:4.2.1 + __gtsf2@GCC_3.0 1:4.2.1 + __ledf2@GCC_3.0 1:4.2.1 + __lesf2@GCC_3.0 1:4.2.1 + __lshrti3@GCC_3.0 1:4.1.1 + __ltdf2@GCC_3.0 1:4.2.1 + __ltsf2@GCC_3.0 1:4.2.1 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldf3@GCC_3.0 1:4.2.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __mulsf3@GCC_3.0 1:4.2.1 + __multc3@GCC_4.0.0 1:4.1.1 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __nedf2@GCC_3.0 1:4.2.1 + __negdf2@GCC_3.0 1:4.2.1 + __negsf2@GCC_3.0 1:4.2.1 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __nesf2@GCC_3.0 1:4.2.1 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.0.0 1:4.1.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __subdf3@GCC_3.0 1:4.2.1 + __subsf3@GCC_3.0 1:4.2.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __truncdfsf2@GCC_3.0 1:4.2.1 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 + __unorddf2@GCC_3.3.4 1:4.2.1 + __unordsf2@GCC_3.3.4 1:4.2.1 + _xlqadd@GCC_3.4 1:4.1.1 + _xlqdiv@GCC_3.4 1:4.1.1 + _xlqmul@GCC_3.4 1:4.1.1 + _xlqsub@GCC_3.4 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/dummy.texi +++ gcc-4.3-4.3.4/debian/dummy.texi @@ -0,0 +1 @@ +@c This file is empty because the original one has a non DFSG free license (GFDL) --- gcc-4.3-4.3.4.orig/debian/lib64stdc++6.symbols.powerpc +++ gcc-4.3-4.3.4/debian/lib64stdc++6.symbols.powerpc @@ -0,0 +1,8 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-4.3-4.3.4.orig/debian/gcc-BV-doc.doc-base.gomp +++ gcc-4.3-4.3.4/debian/gcc-BV-doc.doc-base.gomp @@ -0,0 +1,15 @@ +Document: gcc-@BV@-gomp +Title: The GNU OpenMP Implementation (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage of libgomp, the GNU implementation + of the OpenMP Application Programming Interface (API) for multi-platform + shared-memory parallel programming in C/C++ and Fortran. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libgomp.html +Files: /usr/share/doc/gcc-@BV@-base/libgomp.html + +Format: info +Index: /usr/share/info/libgomp-@BV@.info.gz +Files: /usr/share/info/libgomp-@BV@* --- gcc-4.3-4.3.4.orig/debian/lib32gfortran3.symbols.ppc64 +++ gcc-4.3-4.3.4/debian/lib32gfortran3.symbols.ppc64 @@ -0,0 +1,3 @@ +libgfortran.so.3 lib32gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" --- gcc-4.3-4.3.4.orig/debian/rules.patch +++ gcc-4.3-4.3.4/debian/rules.patch @@ -0,0 +1,360 @@ +# -*- makefile -*- +# rules to patch the unpacked files in the source directory +# --------------------------------------------------------------------------- +# various rules to unpack addons and (un)apply patches. +# - patch / apply-patches +# - unpatch / reverse-patches + +.NOTPARALLEL: + +patchdir ?= debian/patches + +# which patches should be applied? + +debian_patches = \ + svn-updates + +ifeq ($(with_java),yes) +# debian_patches += \ +# svn-class-updates +endif + +ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += \ + rename-info-files \ + +# svn-doc-updates +endif + +# pr30961: not yet applied \ +# boehm-gc-nocheck: seems to work on the buildds \ + +debian_patches += \ + pr30740 \ + gcc-textdomain \ + gcc-driver-extra-langs \ + gcc-hash-style-both \ + gcc-build-id \ + libstdc++-pic \ + libstdc++-doclink \ + libobjc-gc-link \ + libjava-stacktrace \ + libjava-subdir \ + libjava-jnipath \ + libjava-sjlj \ + libjava-rpath \ + libjava-file-support \ + libjava-soname \ + libjava-realloc-leak \ + pr28102 \ + alpha-no-ev4-directive \ + boehm-gc-getnprocs \ + note-gnu-stack \ + libjava-armel-ldflags \ + libstdc++-symbols-hppa \ + pr10768 \ + pr15808 \ + pr15915 \ + pr16086 \ + pr16087 \ + pr16098 \ + pr17985 \ + pr18680 \ + pr22255 \ + pr22387 \ + pr24170 \ + pr28305 \ + pr28322 \ + pr28733 \ + pr29015 \ + pr30827 \ + pr33688 \ + pr34466 \ + pr35050 \ + pr35792 \ + gnalasup_to_lapack \ + gcc-m68k-pch \ + pr35020 \ + libjava-extra-cflags \ + pr35965 \ + m68k-allow-gnu99 \ + libjava-javah-bridge-tgts \ + pr37661 \ + pr27880 \ + hppa-atomic-builtins \ + armel-atomic-builtins \ + pr38292 \ + pr38360 \ + pr39431 \ + r143339 \ + pr40134 \ + gcc-unwind-debug-hook \ + sparc-force-v9 \ + sh4_atomic_update \ + sh4-scheduling \ + +#ifneq ($(GFDL_INVARIANT_FREE),yes) +# debian_patches += classpath-tooldoc +#endif + +ifeq ($(distribution),Debian) + debian_patches += arm-unbreak-eabi-armv4t +endif + +hardening_patches = +ifneq ($(distribution),Debian) + ifneq (,$(findstring gcc-4, $(PKGSOURCE))) + hardening_patches += gcc-default-format-security \ + gcc-default-fortify-source gcc-default-relro \ + testsuite-hardening-format \ + testsuite-hardening-fortify \ + testsuite-hardening-printf-types + endif +endif +ifeq ($(with_ssp)-$(with_ssp_default),yes-yes) + hardening_patches += gcc-default-ssp +endif + +ifneq ($(DEB_CROSS),yes) + ifneq ($(PKGSOURCE),gcc-snapshot) + debian_patches += $(hardening_patches) + endif +endif + +ifneq ($(distribution),Ubuntu) + ifeq ($(with_ssp),yes) + debian_patches += libssp-gnu + endif +endif + +ifeq ($(with_proto),yes) + debian_patches += deb-protoize +endif + +ifeq ($(with_ada),yes) + debian_patches += \ + ada-driver-check \ + ada-gcc-name \ + ada-default-project-path \ + ada-symbolic-tracebacks + + ifeq ($(with_libgnat),yes) + debian_patches += \ + ada-gnatvsn \ + ada-mips \ + ada-mipsel \ + ppc64-ada \ + ada-link-lib \ + ada-libgnatvsn \ + ada-libgnatprj \ + ada-sjlj \ + ada-acats + endif +endif + +# gcc-4.3 is not yet supported by gpc +ifeq ($(with_pascal),yes) +# debian_patches += gpc-gcc-4.x gpc-4.1 gpc-names +else +# debian_patches += gcc-pascal-lang +endif + +ifeq ($(with_d),yes) + debian_patches += \ + gdc-4.3 \ + gdc-fix-build \ + gdc-fix-build-kbsd \ + gdc-fix-build-arm \ + gdc-pr26885 \ + gdc-ice-page-lookup \ + gdc-driver-zlib \ + gdc-driver-defaultlib \ + gdc-libphobos-std-format \ + gdc-libphobos-std-process \ + gdc-arm-unwind_ptr \ + gdc-array-init \ + gdc-array-concat + ifeq ($(with_libphobos),yes) + debian_patches += gdc-libphobos-build + else + debian_patches += gdc-driver-nophobos + endif + ifneq (,$(findstring $(DEB_TARGET_ARCH),arm armel)) + debian_patches += ignore-comp-fail + endif +else + debian_patches += gcc-d-lang +endif + +ifeq ($(DEB_TARGET_ARCH_OS),hurd) + debian_patches += hurd-changes hurd-pthread +endif + +ifeq ($(DEB_TARGET_ARCH),alpha) + debian_patches += alpha-ieee mudflap-nocheck + ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += alpha-ieee-doc + endif +endif + +ifneq (,$(findstring $(DEB_TARGET_ARCH),arm armel)) + debian_patches += libjava-armel-unwind +endif + +ifeq ($(DEB_TARGET_ARCH),armel) + debian_patches += libobjc-armel gfortran-armel-updates armel-hilo-union-class +endif + +ifeq ($(DEB_TARGET_ARCH),m68k) + debian_patches += +endif + +ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd) + debian_patches += kbsd-gnu + debian_patches += kbsd-gnu-ada +endif + +ifneq (,$(findstring sh4,$(DEB_TARGET_ARCH))) + debian_patches += sh4-mode-switching +endif + +ifeq ($(DEB_CROSS),yes) + debian_patches += cross-include cross-fixes +endif + +spu_patches = cell-branch +ifneq ($(GFDL_INVARIANT_FREE),yes) + spu_patches += cell-branch-doc +endif + +#debian_patches += link-libs + +# all patches below this line are applied for gcc-snapshot builds as well + +ifeq ($(PKGSOURCE),gcc-snapshot) + spu_patches = + debian_patches = +endif + +ifneq ($(DEB_TARGET_ARCH),lpia) + debian_patches += cpu-default-i486 +endif + +ifeq ($(PKGSOURCE),gcc-snapshot) + debian_patches += gcc-ice-hack-trunk gcc-ice-apport-trunk +else + debian_patches += gcc-ice-hack gcc-ice-apport +endif +debian_patches += libjava-disable-static + +ifeq ($(PKGSOURCE),gcc-snapshot) + debian_patches += multiarch-include-trunk +else + debian_patches += gcc-multiarch +endif + +ifeq ($(biarch64),yes) + ifeq (,$(findstring libjava, $(biarch_multidir_names))) + debian_patches += libjava-nobiarch-check + endif + debian_patches += ada-nobiarch-check + debian_patches += config-ml + + ifeq ($(DEB_TARGET_ARCH),powerpc) + debian_patches += powerpc-biarch + endif + ifeq ($(DEB_TARGET_ARCH),s390) + debian_patches += s390-biarch + endif + ifneq ($(PKGSOURCE),gcc-snapshot) + ifeq ($(DEB_TARGET_ARCH),sparc) + debian_patches += sparc-biarch + endif + endif +endif + +ifeq ($(biarch32),yes) + ifeq (,$(findstring libjava, $(biarch_multidir_names))) + debian_patches += libjava-nobiarch-check + endif + debian_patches += ada-nobiarch-check + debian_patches += config-ml gcc-multilib64dir +endif + +ifeq ($(biarchn32)-$(biarch64),yes-yes) + ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel)) + debian_patches += mips-triarch + endif +endif + +firsthalf=true +patch-to-specific: $(foreach patch, $(debian_patches),$(if $(firsthalf),$(if $(findstring $(PATCH_TO),$(patch)),$(eval firsthalf=),$(patch_stamp)-$(patch)),)) + +patch: $(patch_stamp) +$(patch_stamp): $(unpack_stamp) $(pre_patch_stamp) $(foreach p,$(debian_patches),$(patch_stamp)-$(p)) + echo -e "\nPatches that $(distribution) applied in this version:" > pxxx + for i in $(debian_patches); do \ + echo -e "\n$$i:" >> pxxx; \ + sed -n 's/^# *DP: */ /p' $(patchdir)/$$i.dpatch >> pxxx; \ + done + -$(srcdir)/move-if-change pxxx $@ + +$(src_spu_stamp): $(patch_stamp) + rm -rf src-spu +ifeq (,$(strip $(hardening_patches))$(strip $(spu_patches))) + ln -s src src-spu +else + cp -a src src-spu + set -e; \ + for p in $(hardening_patches); do \ + list="$$p $$list"; \ + done; \ + for p in $$list; do \ + echo "Revert for spu build: $$p"; \ + sh -e debian/patches/$$p.dpatch -unpatch -d src-spu; \ + done + set -e; \ + for p in $(spu_patches); do \ + echo "Apply for spu build: $$p"; \ + sh -e debian/patches/$$p.dpatch -patch -d src-spu; \ + done +endif + touch $(src_spu_stamp) + +# currently empty target +pre-patch: $(pre_patch_stamp) +ifneq (,$(findstring gcc-, $(PKGSOURCE))) +$(pre_patch_stamp): $(install_autotools_stamp) +else +$(pre_patch_stamp): +endif + PATH=$(CURDIR)/bin:/usr/lib/gcc/bin:$$PATH which autoconf + PATH=$(CURDIR)/bin:/usr/lib/gcc/bin:$$PATH autoconf --version + PATH=$(CURDIR)/bin:/usr/lib/gcc/bin:$$PATH which automake + PATH=$(CURDIR)/bin:/usr/lib/gcc/bin:$$PATH automake --version + touch $@ + +unpatch: + for stamp in none `ls -1t $(patch_stamp)-*`; do \ + case "$$stamp" in none|patched-stamp|patched-\*) continue; esac; \ + patch=`echo $$stamp | sed -e 's,$(patch_stamp)-,,'`; \ + echo "trying to revert patch $$patch ..."; \ + if sh -e $(patchdir)/$$patch.dpatch -unpatch -d $(srcdir); then \ + echo "reverted $$patch patch."; \ + rm -f $$stamp; \ + else \ + echo "error in reverting $$patch patch."; \ + exit 1; \ + fi; \ + done + rm -f patched-stamp + +# debian/rules.conf isn't yet sourced +SOURCE_VERSION := $(call vafilt,$(CHANGELOG_VARS),Version) + +$(patch_stamp)-%: $(patchdir)/%.dpatch + @if [ -f $@ ]; then \ + echo "$* patches already applied."; exit 1; \ + fi + PATH=$(CURDIR)/bin:/usr/lib/gcc/bin:$$PATH sh -e $< -patch -d $(srcdir) + @echo "$* patches applied." > $@ --- gcc-4.3-4.3.4.orig/debian/gcjh-wrapper-BV +++ gcc-4.3-4.3.4/debian/gcjh-wrapper-BV @@ -0,0 +1,86 @@ +#!/usr/bin/perl -w +# +# Starts the GNU Java header generator. +# +# Command-line arguments should be in the style of Sun's javah command; +# these will be converted to gcjh arguments before being passed to the +# gcjh itself. +# +# Copyright (C) 2003 by Peter Hawkins +# Haphazardly hacked up based on the gcj-wrapper perl script. +# Copyright (C) 2002-2003 by Ben Burton +# Based on the original gcj-wrapper-3.2 shell script. + +use strict; + +# The real Java header generator: +my $javaHeaderGen = '/usr/bin/gcjh-@BV@'; + +# The command-line arguments to pass to the real Java compiler: +my @commandLine; + +# Build the command-line from the arguments given. +my $parsingOptions = 1; +my $copyNextArg = 0; +my $ignoreNextArg = 0; +my $appendNextArg = ''; +foreach my $arg (@ARGV) { + # See if we already know what to do with this argument. + if ($ignoreNextArg) { + # Throw it away. + $ignoreNextArg = 0; + next; + } elsif ($copyNextArg or not $parsingOptions) { + # Copy it directly. + push @commandLine, $arg; + $copyNextArg = 0; + next; + } elsif ($appendNextArg) { + # Append it to $appendNextArg and then copy directly. + push @commandLine, ($appendNextArg . $arg); + $appendNextArg = ''; + next; + } + + # Try to interpret Sun-style options. + if ($arg eq '-version') { + push @commandLine, '--version'; + } elsif ($arg eq '-h' or $arg eq '-help') { + push @commandLine, '--help'; + } elsif ($arg eq '-verbose') { + push @commandLine, '--verbose'; + } elsif ($arg eq '-classpath' or $arg eq '--classpath' or $arg eq '--cp') { + $appendNextArg = '--classpath='; + } elsif ($arg eq '-encoding' or $arg eq '-bootclasspath' or + $arg eq '-extdirs') { + $appendNextArg = "-".$arg . '='; + } elsif ($arg eq '-d') { + push @commandLine, '-d'; + $copyNextArg = 1; + } elsif ($arg eq '-o') { + push @commandLine, '-o'; + $copyNextArg = 1; + } elsif ($arg eq '-stubs') { + push @commandLine, '-stubs'; + } elsif ($arg eq '-jni') { + push @commandLine, '-jni'; + } elsif ($arg =~ /^-old/) { + # An extended Sun option (which we don't support). + push @commandLine, '--help' if ($arg eq '-old'); + } elsif ($arg =~ /^-/) { + # An unsupported standalone option. + } else { + # Some non-option argument has been given. + # Stop parsing options at this point. + push @commandLine, $arg; + $parsingOptions = 0; + } +} + +# Was there a partial argument that was never completed? +push @commandLine, $appendNextArg if ($appendNextArg); + +# Call the real Java header generator. +my @fullCommandLine = ( $javaHeaderGen ); +push @fullCommandLine, @commandLine; +exec @fullCommandLine or exit(1); --- gcc-4.3-4.3.4.orig/debian/README.C++ +++ gcc-4.3-4.3.4/debian/README.C++ @@ -0,0 +1,43 @@ +libstdc++ is an implementation of the Standard C++ Library, including the +Standard Template Library (i.e. as specified by ANSI and ISO). + +Some notes on porting applications from libstdc++-2.90 (or earlier versions) +to libstdc++-v3 can be found in the libstdc++6-4.3-doc package. After the +installation of the package, look at: + + file:///usr/share/doc/gcc-4.3-base/libstdc++/html/17_intro/porting-howto.html + +On Debian GNU/Linux you find additional documentation in the +libstdc++6-4.3-doc package. After installing these packages, +point your browser to + + file:///usr/share/doc/libstdc++6-4.3-doc/libstdc++/html/index.html + +Other documentation can be found: + + http://www.cs.rpi.edu/~musser/stl.html + http://www.sgi.com/tech/stl/ + http://www.dinkumware.com/htm_cpl/ + +with a good, recent, book on C++. + +A great deal of useful C++ documentation can be found in the C++ FAQ-Lite, +maintained by Marshall Cline . It can be found at the +following locations (this list was last updated on 2000/11/19): + +USA: http://www.cerfnet.com/~mpcline/c++-faq-lite/ + +Canada: http://new-brunswick.net/workshop/c++/faq + +Finland: http://www.utu.fi/~sisasa/oasis/cppfaq/ + +France: http://caor.ensmp.fr/FAQ/c++-faq-lite/ + +Spain: http://geneura.ugr.es/~jmerelo/c++-faq/ + +Taiwan: http://www.cis.nctu.edu.tw/c++/C++FAQ-English/ + +U.K.: http://www.cs.bham.ac.uk/~jdm/CPP/index.html + + +Please send updates to this list as bug report for the g++ package. --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.s390 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.s390 @@ -0,0 +1,3 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" --- gcc-4.3-4.3.4.orig/debian/reduce-test-diff.awk +++ gcc-4.3-4.3.4/debian/reduce-test-diff.awk @@ -0,0 +1,33 @@ +#! /usr/bin/gawk -f + +BEGIN { + skip=0 + warn=0 +} + +/^-(FAIL|ERROR|UNRESOLVED|WARNING)/ { + next +} + +# only compare gcc, g++, g77 and objc results +/=== treelang tests ===/ { + skip=1 +} + +# omit extra files appended to test-summary +/^\+Compiler version/ { + skip=1 +} + +skip == 0 { + print + next +} + +/^\+(FAIL|ERROR|UNRESOLVED|WARNING)/ { + warn=1 +} + +END { + exit warn +} --- gcc-4.3-4.3.4.orig/debian/libstdc++CXX-BV-doc.doc-base +++ gcc-4.3-4.3.4/debian/libstdc++CXX-BV-doc.doc-base @@ -0,0 +1,13 @@ +Document: libstdc++@CXX@-@BV@-doc +Title: The GNU Standard C++ Library v3 (gcc-@BV@) +Author: Various +Abstract: This package contains documentation files for the GNU stdc++ library. + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. +Section: Programming/C++ + +Format: html +Index: /usr/share/doc/libstdc++@CXX@-@BV@-doc/libstdc++/html/index.html +Files: /usr/share/doc/libstdc++@CXX@-@BV@-doc/libstdc++/html*/* --- gcc-4.3-4.3.4.orig/debian/README.Debian +++ gcc-4.3-4.3.4/debian/README.Debian @@ -0,0 +1,291 @@ + The Debian GNU Compiler Collection setup + ======================================== + +Please see the README.Debian in /usr/share/doc/gcc, contained in the +gcc package for a description of the setup of the different compiler +versions. + +For general discussion about the Debian toolchain (GCC, glibc, binutils) +please use the mailing list debian-toolchain@lists.debian.org; for GCC +specific things, please use debian-gcc@lists.debian.org. When in doubt +use the debian-toolchain ML. + + +Maintainers of these packages +----------------------------- + +Matthias Klose +Ray Dassen +Jeff Bailey (hurd-i386) +Joel Baker (netbsd-i386) +Philip Blundell (arm-linux) +Ben Collins (sparc-linux) +Randolph Chung (ia64-linux) +Falk Hueffner (alpha-linux) +Dan Jacobowitz (powerpc-linux) +Thiemo Seufer (mips*-linux) +Matt Taggart (hppa-linux) +Gerhard Tonn (s390-linux) +Roman Zippel (m68k-linux) +Ludovic Brenta (gnat) +Arthur Loiret (gdc) + +=============================================================================== + +Patches that Ubuntu applied in this version: + +svn-updates: + updates from the 4.3 branch upto 20091003. + +rename-info-files: + Allow transformations on info file names. Reference the + transformed info file names in the texinfo files. + +pr30740: + PR ada/30740: Do not optimize X*(2**Y) in a modular context + +gcc-textdomain: + Set gettext's domain and textdomain to the versioned package name. + +gcc-driver-extra-langs: + Add options and specs for languages that are not built from a source + (but built from separate sources). + +gcc-hash-style-both: + Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc) + +gcc-build-id: + Link with --build-id when the linker supports it + +libstdc++-pic: + Build and install libstdc++_pic.a library. + +libstdc++-doclink: + adjust hrefs to point to the local documentation + +libobjc-gc-link: + Link libobjc_gc with libgcjgc_convenience.la and needed thread flags + and libraries. + +libjava-stacktrace: + libgcj: Lookup source file name and line number in separated + debug files found in /usr/lib/debug + +libjava-subdir: + - Set the libjava sublibdir to /usr/lib/gcj-4.3 + - Set the default libgcj database dir to /var/lib/gcj-4.3 + +libjava-jnipath: + - Add /usr/lib/jni to java.library.path. + - When running the i386 binaries on amd64, look in + - /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + +libjava-sjlj: + Don't try to use _Unwind_Backtrace on SJLJ targets. + See bug #387875, #388505, GCC PR 29206. + +libjava-rpath: + - Link ecjx with -rpath $(dbexecdir) + +libjava-file-support: + libjava: @file support for gjavah & gjar + +libjava-soname: + Bump the libgcj soversion. + +libjava-realloc-leak: + Don't leak upon failed realloc (taken from the trunk). + +pr28102: + Apply proposed fix for PR target/28102. + +alpha-no-ev4-directive: + +boehm-gc-getnprocs: + boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback. + +note-gnu-stack: + Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc + Taken from FC. + +libjava-armel-ldflags: + Adjust libjava extra_ldflags for armel. + +libstdc++-symbols-hppa: + Update libstdc++ baseline symbols for hppa. + +pr10768: + PR ada/10768: ICEs on compilation of ada support library for avr + +pr15808: + PR ada/15808: Illegal program not detected, RM 3.9.3(10) + +pr15915: + PR ada/15915: Illegal program not detected, RM 13.11(15) + +pr16086: + PR ada/16086: Legal program rejected, procedure of protected object should be visible + +pr16087: + PR ada/16087: Accept statically matching constraint in full view + +pr16098: + PR ada/16098: Illegal program not detected, RM 13.1(6) + +pr17985: + PR ada/17985: GNAT accepts extension aggregate where expected type is not extension + +pr18680: + PR ada/18680: pragma Linker_Section problems + +pr22255: + PR ada/22255: Reset on shared file causes Use_Error. + +pr22387: + PR ada/22387: Ada compiler crash when inheriting from a record with custom layout + +pr24170: + Fix PR libgcj/24170. + +pr28305: + PR ada/28305: GNAT bug when inlining instance of a generic subprogram + +pr28322: + Fix PR other/28322, GCC new warnings and compatibility. + +pr28733: + PR ada/28733: GNAT crash while compiling Ada-2005 code + +pr29015: + ada/29015: Do not ICE on incomplete type whose underlying type is known + +pr30827: + PR ada/30827: GNAT.compiler_version problem for official releases + +pr33688: + PR ada/33688: Ada package Gnat.Sockets missing constant for IP_PKTINFO + +pr34466: + PR ada/34466: s-tasinf.ads:81:42: "cpu_set_t" not declared in "OS_Interface" + +pr35050: + PR ada/35050: [4.1/4.2/4.3/4.4 regression] renames entities not in symbol table + +pr35792: + PR ada/35792: Illegal program not detected, RM 3.10.1(4/2) + +gnalasup_to_lapack: + Ada: Use liblapack and libblas instead of libgnalasup + +gcc-m68k-pch: + PR target/25343, fix gcc.dg/pch/pch for m68k. + +pr35020: + Fix PR libjava/35020, taken from the trunk. + +libjava-extra-cflags: + libjava/classpath: Set and use EXTRA_CFLAGS. + +pr35965: + Fix PIC + -fstack-protector (PR target/35965) + +m68k-allow-gnu99: + patch to allow gnu99 mode on m68k + +libjava-javah-bridge-tgts: + libjava: Fix naming of bridge targets in gjavah (class file updates) + +pr37661: + PR target/37661, fix SPARC64 int-to-TFmode conversions. + +pr27880: + PR target/27880: Restore static linking on ia64 with system libunwind + by adding unwind-compat to the static libgcc. + +hppa-atomic-builtins: + Atomic builtins using kernel helpers for parisc. + +armel-atomic-builtins: + Atomic builtins using kernel helpers for ARM Linux/EABI. + +pr38292: + Fix PR gcov-profile/38292, taken from the trunk + +pr38360: + PR middle-end/38360: ICE in gimple_op, at gimple.h:1636 + +pr39431: + Proposed patch for PR target/39431 + +r143339: + ARM: don't synthesize thumb-2 ldrd/strd with two 32-bit instructions. + +pr40134: + Proposed patch for PR target/40134. + +gcc-unwind-debug-hook: + Install a hook _Unwind_DebugHook, called during unwinding. Intended as + a hook for a debugger to intercept exceptions. CFA is the CFA of the + target frame. HANDLER is the PC to which control will be transferred. + +gcc-default-format-security: + Turn on -Wformat -Wformat-security by default for C, C++, ObjC, ObjC++. + +gcc-default-fortify-source: + Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++. + +gcc-default-relro: + Turn on -Wl,-z,relro by default. + +testsuite-hardening-format: + Description: use -Wno-format on tests that cannot be adjusted other ways. + Author: Kees Cook + Ubuntu: https://bugs.launchpad.net/bugs/344502 + +testsuite-hardening-fortify: + Description: check more functions to avoid -D_FORTIFY_SOURCE=2 warnings. + Author: Kees Cook + Ubuntu: https://bugs.launchpad.net/bugs/344502 + +testsuite-hardening-printf-types: + Description: adjust/standardize printf types to avoid -Wformat warnings. + Author: Kees Cook + Ubuntu: https://bugs.launchpad.net/bugs/344502 + +gcc-default-ssp: + Turn on -fstack-protector by default for C, C++, ObjC, ObjC++. + Build libgcc using -fno-stack-protector. + +cpu-default-i486: + set default 32bit ix86 architecture to i486 + +gcc-ice-hack: + Retry the build on an ice, save the calling options and preprocessed + source when the ice is reproducible. + +gcc-ice-apport: + Report an ICE to apport (if apport is available + and the environment variable GCC_NOAPPORT is not set) + +libjava-disable-static: + Disable building the static libjava. + +gcc-multiarch: + gcc-multiarch.dpatch + + Convert the multilib option to a target triplet, + add multiarch include directories and libraries path: + /usr/local/include/-linux-gnu + /usr/include/-linux-gnu + /usr/lib/-linux-gnu/lib + to the system paths. + +libjava-nobiarch-check: + For biarch builds, disable the testsuite for the non-default architecture + for runtime libraries, which are not built by default (libjava). + +ada-nobiarch-check: + For biarch builds, disable the gnat testsuite for the non-default + +config-ml: + disable some biarch libraries for biarch builds --- gcc-4.3-4.3.4.orig/debian/libgnat-BV.overrides +++ gcc-4.3-4.3.4/debian/libgnat-BV.overrides @@ -0,0 +1 @@ +libgnat-@BV@: package-name-doesnt-match-sonames --- gcc-4.3-4.3.4.orig/debian/gij-BV.postinst +++ gcc-4.3-4.3.4/debian/gij-BV.postinst @@ -0,0 +1,52 @@ +#! /bin/sh -e + +prio=$(echo @BV@ | sed 's/\.//g') + +update-alternatives --quiet \ + --install /usr/bin/java java /usr/bin/gij-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/share/man/man1/gij-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/rmiregistry rmiregistry /usr/bin/grmiregistry-@BV@ $prio \ + --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/share/man/man1/grmiregistry-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/keytool keytool /usr/bin/gkeytool-@BV@ $prio \ + --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/share/man/man1/gkeytool-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/orbd orbd /usr/bin/gorbd-@BV@ $prio \ + --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/share/man/man1/gorbd-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/rmid rmid /usr/bin/grmid-@BV@ $prio \ + --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/share/man/man1/grmid-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/serialver serialver /usr/bin/gserialver-@BV@ $prio \ + --slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/share/man/man1/gserialver-@BV@.1.gz + +case "$1" in +configure) + if [ ! -f /var/lib/gcj-@BV@/classmap.db ]; then + uname=$(uname -m) + mkdir -p /var/lib/gcj-@BV@ + if gcj-dbtool-@BV@ -n /var/lib/gcj-@BV@/classmap.db; then + case "$uname" in arm*|m68k|parisc*) + echo >&2 "gcj-dbtool succeeded unexpectedly" + esac + else + case "$uname" in + arm*|m68k|parisc*) + echo >&2 "ERROR: gcj-dbtool did fail; known problem on $uname";; + *) + exit 2 + esac + touch /var/lib/gcj-@BV@/classmap.db + fi + fi +esac + +#DEBHELPER# + +exit 0 --- gcc-4.3-4.3.4.orig/debian/compat +++ gcc-4.3-4.3.4/debian/compat @@ -0,0 +1 @@ +5 --- gcc-4.3-4.3.4.orig/debian/gij-wrapper-BV +++ gcc-4.3-4.3.4/debian/gij-wrapper-BV @@ -0,0 +1,98 @@ +#!/usr/bin/perl -w +# +# Starts the GNU Java interpreter. +# +# Command-line arguments should be in the style of Sun's Java runtime; +# these will be converted to gij arguments before being passed to the +# gij itself. +# +# The Debian JNI module directory and any other specified JNI +# directories will be included on the JNI search path. +# +# Copyright (C) 2002-2003 by Ben Burton +# Based on the original gij-wrapper-3.2 shell script. + +use strict; + +# The real Java runtime: +my $javaRuntime = '/usr/bin/gij-@BV@'; + +# The debian JNI module directory: +my $debianJNIDir = '/usr/lib/jni'; + +# The command-line arguments to pass to the real Java runtime: +my @commandLine; + +# The full JNI search path to use: +my $JNIPath = ''; + +# Build the command-line from the arguments given. +my $parsingOptions = 1; + +# Flag used to copy argument to -classpath or -cp. +my $copyNext = 0; +foreach my $arg (@ARGV) { + if (not $parsingOptions) { + # We're done parsing options; just copy all remaining arguments directly. + push @commandLine, $arg; + next; + } + if ($copyNext) { + push @commandLine, $arg; + $copyNext = 0; + next; + } + + # Try to interpret Sun-style options. + if ($arg eq '-version') { + push @commandLine, '--version'; + } elsif ($arg eq '-h' or $arg eq '-help') { + push @commandLine, '--help'; + } elsif ($arg eq '-cp' or $arg eq '--cp') { + push @commandLine, '-cp'; + $copyNext = 1; + } elsif ($arg eq '-classpath' or $arg eq '--classpath') { + push @commandLine, '-classpath'; + $copyNext = 1; + } elsif ($arg =~ /^-Djava.library.path=(.+)$/) { + # A component of the JNI search path has been given. + if ($JNIPath) { + $JNIPath = $JNIPath . ':' . $1; + } else { + $JNIPath = $1; + } + } elsif ($arg eq '-jar' or $arg =~ /^-D/) { + # Copy the argument directly. + push @commandLine, $arg; + } elsif ($arg =~ /^-/) { + # An unrecognised option has been passed - just drop it. + } else { + # Some non-option argument has been given. + # Stop parsing options at this point. + push @commandLine, $arg; + $parsingOptions = 0; + } +} + +# Add the debian JNI module directory to the JNI search path if it's not +# already there. +if ($JNIPath !~ /(^|:)$debianJNIDir($|:)/) { + if ($JNIPath) { + $JNIPath = $JNIPath . ':' . $debianJNIDir; + } else { + $JNIPath = $debianJNIDir; + } +} + +# Use environment variable $LTDL_LIBRARY_PATH to store the JNI path, +# since gij uses libltdl to dlopen JNI modules. +if ($ENV{LTDL_LIBRARY_PATH}) { + $ENV{LTDL_LIBRARY_PATH} = $ENV{LTDL_LIBRARY_PATH} . ':' . $JNIPath; +} else { + $ENV{LTDL_LIBRARY_PATH} = $JNIPath; +} + +# Call the real Java runtime. +my @fullCommandLine = ( $javaRuntime ); +push @fullCommandLine, @commandLine; +exec @fullCommandLine or exit(1); --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.ia64 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.ia64 @@ -0,0 +1,4 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.10" +#include "libgfortran3.symbols.16" --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.16.powerpc +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.16.powerpc @@ -0,0 +1,95 @@ + __iso_c_binding_c_f_pointer_c16@GFORTRAN_1.0 4.3 + __iso_c_binding_c_f_pointer_r16@GFORTRAN_1.0 4.3 + _gfortran_arandom_r16@GFORTRAN_1.0 4.3 + _gfortran_cpu_time_16@GFORTRAN_1.0 4.3 + _gfortran_exponent_r16@GFORTRAN_1.0 4.3 + _gfortran_fraction_r16@GFORTRAN_1.0 4.3 + _gfortran_matmul_c16@GFORTRAN_1.0 4.3 + _gfortran_matmul_r16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_4_r16@GFORTRAN_1.0 4.3 + _gfortran_maxloc0_8_r16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_4_r16@GFORTRAN_1.0 4.3 + _gfortran_maxloc1_8_r16@GFORTRAN_1.0 4.3 + _gfortran_maxval_r16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_4_r16@GFORTRAN_1.0 4.3 + _gfortran_minloc0_8_r16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_4_r16@GFORTRAN_1.0 4.3 + _gfortran_minloc1_8_r16@GFORTRAN_1.0 4.3 + _gfortran_minval_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_4_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc0_8_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_4_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxloc1_8_r16@GFORTRAN_1.0 4.3 + _gfortran_mmaxval_r16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_4_r16@GFORTRAN_1.0 4.3 + _gfortran_mminloc0_8_r16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_4_r16@GFORTRAN_1.0 4.3 + _gfortran_mminloc1_8_r16@GFORTRAN_1.0 4.3 + _gfortran_mminval_r16@GFORTRAN_1.0 4.3 + _gfortran_mproduct_c16@GFORTRAN_1.0 4.3 + _gfortran_mproduct_r16@GFORTRAN_1.0 4.3 + _gfortran_msum_c16@GFORTRAN_1.0 4.3 + _gfortran_msum_r16@GFORTRAN_1.0 4.3 + _gfortran_nearest_r16@GFORTRAN_1.0 4.3 + _gfortran_pow_c16_i4@GFORTRAN_1.0 4.3 + _gfortran_pow_c16_i8@GFORTRAN_1.0 4.3 + _gfortran_pow_r16_i8@GFORTRAN_1.0 4.3 + _gfortran_product_c16@GFORTRAN_1.0 4.3 + _gfortran_product_r16@GFORTRAN_1.0 4.3 + _gfortran_random_r16@GFORTRAN_1.0 4.3 + _gfortran_reshape_c16@GFORTRAN_1.0 4.3 + _gfortran_reshape_r16@GFORTRAN_1.0 4.3 + _gfortran_rrspacing_r16@GFORTRAN_1.0 4.3 + _gfortran_set_exponent_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_4_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc0_8_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_4_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxloc1_8_r16@GFORTRAN_1.0 4.3 + _gfortran_smaxval_r16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_4_r16@GFORTRAN_1.0 4.3 + _gfortran_sminloc0_8_r16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_4_r16@GFORTRAN_1.0 4.3 + _gfortran_sminloc1_8_r16@GFORTRAN_1.0 4.3 + _gfortran_sminval_r16@GFORTRAN_1.0 4.3 + _gfortran_spacing_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__abs_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__acos_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__acosh_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__aimag_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__aint_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__anint_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__asin_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__asinh_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__atan2_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__atan_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__atanh_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__conjg_16@GFORTRAN_1.0 4.3 + _gfortran_specific__cos_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__cos_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__cosh_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__dim_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__exp_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__exp_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__log10_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__log_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__log_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__mod_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_4_16@GFORTRAN_1.0 4.3 + _gfortran_specific__nint_8_16@GFORTRAN_1.0 4.3 + _gfortran_specific__sign_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__sin_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__sin_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__sinh_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__sqrt_c16@GFORTRAN_1.0 4.3 + _gfortran_specific__sqrt_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__tan_r16@GFORTRAN_1.0 4.3 + _gfortran_specific__tanh_r16@GFORTRAN_1.0 4.3 + _gfortran_sproduct_c16@GFORTRAN_1.0 4.3 + _gfortran_sproduct_r16@GFORTRAN_1.0 4.3 + _gfortran_ssum_c16@GFORTRAN_1.0 4.3 + _gfortran_ssum_r16@GFORTRAN_1.0 4.3 + _gfortran_sum_c16@GFORTRAN_1.0 4.3 + _gfortran_sum_r16@GFORTRAN_1.0 4.3 + _gfortran_transpose_c16@GFORTRAN_1.0 4.3 + _gfortran_transpose_r16@GFORTRAN_1.0 4.3 --- gcc-4.3-4.3.4.orig/debian/gij-hppa +++ gcc-4.3-4.3.4/debian/gij-hppa @@ -0,0 +1,20 @@ +#! /bin/sh + +prctl= + +case "$(prctl --unaligned=)" in *signal) + echo >&2 "$(basename $0): ignore unaligned memory accesses" + prctl="prctl --unaligned=default" +esac + +exec $prctl /usr/bin/gij-4.3.bin "$@" +#! /bin/sh + +prctl= + +case "$(prctl --unaligned=)" in *signal) + echo >&2 "$(basename $0): ignore unaligned memory accesses" + prctl="prctl --unaligned=default" +esac + +exec $prctl /usr/bin/gij-4.3.bin "$@" --- gcc-4.3-4.3.4.orig/debian/gfortran-BV-spu.overrides +++ gcc-4.3-4.3.4/debian/gfortran-BV-spu.overrides @@ -0,0 +1,2 @@ +gfortran-@BV@-spu: non-standard-dir-in-usr usr/spu/ +gfortran-@BV@-spu: file-in-unusual-dir --- gcc-4.3-4.3.4.orig/debian/lib64stdc++CXX.postinst +++ gcc-4.3-4.3.4/debian/lib64stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.mips +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.mips @@ -0,0 +1,2 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" --- gcc-4.3-4.3.4.orig/debian/gnat-BV-doc.doc-base.rm +++ gcc-4.3-4.3.4/debian/gnat-BV-doc.doc-base.rm @@ -0,0 +1,16 @@ +Document: gnat-rm-@BV@ +Title: GNAT (GNU Ada) Reference Manual +Author: Various +Abstract: This manual contains useful information in writing programs + using the GNAT compiler. It includes information on implementation + dependent characteristics of GNAT, including all the information + required by Annex M of the standard. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html + +Format: info +Index: /usr/share/info/gnat_rm-@BV@.info.gz +Files: /usr/share/info/gnat_rm-@BV@* --- gcc-4.3-4.3.4.orig/debian/protoize.1 +++ gcc-4.3-4.3.4/debian/protoize.1 @@ -0,0 +1,42 @@ +.TH PROTOIZE 1 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +protoize, unprotoize \- create/remove ANSI prototypes from C code +.SH SYNOPSIS +.B protoize +.I "[options] files ...." +.br +.B unprotoize +.I "[options] files ...." +.SH "DESCRIPTION" +This manual page documents briefly the +.BR protoize , +and +.B unprotoize +commands. +This manual page was written for the Debian GNU/Linux distribution +(but may be used by others), because the original program does not +have a manual page. +Instead, it has documentation in the GNU Info format; see below. +.PP +.B protoize +is an optional part of GNU C. You can use it to add prototypes to a +program, thus converting the program to ANSI C in one respect. The companion +program `unprotoize' does the reverse: it removes argument types from +any prototypes that are found. +.PP +When you run these programs, you must specify a set of source files +as command line arguments. +.SH OPTIONS +These programs are non-trivial to operate, and it is neither possible nor +desirable to properly summarize options in this man page. Read the info +documentation for more information. +.SH "SEE ALSO" +The programs are documented fully by +.IR "Gcc: The use and the internals of the GNU compiler", +available via the Info system. The documentation for protoize/unprotoize +can be found in the subsection "Invoking GCC", under "Running Protoize." +.SH AUTHOR +This manual page was written by Galen Hazelwood, +for the Debian GNU/Linux system. --- gcc-4.3-4.3.4.orig/debian/dh_rmemptydirs +++ gcc-4.3-4.3.4/debian/dh_rmemptydirs @@ -0,0 +1,10 @@ +#! /bin/sh -e + +pkg=`echo $1 | sed 's/^-p//'` + +: # remove empty directories, when all components are in place +for d in `find debian/$pkg -depth -type d -empty 2> /dev/null`; do \ + while rmdir $d 2> /dev/null; do d=`dirname $d`; done; \ +done + +exit 0 --- gcc-4.3-4.3.4.orig/debian/README +++ gcc-4.3-4.3.4/debian/README @@ -0,0 +1,33 @@ + The Debian GNU Compiler Collection setup + ======================================== + +Please see the README.Debian in /usr/share/doc/gcc, contained in the +gcc package for a description of the setup of the different compiler +versions. + +For general discussion about the Debian toolchain (GCC, glibc, binutils) +please use the mailing list debian-toolchain@lists.debian.org; for GCC +specific things, please use debian-gcc@lists.debian.org. When in doubt +use the debian-toolchain ML. + + +Maintainers of these packages +----------------------------- + +Matthias Klose +Ray Dassen +Jeff Bailey (hurd-i386) +Joel Baker (netbsd-i386) +Philip Blundell (arm-linux) +Ben Collins (sparc-linux) +Randolph Chung (ia64-linux) +Falk Hueffner (alpha-linux) +Dan Jacobowitz (powerpc-linux) +Thiemo Seufer (mips*-linux) +Matt Taggart (hppa-linux) +Gerhard Tonn (s390-linux) +Roman Zippel (m68k-linux) +Ludovic Brenta (gnat) +Arthur Loiret (gdc) + +=============================================================================== --- gcc-4.3-4.3.4.orig/debian/porting.html +++ gcc-4.3-4.3.4/debian/porting.html @@ -0,0 +1,30 @@ + + +Porting libstdc++-v3 + + + + + + + +

Porting libstdc++-v3

+
+


+Node: Top, +Next: , +Up: (dir) +
+
+ +The documentation in this file was removed, because it is licencensed +under a non DFSG conforming licencse. + + --- gcc-4.3-4.3.4.orig/debian/README.Bugs.m4 +++ gcc-4.3-4.3.4/debian/README.Bugs.m4 @@ -0,0 +1,333 @@ +Reporting Bugs in the GNU Compiler Collection for DIST +======================================================== + +Before reporting a bug, please +------------------------------ + +- Check that the behaviour really is a bug. Have a look into some + ANSI standards document. + +- Check the list of well known bugs: http://gcc.gnu.org/bugs.html#known + +- Try to reproduce the bug with a current GCC development snapshot. You + usually can get a recent development snapshot from the gcc-snapshot +ifelse(DIST,`Debian',`dnl + package in the unstable (or experimental) distribution. + + See: http://packages.debian.org/gcc-snapshot +', DIST, `Ubuntu',`dnl + package in the current development distribution. + + See: http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-snapshot/ +')dnl + +- Try to find out if the bug is a regression (an older GCC version does + not show the bug). + +- Check if the bug is already reported in the bug tracking systems. + +ifelse(DIST,`Debian',`dnl + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org +', DIST, `Ubuntu',`dnl + Ubuntu: https://bugs.launchpad.net/~ubuntu-toolchain/+packagebugs + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org +')dnl + Upstream: http://gcc.gnu.org/bugzilla/ + + +Where to report a bug +--------------------- + +ifelse(DIST,`Debian',`dnl +Please report bugs found in the packaging of GCC to the Debian bug tracking +system. See http://www.debian.org/Bugs/ for instructions (or use the +reportbug script). +', DIST, `Ubuntu',`dnl +Please report bugs found in the packaging of GCC to Launchpad. See below +how issues should be reported. +')dnl + +DIST's current policy is to closely follow the upstream development and +only apply a minimal set of patches (which are summarized in the README.Debian +document). + +ifelse(DIST,`Debian',`dnl +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Debian +GCC package maintainers, if you report the bug upstream and then submit +a bug report to the Debian BTS and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to the Debian BTS (but read "How to report a bug" +below). +', DIST, `Ubuntu',`dnl +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Ubuntu +GCC package maintainers, if you report the bug upstream and then submit +a bug report to Launchpad and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to Launchpad (but read "How to report a bug" below). + +Report the issue to https://bugs.launchpad.net/ubuntu/+source/SRCNAME. +')dnl + + +How to report a bug +------------------- + +There are complete instructions in the gcc info manual (found in the +gcc-doc package), section Bugs. + +The manual can be read using `M-x info' in Emacs, or if the GNU info +program is installed on your system by `info --node "(gcc)Bugs"'. Or see +the file BUGS included with the gcc source code. + +Online bug reporting instructions can be found at + + http://gcc.gnu.org/bugs.html + +[Some paragraphs taken from the above URL] + +The main purpose of a bug report is to enable us to fix the bug. The +most important prerequisite for this is that the report must be +complete and self-contained, which we explain in detail below. + +Before you report a bug, please check the list of well-known bugs and, +if possible in any way, try a current development snapshot. + +Summarized bug reporting instructions +------------------------------------- + +What we need + +Please include in your bug report all of the following items, the +first three of which can be obtained from the output of gcc -v: + + * the exact version of GCC; + * the system type; + * the options given when GCC was configured/built; + * the complete command line that triggers the bug; + * the compiler output (error messages, warnings, etc.); and + * the preprocessed file (*.i*) that triggers the bug, generated by + adding -save-temps to the complete compilation command, or, in + the case of a bug report for the GNAT front end, a complete set + of source files (see below). + +What we do not want + + * A source file that #includes header files that are left out + of the bug report (see above) + * That source file and a collection of header files. + * An attached archive (tar, zip, shar, whatever) containing all + (or some :-) of the above. + * A code snippet that won't cause the compiler to produce the + exact output mentioned in the bug report (e.g., a snippet with + just a few lines around the one that apparently triggers the + bug, with some pieces replaced with ellipses or comments for + extra obfuscation :-) + * The location (URL) of the package that failed to build (we won't + download it, anyway, since you've already given us what we need + to duplicate the bug, haven't you? :-) + * An error that occurs only some of the times a certain file is + compiled, such that retrying a sufficient number of times + results in a successful compilation; this is a symptom of a + hardware problem, not of a compiler bug (sorry) + * E-mail messages that complement previous, incomplete bug + reports. Post a new, self-contained, full bug report instead, if + possible as a follow-up to the original bug report + * Assembly files (*.s) produced by the compiler, or any binary files, + such as object files, executables, core files, or precompiled + header files + * Duplicate bug reports, or reports of bugs already fixed in the + development tree, especially those that have already been + reported as fixed last week :-) + * Bugs in the assembler, the linker or the C library. These are + separate projects, with separate mailing lists and different bug + reporting procedures + * Bugs in releases or snapshots of GCC not issued by the GNU + Project. Report them to whoever provided you with the release + * Questions about the correctness or the expected behavior of + certain constructs that are not GCC extensions. Ask them in + forums dedicated to the discussion of the programming language + + +Known Bugs and Non-Bugs +----------------------- + +[Please see /usr/share/doc/gcc/FAQ or http://gcc.gnu.org/faq.html first] + + +C++ exceptions don't work with C libraries +------------------------------------------ + +[Taken from the closed bug report #22769] C++ exceptions don't work +with C libraries, if the C code wasn't designed to be thrown through. +A solution could be to translate all C libraries with -fexceptions. +Mostly trying to throw an exception in a callback function (qsort, +Tcl command callbacks, etc ...). Example: + + #include + #include + + class A {}; + + static + int SortCondition(void const*, void const*) + { + printf("throwing 'sortcondition' exception\n"); + throw A(); + } + + int main(int argc, char *argv[]) + { + int list[2]; + + try { + SortCondition(NULL,NULL); + } catch (A) { + printf("caught test-sortcondition exception\n"); + } + try { + qsort(&list, sizeof(list)/sizeof(list[0]),sizeof(list[0]), + &SortCondition); + } catch (A) { + printf("caught real-sortcondition exception\n"); + } + return 0; +} + +Andrew Macleod responded: + +When compiled with the table driven exception handling, exception can only +be thrown through functions which have been compiled with the table driven EH. +If a function isn't compiled that way, then we do not have the frame +unwinding information required to restore the registers when unwinding. + +I believe the setjmp/longjmp mechanism will throw through things like this, +but its produces much messier code. (-fsjlj-exceptions) + +The C compiler does support exceptions, you just have to turn them on +with -fexceptions. + +Your main options are to: + a) Don't use callbacks, or at least don't throw through them. + b) Get the source and compile the library with -fexceptions (You have to + explicitly turn on exceptions in the C compiler) + c) always use -fsjlj-exceptions (boo, bad choice :-) + + +g++: "undefined reference" to static const array in class +--------------------------------------------------------- + +The following code compiles under GNU C++ 2.7.2 with correct results, +but produces the same linker error with GNU C++ 2.95.2. +Alexandre Oliva responded: + +All of them are correct. A static data member *must* be defined +outside the class body even if it is initialized within the class +body, but no diagnostic is required if the definition is missing. It +turns out that some releases do emit references to the missing symbol, +while others optimize it away. + +#include + +class Test +{ + public: + Test(const char *q); + protected: + static const unsigned char Jam_signature[4] = "JAM"; +}; + +Test::Test(const char *q) +{ + if (memcmp(q, Jam_signature, sizeof(Jam_signature)) != 0) + cerr << "Hello world!\n"; +} + +int main(void) +{ + Test::Test("JAM"); + return 0; +} + +g++: g++ causes passing non const ptr to ptr to a func with const arg + to cause an error (not a bug) +--------------------------------------------------------------------- + +Example: + +#include +void test(const char **b){ + printf ("%s\n",*b); +} +int main(void){ + char *test1="aoeu"; + test(&test1); +} + +make const +g++ const.cc -o const +const.cc: In function `int main()': +const.cc:7: passing `char **' as argument 1 of `test(const char **)' adds cv-quals without intervening `const' +make: *** [const] Error 1 + +Answer from "Martin v. Loewis" : + +> ok... maybe I missed something.. I haven't really kept up with the latest in +> C++ news. But I've never heard anything even remotly close to passing a non +> const var into a const arg being an error before. + +Thanks for your bug report. This is a not a bug in the compiler, but +in your code. The standard, in 4.4/4, puts it that way + +# A conversion can add cv-qualifiers at levels other than the first in +# multi-level pointers, subject to the following rules: +# Two pointer types T1 and T2 are similar if there exists a type T and +# integer n > 0 such that: +# T1 is cv(1,0) pointer to cv(1,1) pointer to ... cv(1,n-1) +# pointer to cv(1,n) T +# and +# T2 is cv(2,0) pointer to cv(2,1) pointer to ... cv(2,n-1) +# pointer to cv(2,n) T +# where each cv(i,j) is const, volatile, const volatile, or +# nothing. The n-tuple of cv-qualifiers after the first in a pointer +# type, e.g., cv(1,1) , cv(1,2) , ... , cv(1,n) in the pointer type +# T1, is called the cv-qualification signature of the pointer type. An +# expression of type T1 can be converted to type T2 if and only if the +# following conditions are satisfied: +# - the pointer types are similar. +# - for every j > 0, if const is in cv(1,j) then const is in cv(2,j) , +# and similarly for volatile. +# - if the cv(1,j) and cv(2,j) are different, then const is in every +# cv(2,k) for 0 < k < j. + +It is the last rule that your code violates. The standard gives then +the following example as a rationale: + +# [Note: if a program could assign a pointer of type T** to a pointer +# of type const T** (that is, if line //1 below was allowed), a +# program could inadvertently modify a const object (as it is done on +# line //2). For example, +# int main() { +# const char c = 'c'; +# char* pc; +# const char** pcc = &pc; //1: not allowed +# *pcc = &c; +# *pc = 'C'; //2: modifies a const object +# } +# - end note] + +If you question this line of reasoning, please discuss it in one of +the public C++ fora first, eg. comp.lang.c++.moderated, or +comp.std.c++. + + +cpp removes blank lines +----------------------- + +With the new cpp, you need to add -traditional to the "cpp -P" args, else +blank lines get removed. + +[EDIT ME: scan Debian bug reports and write some nice summaries ...] --- gcc-4.3-4.3.4.orig/debian/lib32stdc++6.symbols.amd64 +++ gcc-4.3-4.3.4/debian/lib32stdc++6.symbols.amd64 @@ -0,0 +1,5 @@ +libstdc++.so.6 lib32stdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-4.3-4.3.4.orig/debian/lib32gccLC.postinst +++ gcc-4.3-4.3.4/debian/lib32gccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/gcj-BV.doc-base +++ gcc-4.3-4.3.4/debian/gcj-BV.doc-base @@ -0,0 +1,15 @@ +Document: gcj-@BV@ +Title: The GNU Ahead-of-time Compiler for the Java Language +Author: Various +Abstract: This manual describes how to use gcj, the GNU compiler for + the Java programming language. gcj can generate both .class files and + object files, and it can read both Java source code and .class files. +Section: Programming/Java + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/java/gcj.html +Files: /usr/share/doc/gcc-@BV@-base/java/gcj.html + +Format: info +Index: /usr/share/info/gcj-@BV@.info.gz +Files: /usr/share/info/gcj-@BV@* --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.armel +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.armel @@ -0,0 +1,11 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt9type_info6beforeERKS_@GLIBCXX_3.4 4.3.0 + _ZNKSt9type_infoeqERKS_@GLIBCXX_3.4 4.3.0 + __cxa_begin_cleanup@CXXABI_1.3 4.3.0 + __cxa_end_cleanup@CXXABI_1.3 4.3.0 + __cxa_type_match@CXXABI_1.3 4.3.0 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.64bit +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.64bit @@ -0,0 +1,535 @@ +#include "libstdc++6.symbols.common" + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSsixEm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcl@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPclc@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPcl@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEl@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEl@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEli@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcl@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPclc@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPcl@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEm@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPcl@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPcl@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_l@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKal@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPalS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPclS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhlS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1El@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKal@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPalS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPclS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhlS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2El@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.8 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.8 4.1.1 + _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn16_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znam@GLIBCXX_3.4 4.1.1 + _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwm@GLIBCXX_3.4 4.1.1 + _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-4.3-4.3.4.orig/debian/logwatch.sh +++ gcc-4.3-4.3.4/debian/logwatch.sh @@ -0,0 +1,104 @@ +#! /bin/sh + +# script to trick the build daemons and output something, if there is +# still test/build activity + +# $1: primary file to watch. if there is activity on this file, we do nothing +# $2+: files to watch to look for activity despite no output in $1 +# if the files are modified or are newly created, then the message +# is printed on stdout. +# if nothing is modified, don't output anything (so the buildd timeout +# hits). + +pidfile=logwatch.pid +timeout=3600 +message='\nlogwatch still running\n' + +usage() +{ + echo >&2 "usage: `basename $0` [-p ] [-t ] [-m ]" + echo >&2 " [ ...]" + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -t) + timeout=$2 + shift + shift + ;; + -m) + message="$2" + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -gt 0 ] || usage + +logfile="$1" +shift +otherlogs="$@" + +cleanup() +{ + rm -f $pidfile + exit 0 +} + +#trap cleanup 0 1 3 15 + +echo $$ > $pidfile + +update() +{ + _logvar=$1 + _othervar=$2 + + # logfile may not exist yet + if [ -r $logfile ]; then + _logtail="`tail -10 $logfile | md5sum` $f" + else + _logtail="does not exist: $logfile" + fi + eval $_logvar="'$_logtail'" + + _othertails='' + for f in $otherlogs; do + if [ -r $f ]; then + _othertails="$_othertails `tail -10 $f | md5sum` $f" + else + _othertails="$_othertails does not exist: $f" + fi + done + eval $_othervar="'$_othertails'" +} + +update logtail othertails +while true; do + sleep $timeout + update newlogtail newothertails + if [ "$logtail" != "$newlogtail" ]; then + # there is still action in the primary logfile. do nothing. + logtail="$newlogtail" + elif [ "$othertails" != "$newothertails" ]; then + # there is still action in the other log files, so print the message + /bin/echo -e $message + othertails="$newothertails" + else + # nothing changed in the other log files. maybe a timeout ... + : + fi +done --- gcc-4.3-4.3.4.orig/debian/TODO +++ gcc-4.3-4.3.4/debian/TODO @@ -0,0 +1,46 @@ +(It is recommended to edit this file with emacs' todoo mode) +Last updated: 2008-05-02 + +* General + +- Clean up the sprawl of debian/rules. I'm sure there are neater + ways to do some of it; perhaps split it up into some more files? + Partly done. + +- Make debian/rules control build the control file without unpacking + the sources or applying patches. Currently, it unpacks the sources, + patches them, creates the control file, and a subsequent + dpkg-buildpackage deletes the sources, re-unpacks them, and + re-patches them. + +- Reorganise debian/rules.defs to decide which packages to build in a + more straightforward and less error-prone fashion: (1) start with + all languages; override the list of languages depending on the name + of the source package (gcc-4.3, gnat-4.3, gdc-4.3, gcj-4.3). (2) + filter the list of languages depending on the target platform; (3) + depending on the languages to build, decide on which libraries to + build. + +o [Ludovic Brenta] Ada + +- Done: Link the gnat tools with libgnat.so, instead of statically. + +- Done: Build libgnatvsn containing parts of the compiler (version + string, etc.) under GNAT-Modified GPL. Link the gnat tools with it. + +- Done: Build libgnatprj containing parts of the compiler (the project + manager) under pure GPL. Link the gnat tools with it. + +- Done: Build both the zero-cost and setjump/longjump exceptions + versions of libgnat. In particular, gnat-glade (distributed systems) + works best with SJLJ. + +- Done: Re-enable running the test suite. + +- Add support for building cross-compilers. + +- Add support for multilib (not yet supported upstream). + +* Fortran + +- gfortran man page generation --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.amd64 +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.amd64 @@ -0,0 +1,138 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __addtf3@GCC_4.3.0 1:4.3 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __deregister_frame@GCC_3.0 1:4.1.1 + __deregister_frame_info@GCC_3.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_4.0.0 1:4.3 + __divtf3@GCC_4.3.0 1:4.3 + __divti3@GCC_3.0 1:4.1.1 + __divxc3@GCC_4.0.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __eqtf2@GCC_4.3.0 1:4.3 + __extenddftf2@GCC_4.3.0 1:4.3 + __extendsftf2@GCC_4.3.0 1:4.3 + __extendxftf2@GCC_4.3.0 1:4.3 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfdi@GCC_4.3.0 1:4.3 + __fixtfsi@GCC_4.3.0 1:4.3 + __fixtfti@GCC_4.3.0 1:4.3 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfdi@GCC_4.3.0 1:4.3 + __fixunstfsi@GCC_4.3.0 1:4.3 + __fixunstfti@GCC_4.3.0 1:4.3 + __fixunsxfdi@GCC_3.0 1:4.1.1 + __fixunsxfti@GCC_3.0 1:4.1.1 + __fixxfti@GCC_3.0 1:4.1.1 + __floatditf@GCC_4.3.0 1:4.3 + __floatsitf@GCC_4.3.0 1:4.3 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_4.3.0 1:4.3 + __floattixf@GCC_3.0 1:4.1.1 + __floatunditf@GCC_4.3.0 1:4.3 + __floatunsitf@GCC_4.3.0 1:4.3 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntitf@GCC_4.3.0 1:4.3 + __floatuntixf@GCC_4.2.0 1:4.2.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __getf2@GCC_4.3.0 1:4.3 + __gttf2@GCC_3.0 1:4.3 + __letf2@GCC_4.3.0 1:4.3 + __lshrti3@GCC_3.0 1:4.1.1 + __lttf2@GCC_3.0 1:4.3 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_4.0.0 1:4.3 + __multf3@GCC_4.3.0 1:4.3 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __mulxc3@GCC_4.0.0 1:4.1.1 + __negtf2@GCC_4.3.0 1:4.3 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __netf2@GCC_3.0 1:4.3 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.0.0 1:4.3 + __powixf2@GCC_4.0.0 1:4.1.1 + __register_frame@GCC_3.0 1:4.1.1 + __register_frame_info@GCC_3.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GCC_3.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GCC_3.0 1:4.1.1 + __subtf3@GCC_4.3.0 1:4.3 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __trunctfdf2@GCC_4.3.0 1:4.3 + __trunctfsf2@GCC_4.3.0 1:4.3 + __trunctfxf2@GCC_4.3.0 1:4.3 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 + __unordtf2@GCC_4.3.0 1:4.3 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.ldbl.32bit +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.ldbl.32bit @@ -0,0 +1,283 @@ + CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1 + GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1 + GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTIPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTIPg@CXXABI_LDBL_1.3 4.2.1 + _ZTIg@CXXABI_LDBL_1.3 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTSPg@CXXABI_LDBL_1.3 4.2.1 + _ZTSg@CXXABI_LDBL_1.3 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.s390 +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.s390 @@ -0,0 +1,542 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.common" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSsixEm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEm@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znam@GLIBCXX_3.4 4.1.1 + _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwm@GLIBCXX_3.4 4.1.1 + _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit.s390" + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-4.3-4.3.4.orig/debian/lib64gfortran3.symbols.mips +++ gcc-4.3-4.3.4/debian/lib64gfortran3.symbols.mips @@ -0,0 +1,4 @@ +libgfortran.so.3 lib64gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" +#include "libgfortran3.symbols.16.powerpc64" --- gcc-4.3-4.3.4.orig/debian/libobjc2.symbols.armel +++ gcc-4.3-4.3.4/debian/libobjc2.symbols.armel @@ -0,0 +1,4 @@ +libobjc.so.2 libobjc2 #MINVER# +#include "libobjc2.symbols.common" + __gnu_objc_personality_v0@Base 4.2.1 + __objc_exception_class@Base 4.3.0 --- gcc-4.3-4.3.4.orig/debian/changelog +++ gcc-4.3-4.3.4/debian/changelog @@ -0,0 +1,8353 @@ +gcc-4.3 (4.3.4-9ubuntu1) lucid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Sat, 10 Apr 2010 16:47:17 +0200 + +gcc-4.3 (4.3.4-9) unstable; urgency=low + + * Update to SVN 20100410 from the gcc-4_3-branch. + - Fix PR rtl-optimization/43360, PR rtl-optimization/41917, + PR libstdc++/21769, PR ada/41912, PR tree-optimization/43528, + PR target/43524, PR target/42113, PR middle-end/42718, PR target/43458. + * Update cell-4_3-branch to 20100216. + + [ Nobuhiro Iwamatsu ] + * gcc-multiarch.dpatch: Update for sh4. Closes: #546443. + + [ Iain Buclaw ] + * Update to new upstream mecurial branch 20100405. + - gdc-4.3.dpatch: Add. + - gdc-libphobos-std-process.dpatch: Add. + - gdc-fix-build.dpatch: Update. + - gdc-libphobos-build.dpatch: Update. + - gdc-pr26885.dpatch: Update. + * debian/control.m4: update upstream website. + * Fix gdc build on armel. + * Work around build problem on kfreebsd-amd64. + * Fix libphobos build for kfreebsd platforms. + * Fixes error on static initialization of arrays with trailing comma. + + [ Arthur Loiret ] + * debian/control: Update my email's address. + + [ Matthias Klose ] + * Let the gcc driver know about .[dD] files. + * Configure --with-pkgversion with correct gdc-4.3 version. + + -- Matthias Klose Sat, 10 Apr 2010 16:00:53 +0200 + +gcc-4.3 (4.3.4-8ubuntu1) lucid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Tue, 16 Feb 2010 14:48:16 +0100 + +gcc-4.3 (4.3.4-8) unstable; urgency=low + + * Update to SVN 20100215 from the gcc-4_3-branch. + - Fix PR rtl-optimization/41917. + * gcc-4.3-base: Set priority to optional. + * Update cell-4_3-branch to 20091117, fixing build failure on powerpc. + + -- Matthias Klose Tue, 16 Feb 2010 14:55:34 +0100 + +gcc-4.3 (4.3.4-7ubuntu1) lucid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Tue, 16 Feb 2010 00:39:18 +0100 + +gcc-4.3 (4.3.4-7) unstable; urgency=low + + * Update to SVN 20100215 from the gcc-4_3-branch. + - Fixes: PR libfortran/42901, PR rtl-optimization/42952, + PR middle-end/42898, PR bootstrap/42786, PR tree-optimization/41826, + PR target/42774, PR target/42542, PR target/42511, PR target/42564, + PR target/42448, PR middle-end/42099, PR target/42549, + PR libfortran/PR42422, PR target/42113, PR libgfortran/42090, + PR target/41900, PR c++/21008, PR c++/37037, PR c++/41972, + PR c++/36912, PR target/41900, PR c++/35067, PR c++/41876. + + [ Aurelien Jarno ] + * Add sparc64 support: disable multilib and install the libraries + in /lib. + + [ Matthias Klose ] + * Don't call install-info directly, depend on dpkg | install-info instead. + * Enable multiarch for sh4. + * Remove build dependency on expect-tcl8.3. Closes: #472977. + + [ Nobuhiro Iwamatsu ] + * Backport linux atomic ops changes for sh4 from the trunk. Closes: #561550. + * Backport from trunk: [SH] Not run scheduling before reload as default. + Closes: #561429. + * Backport from trunk Fix PR target/41993, [sh] ICE in create_pre_exit. + + [ Iain Buclaw ] + * Build gdc-4.3 based on 2.015. + * Allow GDC to build if GNU C has execvpe() implemented (starting with + glibc-2.11). + + -- Matthias Klose Mon, 15 Feb 2010 20:13:21 +0100 + +gcc-4.3 (4.3.4-6) unstable; urgency=low + + * Update to SVN 20091101 from the gcc-4_3-branch. + - Fixes: PR target/41702, PR target/40913, PR target/38948, + PR target/26515, PR fortran/41479. + * Call dh_shlibdeps for gappletviewer to satisfy pedantic interpretations + of policy. Addresses: #553159. + * Add build conflict with binutils-gold (C++ test failures). + * On sparc default to v9 in 32bit mode. + + -- Matthias Klose Mon, 02 Nov 2009 01:24:11 +0100 + +gcc-4.3 (4.3.4-5ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Sat, 03 Oct 2009 23:45:21 +0200 + +gcc-4.3 (4.3.4-5) unstable; urgency=medium + + * Really install the linker script introduced with last upload for + the armel build. + * Set stage1 cflags for mips{,el} nbuild to fix build failure (?). + * Update to SVN 20091003 from the gcc-4_3-branch. + - Fixes PR target/22093, PR fortran/41515. + * Don't install the 4.3.3 symlink in the gcc libdir anymore. + * Install a hook _Unwind_DebugHook, called during unwinding. Intended as + a hook for a debugger to intercept exceptions. CFA is the CFA of the + target frame. HANDLER is the PC to which control will be transferred + (patch taken from Fedora). + * Don't run the testsuite for gnat build on sparc (timeouts on the buildds). + + -- Matthias Klose Sat, 03 Oct 2009 21:36:14 +0200 + +gcc-4.3 (4.3.4-4ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Tue, 29 Sep 2009 22:54:17 +0200 + +gcc-4.3 (4.3.4-4) unstable; urgency=low + + * Update to SVN 20090926 from the gcc-4_3-branch. + - Fixes PR c/39779, PR libffi/40242, PR libffi/41443, PR target/40473. + * Apply proposed patch for PR target/40134 (armel). + + -- Matthias Klose Sun, 27 Sep 2009 17:05:29 +0200 + +gcc-4.3 (4.3.4-3ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + * On armel configure --with-arch=armv6 --with-tune=cortex-a8 + --with-float=softfp --with-fpu=vfp. + * Rebuild to include translations in gcc-4.3-locales after demotion + of the package. LP: #425745. + * Apply proposed patch for PR target/40134 (armel). + * Update to SVN 20090923 from the gcc-4_3-branch. + - Fixes PR c/39779, PR libffi/40242, PR libffi/41443. + + -- Matthias Klose Wed, 23 Sep 2009 19:56:57 +0200 + +gcc-4.3 (4.3.4-3) unstable; urgency=low + + * Update to SVN 20090919 from the gcc-4_3-branch. + - Fixes PR middle-end/41009, PR middle-end/37850, and some other + architecture specific backports. + * Fix lintian errors in libstdc++ packages. + + -- Matthias Klose Sat, 19 Sep 2009 12:36:51 +0200 + +gcc-4.3 (4.3.4-2) unstable; urgency=low + + [ Aurelien Jarno ] + * patches/kbsd-gnu-ada.dpatch: add Ada support on kfreebsd-amd64. + * rules.conf: enable Ada on kfreebsd-amd64. + + [ Matthias Klose ] + * Update to SVN 20090826 from the gcc-4_3-branch. + - Fixes: PR target/41019, PR target/8603 (closes: #161432), + PR rtl-optimization/41033, PR target/40906, PR target/40577, + PR fortran/40847, PR fortran/40851, PR c/41046, PR debug/39706. + PR middle-end/41094, PR target/40718, PR fortran/41102. + * Avoid underscores in doc-base document id's to workaround a + dh_installdocs bug. + + -- Matthias Klose Wed, 26 Aug 2009 02:43:40 +0200 + +gcc-4.3 (4.3.4-1ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Tue, 04 Aug 2009 16:24:50 +0200 + +gcc-4.3 (4.3.4-1) unstable; urgency=low + + * GCC-4.3.4 release. + - Fixes PR c/39902. + * Fix threadprivate3.f90 ICE on alpha (Uros Bizjak). + * Apply proposed fix for PR target/40557, ICE on valid code on alpha (Uros + Bizjak). + + -- Matthias Klose Tue, 04 Aug 2009 15:54:40 +0200 + +gcc-4.3 (4.3.3-14ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Tue, 14 Jul 2009 16:56:04 -0400 + +gcc-4.3 (4.3.3-14) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20090714 from the gcc-4_3-branch. + - Fixes PR middle-end/40328, PR tree-optimization/40669, + PR middle-end/40585, PR tree-optimization/40542, + PR tree-optimization/40579, PR tree-optimization/40550, PR fortran/40638, + PR rtl-optimization/39110, PR rtl-optimization/37889, + PR rtl-optimization/38921, PR c++/40566, PR middle-end/40291, + PR middle-end/38934, PR c++/37877, PR c++/36089. + * ARM: don't synthesize thumb-2 ldrd/strd with two 32-bit instructions. + LP: #347864. + * gcc-4.3: Depend on libgomp1, even if not building the libgomp1 package. + + [Emilio Pozuelo Monfort] + * Backport build-id support, configure with --enable-linker-build-id. + + -- Matthias Klose Tue, 14 Jul 2009 16:40:21 -0400 + +gcc-4.3 (4.3.3-13) unstable; urgency=low + + * Update to SVN 20090625 from the gcc-4_3-branch. + - Fixes PR middle-end/38751, PR c/32041, PR tree-optimization/36891, + PR objc/28050 (LP: #362217), PR C++/36607, PR target/35318, + PR target/39240, PR target/39013, PR c/39855, PR libgcj/38396. + * Enable SSP on arm and armel. LP: #375189. + + -- Matthias Klose Thu, 25 Jun 2009 23:51:25 +0200 + +gcc-4.3 (4.3.3-12ubuntu3) karmic; urgency=low + + * Update to SVN 20090710 from the gcc-4_3-branch. + - Fixes PR middle-end/40328, PR tree-optimization/40669, + PR middle-end/40585, PR tree-optimization/40542, + PR tree-optimization/40579, PR tree-optimization/40550, PR fortran/40638. + * ARM: don't synthesize thumb-2 ldrd/strd with two 32-bit instructions. + LP: #347864. + + -- Matthias Klose Fri, 10 Jul 2009 08:18:06 +0200 + +gcc-4.3 (4.3.3-12ubuntu2) karmic; urgency=low + + * Update to SVN 20090625 from the gcc-4_3-branch. + - Fixes PR middle-end/38751, PR c/32041, PR tree-optimization/36891, + PR objc/28050 (LP: #362217), PR C++/36607, PR target/35318, + PR target/39240, PR target/39013, PR c/39855, PR libgcj/38396. + * Enable SSP on arm and armel. LP: #375189. + + -- Matthias Klose Thu, 25 Jun 2009 15:51:07 +0200 + +gcc-4.3 (4.3.3-12ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Sat, 20 Jun 2009 19:53:02 +0200 + +gcc-4.3 (4.3.3-12) unstable; urgency=low + + * Update to SVN 20090618 from the gcc-4_3-branch. + - Fixes PR target/40470, PR debug/40061, PR tree-optimization/39455, + PR tree-optimization/40087, PR middle-end/40404, PR middle-end/40389, + PR middle-end/40460. + - Fix build failures on alpha, mips and mipsel (PR debug/40061). + * Reference lib32 directories instead of /emul/ia32-linux. + + -- Matthias Klose Fri, 19 Jun 2009 01:08:03 +0200 + +gcc-4.3 (4.3.3-11ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Fri, 12 Jun 2009 16:39:52 -0400 + +gcc-4.3 (4.3.3-11) unstable; urgency=low + + * Update to SVN 20090612 from the gcc-4_3-branch. + - Fixes PR bootstrap/40061, PR target/37179, PR middle-end/40147, + PR target/39501, PR target/40153, PR debug/40109, PR target/39942, + PR rtl-optimization/40105, PR tree-optimization/32044, PR target/38222, + PR c++/39371, PR c++/40373. + + -- Matthias Klose Fri, 12 Jun 2009 19:59:19 +0200 + +gcc-4.3 (4.3.3-10) unstable; urgency=medium + + * Fix build failure on alpha/mips/mipsel introduced with last update + from SVN (proposed patch for PR bootstrap/40061). + * Update to SVN 20090511 from the gcc-4_3-branch (PR fortran/39879). + * Don't build the stage1 compiler with -O. + + -- Matthias Klose Mon, 11 May 2009 23:58:25 +0200 + +gcc-4.3 (4.3.3-9) unstable; urgency=low + + [Samuel Thibault] + * Fix gcj build on hurd-i386. Closes: #524671. + + [Arthur Loiret] + * Update to SVN 20090509 from the gcc-4_3-branch. + - Fix PR fortran/39791 PR target/39496 PR c++/38228 PR c++/39639, + PR bootstrap/39739, PR testsuite/39769, PR middle-end/40057, + PR middle-end/39986, PR tree-optimization/40062. + * Add missing dir separator to multiarch path. Adresses: #527537. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20090427. + * Configure the spu cross compiler without --enable-multiarch. + + [Matthias Klose] + * libgcj-doc: Fix documentation title. + * gappletviewer: Include missing binary. + * Remove the gcc-4.3-base.postinst. Closes: #524708. + * Remove conflicts for *-spu packages. + * Don't build anymore packages built from the gcc-4.4 source. + * Don't include debug symbols for libstdc++.so.6, if the library is + built by a newer GCC version. + * Add libgcc, libobjc, libstdc++ symbols files for armel. + + -- Matthias Klose Sun, 10 May 2009 14:36:54 +0200 + +gcc-4.3 (4.3.3-8ubuntu2) karmic; urgency=low + + * Fix build failures on armel and powerpc. + + -- Matthias Klose Tue, 28 Apr 2009 17:21:33 +0200 + +gcc-4.3 (4.3.3-8ubuntu1) karmic; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + [Samuel Thibault] + * Fix gcj build on hurd-i386. Closes: #524671. + + [Arthur Loiret] + * Update to SVN 20090426 from the gcc-4_3-branch. + - Fix PR fortran/39791 PR target/39496 PR c++/38228 PR c++/39639, + PR bootstrap/39739. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20090427. + * Always set $(distribution) to "Debian" on mips/mipsel, workarounds FTBFS + on those archs due to a kernel bug triggered by lsb_release call. + Closes: #524416. + * Configure the spu cross compiler without --enable-multiarch. + + [Matthias Klose] + * libgcj-doc: Fix documentation title. + * gappletviewer: Include missing binary. + * Remove the gcc-4.3-base.postinst. Closes: #524708. + * Remove conflicts for *-spu packages. + * Don't build anymore packages built from the gcc-4.4 source. + * Don't include debug symbols for libstdc++.so.6, if the library is + built by a newer GCC version. + + -- Matthias Klose Sun, 26 Apr 2009 20:17:31 +0200 + +gcc-4.3 (4.3.3-8) unstable; urgency=low + + [Arthur Loiret] + * Update to SVN 20090415 from the gcc-4_3-branch. + - Fix PR target/39634, PR c++/28301, PR c++/39637, PR c++/35146, + PR c++/39480. + - Fix PR target/39740. Closes: #523040, #523655. + * Fix PR middle-end/38360, adapted from the trunk. Closes: #491115. + * Regenerate gcc/configure in the multiarch patch. Closes: #523869. + + [Matthias Klose] + * On arm and armel, install the arm_neon.h header. LP: #360819. + * When hardening options are turned on by default, patch the testsuite + to handle the hardening defaults (Kees Cook). + + -- Matthias Klose Wed, 15 Apr 2009 13:22:41 +0200 + +gcc-4.3 (4.3.3-7) unstable; urgency=low + + * Update to SVN 20090406 from the gcc-4_3-branch. + - Fix PR rtl-optimization/39588, PR objc/27377, PR c++/38030, + PR c++/38850, PR c++/39070, PR fortran/39519. + + -- Matthias Klose Mon, 06 Apr 2009 13:22:15 +0200 + +gcc-4.3 (4.3.3-6) experimental; urgency=low + + [Matthias Klose] + * Update to SVN 20090329 from the gcc-4_3-branch. + - Fix PR fortran/39295, PR fortran/39292, PR c++/9634, PR c++/29469, + PR c++/29607, PR target/39327, PR c++/39425, PR target/39482, + PR target/39477 (doc). + - Remove libjava-xulrunner-1.9, integrated upstream. + * Fix PR target/39431, taken from the trunk. + * Fix build failure building the ppc spu cross compiler. + * Fix PR target/39175, taken from the trunk. LP: #342335. Closes: #518462. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20090314. + * Add support to build vfp optimized runtime libraries on armel. + * gcc-4.3-spu: Depend on newlib-spu. + * Fix sections of -dbg and java packages. + * gcc-default-ssp.dpatch: Set the default as well, when calling the + preprocessor. LP: #346126. + * Remove more autoconf2.59 stuff, let gcc-4.3-source depend on autoconf2.59. + * Explicitely use autom4te2.59 from the autoconf2.59 package. + + [Arthur Loiret] + * Run the 64-bit tests with -mabi=64 instead of -m64 on mips/mipsel to + hopefully fix the massive failure. + * Use the autoconf2.59 package. + + -- Matthias Klose Mon, 30 Mar 2009 19:07:02 +0200 + +gcc-4.3 (4.3.3-5ubuntu4) jaunty; urgency=low + + * Rebuild to fix dependencies on shared libs on lpia. LP: #343724. + * Update to SVN 20090316 from the gcc-4_3-branch. + - Fix PR fortran/39295, PR fortran/39292, PR c++/9634, PR c++/29469, + PR c++/29607, PR target/39327. + - Remove libjava-xulrunner-1.9, integrated upstream. + * Fix PR target/39175, taken from the trunk. LP: #342335. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20090314. + + -- Matthias Klose Mon, 16 Mar 2009 20:12:34 +0100 + +gcc-4.3 (4.3.3-5ubuntu3) jaunty; urgency=low + + * Fix PR target/39431 (ICE building OpenJDK zero on x86), taken from + the trunk. + * Fix build failure building the ppc spu cross compiler. + + -- Matthias Klose Fri, 13 Mar 2009 09:47:24 +0100 + +gcc-4.3 (4.3.3-5ubuntu2) jaunty; urgency=low + + * Update to SVN 20090308 from the gcc-4_3-branch. + - Fix PR fortran/39295, PR fortran/39292, PR c++/9634, PR c++/29469, + PR c++/29607. + + -- Matthias Klose Sun, 08 Mar 2009 09:29:13 +0100 + +gcc-4.3 (4.3.3-5ubuntu1) jaunty; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + - On armel, configure using --with-arch=armv5t --with-tune=cortex-a8. + + -- Matthias Klose Sun, 01 Mar 2009 17:06:09 +0100 + +gcc-4.3 (4.3.3-5) unstable; urgency=low + + Merge from gnat-4.3 (4.3.3-1): + + [Petr Salinger] + * debian/patches/ada-libgnatprj.dpatch: enable support for GNU/kFreeBSD. + Fixes: #512277. + + [Ludovic Brenta] + * debian/patches/ada-acats.dpatch: attempt to fix ACATS tests (not entirely + successful yet). + * New upstream version. Fixes: #514565. + + [Matthias Klose] + * Update to SVN 20090301 from the gcc-4_3-branch. + - Fix PR c/35446, PR c++/38950, PR fortran/38852, PR fortran/39006, + PR c++/39225 (closes: #516727), PR c++/38950, PR target/38056, + PR target/39228, PR middle-end/36578, PR inline-asm/39058, + PR middle-end/37861. + * Don't provide the 4.3.2 symlink in gcc_lib_dir anymore. + * Require binutils-2.19.1. + + -- Matthias Klose Sun, 01 Mar 2009 14:18:09 +0100 + +gcc-4.3 (4.3.3-4) unstable; urgency=low + + * Fix Fix PR gcov-profile/38292 (wrong profile information), taken + from the trunk. + * Update to SVN 20090215 from the gcc-4_3-branch. + Fix PR c/35435, PR tree-optimization/39100, PR rtl-optimization/39076, + PR c/35433, PR tree-optimization/39041, PR target/38988, + PR middle-end/38969, PR c++/36897, PR c++/39054, PR c/39035, PR c/35434, + PR c/36432, PR target/38991, PR c/39084, PR target/39118. + * Reapply the fix for PR middle-end/38615. + * Include autoconf-2.59 sources into the source package, and install as + part of the gcc-4.3-source package. + * Explicitely use autoconf-1.9. + * Disable building the gcjwebplugin. + * Don't configure with --enable-cld on amd64 and i386. + + -- Matthias Klose Sun, 15 Feb 2009 23:40:09 +0100 + +gcc-4.3 (4.3.3-3ubuntu5) jaunty; urgency=low + + * Include autoconf-2.59 sources into the source package, and install as + part of the gcc-4.3-source package. + + -- Matthias Klose Thu, 12 Feb 2009 11:38:29 +0100 + +gcc-4.3 (4.3.3-3ubuntu4) jaunty; urgency=low + + * Fix PR target/39118 (wrong code on x86_64 with -O2 -fomit-frame-pointer). + * Require binutils-2.19.1. + + -- Matthias Klose Wed, 11 Feb 2009 23:34:36 +0100 + +gcc-4.3 (4.3.3-3ubuntu3) jaunty; urgency=low + + * Fix build failure on armel (removing armel specific patch applied + upstream). + + -- Matthias Klose Tue, 10 Feb 2009 11:48:08 +0100 + +gcc-4.3 (4.3.3-3ubuntu2) jaunty; urgency=low + + * Fix Fix PR gcov-profile/38292 (wrong profile information), taken + from the trunk. + * Update to SVN 20090206 from the gcc-4_3-branch. + Fix PR c/35435, PR tree-optimization/39100, PR rtl-optimization/39076, + PR c/35433, PR tree-optimization/39041, PR target/38988, + PR middle-end/38969, PR c++/36897, PR c++/39054. + * Reapply the fix for PR middle-end/38615. + + -- Matthias Klose Fri, 06 Feb 2009 10:28:19 +0100 + +gcc-4.3 (4.3.3-3ubuntu1) jaunty; urgency=low + + * Merge with Debian (4.3.3-2); remaining changes: + - Built from upstream tarball, regenerate the control file. + - On armel, configure using --with-arch=armv5t --with-tune=cortex-a8. + + -- Matthias Klose Thu, 29 Jan 2009 08:25:14 +0100 + +gcc-4.3 (4.3.3-3) unstable; urgency=medium + + * Revert fix for PR middle-end/38615. Closes: #513420. + + -- Matthias Klose Thu, 29 Jan 2009 07:05:15 +0100 + +gcc-4.3 (4.3.3-2ubuntu1) jaunty; urgency=low + + * Merge with Debian (4.3.3-2); remaining changes: + - Built from upstream tarball, regenerate the control file. + - On armel, configure using --with-arch=armv5t --with-tune=cortex-a8. + + -- Matthias Klose Wed, 28 Jan 2009 00:00:04 +0100 + +gcc-4.3 (4.3.3-2) unstable; urgency=low + + * Update to SVN 20090127 from the gcc-4_3-branch. + - Fix PR tree-optimization/38359. Closes: #492505. + - Fix PR tree-optimization/38932 (ice-on-valid-code), PR target/38931 + (ice-on-valid-code), PR rtl-optimization/38879 (wrong-code), + PR c++/23287 (rejects-valid), PR fortran/38907 (ice-on-valid-code), + PR fortran/38859 (wrong-code), PR fortran/38657 (rejects-valid), + PR fortran/38672 (ice-on-valid-code). + * Fix PR middle-end/38969, taken from the trunk. Closes: #513007. + + -- Matthias Klose Tue, 27 Jan 2009 23:42:45 +0100 + +gcc-4.3 (4.3.3-1ubuntu1) jaunty; urgency=low + + * Merge with Debian (4.3.3-1); remaining changes: + - Built from upstream tarball, regenerate the control file. + * On armel, configure using --with-arch=armv5t --with-tune=cortex-a8. + + -- Matthias Klose Sun, 25 Jan 2009 09:18:33 +0100 + +gcc-4.3 (4.3.3-1) unstable; urgency=low + + * GCC-4.3.3 release (no changes compared to the 4.3.2-4 upload). + * Fix PR middle-end/38615 (wrong code, taken from the trunk). + + -- Matthias Klose Sat, 24 Jan 2009 14:43:09 +0100 + +gcc-4.3 (4.3.2-2ubuntu14) jaunty; urgency=low + + * Update to SVN 20090119 from the gcc-4_3-branch. + - Fix PR tree-optimization/36765. + * Remove patch for PR 34571, applied upstream. + * Apply proposed patch for PR middle-end/38902. LP: #316019. + + -- Matthias Klose Tue, 20 Jan 2009 00:06:35 +0100 + +gcc-4.3 (4.3.2-2ubuntu12) jaunty; urgency=low + + * Update to SVN 20090117 from the gcc-4_3-branch (4.3.3 release candidate). + - Fix PR target/34571, PR debug/7055, PR tree-optimization/37194, + PR tree-optimization/38529, PR fortran/38763, PR fortran/38765, + PR fortran/38669, PR fortran/38487, PR fortran/35681, PR fortran/38657, + PR c++/36019, PR c++/31488, PR c++/37646, PR c++/36334, PR c++/38357, + PR c++/31260, PR c++/38877, PR libstdc++/36801, PR libgcj/38396. + - debian/patches/libgcj-bc.dpatch: Remove, applied upstream. + * Update backport for PR28322 (Gunther Nikl). + + -- Matthias Klose Sun, 18 Jan 2009 11:17:42 +0100 + +gcc-4.3 (4.3.2-2ubuntu11) jaunty; urgency=low + + * Fix PR middle-end/38616 (wrong code with -fstack-protector). LP: #316019. + * Update to SVN 20090111 from the gcc-4_3-branch. + - Fix PR target/34571, PR debug/7055, PR tree-optimization/37194, + PR tree-optimization/38529, PR fortran/38763, PR fortran/38765. + + -- Matthias Klose Mon, 12 Jan 2009 00:25:32 +0100 + +gcc-4.3 (4.3.2-2ubuntu10) jaunty; urgency=low + + * Merge with Debian (4.3.2-2); remaining changes: + - Built from upstream tarball, regenerate the control file. + * Update to SVN 20090110 from the gcc-4_3-branch. + + -- Matthias Klose Sat, 10 Jan 2009 19:16:51 +0100 + +gcc-4.3 (4.3.2-2ubuntu9) jaunty; urgency=low + + * Really fix build failure on powerpc building the spu cross compiler. + * Update to SVN 20081217 from the gcc-4_3-branch. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081217. + + -- Matthias Klose Thu, 18 Dec 2008 01:13:45 +0100 + +gcc-4.3 (4.3.2-2ubuntu8) jaunty; urgency=low + + * Fix build failure on powerpc building the spu cross compiler. + + -- Matthias Klose Thu, 11 Dec 2008 19:33:18 +0100 + +gcc-4.3 (4.3.2-2ubuntu7) jaunty; urgency=low + + * Update to SVN 20081210 from the gcc-4_3-branch. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081202. + * debian/patches/libobjc-armel.dpatch: Don't define EH_USES. Fixes + gcj-4.3 build failure. + * Apply the Atomic builtins patch for PARISC. + + -- Matthias Klose Wed, 10 Dec 2008 21:37:58 +0100 + +gcc-4.3 (4.3.2-2ubuntu6) jaunty; urgency=low + + * Update to SVN 20081130 from the gcc-4_3-branch. + - Fix PR target/38287 (sparc, wrong code). Closes: #506713. + + -- Matthias Klose Mon, 01 Dec 2008 01:34:18 +0100 + +gcc-4.3 (4.3.2-2ubuntu5) jaunty; urgency=low + + * Update to SVN 20081129 from the gcc-4_3-branch. + - Fix PR fortran/37836, PR fortran/38171, PR fortran/35681, + PR fortran/37792, PR fortran/37926, PR fortran/38033, PR fortran/36526. + * Atomic builtins using kernel helpers for PARISC and ARM Linux/EABI, taken + from the trunk. + + -- Matthias Klose Sat, 29 Nov 2008 14:00:16 +0100 + +gcc-4.3 (4.3.2-2ubuntu4) jaunty; urgency=low + + * Fix build failure on powerpc in the spu build. + + -- Matthias Klose Sun, 23 Nov 2008 10:25:27 +0100 + +gcc-4.3 (4.3.2-2ubuntu3) jaunty; urgency=low + + * Update to SVN 20081122 from the gcc-4_3-branch. + - Fix PR target/37640, PR tree-optimization/37868, PR bootstrap/33100, + PR other/38214, PR c++/37142, PR c++/35405, PR c++/37563, PR c++/38030, + PR c++/37932, PR c++/38007. + + -- Matthias Klose Sat, 22 Nov 2008 15:46:30 +0100 + +gcc-4.3 (4.3.2-2ubuntu2) jaunty; urgency=low + + * Update to SVN 20081115 from the gcc-4_3-branch. + - Fix PR bootstrap/33304, PR middle-end/37807, PR middle-end/37809, + PR rtl-optimization/37489, PR target/35574, PR c/37924, + PR tree-optimization/37879, PR middle-end/37858, PR middle-end/37870, + PR target/38016, PR target/37939, PR rtl-optimization/37769, + PR target/37909, PR fortran/37597, PR fortran/35820, PR fortran/37445, + PR fortran/PR35769, PR fortran/37903, PR fortran/37749. + + -- Matthias Klose Wed, 12 Nov 2008 08:51:33 +0100 + +gcc-4.3 (4.3.2-2ubuntu1) jaunty; urgency=low + + * Update to SVN 20081030 from the gcc-4_3-branch. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081023. + * Apply proposed patch for PR tree-optimization/37868 (wrong code). + + -- Matthias Klose Thu, 30 Oct 2008 15:47:47 +0100 + +gcc-4.3 (4.3.2-1ubuntu10) intrepid; urgency=low + + * Update to SVN 20081009 from the gcc-4_3-branch. + - Fix PR c/35437 (ice-on-invalid). LP: #251744. + - Fix PR middle-end/37731 (wrong-code). + - Fix PR target/37603 (target, hppa). + + -- Matthias Klose Thu, 09 Oct 2008 12:47:18 +0200 + +gcc-4.3 (4.3.2-1ubuntu9) intrepid; urgency=low + + * Update to SVN 20081003 from the gcc-4_3-branch. + - PR tree-opt/35737, PR c++/37555, PR middle-end/36575, PR fortran/37580, + PR fortran/37504, PR c/37645, PR fortran/37626. + * Compare test results with the previous (installed) build. + * Don't apply arm-unbreak-eabi-armv4t.dpatch. + + -- Matthias Klose Sat, 04 Oct 2008 11:34:45 +0200 + +gcc-4.3 (4.3.2-1ubuntu8) intrepid; urgency=low + + * Update to SVN 20080925 from the gcc-4_3-branch. + - PR tree-optimization/37539, PR middle-end/37236, + PR tree-optimization/36343, PR rtl-optimization/37544, + PR target/35620, PR target/35713, PR c/35712, PR target/37466, + PR fortran/35945, PR fortran/36700, PR fortran/37583, PR fortran/37274, + PR fortran/36374, PR fortran/36374, PR fortran/36454, PR fortran/35770. + * debian/patches/pr36343.dpatch: Remove, applied upstream. + * Include the complete test summaries in the g++-4.3 package. + + -- Matthias Klose Thu, 25 Sep 2008 07:30:26 +0200 + +gcc-4.3 (4.3.2-1ubuntu7) intrepid; urgency=low + + * Update to SVN 20080912 from the gcc-4_3-branch. + - PR rtl-optimization/37408 (wrong code), PR tree-optimization/36630, + PR c++/37389 (LP: #252301), PR fortran/37199. + * Remove obsolete patches: ada-driver.dpatch, pr33148.dpatch. + * Include the complete test summaries in a binary package, to allow + regression checking from the previous build. + * Tighten inter-package dependencies to (>= 4.3.2-1). + * Drop the 4.3.1 symlink in gcc_lib_dir, add a 4.3.3 symlink to 4.3. + + -- Matthias Klose Fri, 12 Sep 2008 12:27:57 +0200 + +gcc-4.3 (4.3.2-1ubuntu6) intrepid; urgency=low + + * Update to SVN 20080909 from the gcc-4_3-branch. + * Use the default gcc as bootstrap compiler. + * Reenable running the testsuite. + + -- Matthias Klose Tue, 09 Sep 2008 05:29:28 +0200 + +gcc-4.3 (4.3.2-1ubuntu4) intrepid; urgency=high + + * Use gcc-4.2 as bootstrap compiler. + + -- Matthias Klose Sat, 06 Sep 2008 17:26:06 +0000 + +gcc-4.3 (4.3.2-1ubuntu3) intrepid; urgency=high + + * Fix gcc-4.1-multilib build dependency. + + -- Matthias Klose Sat, 06 Sep 2008 17:09:14 +0000 + +gcc-4.3 (4.3.2-1ubuntu2) intrepid; urgency=high + + * gcc-4.3-base: Tighten the 'replaces' to 4.3.2-1. + * Temporary changes: + - Use gcc-4.1 as bootstrap compiler. + - Disable the testsuite. + + -- Matthias Klose Sat, 06 Sep 2008 16:55:33 +0000 + +gcc-4.3 (4.3.2-1ubuntu1) intrepid; urgency=medium + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Sat, 06 Sep 2008 12:25:41 +0200 + +gcc-4.3 (4.3.2-1) unstable; urgency=medium + + [Matthias Klose] + * Final gcc-4.3.2 release (regression fixes). + - Remove the generated install docs from the tarball (GFDL licensed). + - C++ regression fixes: PR debug/37156. + - general regression fixes: PR debug/37156, PR target/37101. + - Java regression fixes: PR libgcj/8995. + * Update to SVN 20080905 from the gcc-4_3-branch. + - C++ regression fixes: PR c++/36741 (wrong diagnostic), + - general regression fixes: PR target/37184 (ice on valid code), + PR target/37191 (ice on valid code), PR target/37197 (ice on valid code), + PR middle-end/36817 (ice on valid code), PR middle-end/36548 (wrong code), + PR middle-end/37125 (wrong code), PR c/37261 (wrong diagnostic), + PR target/37168 (ice on valid code), PR middle-end/36449 (wrong code), + PR middle-end/37248 (missed optimization), PR target/36332 (wrong code). + - Fortran regression fixes: PR fortran/37193 (rejects valid code). + * Move symlinks in gcc_lib_dir from cpp-4.3 to gcc-4.3-base. Closes: #497369. + * Don't build-depend on autogen on architectures where it is not installable + (needed for the fixincludes testsuite only); don't build-depend on it for + source packages not running the fixincludes testsuite. + + [Ludovic Brenta] + * Add sdefault.ads to libgnatprj4.3-dev. Fixes: #492866. + * turn gnatvsn.gpr and gnatprj.gpr into proper library project files. + * Unconditionally build-depend on gnat when building gnat-4.3. + Fixes: #487564. + * (debian/rules.d/binary-ada.mk): Add a symlink libgnat.so to + /usr/lib/libgnat-4.3.so in the adalib directory. Fixes: #493814. + * (debian/patches/ada-sjlj.dpatch): remove dangling symlinks from all + adalib directories. + * debian/patches/ada-alpha.dpatch: remove, applied upstream. + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/pr16086.dpatch: new; backport from GCC 4.4. + Closes: #248172. + * debian/patches/pr35792.dpatch: new; backport from GCC 4.4. + * debian/patches/pr15808.dpatch (fixes: #246392), + debian/patches/pr30827.dpatch: new; backport from the trunk. + + -- Matthias Klose Fri, 05 Sep 2008 22:52:58 +0200 + +gcc-4.3 (4.3.2-0ubuntu3) intrepid; urgency=low + + * Re-add symlink for 4.3.1 in gcc_lib_dir. LP: #250173. + + -- Matthias Klose Sun, 31 Aug 2008 15:02:29 +0000 + +gcc-4.3 (4.3.2-0ubuntu2) intrepid; urgency=low + + * On ia64, do not build depend on autogen (guile currently isn't installable). + + -- Matthias Klose Thu, 28 Aug 2008 23:47:19 +0000 + +gcc-4.3 (4.3.2-0ubuntu1) intrepid; urgency=low + + * New upstream release. + + -- Matthias Klose Wed, 27 Aug 2008 22:54:59 +0000 + +gcc-4.3 (4.3.1-9ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Thu, 14 Aug 2008 18:18:44 +0000 + +gcc-4.3 (4.3.1-9) unstable; urgency=low + + * Update to SVN 20080814 from the gcc-4_3-branch. + - C++/libstdc++ regression fixes: PR c++/36688, PR c++/37016, PR c++/36999, + PR c++/36405, PR c++/36767, PR c++/36852. + - general regression fixes: PR target/36613, PR rtl-optimization/36998, + PR middle-end/37042, PR middle-end/35432, PR target/35659, + PR middle-end/37026, PR middle-end/36691, PR tree-optimization/36991, + PR rtl-optimization/35542, PR bootstrap/35752, PR rtl-optimization/36419, + PR debug/36278, PR preprocessor/36649, PR rtl-optimization/36929, + PR tree-optimization/36830, PR c/35746, PR middle-end/37014, + PR middle-end/37103. + - Fortran regression fixes: PR fortran/36132. + - Java regression fixes: PR libgcj/31890. + - Fixes PR middle-end/37090. Closes: #494815. + + -- Matthias Klose Thu, 14 Aug 2008 18:02:52 +0000 + +gcc-4.3 (4.3.1-8ubuntu3) intrepid; urgency=low + + * Apply fix for PR middle-end/37026, introduced with PR middle-end/36691. + + -- Matthias Klose Wed, 06 Aug 2008 00:12:12 +0200 + +gcc-4.3 (4.3.1-8ubuntu2) intrepid; urgency=low + + * Update to SVN 20080805 from the gcc-4_3-branch. + - Fix PR middle-end/36691, PR tree-optimization/36991, + PR rtl-optimization/35542, PR bootstrap/35752, PR rtl-optimization/36419, + PR debug/36278, PR preprocessor/36649, PR rtl-optimization/36929, + PR tree-optimization/36830, PR c++/36405, PR c++/36767, PR c++/36852, + PR fortran/36132, PR fortran/36852. + + -- Matthias Klose Tue, 05 Aug 2008 08:41:22 +0200 + +gcc-4.3 (4.3.1-8ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Sun, 27 Jul 2008 11:14:35 +0200 + +gcc-4.3 (4.3.1-8) unstable; urgency=low + + * Undo Revert PR tree-optimization/36262 on i386 (PR 36917 is invalid). + + -- Matthias Klose Fri, 25 Jul 2008 21:47:52 +0200 + +gcc-4.3 (4.3.1-7ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Wed, 23 Jul 2008 00:05:36 +0200 + +gcc-4.3 (4.3.1-7) unstable; urgency=low + + * Update to SVN 20080722 from the gcc-4_3-branch. + - Fix PR middle-end/36811, infinite loop building with -O3. + - C++/libstdc++ regression fixes: PR c++/36407, PR c++/34963, + PR libstdc++/36832, PR libstdc++/36552, PR libstdc++/36729. + - Fortran regression fixes: PR fortran/36366, PR fortran/36824. + - general regression fixes: PR middle-end/36877, PR target/36780, + PR target/36827, PR rtl-optimization/35281, PR rtl-optimization/36753, + PR target/36827, PR target/36784, PR target/36782, PR middle-end/36369, + PR target/36780, PR target/35492, PR middle-end/36811, + PR rtl-optimization/36419, PR target/35802, PR target/36736, + PR target/34780. + * Revert PR tree-optimization/36262 on i386, causing miscompilation of + OpenJDK hotspot. + * gij/gcj: Don't remove alternatives on upgrade. Addresses: #479950. + + -- Matthias Klose Tue, 22 Jul 2008 23:55:54 +0200 + +gcc-4.3 (4.3.1-6) unstable; urgency=low + + * Start the logwatch script on alpha as well to avoid timeouts in + the testsuite. + + -- Matthias Klose Mon, 07 Jul 2008 11:31:58 +0200 + +gcc-4.3 (4.3.1-5ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Mon, 07 Jul 2008 13:10:44 +0200 + +gcc-4.3 (4.3.1-5) unstable; urgency=low + + * Update to SVN 20080705 from the gcc-4_3-branch. + - Fix PR target/36634, wrong-code on powerpc with -msecure-plt. + * Fix PR target/35965, PIC + -fstack-protector on arm/armel. Closes: #469517. + * Don't run the libjava testsuite with -mabi=n32. + * Update patch for PR other/28322, that unknown -Wno-* options do not + cause errors, but warnings instead. + * On m68k, add -fgnu89-inline when in gnu99 mode (requested by Michael + Casadeval for the m68k port). Closes: #489234. + + -- Matthias Klose Sun, 06 Jul 2008 01:39:30 +0200 + +gcc-4.3 (4.3.1-4) unstable; urgency=low + + * Revert: debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch. + * Remove obsolete multiarch-lib patch. + + -- Matthias Klose Mon, 30 Jun 2008 23:05:17 +0200 + +gcc-4.3 (4.3.1-3ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Sat, 28 Jun 2008 14:50:48 +0200 + +gcc-4.3 (4.3.1-3) unstable; urgency=medium + + [Arthur Loiret] + * debian/rules2: + - configure sh4-linux with --with-multilib-list=m4,m4-nofpu + and --with-cpu=sh4. + - configure sparc-linux with --enable-targets=all on snapshot builds + (change already in 4.3.1-1). + * debian/rules.patch: Don't apply sh4-multilib.dpatch. + + [Matthias Klose] + * Update to SVN 20080628 from the gcc-4_3-branch. + - Fix PR target/36533, wrong-code with incorrectly assumed aligned_operand. + Closes: #487115. + * debian/rules.defs: Remove hurd-i386 from ssp_no_archs (Samuel Thibault). + Closes: #483613. + * Do not create a /usr/lib/gcc//4.3.0 symlink. + * debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch. + * libjava/classpath: Set and use EXTRA_CFLAGS (taken from the trunk). + + -- Matthias Klose Sat, 28 Jun 2008 13:11:20 +0200 + +gcc-4.3 (4.3.1-2) unstable; urgency=low + + * Update to SVN 20080610 from the gcc-4_3-branch. + - config.gcc: Fix quoting for in the enable_cld test. + * Use GNU locales on hurd-i386 (Samuel Thibault). Closes: #485395. + * libstdc++-doc: Fix URL's for locally installed docs. Closes: #485133. + * libjava: On armel apply kludge to fix unwinder infinitely looping 'til + it runs out of memory. + * Adjust dependencies to require GCC 4.3.1. + + -- Matthias Klose Wed, 11 Jun 2008 00:35:38 +0200 + +gcc-4.3 (4.3.1-1ubuntu2) intrepid; urgency=low + + * Update to SVN 20080610 from the gcc-4_3-branch. + - config.gcc: Fix quoting for in the enable_cld test. + * libstdc++-doc: Fix URL's for locally installed docs. Closes: #485133. + + -- Matthias Klose Tue, 10 Jun 2008 13:09:41 +0200 + +gcc-4.3 (4.3.1-1ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + * Reenable all hardening patches, apply the fortify source + changes to the C* languages only. + + -- Matthias Klose Sun, 08 Jun 2008 08:46:56 +0200 + +gcc-4.3 (4.3.1-1) unstable; urgency=high + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/pr16087.dpatch: new. Fixes: #248173. + * Correct the patches from the previous upload. + + [Ludovic Brenta] + * debian/patches/ada-acats.dpatch: really run the just-built gnat, not the + bootstrap gnat. + * debian/rules2: when running the Ada test suite, do not run the multilib + tests as gnat does not support multilib yet. + * Run the ACATS testsuite again (patch it so it correctly finds gnatmake). + + [Thiemo Seufer] + * debian/patches/ada-libgnatprj.dpatch, + debian/patches/ada-mips{,el}.dpatch: complete support for mips and mipsel. + Fixes: #482433. + + [Matthias Klose] + * GCC-4.3.1 release. + * Do not include standard system paths in libgcj pkgconfig file. + * Suggest the correct libmudflap0-dbg package. + * Fix PR libjava/35020, taken from the trunk. + * Apply proposed patch for PR tree-optimization/36343. + * On hurd-i386 with -fstack-protector do not link with libssp_nonshared + (Samuel Thibault). Closes: #483613. + * Apply proposed patch for PR tree-optimization/34244. + * Remove debian-revision in symbols files. + * Fix installation of all biarch -multilib packages which are not triarch. + * Fix some lintian warnings. + * Include library symlinks in gobjc and gfortran multilib packages, when + not building the library packages. + * Fix sections in doc-base files. + * Don't apply the sparc-biarch patch when building the gcc-snapshot package. + * libjava: Add @file support for gjavah & gjar. + * Apply patch for PR rtl-optimization/36111, taken from the trunk. + + * Closing reports reported against gcc-4.0 and fixed in gcc-4.3: + - General + + Fix PR optimization/3511, inlined strlen() could be smarter. + Close: #86251. + - C + + Fix PR c/9072, Split of -Wconversion in two different flags. + Closes: #128950, #226952. + - C++/libstdc++ + + PR libstdc++/24660, implement versioning weak symbols in libstdc++. + Closes: #328421. + - Architecture specific: + - mips + + PR target/26560, unable to find a register to spill in class + 'FP_REGS'. Closes: #354439. + - sparc + + Fix PR rtl-optimization/23454, ICE in invert_exp_1. Closes: #340951. + * Closing reports reported against gcc-4.1 and fixed in gcc-4.2: + - General + + PR tree-optimization/30132, ICE in find_lattice_value. Closes: #400484. + + PR other/29534, ICE in "gcc -O -ftrapv" with decreasing array index. + Closes: #405065. + + Incorrect SSE2 code generation for vector initialization. + Closes: #406442. + + Fix segfault in cc1 due to infinite loop in error() when using -ftrapv. + Closes: #458072. + + Fix regression in code size with -Os compared to GCC-3.3. + Closes: #348298. + - C++ + + Fix initialization of global variables with non-constant initializer. + Closes: #446067. + + Fix ICE building muse. Closes: #429385. + * Closing reports reported against gcc-4.1 and fixed in gcc-4.3: + - C++ + + PR c++/28705, ICE: in type_dependent_expression_p. Closes: #406324. + + PR c++/7302, -Wnon-virtual-dtor should't complain of protected dtor. + Closes: #356316. + + PR c++/28316, PR c++/24791, PR c++/20133, ICE in instantiate_decl. + Closes: #327346, #355909. + - Fortran + + PR fortran/31639, ICE in gfc_conv_constant. Closes: #401496. + - Java + + Fix ICE using gcj with --coverage. Closes: #416326. + + PR libgcj/29869, LogManager class loading failure. Closes: #399251 + + PR swing/29547 setText (String) of JButton does not work + with HTML code. Closes: #392791. + + PR libgcj/29178, CharsetEncoder.canEncode() gives different results + than Sun version. Closes: #388596. + + PR java/8923, ICE when modifying a variable decleared "final static". + Closes: #351512. + + PR java/22507, segfault building Apache Cocoon. Closes: #318534. + + PR java/2499, class members should be inherited from implemented + interfaces. Closes: #225434. + + PR java/10581, ICE compiling freenet. Closes: #186922. + + PR libgcj/28340, gij ignores -Djava.security.manager. Closes: #421098. + + PR java/32846, build failure on GNU/Hurd. Closes: #408888. + + PR java/29194, fails to import package from project. Closes: #369873. + + PR libgcj/31700, -X options not recognised by JNI_CreateJavaVM. + Closes: #426742. + + java.util.Calendar.setTimeZone fails to set ZONE_OFFSET. + Closes: #433636. + - Architecture specific: + - alpha + + C++, fix segfault in constructor with -Os. Closes: #438436. + - hppa + + PR target/30131, ICE in propagate_one_insn. Closes: #397341. + - m32r + + PR target/28508, assembler error (operand out of range). + Closes: #417542. + - m68k + + PR target/34688, ICE in output_operand. Closes: #459429. + * Closing reports reported against gcc-4.2 and fixed in gcc-4.3: + - General + + PR tree-optimization/33826, wrong code generation for infinitely + recursive functions. Closes: #445536. + - C++ + + PR c++/24791, ICE on invalid instantiation of template's static member. + Closes: #446698. + + [Aurelien Jarno] + * Really apply arm-funroll-loops.dpatch on arm and armel. Closes: #476460. + + -- Matthias Klose Sat, 07 Jun 2008 23:16:21 +0200 + +gcc-4.3 (4.3.0-5ubuntu1) intrepid; urgency=low + + * Update to SVN 20080525 from the gcc-4_3-branch, corresponding to the + GCC-4.3.1 release candidate 1. + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + * Reenable running the testsuite on the buildds. + * Temporarily disable the gcc-default-fortify-source patch, breaks + all testcases for gfortran. + + -- Matthias Klose Mon, 26 May 2008 10:29:56 +0200 + +gcc-4.3 (4.3.0-5) unstable; urgency=medium + + * Update to SVN 20080523 from the gcc-4_3-branch. + - Remove gcc-i386-emit-cld patch. + - On Debian amd64 and i386 configure with --enable-cld. + * Fix PR tree-optimization/36129, ICE with -fprofile-use. + * Add spu build dependencies independent of the architecture. + * Move arm -funroll-loops fix to arm-funroll-loops from + gfortran-armel-updates. Apply it on both arm and armel. + Closes: #476460. + * Use iceape-dev as a build dependency for Java enabled builds. + * Build the sru cross compiler from a separate source dir without applying + the hardening patches. + + -- Matthias Klose Fri, 23 May 2008 10:12:02 +0200 + +gcc-4.3 (4.3.0-4ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - Built from upstream tarball, regenerate the control file. + * Update to SVN 20080509 from the gcc-4_3-branch. + * Add spu build dependencies independent of the architecture. + + -- Matthias Klose Fri, 09 May 2008 23:00:04 +0200 + +gcc-4.3 (4.3.0-4) unstable; urgency=low + + [ Aurelien Jarno ] + * Fix gnat-4.3 build on mips/mipsel. + * Update libgcc1 symbols for hurd-i386. + + [ Arthur Loiret ] + * Make gcc-4.3-spu Recommends newlib-spu. Closes: #476088 + * Build depend on spu build dependencies only when building + as gcc-4.x source package. + * Disable spu for snapshot builds. + * Support sh4 targets: + - sh4-multilib.dpatch: Add, fix multilib (m4/m4-nofpu) for sh4-linux + - multiarch-include.dpatch: Don't apply on sh4. + + [ Matthias Klose ] + * Stop building libffi packages. + * Update to SVN 20080501 from the gcc-4_3-branch. + - Fix PR target/35662, wrong gfortran code on mips/mipsel. Closes: #476427. + - Fixes mplayer build on powerpc. Closes: #475153. + * Stop building gij/gcj on alpha, arm and hppa. Closes: #459560. + * libstdc++6-4.3-doc: Fix file location in doc-base file. Closes: #476253. + * debian/patches/template.dpatch: Remove the `exit 0' line. + * Fix alternative names for amd64 cross builds. Addresses: #466422. + * debian/copyright: Update to GPLv3, remove the text of the GFDL + and reference the copy in common-licenses. + * Generate the locale data for the testsuite, if the locales package + is installed (not a dependency on all archs). + * Update libgcc2 symbols for m68k, libstdc++6 symbols for arm, m68k, mips + and mipsel. + * Do not include a symbols file for libobjc_gc.so. + * Add four more symbols to libgcj_bc, patch taken from the trunk. + * Adjust names of manual pages in the spu build on powerpc. + * ARM EABI (armel) updates (Andrew Jenner, Julian Brown): + - Add Objective-C support. + - Fortran support patches. + - Fix ICE in gfortran.dg/vector_subscript_1.f90 for -Os -mthumb reload. + * Build ObjC and Obj-C++ packages on armel. + * Reenable running the testsuite on m68k. + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/gnalasup_to_lapack.dpatch: new. + * debian/patches/pr34466.dpatch, + debian/patches/pr22255.dpatch, + debian/patches/pr33688.dpatch, + debian/patches/pr10768.dpatch, + debian/patches/pr28305.dpatch, + debian/patches/pr17985.dpatch (#278685) + debian/patches/pr15915.dpatch, + debian/patches/pr16098.dpatch, + debian/patches/pr18680.dpatch, + debian/patches/pr28733.dpatch, + debian/patches/pr22387.dpatch, + debian/patches/pr29015.dpatch: new; backport Ada bug fixes from GCC 4.4. + * debian/patches/rules.patch: apply them. + * debian/patches/pr35050.dpatch: update. + + [Andreas Jochens] + * debian/patches/ppc64-ada.dpatch: update, adding support for ppc64. + (#476868). + + [Ludovic Brenta] + * Apply ppc64-ada.dpatch whenever we build libgnat, not just on ppc64. + * debian/patches/pr28322.dpatch: never pass -Wno-overlength-strings to + the bootstrap compiler, as the patch breaks the detection of whether + the bootstrap compiler supports this option or not. + Fixes: #471192. Works around #471767. + * Merge Aurélien Jarno's mips patch. Fixes: #472854. + + [ Samuel Tardieu ] + * debian/patches/pr30740.dpatch: new Ada bug fix. + * debian/patches/pr35050.dpatch: new Ada bug fix. + + [ Xavier Grave ] + * debian/patches/ada-mips{,el}.dpatch: new; split mips/mipsel support + into new patches, out of ada-sjlj.dpatch. + * debian/rules.d/binary-ada.mk: fix the version number of libgnarl-4.3.a. + + [Roman Zippel] + * PR target/25343, fix gcc.dg/pch/pch for m68k. + + -- Matthias Klose Thu, 01 May 2008 21:08:09 +0200 + +gcc-4.3 (4.3.0-3ubuntu4) intrepid; urgency=low + + * Remove the documentation changes from svn-updates, applied separately in + svn-doc-updates. + + -- Matthias Klose Wed, 30 Apr 2008 08:43:20 +0200 + +gcc-4.3 (4.3.0-3ubuntu3) intrepid; urgency=low + + * Fix manual page names for the powerpc spu build. + * Fix build failure on hppa. + + -- Matthias Klose Wed, 30 Apr 2008 01:21:54 +0200 + +gcc-4.3 (4.3.0-3ubuntu2) intrepid; urgency=low + + * Remove empty po files. + + -- Matthias Klose Tue, 29 Apr 2008 04:32:49 +0000 + +gcc-4.3 (4.3.0-3ubuntu1) intrepid; urgency=low + + * Merge from Debian packaging VCS; remaining changes: + - Built from upstream tarball, regenerate the control file. + + -- Matthias Klose Mon, 28 Apr 2008 20:27:18 +0000 + +gcc-4.3 (4.3.0-3) unstable; urgency=medium + + [ Matthias Klose ] + * Update to SVN 20080401 from the gcc-4_3-branch. + - Fix PR middle-end/35705 (hppa only). + * Update libstdc++6 symbols for hurd-i386. Closes: #472334. + * Update symbol files for libgomp (ppc64). + * Only apply the gcc-i386-emit-cld patch on amd64 and i386 architectures. + * Update libstdc++ baseline symbols for hppa. + * Install powerpc specific header files new in 4.3. + * gcc-4.3-hppa64: Don't include the install tools in the package. + + [ Aurelien Jarno ] + * Fix gobjc-4.3-multilib dependencies. Closes: #473455. + * Fix gnat-4.3 build on mips/mipsel. + * patches/ada-alpha.dpatch: new patch to fix gnat-4.3 build on alpha. + Closes: #472852. + * patches/config-ml.dpatch: also check for n32 multidir. + + [ Arthur Loiret ] + * Build-Depends on binutils (>= 2.18.1~cvs20080103-2) on mips and mipsel, + required for triarch. + * libstdc++-pic.dpatch: Update, don't fail anymore if shared lib is disabled. + + [ Andreas Jochens ] + * Fix build failures on ppc64. Closes: #472917. + - gcc-multilib64dir.dpatch: Remove "msoft-float" and "nof" from MULTILIB + variables. + - Removed ppc64-biarch.dpatch. + - Add debian/lib32gfortan3.symbols.ppc64. + + [ Arthur Loiret, Matthias Klose ] + * Build compilers for spu-elf target on powerpc and ppc64. + - Add gcc-4.3-spu, g++-4.3-spu and gfortran-4.3-spu packages. + - Partly based on the work in Ubuntu on the spu toolchain. + + -- Matthias Klose Tue, 01 Apr 2008 23:29:21 +0000 + +gcc-4.3 (4.3.0-2) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080321 from the gcc-4_3-branch. + - Remove some broken code that attempts to enforce linker + constraints. Closes: #432541. + * Temporary fix, will be removed once a fixed kernel is available + in testing: Emit cld instruction when stringops are used (i386). + Do not expose the -mcld option until added upstream. Closes: #469567. + * Update NEWS files. + * libjava: Don't leak upon failed realloc (taken from the trunk). + * debian/rules2: The build is not yet prepared to take variables from + the environment; unexport and unset those. + + [Arthur Loiret/Aurelien Jarno] + * MIPS tri-arch support: + - mips-triarch.dpatch: new patch to default to o32 and follow the + glibc convention for n32 & 64 bit names. + - Rename $(biarch) and related vars into $(biarch64). + - Fix biarchsubdir to allow triarch. + - Add biarchn32 support. + - Add mips and mipsel to biarch64 and biarchn32 archs. + - Update binary rules for biarchn32 and libn32 targets. + - Fix multilib deps for triarch. + - control.m4: Add libn32 packages. + + -- Matthias Klose Sat, 22 Mar 2008 00:06:33 +0100 + +gcc-4.3 (4.3.0-1ubuntu1) hardy; urgency=low + + * Merge with Debian; remaining changes: + - Built from the upstream tarball. + - Regenerate the control file. + + -- Matthias Klose Thu, 06 Mar 2008 14:12:44 +0100 + +gcc-4.3 (4.3.0-1) unstable; urgency=low + + [Matthias Klose] + * GCC-4.3.0, final release. + * Build from a modified tarball, without GFDL documentation with + invariant sections and cover texts. + * Fix java debuginfo breakage (proposed patch, Andrew Haley). + * debian/rules.unpack: Avoid make warnings. + * debian/rules.d/binary-cpp.mk: Add 4.3.1 symlink in gcclibdir. + + [Aurelien Jarno] + * Update libssp-gnu.dpatch and reenable it. + + -- Matthias Klose Thu, 06 Mar 2008 00:45:22 +0100 + +gcc-4.3 (4.3.0~rc2-1ubuntu1) hardy; urgency=low + + * Upload to ubuntu-toolchain PPA. + + -- Matthias Klose Sun, 02 Mar 2008 10:27:18 +0100 + +gcc-4.3 (4.3.0~rc2-1) unstable; urgency=medium + + * Update to SVN 20080301 from the gcc-4_3-branch. + * Include the biarch libobjc_gc library in the packages. + * Link libobjc_gc with libgcjgc_convenience.la. + * Add new symbols to libstdc++6 symbol files, remove the symbols for + support (reverted upstream for the 4.3 branch). + * Disable running the testsuite on m68k. + * Update PR other/28322, ignore only unknown -W* options. + + -- Matthias Klose Sat, 01 Mar 2008 15:09:16 +0100 + +gcc-4.3 (4.3-20080227-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080227 from the gcc-4_3-branch. + * Fix PR other/28322, GCC new warnings and compatibility. + Addresses: #367657. + + [Hector Oron] + * Fix cross-compile builds. Closes: #467471. + + -- Matthias Klose Thu, 28 Feb 2008 00:30:38 +0100 + +gcc-4.3 (4.3-20080219-1) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20080219 from the gcc-4_3-branch. + * Apply proposed patch for PR target/34571 (alpha). + * libgcj9-dev: Don't claim that the package contains the static + libraries. + * libjava-xulrunner1.9.dpatch: Add configure check for xulrunner-1.9. + Name the alternative xulrunner-1.9-javaplugin.so. + * libgcj-doc: Don't include the examples; these cannot be built + with the existing Makefile anyway. Addresses: #449608. + * Manpages for gc-analyze and grmic are GFDL. Don't include these when + building DFSG compliant packages. + * Fix build failure building amd64 cross-target libstdc++ packages + (Tim Bagot). Addresses: #464365. + * Fix typos in rename-info-files patch (Richard Guenther). + * Fix PR libgcj/24170. + + [Aurelien Jarno] + * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD. + + [Ludovic Brenta] + * debian/rules.defs: Temporarily disable the testsuite when building gnat. + * debian/patches/libffi-configure.dpatch: run autoconf in the top-level + directory, where we've changed configure.ac; not in src/gcc. + * debian/patches/ada-sjlj.dpatch: do not run autoconf since we don't + change configure.ac. + * debian/control.m4 (gnat-4.3-doc): conflict with gnat-4.[12]-doc. + Closes: #464801. + + -- Matthias Klose Tue, 19 Feb 2008 23:20:45 +0000 + +gcc-4.3 (4.3-20080202-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080202 from the trunk. + - Fix PR c/35017, pedwarns about valid code. Closes: #450506. + - Fix PR target/35045, wrong code generation with -O3 on i386. + Closes: #463478. + * gcj-4.3: On armel depend on g++-4.3. + * Re-enable build of libobjc_gc, using the internal version of boehm-gc. + Closes: #212248. + + [Ludovic Brenta] + * debian/patches/ada-default-project-path.dpatch, + debian/patches/ada-gcc-name.dpatch, + debian/patches/ada-symbolic-tracebacks.dpatch, + debian/patches/ada-link-lib.dpatch, + debian/patches/ada-libgnatvsn.dpatch, + debian/patches/ada-libgnatprj.dpatch, + debian/patches/ada-sjlj.dpatch: adjust to GCC 4.3. + * debian/README.gnat, debian/TODO, + debian/rules.d/binary-ada.mk: merge from gnat-4.2. + * debian/README.maintainers: add instructions for patching GCC. + * debian/patches/ada-driver.dpatch: remove, no longer used. + * debian/patches/libffi-configure.dpatch: do not patch the top-level + configure anymore; instead, rerun autoconf. This allows removing the + patch cleanly. + * debian/rules2: use gnatgcc as the bootstrap compiler, not gcc-4.2. + + -- Matthias Klose Sat, 02 Feb 2008 19:58:48 +0100 + +gcc-4.3 (4.3-20080127-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080126 from the trunk. + * Tighten build dependency on doxygen. + * Update libstdc++ patches to current svn. + * gij-4.3: Provide java*-runtime-headless instead of java*-runtime. + + [ Aurelien Jarno] + * debian/multiarch.inc: change mipsel64 into mips64el. + + -- Matthias Klose Sun, 27 Jan 2008 01:33:35 +0100 + +gcc-4.3 (4.3-20080126-1ubuntu1) hardy; urgency=low + + * Upload to ubuntu-toolchain PPA. + + -- Matthias Klose Sat, 26 Jan 2008 22:55:20 +0100 + +gcc-4.3 (4.3-20080126-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080126 from the trunk. + * Tighten build dependency on doxygen. + * Update libstdc++ patches to current svn. + * gij-4.3: Provide java*-runtime-headless instead of java*-runtime. + + [ Aurelien Jarno] + * debian/multiarch.inc: change mipsel64 into mips64el. + + -- Matthias Klose Sat, 26 Jan 2008 19:03:04 +0100 + +gcc-4.3 (4.3-20080117-0ubuntu1) hardy; urgency=low + + * Update to SVN 20080117 from the trunk. + + -- Matthias Klose Thu, 17 Jan 2008 14:48:34 +0100 + +gcc-4.3 (4.3-20080116-1) unstable; urgency=medium + + * Update to SVN 20080116 from the trunk. + * Update debian/watch. + * Build libgomp documentation without building libgomp. Addresses: #460660. + * Handle lzma compressed tarballs. + * Fix dependency generation for the gcc-snapshot package: Addresses: #454667. + * Restore lost chunk in libjava-subdir.dpatch. + + -- Matthias Klose Wed, 16 Jan 2008 20:33:50 +0100 + +gcc-4.3 (4.3-20080112-1) unstable; urgency=low + + * Update to SVN 20080112 from the trunk. + * Tighten build-dependency on dpkg-dev (closes: #458894). + * Update symbol definitions for alpha. + * Build-depend on libmpfr-dev for all source packages. + + -- Matthias Klose Sun, 13 Jan 2008 00:40:28 +0100 + +gcc-4.3 (4.3-20080104-1ubuntu2) hardy; urgency=low + + * Update symbol definitions for amd64, hppa, i386, ia64, powerpc, sparc. + + -- Matthias Klose Fri, 04 Jan 2008 22:42:29 +0100 + +gcc-4.3 (4.3-20080104-1ubuntu1) hardy; urgency=low + + * Upload to PPA. + * Reenable building the java packages from the gcc-4.3 source package. + + -- Matthias Klose Fri, 04 Jan 2008 10:12:47 +0100 + +gcc-4.3 (4.3-20080104-1) unstable; urgency=low + + * Update to SVN 20080104 from the trunk. + * Update symbol definitions for alpha, hppa, ia64, mips, mipsel, powerpc, + s390, sparc. + + -- Matthias Klose Fri, 04 Jan 2008 07:34:15 +0100 + +gcc-4.3 (4.3-20080102-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080102 from the trunk. + - Fix 64bit biarch builds (addresses: #447443). + * debian/rules.d/binary-java.mk: Reorder packaging to get shlibs + dependencies right. + * Use lib instead of lib64 as multilibdir on amd64 and ppc64. + * Build the java plugin always using libxul-dev. + * Add libgcj_bc to the libgcj9-0 shlibs file. + * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6, + lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4, + lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2, libgfortran3, + lib32gfortran3, lib64gfortran3. + Adjust build dependencies on dpkg-dev and debhelper. + * Do not build the java packages from the gcc-4.3 source package. + + [ Aurelien Jarno ] + * Disable amd64-biarch patch on kfreebsd-amd64. + + -- Matthias Klose Wed, 02 Jan 2008 23:48:14 +0100 + +gcc-4.3 (4.3-20071202-0ubuntu1) hardy; urgency=low + + * Upload to PPA. + + -- Matthias Klose Sun, 02 Dec 2007 16:34:14 +0000 + +gcc-4.3 (4.3-20071124-1) experimental; urgency=low + + [ Matthias Klose ] + * Update to SVN 20071124 from the trunk. + * Fix dependencies of lib*gcc1-dbg packages. + * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792. + * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282. + * Don't run the testsuite on hppa when expect-tcl8.3 is not available. + * Fix libgcc1-dbg doc directory symlink. Closes: #447969. + + [ Aurelien Jarno ] + * Update kbsd-gnu patch. + * Remove kbsd-gnu-ada patch (merged upstream). + + -- Matthias Klose Sat, 24 Nov 2007 13:14:29 +0100 + +gcc-4.3 (4.3-20070930-1) experimental; urgency=low + + [Matthias Klose] + * Update to SVN 20070929 from the trunk. + * Update debian patches to the current trunk. + * Regenerate the control file. + * On powerpc-linux-gnu and i486-linux-gnu cross-compile the 64bit + multilib libraries to allow a sucessful build on 32bit kernels + (our buildds). Although we won't get 64bit test results this way ... + * Remove the build dependency on expect-tcl8.3. + * Fix MULTILIB_OSDIRNAMES for cross builds targeted for amd64 and ppc64. + * When -fstack-protector is the default (Ubuntu), do not enable + -fstack-protector when -nostdlib is specified. LP: #77865. + * Always set STAGE1_CFLAGS to -g -O2, only pass other settings + when configuring when required. + * Configure --with-bugurl, adjust the bug reporting instructions. + * gcc-4.3: Install new cpuid.h header. + * Fix installation of the s390 libstdc++ biarch headers. + * Install new bmmintrin.h, mmintrin-common.h headers. + * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc, + libgfortran. + * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929. + + [Riku Voipio] + * Configure armeabi with --disable-sjlj-exceptions. + * armel testsuite takes ages, adjust build accordingly. + + -- Matthias Klose Sun, 30 Sep 2007 12:06:02 +0200 + +gcc-4.3 (4.3-20070902-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070902 from the trunk. + * Fix the build logic for the Ubuntu i386 buildd; we can't build biarch. + * Only remove libgcj9's classmap db if no other libgcj9* library is + installed. + * A lot more updates for 4.3 packaging. + + -- Matthias Klose Sat, 01 Sep 2007 21:01:43 +0200 + +gcc-4.3 (4.3-20070901-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070901 from the trunk. + * First gcc-4.3 package build. + - Update patches for the *-linux-gnu builds. + - Update build files for 4.3. + * Add proposed patch for PR middle-end/33029. + * gcj-4.3: Install gc-analyze. + + -- Matthias Klose Sat, 1 Sep 2007 20:52:16 +0200 + +gcc-4.3 (4.3-20070902-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sun, 2 Sep 2007 20:51:16 +0200 + +gcc-4.3 (4.3-20070902-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070902 from the trunk. + * Fix the build logic for the Ubuntu i386 buildd; we can't build biarch. + * Only remove libgcj9's classmap db if no other libgcj9* library is + installed. + * A lot more updates for 4.3 packaging. + + -- Matthias Klose Sat, 01 Sep 2007 21:01:43 +0200 + +gcc-4.3 (4.3-20070901-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070901 from the trunk. + * First gcc-4.3 package build. + - Update patches for the *-linux-gnu builds. + - Update build files for 4.3. + * Add proposed patch for PR middle-end/33029. + * gcj-4.3: Install gc-analyze. + + -- Matthias Klose Sat, 1 Sep 2007 20:52:16 +0200 + +gcc-4.2 (4.2.2-7) unstable; urgency=low + + * Update to SVN 20080114 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/34762. LP: #182412. + * Update debian/watch. Closes: #459259. Addresses: #459391, #459392. + * Build libgomp documentation without building libgomp. Closes: #460660. + * Restore gomp development files. Closes: #460736. + + -- Matthias Klose Mon, 14 Jan 2008 23:20:04 +0100 + +gcc-4.2 (4.2.2-6) unstable; urgency=low + + * Update to SVN 20080113 from the ubuntu/gcc-4_2-branch. + * Adjust build-dependency on debhelper, dpkg-dev. + * Fix gnat-4.2 build failure (addresses: #456867). + * Do not build packages built from the gcc-4.3 source. + + -- Matthias Klose Sun, 13 Jan 2008 13:48:49 +0100 + +gcc-4.2 (4.2.2-5) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080102 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/32889, ICE in delete_output_reload. + Closes: #444873, #445336, #451047. + - Fix PR target/34215, ICE in assign_386_stack_local. + Closes: #446714, #452451. + - Fix PR target/33848, reference to non-existent label at -O1 on + mips/mipsel. Closes: #441633. + * debian/rules.d/binary-java.mk: dpkg-shlibsdeps can't handle the dangling + symlink to libgcj_bc.so.1. Remove it temporarily. + * Add libgcj_bc to the libgcj8-1 shlibs file. + * Fix build failures for gnat-4.2, gpc-4.2, gdc-4.2 introduced by recent + gdc changes. + * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6, + lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4, + lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2. Adjust build + dependencies on dpkg-dev and debhelper. + Adjust build-dependency on dpkg-dev. + + [Arthur Loiret] + * Fix gdc-4.2 build failure. + * Update gdc to upstream SVN 20071124. + - d-bi-attrs: Support attributes on declarations in other modules. + - d-codegen.cc (IRState::attributes): Support constant declarations as + string arguments. + * Enable libphobos: + - gdc-4.2.dpatch: Fix ICEs. + - gdc-4.2-build.dpatch: Update, make it cleaner. + * Install libphobos in the private gcc lib dir. + * gdc-4.2.dpatch: Update from gdc-4.1.dpatch. + - gcc/tree-sra.c: Do not use SRA on structs with aliased fields created + for anonymous unions. + - gcc/predict.c: Add null-pointer check. + * debian/rules.defs: Disable phobos on hurd-i386. + - gdc-hurd-proc_maps.dpatch: Remove. + + -- Matthias Klose Wed, 02 Jan 2008 15:49:30 +0100 + +gcc-4.2 (4.2.2-4) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20071123 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/34130, wrong code with some __builtin_abs expressions. + Closes: #452108. + * Don't run the testsuite on hppa when expect-tcl8.3 is not available. + * Fix libgcc1-dbg doc directory symlink. Closes: #447969. + * Use gcc-multilib as build-dependency instead of gcc-4.1-mulitlib. + * Support for fast-math on hurd-i386 (Michael Banck). Closes: #451520. + * Fix again profiling support on the Hurd (Thomas Schwinge). Closes: #434937. + + [Arthur Loiret] + * Merge gdc-4.1 patches and build infrastructure: + - gdc-4.2.dpatch: Add, setup gcc-4.2.x for D. + - gdc-4.2-build.dpatch: Add, update gdc builtins and driver objs. + - gdc-driver-zlib.dpatch: Add, use up-to-date system zlib. + - gdc-driver-defaultlib.dpatch: Add, add -defaultlib/-debuglib switches. + - gdc-driver-nophobos.dpatch: Add, disable libphobos when unsupported. + - gdc-libphobos-build.dpatch: Add, enable libphobos build when supported. + - gdc-fix-build.dpatch: Add, fix build on non-biarched 64bits targets. + - gdc-libphobos-std-format.dpatch: Add, replace assert when formating a + struct on non-x86_64 archs by a FormatError. + - gdc-arm-unwind_ptr.dpatch: Add, fix build on arm. + - gdc-mips-gcc-config.dpatch: Add, fix build on mips. + - gdc-hurd-proc_maps.dpatch: Add, fix build on hurd. + + -- Matthias Klose Sat, 24 Nov 2007 12:01:06 +0100 + +gcc-4.2 (4.2.2-3) unstable; urgency=low + + * Update to SVN 20071014 from the ubuntu/gcc-4_2-branch. + - Fix build failure in libjava on mips/mipsel. + * Make 4.2.2-2 a requirement for frontends built from separate sources. + Addresses: #446596. + + -- Matthias Klose Sun, 14 Oct 2007 14:13:00 +0200 + +gcc-4.2 (4.2.2-2) unstable; urgency=low + + * Update to SVN 20071011 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/33448, ICE in create_tmp_var. Closes: #439687. + - Remove debian/patches/pr31899.dpatch, applied upstream. + - Remove debian/patches/pr33381.dpatch, applied upstream. + * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282. + + -- Matthias Klose Thu, 11 Oct 2007 23:41:52 +0200 + +gcc-4.2 (4.2.2-1) unstable; urgency=low + + * Update to SVN 20071008 from the ubuntu/gcc-4_2-branch, corresponding + to the GCC-4.2.2 release. + * Fix dependencies of lib*gcc1-dbg packages. Closes: #445190. + * Remove libjava-armeabi patch integrated upstream. + * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792. + * Apply proposed patch for PR debug/31899. Closes: #445268. + + * Add niagara2 optimization support (David Miller). + + -- Matthias Klose Mon, 08 Oct 2007 21:12:41 +0200 + +gcc-4.2 (4.2.1-6) unstable; urgency=high + + [Matthias Klose] + * Update to SVN 20070929 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/33382, ICE (closes: #441481). + - Fix PR tree-optimization/28544 (4.2.1, closes: #380482). + - Fix PR libffi/28313, port to mips64 (closes: #358235). + * Fix PR tree-optimization/33099, PR tree-optimization/33381, + wrong code generation with VRP/SCEV. Closes: #440545, #443576. + * Update Hurd fixes (Samuel Thibault). + * When -fstack-protector is the default (Ubuntu), do not enable + -fstack-protector when -nostdlib is specified. LP: #77865. + * Add -g to BOOT_CFLAGS, set STAGE1_CFLAGS to -g -O, only pass + other settings when required. + * Fix installation of the s390 libstdc++ biarch headers. + * Allow the powerpc build on a 32bit machine (without running the + biarch testsuite). + * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc, + libgfortran. + * Drop the build dependency on expect-tcl8.3 (the hppa testsuite seems + to complete sucessfully with the expect package). + * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929. + + * Closing reports reported against gcc-4.1 and fixed in gcc-4.2: + - General + + PR rtl-optimization/21299, error in invalid asm statement. + Closes: #380121. + - C++ + + PR libstdc++/19664, libstdc++ headers have pop/push of the visibility + around the declarations (closes: #307207, #324290, #423547). + + PR c++/21581, functions in anonymous namespaces default to "hidden" + visibility (closes: #278310). + + PR c++/4882, specialization of inner template using outer template + argument (closes: #269513). + + PR c++/6634, wrong parsing of "long long double" (closes: #247112). + + PR c++/10891, code using dynamic_cast causes segfaults when -fno-rtti + is used (closes: #188943). + + PR libstdc++/14991, stream::attach(int fd) porting entry out-of-date. + Closes: #178561. + + PR libstdc++/31638, string usage leads to warning with -Wcast-align. + Closes: #382153. + + Fix memory hog seen with g++-4.1. Closes: #411234. + - Fortran + + PR fortran/29228, ICE in gfc_trans_deferred_array (closes: #387222). + + PR fortran/24285, allow dollars everywhere in format (closes: #324600). + + PR libfortran/28354, 0.99999 printed as 0. instead of 1. by + format(f3.0). Closes: #397671. + + Fix ICE in gfc_get_extern_function_decl (closes: #396292). + - Architecture specific: + - i386 + + Fix error with -m64 (unable to find a register to spill in class + 'DIREG'). Closes: #430049. + - mips + + Fix ICE in tsubst (closes: #422303). + - s390 + + Fix ICE (segmentation fault) building dcmtk (closes: #435736). + + [Roman Zippel] + * Update the m68k patches. + + [Riku Voipio] + * Configure armeabi with --disable-sjlj-exceptions. + * armel testsuite takes ages, adjust build accordingly. + + [Ludovic Brenta and Xavier Grave] + * Add a version of the Ada run-time library using the setjump/longjump + exception handling mechanism (static library only). Use with + gnatmake --RTS=sjlj. Particularly useful for distributed (Annex E) + programs. + * Restore building libgnatvsn-dev and libgnatprj-dev. + + -- Matthias Klose Sat, 29 Sep 2007 11:19:40 +0200 + +gcc-4.2 (4.2.1-5) unstable; urgency=low + + * Update to SVN 20070825 from the ubuntu/gcc-4_2-branch. + - Fix PR debug/32610, LP: #121911. + * Apply proposed patches: + - Improve debug info for packed arrays with constant bounds + (PR fortran/22244). + - Fix ICE in rtl_for_decl_init on const vector initializers + (PR debug/32914). + - Fix (neg (lt X 0)) optimization (PR rtl-optimization/33148). + - Fix libgcc.a(tramp.o) on ppc32. + - Fix redundant reg/mem stores/moves (PR target/30961). + * Update the -fdirectives-only backport. + * gappletviewer-4.2: Include the gcjwebplugin binary. LP: #131114. + * Update gpc patches and build support (not yet enabled). + * Fix gcc-snapshot hppa64 install target. + * Set the priority of the source package to optional. + * Remove .la files from the biarch libstdc++ debug packages, + conflict with the 3.4 package. Closes: #440490. + + [Arthur Loiret] + * Add build support for GDC. + + -- Matthias Klose Mon, 27 Aug 2007 01:39:32 +0200 + +gcc-4.2 (4.2.1-4) unstable; urgency=medium + + * gcc-4.2: Include missing std*.h header files. + + -- Matthias Klose Tue, 14 Aug 2007 11:14:35 +0200 + +gcc-4.2 (4.2.1-3) unstable; urgency=low + + * Update to SVN 20070812 from the ubuntu/gcc-4_2-branch. + * debian/rules.defs: Fix typo, run the checks in biarch mode too. + * libgcj8-awt: Loosen dependency on gcj-4.2-base. + * Build only needed multilib libraries when building as gcj or gnat. + * Always build biarch libgomp in biarch builds. + * debian/rules2: Adjust testsuite logs files for logwatch.sh. + * Include header files from $/gcc_lib_dir)/include-fixed. + * Backport from trunk: -fdirectives-only (when preprocessing, handle + directives, but do not expand macros). + * Report an ICE to apport (if apport is available and the environment + variable GCC_NOAPPORT is not set) + * Fix gcj build failure on the Hurd (Samuel Thibault). Closes: #437470. + + -- Matthias Klose Sun, 12 Aug 2007 21:11:00 +0200 + +gcc-4.2 (4.2.1-2) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070804 from the ubuntu/gcc-4_2-branch (20070804): + - Merge gcc-4_2-branch SVN 20070804. + - Imported classpath CVS 20070727. + - Bump the libgcj soname, add conflict with java-gcj-compat (<< 1.0.76-4). + - Remove patches integrated in the branches: pr32862. + - Update patches: libjava-subdir, libjava-jar. + - Add regenerated class files: svn-class-updates. + + * Fix profiling support on the Hurd (Michael Casadeval). Closes: #434937. + * Fix build on kfreebsd-amd64 (Aurelien Jarno). Closes: #435053. + * Period of grace is over, run the testsuite on m68k-linux again. + * Update infrastructure for the gcc-source package (Bastian Blank). + * Update profiling on the Hurd (Samuel Thibault, Michael Casadevall). + Closes: #433539. + * debian/rules2: Allow DEB_BUILD_OPTIONS=parallel= to overwrite NJOBS. + * Allow lang=, nolang= in DEB_BUILD_OPTIONS; deprecating + WITHOUT_LANG, and WITHOUT_CHECK. + * debian/rules.defs, debian/rules.conf: Cache some often used macros. + + * Preliminary work: Enable Java for ARM EABI (Andrew Haley), build + libffi for armel. + * gcj: Don't build the browser plugin in gcc-snapshot builds to get + rid of the xulrunner dependency. + * gcjwebplugin: Register for more browsers (package currently not built). + * gij/boehm-gc: Use sysconf as fallback, if reading /proc/stat fails. + Closes: #422469. + * libjava: Avoid dependency on MAXHOSTNAMELEN (Samuel Thibault). + * gcj: On arm and armel, use the ecj1 binary built from the ecj package. + * gcj: Don't require javac without java maintainer mode, remove build + dependencies on gcj and ecj, add build dependency on libecj-java. + + -- Matthias Klose Sun, 05 Aug 2007 15:56:07 +0200 + +gcc-4.2 (4.2.1-1) unstable; urgency=medium + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.c: remove all trace of + the function convert_addresses from adaint.c. Fixes FTBFS on alpha, + s390 and possibly other platforms. Closes: #433633. + * debian/control.m4: list myself as uploader if the source package name + is gnat. Relax build-dependency on gnat-4.2-source. + * debian/control.m4, debian/rules.conf: Build-depend on libmpfr-dev only + if building Fortran. + + [Matthias Klose] + * debian/rules.conf: Fix breakage of Fortran build dependencies introduced + by merge of the Ada bits. + * Don't include the gccbug binary anymore in the gcc package; upstream bug + reports should be reported to the upstream bug tracker at + http://gcc.gnu.org/bugzilla. + * Don't build and test libjava for the biarch architecture. + * Install gappletviewer man page. Addresses: #423094. + * debian/patches/m68k-java.dpatch: Readd. + * gjar: support @ arguments. + * Update to SVN 20070726 from the ubuntu/gcc-4_2-branch. + - Fix mips/mipsel builds. + * libmudflap0: Fix update leaving an empty doc dir. Closes: #428306. + * arm/armel doesn't have ssp support. Closes: #433172. + * Update kbsd-gnu-ada patch (Aurelien Jarno): Addresses: #434754. + * gcj-4.2: Build depend on gcj-4.2 to build the classpath examples files + for the binary-indep target. + * Fix PR java/32862, bugs in EnumMap implementation. Addresses: #423160. + + [Arthur Loiret] + * Fix cross builds targeting x86_64. Closes: LP: #121834. + + -- Matthias Klose Thu, 26 Jul 2007 21:46:03 +0200 + +gcc-4.2 (4.2.1-0) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070719 from the ubuntu/gcc-4_2-branch, corresponding + to the GCC-4.2.1 release. + - debian/patches/arm-gij.dpatch: Remove. Closes: #433714. + * Apply proposed patch for PR tree-optimization/32723. + * Tighten build dependency on libmpfr-dev. + * On ia64, apply proposed patch for PR target/27880. Closes: #433719. + + [Hector Oron] + * Fix cross and reverse-cross builds. Closes: #432356. + + -- Matthias Klose Thu, 19 Jul 2007 17:59:37 +0200 + +gnat-4.2 (4.2-20070712-1) unstable; urgency=low + + * debian/rules.d/binary-ada.mk, debian/control.m4: + disable building libgnatvsn-dev and libgnatprj-dev, as they conflict + with packages from gnat-4.1. Will reenable them for the transition to + gnat-4.2. + * Upload as gnat-4.2. Closes: #432525. + + -- Ludovic Brenta Sat, 14 Jul 2007 15:12:34 +0200 + +gcc-4.2 (4.2-20070712-1) unstable; urgency=high + + [Matthias Klose] + * Update to SVN 20070712 from the ubuntu/gcc-4_2-branch. + - 4.2.1 RC2, built from SVN. + - same as gcc-4_2-branch, plus backport of gcc/java, boehm-gc, libffi, + libjava, zlib from the trunk. + - debian/patches/arm-libffi.dpatch: Remove. + - Fixes ICE in update_equiv_regs. Closes: #432604. + * debian/control.m4: Restore build dependency on dejagnu. + * debian/patches/arm-gij.dpatch: Update. + * i386-biarch.dpatch: Update for the backport for PR target/31868. + Closes: #432599. + + -- Matthias Klose Fri, 13 Jul 2007 08:07:51 +0200 + +gcc-4.2 (4.2-20070707-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070707 from the ubuntu/gcc-4_2-branch. + - debian/patches/libjava-soname.dpatch: Remove. + - debian/patches/disable-configure-run-check.dpatch: Update. + * Only suggest multilib packages on multilib architectures. + * Point ICE messages to the 4.2 docdir. + * Explicitely use fastjar to build gcj-4.1. Addresses: #416001. + * Configure with --enable-libgcj on m32r (Kazuhiro Inaoka). + * Include the hppa64 cross compiler on hppa snapshot builds. + * debian/patches/arm-libffi.dpatch: Update. + * libgcj-doc: Include the generated documentation. + * Fix building the libjava/classpath examples. + * Support reverse cross builds (Neil Williams). Closes: #431086. + + -- Matthias Klose Sat, 07 Jul 2007 10:59:26 +0200 + +gcc-4.2 (4.2-20070627-1) unstable; urgency=high + + [Matthias Klose] + * Update to SVN gcc-4_2-branch/20070626. + * Update to SVN trunk/20070626 (gcc/java, libjava, libffi, boehm-gc). + * On mips*-linux, always imply -lpthread for -pthread (Thiemo Seufer). + Addresses: #428741. + * Fix libstdc++ cross builds (Arthur Loiret). Closes: #430395. + * README.Debian: Point to debian-toolchain for general toolchain topics. + * Use the generated locales for the libstdc++ build to fix the setting + of the gnu locale model. Closes: #428926, #429660. + * For ix86 lpia targets, configure --with-tune=i586. + * Make build dependency on gcc-4.1-multilib architecture specific. + * Do not ignore bootstrap comparision failure on ia64. + + [Ludovic Brenta] + * ada-link-lib.dpatch: update to apply cleanly on GCC 4.2. + * ada-libgnat{vsn,prj}.dpatch: adjust to GCC 4.2. Reenable in rules.patch. + * rules.conf: do not build libgomp as part of gnat-4.2. + * rules.conf, control.m4: build-depend on libz-dev, lib32z-dev or + lib64-dev only when building Java. + * rules2, rules.defs: $(with_mudflap): remove, use $(with_libmudflap) only. + * config.m4, binary-ada.mk: tighten dependencies; no Ada package depends + on gcc-4.2-base anymore. + * TODO: rewrite. + * README.gnat: include in gnat-4.2-base. Remove outdated information. + * README.maintainers: new. Include in gnat-4.2-base. + + [Hector Oron] + * Merge DEB_CROSS_INDEPENDENT with DEB_CROSS. + * Disables libssp0 for arm and armel targets when cross compiling. + * Updates README.cross. + * Fixes linker mapping problem on binary-libstdcxx-cross.mk. Closes: #430688. + + -- Matthias Klose Wed, 27 Jun 2007 21:54:08 +0200 + +gcc-4.2 (4.2-20070609-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070609. + - Remove patches integrated upstream: pr30052, hppa-caller-save-pic-tls. + * Update to SVN trunk/20070609 (gcc/java, libjava, libffi, boehm-gc). + - Remove patches integrated upstream: libjava-qt-peer, + classpath-config-guess. + * Do not build with --enable-java-maintainer-mode. + * debian/rules.patch: Comment out m68k-peephole, requires m68k-split_shift. + * Add target to apply patches up to a specific patch (Wouter Verhelst). + Closes: #424855. + * libstdc++6-4.2-*: Add conflicts with 4.1 packages. Closes: #419511. + * Apply proposed fix for PR target/28102. Closes: #426905. + * Fix build failure for cross compiler builds (Jiri Palecek). Closes: #393897. + * Update build macros for kfreebsd-amd64. Closes: #424693. + + -- Matthias Klose Sat, 9 Jun 2007 06:54:13 +0200 + +gcc-4.2 (4.2-20070528-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070528. + * Add backport for PR middle-end/20218. + * Add proposed PTA solver backport, PR tree-optimization/30052. + * Add backport for PR target/31868. + * Reenable the testsuite for arm, mips, mipsel. + + -- Matthias Klose Mon, 28 May 2007 09:03:04 +0200 + +gcc-4.2 (4.2-20070525-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070525. + * Update to SVN trunk/20070520 (gcc/java, libjava, libffi, boehm-gc). + * Do not explicitely configure for __cxa_atexit. + * libstdc++6-4.2-doc: Conflict with libstdc++6-4.1-doc. Closes: #424896. + * Update m68k patches: + - Remove patches applied upstream: m68k-jumptable, m68k-gc, + - Reenable patches: m68k-save_pic, m68k-dwarf, m68k-limit_reload, + m68k-prevent-qipush, m68k-peephole, m68k-return, m68k-sig-unwind, + m68k-align-code m68k-align-stack, m68k-symbolic-operand, + m68k-bitfield-offset. + - Update: m68k-return, m68k-secondary-addr-reload, m68k-notice-move + m68k-secondary-addr-reload, m68k-notice-move. + - TODO: m68k-split_shift, m68k-dwarf3, m68k-fpcompare. + * Update the kfreebsd and arm patches (Aurelien Jarno). Closes: #425011. + * Temporarily disable the testsuite on slow architectures to get the + package built soon. + + -- Matthias Klose Fri, 25 May 2007 07:14:36 +0200 + +gcc-4.2 (4.2-20070516-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070516. + * Update to SVN trunk/20070516 (gcc/java, libjava, libffi, boehm-gc). + * Merge changes from gcc-4.1_4.1.2-7. + * Update NEWS files. + + -- Matthias Klose Wed, 16 May 2007 02:33:57 +0200 + +gcc-4.2 (4.2-20070502-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070502. + - Remove pr11953 patch, integrated upstream. + * Update to SVN trunk/20070502 (gcc/java, libjava, libffi, boehm-gc). + * Adjust tetex/tex-live build dependency. + * Fix gobjc-4.2's, gobjc++-4.2's dependency on libobjc2. + * Tighten (build) dependency on binutils. Addresses: #421197. + * gfortran-4.2: Depend on libgfortran2, provide the libgfortran.so + symlink. Adresses: #421362. + * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc]. + * (Build-) depend on glibc (>= 2.5) for all architectures. + * Remove libssp packages from the control file. + + -- Matthias Klose Wed, 2 May 2007 18:46:57 +0200 + +gcc-4.2 (4.2-20070405-1) experimental; urgency=low + + * Update to SVN gcc-4_2-branch/20070405. + * Update to SVN trunk/20070405 (gcc/java, libjava, libffi, boehm-gc). + * gcc-4.2-hppa64: Don't depend on libc6-dev. + * Robustify setting of make's -j flag. Closes: #410919. + * gcc-snapshot: Use the install_snap_stamp target for installation. + + -- Matthias Klose Thu, 5 Apr 2007 23:56:35 +0200 + +gcc-4.2 (4.2-20070307-1) experimental; urgency=low + + * Update to SVN gcc-4_2-branch/20070307. + * Update to SVN trunk/20070307 (gcc/java, libjava, libffi, boehm-gc). + * Build gnat from separate sources. + * Merge changes from gcc-4.1-4.1.2-1. + * Install into /usr/lib/gcc//4.2, to ease upgrades + between subminor versions. + * Configure --with-gxx-include-dir=/usr/include/c++/4.2 + + -- Matthias Klose Thu, 8 Mar 2007 02:52:00 +0100 + +gcc-4.2 (4.2-20070210-1) experimental; urgency=low + + * Merge Java backport from Ubuntu: + - Update to SVN gcc-4_2-branch/20070210. + - Update to SVN trunk/20070210 (gcc/java, libjava). + - Backout trunk specific gcc/java changes. + - Build-depend on gcj-4.1 and ecj-bootstrap. + - gcj-4.2: Depend on ecj-bootstrap, recommend ecj-bootstrap-gcj. + - Merge libgcj8-awt-gtk back into libgcj8-awt; the Qt peers + are disabled by upstream again. + - Generate manual pages for the classpath tools from the classpath + documentation. + - Adopt packaging for the merged libjava. + - Update patches for the merged libjava: libjava-lib32-properties, + i386-biarch, reporting, libjava-soname, libjava-subdir, + libjava-lib32subdir. + - Remove obsolete patches: libjava-plugin-binary, libjava-ia32fix, + libstdc++-docfixes. + + * Set priority of development packages to optional. + * debian/libgcjGCJ.postrm: Don't fail on purge when directories + don't exist anymore. Closes: #406017. + * debian/patches/gcc-textdomain.dpatch: Update for 4.2. + * Generate and install libgomp docs into gcc-4.2-doc. + + -- Matthias Klose Sat, 10 Feb 2007 16:53:11 +0100 + +gcc-4.2 (4.2-20070105-1) experimental; urgency=low + + * Update to SVN 20070105. + * Add tetex-extra to Build-Depend-Indep (libstd++ doxygen docs), + fix doxygen build (libstdc++-docfixes.dpatch). + * Enable parallel build by default on SMP machines. + + -- Matthias Klose Fri, 5 Jan 2007 22:42:18 +0100 + +gcc-4.2 (4.2-20061217-1) experimental; urgency=low + + * Update to SVN 20061217. + * Merge changes from gcc-4.1_4.1.1-16 to gcc-4.1_4.1.1-21. + * Update patches to the current branch. + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + * Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64, + s390, sparc). + + -- Matthias Klose Sun, 17 Dec 2006 15:54:54 +0100 + +gcc-4.2 (4.2-20061003-1) experimental; urgency=low + + * libgcj.postinst: Remove /var/lib/gcj-4.2 on package removal. + * Don't install backup files in the doc directory, only one gcc-4.1 + upgrade was broken. Closes: #389366. + * Merge gcc-biarch-generic.dpatch into i386-biarch.dpatch. + * Update link-libs.dpatch. + * Merge libgfortran2-dev into gfortran-4.2. + + -- Matthias Klose Tue, 3 Oct 2006 16:26:38 +0000 + +gcc-4.2 (4.2-20060923-1) experimental; urgency=low + + * Update to SVN 20060923. + * Remove patches applied upstream: kbsd-gnu-java, kbsd-gnu. + + -- Matthias Klose Sat, 23 Sep 2006 15:11:36 +0200 + +gcc-4.2 (4.2-20060905-1) experimental; urgency=low + + * Update to SVN 20060905. + * Merge changes from gcc-4.1 (4.1.1-10 - 4.1.1-12). + * Move gomp development files into gcc and gfortran. + * Build-depend on binutils (>= 2.17). + + -- Matthias Klose Tue, 5 Sep 2006 03:33:00 +0200 + +gcc-4.2 (4.2-20060818-1) experimental; urgency=low + + * Update to SVN 20060818. + - libjava-libgcjbc.dpatch: Remove, applied upstream. + * Merge changes from the Ubuntu gcj-4.2 package: + - libjava-soname.dpatch: Remove, applied upstream. + - libjava-native-libdir.dpatch: update. + - libffi-without-libgcj.dpatch: Remove, new libffi-configure to + enable --disable-libffi. + - Changes required for the classpath-0.92 update: + - New packages gappletviewer-4.2, gcjwebplugin-4.2. + - gij-4.2: Add keytool alternative. + - gcj-4.2: Add jarsigner alternative. + - libgcj8-dev: Remove conflicts with older libgcjX-dev packages. + - lib32gcj8: Populate the /usr/lib32/gcj-4.2 directory. + - libjava-library-path.dpatch: + - When running the i386 binaries on amd64, look in + /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + - Add /usr/lib/jni to java.library.path. Adresses: #364820. + - Add more debugging symbols to libgcj8-dbg. Adresses: #383705. + - Fix and renable the biarch build for sparc. + * Disable gnat for alpha, fails to build. + * Configure without --enable-objc-gc, fails to build. + + -- Matthias Klose Sat, 19 Aug 2006 18:25:50 +0200 + +gcc-4.2 (4.2-20060709-1) experimental; urgency=low + + * Test build, SVN trunk 20060709. + * Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option). + * Rename libmudflap0-dev to libmudflap0-4.2-dev. + * Ignore compiler warnings when checking whether compiler driver understands + Ada fails. + * Merge changes from the gcc-4.1 package. + + -- Matthias Klose Sun, 9 Jul 2006 14:28:03 +0200 + +gcc-4.2 (4.2-20060617-1) experimental; urgency=low + + * Test build, SVN trunk 20060617. + + [Matthias Klose] + * Configure using --enable-objc-gc, using the internal boehm-gc. + * Build-depend on bison (>= 1:2.3). + * Build the QT based awt peer library, not yet the same functionality + as the GTK based peer library. + * Update libjava-* patches. + + [Ludovic Brenta] + * Do not provide the symbolic link /usr/bin/gnatgcc; this will now + be provided by package gnat from the source package gcc-defaults. + * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1), + not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1) + which depends on gnat-4.1. + + [Bastian Blank] + * Make it possible to overwrite arch per DEB_TARGET_ARCH and + DEB_TARGET_GNU_TYPE. + * Disable biarch only on request for cross builds. + * Use correct source directory for tarballs. + * Produce correct multiarch.inc for source builds. + + -- Matthias Klose Sat, 17 Jun 2006 19:02:01 +0200 + +gcc-4.2 (4.2-20060606-1) experimental; urgency=low + + * Test build, SVN trunk 20060606. + * Remove obsolete patches, update patches for 4.2. + * Update the biarch-include patches to work with mips-triarch. + * Disable Ada, not yet updated. + * New packages: libgomp*. + * Remove fastjar, not included upstream anymore. + + -- Matthias Klose Tue, 6 Jun 2006 10:52:28 +0200 + +gcc-4.1 (4.1.2-12) unstable; urgency=high + + * i386-biarch.dpatch: Update for the backport for PR target/31868. + Closes: #427185. + * m68k-libffi2.dpatch: Update. Closes: #425399. + + -- Matthias Klose Mon, 4 Jun 2007 23:53:23 +0200 + +gcc-4.1 (4.1.2-11) unstable; urgency=low + + * Update to SVN 20070601. + * Build the libmudflap0-dev package again. + * Don't build libffi, when the packages are not built. + + -- Matthias Klose Fri, 1 Jun 2007 23:55:22 +0200 + +gcc-4.1 (4.1.2-10) unstable; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Wed, 30 May 2007 00:29:29 +0200 + +gcc-4.1 (4.1.2-9) unstable; urgency=low + + * Update to SVN 20070528. + * Don't build packages now built from the gcc-4.2 source (arm, m68k, + mips, mipsel). + * Add backport for PR middle-end/20218. + * Add backport for PR target/31868. + + -- Matthias Klose Tue, 29 May 2007 00:01:12 +0200 + +gcc-4.1 (4.1.2-8) unstable; urgency=low + + * Update to SVN 20070518. + * Don't build packages now built from the gcc-4.2 source. + + [ Aurelian Jarno ] + * Update libffi patch for ARM. Closes: #425011. + * arm-pr30486, arm-pr28516, arm-unbreak-eabi-armv4t: New. + * Disable FFI, Java, ObjC for armel. + + -- Matthias Klose Sun, 20 May 2007 10:31:24 +0200 + +gcc-4.1 (4.1.2-7) unstable; urgency=low + + * Update to SVN 20070514. + * Link using --hash-style=both on supported architectures. Addresses: #421790. + * On hppa, build ecjx as a native binary. + * note-gnu-stack.dpatch: Fix ARM comment marker (Daniel Jacobowitz). + Closes: #422978. + * Add build dependency on libxul-dev for *-freebsd. Closes: #422995. + * Update config.guess/config.sub and build gcjwebplugin on GNU/kFreeBSD + (Aurelian Jarno). Closes: #422995. + * Disable ssp on hurd-i386. Closes: #423757. + + -- Matthias Klose Mon, 14 May 2007 08:40:08 +0200 + +gcc-4.1 (4.1.2-6) unstable; urgency=low + + * Update libjava from the gcc-4.1 Fedora branch 20070504. + * gfortran-4.1: Fix the target of the libgfortran.so symlink. + Closes: #421362. + * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc]. + * Readd build dependency on binutils on arm. + * (Build-) depend on glibc (>= 2.5) for all architectures. + * Remove libssp packages from the control file. + * Fix wrong code generation on hppa when TLS variables are used. + Closes: #422421. + + -- Matthias Klose Sun, 6 May 2007 10:00:23 +0200 + +gcc-4.1 (4.1.2-5) unstable; urgency=low + + * Update to SVN 20070429. + * Update libjava from the gcc-4.1 Fedora branch 20070428. + * Update m68k patches: + - Remove pr25514, pr27736, applied upstream. + - Update m68k-java. + * Link using --hash-style=gnu/both. + * Tighten (build) dependency on binutils. Closes: #421197. + * gij-4.1: Add a conflict with java-gcj-compat (<< 1.0.69). + * gfortran-4.1: Depend on libgfortran1, provide the libgfortran.so + symlink. Closes: #421362. + * gcc-4.1, gcc-4.1-multilib: Fix compatibility symlinks. Closes: #421382. + * Temporarily remove build dependency on locales on arm, hppa, m68k, mipsel. + * Temporarily remove build dependency on binutils on arm. + * Fix FTBFS on GNU/kFreeBSD (Aurelian Jarno). Closes: #421423. + * gij-4.1 postinst: Create /var/lib/gcj-4.1. Closes: #421526. + + -- Matthias Klose Mon, 30 Apr 2007 08:13:32 +0200 + +gcc-4.1 (4.1.2-4) unstable; urgency=medium + + * Update to SVN 20070423. + - Remove pr11953, applied upstream. + - Fix ld version detection in libstdc++v3. + * Update libjava from the gcc-4.1 Fedora branch 20070423. + * Merge libgfortran1-dev into gfortran-4.1. + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + * Don't link using --hash-style=gnu/both; loosen dependency on binutils. + * Don't revert the patch to fix PR c++/27227. + + -- Matthias Klose Mon, 23 Apr 2007 23:13:14 +0200 + +gcc-4.1 (4.1.2-3) experimental; urgency=low + + * Update to SVN 20070405. + * Update libjava from the gcc-4.1 Fedora branch 20070405. + * Robustify setting of make's -j flag. Closes: #414316. + * Only build the libssp packages, when building the common libraries. + * gcc-4.1-hppa64: Don't depend on libc6-dev. + + -- Matthias Klose Fri, 6 Apr 2007 00:28:29 +0200 + +gcc-4.1 (4.1.2-2) experimental; urgency=low + + * Update to SVN 20070306. + * Update libjava from the gcc-4.1 Fedora branch 20070306. + + [Matthias Klose] + * Don't install gij-wrapper anymore, directly register gij as a java + alternative. + * Don't install gcjh-wrapper anymore. + * Don't use exact versioned dependencies on gcj-base for libgcj and + libgcj-awt. + * Fix glibc build dependency for alpha. + * Support -ffast-math on hurd-i386 (Samuel Thibault). Closes: #413342. + * Update kfreebsd-amd64 patches (Aurelien Jarno). Closes: #406015. + * gij: Consistently use $(dbexecdir) to reference the gcj sub dir. + * Install into /usr/lib/gcc//4.1, to ease upgrades + between minor versions. + Add compatibility symlinks in /4.1.2 to build gnat-4.1 + and gcj-4.1 from separate sources. + + -- Matthias Klose Wed, 7 Mar 2007 03:51:47 +0100 + +gcc-4.1 (4.1.2-1) experimental; urgency=low + + [Matthias Klose] + * Update to gcc-4.1.2. + * Update libjava backport patches, split out boehm-gc-backport patch. + * Enable the cpu-default-generic patch (i386, amd64), backport from 4.2. + * Correct mfctl instruction syntax (hppa), backport from the trunk. + * Backport PR java/9861 (name mangling updates). + * gcc.c (main): Call expandargv (backport from 4.2). + * Apply gcc dwarf2 unwinding patches from the trunk. + * Apply backport for PR 20208 on amd64 i386 powerpc ppc64 sparc s390. + * Apply patches from the 4.1 branch for PR rtl-optimization/28772, + PR middle-end/30313, PR middle-end/30473, PR c++/30536, PR debug/30189, + PR fortran/30478, PR rtl-optimization/30787, PR tree-optimization/30823, + PR rtl-optimization/28173, PR ada/30684, bug in pointer dependency test, + PR rtl-optimization/30931, PR fortran/25392, PR fortran/30400, + PR libgfortran/30910, PR libgfortran/30918, PR fortran/29441, + PR target/30634. + * Update NEWS files. + * Include a backport of the ecj+generics java updates as + gcj-ecj-20070215.tar.bz2. Install it into the gcc-4.1-source package. + * Do not build fastjar anymore from this source. + * debian/control.m4: Move expect-tcl8.3 before dejagnu. + * Work around firefox/icewhatever dropping plugin dependencies on xpcom. + * Refactor naming of libgcj packages in the build files. + * Make libstdc++-doc's build dependencies depending on the source package. + * Do not build packages on architectures, which are already built by gcc-4.2. + + * Merge the gcj generics backport from Ubuntu: + + - Merge the Java bits (eclipse based compiler, 1.5 compatibility, + classpath generics) from the gcc-4.1 Fedora branch. + - Drop all previous patches from the classpath-0.93 merge, keep + the boehm-gc backport (splitted out as a separate patch). + - Add a gcj-ecj-generics.tar.bz2 tarball, containing gcc/java, libjava, + config/unwind_ipinfo.m4, taken from the Fedora branch. + - Drop the libjava-hppa, libjava-plugin-binary, pr29362, pr29805 patches + integrated in the backport. + - Update patches for the merge: reporting, libjava-subdir, i386-biarch, + classpath-tooldoc, pr26885 + - Add libjava-dropped, libjava-install; dropped chunks from the merge. + - Add pr9861-nojava mangling changes, non-java parts for PR 9861. + - Add gcc-expandv, expand `@' parameters on the commandline; backport + from the trunk. + - Disable the m68k-gc patch, needs update for the merge. + - Configure --with-java-home set for 1.5.0. + - Configure with --enable-java-maintainer-mode to build the header + and class files on the fly. + - Add build dependency on ecj-bootstrap, configure --with-ecj-jar. + - Build an empty libgcj-doc package; gjdoc currently cannot handle + generics. + - Apply gcc dwarf2 unwinding patches from the trunk, allowing the Events + testcase to pass. + - Tighten dependencies on shared libraries. + - Use /usr/lib/gcj-4-1-71 as private gcj subdir. + - Bump the libgcj soversion to 71, rename the libgcj7-0 package + to libgcj7-1, rename the libgcj7-awt package to libgcj7-1-awt. + - gij-4.1: Add and provide alternatives for gorbd, grmid, gserialver. + - gcj-4.1: Remove gcjh, gcjh-wrapper, gjnih. + - gcj-4.1: Add and provide alternatives for jar, javah, native2ascii, + tnameserv. + - gcj-4.1: Add dependency on ecj-bootstrap, recommend fastjar, + ecj-bootstrap-gcj. + - Add build dependency on ecj-bootstrap version providing the GCCMain + class. + - libgcj7-1: Recommend libgcj7-1-awt. + - Add build dependency on libmagic-dev. + - Build-depend on gcj-4.1; build our own ecj1 and gjdoc before + starting the build. + - Make ecj1 available when running the testsuite. + - Fix build failure on sparc-linux. + - Fix gjavah compatibility problems (PR cp-tools/3070[67]). + - Fixed driver issue source files (PR driver/30714). + - Add (rudimentary) manual pages for classpath tools. + + [Kevin Brown] + * debian/control.m4, debian/rules.d/binary-ada.mk: provide new packages + containing debugging symbols for Ada libraries: libgnat-4.1-dbg, + libgnatprj4.1-dbg, and libgnatvsn4.1-dbg. Adresses: #401385. + + -- Matthias Klose Sat, 3 Mar 2007 23:12:08 +0100 + +gcc-4.1 (4.1.1ds2-30) experimental; urgency=low + + * Update to SVN 20070106. + * Do not revert the fixes for PR 25878, PR 29138, PR 29408. + * Don't build the packages built by gcc-4.2 source. + * debian/patches/note-gnu-stack.dpatch: Add .note.GNU-stack sections + for gcc's crt files, libffi and boehm-gc. Taken from FC. Closes: #382741. + * Merge from Ubuntu: + - Backport g++ visibility patches from the FC gcc-4_1-branch. + - Update the long-double patches; require glibc-2.4 as a build dependency + on alpha, powerpc, sparc, s390. Bump the shlibs dependencies to + require 4.1.1-21. + - On powerpc-linux configure using --enable-secureplt. Closes: #382748. + - When using the cpu-default-generic patch, build for generic x86-64 + on amd64 and i386 biarch. + - Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, + s390, sparc). + * gij-4.1: Recommends libgcj7-awt instead of suggesting it. Closes: #394917. + * Split the gcc-long-double patch into a code and doc part. + * Set priority of development packages to optional. + * Add support for kfreebsd-amd64 (Aurelian Jarno). Closes: #406015. + + -- Matthias Klose Sat, 6 Jan 2007 10:35:42 +0100 + +gcc-4.1 (4.1.1ds2-22) unstable; urgency=high + + * Enable -pthread for GNU/Hurd (Michael Banck). Closes: #400031. + * Update the m68k-fpcompare patch (Roman Zippel). Closes: #401585. + + -- Matthias Klose Sun, 10 Dec 2006 12:35:06 +0100 + +gcc-4.1 (4.1.1ds2-20) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061115. + - Fix PR tree-optimization/27891, ICE in tree_split_edge. + Closes: #370248, #391657, #394630. + - Fix PR tree-optimization/9814, duplicate of PR tree-optimization/29797. + Closes: #181096. + * Apply the libjava/net backport from the redhat/gcc-4_1-branch. + * Apply proposed patch for PR java/29805. + + [Roman Zippel] + * Build the ObjC and ObjC++ compilers in cross builds. + * debian/patches/m68k-symbolic-operand.dpatch: Better recognize + symbolic operands in addresses. + * debian/patches/m68k-bitfield-offset.dpatch: Only use constant offset + for register bitfields (combine expects shifts, but does a rotate). + * debian/patches/m68k-bitfield-offset.dpatch: Update and apply. + + [Daniel Jacobowitz] + * Don't try to use _Unwind_Backtrace on SJLJ targets. + See bug #387875, #388505, GCC PR 29206. + + -- Matthias Klose Wed, 15 Nov 2006 08:59:53 -0800 + +gcc-4.1 (4.1.1ds2-19) unstable; urgency=low + + * Fix typo in arm-pragma-pack.dpatch. + + -- Matthias Klose Sat, 28 Oct 2006 11:04:00 +0200 + +gcc-4.1 (4.1.1ds2-18) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20061028. + * Fix #pragma pack on ARM (Paul Brook). Closes: #394703. + * Revert PR c++/29138, PR c++/29408. Closes: #392559. + * Revert PR c++/25878. Addresses: #387989. + * fastjar: Provide jar. Closes: #395397. + + [Ludovic Brenta] + * debian/control.m4 (libgnatprj-dev): depend on libgnatvsn-dev. + debian/gnatprj.gpr: with gnatvsn.gpr. Closes: #395000. + + -- Matthias Klose Thu, 26 Oct 2006 23:51:10 +0200 + +gcc-4.1 (4.1.1ds2-17) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061020. + - Fix PR debug/26881, ICE in dwarf2out_finish. Closes: #377613. + - Fix PR PR c++/29408, parse error for valid code. Closes: #392327, #393010. + - Fix PR c++/29435, segfault with sizeof and templates. Closes: #393071. + - Fix PR target/29338, segfault with -finline-limit on arm. Closes: 390620. + - Fix 3.4/4.0 backwards compatibility problem in libstdc++. + * Fix PR classpath/29362, taken from the redhat/gcc-4_1-branch. + * Remove the INSTALL directory from the source tarball. Closes: #392974. + * Disable building the static libgcj; non-functional, and cutting + down build times. + * libgcj7-0: Tighten dependency on libgcj-common. + * libgcj7-dev: Install .pc file as libgcj-4.1.pc. + * README.cross: Updated (Hector Oron). Addresses: #380251. + * config-ml.dpatch: Use *-linux-gnu as *_GNU_TYPE. Closes: #394034. + + [Nikita V. Youshchenko] + * Fix typo in the cross build scripts. Closes: #391445. + + [Falk Hueffner] + * alpha-no-ev4-directive.dpatch: Fix kernel build failure. + + [Roman Zippel] + * debian/patches/m68k-align-code.dpatch: Use "move.l %a4,%a4" to advance + within code. + * debian/patches/m68k-align-stack.dpatch: Try to keep the stack word aligned. + * debian/patches/m68k-dwarf3.dpatch: Emit correct dwarf info for cfa offset + and register with -fomit-frame-pointer. + * debian/patches/m68k-fpcompare.dpatch: Bring fp compare early to its + desired form to relieve reload. Closes: #390879. + * debian/patches/m68k-prevent-swap.dpatch: Don't swap operands + during reloads. + * debian/patches/m68k-reg-inc.dpatch: Reinsert REG_INC notes after splitting + an instruction. + * debian/patches/m68k-secondary-addr-reload.dpatch: Add secondary reloads + to allow reload to get byte values into addr regs. Closes: #385327. + * debian/patches/m68k-symbolic-operand.dpatch: Better recognize symbolic + operands in addresses. + * debian/patches/m68k-limit_reload.dpatch: Remove, superseded by + m68k-secondary-addr-reload.dpatch. + * debian/patches/m68k-notice-move.dpatch: Apply, was checked in in -16. + * debian/patches/m68k-autoinc.dpatch: Updated, don't attempt to increment + the register, if it's used multiple times in the instruction . + + -- Matthias Klose Sat, 21 Oct 2006 00:25:05 +0200 + +gcc-4.1 (4.1.1ds1-16) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061008. + - Fix PR c++/29226, ICE in make_decl_rtl. Closes: #388263. + * libgcj7-0: Fix package removal. Closes: #390874. + * Configure with --disable-libssp on architectures that don't + support it (alpha, hppa, ia64, m68k, mips, mipsel). + * On hppa, remove build-dependency on dash. + * gij/gcj: Do not install slave links for the non DFSG manpages. + Closes: #390425, #390532. + * libgcj-common: rebuild-gcj-db: Don't do anything, if no classmap + files are found. Closes: #390966. + * Fix PR libstdc++/11953, extended for all linux architectures. + Closes: #391268. + * libffi4-dev: Conflict with libffi. Closes: #387561. + * Backport PR target/27880 to the gcc-4_1-branch. Patch by Steve Ellcey. + Closes: #390693. + * On ia64, don't use _Unwind_GetIPInfo in libjava and libstdc++. + * Add a README.ssp with minimal documentation about stack smashing + protection. Closes: #366094. + * Do not build libgcj-common from the gcc-4.1/gcj-4.1 sources anymore. + + [Roman Zippel] + * debian/patches/m68k-notice-move.dpatch: Don't set cc_status + for fp move without fp register. + + -- Matthias Klose Sun, 8 Oct 2006 02:21:49 +0200 + +gcc-4.1 (4.1.1ds1-15) unstable; urgency=medium + + * Update to SVN 20060927. + - Fix PR debug/29132, exception handling on mips. Closes: #389468, #390042. + - Fix typo in gcc documentation. Closes: #386180. + - Fix PR target/29230, wrong code generation on arm. Closes: #385505. + * libgcj-common: Ignore exit value of gcj-dbtool in rebuild-gcj-db on + arm, m68k, hppa. Adresses: #388505. + * libgcj-common: Replaces java-gcj-compat-dev and java-gcj-compat. + Closes: #389539. + * libgcj-common: /usr/share/gcj/debian_defaults: Define gcj_native_archs. + * Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-27; + remove libjava-str2double.dpatch, pr28661.dpatch. + * Disable ssp on hppa, not supported. + * i386-biarch.dpatch: Avoid warnings about macro redefinitions. + + -- Matthias Klose Fri, 29 Sep 2006 22:32:41 +0200 + +gcc-4.1 (4.1.1ds1-14) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20060920. + - Fix PR c++/26957. Closes: #373257, #386910. + - Fix PR rtl-optimization/28243. Closes: #378325. + * Remove patch for PR rtl-optimization/28634, applied upstream. + * Fix FTBFS on GNU/kFreeBSD (fallout from the backport of classpath-0.92). + (Petr Salinger). Closes: #385974. + * Merge from Ubuntu: + - Do not encode the subminor version in the jar files. + - Fix typo for the versioned gcj subdirectory in lib32gcj-0. + - When running the i386 binaries on amd64, adjust the properties + java.home, gnu.classpath.home.url, sun.boot.class.path, + gnu.gcj.precompiled.db.path. + - Configure the 32bit build on amd64 + --with-java-home=/usr/lib32/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre. + - Configure --with-long-double-128 for glibc-2.4 on alpha, powerpc, ppc64, + s390, s390x, sparc, sparc64. + - Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-20. + - Fix PR java/29013, invalid byte code generation. Closes: #386926. + - debian/patches/gcc-pfrs-2.dpatch: Apply a fix for a regression in the + backport of PR 28946 from the trunk (H.J. Lu). + * Backport PR classpath/28661 from the trunk. + * Don't ship the .la files for the java modules. Closes: #386228. + * gcj-4.1: Remove dangling symlink. Closes: #386430. + * gij: Suggest java-gcj-compat, gcj: Suggest java-gcj-compat-dev. + Closes: #361942. + * Fix infinite loop in string-to-double conversion on 64bit targets. + Closes: #348792. + * gij-4.1: Ignore exit value of gcj-dbtool in postinst. Adresses: #388505. + * libgcj-common: Move rebuild-gcj-db from java-gcj-compat into libgcj-common. + * On hppa, install a wrapper around gij-4.1 to ignore unaligned memory + accesses. Works around buildd configurations enabling this check by + default. Addresses: #364819. + + [Ludovic Brenta] + * debian/patches/ada-libgnatprj.dpatch: Build mlib-tgt-linux.adb instead of + mlib-tgt.adb. Closes: #387826. + * debian/patches/ada-pr15802.dpatch: Backport from the trunk. + Closes: #246384. + * debian/control.m4 (gnat-4.1): do not provide gnat (supplied by + gcc-defaults instead); conflict with gnat-4.2 which will soon be in + unstable. + + [Roman Zippel] + * debian/patches/m68k-dwarf2.dpatch: Recognize stack adjustments also + in the src of an instruction. + * debian/patches/m68k-jumptable.dpatch: Don't force byte offset when + accessing the jumptable, gas can generate the correct offset size instead. + * debian/patches/m68k-peephole.dpatch: Convert some text peepholes to rtl + peepholes, so the correct DWARF2 information can be generated for stack + manipulations (Keep a few peepholes temporarily disabled). + * debian/patches/m68k-peephole-note.dpatch: Don't choke on notes while + reinserting REG_EH_REGION notes. + * debian/patches/m68k-return.dpatch: Don't use single return if fp register + have to be restored. Closes: #386864. + * debian/patches/m68k-sig-unwind.dpatch: Add support for unwinding over + signal frames. + * Fix PR rtl-optimization/27736, backport from the trunk. + * Add java support for m68k. Closes: #312830, #340874, #381022. + + -- Matthias Klose Sun, 24 Sep 2006 19:36:31 +0200 + +gcc-4.1 (4.1.1ds1-13) unstable; urgency=medium + + * Update to SVN 20060901; remove patches applied upstream: + - PR target/24367. + - PR c++/26670. + * Apply proposed patch for PR fortran/28908. + * Fix biarch symlinks in lib64stdc++ for cross builds. + * Fix biarch symlinks in lib32objc on amd64. + + -- Matthias Klose Fri, 1 Sep 2006 00:04:05 +0200 + +gcc-4.1 (4.1.1ds1-12) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20060830. + * Add backport of PR other/26208, bump libgcc1 shlibs dependency. + * Add backport of PR c++/26670. Closes: #356548. + * Apply proposed patch for PR target/24367 (s390). + * Add /usr/lib/jni to the libjava dlsearch path. Closes: #364820. + * Build without GFDL licensed docs. Closes: #384036. + - debian/patches/{svn-doc-updates,pr25524-doc,pr26885-doc}.dpatch: + Split out -doc specific patches. + - debian/*.texi, debian/porting.html: Add dummy documentation. + - debian/rules.unpack, debian/rules.patch: Update for non-gfdl build. + - fastjar.texi: Directly define the gcctabopt and gccoptlist macros. + + * Merge from Ubuntu: + - Backport the classpath-0.92, libjava, gcc/java merge from the + redhat/gcc-4_1-branch branch. + - Apply the proposed patch for PR libgcj/28698. + - Change the libgcj/libgij sonames. Rename libgcj7 to libgcj7-0. + - Do not remove the rpath from libjvm.so and libjawt.so. Some + configure scripts rely on being able to link that libraries + directly. + - When running the i386 binaries on amd64, look in + /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + - Add /usr/lib/jni to java.library.path. Closes: #364820. + - Add debugging symbols for more binary packages to libgcj7-dbg. + Closes: #383705. + - libgcj7-dev: Remove conflicts with older libgcjX-dev packages. + - Do not build the libgcj-bc and lib32gcj-bc packages anymore from + the gcj-4.1 source. + + [Roman Zippel] + * debian/patches/m68k-limit_reload.dpatch: Correctly limit reload class. + Closes: #375522. + * debian/patches/m68k-split_shift.dpatch: Use correct predicates for long long + shifts and use more splits. Closes: #381572. + * debian/patches/m68k-prevent-qipush.dpatch: Prevent combine from creating + a byte push on the stack (invalid on m68k). Closes: #385021. + * debian/patches/m68k-autoinc.dpatch: Recognize a few more autoinc possibilities. + * debian/patches/pr25514.dpatch: Backport from the trunk. + * debian/patches/m68k-gc.dpatch: Change STACKBOTTOM to LINUX_STACKBOTTOM + so it works with 2.6 kernels. + * Other m68k bug reports fixed in 4.1.1-11 and 4.1.1-12: + Closes: #378599, #345574, #344041, #323426, #340293. + * Build the stage1 compiler using -g -O2; saves a few hours build time + and apparently is working at the moment. + + -- Matthias Klose Tue, 29 Aug 2006 21:37:28 +0200 + +gcc-4.1 (4.1.1-11) unstable; urgency=low + + * The "Our priority are our users, remove the documentation!" release. + + [Matthias Klose] + * Fix build failure building the hppa->hppa64 cross compiler. + * Update to SVN 20060814. + - Fix directory traversal vulnerability in fastjar. Closes: #368397. + CVE-2006-3619. + - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc. + Closes: #321215. + - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID. + Closes: #356569. + * Remove patch for PR rtl-optimization/28075, applied upstream. + * Apply proposed patch for PR rtl-optimization/28634, rounding problem with + -fdelayed-branch on hppa/mips. Closes: #381710. + * Fixed at least in 4.1.1-10: boost::date_time build failure. + Closes: #382352. + * Build-depend on make (>= 3.81), add make (>= 3.81) as dependency to + gcc-4.1-source. Closes: #381117. + * Backport of libffi from the trunk; needed for the java backport in + experimental. + * libffi4-dev: Install the libffi_convenience library as libffi_pic.a. + * When building a package without the GFDL'd documentation, don't create + the alternative's slave links for manual pages for the java tools. + * Do not build the -doc packages and derived manual pages licensed under + the GFDL with invariant sections or cover texts. + * Only build the libssp package, if the target libc doesn't provide + ssp support. + * Run the complete testsuite, when building a standalone gcj package. + + [Roman Zippel] + * debian/patches/m68k-fjump.dpatch: + Always use as fjcc pseudo op, we rely heavily on as to generate the + right size for the jump instructions. Closes: #359281. + * debian/patches/m68k-gc.dpatch: + The thread suspend handler has to save all registers. + Reenable MPROTECT_VDB, it should work, otherwise it's probably a kernel bug. + * debian/patches/m68k-save_pic.dpatch: + Correctly save the pic register, when not done by reload(). + (fixes _Unwind_RaiseException and thus exception handling). + * debian/patches/m68k-libffi.dpatch: Add support for closures. + * debian/patches/m68k-bitfield.dpatch: Avoid propagation of mem expression + past a zero_extract lvalue. + * debian/patches/m68k-dwarf.dpatch: Correct the dwarf frame information, + but preserve compatibility. + + [Christian Aichinger] + * Fix building a cross compiler targeted for ia64. Closes: #382627. + + -- Matthias Klose Tue, 15 Aug 2006 00:41:00 +0200 + +gcc-4.1 (4.1.1-10) unstable; urgency=low + + * Update to SVN 20060729. + - Fix PR c++/28225, segfault in type_dependent_expression_p. + Closes: #376148. + * Apply proposed patch for PR rtl-optimization/28075. + Closes: #373820. + * Apply proposed backport and proposed patch for PR rtl-optimization/28221. + Closes: #376084. + * libgcj7-jar: Loosen dependency on gcj-4.1-base. + * Add ssp header files to the private gcc includedir. + * Do not build the Ada packages from the gcc-4.1 source, introducing + a new gnat-4.1 source package. + * Build libgnat on alpha and s390 as well. + * Do not build the gnat-4.1-doc package (GFDL with invariant sections or + cover texts). + * Remove references to the stl-manual package. Closes: #378698. + + -- Matthias Klose Sat, 29 Jul 2006 22:08:59 +0200 + +gcc-4.1 (4.1.1-9) unstable; urgency=low + + * Update to SVN 20060715. + - Fix PR c++/28016, do not emit uninstantiated static data members. + Closes: #373895, #376871. + * Revert the patch to fix PR c++/27227. Closes: #378321. + * multiarch-include.dpatch: Renamed from biarch-include.dpatch; + apply for all architectures. + * Do not build the java compiler in gcc-4.1 package, just include the + options and specs in the gcc driver. + * Remove gnat-4.0 as an alternative build dependency. + * Add a patch to enable -fstack-protector by default for C, C++, ObjC, ObjC++. + The patch is disabled by default. + + -- Matthias Klose Sat, 15 Jul 2006 17:07:29 +0200 + +gcc-4.1 (4.1.1-8) unstable; urgency=medium + + * Update to SVN 20060708. + - Fix typo in gcov documentation. Closes: #375140. + - Fix typo in gccint documentation. Closes: #376412. + - [alpha], Fix -fvisibility-inlines-hidden segfaults on reference to + static method. PR target/27082. Closes: #369642. + + * Fix ppc64 architecture string in debian/multiarch.inc. Closes: #374535. + * Fix conflict, replace and provide libssp0-dev for cross compilers. + Closes: #377012. + * Ignore compiler warnings when checking whether compiler driver understands + Ada fails. Closes: #376660. + * Backport fix for PR libmudflap/26864 from the trunk. Closes: #26864. + * README.C++: Remove non-existing URL. Closes: #347601. + * gij-4.1: Provide java2-runtime. Closes: #360906. + + * Closed reports reported against gcc-3.0 and fixed in gcc-4.1: + - C++ + + PR libstdc++/13943, call of overloaded `llabs(int)' is ambiguous. + Closes: #228645. + - Java + + Fixed segmentation fault on compiling bad program. Closes: #165635 + * Closed reports reported against gcc-3.3 and fixed in gcc-4.1: + - Stack protector available. Closes: #213994, #233208. + - Better documentation of -finline-limit option. Closes: #296047. + * Closed reports reported against gcc-3.4 and fixed in gcc-4.1: + - General + + Fixed [unit-at-a-time] Using -O2 cannot detect missing return + statement in a function. Closes: #276843. + - C++ + + PR13943, call of overloaded `llabs(int)' is ambiguous. Closes: #228645. + + PR c++/21280, #pragma interface, templates, and "inline function used + but never defined". Closes: #364412. + - Architecture specific: + - m68k + + Segfault building glibc. Closes: #353618. + + ICE when trying to build boost. Closes: #321486. + * Closed reports reported against gcc-4.0 and fixed in gcc-4.1: + - General + + Handling of #pragma GCC visibility for builtin functions. + Closes: #330279. + + gettext interpretation the two conditional strings as one. + Closes: #227193. + + ICE due to if-conversion. Closes: #335078. + + Fix unaligned accesses with __attribute__(packed) and memcpy. + Closes: #355297. + + Fix ICE in expand_expr_real_1, at expr.c. Closes: #369817. + - Ada + + Link error not finding -laddr2line. Closes: #322849. + + ICE on invalid code. Closes: #333564. + - C++ + + libstdc++: bad thousand separator with fr_FR.UTF-8. Closes: #351786. + + The Compiler uses less memory than 4.0. Closes: #336225. + + Fix "fails to compare reverse map iterators". Closes: #362840. + + Fix "fail to generate code for base destructor defined inline with + pragma interface". Closes: #356435. + + Fix ICE in cp_expr_size, at cp/cp-objcp-common.c. Closes: #317455. + + Fix wrong warning: control may reach end of non-void function. + Closes: #319309. + + Fix bogus warning "statement has no effect" with template and + statement-expression. Closes: #336915. + + Fixed segfault on syntax error. Closes: #349087. + + Fix ICE with __builtin_constant_p in template argument. + Closes: #353366. + + Implement DR280 (fixing "no operator!= for const_reverse_iterator"). + Closes: #244894. + - Fortran + + Fix wrong behaviour in unformatted writing. Closes: #369547. + - Java + + Fixed segfault on -fdump-tree-all-all. Closes: #344265. + + Fixed ant code completion in eclipse generating a nullpointer + exception. Closes: #337510. + + Fixed abort in gnu_java_awt_peer_gtk_GtkImage.c. Closes: #343112. + + Fixed assertion failure in gij with rhdb-explain. Closes: #335650. + + Fixed assertion failure when calling JTabbedPane.addTab(null, ...). + Closes: #314704. + + Fixed error when displaying empty window with bound larger than the + displayed content. Closes: #324502. + + Fixed: Exception in JComboBox.removeAllItems(). Closes: #314706. + + Fixed assertian error in gnu_java_awt_peer_gtk_GtkImage.c. + Closes: #333733. + - libmudflap + + PR libmudflap/23170, libmudflap should not use functions marked + obsolescent by POSIX/SUS. Closes: #320398. + - Architecture specific: + - m68k + + FTBFS building tin. Closes: #323016. + + ICE with -g -fomit-frame-pointer. Closes: #331150. + + ICE in instantiate_virtual_regs_lossage. Closes: #333536. + + Wrong code generation with loop unrolling. Closes: #342121. + + ICEs while building gst-ffmpeg. Closes: #343692. + - mips + + Fix gjdoc build failure. Closes: #344986. + + Fix link failure for static libs and object files when xgot + needs to be used. Closes: #274942. + * gnat bug reports fixed since gnat-3.15p: + - GNAT miscounts UTF8 characters in string with -gnaty. Closes: #66175. + - Bug box from "with Text_IO" when compiling optimized. Closes: #243795. + - Nonconforming parameter lists not detected. Closes: #243796. + - Illegal use clause not detected. Closes: #243797. + - Compiler enters infinite loop on illegal program with tagged records. + Closes: #243799. + - Compiler crashes on illegal program (missing discriminant, unconstrained + parent). Closes: #243800. + - Bug box at sinfo.adb:1215 on illegal program. Closes: #243801. + - Bug box at sinfo.adb:1651 on illegal program. Closes: #243802. + - Illegal program not detected (entry families). Closes: #243803. + - Illegal program not detected, RM 10.1.1(14). Closes: #243807. + - Bug box at exp_ch9.adb:7254 on illegal code. Closes: #243812. + - Illegal program not detected, RM 4.1.4(14). Closes: #243816. + - Bug box in Gigi, code=116, on legal program. Closes: #244225. + - Illegal program not detected, 12.7(10) (generic parameter is visible, + shouldn't be). Closes: #244483. + - Illegal program not detected, ambiguous aggregate. Closes: #244496. + - Bug box at sem_ch3.adb:8003. Closes: #244940. + - Bug box in Gigi, code=103, on illegal program. Closes: #244945. + - Legal program rejected, overloaded procedures. Closes: #246188. + - Bug box in Gigi, code=999, on legal program. Closes: #246388. + - Illegal program not detected, RM 10.1.6(3). Closes: #246389. + - Illegal program not detected, RM 3.10.2(24). Closes: #247014. + - Illegal program not detected, RM 3.9(17). Closes: #247015. + - Legal program rejected. Closes: #247016. + - Legal program rejected. Closes: #247021. + - Illegal program not detected, RM 4.7(3). Closes: #247022. + - Illegal program not detected, RM 3.10.2(27). Closes: #247562. + - Legal program rejected, "limited type has no stream attributes". + Closes: #247563. + - Wrong output from legal program. Closes: #247565. + - Compiler enters infinite loop on illegal program. Closes: #247567. + - Illegal program not detected, RM 8.6(31). Closes: #247568. + - Legal program rejected, visible declaration not seen. Closes: #247572. + - Illegal program not detected, RM 8.2(9). Closes: #247573. + - Wrong output from legal program, dereferencing access all T'Class. + Closes: #248171. + - Compiler crashes on illegal program, RM 5.2(6). Closes: #248174. + - Cannot find generic package body, RM 1.1.3(4). Closes: #248677. + - Illegal program not detected, RM 3.4.1(5). Closes: #248679. + - Compiler ignores legal override of abstract subprogram. Closes: #248686. + - Bug box, Assert_Failure at sinfo.adb:2365 on illegal program. + Closes: #251266. + - Ada.Numerics.Generic_Elementary_Functions.Log erroneout with -gnatN. + Closes: #263498. + - Bug box, Assert_Failure at atree.adb:2906 or Gigi abort, code=102 + with -gnat -gnatc. Closes: #267788. + - Bug box in Gigi, code=116, 'Unrestricted_Access of a protected + subprogram. Closes: #269775. + - Stack overflow on illegal program, AI-306. Closes: #276225. + - Illegal program not detected, RM B.1(24). Closes: #276226. + - Wrong code generated with -O -fPIC. Closes: #306833. + - Obsolete: bashism's in debian/rules file. Closes: #370681. + - Supports more debian architectures. Closes: #171477. + + -- Matthias Klose Sat, 8 Jul 2006 16:24:47 +0200 + +gcc-4.1 (4.1.1-7) unstable; urgency=low + + * Prefer gnat-4.1 over gnat-4.0 as a build dependency. + * libssp0: Set priority to standard. + + -- Matthias Klose Sun, 2 Jul 2006 10:22:50 +0000 + +gcc-4.1 (4.1.1-6) unstable; urgency=low + + [Ludovic Brenta] + * Do not provide the symbolic link /usr/bin/gnatgcc; this will now + be provided by package gnat from the source package gcc-defaults. + * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1), + not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1) + which depends on gnat-4.1. + + [Matthias Klose] + * libjava: Change the default for enable_hash_synchronization_default + on PA-RISC. Tighten the libgcj7 shlibs version on hppa. + * Update to SVN 20060630. + * Apply proposed patch for PR 26991. + * Don't use the version for the libstdc++ shlibs dependency for the libgcj + shlibs dependency. + * Merge from Ubuntu edgy: + - Fix %g7 usage in TLS, add patch sparc-g7.dpatch, fixes glibc-2.4 build + failure on sparc (Fabio M. Di Nitto). + - Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option). + - Run the testsuite with -fstack-protector as well. + + [Bastian Blank] + * Make it possible to overwrite arch per DEB_TARGET_ARCH and DEB_TARGET_GNU_TYPE. + * Disable biarch only on request for cross builds. + * Use correct source directory for tarballs. + * Produce correct multiarch.inc for source builds. + + -- Matthias Klose Sat, 1 Jul 2006 01:49:55 +0200 + +gcc-4.1 (4.1.1-5) unstable; urgency=low + + * Fix build error running with dpkg-buildpackage -rsudo. + + -- Matthias Klose Wed, 14 Jun 2006 01:54:13 +0200 + +gcc-4.1 (4.1.1-4) unstable; urgency=low + + * Really do not backout the fix for PR c++/26068. + Closes: #372152, #372559. + * Update fastjar version string to 4.1. + * Disable pascal again. + + -- Matthias Klose Mon, 12 Jun 2006 20:29:57 +0200 + +gcc-4.1 (4.1.1-3) unstable; urgency=low + + * Update to SVN 20060608, do not revert the fix for PR c++/26068. + Closes: #372152, #372559. + * Fix build failures for Pascal, enable Pascal on all architectures. + * Fix another build failure on GNU/kFreeBSD (Aurelien Jarno). + Closes: #370661. + * Fix build fauilure in gcc/p with parallel make. + * Remove cross-configure patch (Kazuhiro Inaoka). Closes: #370649. + * Only build the gcc-4.1-source package, when building from the gcc-4.1 + source. + * Fix upgrade problem from standalone gcj-4.1. + * Fix build error using bison-2.2, build-depend on bison (>= 2.3). + Closes: #372605. + * Backport PR libstdc++/25524 from the trunk, update the biarch-include + patch. mips triarch support can be added more easily. + + -- Matthias Klose Mon, 12 Jun 2006 00:23:45 +0200 + +gcc-4.1 (4.1.1-2) unstable; urgency=low + + * Update to SVN 20060604. + - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID. + Closes: #356569. + - Fix PR target/27158, ICE in extract_insn with -maltivec. + Closes: #362307. + * Revert PR c++/26068 to work around PR c++/27884 (Martin Michlmayr). + Closes: #370308. + * Mention Ada in copyright, update copyright file (Ludovic Brenta). + Closes: #366744. + * Fix kbsd-gnu-java.dpatch (Petr Salinger). Closes: #370320. + * Don't include version control files in gcc-4.1-source. + + -- Matthias Klose Sun, 4 Jun 2006 19:13:37 +0000 + +gcc-4.1 (4.1.1-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20060601. + * Reenable the gpc build. + * PR libgcj/26483, libffi patch for IA-64 denorms, taken from trunk. + * Disable Ada for m32r targets. Closes: #367595. + * lib32gfortran1: Do not create empty directory /usr/lib32. Closes: #367999. + * gcc-4.1: Add a conflict to the gcj-4.1 version with a different + gcc_libdir. + * Build gij/gcj for GNU/k*BSD. Closes: #367166. + * Update hurd-changes patch (Michael Banck). Closes: #369690. + * debian/copyright: Add exception for the gpc runtime library. + * Update gpc/gpc-doc package descriptions. + + [Ludovic Brenta] + * patches/ada-libgnatprj.dpatch: add prj-pars.ad[bs] and sfn_scan.ad[bs] + to libgnatprj; remove them from gnatmake. + + -- Matthias Klose Thu, 1 Jun 2006 20:35:54 +0200 + +gcc-4.1 (4.1.0-4) unstable; urgency=low + + [Ludovic Brenta] + * Fix a stupid bug whereby fname.ad{b,s} would be included in both + libgnatvsn-dev and libgnatprj-dev, preventing use of gnatprj.gpr. + Closes: #366733. + + -- Matthias Klose Thu, 11 May 2006 04:34:50 +0200 + +gcc-4.1 (4.1.0-3) unstable; urgency=low + + * Update to SVN 20060507. + * debian/rules.d/binary-java.mk: Use $(lib32) everywhere. Closes: #365388. + * Always configure hppa64-linux-gnu with + --includedir=/usr/hppa64-linux-gnu/include. + * Make libgnatvsn4.1 and libgnatprj4.1 priority optional. Closes: #365900. + * Call autoconf2.13 explicitely in the Ada patches, build-depend on + autoconf2.13. Closes: #365780. + * Fix libgnatprj-dev and libgnatvsn-dev dependencies on their shared + libraries. + * Deduce softfloat and vfp (ARM) configure options (Pjotr Kourzanov). + * Update proposed patch for PR26885 (May 2 version). + * Build the libxxstdc++-dbg packages, when not building the library pacakges. + * Do not include the _pic library in the libxxstdc++-dbg packages. + + -- Matthias Klose Sun, 7 May 2006 15:29:53 +0200 + +gcc-4.1 (4.1.0-2) unstable; urgency=medium + + * Update to SVN 20060428. + * Apply proposed patches for PR26885. + + * Keep libffi doc files in its own directory. Closes: #360466. + * Update ppc64 patches for 4.1 (Andreas Jochens). Closes: #360498. + * Fix PR tree-optimization/26763, wrong-code, taken from the 4.1 branch. + Closes: #356896. CVE-2006-1902. + * hppa-cbranch, hppa-cbranch2 patches: Fix for PR target/26743, + PR target/11254, PR target/10274, backport from trunk (Randolph Chung). + * Let libgccN provide -dcv1 when cross-compiling (Pjotr Kourzanov). + Closes: #363289. + * (Build-)depend on glibc-2.3.6-7. Closes: #360895, #361904. + * Fix a pedantic report about a package description. Add a hint that + we do not like bug reports with locales other than "C". Closes: #361409. + * Enable the libjava interpreter on mips/mipsel. + * gcc-4.1-source: Depend on gcc-4.1-base. + * gnat-4.1: Fix permissions of .ali files. + * Build lib32gcj7 on amd64. + * debian/patches/ada-gnatvsn.dpatch: New. Apply proposed fix for + PR27194. + + [Ludovic Brenta] + * debian/patches/ada-default-project-path.dpatch: new. Change the + default search path for project files to the one specified + by the Debian Policy for Ada: /usr/share/ada/adainclude. + * debian/patches/ada-symbolic-tracebacks.dpatch: new. Enable support for + symbolic tracebacks in exceptions. + * debian/patches/ada-missing-lib.dpatch: remove, superseded by the above. + * debian/patches/ada-link-lib.dpatch: changed. + - Instead of building libada as a target library only, build it as + both a host and, if different, target library. + - Build the GNAT tools in their top-level directory; do not use + recursive makefiles. + - Link the GNAT tools dynamically against libgnat. + - Apply proposed fix for PR27300. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-libgnatvsn.dpatch: new. + - Introduce a new shared library named libgnatvsn, containing + common components of GNAT under the GNAT-Modified GPL, for + use in GNAT tools, ASIS, GLADE and GPS. + - Link the gnat tools against this new library. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-libgnatprj.dpatch: new. + - Introduce a new shared library named libgnatprj, containing the + GNAT Project Manager, i.e. the parts of GNAT that parses project + files (*.gpr). Licensed under pure GPL; for use in GLADE and GPS. + - Link the gnat tools against this new library. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-acats.dpatch: new. + - When running the ACATS, look for the gnat tools in their new + directory (build/gnattools), and for the shared libraries in + build/gcc/ada/rts, build/libgnatvsn and build/libgnatprj. + * debian/gnatvsn.gpr, debian/gnatprj.gpr: new. + * debian/rules.d/binary-ada.mk, debian/control.m4: new binary packages: + libgnatvsn-dev, libgnatvsn4.1, libgnatprj-dev, libgnatprj4.1. Place + the *.gpr files in their respective -dev packages. + + -- Matthias Klose Sat, 29 Apr 2006 00:32:09 +0200 + +gcc-4.1 (4.1.0-1) unstable; urgency=low + + * libstdc++CXX-BV-dev.preinst: Remove (handling of c++ include dir for 4.0). + * libgcj-common: Move removal of docdir from preinst into postinst. + * libgcj7: Move removal of docdir from preinst into postinst. + * Drop alternative build dependency on gnat-3.4, not built anymore. + * Fix PR libgcj/26103, wrong exception thrown (4.1 branch). + * debian/patches/libjava-stacktrace.dpatch: Add support to print file names + and line numbers in stacktraces. + * Add debugging symbols for libgcjawt and lib-gnu-java-awt-peer-gtk + in the libgcj7-dbg and lib32gcj7-dbg packages. + * Remove dependency of the libgcj-dbg packages on the libgcj-dev packages, + add recommendations on binutils and libgcj-dev. Mention the requirement + of binutils for the stacktraces. + * Fix upgrade from version 4.0.2-9, loosing the Debian changelog. + Closes: #355439. + * gij/gcj: Install one alternative for each command, do not use slave + links for rmiregistry, javah, rmic. Ubuntu #26781. Closes: #342557. + * Fix for PR tree-optimization/26587, taken from the 4.1 branch. + * Fix PR libstdc++/26526 (link failure when _GLIBCXX_DEBUG is defined). + * Configure with --enable-clocale=gnu, even if not building C++ packages. + * Remove runtime path from biarch libraries as well. + * PR middle-end/26557 (ice-on-vaild-code, regression), taken from + the gcc-4_1-branch. Closes: #349083. + * PR tree-optimization/26672 (ice-on-vaild-code, regression), taken from + the gcc-4_1-branch. Closes: #356231. + * PR middle-end/26004 (rejects-vaild-code, regression), taken from + the gcc-4_1-branch. + * When building as standalone gcj, build libgcc4 (hppa only) and fastjar. + * Configure --with-cpu=v8 on sparc. + * debian/patches/libjava-hppa.dpatch: pa/pa32-linux.h + (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O is defined. + (John David Anglin). Closes: #353346. + * Point to the 4.1 version of README.Bugs (closes: #356230). + * Disable the libmudflap testsuite on alpha (getting killed). + + -- Matthias Klose Sat, 18 Mar 2006 23:00:39 +0100 + +gcc-4.1 (4.1.0-0) experimental; urgency=low + + * GCC 4.1.0 final release. + * Build the packages for the Java language from a separate source. + * Update NEWS.html, NEWS.gcc. + * libgcj-doc: Auto generated API documentation for libgcj7, classpath + example programs. + * Add gjdoc to Build-Depends-Indep. + * On amd64, build-depend on libc6-dev-i386 instead of ia32-libs-dev. + * Internal ssp headers now installed in the gcc libdir. + * Do not build gcj-4.1-base when building the gcc-4.1 packages. + * When building as gcj-4.1, use the tarball from the gcc-4.1-source + package. + + [Ludovic Brenta] + * Allow to enable and disable NLS and bootstrapping from the environment. + - Adding "nls" to WITHOUT_LANG disables NLS support. + - If WITH_BOOTSTRAP is set, debian/rules2 calls configure + --enable-bootstrap=$(WITH_BOOTSTRAP) and just "make". If + WITH_BOOTSTRAP is unset, it calls configure without a bootstrapping + option and calls "make profiledbootstrap" or "make bootstrap-lean" + depending on the target CPU. + Currently overwritten to default to "bootstrap". + + -- Matthias Klose Thu, 2 Mar 2006 00:03:45 +0100 + +gcc-4.1 (4.1ds9-0exp9) experimental; urgency=low + + * Update to GCC 4.1.0 release candidate 1 (gcc-4.1.0-20060219 tarball). + * Update gcc-version patch for gcc-4.1. + * libgccN, libstdc++N*: Fix upgrade of /usr/share/doc symlinks. + * libjava awt & swing update, taken from trunk 2006-02-16. + * libgcj7-dev: Suggest libgcj-doc, built from a separate source package. + * Shorten build-dependency line (work around buildd problems + on arm* and mips*). + * New patch gcc-ice-hack (saving the preprocessed source on an ICE), + taken from Fedora. + + -- Matthias Klose Mon, 20 Feb 2006 10:07:23 +0100 + +gcc-4.1 (4.1ds8-0exp8) experimental; urgency=low + + * Update to SVN 20060212, taken from the 4.1 release branch. + * libgccN: Fix upgrade of /usr/share/doc/libgccN symlink. + + -- Matthias Klose Sun, 12 Feb 2006 19:48:31 +0000 + +gcc-4.1 (4.1ds7-0exp7) experimental; urgency=low + + * Update to SVN 20060127, taken from the 4.1 release branch. + - On hppa, bump the libgcc soversion to 4. + * Add an option not to depend on the system -base package for cross compiler + (Ian Wienand). Closes: #347484. + * Remove workaround increasing the stack size limit for some architectures, + not needed anymore on ia64. + * On amd64, build-depend on libc6-dev-i386, depend on libc6-i386, where + available. + * libstdc++6: Properly upgrade the doc directory. Closes: #346171. + * libstdc++6: Add a conflict to scim (<< 1.4.2-1). Closes: #343313. + * Set default 32bit ix86 architecture to i486. + + -- Matthias Klose Fri, 27 Jan 2006 22:23:22 +0100 + +gcc-4.1 (4.1ds6-0ubuntu6) experimental; urgency=low + + * Update to SVN 20060107, taken from the 4.1 release branch. + - Remove fix for PR ada/22533, fixed by patch for PR c++/23171. + * Remove binary packages from the control file, which aren't built + yet on any architecture. + * gcc-hppa64: Use /usr/hppa64-linux-gnu/include as location for the glibc + headers, tighten glibc (build-)dependency. + * libffi [arm]: Add support for closures, libjava [arm]: enable the gij + interpreter (Phil Blundell). Addresses: #337263. + * For the gcj standalone build, include cc1 into the gcj-4.1 package, + needed for linking java programs compiled to native code. + + -- Matthias Klose Sat, 7 Jan 2006 03:36:33 +0100 + +gcc-4.1 (4.1ds4-0exp4) experimental; urgency=low + + * Update to SVN 20051210, taken from the 4.1 release branch. + * Prepare to build the java packages from it's own source (merged + from Ubuntu). + - Build the java packages from the gcc-4.1 source, as long as packages + are prepared for experimental. + - When built as gcj, run only the libjava testsuite, don't build the + libstdc++ debug packages, don't package the gcc source. + - Loosen package dependencies, when java packages are built from + separate sources. + - Fix gcj hppa build, when java packages are built from separate sources. + - gij-4.1: Install test-summary, when doing separate builds. + - Allow java packages be installed independent from other packages built + from the source package. + - Rename libgcj7-common to libgcj7-jar. + - Introduce a gcj-4.1-base package to completely separate the two and not + duplicate the changelog in each gcj/gij package. + * Java related changes: + - libjava-xml-transform: Update from classpath trunk, needed for + eclipse (Michael Koch), applied upstream. + - Fix java wrapper scripts to point to 4.1 (closes: #341710). + - Reenable java on mips and mipsel. + - Fix libgcj6 dependency. Ubuntu #19935. + - Add libxt-dev as a java build dependency. autoconf explicitely checks + for X11/Intrinsic.h. + * Ada related changes: + - Apply proposed fix for PR ada/22533, reenable ada on alpha, powerpc, + mips, mipsel and s390. + - Add Ada support for GNU/kFreeBSD (Aurelien Jarno). Closes: #341356. + - Remove ada bootstrap workaround for alpha. + * Build a separate gcc-4.1-source package (Bastian Blank). Closes: #333922. + * Remove obsolete patch: libstdc++-automake. + * Remove patch integrated upstream: libffi-mips. + * Fix the installation of the hppa64 compiler in snapshot builds. + * Rename libgfortran0* to libgfortran1* (upstream soversion change). + * Add a dependency on libc-dev for all compilers / -dev packages except + gcc (which can be used for kernel builds without libc-dev). + * libffi4-dev: Fix package description. + * On amd64, install 32bit libraries into /emul/ia32-linux/usr/lib. + Addresses: #341147. + * Fix installation of biarch libstdc++ headers on amd64. + * Configure --with-tune=i686 on ix86 architectures (on Ubuntu with + -mtune=pentium4). Remove the cpu-default-* patches. + * debian/control.m4: Fix libxxgcc package names. + * Update the build infrastructure to build cross compilers + (Nikita V. Youshchenko). + * Tighten binutils (build-)dependency. Closes: #342484. + * Symlink more doc directories. + * debian/control.m4: Explicitely set Architecture for biarch packages. + + -- Matthias Klose Sat, 10 Dec 2005 16:56:45 +0100 + +gcc-4.1 (4.1ds1-0ubuntu1) UNRELEASED; urgency=low + + * Build Java packages only. + * Update to SVN 20051121, taken from the 4.1 release branch. + - Remove libjava-saxdriver-fix patch, applied upstream. + - Remove ada-gnat-version patch, applied upstream. + * Fix FTBFS in biarch builds on 32bit kernels. + * Update libstdc++-doc doc-base file (closes: #339046). + * Remove obsolete patch: gcc-alpha-ada_fix. + * Fix installation of biarch libstdc++ headers (Ubuntu #19655). + * Fix sparc and s390 biarch patches to build the 64bit libffi. + * Work around biarch build failure in libjava/classpath/native/jni/midi-alsa. + * Install spe.h header on powerpc. + * Add libasound build dependencies. + * libgcj: Fix installation of libgjsmalsa library. + * Remove patches not used anymore: libjava-no-rpath, i386-config-ml-nomf, + libobjc, multiarch-include, disable-biarch-check-mf, gpc-profiled, + gpc-no-gpidump, libgpc-shared, acats-expect. + * Fix references to manuals in gnat(1). Ubuntu #19772. + * Remove build dependency on xlibs-dev, add libxtst-dev. + * Do not configure with --disable-werror. + * Merge *-config-ml patches into one config-ml patch, configure the biarch + libs in debian/rules.defs. + * debian/gcj-wrapper: Accept -Xss. + * Do not build biarch java on Debian (missing biarch libasound). + * Do not build the java packages from this source package, avoiding + dependencies on X. + + -- Matthias Klose Mon, 21 Nov 2005 20:29:43 +0100 + +gcc-4.1 (4.1ds0-0exp0) experimental; urgency=low + + * Configure libstdc++ using the default allocator. + * Update to 20051112, taken from the svn trunk. + + -- Matthias Klose Sat, 12 Nov 2005 23:47:01 +0100 + +gcc-4.1 (4.1ds0-0ubuntu0) breezy; urgency=low + + * UNRELEASED + * First snapshot of gcc-4.1 (CVS 20051019). + - adds SSP support (closes: #213994, #233208). + * Remove patches applied upstream/not needed anymore. + * Update patches for 4.1: link-libs, gcc-textdomain, libjava-dlsearch-path, + rename-info-files, reporting, classmap-path, i386-biarch, sparc-biarch, + libjava-biarch-awt, ada-gcc-name. + * Disable patches: + - 323016, m68k, necessary for 4.1? + * debian/copyright: Update for 4.1. + * debian/control, debian/control.m4, debian/rules.defs, debian/rules.conf: + Update for 4.1, add support for Obj-C++ and SSP. + * Fix generation of Ada docs in info format. + * Set Ada library version to 4.1. + * Drop gnat-3.3 as an alternative build dependency. + * Use fortran instead of f95 for the build files. + * Update build support for awt peer libs. + * Add packaging support for SSP library. + * Add packaging support for Obj-C++. + * Run the testsuite for -march=i686 on i386 and amd64 as well. + * Fix generation of Pascal docs in html format. + * Update config-ml patches to build libssp biarch. + * Disable libssp for hppa64 build. + * libgcj7-dev: Install jni_md.h. + * Disable gnat for powerpc, currently fails to build. + * Add biarch runtime lib packages for ssp, mudflap, ffi. + * Do not explicitely configure with --enable-java-gc=boehm, which is the + default. + * libjava-saxdriver-fix: Fix a problem in the Aelfred2 SAX parser. + * libstdc++6-4.0-dev: Depend on the libc-dev package. Ubuntu #18885. + * Build-depend on expect-tcl8.3 on all architectures. + * Build-depend on lib32z1-dev on amd64 and ppc64, drop build dependency on + amd64-libs. + * Disable ada on alpha mips mipsel powerpc s390, currently broken. + + -- Matthias Klose Wed, 19 Oct 2005 11:02:31 +0200 + +gcc-4.0 (4.0.2-3) unstable; urgency=low + + * Update to CVS 20051015, taken from the gcc-4_0-branch. + - gcc man page fixes (closes: #327254, #330099). + - PR java/19870, PR java/20338, PR java/21844, PR java/21540: + Remove Debian patches. + - Applied libjava-echo-fix patch. + - Fix PR target/24284, ICE (Segmentation fault) on sparc-linux. + Closes: #329840. + - Fix PR c++/23797, ICE on typename outside template. Closes: #325545. + - Fix PR c++/22551, ICE in tree_low_cst. Closes: #318932. + * libstdc++6: Tighten libstdc++ shlibs version to 4.0.2-3 (new symbol). + * Update generated Ada files. + * Fix logic to disable mudflap and Obj-C++ via the environment. + * Remove f77 build bits. + * gij-4.0: Remove /var/lib/gcj-4.0/classmap.db on purge (closes: #330800). + * Let gcj-4.0 depend on libgcj6-dev, instead of recommending it. This is + not necessary for byte-code compilations, but for compilations to native + code. For compilations to byte-code, use a better compiler like ecj + for now (found in the ecj-bootstrap package). + * Disable biarch setup in cross compilers (Josh Triplett). Closes: #333952. + * Fix with_libnof logic for cross-compilations (Josh Triplett). + Closes: #333951. + * Depend on binutils (>= 2.16.1cvs20050902-1) on the alpha architecture. + Closes: #333954. + * On i386, build-depend on libc6-dev-amd64. Closes: #329108. + * (Build-)depend on glibc 2.3.5-5. + + -- Matthias Klose Sun, 2 Oct 2005 14:25:54 +0200 + +gcc-4.0 (4.0.2-2) unstable; urgency=low + + * Update to CVS 20051001, taken from the gcc-4_0-branch. Includes the + changes between 4.0.2 RC3 and the final 4.0.2 release, missing from + the upstream tarball. Remove patches applied upstream (gcc-c-decl, + pr23182, pr23043, pr23367, pr23891, pr21418, pr24018). + * On ix86 architectures run the testsuite for -march=i686 as well. + * Build libffi on the Hurd (closes: #328705). + * Add big-endian arm (armeb) support (Lennert Buytenhek). Closes: #330730. + * Update libjava xml to classpath CVS HEAD 20050930 (Michael Koch). + * Reapply patch to make -mieee the default on alpha-linux. Closes: #330826. + * Add workaround not to make libmudflap _start/_end not small data on + mips/mipsel, taken from CVS HEAD. + * Don't build the nof libraries on powerpc. + * Number crunching time on m68k, reenable gfortran on m68k-linux-gnu. + + -- Matthias Klose Sat, 1 Oct 2005 15:42:10 +0200 + +gcc-4.0 (4.0.2-1) unstable; urgency=low + + * GCC 4.0.2 release. + * lib64stdc++6: Set priority to optional. + * Fix bug in StreamSerializer, seen with eclipse-3.1 (Ubuntu 12744). + Backport from CVS HEAD, Michael Koch. + * Apply java patches, proposed for the 4.0 branch: PR java/24018, + PR libgcj/23182, PR java/19870, PR java/21844, PR libgcj/23367, + PR java/20338. + * Update the expect/pty test to actually call expect directly, rather + than test for the existence of PTYs, since a working expect is what + we really care about, not random device files (Adam Conrad). + Closes: #329715. + * Add build dependencies on lib64z1-dev. + * gcc-c-decl.dpatch: Fix C global decl handling regression in 4.0.2 from + 4.0.1 + + -- Matthias Klose Thu, 29 Sep 2005 19:50:08 +0200 + +gcc-4.0 (4.0.1-9) unstable; urgency=low + + * Update to CVS 20050922, taken from the gcc-4_0-branch (4.0.2 RC3). + * Apply patches: + - Fix PR java/21418: Order of source files matters when compiling, + backported from mainline. + - Fix for PR 23043, backported form mainline. + - Proposed patch for #323016 (m68k only). Patch by Roman Zippel. + * libstdc++6: Tighten libstdc++ shlibs version to 4.0.1-9 (new symbol). + * Fail the build early, if the system doesn't have any pty devices + created in /dev. Needed for running the testsuite. + * Update hurd changes again (closes: #328973). + + -- Matthias Klose Thu, 22 Sep 2005 07:28:18 +0200 + +gcc-4.0 (4.0.1-8) unstable; urgency=medium + + * Update to CVS 20050917, taken from the gcc-4_0-branch. + - Fix FTBFS for boost, introduced in 4.0.1-7 (closes: #328684). + * Fix PR java/23891, eclipse bootstrap. + * Set priority of gcc-4.0-hppa64 package to standard. + * Bump standards version to 3.6.2. + * Fix java wrapper script, mishandles command line options with arguments. + Patch from Olly Betts. Closes: #296456. + * Bump epoch of the lib32gcc1 package to the same epoch as for the the + libgcc1 and lib64gcc1 packages. + * Fix some lintian warnings. + * Build libffi on the Hurd (closes: #328705). + * For biarch builds, disable the testsuite for the non-default architecture + for runtime libraries, which are not built by default (libjava). + * Add gsfonts-x11 to Build-Depends-Indep to avoid warnings from doxygen. + * Install Ada .ali files read-only. + + -- Matthias Klose Sat, 17 Sep 2005 10:35:23 +0200 + +gcc-4.0 (4.0.1-7) unstable; urgency=low + + * Update to CVS 20050913, taken from the gcc-4_0-branch. + - Fix PR c++/19004, ICE in uses_template_parms (closes: #284777). + - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc. + Closes: #321215. + - Fix PR libstdc++/23417, make bits/stl_{list,tree}.h -Weffc++ clean. + Closes: ##322170. + * Install 'altivec.h' on ppc64 (closes: #323945). + * Install locale data with the versioned package name (closes: #321591). + * Fix fastjar build without building libjava. + * On hppa, don't build using gcc-3.3 when ada is disabled. + * On m68k, don't build the stage1 compiler using -O. + + * Ludovic Brenta + - Allow the choice whether or not to build with NLS. + - Fix a typo whereby libffi was always enabled on i386. + + -- Matthias Klose Tue, 13 Sep 2005 23:23:11 +0200 + +gcc-4.0 (4.0.1-6) unstable; urgency=low + + * Update to CVS 20050821, taken from the gcc-4_0-branch. + - debian/patches/pr21562.dpatch: Removed, applied upstream. + - debian/patches/libjava-awt-name.dpatch: Updated. + - debian/patches/classpath-20050618.dpatch: Updated. + * Use all available CPU's for the check target, unless USE_NJOBS == no. + * debian/patches/biarch-include.dpatch: Include + /usr/local/include/-linux-gnu before including /usr/local/include. + * Fix biarch system include directories for the non-default architecture. + * Prefer gnat-4.0 over gnat-3.4 over gnat-3.3 as a build-dependency. + + -- Matthias Klose Thu, 18 Aug 2005 18:36:23 +0200 + +gcc-4.0 (4.0.1-5) unstable; urgency=low + + * Update to CVS 20050816, taken from the gcc-4_0-branch. + - Fix PR middle-end/23369, wrong code generation for funcptr comparison + on hppa. Closes: #321785. + - Fix PR fortran/23368 ICE with NAG routines (closes: #322912). + * Build-depend on libcairo2-dev (they say, that's the final package name ...) + * libgcj: Search /usr/lib/gcj-4.0 for dlopened libraries, place a copy + of the .la files in the libgcj6 package into this directory. + Closes: #322576. + * Tighten the dependencies between the compiler packages to the same + version and release. Use some substitution variables for control file + generation. + * Remove build dependencies for gpc. + * Don't use '/emul/ia32-linux' on ppc64 (closes: #322890). + * Synchronize with Ubuntu. + + -- Matthias Klose Tue, 16 Aug 2005 22:45:47 +0200 + +gcc-4.0 (4.0.1-4ubuntu1) breezy; urgency=low + + * Jeff Bailey + + Enable i386 biarch using biarch glibc (not yet enabled for unstable). + - debian/rules.d/binary-libgcc.mk: Make i386 lib64gcc1 depend on + libc6-amd64 + - debian/control.m4: Suggest libc6-amd64 rather than amd64-libs. + - debian/rules.conf: Build-Dep on libc6-dev-amd64 [i386] + Build-Dep on binutils >= 2.16.1-2ubuntu3 + - debian/rules2: Enable biarch build in Ubuntu. + + * Matthias Klose + + - Add shlibs file and dependency information for the lib32gcc1 package. + - debian/patches/gcc-textdomain.dpatch: Update (closes: #321591). + - Set priority of gcc-4.0-base and libstdc++6 packages to `required'. + Closes: #321016. + - libffi-hppa.dpatch: Remove, applied upstream. + + -- Matthias Klose Mon, 8 Aug 2005 19:39:02 +0200 + +gcc-4.0 (4.0.1-4) unstable; urgency=low + + * Enable the biarch compiler for powerpc (closes: #268023). + * Update to CVS 20050806, taken from the gcc-4_0-branch. + * Build depend on libcairo0.6.0-dev (closes: #321540). + * Fix Ada build on the hurd (closes: #321350). + * Update libffi for mips (Thiemo Seufer). Closes: #321100. + * Fix segfault on 64bit archs in the AWT Gtk peer library (Dan Frazier). + Closes: #320915. + * Add libXXgcc1 build dependencies for biarch builds. + + -- Matthias Klose Sun, 7 Aug 2005 07:01:59 +0000 + +gcc-4.0 (4.0.1-3) unstable; urgency=medium + + * Update to CVS 20050725, taken from the gcc-4_0-branch. + - Fix ICE with -O and -mno-ieee-fp/-ffast-math (closes: #319087). + * Synchronize with Ubuntu. + * Fix applying hurd specific patches for the hurd build (closes: #318443). + * Do not build-depend on libmpfr-dev on architectures, where fortran + is not built. + * Apply biarch include patch on ppc64 as well (closes: #318603). + * Correct libstdc++-dev package description (closes: #319082). + * debian/rules.defs: Replace DEB_TARGET_GNU_CPU with DEB_TARGET_ARCH_CPU. + * gcc-4.0-hppa64: Rename hppa64-linux-gcc to hppa64-linux-gnu-gcc. + Closes: #319818. + + -- Matthias Klose Mon, 25 Jul 2005 10:43:06 +0200 + +gcc-4.0 (4.0.1-2ubuntu3) breezy; urgency=low + + * Update to CVS 20050720, taken from the gcc-4_0-branch. + - Fix PR22278, volatile issues, seen when building xorg. + * Build against new libcairo1-dev (0.5.2). + + -- Matthias Klose Wed, 20 Jul 2005 12:29:50 +0200 + +gcc-4.0 (4.0.1-2ubuntu2) breezy; urgency=low + + * Acknowledge that i386 biarch builds still need to be fixed for glibc-2.3.5. + + -- Matthias Klose Tue, 19 Jul 2005 08:29:30 +0000 + +gcc-4.0 (4.0.1-2ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + * Update to CVS 20050718, taken from the gcc-4_0-branch. + - Fix PR c++/22132 (closes: #318488), upcasting a const class pointer + to struct the class derives from generates wrong code. + * Build biarch runtime libraries for Fortran and ObjC. + * Apply proposed patch for PR22309 (crash with mt_allocator if libstdc++ + is dlclosed). Closes: #293466. + + -- Matthias Klose Mon, 18 Jul 2005 17:10:18 +0200 + +gcc-4.0 (4.0.1-2) unstable; urgency=low + + * Don't apply the patch to make -mieee the default on alpha-linux-gnu. + Causes the bootstrap to fail on alpha-linux-gnu. + + -- Matthias Klose Tue, 12 Jul 2005 00:14:12 +0200 + +gcc-4.0 (4.0.1-1) unstable; urgency=high + + * GCC 4.0.1 final release. See /usr/share/doc/gcc-4.0/NEWS.{gcc,html}. + * Build fastjar on mips/mipsel, fix fastjar build without building java. + * Disable the comparision check on unstable/ia64. adaint.o differs, + currently cannot be reproduced with glibc-2.3.5 and binutils-2.16.1. + * libffi/hppa: Fix handling of 3 and 5-7 byte struct returns. + * amd64: Fix libgcc symlinks to point to /usr/lib32, instead of /lib32. + * On powerpc, don't build with -j >1, apparently doesn't succeeds + on the Debian buildd. + * Apply revised patch to make -mieee the default on alpha-linux, + and add -mieee-disable switch to turn the default off (Tyson Whitehead). + * Disable multiarch-includes; redo biarch-includes to include the paths + for the non-default biarch, when called with -m32/-m64. + * Move new java headers from libstdc++-dev to libgcj-dev, add replaces + line. + * Update classpath patch to work with cairo-0.5.1. Patch provided by + Michael Koch. + * Further classpath updates for gnu.xml and javax.swing.text.html. + Patch provided by Michael Koch. + * Require binutils (>= 2.16.1) as a build dependency and a dependency. + * On i386, require amd64-libs-dev (>= 1.2). + * Update debian/NEWS.{html,gcc}. + + * Closing bug reports reported against older gcc versions (some of them + still present in Debian, but not anymore as the default compiler). + Usually, forwarded bug reports are linked to + http://gcc.gnu.org/PR + The upstream bug number usually can be found in the Debian reports. + + * Closed reports reported against gcc-3.3 and fixed in gcc-3.4: + - General: + + PR rtl-optimization/2960: Duplicate loop conditions even with -Os + Closes: #94701. + + PR optimization/3995: i386 optimisation: joining tests. + Closes: #105309. + + PR rtl-optimization/11635: Unnecessary store onto stack, more + curefully expand union cast (closes: #202016). + + PR target/7618: vararg disallowed in virtual function. Closes: #205404. + + Large array problem on 64 bit platforms (closes: #209152). + + Mark more strings as translatable (closes: #227129). + + PR gcc/14711: ICE when compiling a huge source file Closes: #234711. + + Better code generation for if(!p) return NULL;return p; + Closes: #242318. + + PR rtl-optimization/16152: Perl ftbfs on {ia64,arm,m68k}-linux. + Closes: #255801. + + ICE (segfault) while compiling Linux 2.6.9 (closes: #277206). + + Link error building memtest (closes: #281445). + - Ada: + + PR ada/12450: Constraint error for valid input (closes: #210844). + + PR ada/13620: miscompilation of array initializer with + -O3 -fprofile-arcs. Closes: #226244. + - C: + + PR c/6897: Code produced with -fPIC reserves EBX, but compiles + bad __asm__ anyway (closes: #73065). + + PR c/9209: On i386, gcc-3.0 allows $ in indentifiers but not the asm. + Closes: #121282. + + PR c/11943: Accepts invalid declaration "int x[2, 3];" in C99 mode. + Closes: #177303. + + PR c/11942: restrict keyword broken in C99 mode. Closes: #187091. + + PR other/11370: -Wunreachable-code gives false complaints. + Closes: #196600. + + PR c/11369: Too relaxed checking with -Wstrict-prototypes. + Closes: #197504. + + PR c/11445: False positive warning with -Wunreachable-code. + Closes: #200140. + + PR c/11459: -stdc=c90 -pedantic warns about C90's non long-long + support when in C99 mode. Closes: #200392. + + PR c/456: Handling of constant expressions. Closes: #225935. + + ICE on invalid #define with -traditional (closes: #242916). + + No warning when initializing a variable with itself, new option + -Winit-self (closes: #293957). + - C++: + + C++ parse error (closes: #42946). + + PR libstdc++/9073: Replacement for __STL_ASSERTIONS (libstdc++v3 + debug mode). Closes: #128993. + + Parse errors in nested constructor calls (closes: #138561). + + PR optimization/1823: -ftrapv aborts with pointer difference due to + division optimization. Closes: #169862. + + ICE on invalid code (closes: #176101). + + PR c++/10199: ICE handling method parametrized by template. + Closes: #185604. + + High memory usage building packages OpenOffice.org and MythTV. + Closes: #194345, #194513. + + Improved documentation of std::lower_bound (closes: #196380). + + ICE in regenerate_decl_from_template (closes: #197674). + + PR c++/11444: Function fails to propagate up class tree + (template-related). Closes: #198042. + + ICE when using namespaced typedef of primitive type as struct. + Closes: #198261. + + Bug using streambuf / iostream to read from a named pipe. + Closes: #216105. + + PR c++/11437: ICE in lookup_name_real (closes: #200011). + + Add large file support (LFS) in libstdc++ (closes: #220000). + + PR c++/13621: ICE compiling a statement expression returning type + string (closes: #224413). + + g++ doesn't find inherited inner class after template instantiation. + Closes: #227518. + + PR libstdc++/13928: Add whatis info in man pages generated by doxygen. + Closes: #229642. + + Missing symbol _M_setstate in libstdc++ (closes: #232709). + + Unable to parse declaration of inline constructor explicit + specialization (closes: #234709). + + ICE (segfault) on invalid C++ code (closes: #246031). + + ICE in lookup_tempate_function (closes: #262441). + + Undefined symbols in libstdc++, when using specials char_traits. + Closes: #266110. + + PR libstdc++/16011: Outputting numbers with ostream in the locale fr_BE + causes infinite recursion (closes: #270795). + + ICE in tree_low_cst (closes: #276291). + + ICE in in expand_call (closes: #283503). + + typeof operator is misparsed in a template function (closes: #288555). + + ICE in tree_low_cs (closes: #291374). + + Improve uninformative error messages (closes: #292961, #293076). + + ICE on array initialization (closes: #294560). + + Failure to build xine-lib with -finline-functions (closes: #306854). + - Java: + + Fix error finding files in subdirectories (closes: #195480). + + Implement java.text.CollationElementIterator lacks getOffset(). + Closes: #259789. + - Treelang: + + Pointer truncation on 64bit architectures (closes: #308367). + - Architecture specific: + - alpha + + PR debug/10695: ICE on alpha while building agistudio. + Closes: #192568. + + ICE when building fceu (closes: #228018, #252764). + - amd64 + + Miscompilation of Objective-C code (closes: #250174). + + g++ hangs compiling k3d on amd64 (closes: #285364). + - arm + + PR target/19008: gcc -O3 -fPIC produces wrong code via auto inlining. + Closes: #285238. + - i386 + + PR target/4106: i386 -fPIC asm ebx clobber no error. + Closes: #153472. + + PR target/10984: x86/sse2 ICEs on vector intrinsics. Closes: #166940. + + Wrong code generation on at least ix86 (closes: #275655). + - m68k + + PR target/9201: ICE compiling octave-2.1 (closes: #175478). + + ICE in verify_initial_elim_offsets (closes: #204407, #257012). + + g77 generates invalid assembly code (closes: #225621). + + ICE in verify_local_live_at_start (closes #245584). + - powerpc + + PR optimization/12828: -floop-optimize is unstable on PowerPC (float + to int conversion problem). Closes: #218219. + + PR target/13619: ICE building altivec code in ffmpeg. + Closes: #226148. + + PR target/20046: Miscompilation of bind 9.3.0. Closes: #292958. + - sparc + + ICE (segfault) while building atlas3 on sparc32 (closes: #249108). + + Wrong optimization on sparc32 when building linux kernel. + Closes: #254626. + + * Closed reports reported against gcc-3.3 or gcc-3.4 and fixed in gcc-4.0: + - General: + + PR rtl-optimization/6901: Optimizer improvement (removing unused + local variables). Closes: #67206. + + PR middle-end/179: Failure to detect use of unitialized variable + with -O -Wall. Closes: #117765. + + ICE building glibc's nptl on amd64 (closes: #260710, #307993). + + PR middle-end/17827: ICE in make_decl_rtl. Closes: #270854. + + PR middle-end/21709: ICE on compile-time complex NaN. Closes: #305344. + - Ada: + + PR ada/10889: Convention Fortran matrices mishandled in generics. + Closes: #192135. + + PR ada/13897: Implement tasking on powerpc. Closes: #225346. + - C: + + PR c/13072: Bogus warning with VLA in switch. Closes: #218803. + + PR c/13519: typeof(nonconst+const) is const. Closes: #208981. + + PR c/12867: Incorrect warning message (void format, should be void* + format). Closes: #217360. + + PR c/16066: PR 16066] i386 loop strength reduction bug. + Closes: #254659. + - C++: + + PR c++/13518: -Wnon-virtual-dtor doesn't always work. Closes: #212260. + + PR translation/16025: ICE with unsupported locale(closes: #242158). + + PR c++/15125: -Wformat doesn't warn for different types in fprintf. + Closes: #243507. + + PR c++/15214: Warn only if the dtor is non-private or the class has + friends. (closes: #246639). + + PR libstdc++/17218: Unknown subjects in generated libstdc++ manpages. + Closes: #262934. + + PR libstdc++/17223: Missing .so references in generated libstdc++ + manpages. Closes: #262956. + + libstdc++-doc: Improve man pages (closes: #280910). + + PR c++/19006: ICE in tree_low_cst. Closes: #285692. + + g++ does not check arguments to fprintf. Closes: #281847. + - Java: + + PR java/7304: gcj ICE (closes: #152501). + + PR libgcj/7305: Installation of headers not directly in /usr/include. + Closes: #195483. + + PR libgcj/11941: libgcj timezone handling (closes: #203212). + + PR java/14709: gcj fails to wait for its child processes on exec(). + Closes: #238432. + + PR libgcj/21703: gcj hangs when rapidly calling String.intern(). + Closes: #275547. + + SocketChannel.get(ByteBuffer) returns 0 at EOF. Closes: #281602. + + PR java/19711: gcj segfaults instead of reporting the ambiguous + expression. Closes: #286715. + + Static libgcj contains repeated archive members (closes: #298263). + - Architecture specific: + - alpha + + Unaligned accesses with ?-operator (closes: #301983). + - arm + + Compilation error of glibc-2.3.4 on arm (closes: #298508). + - m68k + + ICE in add_insn_before (closes: #248432). + - mips + + Fix o32 ABI breakage in gcc 3.3/3.4 (closes: #270620). + - powerpc + + ICE in extract_insn (closes: #311128). + + * Closing bug reports as wontfix: + - g++ defines _GNU_SOURCE when using the libstdc++ header files. + Behaviour did change since 3.0. Closes: #126703, #164872. + + -- Matthias Klose Sat, 9 Jul 2005 17:10:54 +0000 + +gcc-4.0 (4.0.0ds2-12) unstable; urgency=high + + * Update to CVS 20050701, taken from the gcc-4_0-branch. + * Apply proposed patch for MMAP configure fix; aka PR 19877. Backport + from mainline. + * Disable Fortran on m68k. Currently FTBFS. + * Split multiarch-include/lib patches. Update multiarch-include patch. + * Fix FTBFS of the hppa64-linux cross compiler. Don't add the + multiarch include dirs when cross compiling. + * Configure --with-java-home, as used by java-gcj-compat. + Closes: #315646. + * Make libgcj-dbg packages priority extra. + * Set the path of classmap.db to /var/lib/gcj-@gcc_version@. + * On m68k, do not create the default classmap.db in the gcj postinst. + See #312830. + * On amd64, install the 32bit libraries into /emul/ia32-linux/usr/lib. + Restore the /usr/lib32 symlink. + * On amd64, don't reference lib64, but instead lib (lib64 is a symlink + to lib). Closes: #293050. + * Remove references to build directories from the .la files. + * Make cpp-X.Y conflict with earlier versions of gcc-X.Y, g++-X.Y, gobjc-X.Y, + gcj-X.Y, gfortran-X.Y, gnat-X.Y, treelang-X.Y, if a path component in + the gcc library path changes (i.e. version or target alias). + * Disable Ada for sh3 sh3eb sh4 sh4eb. + * For gcj-4.0, add a conflict to libgcj4-dev and libgcj5-dev. + Closes: #316499. + + -- Matthias Klose Sat, 2 Jul 2005 11:04:35 +0200 + +gcc-4.0 (4.0.0ds1-11) unstable; urgency=low + + * debian/rules.defs: Disable Ada for alpha. + * debian/rules.conf: Fix typo in type-handling replacement code. + * Don't ship an empty libgcj6-dbg package. + + -- Matthias Klose Thu, 23 Jun 2005 09:03:21 +0200 + +gcc-4.0 (4.0.0ds1-10) unstable; urgency=medium + + * debian/patches/libstdc++-api-compat.dpatch: Apply proposed patch + to fix libstdc++ 3.4.5/4.0 compatibility. + * type-handling output became insane. Don't use it anymore. + * Drop the reference to the stl-manual package (closes: #314983). + * Disable java on GNU/kFreeBSD targets, requested by Robert Millan. + Closes: #315140. + * Terminate the acats-killer process, even if the build is aborted + by the user (closes: #314405). + * debian/rules.defs: Define DEB_TARGET_ARCH_{OS,CPU}. + * Start converting the use of DEB_*_GNU_* to DEB_*_ARCH_* in the build + files. + * Do not configure with --enable-gtk-cairo. Needs newer gtk. Drop + build dependency on libcairo-dev. + * Fix setting of the system header directory for the hurd (Michael Banck). + Closes: #315386. + * Fix FTBFS on hurd-i386: MAXPATHLEN issue (Michael Banck). Closes: #315384. + + -- Matthias Klose Wed, 22 Jun 2005 19:45:50 +0200 + +gcc-4.0 (4.0.0ds1-9ubuntu2) breezy; urgency=low + + * Fix version number in libgcj shlibs file. + + -- Matthias Klose Sun, 19 Jun 2005 10:34:02 +0200 + +gcc-4.0 (4.0.0ds1-9ubuntu1) breezy; urgency=low + + * Update to 4.0.1, release candidate 2. + * libstdc++ shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version. + * Rename libawt to libgcjawt to avoid conflicts with other + libawt implementations (backport from HEAD). + * Update classpath awt, swing and xml parser for HTML support in swing. + Taken from classpath CVS HEAD 2005-06-18. Patch provided by Michael Koch. + * Remove the libgcj-buffer-strategy path, part of the classpath update. + * libgcj shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version. + * Require cairo-0.5 as build dependency. + * gij-4.0: Provide java1-runtime. + * gij-4.0: Provide an rmiregistry alternative (using grmiregistry-4.0). + * gcj-4.0: Provide an rmic alternative (using grmic-4.0). + * libgcj6-dev conflicts with libgcj5-dev, libgcj4-dev, not libgcj6. + Closes: #312741. + * libmudflap-entry-point.dpatch: Correct name of entry point on mips/mipsel. + * Apply proposed patch for PR 18421 and PR 18719 (m68k only). + * Apply proposed path for PR 21562. + * Add build dependency on dpkg (>= 1.13.7). + * On linux systems, configure for -linux-gnu. + * Configure the hppa64 cross compiler to target hppa64-linux-gnu. + * (Build-)depend on binutils-2.16.1. + * libstdc{32,64}++6-4.0-dbg: Depend on libstdc++6-4.0-dev. + * gnat-4.0: only depend on libgnat, when a shared libgnat is built. + * gfortran-4.0: Depend on libgmp3c2 | libgmp3. + * On hppa, explicitely use gcc-3.3 as a build dependency in the case + that Ada is disabled. + * libmudflap: Always build the library for the non-default biarch + architecture, or else the test results show link failures. + + -- Matthias Klose Sat, 18 Jun 2005 00:42:55 +0000 + +gcc-4.0 (4.0.0-9) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Wed, 25 May 2005 19:02:20 +0200 + +gcc-4.0 (4.0.0-8ubuntu3) breezy; urgency=low + + * debian/control: Regenerate. + + -- Matthias Klose Sat, 4 Jun 2005 10:56:27 +0200 + +gcc-4.0 (4.0.0-8ubuntu2) breezy; urgency=low + + * Fix powerpc-config-ml patch. + + -- Matthias Klose Fri, 3 Jun 2005 15:47:52 +0200 + +gcc-4.0 (4.0.0-8ubuntu1) breezy; urgency=low + + * powerpc biarch support: + - Enable powerpc biarch support, build lib64gcc1 on powerpc. + - Add patch to disable libstdc++'s configure checking, if it can't run + 64bit binaries on 32bit kernels (Sven Luther). + - Apply the same patch to the other runtime librararies as well. + - Run the testsuite with -m64, if we can execute 64bit binaries. + - Add libc6-dev-ppc64 as build dependency for powerpc. + * 32bit gcj libs for amd64. + * debian/logwatch.sh: Don't remove logwatch pid file on exit (suggested + by Ryan Murray). + * Update to CVS 20050603, taken from the gcc-4_0-branch. + * g++-4.0 provides c++abi2-dev. + * Loosen dependencies on packages of architecture `all' to not break + binary only uploads. + * Build libgfortran for biarch as well, else the testsuite will fail. + + -- Matthias Klose Fri, 3 Jun 2005 13:38:19 +0200 + +gcc-4.0 (4.0.0-8) experimental; urgency=low + + * Synchronize with Ubuntu. + + -- Matthias Klose Mon, 23 May 2005 01:56:28 +0000 + +gcc-4.0 (4.0.0-7ubuntu7) breezy; urgency=low + + * Fix build failures for builds with disabled testsuite. + * Adjust debian/rules conditionals to work with all dpkg versions. + * Build separate lib32stdc6-4.0-dbg/lib64stdc6-4.0-dbg packages. + * Add the debugging symbols of the optimzed libstdc++ build in the + lib*stdc++6-dbg packages as well. + * Build a libgcj6-dbg package. + * Update to CVS 20050522, taken from the gcc-4_0-branch. + * Add Ada support for the ppc64 architecture (Andreas Jochens): + * debian/patches/ppc64-ada.dpatch + - Add gcc/ada/system-linux-ppc64.ads, which has been copied from + gcc/ada/system-linux-ppc.ads and changed to use 'Word_Size' 64 + instead of 32. + - gcc/ada/Makefile.in: Use gcc/ada/system-linux-ppc64.ads on powerpc64. + * debian/rules.patch + - Use ppc64-ada patch on ppc64. + * debian/rules.d/binary-ada.mk + Place the symlinks libgnat.so, libgnat-4.0.so, libgnarl.so, + libgnarl-4.0.so in '/usr/lib' instead of '/adalib'. + Closes: #308948. + * Add libc6-dev-i386 as an alternative build dependency for amd64. + Closes: #305690. + + -- Matthias Klose Sun, 22 May 2005 22:14:20 +0200 + +gcc-4.0 (4.0.0-7ubuntu6) breezy; urgency=low + + * Don't trust dpkg-architecture (1.13.4), it "hurds" ... + + -- Matthias Klose Wed, 18 May 2005 11:36:38 +0200 + +gcc-4.0 (4.0.0-7ubuntu5) breezy; urgency=low + + * libgcj6-dev: Don't provide libgcj-dev. + + -- Matthias Klose Wed, 18 May 2005 00:30:32 +0000 + +gcc-4.0 (4.0.0-7ubuntu4) breezy; urgency=low + + * Update to CVS 20050517, taken from the gcc-4_0-branch. + * Apply proposed patch for PR21293. + + -- Matthias Klose Tue, 17 May 2005 23:05:40 +0000 + +gcc-4.0 (4.0.0-7ubuntu2) breezy; urgency=low + + * Update to CVS 20050515, taken from the gcc-4_0-branch. + + -- Matthias Klose Sun, 15 May 2005 23:48:00 +0200 + +gcc-4.0 (4.0.0-7ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + + -- Matthias Klose Mon, 9 May 2005 19:35:29 +0200 + +gcc-4.0 (4.0.0-7) experimental; urgency=low + + * Update to CVS 20050509, taken from the gcc-4_0-branch. + * Remove the note from the fastjar package description, stating, that + fastjar is incomplete compared to the "standard" jar utility. + * Fix typo in build depends. dpkg-checkbuilddeps doesn't like a comma + inside []. + * Tighten shlibs dependencies to require the current version. + + -- Matthias Klose Mon, 9 May 2005 19:02:03 +0200 + +gcc-4.0 (4.0.0-6) experimental; urgency=low + + * Update to CVS 20050508, taken from the gcc-4_0-branch. + + -- Matthias Klose Sun, 8 May 2005 14:08:28 +0200 + +gcc-4.0 (4.0.0-5ubuntu1) breezy; urgency=low + + * Temporarily disable the i386 biarch build. Remove the amd64-libs-dev + build dependency, add (build-)conflict (<= 1.1ubuntu1). + + -- Matthias Klose Sat, 7 May 2005 16:56:21 +0200 + +gcc-4.0 (4.0.0-5) breezy; urgency=low + + * gnat-3.3 and gnat-4.0 are alternative build dependencies (closes: #308002). + * Update to CVS 20050507, taken from the gcc-4_0-branch. + * gcj-4.0: Install gjnih. + * Add libgcj buffer strategy framework (Thomas Fitzsimmons), needed for OOo2. + Backport from 4.1. + * Fix all lintian errors and most of the warnings. + + -- Matthias Klose Sat, 7 May 2005 12:26:15 +0200 + +gcc-4.0 (4.0.0-4) breezy; urgency=low + + * Still prefer gnat-3.3 over gnat-4.0 as a build dependency. + + -- Matthias Klose Fri, 6 May 2005 22:30:43 +0200 + +gcc-4.0 (4.0.0-3) breezy; urgency=low + + * Update to CVS 20050506, taken from the gcc-4_0-branch. + * Update priority of java alternatives to 40. + * Move gcj-dbtool to gij package, move the default classmap.db to + /var/lib/gcj-4.0/classmap.db. Create it in the postinst. + * Fix gcc-4.0-hppa64 postinst (closes: #307762). + * Fix gcc-4.0-hppa64, gij-4.0 and gcj-4.0 postinst, to not ignore errors + from update-alternatives. + * Fix gcc-4.0-hppa64, fastjar, gij-4.0 and gcj-4.0 prerm, + to not ignore errors from update-alternatives. + + -- Matthias Klose Fri, 6 May 2005 17:50:58 +0200 + +gcc-4.0 (4.0.0-2) experimental; urgency=low + + * GCC 4.0.0 release. + * Update to CVS 20050503, taken from the gcc-4_0-branch. + * Add gnat-4.0 as an alternative build dependency (closes: #305690). + + -- Matthias Klose Tue, 3 May 2005 15:41:26 +0200 + +gcc-4.0 (4.0.0-1) experimental; urgency=low + + * GCC 4.0.0 release. + + -- Matthias Klose Sun, 24 Apr 2005 11:28:42 +0200 + +gcc-4.0 (4.0ds11-0pre11) breezy; urgency=low + + * CVS 20050413, taken from the gcc-4_0-branch. + * Add proposed patches for PR20126, PR20490, PR20929. + + -- Matthias Klose Wed, 13 Apr 2005 09:43:00 +0200 + +gcc-4.0 (4.0ds10-0pre10) experimental; urgency=low + + * gcc-4.0.0-20050410 release candidate 1, built from the prerelease tarball. + - C++ fix for "optimizer breaks function inlining". Closes: #302989. + * Append the GCC version to the fastjar/grepjar version string. + * Use short file names in the libstdc++ docs (closes: #301140). + * Fix libstdc++-dbg dependencies (closes: #303866). + + -- Matthias Klose Mon, 11 Apr 2005 13:16:01 +0200 + +gcc-4.0 (4.0ds9-0pre9) experimental; urgency=low + + * CVS 20050326, taken from the gcc-4_0-branch. + * Reenable Ada on ia64. + * Build libgnat on hppa, sparc, s390 again. + * ppc64 support (Andreas Jochens): + * debian/control.m4 + - Add libc6-dev-powerpc [ppc64] to the Build-Depends. + - Change the Description for lib32gcc1: s/ia32/32 bit Version/ + * debian/rules.defs + - Define 'biarch_ia32' for ppc64 to use the same 32 bit multilib + facilities as amd64. + * debian/rules.d/binary-gcc.mk + - Correct an error in the 'files_gcc' definition for biarch_ia32 + (replace '64' by '32'). + * debian/rules2 + - Do not use '--disable-multilib' on powerpc64-linux. + Use '--disable-nof --disable-softfloat' instead. + * debian/rules.d/binary-libstdcxx.mk + - Put the 32 bit libstdc++ files in '/usr/lib32'. + * debian/rules.patch + - Apply 'ppc64-biarch' patch on ppc64. + * debian/patches/ppc64-biarch.dpatch + - MULTILIB_OSDIRNAMES: Use /lib for native 64 bit libraries and + /lib32 for 32 bit libraries. + - Add multilib handling to src/config-ml.in (taken from + amd64-biarch.dpatch). + * Rename biarch_ia32 to biarch32, as suggsted by Andreas. + * Use /bin/dash on hppa. + * Reenable the build of the hppa64 compiler. + * Enable parallel builds by defaults (set environment variale USE_NJOBS=no + or USE_NJOBS= to modify the default, which is to use the + number of available processors). + + -- Matthias Klose Sat, 26 Mar 2005 19:07:30 +0100 + +gcc-4.0 (4.0ds8-0pre8) experimental; urgency=low + + * CVS 20050322, taken from the gcc-4_0-branch. + - Add proposed fix for PR19406. + * Configure --with-gtk-cairo only if version 0.3.0 is found. + * Split out gcc-4.0-locales package. Better chance of getting + bug reports in english language. + + -- Matthias Klose Tue, 22 Mar 2005 14:20:24 +0100 + +gcc-4.0 (4.0ds7-0pre7) experimental; urgency=low + + * CVS 20050304, taken from the gcc-4_0-branch. + * Build the treelang compiler. + + -- Matthias Klose Fri, 4 Mar 2005 21:29:56 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu6) hoary; urgency=low + + * Fix lib32gcc1 symlink on amd64. Ubuntu #7099. + + -- Matthias Klose Thu, 3 Mar 2005 00:17:26 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu5) hoary; urgency=low + + * Add patch from PR20160, avoid creating archives with components + that have duplicate basenames. + + -- Matthias Klose Wed, 2 Mar 2005 14:22:04 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu4) hoary; urgency=low + + * CVS 20050301, taken from the gcc-4_0-branch. + Test builds on i386, amd64, powerpc, ia64, check libgcc_s.so.1. + * Add fastjar-4.0 binary and manpage. Some java packages append it + for all java related tools. + * Add libgcj6-src package for source code availability in IDE's. + * On hppa, disable the build of the hppa64 cross compiler, disable + java, disable running the testsuite (request by Lamont). + * On amd64, lib32gcc1 replaces ia32-libs.openoffice.org (<< 1ubuntu3). + * Build-Depend on libcairo1-dev, configure with --enable-gtk-cairo. + Work around libtool problems install libjawt. + Install jawt header files in libgcj6-dev. + * Add workaround for PR debug/19769. + + -- Matthias Klose Tue, 1 Mar 2005 11:26:19 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu3) hoary; urgency=low + + * Drop libgmp3-dev (<< 4.1.4-3) as an alterntative build dependency. + + -- Matthias Klose Thu, 10 Feb 2005 15:16:27 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu2) hoary; urgency=low + + * Disable Ada for powerpc. + + -- Matthias Klose Wed, 9 Feb 2005 16:47:07 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu1) hoary; urgency=low + + * Avoid build dependency on type-handling. + * Install 32bit libs on amd64 in /lib32 and /usr/lib32. + + -- Matthias Klose Wed, 9 Feb 2005 08:27:21 +0100 + +gcc-4.0 (4.0ds5-0pre6) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050208. + * Build-depend on graphviz (moved to main), remove the pregenerated + libstdc++ docs from the diff. + * Fix PR19162, libobjc build failure on arm-linux (closes: #291497). + + -- Matthias Klose Tue, 8 Feb 2005 11:47:31 +0000 + +gcc-4.0 (4.0ds4-0pre5) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050125. + * Call the 4.0 gcx versions in the java wrappers (closes: #291075). + * Correctly install libgij (closes: #291077). + * libgcj6-dev: Add conflicts to other libgcj-dev packages (closes: #290950). + + -- Matthias Klose Mon, 24 Jan 2005 23:59:54 +0100 + +gcc-4.0 (4.0ds3-0pre4) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050115. + * Update cross build patches (Nikita V. Youshchenko). + * Enable Ada on i386, amd64, mips, mipsel, powerpc, sparc, s390. + Doesn't yet bootstrap on alpha, hppa, ia64. + + -- Matthias Klose Sat, 15 Jan 2005 18:44:03 +0100 + +gcc-4.0 (4.0ds2-0pre3) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041224. + + -- Matthias Klose Wed, 22 Dec 2004 00:31:44 +0100 + +gcc-4.0 (4.0ds1-0pre2) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041205. + * Lot's of merges and updates from the gcc-3.4 packages. + + -- Matthias Klose Sat, 04 Dec 2004 12:14:51 +0100 + +gcc-4.0 (4.0ds0-0pre1) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041114. + - Addresses many issues with the libstdc++ man pages (closes: #278549). + * Disable Ada on hppa, ia64, mips, mipsel, powerpc, s390 and sparc, at least + these are known to be broken at the time of the snapshot. + * Minor kbsd.gnu build fixes (Robert Millan). Closes: #273004. + * For amd64, add missing libstdc++ files to 'libstdc++6-dev' package. + (Andreas Jochens). Fixes: #274362. + * Update libffi-mips patch (closes: #274096). + * Updated i386-biarch patch. Don't build 64bit libstdc++, ICE. + * Update sparc biarch patch. + * Fix symlinks for gfortran manpage (closes: #278548). + * Update cross build patches (Nikita V. Youshchenko). + * Update Ada patches (Ludovic Brenta). + + -- Matthias Klose Sat, 13 Nov 2004 10:38:25 +0100 + +gcc-4.0 (4.0-0pre0) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20040912. + + * Matthias Klose + + - Integrate accumulated packaging patches from gcc-3.4. + - Rename libstdc++6-* packages to libstdc++6-4-* (closes: #261693). + - libffi4-dev: conflict with libffi3-dev (closes: #265939). + + * Robert Millan + + * control.m4: + - s/locale_no_archs !hurd-i386/locale_no_archs/g + (This is now handled in rules.defs. [1]) + - s/procps [check_no_archs]/procps [linux_gnu_archs]/g [2] + - Add type-handling to build-deps. [3] + * rules.conf: + - Don't require (>= $(libc_ver)) for libc0.1-dev. [4] + - Generate *_no_archs variables with type-handling and use them for + for m4's -D parameters. [3] + * rules.defs: + - use filter instead of findstring [1]. + - s/netbsd-elf-gnu/netbsdelf-gnu/g [5]. + - enable java for kfreebsd-gnu [6] + - enable ffi for kfreebsd-gnu and knetbsd-gnu [6] + - enable libgc for kfreebsd-gnu [6] + - enable checks for kfreebsd-gnu and knetbsd-gnu [7] + - enable locales for kfreebsd-gnu and gnu [1] [8]. + * Closes: #264025. + + -- Matthias Klose Sun, 12 Sep 2004 12:52:56 +0200 + +gcc-3.5 (3.5ds1-0pre1) experimental; urgency=low + + * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040724. + * Install locale data with versioned package name (closes: #260497). + * Fix libgnat symlinks. + + -- Matthias Klose Sat, 24 Jul 2004 21:26:23 +0200 + +gcc-3.5 (3.5-0pre0) experimental; urgency=low + + * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040718. + + -- Matthias Klose Sun, 18 Jul 2004 12:26:00 +0200 + +gcc-3.4 (3.4.1-1) experimental; urgency=low + + * gcc-3.4.1 final release. + - configured wth --enable-libstdcxx-allocator=mt. + * Fixes for generating cross compiler packages (Jeff Bailey). + + -- Matthias Klose Fri, 2 Jul 2004 22:49:05 +0200 + +gcc-3.4 (3.4.0-4) experimental; urgency=low + + * gcc-3.4.1 release candidate 1. + * Add logic to build biarch compiler on powerpc (disabled, needs lib64c). + * Don't build the libg2c0 package on mipsel-linux (no clear answer on + debian-mips, if the libg2c0's built by gcc-3.3 and gcc-3.4 are compatible + (post-sarge issue). + * Don't use gcc-2.95 as bootstrap compiler on m68k anymore. + + -- Matthias Klose Sat, 26 Jun 2004 22:40:20 +0200 + +gcc-3.4 (3.4.0-3) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040613. + * On sparc, set the the build target to sparc64-linux, build with + switch defaulting to code generation for v7. To generate code for + sparc64, use the -m64 switch. + * Add missing doc-base files to -doc packages. + * Add portability patches and kbsd-gnu patch (Robert Millan). + Closes: #251293, #251294. + * Apply fixes for cross build (Nikita V. Youshchenko). + * Do not include the precompiled libstdc++ header files into the -dev + package (still experimental). Closes: #251707. + * Reflect renaming of Ada user's guide. + * Move AWT peer libraries for libgcj into it's own package (fixes: #247791). + + -- Matthias Klose Mon, 14 Jun 2004 00:03:18 +0200 + +gcc-3.4 (3.4.0-2) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040516. + * Do not provide the /usr/hppa64-linux/include in the gcc-hppa64 package, + migrated to libc6-dev. Adjust dependencies. + * Integrate gpc test results into the GCC test summary. + * gnatchop calls gcc-3.4 (closes: #245438). + * debian/locale-gen.sh: Update for recent libstdc+++ testsuite. + * debian/copyright: Add libstdc++-v3's exception clause. + * Add libffi update for mips (Thiemo Seufer). + * Reference Debian specific bug reporting instructions. + * Update README.Bugs. + * Fix FTBFS for libstdc++-doc. + * Update libjava patch for hppa (Randolph Chung). + * Fix installation of ffitarget.h header file. + * On amd64-linux, configure --without-multilib, disable Ada. + + -- Matthias Klose Sun, 16 May 2004 07:53:39 +0200 + +gcc-3.4 (3.4.0-1) experimental; urgency=low + + * gcc-3.4.0 final release. + + * Why experimental? + - Do not interfer with packages currently built from gcc-3.3 sources, + i.e. libgcc1, libobjc1, libffi2, libffi2-dev, libg2c0. + - Biarch sparc compiler doesn't built yet. + - Use of configure flags affecting binary ABI's not yet determined. + - Several ABI bugs have been fixed. Unfortunately, these changes will break + binary compatibility with earlier releases on several architectures: + alpha, mips, sparc, + - hppa and m68k changed sjlj based exception handling to dwarf2 based + exception handling. + + See NEWS.html or http://gcc.gnu.org/gcc-3.4/changes.html for more + specific information. + + -- Matthias Klose Tue, 20 Apr 2004 20:54:56 +0200 + +gcc-3.4 (3.4ds3-0pre4) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040403. + * Add gpc tarball, gpc patches for 3.4 (Waldek Hebisch). + * Reenable sparc-biarch patches (closes: #239856). + * Build the shared libgnat library, needed to fix FTBFS for some + Ada library packages (Ludovic Brenta). + Currently enabled for hppa, i386, ia64. + + -- Matthias Klose Sat, 3 Apr 2004 08:47:55 +0200 + +gcc-3.4 (3.4ds1-0pre2) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040320. + * For libstdc++6-doc, add a conflict to libstdc++5-3.3-doc (closes: #236560). + * For libstdc++6-dbg, add a conflict to libstdc++5-3.3-dbg (closes: #236798). + * Reenable s390-biarch patches. + * Update the cross compiler build files (Nikita V. Youshchenko). + + -- Matthias Klose Sat, 20 Mar 2004 09:15:10 +0100 + +gcc-3.4 (3.4ds0-0pre1) experimental; urgency=low + + * Start gcc-3.4 packaging, get rid of the epoch for most of the + packages. + + -- Matthias Klose Sun, 22 Feb 2004 16:00:03 +0100 + +gcc-3.3 (1:3.3.3ds6-6) unstable; urgency=medium + + * Update to gcc-3_3-branch CVS 20040401. + - Fixed ICE in emit_move_insn_1 on legal code (closed: #223215). + - Fix PR 14755, miscompilation of loops with bitfield counter. + Closes: #241255. + - Fix PR 16040, crash in function initializing const data with + reinterpret_cast-ed pointer-to-member function crashes (closes: #238621). + - Remove patches integrated upstream. + * Reenable build of gpidump on powerpc and s390. + + -- Matthias Klose Thu, 1 Apr 2004 23:51:54 +0200 + +gcc-3.3 (1:3.3.3ds6-5) unstable; urgency=medium + + * Update to gcc-3_3-branch CVS 20040321. + - Fix PR target/13889 (ICE on valid code on m68k). + * Fix FTFBS on s390. Do not build gpc's gpidump on s390. + * Reenable gpc on arm. + + -- Matthias Klose Mon, 22 Mar 2004 07:37:26 +0100 + +gcc-3.3 (1:3.3.3ds6-4) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040320. + - Revert patch for PR14640 (with this, at least mozilla-firefox was + miscompiled on x86 (closes: #238621). + * Update the gpc tarball (there were two releases with the same name ...). + * Reenable gpc on alpha and ia64. + + -- Matthias Klose Sat, 20 Mar 2004 07:39:24 +0100 + +gcc-3.3 (1:3.3.3ds5-3) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040314. + - Fixes miscompilation with -O -funroll-loops on powerpc (closes: #229567). + - Fix ICE in dwarf-2 on code using altivec (closes: #203835). + * Update hurd-changes patch. + * Add libgcj4-dev as a recommendation for gcj (closes: #236547). + * debian/copyright: Added exemption to static linking of libgcc. + + * Phil Blundell: + - debian/patches/arm-ldm.dpatch, debian/patches/arm-gotoff.dpatch: Update. + + -- Matthias Klose Sun, 14 Mar 2004 09:56:06 +0100 + +gcc-3.3 (1:3.3.3ds5-2) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040306. + - Fixes bootstrap comparision error on ia64. + - Allows ghc build with gcc-3.3. + - On amd64, don't imply 3DNow! for -m64 by default. + - Some arm specific changes + - Fix C++/13944: exception in constructor of a class to be thrown is not + caught. Closes: #228099. + * Enable the build of gcc-3.3-hppa64 on hppa. + Add symlinks for as and ld to point to hppa64-linux-{as,ld}. + * gcj-3.3 depends on g++-3.3, recommends gij-3.3. gij-3.3 suggests gcj-3.3. + * Fix libgc2c-pic compatibility links (closes: #234333). + The link will be removed for gcc-3.4. + * g77-3.3: Conflict with other g77-x.y packages. + * Tighten shlibs dependencies to latest released versions. + + * Phil Blundell: + - debian/patches/arm-233633.dpatch: New Fixes problems with half-word + loads on ARMv3 architecture. (Closes: #233633) + - debian/patches/arm-ldm.dpatch: New. Avoids inefficient epilogue for + leaf functions in PIC code on ARM. + + -- Matthias Klose Sat, 6 Mar 2004 10:57:14 +0100 + +gcc-3.3 (1:3.3.3ds5-1) unstable; urgency=medium + + * gcc-3.3.3 final release. + See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}. + + -- Matthias Klose Mon, 16 Feb 2004 08:59:52 +0100 + +gcc-3.3 (1:3.3.3ds4-0pre4) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20040214 (2nd gcc-3.3.3 prerelease). + * Fix title of libstdc++'s html main index (closes: #196381). + * Move libg2c libraray files out of the gcc specific libdir to /usr/lib. + For g77-3.3 add conflicts to other g77 packages. Closes: #224848. + * Update the stack protector patch to 3.3-7, but don't apply it by default. + Closes: #230338. + * On arm, use arm6 as the cpu default (backport from mainline, PR12527). + * Add libffi and libjava support for hppa (Randolph Chung). Closes: #232615. + + -- Matthias Klose Sat, 14 Feb 2004 09:26:15 +0100 + +gcc-3.3 (1:3.3.3ds3-0pre3) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20040125. + - Fixed PR11350, undefined labels with -Os -fPIC (closes: #195911). + - Fixed PR11793, ICE in extract_insn, at recog.c (closes: #203835). + - Fixed PR13544, removed backport for PR12862. + - Integrated backport for PR12441. + * Fixed since 3.3: java: not implemented interface methods of abstract + classes not found (closes: #225438). + * Disable pascal on arm architecture (currently broken). + * Update the build files to build a cross compiler (Nikita V. Youshchenko). + See debian/README.cross in the source package. + * Apply revised patch to make -mieee the default on alpha-linux, + and add -mieee-disable switch to turn the default off (closes: #212912). + (Tyson Whitehead) + + -- Matthias Klose Sun, 25 Jan 2004 17:41:04 +0100 + +gcc-3.3 (1:3.3.3ds2-0pre2) unstable; urgency=medium + + * Update to gcc-3.3.3 CVS 20040110. + - Fixes compilation not terminating at -O1 on hppa (closes: #207516). + * Add backport to fix PR12441 (closes: #224576). + * Revert backport to 3.3 branch to fix PR12862, which introduced another + regression (PR13544). Closes: #225663. + * Tighten dependency of gnat-3.3 on gcc-3.3 (closes: #226273). + * Disable treelang build for cross compiler build. + * Disable pascal on alpha and ia64 architectures (currently broken). + + -- Matthias Klose Sat, 10 Jan 2004 12:33:59 +0100 + +gcc-3.3 (1:3.3.3ds1-0pre1) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20031229. + - Fixes bootstrap error on ia64-linux. + - Fix -pthread on mips{,el}-linux (closes: #224875). + - Fix -Wformat for C++ (closes: #217075). + * Backport from mainline: Preserve inline-ness when redeclaring + a function template (closes: #195264). + * Add missing intrinsics headers on ix86 (closes: #224593). + * Fix location of libg2c libdir in libg2c.la file (closes: #224848). + + -- Matthias Klose Mon, 29 Dec 2003 10:36:29 +0100 + +gcc-3.3 (1:3.3.3ds0-0pre0.1) unstable; urgency=high + + * NMU + * Fixed mips(el) spec file for -pthread: (Closes: #224875) + * [debian/patches/mips-pthread.dpatch] New. + * [debian/rules.patch] Added it to debian_patches. + + -- J.H.M. Dassen (Ray) Sat, 27 Dec 2003 15:51:47 +0100 + +gcc-3.3 (1:3.3.3ds0-0pre0) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20031206. + - Fixes ICE in verify_local_live_at_start (hppa). Closes: #201550. + - Fixes miscompilation of linux-2.6/sound/core/oss/rate.c. + Closes: #219949. + * Add missing unwind.h to gcc package (closes: #220846). + * Regenerate control file to fix build dependencies for m68k. + * More gpc only patches to fix test failures on m68k. + * Reenable gpc for the Hurd (closes: #189851). + + -- Matthias Klose Sat, 6 Dec 2003 10:29:07 +0100 + +gcc-3.3 (1:3.3.2ds5-4) unstable; urgency=low + + * Update libffi-dev package description (closes: #219508). + * For gij and libgcj fix dependency on the libstdc++ package, if + the latter isn't installed during the build. + * Apply patch to emit .note.GNU-stack section on linux arches + which by default need executable stack. + * Prefer gnat-3.3 over gnat-3.2 as a build dependency. + * Update the pascal tarball (different version released with the + same name). + * Add pascal patches to address various gpc testsuite failures. + On alpha and ia64, build gpc from the 20030830 version. Reenable + the build on m68k. + Remove the 20030507 gpc version from the tarball. + * Apply patch to build the shared ada libs and link the ada tools + against the shared libs. Not enabled by default, because gnat + and gnatlib are rebuilt during install. (Ludovic Brenta) + + -- Matthias Klose Sun, 9 Nov 2003 22:34:33 +0100 + +gcc-3.3 (1:3.3.2ds4-3) unstable; urgency=low + + * Fix rules to omit inclusion of gnatpsta in mips(el) gnat package. + + -- Matthias Klose Sun, 2 Nov 2003 14:29:59 +0100 + +gcc-3.3 (1:3.3.2ds4-2) unstable; urgency=medium + + * s390-ifcvt patch added. Fixes gcl miscompilation (closes: #217240). + (Gerhard Tonn) + * Fix an infinite loop in g++ compiling lufs, regression from 3.3.1. + * Fix a wrong code generation bug on alpha. + (Falk Hueffner) + * Update NEWS files. + * Add Falk Hueffner to the Debian GCC maintainers. + * Enable ada on mips and mipsel, but don't build the gnatpsta tool. + + -- Matthias Klose Wed, 29 Oct 2003 00:12:37 +0100 + +gcc-3.3 (1:3.3.2ds4-1) unstable; urgency=medium + + * Update to gcc-3.3.2. + * Update NEWS files. + * Miscompilation in the pari package at -O3 fixed (closes: #198172). + * On alpha-linux, revert -mieee as the default (Falk Hueffner). + Reopens: #212912. + * Add ia64-unwind patch (Jeff Bailey). + * Closed reports reported against gcc-2.96 (ia64), fixed at least in gcc-3.3: + - ICE in verify_local_live_at_start, at flow.c:2733 (closes: #135404). + - Compilation failure of stlport (closes: #135224). + - Infinite loop compiling cssc's pfile.cc with -O2 (closes: #115390). + - Added missing some string::compare() members (closes: #141199). + - header declares std::pow (closes: #161853). + - does have at() method (closes: #59776). + - Fixed error in stl_deque.h (closes: #69530). + - Fixed problem with bastring (closes: #75759, #96539). + - bad_alloc and std:: namespace problem (closes: #75120). + - Excessive warnings from headers with -Weffc++ (closes: #76827). + + -- Matthias Klose Fri, 17 Oct 2003 08:07:01 +0200 + +gcc-3.3 (1:3.3.2ds3-0pre5) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20031005. + - Fixes cpp inserting a spurious newline (closes: #210478, #210482). + - Fixes generation of unrecognizable insn compiling kernel source + on alpha (closes: #202762). + - Fixes ICE in add_abstract_origin_attribute (closes: #212406). + - Fixes forward declaration in libstdc++ (closes: #209386). + - Fixes ICE in in extract_insn, at recog.c on alpha (closes: #207564). + * Make libgcj-common architecture all (closes: #211909). + * Build depend on: flex-old | flex (<< 2.5.31). + * Fix spec linking libraries with -pthread on powerpc (closes: #211054). + * debian/patches/arm-gotoff.dpatch: fix two kinds of PIC lossage. + (Phil Blundell) + * debian/patches/arm-common.dpatch: fix excessive alignment of common + blocks causing binutils testsuite failures. + (Phil Blundell) + * Update priorities in debian/control to match the archive. + (Ryan Murray) + * s390-nonlocal-goto patch added. Fixes some pascal testcase failures. + (Gerhard Tonn) + * On alpha-linux, make -mieee default and add -mieee-disable switch + to turn default off (closes: #212912). + (Tyson Whitehead) + * Add gpc upstream patch for memory corruption fix. + + -- Matthias Klose Sun, 5 Oct 2003 19:53:49 +0200 + +gcc-3.3 (1:3.3.2ds2-0pre4) unstable; urgency=low + + * Add gcc-unsharing_lhs patch (closes: #210848) + + -- Ryan Murray Fri, 19 Sep 2003 22:51:19 -0600 + +gcc-3.3 (1:3.3.2ds2-0pre3) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20030908. + * PR11716 (Michael Eager, Dan Jacobowitz): + Make GCC think that the maximum length of a short branch is + 64K instead of 128K. It's a big hammer, but it works. + Closes: #207915. + * Downgrade gpc to 20030507 on alpha and ia64 (closes: #208717). + + -- Matthias Klose Mon, 8 Sep 2003 21:49:52 +0200 + +gcc-3.3 (1:3.3.2ds1-0pre2) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20030831. + - Fix java NullPointerException detection with 2.6 kernels. + Closes: #206377. + - Fix bug in C++ typedef handling (closes: #205402). + - Fix -Wunreachable-code giving false complaints (closes: #196600). + * Update to gpc-20030830. + * Don't include /usr/share/java/repository into the class path according + to the new version of th Debian Java policy (closes: #205643). + * Build-Depend/Depend on libgc-dev. + + -- Matthias Klose Sun, 31 Aug 2003 08:56:53 +0200 + +gcc-3.3 (1:3.3.2ds0-0pre1) unstable; urgency=low + + * Remove the build dependency on locales for now. + + -- Matthias Klose Fri, 15 Aug 2003 07:48:18 +0200 + +gcc-3.3 (1:3.3.2ds0-0pre0) unstable; urgency=medium + + * Update to gcc-3.3.2 CVS 20030812. + - Fixes generation of wrong code for XDM-AUTHORIZATION-1 key generation + and/or validation. Closes: #196090. + * Update NEWS files. + * Change ix86 default CPU type for code generation: + - i386-linux -> i486-linux + - i386-gnu -> i586-gnu + - i386-freebsd-gnu -> i486-freebsd-gnu + Use -march=i386 to target i386 CPUs. + + -- Matthias Klose Tue, 12 Aug 2003 10:31:28 +0200 + +gcc-3.3 (1:3.3.1ds3-1) unstable; urgency=low + + * gcc-3.3.1 (taken from CVS 20030805). + - C++: Fix declaration conflicts (closes: #203351). + - Fix ICE on ia64 (closes: #203840). + + -- Matthias Klose Tue, 5 Aug 2003 20:38:02 +0200 + +gcc-3.3 (1:3.3.1ds2-0rc2) unstable; urgency=low + + * Update to gcc-3.3.1 CVS 20030728. + - Fix ICE in extract_insn, at recog.c:2148 on m68k. + Closes: #177840, #180375, #190818. + - Fix ICE while building libquicktime on alpha (closes: #192576). + - Fix failure to deal with using and private inheritance (closes: #202696). + * On sparc, /usr/lib was added to the library search path. Fix it. + * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3: + - Fix error building the gcl package on arm (closes: #199835). + + -- Matthias Klose Mon, 28 Jul 2003 20:39:07 +0200 + +gcc-3.3 (1:3.3.1ds1-0rc1) unstable; urgency=low + + * Update to gcc-3.3.1 CVS 20030722 (3.3.1 release candidate 1). + - Fix ICE in copy_to_mode_reg on 64-bit targets (closes: #189365). + - Remove documentation about multi-line strings (closes: #194391). + - Correctly document -falign-* parameters (closes: #198269). + - out-of-class specialization of a private nested template class. + Closes: #193830. + - Tighten shlibs dependency due to new symbols in libgcc. + * README.Debian for libg2c0, describing the need for g77-x.y when + working with the g2c header and library (closes: #189059). + * Call make with -j, if USE_NJOBS is set and non-empty + in the environment. + * Add another two m68k patches, partly replacing the workarounds provided + by Roman Zippel. + * Add the stack protector patch, but don't apply it by default. Edit + debian/rules.patch to apply it (closes: #171699, #189494). + * Remove wrong symlinks from gnat package (closes: #201882). + * Closed reports reported against gcc-2.95 and fixed in newer versions: + - SMP kernel compilation on alpha (closes: #134197, #146883). + - ICE on arm while building imagemagick (closes: #173475). + * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3: + - Miscompilation of octave2.1 on hppa (closes: #192296, #193804). + + -- Matthias Klose Sun, 13 Jul 2003 10:26:30 +0200 + +gcc-3.3 (1:3.3.1ds0-0pre0) unstable; urgency=medium + + * Update to gcc-3.3.1 CVS 20030626. + - Fix ICE on arm compiling xfree86 (closes: #195424). + - Fix ICE on arm compiling fftw (closes: #186185). + - Fix ICE on arm in change_address_1, affecting a few packages. + Closes: #197099. + - Fix ICE in merge_assigned_reloads building Linux 2.4.2x sched.c. + Closes: #195237. + - Do not warn about failing to inline functions declared in system headers. + Closes: #193049. + - Fix ICE on mips{,el} in propagate_one_insn (closes: #194330, #196091). + - Fix ICE on m68k in reg_overlap_mentioned_p (closes: #194749). + - Build crtbeginT.o on m68k (closes: #197613). + * Fix g++ man page symlink (closes: #196271). + * mips/mipsel: Depend on binutils (>= 2.14.90.0.4). Closes: #196744. + * Disable treelang on powerpc (again). Closes: #196915. + * Pass -encoding in gcj-wrapper. + + -- Matthias Klose Fri, 27 Jun 2003 00:14:43 +0200 + +gcc-3.3 (1:3.3ds9-3) unstable; urgency=low + + * Closing more reports, fixed in 3.2/3.3: + - ICE building texmacs on m68k (closes: #177433). + - libstdc++: doesn't define trunc(...) (closes: #105285). + - libstdc++: setw is ignored for strings output (closes: #52382, #76645). + * Add build support to omit the manual pages and info docs from the + packages, disabled by default. Wait for a Debian statement, which can + be cited. Adresses: #193787. + * Reenable the m68k-const patch, don't run the g77 testsuite on m68k. + Addresses ICEs (#177840, #190818). + * Update arm-xscale patch. + * libstdc++: use __attribute__(__unknown__), instead of (unknown). + Closes: #195796. + * Build-Depend on glibc (>= 2.3.1) to prevent incorrect builds on woody. + Request from Adrian Bunk. + * Add treelang-update patch (Tim Josling), reenable treelang on powerpc. + * Add -{cpp,gcc,g++,gcj,g77} symlinks (addresses: #189466). + * Make sure not to build using binutils-2.14.90.0.[12]. + + -- Matthias Klose Mon, 2 Jun 2003 22:35:45 +0200 + +gcc-3.3 (1:3.3ds9-2) unstable; urgency=medium + + * Correct autoconf-related snafu in newly added ARM patches (Phil Blundell). + * Correct libgcc1 dependency (closes: #193689). + * Work around ldd/dpkg-shlibs failure on s390x. + + -- Matthias Klose Sun, 18 May 2003 09:40:15 +0200 + +gcc-3.3 (1:3.3ds9-1) unstable; urgency=low + + * gcc-3.3 final release. + See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}. + * First merge of i386/x86-64 biarch support (Arnd Bergmann). + Disabled by default. Closes: #190066. + * New gpc-20030507 version. + * Upstream gpc update to fix netbsd build failure (closes: #191407). + * Add arm-xscale.dpatch, arm-10730.dpatch, arm-tune.dpatch, copied + from gcc-3.2 (Phil Blundell). + * Closing bug reports reported against older gcc versions (some of them + still present in Debian, but not anymore as the default compiler). + Usually, forwarded bug reports are linked to + http://gcc.gnu.org/PR + The upstream bug number usually can be found in the Debian reports. + + * Closed reports reported against gcc-3.1.x, gcc-3.2.x and fixed in gcc-3.3: + - General: + + GCC accepts multi-line strings without \ or " " &c (closes: #2910). + + -print-file-name sometimes fails (closes: #161615). + + ICE: reporting routines re-entered (closes: #179597, #180937). + + Misplaced paragraph in gcc documentation (closes: #179363). + + Error: suffix or operands invalid for `div' (closes: #150558). + + builtin memcmp() could be optimised (closes: #85535). + - Ada: + + Preelaborate, exceptions, and -gnatN (closes: #181679). + - C: + + Duplicate loop conditions even with -Os (closes: #94701). + + ICE (signal 11) (closes: #65686). + - C++: + + C++ error on virtual function which uses ... (closes: #165829). + + ICE when warning about cleanup nastiness in switch statements + (closes: #184108). + + Fails to compile virtual inheritance with variable number of + argument method (closes: #151357). + + xmmintrin.h broken for c++ (closes: #168310). + + Stack corruption with variable-length automatic arrays and virtual + destructors (closes: #188527). + + ICE on illegal code (closes: #184862). + + _attribute__((unused)) is ignored in C++ (closes: #45440). + + g++ handles &(void *)foo bizzarely (closes: #79225). + + ICE (with wrong code, though) (closes: #81122). + - Java: + + Broken zip file handling (closes: #180567). + - ObjC: + + @protocol forward definitions do not work (closes: #80468). + - Architecture specific: + - alpha + + va_start is off by one (closes: #186139). + + ICE while building kseg/ddd (closes: #184753). + + g++ -O2 optimization error (closes: #70743). + - arm + + ICE with -O2 in change_address_1 (closes: #180750). + + gcc optimization error with -O2, affecting bison (closes: #185903). + - hppa + + ICE in insn_default_length (closes: #186447). + - ia64 + + gcc-3.2 fails w/ optimization (closes: #178830). + - i386 + + unnecessary generation of instruction cwtl (closes: #95318). + + {athlon} ICE building mplayer (closes: #184800). + + {pentium4} ICE while compiling mozilla with -march=pentium4 + (closes: #187910). + + i386 optimisation: joining tests (closes: #105309). + - m68k + + ICE in instantiate_virtual_regs_1 (closes: #180493). + + gcc optimizer bug on m68k (closes: #64832). + - powerpc + + ICE in extract_insn, at recog.c:2175 building php3 (closes: #186299). + + ICE with -O -Wunreachable-code (closes: #189702). + - s390 + + Operand out of range at assembly time when using -O2 + (closes: #178596). + - sparc + + gcc-3.2 regression (wrong code) (closes: #176387). + + ICE in mem_loc_descriptor when optimizing (closes: #178909). + + ICE in gen_reg_rtx when optimizing (closes: #178965). + + Optimisation leads to unaligned access in memcpy (closes: #136659). + + * Closed reports reported against gcc-3.0 and fixed in gcc-3.2.x: + - General: + + Use mkstemp instead of mktemp (closed: #127802). + - Preprocessor: + + Fix redundant error message from cpp (closed: #100722). + - C: + + Optimization issue on ix86 (pointless moving) (closed: #97904). + + Miscompilation of allegro on ix86 (closed: #105741). + + Fix generation of ..ng references for static aliases (alpha-linux). + (closed: #108036). + + ICE compiling pari on hppa (closed: #111613). + + ICE on ia64 in instantiate_virtual_regs_1 (closed: #121668). + + ICE in c-typeck.c (closed: #123687). + + ICE in gen_subprogram_die on alpha (closed: #127890). + + SEGV in initialization of flexible char array member (closed: #131399). + + ICE on arm compiling lapack (closed: #135967). + + ICE in incomplete_type_error (closed: #140606). + + Fix -Wswitch (also part of -Wall) (closed: #140995). + + Wrong code in mke2fs on hppa (closed: #150232). + + sin(a) * sin(b) gives wrong result (closed: #164135). + - C++: + + Error in std library headers on arm (closed: #107633). + + ICE nr. 19970302 (closed: #119635). + + std::wcout does not perform encoding conversions (closed: #128026). + + SEGV, when compiling iostream.h with -fPIC (closed: #134315). + + Fixed segmentation fault in included code for (closed: #137017). + + Fix with exception handling and -O (closed: #144232). + + Fix octave-2.1 build failure on ia64 (closed: #144584). + + nonstandard overloads in num_get facet (closed: #155900). + + ICE in expand_end_loop with -O (closed: #158371). + - Fortran: + + Fix blas build failure on arm (closed: #137959). + - Java: + + Interface members are public by default (closed: #94974). + + Strange message with -fno-bounds-check in combination with -W. + (closed: #102353). + + Crash in FileWriter using IOException (closed: #116128). + + Fix ObjectInputStream.readObject() calling constructors. + (closed: #121636). + + gij: better error reporting on `class not found' (closed: #125649). + + Lockup during .java->.class compilation (closed: #141899). + + Compile breaks using temporary inner class instance (closed: #141900). + + Default constructor for inner class causes broken bytecode. + (closed: #141902). + + gij-3.2 linked against libgcc1 (closed: #165180). + + gij-wrapper understands -classpath parameter (closed: #146634). + + gij-3.2 doesn't ignore -jar when run as "java" (closed: #167673). + - ObjC: + + ICE on alpha (closed: #172353). + + * Closed reports reported against gcc-2.95 and fixed in newer versions: + - General: + + Undocumented option -pthread (closes: #165110). + + stdbool.h broken (closes: #167439). + + regparm/profiling breakage (closes: #20695). + + another gcc optimization error (closes: #51456). + + ICE in `output_fix_trunc' (closes: #55967). + + Fix "Unable to generate reloads for" (closes: #58219, #131890). + + gcc -c -MD x/y.c -o x/y.o leaves y.d in cwd (closes: #59232). + + Compiler error with -O2 (closes: #67631). + + ICE (unrecognizable insn) compiling php4 (closes: #83550, #84969). + + Another ICE (closes: #90666). + + man versus info inconsistency (-W and -Wall) (closes: #93708). + + ICE on invalid extended asm (closes: #136630). + + ICE in `emit_no_conflict_block' compiling perl (closes: #154599). + + ICE in `gen_tagged_type_instantiation_die'(closes: #166766). + + ICE on __builtin_memset(s, 0, -1) (closes: #170994). + + -Q option to gcc appears twice in the documentation (closes: #137382). + + New options for specifying targets:- -MQ and -MT (closes: #27878). + + Configure using --enable-nls (closes: #51651). + + gcc -dumpspecs undocumented (closes: #65406). + - Preprocessor: + + cpp fails to parse macros with varargs correctly(closes: #154767). + + __VA_ARGS__ stringification crashes preprocessor if __VA_ARGS__ is + empty (closes: #152709). + + gcc doesn't handle empty args in macro function if there is only + one arg(closes: #156450). + - C: + + Uncaught floating point exception causes ICE (closes: #33786). + + gcc -fpack-struct doesn't pack structs (closes: #64628). + + ICE in kernel (matroxfb) code (closes: #151196). + + gcc doesn't warn about unreachable code (closes: #158704). + + Fix docs for __builtin_return_address(closes: #165992). + + C99 symbols in limits.h not defined (closes: #168346). + + %zd printf spec generates warning, even in c9x mode (closes: #94891). + + Update GCC attribute syntax (closes: #12253, #43119). + - C++ & libstdc++-v3: + + template and virtual inheritance bug (closes: #152315). + + g++ has some troubles with nested templates (closes: #21255). + + vtable thunks implementation is broken (closes: #34876, #35477). + + ICE for templated friend (closes: #42662). + + ICE compiling mnemonic (closes: #42989). + + Deprecated: result naming doesn't work for functions defined in a + class (closes: #43170). + + volatile undefined ... (closes: #50529). + + ICE concerning templates (closes: #53698). + + Program compiled -O3 -malign-double segfaults in ofstream::~ofstream + (closes: #56867). + + __attribute__ ((constructor)) doesn't work with C++ (closes: #61806). + + Another ICE (closes: #65687). + + ICE in `const_hash' (closes: #72933). + + ICE on illegal code (closes: #83221). + + Wrong code with -O2 (closes: #83363). + + ICE on template class (closes: #85934). + + No warning for missing return in non-void member func (closes: #88260). + + Not a bug/fixed in libgcc1: libgcc.a symbols end up exported by + shared libraries (closes: #118670). + + ICE using nested templates (closes: #118781). + + Another ICE with templates (closes: #127489). + + More ICEs (closes: #140427, #141797). + + ICE when template declared after use(closes: #148603). + + template function default arguments are not handled (closes: #157292). + + Warning when including stl.h (closes: #162074). + + g++ -pedantic-errors -D_GNU_SOURCE cannot #include + (closes: #151671). + + c++ error message improvement suggestion (closes: #46181). + + Compilation error in stl_alloc.h with -fhonor-std (closes: #59005). + + libstdc++ has no method at() in stl_= (closes: #68963). + - Fortran: + + g77 crash (closes: #130415). + - ObjC: + + ICE: program cc1obj got fatal signal 11 (closes: #62309). + + Interface to garbage collector is undocumented. (closes: #68987). + - Architecture specific: + - alpha + + Can't compile with define gnu_source with stdio and curses + (closes: #97603). + + Header conflicts on alpha (closes: #134558). + + lapack-dev: cannot link on alpha (closes: #144602). + + ICE `fixup_var_refs_1' (closes: #43001). + + Mutt segv on viewing list of attachments (closes: #47981). + + ICE building open-amulet (closes: #48530). + + ICE compiling hatman (closes: #55291). + + dead code removal in switch() broken (closes: #142844). + - arm + + Miscompilation using -fPIC on arm (closes: #90363). + + infinite loop with -O on arm (closes: #151675). + - i386 + + ICE when using -mno-ieee-fp and -march=i686 (closes: #87540). + - m68k + + Optimization (-O2) broken on m68k (closes: #146006). + - mips + + g++ exception catching does not work... (closes: #105569). + + update-menus gets Bus Error (closes: #120333). + - mipsel + + aspell: triggers ICE on mipsel (closes: #128367). + - powerpc + + -O2 produces wrong code (gnuchess example) (closes: #131454). + - sparc + + Misleading documentation for -malign-{jump,loop,function}s + (closes: #114029). + + Sparc GCC issue with -mcpu=ultrasparc (closes: #172956). + + flightgear: build failure on sparc (closes: #88694). + + -- Matthias Klose Fri, 16 May 2003 07:13:57 +0200 + +gcc-3.3 (1:3.3ds8-0pre9) unstable; urgency=high + + * gcc-3.3 second prerelease. + - Fixing exception handling on s390 (urgency high). + * Reenabled gpc build (I had it disabled ...). Closes: #192347. + + -- Matthias Klose Fri, 9 May 2003 07:32:14 +0200 + +gcc-3.3 (1:3.3ds8-0pre8) unstable; urgency=low + + * gcc-3.3 prerelease. + - Fixes gcj ICE (closes: #189545). + * For libstdc++ use the i486 atomicity implementation, introduced with + 0pre6, left out in 0pre7 (closes: #191684). + * Add README.Debian for treelang (closes: #190812). + * Apply NetBSD changes (Joel Baker). Closes: #191551. + * New symbols in libgcc1, tighten the shlibs dependency. + * Disable testsuite run on mips/mipsel because of an outdated libc-dev + package. + * Do not build libffi with debug information, although configuring + with --enable-debug. + + -- Matthias Klose Tue, 6 May 2003 06:53:49 +0200 + +gcc-3.3 (1:3.3ds7-0pre7) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030429). + * Revert upstream libstdc++ change (closes: #191145, #191147, #191148, + #191149, #149159, #149151, and other reports). + Sorry for not detecting this before the upload, seems to be + broken on i386 "only". + * hurd-i386: Use /usr/include, not /include. + * Disable gpc on hurd-i386 (closes: #189851). + * Disable building the debug version of libstdc++ on powerpc-linux + (fixes about 200 java test cases). + * Install libstdc++v3 man pages (closes: #127263). + + -- Matthias Klose Tue, 29 Apr 2003 23:28:44 +0200 + +gcc-3.3 (1:3.3ds6-0pre6) unstable; urgency=high + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030426). + * libstdc++-doc: Fix index.html link (closes: #189424). + * Revert back to the i486 atomicity implementation, that was used + for gcc-3.2 as well. Reopens: #184446, #185662. Closes: #189983. + For this reason, tighten the libstdc++5 shlibs dependency. See + http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01895.html + Don't build the ix86 specfic libstdc++ libs anymore. + + -- Matthias Klose Sun, 27 Apr 2003 19:47:54 +0200 + +gcc-3.3 (1:3.3ds5-0pre5) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030415). + * Disable treelang on powerpc. + * Disable gpc on m68k. + * Install locale data. Conflict with gcc-3.2 (<= 1:3.2.3-0pre8). + * Fix generated bits/atomicity.h (closes: #189183). + * Tighten libgcc1 shlibs dependency (new symbol _Unwind_Backtrace). + + -- Matthias Klose Wed, 16 Apr 2003 00:37:05 +0200 + +gcc-3.3 (1:3.3ds4-0pre4) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030412). + * Avoid sparc64 dependencies for libgcc1 on sparc (Clint Adams). + * Make the default sparc 32bit target v8 instead of v7. This mainly + enables hardmul, which should speed up v8 and v9 systems by a large + margin (Ben Collins). + * Tighten binutils dependency for sparc. + * On i386, build libstdc++ optimized for i486 and above. The library + in /usr/lib is built for i386. Closes: #184446, #185662. + * Add gpc build (from gcc-snapshot package). + * debian/control: Include all packages, that _can_ be built from + this source package (except the cross packages). + * Add m68k patches: m68k-const, m68k-subreg, m68k-loop. + * Run the 3.3 testsuite a second time with the installed gcc-3.2 + to check for regressions (promised, only this time, and for the + final release ;). Add build dependencies (gobjc-3.2, g77-3.2, g++-3.2). + + -- Matthias Klose Sat, 12 Apr 2003 10:11:11 +0200 + +gcc-3.3 (1:3.3ds3-0pre3) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030331). + * Reenable java on arm. + * Build-Depend on binutils-2.13.90.0.18-1.3 on m68k. Fixes all + bprob/gcov testsuite failures. + * Enable C++ build on arm. + * Enable the sparc64 build. + + -- Matthias Klose Mon, 31 Mar 2003 23:24:54 +0200 + +gcc-3.3 (1:3.3ds2-0pre2) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030317). + * Disable building the gcc-3.3-nof package. + * Disable Ada on mips and mipsel. + * Remove the workaround to build Ada on powerpc. + * Add GNU Free documentation license to copyright file. + * Update the sparc64 build patches (Clint Adams). Not yet enabled. + * Disable C++ on arm (Not yet tested). + * Add fix for ICE on powerpc (see: #184684). + + -- Matthias Klose Sun, 16 Mar 2003 21:40:57 +0100 + +gcc-3.3 (1:3.3ds1-0pre1) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030310). + * Add gccbug manpage. + * Don't build libgnat package (no shared library). + * Configure with --enable-sjlj-exceptions on hppa and m68k for + binary compatibility with libstdc++ built with gcc-3.2. + * Disable Java on arm-linux (never seen it sucessfully bootstrap). + * Install non-conflicting baseline README. + * multilib *.so and *.a moved to /usr/lib/gcc-lib/... , so that several + compiler versions can be installed concurrently. + * Remove libstdc++-incdir patch applied upstream. + * libstdc++ 64 bit development files now handled in -dev target. + (Gerhard Tonn) + * Drop build dependencies for gpc (tetex-bin, help2man, libncurses5-dev). + * Add libstdc++5-3.3-dev confict to libstdc++5-dev (<= 1:3.2.3-0pre3). + * Enable builds on m68k (all but C++ for the moment). gcc-3.3 bootstraps, + while gcc-3.2 doesn't. + + -- Matthias Klose Mon, 10 Mar 2003 23:41:00 +0100 + +gcc-3.3 (1:3.3ds0-0pre0) unstable; urgency=low + + * First gcc-3.3 package, built for s390 only. All other architectures + build the gcc-3.3-base package only. + To build the package on other architectures, edit debian/rules.defs + (macro no_dummy_archs). + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030301). + * Don't include the gcc locale files (would conflict with 3.2). + * Remove libffi-install-fix patch. + * Fix netbsd-i386 patches. + * Change priority of libstdc++5 and gcc-3.2-base to important. + * Install gcjh-wrapper for javah. + * gij suggests fastjar, gcj recommends fastjar. + * Allow builds using automake1.4 | automake (<< 1.5). + * Backport fix for to output more correct line numbers. + * Add help2man to build dependencies needed for some gpc man pages. + * gpc: Install binobj and gpidump binaries and man pages. + * Apply cross compilation patches submitted by Bastian Blank. + * Replace s390-biarch patch and copy s390-config-ml patch from 3.2 + (Gerhard Tonn). + * Configure using --enable-debug. + * Add infrastructure to only build a subset of binary packages. + * Rename libstdc++-{dev,dbg,pic,doc} packages. + * Build treelang compiler. + + -- Matthias Klose Sat, 1 Mar 2003 12:56:42 +0100 + +gcc-3.2 (1:3.2.3ds2-0pre3) unstable; urgency=low + + * gcc-3.2.3 prerelease (CVS 20030228) + - Fixes bootstrap failure on alpha-linux. + - Fixes ICE on m68k (closes: #177016). + * Build Pascal with -O1 on powerpc, disable Pascal on arm, m68k and + sparc (due to wrong code generation for fwrite in glibc, + see PR optimization/9279). + * Apply cross compilation patches submitted by Bastian Blank. + + -- Matthias Klose Fri, 28 Feb 2003 20:26:30 +0100 + +gcc-3.2 (1:3.2.3ds1-0pre2) unstable; urgency=medium + + * gcc-3.2.3 prerelease (CVS 20030221) + - Fixes ICE on hppa (closes: #181813). + * Patch for ffitest in s390-java.dpatch deleted, since already fixed + upstream. (Gerhard Tonn) + * Build crtbeginT.o on m68k-linux (closes: #179807). + * Install gcjh-wrapper for javah (closes: #180218). + * gij suggests fastjar, gcj recommends fastjar (closes: #179298). + * Allow builds using automake1.4 | automake (<< 1.5) (closes: #180048). + * Backport fix for to output more correct line numbers (closes: #153965). + * Add help2man to build dependencies needed for some gpc man pages. + * gpc: Install binobj and gpidump binaries and man pages. + * Disable gpc on arm due to wrong code generation for fwrite in + glibc (see PR optimization/9279). + + -- Matthias Klose Sat, 22 Feb 2003 19:58:20 +0100 + +gcc-3.2 (1:3.2.3ds0-0pre1) unstable; urgency=low + + * gcc-3.2.3 prerelease (CVS 20030210) + - Fixes long millicode calls on hppa (closes: #180520) + * New gpc-20030209 version. Remove gpc-update.dpatch and gpc-testsuite.dptch + as they are no longer needed. + * Fix netbsd-i386 patches (closes: #180129, #179931) + * m68k-bootstrap.dpatch: backport gcse.c changes from 3.3/MAIN to 3.2 + * Change priority of libstdc++5 and gcc-3.2-base to important. + + -- Ryan Murray Tue, 11 Feb 2003 06:18:09 -0700 + +gcc-3.2 (1:3.2.2ds8-1) unstable; urgency=low + + * gcc-3.2.2 release. + - Fixes ICE, regression from 2.95 (closes: #176117). + - Fixes ICE, regression from 2.95 (closes: #179161). + * libstdc++ for biarch installs now upstream to usr/lib64, + therefore mv usr/lib/64 usr/lib64 no longer necessary. (Gerhard Tonn) + + -- Ryan Murray Wed, 5 Feb 2003 01:35:29 -0700 + +gcc-3.2 (1:3.2.2ds7-0pre8) unstable; urgency=low + + * gcc-3.2.2 prerelease (CVS 20030130). + * update s390 libffi patch + * debian/control: add myself to uploaders and change libc12-dev depends to + libc-dev on i386 (closes: #179128) + * Build-Depend on procps so that ps is available for logwatch + + -- Ryan Murray Fri, 31 Jan 2003 04:00:15 -0700 + +gcc-3.2 (1:3.2.2ds6-0pre7) unstable; urgency=low + + * gcc-3.2.2 prerelease (CVS 20030128). + - Update needed for hppa. + - Fixes ICE on arm, regression from 2.95.x (closes: #168086). + - Can use default bison (1.875). + * Apply netbsd build patches (closes: #177674, #178328, #178325, + #178326, #178327). + * Run the logwatch script on "slow" architectures (arm, m68k) only. + * autoreconf.dpatch: Only update libtool.m4, which is newer conceptually + than libtool 1.4 (Ryan Murray). + * Apply autoreconf patch universally (Ryan Murray). + * More robust gij/gcj wrapper scripts, include /usr/lib/jni in default + JNI search path (Ben Burton). Closes: #167932. + * Build crtbeginT.o on m68k (closes: #177036). + * Fixed libc-dev source dependency (closes: #178602). + * Tighten shlib dependency to the current package version; should be + 1:3.2.2-1 for the final release (closes: #178867). + + -- Matthias Klose Tue, 28 Jan 2003 21:59:30 +0100 + +gcc-3.2 (1:3.2.2ds5-0pre6) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20030123). + * Build locales needed by the libstdc++ testsuite. + * Update config.{guess,sub} files from autotools-dev (closes: #177674). + * Disable Ada and Java on netbsd-i386 (closes: #177679). + * gnat: Add suggests for gnat-doc and ada-reference-manual. + + -- Matthias Klose Thu, 23 Jan 2003 22:16:53 +0100 + +gcc-3.2 (1:3.2.2ds4-0pre5.1) unstable; urgency=low + + * Readd build dependency `locales' on arm. locales is now installable + * Add autoreconf patch for mips{,el}. (closes: #176311) + + -- Ryan Murray Wed, 22 Jan 2003 14:31:14 -0800 + +gcc-3.2 (1:3.2.2ds4-0pre5) unstable; urgency=low + + * Remove build dependency `libc6-dev-sparc64 [sparc]' for now. + * Remove build dependency `locales' on arm. locales is uninstallable + on arm due to the missing glibc-2.3. + * Use bison-1.35. bison-1.875 causes an hard error on the reduce/reduce + conflict in objc-parse.y. + + -- Matthias Klose Fri, 10 Jan 2003 10:10:43 +0100 + +gcc-3.2 (1:3.2.2ds4-0pre4) unstable; urgency=low + + * Try building with gcc-2.95 on m68k-linux. Building gcc-3.2 with gcc-3.2 + does not work for me. m68k-linux doesn't look good at all ... + * Fix s390 build error. + * Add locales to build dependencies. A still unsolved issue is the + presence of the locales de_DE, en_PH, en_US, es_MX, fr_FR and it_IT, + or else some tests in the libstdc++ testsuite will fail. + * Put all -nof files in the -nof package (closes: #175253). + * Correctly exit logwatch script (closes: #175251). + * Install linker-map.gnu file for libstdc++_pic (closes: #175144). + * Install versioned gpcs docs only (closes: #173844). + * Include gpc test results in gpc package. + * Link local libstdc++ documentation to local source-level documentation. + * Clarify libstdc++ description (so version and library version). + Closes: #175799. + * Include library in libstdc++-dbg package (closes: #176005). + + -- Matthias Klose Wed, 8 Jan 2003 23:39:50 +0100 + +gcc-3.2 (1:3.2.2ds3-0pre3) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021231). + - Fix loop count computation for preconditioned unrolled loops. + Closes: #162919. + - Fix xmmintrin.h (_MM_TRANSPOSE4_PS) CVS 20021027 (closes: #163647). + - Fix [PR 8601] strlen/template interaction causes ICE CVS 20021201. + Closes: #166143. + * Watch the log files, which are written during the testsuite runs and print + out a message, if there is still activity. No more buildd timeouts on arm + and m68k ... + * Remove gpc's reference to librx1g-dev package (closes: #172953). + * Remove trailing dots on package descriptions. + * Fix external reference to cpp.info in gcc.info (closes: #174598). + + -- Matthias Klose Tue, 31 Dec 2002 13:47:52 +0100 + +gcc-3.2 (1:3.2.2ds2-0pre2) unstable; urgency=medium + + * Friday, 13th upload, so what do you expect ... + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021212). + * Fix gnat build (autobuild maintainers: please revert back to gnat-3.2 + (<= 1:3.2.1ds6-1) for building gnat-3.2, if the build fails building + gnatlib and gnattools). + * Really disable sparc64 support. + + -- Matthias Klose Fri, 13 Dec 2002 00:26:37 +0100 + +gcc-3.2 (1:3.2.2ds1-0pre1) unstable; urgency=low + + * A candidate for the transition ... + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021210). + - doc/invoke.texi: Remove last reference to -a (closes: #171748). + * Disable sparc64 support. For now please use egcs64 to build sparc64 + kernels. + * Disable Pascal on the sparc architecture (doesn't bootstrap). + + -- Matthias Klose Tue, 10 Dec 2002 22:33:13 +0100 + +gcc-3.2 (1:3.2.2ds0-0pre0) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021202). + - Should fix _Pragma expansion within macros (closes: #157416). + * New gpc-20021128 version. Run check using EXTRA_TEST_PFLAGS=-g0 + * Add tetex-bin to build dependencies (gpc needs it). Closes: #171203. + + -- Matthias Klose Tue, 3 Dec 2002 08:22:33 +0100 + +gcc-3.2 (1:3.2.1ds6-1) unstable; urgency=low + + * gcc-3.2.1 final release. + * Build gpc-20021111 for all architectures. hppa and i386 are + known to work. For the other architectures, send the usual FTBFS ... + WARNING: this gpc version is an alpha version, especially debug info + doesn't work well, so use -g0 for compiling. If you need a stable + gpc compiler, use gpc-2.95. + * Encode the gpc upstream version in the package name, the gpc release + date in the version number (requested by gpc upstream). + * Added libncurses5-dev and libgmp3-dev as build dependencies for the + gpc tests and runtime. + * Clean CVS files as well (closes: #169101). + * s390-biarch.dpatch added, backported from CVS (Gerhard Tonn). + * s390-config-ml.dpatch added, disables biarch for java, + libffi and boehm-gc on s390. They need a 64 bit runtime + during build which is not yet available on s390 (Gerhard Tonn). + * Biarch support for packaging adapted (Gerhard Tonn). + biarch variable added and with-sparc64 variable substituted in + most places by biarch. + dh_shlibdeps is applied only to 32 bit libraries on s390, since + ldd for 64 bit libraries don't work on 32 bit runtime. + Build dependency to libc6-dev-s390x added. + + -- Matthias Klose Wed, 20 Nov 2002 00:20:58 +0100 + +gcc-3.2 (1:3.2.1ds5-0pre6) unstable; urgency=medium + + * gcc-3.2.1 prerelease. + * Removed arm patch integrated upstream. + * Adjust gnat build dependency (closes: #167116). + * Always configure with --enable-clocale=gnu. The autobuilders do have + locales installed, but not generated the "de_DE" locale needed for + the autoconf test in libstdcc++-v3/aclocal.m4. + * libstdc++ documentaion: Don't compresss '*.txt' referenced by html pages. + + -- Matthias Klose Tue, 12 Nov 2002 07:19:44 +0100 + +gcc-3.2 (1:3.2.1ds4-0pre5) unstable; urgency=medium + + * gcc-3.2.1 snapshot (CVS 20021103). + * sparc64-build.dpatch: Updated. Lets sparc boostrap again. + * s390-loop.dpatch removed, already fixed upstream (Gerhard Tonn). + * bison.dpatch: Removed, patch submitted upstream. + * backport-java-6865.dpatch: Apply again during build. + * Tighten glibc dependency (closes: #166703). + + -- Matthias Klose Sun, 3 Nov 2002 12:22:02 +0100 + +gcc-3.2 (1:3.2.1ds3-0pre4) unstable; urgency=high + + * gcc-3.2.1 snapshot (CVS 20021020). + - Expansion of _Pragma within macros fixed (closes: #157416). + * FTBFS: With the switch to bison-1.50 (and 1.75), gcc-3.2 fails to build from + source on Debian unstable systems. This is fixed in gcc HEAD, but not on + the current release branch. + HELP NEEDED: + - check what is missing from the patches in debian/patches/bison.dpatch. + This is a backport of the bison related patches, but showing regressions + in the gcc testsuite, so it cannot be applied. + - build gcc using byacc (bootstrap currently fails using byacc). + - build bison-1.35 in it's own package (the current 1.35-3 package fails + to build form source). + - and finally ask upstream to backport the patch to the branch. It's not + helpful not beeing able to follow the stable branch. Maybe we should + just switch to gcc HEAD as BSD does ... + As a terrible workaround, build the sources from CVS first on a machine, + with bison-1.35 installed, then package the tarball, so the bison + generated files are not rebuilt. + + * re-add lost patch: configure with --enable-__cxa_atexit (closes: #163422), + Therefore urgency high. + * gcj-wrapper, gij-wrapper: Accept names starting with `.' (closes: #163172, + #164009). + * Point g++ manpage to correct g++ version (closes: #162843). + * Support for i386-freebsd-gnu (closes: #163883). + * s390-java.dpatch replaced with backport from cvs head (Gerhard Tonn). + * Disable the testsuite run on the Hurd (closes: #159650). + * s390-loop.dpatch added, fixes runtime problem (Gerhard Tonn). + * debian/patches/bison.dpatch: Backport for bison-1.75 compatibility. + Don't use it due to regressions. + * debian/patches/backport-java-6865.dpatch: Directly applied in the + included tarball because of bison problems. + * Make fixincludes priority optional, so linda can depend on it. + * Tighten binutils dependency. + + -- Matthias Klose Sun, 20 Oct 2002 10:52:49 +0200 + +gcc-3.2 (1:3.2.1ds2-0pre3) unstable; urgency=low + + * gcc-3.2.1 snapshot (CVS 20020923). + * Run the libstdc++ check-abi script. Results are put into the file + /usr/share/doc/libstdc++5/README.libstdc++-baseline in the libstdc++5-dev + package. This file contains a new baseline, if no baseline for this + architecture is included in the gcc sources. + * gcj-wrapper: Accept files starting with an underscore, accept + path names (closes: #160859, #161517). + * Explicitely call automake-1.4 when rebuilding Makefiles (closes: #161438). + * Let installed fixincludes script find files in /usr/lib/fixincludes. + * debian/rules.patch: Add .NOTPARALLEL as target, so that patches are + applied sequentially (closes: #159395). + + -- Matthias Klose Tue, 24 Sep 2002 07:36:56 +0200 + +gcc-3.2 (1:3.2.1ds1-0pre2) unstable; urgency=low + + * gcc-3.2.1 snapshot (CVS 20020913). Welcome back m68k in bootstrap land! + * Fix arm-tune.dpatch (closes: #159354). + * Don't overwrite LD_LIBRARY_PATH in build (closes: #158459). + * --disable-__cxa_atexit on NetBSD (closes: #159620). + * Reenable installation of message catalogs (disabled in 3.2-0pre2). + Closes: #160175. + * Ben Collins + - Re-enable sparc64 build. This time, it's part of the default compiler. + I have disabled 64/alt libraries as they are too much overhead. All + libraries build 64bit, but currently only libgcc/libstdc++ include the + 64bit libraries. + Closes: #160404. + * Depend on autoconf2.13, instead of autoconf. + * Phil Blundell + - debian/patches/arm-update.dpatch: Fix python2.2 build failure. + + -- Matthias Klose Sat, 7 Sep 2002 08:05:02 +0200 + +gcc-3.2 (1:3.2.1ds0-0pre1) unstable; urgency=medium + + * gcc-3.2.1 snapshot (CVS 20020829). + New g++ option -Wabi: + Warn when G++ generates code that is probably not compatible with the + vendor-neutral C++ ABI. Although an effort has been made to warn about + all such cases, there are probably some cases that are not warned about, + even though G++ is generating incompatible code. There may also be + cases where warnings are emitted even though the code that is generated + will be compatible. + The current version of the ABI is 102, defined by the __GXX_ABI_VERSION + macro. + * debian/NEWS.*: Updated. + * Fix libstdc++-dev dependency on libc-dev for the Hurd (closes: #157004). + * Add versioned expect build dependency. + * Tighten binutils dependency to 2.13.90.0.4. + * debian/patches/arm-tune.dpatch: Increase stack limit for configure. + * 3.2-0pre4 did build gnat-3.2 compilers for all architectures. Build-Depend + on gnat-3.2 now (closes: #156734). + * Remove bashism's in gcj-wrapper (closes: #157982). + * Add -cp and -classpath options to gij(1). Backport from HEAD (#146634). + * Add fastjar documentation. + + -- Matthias Klose Fri, 30 Aug 2002 10:35:00 +0200 + +gcc-3.2 (1:3.2ds0-0pre4) unstable; urgency=low + + * Correct build dependency on gnat-3.1. + + -- Matthias Klose Mon, 12 Aug 2002 01:21:58 +0200 + +gcc-3.2 (1:3.2ds0-0pre3) unstable; urgency=low + + * gcc-3.2 upstream prerelease. + * Disable all configure options, which are standard: + --enable-threads=posix --enable-long-long, --enable-clocale=gnu + + -- Matthias Klose Fri, 9 Aug 2002 21:59:08 +0200 + +gcc-3.2 (1:3.2ds0-0pre2) unstable; urgency=low + + * gcc-3.2 snapshot (CVS 20020802). + * Fix g++-include dir. + * Don't install the locale files (temporarily, until we don't build + gcc-3.1 anymore). + * New package libgcj-common to avoid conflict with classpath package. + + -- Matthias Klose Sat, 3 Aug 2002 09:08:34 +0200 + +gcc-3.2 (1:3.2ds0-0pre1) unstable; urgency=low + + * gcc-3.2 snapshot (CVS 20020729). + + -- Matthias Klose Mon, 29 Jul 2002 20:36:54 +0200 + +gcc-3.1 (1:3.1.1ds3-1) unstable; urgency=low + + * gcc-3.1.1 release. Following this release we will have a gcc-3.2 + release soon, which is gcc-3.1.1 plus some C++ ABI changes. Once + gcc-3.2 hits the archives, gcc-3.1.1 will go away. + * Don't build the sparc64 compiler. The packaging/patches are + currently broken. + * Add missing headers on m68k and powerpc. + * Install libgcc_s_nof on powerpc. + * Install libffi's copyright and doc files (closes: #152198). + * Remove dangling symlink (closes: #149002). + * libgcj3: Add a conflict to the classpath package (closes: #148664). + * README.C++: Fix URLs. + * libstdc++-dbg: Install into /usr/lib/debug, document it. + * backport-java-6865.dpatch: backport from HEAD. + * Fix typo in gcj docs (closes: #148890). + * Change libstdc++ include dir: /usr/include/c++/3.1. + * libstdc++-codecvt.dpatch: New patch (closes: #149776). + * Build libstdc++-pic package. + * Move 64bit libgcc in its own package libgcc1-64 (closes: #147249). + * Tighten glibc dependency. + + -- Matthias Klose Mon, 29 Jul 2002 00:34:49 +0200 + +gcc-3.1 (1:3.1.1ds2-0pre3) unstable; urgency=low + + * Updated to CVS 2002-06-06 (gcc-3_1-branch). + * Updated s390-java patch (Gerhard Tonn). + * Don't use -O in STAGE1_FLAGS on m68k. + * Fix `-classpath' option in gcj-wrapper script (closes: #150142). + * Remove g++-cxa-atexit patch, use --enable-__cxa_atexit configure option. + + -- Matthias Klose Wed, 3 Jul 2002 23:52:58 +0200 + +gcc-3.1 (1:3.1.1ds1-0pre2) unstable; urgency=low + + * Updated to CVS 2002-06-06 (gcc-3_1-branch), fixing an ObjC regression. + * Welcome m68k to bootstrap land (thanks to Andreas Schwab). + * Add javac wrapper for gcj-3.1 (Michael Koch). + * Remove dangling symlink in /usr/share/doc/gcc-3.1 (closes: #149002). + + -- Matthias Klose Fri, 7 Jun 2002 00:26:05 +0200 + +gcc-3.1 (1:3.1.1ds0-0pre1) unstable; urgency=low + + * Updated to CVS 2002-05-31 (gcc-3_1-branch). + * Change priorities from fastjar and gij-wrapper-3.1 from 30 to 31. + * Update arm-tune patch. + * Install xmmintrin.h header on i386 (closes: #148181). + * Install altivec.h header on powerpc. + * Call correct gij in gij-wrapper (closes: #148662, #148682). + + -- Matthias Klose Wed, 29 May 2002 22:47:40 +0200 + +gcc-3.1 (1:3.1ds2-2) unstable; urgency=low + + * Tighten binutils dependency. + * Fix libstdc include dir for multilibs (Dan Jacobowitz). + + -- Matthias Klose Tue, 21 May 2002 08:03:49 +0200 + +gcc-3.1 (1:3.1ds2-1) unstable; urgency=low + + * GCC 3.1 release. + * Ada cannot be built by the autobuilders for the first time. Do it by hand. + gnatgcc and gnatbind need to be in the PATH. + * Build with CC=gnatgcc, when building the Ada compiler. + * Hurd fixes. + * Don't build the sparc64 compiler; the hack isn't up to date and glibc + isn't converted to use /lib64 and /usr/lib64. + * m68k-linux shows bootstrap comparision failures. If you want to build + the compiler anyway and ignore the bootstrap comparision failure, edit + debian/rules.patch and uncomment the patch to ignore the failure. See + /usr/share/doc/gcc-3.1/BOOTSTRAP_COMPARISION_FAILURE for the differences. + + -- Matthias Klose Wed, 15 May 2002 09:53:00 +0200 + +gcc-3.1 (1:3.1ds1-0pre6) unstable; urgency=low + + * Build from the "final prerelease" tarball (gcc-3.1-20020508.tar.gz). + * Build gnat-3.1-doc package. + * Build fastjar package without building java packages. + * Hurd fixes. + * Updated sparc64-build patch. + * Add s390-ada patch (Gerhard Tonn). + * Undo the dwarf2 support for hppa from -0pre5. + + -- Matthias Klose Thu, 9 May 2002 17:21:09 +0200 + +gcc-3.1 (1:3.1ds0-0pre5) unstable; urgency=low + + * Use /usr/include/g++-v3-3.1 as C++ include dir. + * Update s390-java patch (Gerhard Tonn). + * Tighten binutils dependency (gas patch for m68k-linux). + * Use gnat-3.1 as the gnat package name (as found in gcc/ada/gnatvsn.ads). + * dwarf2 support hppa: a snapshot of the gcc/config/pa directory + from the trunk dated 2002-05-02. + + -- Matthias Klose Fri, 3 May 2002 22:51:37 +0200 + +gcc-3.1 (1:3.1ds0-0pre4) unstable; urgency=low + + * Use gnat-5.00w as the gnat package name (as found in gcc/ada/gnatvsn.ads). + * Don't build the shared libgnat library. It assumes an existing shared + libiberty library. + * Don't install the libgcjgc library. + + -- Matthias Klose Thu, 25 Apr 2002 08:48:04 +0200 + +gcc-3.1 (1:3.1ds0-0pre3) unstable; urgency=low + + * Build fastjar on all architectures. + * Update m68k patches. + * Update s390-java patch (Gerhard Tonn). + + -- Matthias Klose Sun, 14 Apr 2002 15:34:47 +0200 + +gcc-3.1 (1:3.1ds0-0pre2) unstable; urgency=low + + * Add Ada support. To successfully build, a working gnatbind and gcc + driver with Ada support is needed. + * Apply needed arm patches from 3.0.4. + + -- Matthias Klose Sat, 6 Apr 2002 13:17:08 +0200 + +gcc-3.1 (1:3.1ds0-0pre1) unstable; urgency=low + + * First try for gcc-3.1. + + -- Matthias Klose Mon, 1 Apr 2002 23:39:30 +0200 + +gcc-3.0 (1:3.0.4ds3-6) unstable; urgency=medium + + * Second try at fixing sparc build problems. + + -- Phil Blundell Sun, 24 Mar 2002 14:49:26 +0000 + +gcc-3.0 (1:3.0.4ds3-5) unstable; urgency=medium + + * Enable java on ARM. + * Create missing directory to fix sparc build. + + -- Phil Blundell Fri, 22 Mar 2002 20:21:59 +0000 + +gcc-3.0 (1:3.0.4ds3-4) unstable; urgency=low + + * Link with system zlib (closes: #136359). + + -- Matthias Klose Tue, 12 Mar 2002 20:47:59 +0100 + +gcc-3.0 (1:3.0.4ds3-3) unstable; urgency=low + + * Build libf2c (pic and non-pic) with -mieee on alpha-linux. + + -- Matthias Klose Sun, 10 Mar 2002 00:37:24 +0100 + +gcc-3.0 (1:3.0.4ds3-2) unstable; urgency=medium + + * Apply hppa-build patch (Randolph Chung). Closes: #136731. + * Make libgcc1 conflict/replace with libgcc1-sparc64. Closes: #135709. + * gij-3.0 provides the `java' command. Closes: #128947. + * Depend on binutils (>= 2.11.93.0.2-2), allows stripping of libgcj.a + again. Closes: #99307. + * Update README.cross pointing to the README of the toolchain-source + package. + + -- Matthias Klose Wed, 6 Mar 2002 21:53:34 +0100 + +gcc-3.0 (1:3.0.4ds3-1) unstable; urgency=low + + * Final gcc-3.0.4 release. + * debian/rules.d/binary-java.mk: Fix dormant typo, exposed by removing the + duplicate libgcj dependency and adding the gij-3.0 package. + Closes: #134005. + * New patch by Phil Blundell to fix scalapack build error on m68k. + + -- Matthias Klose Wed, 20 Feb 2002 23:59:43 +0100 + +gcc-3.0 (1:3.0.4ds2-0pre020210) unstable; urgency=low + + * Make the base package dependent on the binary-arch target. Closes: #133433. + * Get libstdc++ on arm woring (define _GNU_SOURCE). Closes: #133435. + + -- Matthias Klose Mon, 11 Feb 2002 20:31:12 +0100 + +gcc-3.0 (1:3.0.4ds2-0pre020209) unstable; urgency=high + + * Update to CVS sources (20020209 gcc-3_0-branch). + * Apply patch to fix bootstrap error on arm-linux (submitted upstream + by Phil Blundell). Closes: #130422. + * Make base package architecture any. + * Decouple versioned shlib dependencies from release number for + libobjc as well. + + -- Matthias Klose Sat, 9 Feb 2002 01:30:11 +0100 + +gcc-3.0 (1:3.0.4ds1-0pre020203) unstable; urgency=medium + + * One release critical bug outstanding: + - bootstrap error on arm. + * Update to CVS sources (20020203 gcc-3_0-branch). + * Fixed upstream: PR c/3504: Correct documentation of __alignof__. + Closes: #85445. + * Remove libgcc-powerpc patch, integrated upstream (closes: #131977). + * Tighten binutils build dependency (to address #126162). + * Move jv-convert to gcj package (closes: #131985). + + -- Matthias Klose Sun, 3 Feb 2002 14:47:14 +0100 + +gcc-3.0 (1:3.0.4ds0-0pre020127) unstable; urgency=low + + * Two release critical bugs outstanding: + - bootstrap error on arm. + - bus errors for C++ and java executables on sparc (see the testsuite + results). + * Update to CVS sources (20020125 gcc-3_0-branch). + * Enable java support for s390 architecture (patch from Gerhard Tonn). + * Updated NEWS file for 3.0.3. + * Disable building the gcc-sparc64, but build a multilibbed compiler + for sparc as the default. + * Disabled the subreg-byte patch for sparc (request from Ben Collins). + * Fixed reference to libgcc1 package in README (closes: #126218). + * Do recommend libc-dev, not depend on it. For low-end or embedded systems + the dependency on libc-dev can make the difference between + having enough or having too little space to build a kernel. + * README.cross: Updated by Hakan Ardo. + * Decouple versioned shlib dependencies from release number. Closes: #118391. + * Fix diversions for gcc-3.0-sparc64 package (closes: #128178), + unconditionally remove `sparc64-linux-gcc' alternative. + * g77/README.libg2c.Debian: New file mentioning `libg2c-pic'. The next + g77 version (3.1) does build a static and shared library (closes: #104250). + * Fix formatting errors in the synopsis of the java man pages. Maybe the + reason for #127571. Closes: #127571. + * fastjar: Fail for the (currently incorrect) -u option. Addresses: #116145. + Add alternative for `jar' using priority 30 (closes: #118648). + * jv-convert: Add --help option and man page. Backport from HEAD branch. + * libgcj2-dev: Remove duplicate dependency (closes: #127805). + * Giving up and make just another new package gij-X.Y with only the gij-X.Y + binary for policy conformance (closes: #127111). + * gij: Provides an alternative for `java' (priority 30) using a wrapper + script (Stephen Zander) (closes: #128974). Added simple manpage. + + -- Matthias Klose Sun, 27 Jan 2002 13:33:41 +0100 + +gcc-3.0 (1:3.0.3ds3-1) unstable; urgency=low + + * Final gcc-3.0.3 release. + * Do not compress .txt files in libstdc++ docs referenced from html + pages (closes: #124136). + * libstdc++-dev suggests libstdc++-doc. + * debian/patches/gcc-ia64-NaT.dpatch: Update (closes: #123685). + + -- Matthias Klose Fri, 21 Dec 2001 02:54:11 +0100 + +gcc-3.0 (1:3.0.3ds2-0pre011215) unstable; urgency=low + + * Update to CVS sources (011215). + * libstdc++ documentation updated upstream (closes: #123790). + * debian/patches/gcc-ia64-NaT.dpatch: Disable. Fixes bootstrap error + on ia64 (#123685). + + -- Matthias Klose Sat, 15 Dec 2001 14:43:21 +0100 + +gcc-3.0 (1:3.0.3ds1-0pre011210) unstable; urgency=medium + + * Update to CVS sources (011208). + * Supposed to fix powerpc build error (closes: #123155). + + -- Matthias Klose Thu, 13 Dec 2001 07:26:05 +0100 + +gcc-3.0 (1:3.0.3ds0-0pre011209) unstable; urgency=medium + + * Update to CVS sources (011208). Frozen for upstream 3.0.3 release. + * Apply contrib/PR3145.patch, a backport of Nathan Sidwell's patch to + fix PR c++/3145, the infamous "virtual inheritance" bug. This affected + especially KDE2 (eg. artsd). Franz Sirl + * cc1plus segfault in strength reduction fixed upstream. Closes: #122547. + * debian/patches/gcc-ia64-NaT.dpatch: Add patch to avoid a bug that can + cause miscompiled userapps to crash the kernel. Closes: #121924. + * Reenable shared libgcc for powerpc. Fixed upstream. + http://gcc.gnu.org/ml/gcc-patches/2001-11/msg00340.html + debian/patches/libgcc-powerpc.dpatch: New patch. + * Add upstream changelogs. + * Remove gij alternative. Move to gij package. + + -- Matthias Klose Sun, 9 Dec 2001 09:36:48 +0100 + +gcc-3.0 (1:3.0.2ds4-4) unstable; urgency=medium + + * Disable building of libffi on mips and mipsel. + (closes: #117503). + * Enable building of shared libgcc on s390 + (closes: #120452). + + -- Christopher C. Chimelis Sat, 1 Dec 2001 06:15:29 -0500 + +gcc-3.0 (1:3.0.2ds4-3) unstable; urgency=medium + + * Fix logic to build libffi without java (closes: #117503). + + -- Matthias Klose Sun, 4 Nov 2001 14:34:50 +0100 + +gcc-3.0 (1:3.0.2ds4-2) unstable; urgency=medium + + * Enable java for ia64 (Jeff Licquia). Closes: #116798. + * Allow building of libffi without gcj (Jeff Licquia). + New libffi packages for arm hurd-i386 mips mipsel, + still missing: hppa, s390. + * debian/NEWS.gcc: Add 3.0.2 release notes. + * debian/patches/hppa-align.dpatch: New patch from Alan Modra, + submitted by Randolph Tausq. + + -- Matthias Klose Thu, 25 Oct 2001 23:59:31 +0200 + +gcc-3.0 (1:3.0.2ds4-1) unstable; urgency=medium + + * Final gcc-3.0.2 release. The source tarball is not the released + tarball, but taken from CVS 011024). + * Remove patch for s390, included upstream. + + -- Matthias Klose Wed, 24 Oct 2001 00:49:40 +0200 + +gcc-3.0 (1:3.0.2ds3-0pre011014) unstable; urgency=low + + * Update to CVS sources (011014). Frozen for upstream 3.0.2 release. + Closes: #109351, #114099, #114216, #105741 (allegro3938). + * Added debian/patches/fastjar.dpatch, which makes fastjar extract + filenames correctly (previously, some had incorrect names on extract). + Closes: #113236. + * Priorities fixed in the past (closes: #94404). + + -- Matthias Klose Sun, 14 Oct 2001 13:19:43 +0200 + +gcc-3.0 (1:3.0.2ds2-0pre010923) unstable; urgency=low + + * Bootstraps on powerpc again (closes: #112777). + + -- Matthias Klose Sun, 23 Sep 2001 01:32:11 +0200 + +gcc-3.0 (1:3.0.2ds2-0pre010922) unstable; urgency=low + + * Update to CVS sources (010922). + * Fixed upstream (closes: #111801). #105569 on hppa. + * Update hppa patch (Matt Taggart). + * Fix libstdc++-dev package description (closes: #112758). + * debian/rules.d/binary-objc.mk: Fix build error (closes: #112462). + * Make gobjc-3.0 conflict with gcc-3.0-sparc64 (closes: #111772). + + -- Matthias Klose Sat, 22 Sep 2001 09:34:49 +0200 + +gcc-3.0 (1:3.0.2ds1-0pre010908) unstable; urgency=low + + * Update to CVS sources (010908). + * Update hppa patch (Matt Taggart). + * Depend on libgc6-dev, not libgc5-dev, which got obsolete (during + the freeze ...). However adds s390 support (closes: #110189). + * debian/patches/m68k-reload.dpatch: New patch (Roman Zippel). + Fixes #89023. + * debian/patches/gcc-sparc.dpatch: New patch ("David S. Miller"). + Fixes libstdc++ testsuite failures on sparc. + + -- Matthias Klose Sat, 8 Sep 2001 14:26:20 +0200 + +gcc-3.0 (1:3.0.2ds0-0pre010826) unstable; urgency=low + + * gcc-3.0-nof: Fix symlink to gcc-3.0-base doc directory. + * debian/patches/gcj-without-rpath: New patch. + * Remove self dependency on libgcj package. + * Handle diversions for upgrades from 3.0 and 3.0.1 -> 3.0.2 + in gcc-3.0-sparc64 package. + * Build libg2c.a with -fPIC -DPIC and name the result libg2c-pic.a. + Link with this library to avoid linking with non-pic code. + Use this library when building dynamically loadable objects (python + modules, gimp plugins, ...), which need to be linked against g2c or + a library which is linked against g2c (i.e. lapack). + Packages needing '-lg2c-pic' must have a build dependency on + 'g77-3.0 (>= 1:3.0.2-0pre010826). + + -- Matthias Klose Sun, 26 Aug 2001 13:59:03 +0200 + +gcc-3.0 (1:3.0.2ds0-0pre010825) unstable; urgency=low + + * Update to CVS sources (010825). + * Add libc6-dev-sparc64 to gcc-3.0-sparc64 and to sparc build dependencies. + * Remove conflicts on egcc package (closes: #109718). + * Fix gcc-3.0-nof dependency. + * s390 patches against gcc-3.0.1 (Gerhard Tonn). + * debian/control: Require binutils (>= 2.11.90.0.27) + + -- Matthias Klose Sat, 25 Aug 2001 10:59:15 +0200 + +gcc-3.0 (1:3.0.1ds3-1) unstable; urgency=low + + * Final gcc-3.0.1 release. + * Changed upstream: default of -flimit-inline is 600 (closes: #106716). + * Add fastjar man page (submitted by "The Missing Man Pages Project", + http://www.netmeister.org/misc/m2p2i/) (closes: #103051). + * Fixed in last upload as well: #105246. + * debian/patches/cpp-memory-leak.dpatch: New patch + * Disable installation of shared libgcc on s390 (Gerhard Tonn). + + -- Matthias Klose Mon, 20 Aug 2001 20:47:13 +0200 + +gcc-3.0 (1:3.0.1ds2-0pre010811) unstable; urgency=high + + * Update to CVS sources (010811). Includes s390 support. + * Add xlibs-dev to Build-Depends (libgcj). + * Enable java for powerpc, disable java for ia64. + * Enable ObjC garbage collection for all archs, which have a libgc5-dev + package. + * New patch libstdc++-codecvt (Michael Piefel) (closes: #104614). + * Don't strip static libgcj library (work around binutils bug #107812). + * Handle diversions for upgrade 3.0 -> 3.0.1 in gcc-3.0-sparc64 package + (closes: #107569). + + -- Matthias Klose Sat, 11 Aug 2001 20:42:15 +0200 + +gcc-3.0 (1:3.0.1ds1-0pre010801) unstable; urgency=high + + * Update to CVS sources (010801). (closes: #107012). + * Remove build dependency on non-free graphviz and include pregenerated + docs (closes: #107124). + * Fixed in 3.0.1 (closes: #99307). + * Updated m68k-updates patch (Roman Zippel). + * Another fix for ia64 packaging bits (Randolph Chung). + + -- Matthias Klose Tue, 31 Jul 2001 21:52:55 +0200 + +gcc-3.0 (1:3.0.1ds0-0pre010727) unstable; urgency=high + + * Update to CVS sources (010727). + * Add epoch to source version. Change '.dsx' to 'dsx', so that + 3.1.1ds0 gt 3.1ds7 (closes: #106538). + + -- Matthias Klose Sat, 28 Jul 2001 09:56:29 +0200 + +gcc-3.0 (3.0.1.ds0-0pre010723) unstable; urgency=high + + * ia64 packaging bits (Randolph Chung) (closes: #106252). + + -- Matthias Klose Mon, 23 Jul 2001 23:02:03 +0200 + +gcc-3.0 (3.0.1.ds0-0pre010721) unstable; urgency=high + + * Update to CVS sources (010721). + - Remove patches applied upstream: libstdc++-limits.dpatch, + objc-data-references + - Updated other patches. + * Fix gij alternative (closes: #103468, #103883). + * Patch to fix bootstrap on sparc (closes: #103568). + * Corrected (closes: #105371) and updated README.Debian. + * m68k patches for sucessful bootstrap (Roman Zippel). + * Add libstdc++v3 porting hints to README.Debian and README.C++. + * m68k md fix (#105622) (Roman Zippel). + * debian/rules2: Disable non-functional ulimit on Hurd (#105884). + * debian/control: Require binutils (>= 2.11.90.0.24) + * Java is enabled for alpha (closes: #87300). + + -- Matthias Klose Sun, 22 Jul 2001 08:24:04 +0200 + +gcc-3.0 (3.0.ds9-4) unstable; urgency=high + + * Move this version to testing ASAP. testing still has a prerelease + version with now incompatible ABI's. If sparc doesn't build, + then IMHO it's better to remove it from testing. + * debian/control.m4: Set uploaders field. Adjust description of + gcc-3.0 (binary) package (closes: #102271, #102620). + * Separate gij.1 in it's own pseudo man page (closes: #99523). + * debian/patches/java-manpages.dpatch: New patch. + * libgcj: Install unversioned gij. + + -- Matthias Klose Tue, 3 Jul 2001 07:38:08 +0200 + +gcc-3.0 (3.0.ds9-3) unstable; urgency=high + + * Reenable configuration with posix threads on i386 (lost in hurd-i386 + merge). + + -- Matthias Klose Sun, 24 Jun 2001 22:21:45 +0200 + +gcc-3.0 (3.0.ds9-2) unstable; urgency=medium + + * Move this version to testing ASAP. testing still has a prerelease + version with now incompatible ABI's. + * Add libgcc0 and libgcc300 to the build conflicts (#102041). + * debian/README.FIRST: Removed (#101534). + * Updated subreg-byte patch (doc files). + * Disable java for the Hurd, mips and mipsel (#101570). + * Patch for building on the Hurd (#101708) (Jeff Bailey ). + * Packaging fixes for the Hurd (#101711) (Jeff Bailey ). + * Include pregenerated doxygen (1.2.6) docs for libstdc++-v3 (#101557). + The current doxygen-1.2.8.1 segaults. + * C++: Enable -fuse-cxa-atexit by default (#101901). + * Correct mail address in gccbug (#101743). + * Make rules resumable after failure in binary-xxx targets (#101637). + + -- Matthias Klose Sun, 24 Jun 2001 16:04:53 +0200 + +gcc-3.0 (3.0.ds9-1) unstable; urgency=low + + * Final 3.0 release. + * Update libgcc version number (#100983, #100988, #101069, #101115, #101328). + * Updated hppa-build patch (Matt Taggart ). + * Disable java for hppa. + * Updated subreg-byte patch for sparc (Ben Collins). + + -- Matthias Klose Mon, 18 Jun 2001 18:26:04 +0200 + +gcc-3.0 (3.0.ds8-0pre010613) unstable; urgency=low + + * Update patches for recent (010613 23:13 +0200) CVS sources. + * Fix packaging bugs (#100459, #100447, #100483). + * Build-Depend on gawk, mawk doesn't work well with test_summary. + + -- Matthias Klose Wed, 13 Jun 2001 23:13:38 +0200 + +gcc-3.0 (3.0.ds7-0pre010609) unstable; urgency=low + + * Fix build dependency for the hurd (#99164). + * Update patches for recent (010609) CVS sources. + * Disable java on powerpc (link error in libjava). + * gcc-3.0-base.postinst: Don't prompt for non-interactive installs (#100110). + + -- Matthias Klose Sun, 10 Jun 2001 09:45:57 +0200 + +gcc-3.0 (3.0.ds6-0pre010526) unstable; urgency=high + + * Urgency "high" for replacing the gcc-3.0 snapshots in testing, which + now are incompatile due to the changed ABIs. + * Upstream begins tagging with "gcc-3_0_pre_2001mmdd". + * Tighten dependencies to install only binary packages derived from + one source (#98851). Tighten libc6-dev dependency to match libc6. + + -- Matthias Klose Sun, 27 May 2001 11:35:31 +0200 + +gcc-3.0 (3.0.ds6-0pre010525) unstable; urgency=low + + * ATTENTION: The ABI (exception handling) changed. No upgrade path from + earlier snapshots (you had been warned in the postinst ...) + Closing #93597, #94576, #96448, #96461. + You have to rebuild + * HELP is appreciated for scanning the Debian BTS and sending followups + to bug reports!!! + * Should we name debian gcc uploads? What about a "still seeking + g++ maintainer" upload? + * Fixed in gcc-3.0: #97030 + * Update patches for recent (010525) CVS sources. + * Make check depend on build target (fakeroot problmes). + * debian/rules.d/binary-libgcc.mk: new file, build first. + * Free memory detection on the hurd for running the testsuite. + * Update debhelper build dependency. + * libstdc++-doc: Include doxygen generated docs. + * Fix boring packaging bugs, too tired for appropriate changelogs ... + #93343, #96348, #96262, #97134, #97905, #96451, #95812, #93157 + * Fixed bugs: #87000. + + -- Matthias Klose Sat, 26 May 2001 23:10:42 +0200 + +gcc-3.0 (3.0.ds5-0pre010510) unstable; urgency=low + + * Update patches for recent (010506) CVS sources. + * New version of source, as of 2001-05-10 + * New version of gpc source, as of 2001-05-06 (disabled by default). + * Make gcc-3.0-sparc64 provide an alternative for sparc64-linux-gcc, + since it can build kernels just fine (it seems) + * Add hppa patch from Matt Taggart + * Fix objc info inclusion...now merged with gcc info + * Do not install the .la for libstdc++, since it confuses libtool linked + applications when libstdc++3-dev and libstdc++2.10-dev are both + installed (closes #97905). + * Fixed gcc-base and libgcc section/prio to match overrides + + -- Ben Collins Mon, 7 May 2001 00:08:52 +0200 + +gcc-3.0 (3.0.ds5-0pre010427) unstable; urgency=low + + * Fixed priority for fastjar from optional to extra + * New version of source, as of 2001-04-27 + * Fix description of libgcj-dev + * libffi-install: Make libffi installable + * Add libffi and libffi-dev packages. libffi is only enabled for java + targets right now. Perhaps more will be enabled later. + * Fixes to build cross compiler package (for avr) + (Hakan Ardo ). + * Better fixincludes description (#93157). + * Remove all remnants of libg++ + * Remove all hacks around libstdc++ version. Since we are strictly v3 now, + we can treat it like a normal shared lib, and not worry about all those + ABI changes. + * Remove all cruft control scripts. Note, debhelper will create scripts + that it needs to. It will do the doc link stuff and the ldconfig stuff + explicitly. + * Clean up the SONAME parsing stuff, make it a little more cleaner over + all the lib packages + * Make libffi install when built (IOW, whenever java is enabled). This + should obsolete the libffi package, which is old and broken + * Revert to normal sonames, except for ia64 (for now) + * Remove all references to dh_testversion, since they are deprecated for + Build-Depends + * Fix powerpc nof build + * Remove all references to the MULTILIB stuff, since the arches are + using specialized builds anyway (nof, softfloat). + * Added 64bit sparc64 package (gcc-3.0-sparc64, libgcc0-sparc64) + * Removed obsolete shlibs.local file + + -- Ben Collins Sun, 15 Apr 2001 21:33:15 -0400 + +gcc-3.0 (3.0.ds4-0pre010403) unstable; urgency=low + + * debian/README: Updated for gcc-3.0 + * debian/rules.patch: Added subreg-byte patch for sparc + * debian/rules.unpack: Update to current CVS for gcc tarball name + * debian/patches/subreg-byte.dpatch: sparc subreg-byte support + * debian/patches/gcc-rawhide.dpatch: Removed + debian/patches/gpc-2.95.dpatch: Removed + debian/patches/sparc32-rfi.dpatch: Removed + debian/patches/temporary.dpatch: Removed + * Moving to unstable now + * debian/patches/gcc-ppc-disable-shared-libgcc.dpatch: New patch, + disables shared libgcc for powerpc target, since it isn't compatible + with the EABI objects. + * Create $(with_shared_libgcc) var + * debian/rules.d/binary-gcc.mk: Use this new variable to determine if + the libgcc package actually has any files + + -- Ben Collins Tue, 3 Apr 2001 23:00:55 -0400 + +gcc-3.0 (3.0.ds2-0pre010223) experimental; urgency=low + + * New snapshot. Use distinct shared object names for shared libraries: + we don't know if binary API's still change until the final release. + * Versioned package names. + * debian/control.m4: New file. Add gcc-base, libgcc0, libobjc1, + libstdc++-doc, libgcj1, libgcj1-dev, fastjar, fixincludes packages. + Remove gcc-docs package. + * debian/gcov.1: Remove. + * debian/*: Remove 2.95.x support. Prepare for 3.0. + * debian/patches: Remove 2.95.x patches. + * Changed source package name. It's not allowed anymore to overwrite + source packages with different content. Introducing a 'debian source + element' (.ds), which is stripped again from the version number + for the binary packages. + * Fixed bugs and added functionality: + #26436, #27878, #33786, #34876, #35477, #42662, #46181, #42989, + #47981, #48530, #50529, #51227, #51456, #51651, #52382, #53698, + #55291, #55967, #56867, #58219, #59005, #59232, #59776, #64628, + #65687, #67631, #68632, #68963, #68987, #69530, #72933, #75120, + #75759, #76645, #76827, #83221, #87540 + * libgcj fixes: 42894, #51266, #68560, #71187, #79984 + + -- Matthias Klose Sat, 24 Feb 2001 13:41:11 +0100 + +gcc-2.95 (2.95.3-2.001222) experimental; urgency=low + + * New upstream version 2.95.3 experimental (CVS 20001222). + * debian/control.in: Versioned package names, removal of snapshot logic. + Remove fake gcc-docs package. + * Reserve -1 release numbers for woody. + * Updated to gpc-20001218. + + -- Matthias Klose Fri, 22 Dec 2000 19:53:03 +0100 + +gcc (2.95.2-20) unstable; urgency=low + + * Apply patch from gcc-2_95-branch; remove ulimit for make check. + + -- Matthias Klose Sun, 10 Dec 2000 17:01:13 +0100 + +gcc (2.95.2-19) unstable; urgency=low + + * Added testsuite-20001207 from current snapshots. We'll need results + for 2.95.2 to make sure there are no regressions against that release. + Dear build daemons and porters to other architectures, please send an + email to gcc-testresults@gcc.gnu.org. + You can do this by running "debian/rules mail-summary". + * Updated to gpc-20001206. + * Added S/390 patch prepared by Chu-yeon Park (#78983). + * debian/patches/libio.dpatch: Fix iostream doc (fixes #77647). + * debian/patches/gcc-doc.dpatch: Update URL (fixes #77542). + * debian/patches/gcc-reload1.dpatch Patch from the gcc-bug list which + fixes a problem in "long long" on i[345]86 (i686 was not affected). + + -- Matthias Klose Sat, 9 Dec 2000 12:30:32 +0100 + +gcc (2.95.2-18) unstable; urgency=low + + * debian/control.in: Fix syntax errors (fixes #76146, #76458). + Disable gpc on the hurd by request (#75686). + * debian/patches/arm-various.dpatch: Patches from Philip Blundell + for ARM arch (fixes #75801). + * debian/patches/gcc-alpha-mi-thunk.dpatch: Patches from Chris Chimelis + for alpha arch. + * debian/patches/g77-docs.dpatch: Adjust g77 docs (fixes #72594). + * Update gpc to gpc-20001118. + * Reenable gpc for alpha. + * debian/README.C++: Merge debian/README.libstdc++ and C++ FAQ information + provided by Matt Zimmermann. + * Build gcj only on architectures, where libgcj-2.95.1 can be built as well. + Probably needs some adjustments ... + * Conditionalize for chill, fortran, java, objc and chill. + + * NOT APPLIED: + debian/patches/libstdc++-bastring.dpatch: Apply fix (fixes #75759). + + -- Matthias Klose Sun, 19 Nov 2000 10:40:41 +0100 + +gcc (2.95.2-17) unstable; urgency=low + + * Disable gpc for alpha. + * Include gpc-cpp in gpc package (fixes #74492). + * Don't build gcc-docs compatibility package anymore. + + -- Matthias Klose Wed, 11 Oct 2000 06:16:53 +0200 + +gcc (2.95.2-16) unstable; urgency=low + + * Applied the emdebian/cross compiler patch and documentation + (Frank Smith ). + * Applied patch for avr target (Hakan Ardo ). + * debian/control.in: Add awk to Build-Depends. + Tighten libc6-dev dependency for libstdc++-dev (fixes #73031, + #72531, #72534). + * Disable libobjc_gc for m68k again (fixes #74380). + * debian/patches/arm-namespace.dpatch: Apply patch from Philip + Blundell to fix name space pollution on arm + (fixes #70937). + * Fix more warnings in STL headers (fixes #69352, #71943). + + -- Matthias Klose Mon, 9 Oct 2000 21:51:41 +0200 + +gcc (2.95.2-15) unstable; urgency=low + + * debian/control.in: Add libgc5-dev to build depends (fixes #67015). + * debian/rules.def: Build GC enabled ObjC runtime for sparc. + * Bug #58741 fixed (in some version since 2.95.2-5). + * debian/control.in: Recommend librx1g-dev, libgmp2-dev, libncurses5-dev + (unit dependencies). + * Patches from Marcus Brinkmann for the hurd (fixes #67763): + - debian/rules.defs: Disable objc_gc on hurd-i386. + Disable libg++ on GNU systems. + - debian/rules2: Set correct names of libstdc++/libg++ + libraries on GNU systems. + Write out correct shlibs and shlibs.local file content. + - Keep _G_config.h for the Hurd. + * Apply patch for ObjC linker warnings. + * Don't apply gcj backport patch for sparc. + * Apply libio compatability patch + * debian/glibcver.sh: generate appropriate version for glibc + * debian/rules.conf: for everything after glibc 2.1, we always append + "-glibc$(ver)" to the C++ libs for linux. + * Back down gpc to -13 version (-14 wont compile on anything but i386 + and m68k becuase of gpc). + * Remove extraneous and obsolete sparc64 patches/files from debian/* + + -- Ben Collins Thu, 21 Sep 2000 08:08:35 -0400 + +gcc-snapshot (20000901-2.2) experimental; urgency=low + + * New snapshot. + * debian/rules2: Move tradcpp0 to cpp package. + + -- Matthias Klose Sat, 2 Sep 2000 01:14:28 +0200 + +gcc-snapshot (20000802-2.1) experimental; urgency=low + + * New snapshot. + * debian/rules2: Fixes. tradcpp0 is in gcc package, not cpp. + + -- Matthias Klose Thu, 3 Aug 2000 07:40:05 +0200 + +gcc-snapshot (20000720-2) experimental; urgency=low + + * New snapshot. + * Enable libstdc++-v3. + * debian/rules2: Don't use -D for /usr/bin/install. + + -- Matthias Klose Thu, 20 Jul 2000 22:33:37 +0200 + +gcc (2.95.2-14) unstable; urgency=low + + * Update gpc patch. + + -- Matthias Klose Wed, 5 Jul 2000 20:51:16 +0200 + +gcc (2.95.2-13) frozen unstable; urgency=low + + * Update debian/README: document how to compile 2.0.xx kernels; don't + register gcc272 as an alternative for gcc (closes #62419). + Clarify compiler setup (closes #65548). + * debian/control.in: Make libstdc++-dev depend on current version of g++. + * Undo CVS update from release -8 (problems on alpha, #55263). + + -- Matthias Klose Mon, 19 Jun 2000 23:06:48 +0200 + +gcc (2.95.2-12) frozen unstable; urgency=low + + * debian/gpc.postinst: Correct typo introduced with -11 (fixes #64193). + * debian/patches/gcc-rs600.dpatch: ppc codegen fix (fixes #63933). + + -- Matthias Klose Sun, 21 May 2000 15:56:05 +0200 + +gcc (2.95.2-11) frozen unstable; urgency=medium + + * Upload to unstable again (fixes critical #63784). + * Fix doc-base files (fixes important #63810). + * gpc wasn't built in -10 (fixes #63977). + * Make /usr/bin/pc an alternative (fixes #63888). + * Add SYSCALLS.c.X to gcc package. + + -- Matthias Klose Sun, 14 May 2000 22:17:44 +0200 + +gcc (2.95.2-10) frozen; urgency=low + + * debian/control.in: make gcc conflict on any version of egcc + (slink to potato upgrade problem, fixes grave #62084). + * Build protoize programs, separate out in new package (fixes #59436, + #62911). + * Create dummy gcc-docs package for smooth update from slink (fixes #62537). + * Add doc-base support for all -doc packages (fixes #63380). + + -- Matthias Klose Mon, 1 May 2000 22:24:28 +0200 + +gcc (2.95.2-9) frozen unstable; urgency=low + + * Disable the sparc-bi-arch.dpatch (patch from Ben Collins, built + for sparc as NMU 8.1) (fixes critical #61529 and #61511). + "Seems that when you compile gcc 2.95.x for sparc64-linux and compile + sparc32 programs, the code is not the same as sparc-linux compile for + sparc32 (this is a bug, and is fixed in gcc 2.96 CVS)." + * debian/patches/gcj-vs-iconv.dpatch: Option '--encoding' for + encoding of input files. Patch from Tom Tromey + backported to 2.95.2 (fixes #42895). + Compile a Latin-1 encoded file with `gcj --encoding=Latin1 ...'. + * debian/control.in: gcc, g++ and gobjc suggest their corresponding + task packages (fixes #59623). + + -- Matthias Klose Sat, 8 Apr 2000 20:19:15 +0200 + +gcc (2.95.2-8) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000313. + * debian/rules2: configure with --enable-java-gc=no for sparc. Fixes + gcj side of #60535. + * debian/rules.patch: Disable gcc-emit-rtl patch for all archs but + alpha. Disable g++-is-tree patch ("just for 2.95.1"). + * debian/README: Update for gcc-2.95. + + -- Matthias Klose Mon, 27 Mar 2000 00:03:16 +0200 + +gcc (2.95.2-7) frozen unstable; urgency=low + + * debian/patches/gcc-empty-struct-init.dpatch; Apply patch from + http://gcc.gnu.org/ml/gcc-patches/2000-02/msg00637.html. Fixes + compilation of 2.3.4x kernels. + * debian/patches/gcc-emit-rtl.dpatch: Apply patch from David Huggins-Daines + (backport from 2.96 CVS to fix #55263). + * debian/patches/gcc-pointer-arith.dpatch: Apply patch from Jim Kingdon + (backport from 2.96 CVS to fix #54951). + + -- Matthias Klose Thu, 2 Mar 2000 23:16:43 +0100 + +gcc (2.95.2-6) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000220. + * Remove dangling symlink probably left over from libstdc++2.9 + package (fixes #53661). + * debian/patches/gcc-alpha-complex-float.dpatch: Fixed patch by + David Huggins-Daines (fixes #58486). + * debian/g++.{postinst,prerm}: Remove outdated g++FAQ registration + (fixes #58253). + * debian/control.in: gcc-doc replaces gcc-docs (fixes #58108). + * debian/rules2: Include some fixed headers (asm, bits, linux, ...). + * debian/patches/{gcc-alpha-ev5-fix,libstdc++-valarray}.dpatch: Remove. + Applied upstream. + * debian/patches/libstdc++-bastring.dpatch: Add patch from + sicard@bigruth.solsoft.fr (fixes #56715). + + -- Matthias Klose Sun, 20 Feb 2000 15:08:13 +0100 + +gcc (2.95.2-5) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000116. + * Add more build dependencies (fixes #53204). + * debian/patches/gcc-alpha-complex-float.dpatch: Patch from + Joel Klecker to compile glibc correctly on alpha. + "Should fix the g77 problems too." + * debian/patches/{libio,libstdc++-wall2}.dpatch. Remove patches + applied upstream. + + -- Matthias Klose Sun, 16 Jan 2000 19:16:54 +0100 + +gcc (2.95.2-4) unstable; urgency=low + + * debian/patches/libio.dpatch: Patch from Martin v. Loewis. + (fixes: #35628). + * debian/patches/libstdc++-deque.dpatch: Patch from Martin v. Loewis. + (fixes: #52689). + * debian/control.in: Updated Build-Depends, removed outdated README.build. + Fixes #51246. + * Tighten dependencies to cpp (>= 2.95.2-4) (closes: #50294). + * debian/rules.patch: Really do not apply patches/gcj-backport.dpatch. + Fixes #51636. + * Apply updated sparc-bi-arch.dpatch from Ben Collins. + * libstdc++: Define wstring type, if __ENABLE_WSTRING is defined. Request + from the author of the War FTP Daemon for Linux ("Jarle Aase" + ). + * debain/g++.preinst: Remove dangling sysmlinks (fixes #52359). + + -- Matthias Klose Sun, 19 Dec 1999 21:53:48 +0100 + +gcc (2.95.2-3) unstable; urgency=low + + * debian/rules2: Don't install $(gcc_lib_dir)/include/asm; these are + headers fixed for glibc-1.x (closes: #49434). + * debian/patches/cpp-dos-newlines.dpatch: Keep CR's without + following LF (closes: #49186). + * Bug #37358 (internal compiler errors when building vdk_0.6.0-5) + fixed in gcc-2.95.? (closes: #37358). + * Apply patch gcc-alpha-ev5-fix from Richard Henderson + (should fix #48527 and #46963). + * debian/README.Bugs: Documented non bug #44554. + * Applied patch from Alexandre Oliva to fix gpc boostrap on alpha. + Reenabled gpc on all architectures. + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991108. + * Explicitely generate postinst/prerm chunks for usr/doc transition. + debhelper currently doesn't handle generation for packages with + symlinked directories. + * debian/patches/libstdc++-wall3.dpatch: Fix warnings in stl_deque.h + and stl_rope.h (closes: #46444, #46720). + * debian/patches/gcj-backport.dpatch: Add file, don't apply (yet). + + -- Matthias Klose Wed, 10 Nov 1999 18:58:45 +0100 + +gcc (2.95.2-2) unstable; urgency=low + + * New gpc-19991030 snapshot. + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991103. + * Reintegrated sparc patches (bcollins@debian.org), which were lost + in 2.95.2-1. + * debian/rules2: Only install $(gcc_lib_dir)/include/asm, when existing. + * debian/patches/gpc-2.95.{dpatch,diff}: updated patch to drop + initialization in stor-layout.c. + * debian/NEWS.gcc: Updated for gcc-2.95.2. + * debian/bugs/bug-...: Removed testcases for fixed bugs. + * debian/patches/...dpatch: Removed patches applied upstream. + * debian/{rules2,g++.postinst,g++.prerm}: Handle c++ alternative. + * debian/changelog: Merged gcc272, egcs and snapshot changelogs. + + -- Matthias Klose Tue, 2 Nov 1999 23:09:23 +0200 + +gcc (2.95.2-1.1) unstable; urgency=low + + * Most of the powerpc patches have been applied upstream. Remove all + but ppc-ice, ppc-andrew-dwarf-eh, and ppc-descriptions. + * mulilib-install.dpatch was definitely a bad idea. Fix it properly + by using install -D. + * Also, don't make directories before installing any more. Simplifies + rules a (tiny) bit. + * Do not build with LDFLAGS=-s. Everything gets stripped out anyway by + dh_strip -a -X_debug; so leave the binaries in the build tree with + debugging symbols for simplified debugging of the packages. + + -- Daniel Jacobowitz Sat, 30 Oct 1999 12:40:12 -0400 + +gcc (2.95.2-1) unstable; urgency=low + + * gcc-2.95.2 release (taken from the CVS archive). -fstrict-aliasing + is disabled upstream. + + -- Matthias Klose Mon, 25 Oct 1999 10:26:19 +0200 + +gcc (2.95.2-0pre4) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19991021. + * Updated gpc to gpc-19991018 snapshot (closes: #33037, #47453). + Enable gpc for all architectures ... + * Document gcc exit codes (closes: #43863). + * According to the bug submitter (Sergey V Kovalyov ) + the original source of these CERN librarties is outdated now. The latest + version of cernlibs compiles and works fine with slink (closes #31546). + * According to the bug submitter (Gergely Madarasz ), + the problem triggered on i386 cannot be reproduced with the current + jade and php3 versions anymore (closes: #35215). + * Replace corrupted m68k-pic.dpatch (from Roman Hodek and Andreas Schwab + and apply to + all architectures (closes: #48011). + * According to the bug submitter (Herbert Xu ) + this bug "probably has been fixed". Setting it to severity "fixed" + (fixes: #39616), will close it later ... + * debian/README.Bugs: Document throwing C++ exceptions "through" C + libraries (closes: #22769). + + -- Matthias Klose Fri, 22 Oct 1999 20:33:00 +0200 + +gcc (2.95.2-0pre3) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19991019. + * Apply NMU patches (closes: #46217). + * debian/control.in: Fix egcs64 conflict-dependency for sparc + architecture (closes: #47088). + * debian/rules2: dbg-packages share doc dir with lib packages + (closes #45067). + * debian/patches/gcj-debian-policy.dpatch: Patch from Stephane + Bortzmeyer to conform to Debian policy (closes: #44463). + * debian/bugs/bug-*: Added test cases for new bug reports. + * debian/patches/libstdc++-bastring.dpatch: Patch by Richard Kettlewell + (closes #46550). + * debian/rules.patch: Apply libstdc++-wall2 patch (closes #46609). + * debian/README: Fix typo (closes: #45253). + * debian/control.in: Remove primary/secondary distinction; + dbg-packages don't provide their normal counterparts (closes #45206). + * debian/rules.patch: gcc-combine patch applied upstream. + * debian/rules2: Only use mail if with_check is set (off by default). + * debian/rules.conf: Tighten binutils dependency to 2.9.5.0.12. + + -- Matthias Klose Tue, 19 Oct 1999 20:33:00 +0200 + +gcc (2.95.2-0pre2.0.2) unstable; urgency=HIGH (for m68k) + + * Binary-only NMU for m68k as quick fix for another bug; the patch + is in CVS already, too. + * Applied another patch by Andreas Schwab to fix %a5 restauration in + some cases. + + -- Roman Hodek Thu, 30 Sep 1999 16:09:15 +0200 + +gcc (2.95.2-0pre2.0.1) unstable; urgency=HIGH (for m68k) + + * Binary-only NMU for m68k as quick fix for serious bugs; the patches + are already checked into gcc CVS and should be in the next official + version, too. + * Applied two patches by Andreas Schwab to fix -fpic and loop optimization. + + -- Roman Hodek Mon, 27 Sep 1999 15:32:49 +0200 + +gcc (2.95.2-0pre2) unstable; urgency=low + + * Fixed in 2.95.2 (closes: #43478). + * Previous version had Pascal examples missing in doc directory. + + -- Matthias Klose Wed, 8 Sep 1999 22:18:17 +0200 + +gcc (2.95.2-0pre1) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19990828. + * Apply work around memory corruption (just for 2.95.1) by + Daniel Jacobowitz . + * debian/patches/libstdc++-wall2.dpatch: Patch from Franck Sicard + to fix some warnings (closes: #44670). + * debian/patches/libstdc++-valarray.dpatch: Patch from Hideaki Fujitani + to fix a bug in valarray_array.h. + * Applied NMU from Jim Pick minus the jump.c and fold-const.c patches + already in the gcc-2_95-branch (closes: #44690). + * Conform to debian-java policy (closes: #44463). + * Move docs to /usr/share/doc (closes: #44782). + * Remove debian/patches/gcc-align.dpatch applied upstream. + * debian/*.postinst: Call install-info only, when configuring. + * debian/*.{postinst,prerm}: Add #DEBHELPER# comments to handle + /usr/doc -> /usr/share/doc transition. + + -- Matthias Klose Wed, 8 Sep 1999 22:18:17 +0200 + +gcc (2.95.1-2.1) unstable; urgency=low + + * Non-maintainer upload. + * ARM platform no longer needs library-prefix patch. + * Updated patches from Philip Blundell. + + -- Jim Pick Wed, 8 Sep 1999 20:14:07 -0700 + +gcc (2.95.1-2) unstable; urgency=low + + * debian/gcc.{postinst,prerm}: gcc provides an alternative for + sparc64-linux-gcc. + * Applied patch from Ben Collins to enable bi-architecture (32/64) + support for sparc. + * Rebuild debian/control and debian/rules.parameters after unpacking. + * debian/rules2: binary-indep. Conditionalize on with_pascal. + + -- Matthias Klose Sat, 4 Sep 1999 13:47:30 +0200 + +gcc (2.95.1-1) unstable; urgency=low + + * Updated to release gcc-2.95.1 and cvs updates of the gcc-2_95-branch + until 19990828. + * debian/README.gcc: Updated NEWS file to include 2.95 and 2.95.1 news. + * debian/README.java: New file. + * debian/rules.defs: Disabled gpc for alpha, arm. Disabled ObjC-GC + for alpha. + * debian/rules [clean]: Remove debian/rules.parameters. + * debian/rules2 [binary-arch]: Call dh_shlibdeps with LD_LIBRARY_PATH set + to installation dir of libstdc++. Why isn't this the default? + * debian/control.in: *-dev packages do not longer conflict with + libg++272-dev package. + * Apply http://egcs.cygnus.com/ml/gcc-patches/1999-08/msg00599.html. + * Only define BAD_THROW_ALLOC, when using exceptions (fixes #43462). + * For ObjC (when configured with GC) recommend libgc4-dev, not libgc4. + * New version of 68060 build patch. + * debian/rules.conf: For m68k, depend on binutils version 2.9.1. + + -- Matthias Klose Sat, 28 Aug 1999 18:16:31 +0200 + +gcc (2.95.1-0pre2) unstable; urgency=medium + + * gpc is back again (fixes grave #43022). + * debian/patches/gpc-updates.dpatch: Patches sent to upstream authors. + * Work around the fatal dependtry assertion failure bug in dpkg (hint + from "Antti-Juhani Kaijanaho" , fixes important #43072). + + -- Matthias Klose Mon, 16 Aug 1999 19:34:14 +0200 + +gcc (2.95.1-0pre1) unstable; urgency=low + + * Updated to cvs 19990815 gcc-2_95-branch; included install docs and + FAQ from 2.95 release; upload source package as well. + * Source package contains tarballs only (gcc, libg++, installdocs). + * debian/rules: Splitted into debian/rules{,.unpack,.patch,.conf,2}. + * debian/gcc.postinst: s/any key/RETURN; warn only when upgrading from + pre 2.95 version; reference /usr/doc, not /usr/share/doc. + * Checked syntax for attributes of functions; checked for #35068; + checked for bad gmon.out files (at least with libc6 2.1.2-0pre5 and + binutils 2.9.1.0.25-2 the problem doesn't show up anymore). + * debian/patches/cpp-macro-doc.dpatch: Document macro varargs in cpp.texi. + * gcc is primary compiler for all platforms but m68k. Setting + severity of #22513 to fixed. + * debian/patches/gcc-default-arch.dpatch: New patch to enable generation + of i386 instruction as default (fixes #42743). + * debian/rules: Removed outdated gcc NEWS file (fixes #42742). + * debian/patches/libstdc++-out-of-mem.dpatch: Throw exception instead + of aborting when out of memory (fixes #42622). + * debian/patches/cpp-dos-newlines.dpatch: Handle ibackslashes after + DOS newlines (fixes #29240). + * Fixed in gcc-2.95.1: #43001. + * Bugs closed in this version: + Closes: #11525, #12253, #22513, #29240, #35068, #36182, #42584, #42585, + #42602, #42622, #42742 #42743, #43001, #43002. + + -- Matthias Klose Sun, 15 Aug 1999 10:31:50 +0200 + +gcc (2.95-3) unstable; urgency=high + + * Provide /lib/cpp again (fixes important bug #42524). + * Updated to cvs 19990805 gcc-2_95-branch. + * Build with the default scheduler. + * Apply install-multilib patch from Dan Jacobowitz. + * Apply revised cpp-A- patch from Dan Jacobowitz. + + -- Matthias Klose Fri, 6 Aug 1999 07:25:19 +0200 + +gcc (2.95-2) unstable; urgency=low + + * Remove /lib/cpp. This driver uses files from /usr/lib/gcc-lib anyway. + * The following bugs are fixed (compared to egcs-1.1.2). + Closes: #4429, #20889, #21122, #26369, #28417, #28261, #31416, #35261, + #35900, #35906, #38246, #38872, #39098, #39526, #40659, #40991, #41117, + #41290, #41302, #41313. + * The following by Joel Klecker: + - Adopt dpkg-architecture variables. + - Go back to SHELL = bash -e or it breaks where /bin/sh is not bash. + - Disabled the testsuite, it is not included in the gcc 2.95 release. + + -- Matthias Klose Sat, 31 Jul 1999 18:00:42 +0200 + +gcc (2.95-1) unstable; urgency=low + + * Update for official gcc-2.95 release. + * Built without gpc. + * debian/rules: Remove g++FAQ from rules, which is outdated. + For ix86, build for i386, not i486. + * Apply patch from Jim Pick for building multilib package on arm. + + -- Matthias Klose Sat, 31 Jul 1999 16:38:21 +0200 + +gcc (2.95-0pre10) unstable; urgency=low + + * Use ../builddir-gcc-$(VER) by default instead of ./builddir; upstream + strongly advises configuring outside of the source tree, and it makes + some things much easier. + * Add patch to prevent @local branches to weak symbols on powerpc (fixes + apt compilation). + * Add patch to make cpp -A- work as expected. + * Renamed debian/patches/ppc-library-prefix.dpatch to library-prefix.dpatch; + apply on all architectures. + * debian/control.in: Remove snapshot dependencies. + * debian/*.postinst: Reflect use of /usr/share/{info,man}. + + -- Daniel Jacobowitz Thu, 22 Jul 1999 19:27:12 -0400 + +gcc (2.95-0pre9) unstable; urgency=low + + * The following bugs are fixed (compared to egcs-1.1.2): #4429, #20889, + #21122, #26369, #28417, #28261, #35261, #38246, #38872, #39526, #40659, + #40991, #41117, #41290. + * Updated to CVS gcc-19990718 snapshot. + * debian/control.in: Removed references to egcs in descriptions. + Changed gcj's Recommends libgcj-dev to Depends. + * debian/rules: Apply ppc-library-prefix for alpha as well. + * debian/patches/arm-config.dpatch: Updated patch sent by Jim Pick. + + -- Matthias Klose Sun, 18 Jul 1999 12:21:07 +0200 + +gcc (2.95-0pre8) unstable; urgency=low + + * Updated CVS. + * debian/copyright: s%doc/copyright%share/common-licenses% + * debian/README.Bugs: s/egcs.cygnus.com/gcc.gnu.org/ s/egcs-bugs/gcc-bugs/ + * debian/patches/reporting.dpatch: Remake diff for current sources. + * debian/libstdc++-dev.postinst: It's /usr/share/info/iostream.info. + * debian/rules: Current dejagnu snapshot reports a framework version + of 1.3.1. + + -- Joel Klecker Sun, 18 Jul 1999 02:09:57 -0700 + +gcc-snapshot (19990714-0pre6) experimental; urgency=low + + * Updated to CVS gcc-19990714 snapshot. + * Applied ARM patch (#40515). + * Converted DOS style linefeeds in debian/patches/ppc-* files. + * debian/rules: Reflect change in gcc/version.c; use sh -e as shell: + for some obscure reason, bash -e doesn't work. + * Reflect version change for libstdc++ (2.10). Remove libg++-name + patch; libg++ now has version 2.8.1.3. Removed libc version from + the package name. + + -- Matthias Klose Wed, 14 Jul 1999 18:43:57 +0200 + +gcc-snapshot (19990625-0pre5.1) experimental; urgency=low + + * Non-maintainer upload. + * Added ARM specific patch. + + -- Jim Pick Tue, 29 Jun 1999 22:36:08 -0700 + +gcc-snapshot (19990625-0pre5) experimental; urgency=low + + * Updated to CVS gcc-19990625 snapshot. + + -- Matthias Klose Fri, 25 Jun 1999 16:11:53 +0200 + +gcc-snapshot (19990609-0pre4.1) experimental; urgency=low + + * Added and re-added a few last PPC patches. + + -- Daniel Jacobowitz Sat, 12 Jun 1999 16:48:01 -0500 + +gcc-snapshot (19990609-0pre4) experimental; urgency=low + + * Updated to CVS egcs-19990611 snapshot. + + -- Matthias Klose Fri, 11 Jun 1999 10:20:09 +0200 + +gcc-snapshot (19990609-0pre3) experimental; urgency=low + + * CVS gcc-19990609 snapshot. + * New gpc-19990607 snapshot. + + -- Matthias Klose Wed, 9 Jun 1999 19:40:44 +0200 + +gcc-snapshot (19990524-0pre1) experimental; urgency=low + + * egcs-19990524 snapshot. + * First snapshot of the gcc-2_95-branch. egcs-1.2 is renamed to gcc-2.95, + which is now the "official" successor to gcc-2.8.1. The full version + name is: gcc-2.95 19990521 (prerelease). + * debian/control.in: Changed maintainers to `Debian GCC maintainers'. + * Moved all version numbers to epoch 1. + * debian/rules: Major changes. The support for secondary compilers + was already removed for the egcs-1.2 snapshots. Many fixes by + Joel Klecker . + - Send mail to Debian maintainers for successful builds. + - Fix VER and VERNO sed expressions. + - Replace remaining GNUARCH occurrences. + * New gpc snapshot (but don't build). + * debian/patches/valarray.dpatch: Backport from libstdc++-v3. + * debian/gcc-doc.*: Info is now gcc.info* (Joel Klecker ). + * Use cpp driver provided by the package. + * New script c89 (fixes #28261). + + -- Matthias Klose Sat, 22 May 1999 16:10:36 +0200 + +egcs (1.1.2-2) unstable; urgency=low + + * Integrate NMU's for arm and sparc (fixes #37582, #36857). + * Apply patch for the Hurd (fixes #37753). + * Describe open bugs in TODO.Debian. Please have a look if you can help. + * Update README / math functions section (fixes #35906). + * Done by J.H.M. Dassen (Ray) : + - At Richard Braakman's request, made -dbg packages for libstdc++ + and libg++. + - Provide egcc(1) (fixes lintian error). + + -- Matthias Klose Sun, 16 May 1999 14:30:56 +0200 + +egcs-snapshot (19990502-1) experimental; urgency=low + + * New snapshot. + + -- Matthias Klose Thu, 6 May 1999 11:51:02 +0200 + +egcs-snapshot (19990418-2) experimental; urgency=low + + * Merged Rays changes to build debug packages. + + -- Matthias Klose Wed, 21 Apr 1999 16:54:56 +0200 + +egcs-snapshot (19990418-1) experimental; urgency=low + + * New snapshot. + * Disable cpplib. + + -- Matthias Klose Mon, 19 Apr 1999 11:32:19 +0200 + +egcs (1.1.2-1.2) unstable; urgency=low + + * NMU for arm + * Added arm-optimizer.dpatch with optimizer workaround for ARM + + -- Jim Pick Mon, 19 Apr 1999 06:17:13 -0700 + +egcs (1.1.2-1.1) unstable; urgency=low + + * NMU for sparc + * Included dpatch to modify the references to gcc/crtstuff.c so that + __register_frame_info is not a weak reference. This allows potato to + remain binary compatible with slink, while still retaining compatibility + with other sparc/egcs1.1.2 distributions. Diff in .dpatch format has + been sent to the maintainer with a note it may not be needed for 1.1.3. + + -- Ben Collins Tue, 27 Apr 1999 10:15:03 -0600 + +egcs (1.1.2-1) unstable; urgency=low + + * Final egcs-1.1.2 release built for potato as primary compiler + for all architectures except m68k. + + -- J.H.M. Dassen (Ray) Thu, 8 Apr 1999 13:14:29 +0200 + +egcs-snapshot (19990321-1) experimental; urgency=low + + * New snapshot. + * Disable gpc. + * debian/rules: Simplified (no secondary compiler, bumped all versions + to same epoch, libapi patch is included upstream). + * Separated out cpp documentation to cpp-doc package. + * Fixed in this version: #28417. + + -- Matthias Klose Tue, 23 Mar 1999 02:11:18 +0100 + +egcs (1.1.2-0slink2) stable; urgency=low + + * Applied H.J.Lu's egcs-19990315.linux patch. + * Install faq.html and egcs-1.1.2 announcment. + + -- Matthias Klose Tue, 23 Mar 1999 01:14:54 +0100 + +egcs (1.1.2-0slink1) stable; urgency=low + + * Final egcs-1.1.2 release; compiled with glibc-2.0 for slink on i386. + * debian/control.in: gcc provides egcc, when FIRST_PRIMARY defined. + * Fixes #30767, #32278, #34252, #34352. + * Don't build the libstdc++.so.2.9 library on architectures, which have + switched to glibc-2.1. + + -- Matthias Klose Wed, 17 Mar 1999 12:55:59 +0100 + +egcs (1.1.1.63-2.2) unstable; urgency=low + + * Non-maintainer upload. + * Incorporate patch from Joel Klecker to fix snapshot packages + by moving/removing the application of libapi. + * Disable the new libstdc++-dev-config and the postinst message in + glibc 2.1 versions. + + -- Daniel Jacobowitz Mon, 12 Mar 1999 14:16:02 -0500 + +egcs (1.1.1.63-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Compile with glibc 2.1 release version. + * New upstream version egcs-1.1.2 pre3. + * Miscellaneous rules updates (see changelog.snapshot). + * New set of powerpc-related patches from Franz Sirl, + . + * Disable libgcc.dpatch (new solution implemented upstream). Remove it. + * Also pass $target to config.if. + * Enable Dwarf2 EH for powerpc. Bump the C++ binary version. No + loss in -backwards- compatibility as far as I can tell, so add a + compatibility symlink, and add to shlibs file. + * Add --no-backup-if-mismatch to the debian/patches/*.dpatch files, + to prevent bogus .orig's in diffs. + * Merged with (unreleased) 1.1.1.62-1 and 1.1.1.63-{1,2} packages from + Matthias Klose . + * Stop adding a backwards compatibility link for egcs-nof on powerpc. + To my knowledge, nothing uses it. Do add the libstdc++ API change + link, though. + + -- Daniel Jacobowitz Mon, 8 Mar 1999 14:24:01 -0500 + +egcs (1.1.1.63-2) stable; urgency=low + + * Provide a libstdc++ with a shared object name, which is compatible + to other distributions. Documented the change in README.Debian, + the libstdc++-2.9.postinst and the libstdc++-dev-config script. + + -- Matthias Klose Fri, 12 Mar 1999 00:36:20 +0100 + +egcs (1.1.1.63-1.1) unstable; urgency=low + + * Non-Maintainer release. + * Build against glibc 2.1. + * Make egcs the primary compiler on i386. + * Also confilct with egcc (<< FIRST_PRIMARY) + if FIRST_PRIMARY is defined. + (this tells dpkg that gcc completely obsoletes egcc) + * Remove hjl-12 patch again, HJL says it should not be + necessary with egcs 1.1.2. + (as per forwarded reply from Christopher Chimelis) + * Apply libapi patch in clean target before regenerating debian/control + and remove the patch afterward. Otherwise, the libstdc++ and libg++ + package names are generated wrong on a glibc 2.1 system. + + -- Joel Klecker Tue, 9 Mar 1999 15:31:02 -0800 + +egcs (1.1.1.63-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre3. + * Applied improved libstdc++ warning patch from Rob Browning. + + -- Matthias Klose Tue, 9 Mar 1999 16:14:07 +0100 + +egcs (1.1.1.62-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre2. + * New upstream version libg++-2.8.1.3. + * Readded ARM support + * Readded hjl-12 per request from Christopher C Chimelis + + + -- Matthias Klose Fri, 26 Feb 1999 09:54:01 +0100 + +egcs-snapshot (19990224-0.1) experimental; urgency=low + + * New snapshot. + * Add the ability to disable CPPLIB by setting CPPLIB=no in + the environment. + * Disable gpc for powerpc; I spent a long time getting it to + make correctly, and then it goes and ICEs. + + -- Daniel Jacobowitz Tue, 24 Feb 1999 23:34:12 -0500 + +egcs (1.1.1.61-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre1. + * debian/control.in: Applied patch from bug report #32987. + * Split up H.J.Lu's hjl-19990115-linux patch into several small + chunks: libapi, arm-mips, libgcc, hjl-other. The changelog.Linux + aren't included in the separate chunks. Please refer to the + unmodified hjl-19990115-linux patch file in the egcs source pkg. + * Apply warning patch to fix the annoying spew you get if you try to + use ropes or deques with -Wall (which makes -Wall mostly useless for + spotting errors in your own code). Fixes #32996. + * debian/rules: Unapply patches in the exact reverse order they were + applied. + + -- Matthias Klose Sat, 20 Feb 1999 22:06:21 +0100 + +egcs (1.1.1-5) frozen unstable; urgency=medium + + * Move libgcc.map file to g++ package, where gcc is the secondary + compiler (fixes #32329, #32605, #32631). + * Prepare to rename libstdc++2.9 package for glibc-2.1 (fixes #32148). + * Apply NMU patch for arm architecure (fixes #32367). + * Don't apply hjl-12 patch for alpha architectures (requested by the + alpha developers, Christopher C Chimelis ). + * Call makeinfo with --no-validate to fix obscure build failure on alpha. + * Build gpc info files in doc subdirectory. + * Remove c++filt diversion (C++ name demangling patch is now in binutils, + fixes #30820 and #32502). + + -- Matthias Klose Sun, 31 Jan 1999 23:19:35 +0100 + +egcs (1.1.1-4.1) unstable; urgency=low + + * Non-maintainer upload. + * Pascal doesn't build for ARM. + + -- Jim Pick Sun, 24 Jan 1999 16:13:34 -0800 + +egcs (1.1.1-4) frozen unstable; urgency=high + + * Don't strip compiler libraries libgcc.a libobjc.a libg2c.a libgpc.a + * Move Pascal examples to the right place (fixes #32149, part 1). + * Add dependencies for switching from secondary to primary compiler, + if FIRST_PRIMARY is defined (fixes #32149, part 2). + + -- Matthias Klose Wed, 20 Jan 1999 16:51:30 +0100 + +egcs (1.1.1-3) frozen unstable; urgency=low + + * Updated with the H.J.Lu's hjl-19990115-linux patch (fixes the + __register_frame_info problems, mips and arm port included). + * Update gpc to 19990118 (beta release candidate). + * Strip static libraries (fixes #31247 and #31248). + * Changed maintainer address. + + -- Matthias Klose Tue, 19 Jan 1999 16:34:28 +0100 + +egcs (1.1.1-2) frozen unstable; urgency=low + + * Moved egcs-docs, g77-doc and gpc-doc packages to doc section. + * Downgraded Recommends: egcs-docs to Suggests: egcs-docs dependencies + (for archs, where egcs is the primary compiler). + * Add 'Suggests: stl-manual' dependency to libstdc++2.9-dev. + * Applied one more alpha patch: + ftp://ftp.yggdrasil.com/private/hjl/egcs/1.1.1/egcs-1.1.1.diff.12.gz + * Applied PPro optimization patch. + * Apply emit-rtl-nan patch. + * Upgraded to libg++-2.8.1.2a-19981218.tar.gz. + * Upgraded to gpc-19981218. + * Make symlinks for gobjc, libstdc++2.9-dev and libg++2.8.2 doc directories. + + -- Matthias Klose Wed, 23 Dec 1998 18:04:53 +0200 + +egcs-snapshot (19981211-1) experimental; urgency=low + + * New snapshot. + * Adapted gpc to egcs-2.92.x (BOOT_CFLAGS must include -g). + * New libg++-2.8.1.2a-19981209.tar.gz. + * debian/rules: new target mail-summary. + + -- Matthias Klose Fri, 11 Dec 1998 18:14:53 +0200 + +egcs (1.1.1-1) frozen unstable; urgency=high + + * Final egcs-1.1.1 release. + * The last version depended on a versioned libc6 again. + * Add lost dependency for libg++ on libstdc++. + * Added debian-libstdc++.sh script to generate a libstdc++ on a Linux + system, which doesn't use the libapi patch. + + -- Matthias Klose Wed, 2 Dec 1998 12:06:15 +0200 + +egcs (1.1.0.91.59-2) frozen unstable; urgency=high + + * Fixes bugs from libc6 2.0.7u-6 upload without dependency line + Conflicts: libstdc++-2.9 (<< 2.91.59): #30019, #30066, #30078. + * debian/copyright: Updated URLs. + * gcc --help now mentions /usr/doc/debian/bug-reporting.txt. + * Install README.Debian and include information about patches applied. + * Depend on unversioned libc6 on i386, such that libstdc++2.9 can be used + on a hamm system. + + -- Matthias Klose Fri, 27 Nov 1998 18:32:02 +0200 + +egcs (1.1.0.91.59-1) frozen unstable; urgency=low + + * This is egcs-1.1.1 prerelease #3, compiled with libc6 2.0.7u-6. + * Added dependency for libstdc++2.9-dev on g++ (fixes #29631). + * Package g77 provides f77 (fixes #29817). + * Already fixed in earlier egcs-1.1 releases: #2493, #25271, #10620. + * Bugs reported for gcc-2.7.x and fixed in the egcs version of gcc: + #2493, #4430, #4954, #5367, #6047, #10612, #12375, #20606, #24788, #26100. + * Upgraded libg++ to libg++-2.8.1.2a-19981114. + * Upgraded gpc to gpc-19981124. + * Close #25869: egcs and splay maintainers are unable to reproduce this + bug with the current Debian packages. Bug submitter doesn't respond. + * Close #25407: egcs maintainer cannot reproduce this bug with the current + Debian compiler. Bug submitter doesn't respond. + * Use debhelper 1.2.7 for building. + * Replace the libstdc++ and libg++ compatibility links with fake libraries. + + -- Matthias Klose Wed, 25 Nov 1998 12:11:42 +0200 + +egcs (1.1.0.91.58-5) frozen unstable; urgency=low + + * Applied patch to build on the m68060. + * Added c++filt and c++filt.1 to the g++ package. + * Updated gpc to gpc-981105; fixes some regressions compared to egcs-1.1. + * Separated out g77 and gpc doumentation to new packages g77-doc and gpc-doc. + * Closed bugs (#22158). + * Close #20248; on platforms where gas and gld are the default versions, + it makes no difference to configure with or without enable-ld. + * Close #24349. The bugs are in the amulet source. + See http://www.cs.cmu.edu/afs/cs/project/amulet/www/FAQ.html#GCC28x + * Rename gcc.info* files to egcs.info* (fixes #24088). + * Documented known bugs (and workarounds) in BUGS.Debian. + * Fixed demangling of C++ names (fixes #28787). + * Applied patch form aspell to libstdc++/stl/stl_rope.h. + * Updated from cvs 16 Nov 1998. + + -- Matthias Klose Tue, 17 Nov 1998 09:41:24 +0200 + +egcs-snapshot (19981115-2) experimental; urgency=low + + * New snapshot. Disabled gpc. + * New packages g77-doc and gpc-doc. + + -- Matthias Klose Mon, 16 Nov 1998 12:48:09 +0200 + +egcs (1.1.0.91.58-3) frozen unstable; urgency=low + + * Previous version installed in potato, not slink. + * Updated from cvs 3 Nov 1998. + + -- Matthias Klose Tue, 3 Nov 1998 18:34:44 +0200 + +egcs (1.1.0.91.58-2) unstable; urgency=low + + * [debian/rules]: added targets to apply and unapply patches. + * [debian/README.patches]: New file. + * Moved patches dir to debian/patches. debian/rules has to select + the patches to apply. + * Manual pages for genclass and gcov (fixes #5995, #20950, #22196). + * Apply egcs-1.1-reload patch needed for powerpc architecture. + * Fixed bugs (#17768, #20252, #25508, #27788). + * Reapplied alpha patch (#20875). + * Fixes first part of #22513, extended README.Debian (combining C & C++). + * Already fixed in earlier egcs-1.1 releases: #17963, #20252, #20524, + #20640, #22450, #24244, #24288, #28520. + + -- Matthias Klose Fri, 30 Oct 1998 13:41:45 +0200 + +egcs (1.1.0.91.58-1) experimental; urgency=low + + * New upstream version. That's the egcs-1.1.1 prerelease plus patches from + the cvs archive upto 29 Oct 1998. + * Merged files from the egcs and snapshot packages. + * Updated libg++ to libg++-2.8.1.2 (although the Debian package name is still + 2.8.2). + * Moved patches dir to patches-1.1. + * Dan Jacobowitz: + * This is a snapshot from the egcs_1_1_branch, with + libapi, reload, builtin-apply, and egcs patches from + the debian/patches/ dir applied, along with the egcs-gpc-patches + and gcc/p/diffs/gcc-egcs-2.91.55.diff. + * Conditionalize gcj and chill (since they aren't in this branch). + * Fake snapshots drop the -snap-main. + + -- Matthias Klose Thu, 29 Oct 1998 15:15:19 +0200 + +egcs-snapshot (1.1-19981019-5.1) experimental; urgency=low + + * This is a snapshot from the egcs_1_1_branch, with + libapi, reload, builtin-apply, and egcs patches from + the debian/patches/ dir applied, along with the egcs-gpc-patches + and gcc/p/diffs/gcc-egcs-2.91.55.diff. + * Conditionalize gcj and chill (since they aren't in this + branch). + * Fake snapshots drop the -snap-main. + + -- Daniel Jacobowitz Mon, 19 Oct 1998 22:19:23 -0400 + +egcs (1.1b-5) unstable; urgency=low + + * [debian/control.in] Fixed typo in dependencies (#28076, #28087, #28092). + + -- J.H.M. Dassen (Ray) Sun, 18 Oct 1998 22:56:51 +0200 + +egcs (1.1b-4) unstable; urgency=low + + * Strengthened g++ dependency on libstdc++_LIB_SO_-dev from + `Recommends' to `Depends'. + * Updated README.Debian for egcs-1.1. + * Updated TODO. + + -- Matthias Klose Thu, 15 Oct 1998 12:38:47 +0200 + +egcs-snapshot (19981005-0.1) experimental; urgency=low + + * Make libstdc++2.9-snap-main and libg++-snap-main provide + their mainstream equivalents and put those equivalents into + their shlibs file. + * Package gcj, the GNU Compiler for Java(TM). + + * New upstream version of egcs (The -regcs_latest_snapshot branch). + * Build without libg++ entirely. + * Leave out gpc for now - the internals are sufficiently different + that it does not trivially compile. + * Include an experimental reload patch for powerpc - this is, + in the words of its author, not release quality, but it allows + powerpc linuxthreads to function. + * On architectures where we are the primary compiler, let snapshots + build with --prefix=/usr and conflict with the stable versions. + * Package chill, a front end for the language Chill. + * Other applied patches from debian/patches/: egcs-patches and + builtin-apply-patch. + * Use reload.c revision 1.43 to avoid a nasty bug. + + -- Daniel Jacobowitz Wed, 7 Oct 1998 00:27:42 -0400 + +egcs (1.1b-3.1) unstable; urgency=low + + * NMU to fix the egcc -> gcc link once and for all + + -- Christopher C. Chimelis Tue, 22 Sep 1998 16:11:19 -0500 + +egcs (1.1b-3) unstable; urgency=low + + * Oops. The egcc -> gcc link on archs where gcc is egcc was broken. + Thanks to Chris Chimelis for pointing this out. + + -- J.H.M. Dassen (Ray) Mon, 21 Sep 1998 20:51:35 +0200 + +egcs (1.1b-2) unstable; urgency=low + + * New upstream spellfix release (Debian revision is 2 as the internal + version numbers didn't change). + * Added egcc -> gcc symlink on architectures where egcc is the primary C + compiler. Thus, maintainers of packages that require egcc, can now + simply use "egcc" without conditionals. + * Porters: we hope/plan to make egcs's gcc the default C compiler on all + platforms once the 2.2.x kernels are available. Please test this version + thoroughly, and give us a GO / NO GO for your architecture. + * Some symbols cpp used to predefine were removed upstream in order to clean + up the cpp namespace, but imake requires them for determining the proper + settings for LinuxMachineDefines (see /usr/X11R6/lib/X11/{Imake,linux}.cf), + thus we put them back. Thanks to Paul Slootman for reporting his imake + problems on Alpha. + * [gcc/config/alpha/linux.h] Added -D__alpha to CPP_PREDEFINES . + Thanks to Chris Chimelis for the alpha-only 1.1a-1.1 NMU which fixed + this already. + * [gcc/config/i386/linux.h] Added -D__i386__ to CPP_PREDEFINES . + * [gcc/config/sparc/linux.h] Has -Dsparc in CPP_PREDEFINES . + * [gcc/config/sparc/linux64.h] Has -Dsparc in CPP_PREDEFINES . + * [gcc/config/m68k/linux.h] Has -Dmc68000 in CPP_PREDEFINES . + * [gcc/config/rs6000/linux.h] Has -Dpowerpc in CPP_PREDEFINES . + * [gcc/config/arm/linux.h] Has -Darm in CPP_PREDEFINES . + * [gcc/config/i386/gnu.h] Has -Di386 in CPP_PREDEFINES . + * Small fixes and updates in README. + * Changes affecting the source package only: + * [gcc/Makefile.in, gcc/cp/Make-lang.in, gcc/p/Make-lang.in] + Daniel Jacobowitz: Ugly hacks of various kinds to make cplib2.txt get + properly regenerated with multilib. + * [debian/TODO] Created. + * [INSTALL/index.html] Fixed broken link. + + -- J.H.M. Dassen (Ray) Sun, 20 Sep 1998 14:05:15 +0200 + +egcs (1.1a-1) unstable; urgency=low + + * New upstream release. + * Added README.libstdc++ . + * Updated Standards-Version. + * Matthias: + * Downgraded gobjc dependency on egcs-docs from Recommends: to Suggests: . + * [libg++/Makefile.in] Patched not to rely on a `-f' flag of `ln'. + + -- J.H.M. Dassen (Ray) Wed, 2 Sep 1998 19:57:43 +0200 + +egcs (1.1-1) unstable; urgency=low + + * egcs-1.1 prerelease (from the last Debian package only the version file + changed). + * "Final" gpc Beta 2.1 gpc-19980830. + * Included libg++ and gpc in the .orig tarball. so that diffs are getting + smaller. + * debian/control.in: Changed maintainer address to galenh-egcs@debian.org. + * debian/copyright: Updated URLs. + + -- Matthias Klose Mon, 31 Aug 1998 12:43:13 +0200 + +egcs (1.0.99.56-0.1) unstable; urgency=low + + * New upstream snapshot 19980830 from CVS (called egcs-1.1 19980830). + * New libg++ snapshot 980828. + * Put all patches patches subdirectory; see patches/README in the source. + * debian/control.in: readded for libg++2.8.2-dev: + Replaces: libstdc++2.8-dev (<= 2.90.29-0.5) + * Renamed libg++2.9 package to libg++2.8.2. + * gcc/p/gpc-decl.c: Fix from Peter@Gerwinski.de; fixes optimization errors. + * patches/gpc-patch2: Fix from Peter@Gerwinski.de; fixes alpha errors. + * debian/rules: New configuration flag for building with and without + libstdc++api patch; untested without ... + + -- Matthias Klose Sun, 30 Aug 1998 12:04:22 +0200 + +egcs (1.0.99-0.6) unstable; urgency=low + + * PowerPC fixes. + * On powerpc, generate the -msoft-float libs and package them + as egcs-nof. + * Fix signed char error in gpc. + * Create a libg++.so.2.9 compatibility symlink. + + -- Daniel Jacobowitz Tue, 25 Aug 1998 11:44:09 -0400 + +egcs (1.0.99-0.5) unstable; urgency=low + + * New upstream snapshot 19980824. + * New gpc snapshot gpc-980822; reenabled gpc for alpha. + + -- Matthias Klose Tue, 25 Aug 1998 01:21:08 +0200 + +egcs (1.0.99-0.4) unstable; urgency=low + + * New upstream snapshot 19980819. Should build glibc 2.0.9x on PPC. + + -- Matthias Klose Wed, 19 Aug 1998 14:18:07 +0200 + +egcs (1.0.99-0.3) unstable; urgency=low + + * New upstream snapshot 19980816. + * debian/rules: build correct debian/control and debian/*.shlibs + * Enabled Haifa scheduler for ix86. + + -- Matthias Klose Mon, 17 Aug 1998 16:29:35 +0200 + +egcs (1.0.99-0.2) unstable; urgency=low + + * New upstream snapshot: egcs-19980812, minor changes only. + * Fixes for building on `primary' targets. + * Disabled gpc on `alpha' architecture. + * Uses debhelper 1.1.6 + * debian/control.in: Replace older snapshot versions in favor of newer + normal versions. + * debian/rules: Fixes building of binary-arch target only. + + -- Matthias Klose Thu, 13 Aug 1998 11:59:41 +0200 + +egcs (1.0.99-0.1) unstable; urgency=low + + * New upstream version: pre egcs-1.1 version. + * Many changes ... for details see debian/changelog.snapshot in the + source package. + * New packages libstdc++2.9 and libstdc++2.9-dev. + * New libg++ snapshot 980731: new packages libg++2.9 and libg++2.9-dev. + * New gpc snapshot gpc-980729: new package gpc. + * Uses debhelper 1.1 + + -- Matthias Klose Mon, 10 Aug 1998 13:00:27 +0200 + +egcs-snapshot (19980803-4) experimental; urgency=low + + * rebuilt debian/control. + + -- Matthias Klose Wed, 5 Aug 1998 08:51:47 +0200 + +egcs-snapshot (19980803-3) experimental; urgency=low + + * debian/rules: fix installation locations of NEWS, header and + `undocumented' files. + * man pages aren't compressed for the snapshot package. + + -- Matthias Klose Tue, 4 Aug 1998 17:34:31 +0200 + +egcs-snapshot (19980803-2) experimental; urgency=low + + * debian/rules: Uses debhelper. Old in debian/rules.old. + renamed postinst, prerm files for use with debhelper. + * debian/{libg++2.9,libstdc++2.9}/postinst: call ldconfig only, + when called for configure. + * egcs-docs is architecture independent package. + * new libg++ snapshot 980731. + * installed libstdc++ api patch (still buggy). + + -- Matthias Klose Mon, 3 Aug 1998 13:20:59 +0200 + +egcs-snapshot (19980729-1) experimental; urgency=low + + * New snapshot version 19980729 from CVS archive. + * New gpc snapshot gpc-980729. + * Let gcc/configure decide about using the Haifa scheduler. + * Remove -DDEBIAN. That was needed for the security improvements with + regard to the /tmp problem. egcs-1.1 chooses another approach. + * Save test-protocol and extract gpc errors to gpc-test-summary. + * Tighten binutils dependency to 2.9.1. + * debian/rules: new build-info target + * debian/{control.in,rules}: _SO_ and BINUTILSV substitution. + * debian/rules: add dependency for debian/control. + * debian/rules: remove bin/c++filt + * TODO: next version will use debhelper; the unorganized moving of + files becomes unmanageable ... + * TODO: g++ headers in stdc++ package? check! + + -- Matthias Klose Thu, 30 Jul 1998 12:10:20 +0200 + +egcs-snapshot (19980721-1) experimental; urgency=low + + * Unreleased. Infinite loops in executables made by gpc. + + -- Matthias Klose Wed, 22 Jul 1998 18:07:20 +0200 + +egcs-snapshot (19980715-1) experimental; urgency=low + + * New snapshot version from CVS archive. + * New gpc snapshot gpc-980715. + * New libg++ version libg++-2.8.2-980708. Changed versioning + schema for library. The major versions of libc, libstdc++ and the + g++ interface are coded in the library name. Use this new schema, + but provide a symlink to our previous schema, since the library + seems to be binary compatible. + * [debian/rules]: Fixed bug in build target, when bootstrap returns + with an error + + -- Matthias Klose Wed, 15 Jul 1998 10:55:05 +0200 + +egcs-snapshot (19980701-1) experimental; urgency=low + + * New snapshot version from CVS archive. + Two check programs in libg++ had to be manually killed to finish the + testsuite (tBag and tSet). + * New gpc snapshot gpc-980629. + * Incorporated debian/rules changes from egcs-1.0.3a-0.5 (but don't remove + gcc/cp/parse.c gcc/c-parse.c gcc/c-parse.y gcc/objc/objc-parse.c + gcc/objc/objc-parse.y, since these files are part of the release). + * Disable the -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP -DDEBIAN flags for the + snapshot. egcs-1.1 will have another solution. + * Don't bootstrap the snapshot with -fno-force-mem. Internal compiler + error :-( + * libf2c.a and f2c.h have changed names to libg2c.a and g2c.h and + have moved again into the gcc-lib dir. They are installed under + libg2c.a and g2c.h. Is it necessary to provide links f2c -> g2c ? + * debian/rules: reflect change of build dir of libraries. + + -- Matthias Klose Wed, 2 Jul 1998 13:15:28 +0200 + +egcs-snapshot (19980628-0.1) experimental; urgency=low + + * New upstream snapshot version. + * Non-maintainer upload; Matthias appears to be absent currently. + * Updated shlibs. + * Merged changes from regular egcs: + * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or + newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc) + need this. + * [debian/rules] Clean up some generated files outside builddir, + so the .diff.gz becomes smaller. + * [debian/rules] Partial sync/update with the one for the regular egcs + version. + * [debian/rules] Make gcc/p/configure executable. + + -- J.H.M. Dassen (Ray) Wed, 1 Jul 1998 07:12:15 +0200 + +egcs (1.0.3a-0.6) frozen unstable; urgency=low + + * Some libg++ development files were in libstdc++2.8-dev rather than + libg++2.8-dev. Fixed this and dealt with upgrading from the earlier + versions (fixes #23908; this bug is not marked release-critical, but + is annoying and can be quite confusing for users. Therefore, I think + this fix should go in 2.0). + + -- J.H.M. Dassen (Ray) Tue, 30 Jun 1998 11:10:14 +0200 + +egcs (1.0.3a-0.5) frozen unstable; urgency=low + + * Fixed location of .hP files (Fixes #23448). + * [debian/rules] simplified extraction of the files for libg++2.8-dev. + + -- J.H.M. Dassen (Ray) Wed, 17 Jun 1998 09:33:41 +0200 + +egcs (1.0.3a-0.4) frozen unstable; urgency=low + + * [gcc/gcc.c] There is one call to choose_temp_base for determining the + tempdir to be used only; #ifdef HAVE_MKSTEMP delete the tempfile created + as a side effect. (fixes #23123 for egcs). + * [gcc/collect2.c] There's still a vulnerability here; I don't see how + I can fix it without leaving behind tempfiles though. + * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or + newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc) + need this. + * [debian/rules] Clean up some generated files outside builddir, so the + .diff.gz becomes smaller. + + -- J.H.M. Dassen (Ray) Sat, 13 Jun 1998 09:06:52 +0200 + +egcs-snapshot (19980608-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose Tue, 9 Jun 1998 14:07:44 +0200 + +egcs (1.0.3a-0.3) frozen unstable; urgency=high (security fixes) + + * [gcc/toplev.c] set flag_force_mem to 1 at optimisation level 3 or higher. + This works around #17768 which is considered release-critical. + * Changes by Matthias: + * [debian/README] Documentation of the compiler situation for Objective C. + * [debian/rules, debian/control.*] Generate control file from a master + file. + * [debian/rules] Updates for Pascal and Fortran parts; brings it in sync + with the one for the egcs snapshots. + * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'. + * Really compile -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP (really fixes #19453 + for egcs). + * [gcc/gcc.c] A couple of temp files weren't marked for deletion. + + -- J.H.M. Dassen (Ray) Sun, 31 May 1998 22:56:22 +0200 + +egcs (1.0.3a-0.2) frozen unstable; urgency=high (security fixes) + + * Security improvements with regard to the /tmp problem + (gcc opens predictably named files in TMPDIR which can be abused via + symlinks) (Fixes #19453 for egcs). + * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly + every time; affects gcc/gcc.c . + * [gcc/choose-temp.c, libiberty/choose-temp.c]: use mktemp(3) if compiled + -DUSE_MKSTEMP . + * Security improvements: don't use the result of choose_temp_base in a + predictable fashion. + [gcc/gcc.c]: + * @c, @objective-c: use random name rather then tempbasename.i for + intermediate preprocessor output (%g.i -> %d%u). + * @c, @objective-c: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched + "as [-o output file] " to + "as [-o output file]". + * @c, @objective-c, @assembler-with-cpp: use previous random name + (cc1|cpp output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U) + [gcc/f/lang-specs.h]: + * @f77-cpp-input: use random name rather then tempbasename.i for + intermediate cpp output (%g.i -> %d%u). + * @f77-cpp-input: use previous random name (cpp output) rather than + tempbasename.i for f771 input (%g.i -> %U). + * @f77-cpp-input: switched + "as [-o output file] " to + "as [-o output file]". + * @f77-cpp-input: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: use random name rather then tempbasename.i for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @f77: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + * Run the testsuite (this requires the dejagnu package in experimental; + unfortunately, it is difficult to distinguish this version from the one + in frozen). + if possible, and log the results in warn_summary and bootstrap-summary. + * [gcc/choose-temp.c, libiberty/choose-temp.c]: s|returh|return| in + comment. + * Added notes on the Debian compiler setup [debian/README] to the + development packages. + * Matthias: + * [libg++/etc/lf/Makefile.in] Replaced "-ltermcap" by "-lncurses". + * [debian/rules] Updated so it can be used for both egcs releases and + snapshots easily; added support for the GNU Pascal Compiler gpc. + * [contrib/test_summary, contrib/warn_summary] Added from CVS. + * Run compiler checks and include results in /usr/doc/. + * Updates to the README. + * [debian/rules] Use assignments to speed up startup. + * [debian/rules] Show the important variables at the start of the build + process. + * [debian/control.secondary] Added a dependency of gobjc on egcc on + architectures where egcs provides the secondary compiler, as + /usr/bin/egcc is the compiler driver for gobjc. (Fixes #22829). + * [debian/control.*] Bumped Standards-Version; used shorter version + numbers in the dependency relationships (esthetic difference only); + fixed typo. + + -- J.H.M. Dassen (Ray) Tue, 26 May 1998 21:47:41 +0200 + +egcs-snapshot (19980525-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose Tue, 26 May 1998 18:04:06 +0200 + +egcs-snapshot (19980517-1) experimental; urgency=low + + * "Initial" release of the egcs-snapshot package; many debian/* files + derived from the egcs-1.0.3a-0.1 package (maintained by Galen Hazelwood + , NMU's by J.H.M. Dassen (Ray) ) + * The egcs-snapshot packages can coexist with the packages of the + egcs release. Package names have a '-ss' appended. + * All packages are installed in a separate tree (/usr/lib/egcs-ss following + the FHSS). + * Made all snapshot packages extra, all snapshot packages conflict + with correspondent egcs packages, which are newer than the snapshot. + * Included libg++-2.8.1-980505. + * Included GNU Pascal (gpc-980511). + * Haifa scheduler enabled for all snapshot packages. + * Run compiler checks and include results in /usr/doc/. + * Further information in /usr/doc//README.snapshot. + + -- Matthias Klose Wed, 20 May 1998 11:14:06 +0200 + +egcs (1.0.3a-0.1) frozen unstable; urgency=low + + * New upstream release egcs-2.90.29 980515 (egcs-1.0.3 release) + (we were using 1.0.3-prerelease). This includes the Haifa patches + we had since 1.0.3-0.2 and the gcc/objc/thr-posix.c patch we had + since 1.0.3-0.1; the differences with 1.0.3-prerelease + patches + we had is negligable. + * iostream info documentation was in the wrong package (libg++2.8-dev). + Now it's in libstdc++2.8-dev. (Thanks to Jens Rosenboom for bringing + this to my attention). As 1.0.3-0.3 didn't make it out of Incoming, + I'm not adding "Replaces:" for this; folks who had 1.0.3-0.3 installed + already know enough to use --force-overwrite. + * [gcc/objc/objc-act.c] Applied patch Matthias Klose supplied me with that + demangles Objective C method names in gcc error messages. + * Explicitly disable Haifa scheduling on Alpha, to make it easier to use + this package's diff with egcs snapshots, which may turn on Haifa + scheduling even though it is still unstable. (Requested by Chris Chimelis) + * Don't run "configure" again if builddir already exists (makes it faster + to restart builds in case one is hacking internals). Requested by + Johnnie Ingram. + * [gcc/gbl-ctors.h] Don't use extern declaration for atexit on glibc 2.1 + and higher (the prototype has probably changed; having the declaration + broke Sparc compiles). + * [debian/rules] Determine all version number automatically (from the + version string in gcc/version.c). + * [debian/copyright] Updated FTP locations; added text about libg++ (fixes + #22465). + + -- J.H.M. Dassen (Ray) Sat, 16 May 1998 17:41:44 +0200 + +egcs (1.0.3-0.3) frozen unstable; urgency=low + + * Made an "egcs-doc" package containing documentation for egcs (e)gcc, + g++, gobjc, so that administrators can choose whether to have this + documenation or the documentation that comes with the GNU gcc package. + Dependency on this is Recommends: on architectures where egcs provides + the primary C compiler; Suggests: on the others (where GNU gcc is still + the primary C compiler). + * Use the g++ FAQ from gcc/cp rather than libg++, as that version is more + up to date. + * Added iostream info documentation to libstdc++2.8-dev. + + -- J.H.M. Dassen (Ray) Wed, 13 May 1998 08:46:10 +0200 + +egcs (1.0.3-0.2) frozen unstable; urgency=low + + * Added libg++ that works with egcs, found at + ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980505.tar.gz + (fixes #20587 (Severity: important)). + * The "libg++" and "libg++-dev" virtual packages now refer to the GNU + extensions. + * Added the g++ FAQ that comes with libg++ to the g++ package. + * libg++/Makefile.in: added $(srcdir) to rule for g++FAQ.info so that it + builds OK in builddir. + * Added -D__i386__ to the cpp predefines on intel. + * Patches Matthias supplied me with: + * Further 1.0.3 prerelease patches from CVS. + This includes patches to the Haifa scheduler. Alpha porters, please + check if this makes the Haifa scheduler OK again. + * Objective C patches from CVS. + + -- J.H.M. Dassen (Ray) Fri, 8 May 1998 14:43:20 +0200 + +egcs (1.0.3-0.1) frozen unstable; urgency=low (high for maintainers that use objc) + + * bug fixes only in new upstream version + * Applied patches from egcs CVS archive (egcs_1_03_prerelease) + (see gcc/ChangeLog in the egcs source package). + * libstdc++2.8-dev no longer Provides: libg++-dev (fixes #21153). + * libstdc++2.8-dev now Conflicts: libg++27-dev (bo), + libg++272-dev (hamm) [regular packages] rather than + Conflicts: libg++-dev [virtual package] to prepare the way for "libg++" + to be used as a virtual package for a new libg++ package (i.e. an up to + date one, which not longer contains libstdc++, but only the GNU + extensions) that is compatible with the egcs g++ packages. Such a package + isn't available yet. Joel Klecker tried building libg++2.8.1.1a within + egcs's libstdc++ setup, but it appears to need true gcc 2.8.1 . + * Filed Severity: important bugs against wxxt1-dev (#21707) because these + still depend on libg++-dev, which is removed in this version. + A fixed libsidplay1-dev has already been uploaded. + * libstdc++2.8 is now Section: base and Priority: required (as dselect is + linked against it). + * Disabled Haifa scheduling on Alpha again; Chris Chimelis reported + that this caused problems on some machines. + * [gcc/extend.texi] + ftp://maya.idiap.ch/pub/tmb/usenix88-lexic.ps.Z is no longer available; + use http://master.debian.org/~karlheg/Usenix88-lexic.pdf . + (fixes the egcs part of #20002). + * Updated Standards-Version. + * Changed chmod in debian/rules at Johnie Ingram's request. + * Rather than hardwire the Debian part of the packages' version number, + extract it from debian/changelog . + * Use gcc/objc/thr-posix.c from 980418 egcs snapshot to make objc work. + (Fixes #21192). + * Applied workaround for the GNUstep packages on sparc systems. + See README.sparc (on sparc packages only) in the doc directory. + This affects the other compilers as well. + * Already done in 1.0.2-0.7: the gobjc package now provides a virtual + package objc-compiler. + + -- J.H.M. Dassen (Ray) Tue, 28 Apr 1998 12:05:28 +0200 + +egcs (1.0.2-0.7) frozen unstable; urgency=low + + * Separated out Objective-C compiler. + * Applied patch from http://www.cygnus.com/ml/egcs/1998-Apr/0614.html + + -- Matthias Klose Fri, 17 Apr 1998 10:25:48 +0200 + +egcs (1.0.2-0.6) frozen unstable; urgency=low + + * Due to upstream changes (libg++ is now only the GNU specific C++ + classes, and is no longer maintained; libstdc++ contains the C++ + standard library, including STL), the virtual "libg++-dev" + package's meaning has become confusing. Therefore, new or updated + packages should no longer use the virtual "libg++-dev" package. + * Corrected g++'s Recommends to libstdc++2.8-dev (>=2.90.27-0.1). + The previous version had Recommends: libstdc++-dev (>=2.90.27-0.1) + which doesn't work, as libstc++-dev is a virtual package. + * Bumped Standards-Version. + + -- J.H.M. Dassen (Ray) Tue, 14 Apr 1998 11:52:08 +0200 + +egcs (1.0.2-0.5) frozen unstable; urgency=low (high for maintainers of packages that use libstdc++) + + * Modified shlibs file for libstdc++ to generate versioned dependencies, + as it is not link compatible with the 1.0.1-x versions in + project/experimental. (Fixes #20247, #20033) + Packages depending on libstd++ should be recompiled to fix their + dependencies. + * Strenghtened g++'s Recommends: libstdc++-dev to the 1.0.2 version or + newer. + * Fixed problems with the unknown(7) symlink for gcov. + * Reordering links now works. + + -- Adam Heath Sun, 12 Apr 1998 13:09:30 -0400 + +egcs (1.0.2-0.4) frozen unstable; urgency=low + + * Unreleased. This is the version Adam Heath received from me. + * Replaces: gcc (<= 2.7.2.3-3) so that the overlap with the older gcc + packages (including bo's gcc_2.7.2.1-8) is handled properly + (fixes #19931, #19672, #20217, #20593). + * Alpha architecture (fixes #20875): + * Patched gcc/config/alpha/linux.h for the gmon functions to operate + properly. + * Made egcs the primary C compiler. + * Enabled Hafia scheduling. + * Lintian-detected problems: + * E: libstdc++2.8: ldconfig-symlink-before-shlib-in-deb usr/lib/libstdc++.so.2.8 + * E: egcc: binary-without-manpage gcov + Reported as wishlist bug; added link to undocumented(7). + * W: libstdc++2.8: non-standard-executable-perm usr/lib/libstdc++.so.2.8.0 0555 + * E: libstdc++2.8: shlib-with-executable-bit usr/lib/libstdc++.so.2.8.0 0555 + + -- J.H.M. Dassen (Ray) Fri, 10 Apr 1998 14:46:46 +0200 + +egcs (1.0.2-0.3) frozen unstable; urgency=low + + * Really fixed dependencies. + + -- J.H.M. Dassen (Ray) Mon, 30 Mar 1998 11:30:26 +0200 + +egcs (1.0.2-0.2) frozen unstable; urgency=low + + * Fixed dependencies. + + -- J.H.M. Dassen (Ray) Sat, 28 Mar 1998 13:58:58 +0100 + +egcs (1.0.2-0.1) frozen unstable; urgency=low + + * New upstream version; it now has -Di386 in CPP_PREDEFINES. + * Only used the debian/* patches from 1.0.1-2; the rest of it appears + to be in 1.0.2 already. + + -- J.H.M. Dassen (Ray) Fri, 27 Mar 1998 11:47:14 +0100 + +egcs (1.0.1-2) unstable; urgency=low + + * Integrated pre-release 1.0.2 patches + * Split out g++ + * egcs may now provide either the primary or secondary C compiler + + -- Galen Hazelwood Sat, 14 Mar 1998 14:15:32 -0700 + +egcs (1.0.1-1) unstable; urgency=low + + * New upstream version + * egcs is now the standard Debian gcc! + * gcc now provides c-compiler (#15248 et al.) + * g77 now provides fortran77-compiler + * g77 dependencies now correct (#16991) + * /usr/doc/gcc/changelog.gz now has correct permissions (#16139) + + -- Galen Hazelwood Sat, 7 Feb 1998 19:22:30 -0700 + +egcs (1.0-1) experimental; urgency=low + + * First official release + + -- Galen Hazelwood Thu, 4 Dec 1997 16:30:11 -0700 + +egcs (970917-1) experimental; urgency=low + + * New upstream snapshot (There's a lot of stuff here as well, including + a new libstdc++, but it _still_ won't build...) + * eg77 driver now works properly + + -- Galen Hazelwood Wed, 17 Sep 1997 20:44:29 -0600 + +egcs (970904-1) experimental; urgency=low + + * New upstream snapshot + + -- Galen Hazelwood Sun, 7 Sep 1997 18:25:06 -0600 + +egcs (ss-970814-1) experimental; urgency=low + + * Initial packaging (of initial snapshot!) + + -- Galen Hazelwood Wed, 20 Aug 1997 00:36:28 +0000 + +gcc272 (2.7.2.3-12) unstable; urgency=low + + * Compiled on a glibc-2.0 based system. + * Reflect move of manpage to /usr/share in gcc.postinst as well. + * Moved gcc272-docs to section doc, priority optional. + + -- Matthias Klose Sat, 28 Aug 1999 13:42:13 +0200 + +gcc272 (2.7.2.3-11) unstable; urgency=low + + * Follow Debian policy for GNU system type (fixes #42657). + * config/i386/linux.h: Remove %[cpp_cpu] from CPP_SPEC. Stops gcc-2.95 + complaining about obsolete spec operators (using gcc -V 2.7.2.3). + Patch suggested by Zack Weinberg . + + -- Matthias Klose Sun, 15 Aug 1999 20:12:21 +0200 + +gcc272 (2.7.2.3-10) unstable; urgency=low + + * Renamed source package to gcc272. The egcs source package is renamed + to gcc, because it's now the "official" GNU C compiler. + * Changed maintainer address to "Debian GCC maintainers". + * Install info and man stuff to /usr/share. + + -- Matthias Klose Thu, 27 May 1999 12:29:23 +0200 + +gcc (2.7.2.3-9) unstable; urgency=low + + * debian/{postinst,prerm}-doc: handle gcc272.info, not gcc.info. + Fixes #36306. + + -- Matthias Klose Tue, 20 Apr 1999 07:32:58 +0200 + +gcc (2.7.2.3-8) unstable; urgency=low + + * Make gcc-2.7 the secondary compiler. Rename gcc package to gcc272. + On i386, sparc and m68k, this package is compiled against glibc2.0. + * The cpp package is built from the egcs source package. + + -- Matthias Klose Mon, 29 Mar 1999 22:48:50 +0200 + +gcc (2.7.2.3-7) frozen unstable; urgency=low + + * Separated out ObjC compiler to gobjc27 package. + * Changed maintainer address. + * Synchronized README.Debian with egcs-1.1.1-3. + + -- Matthias Klose Tue, 29 Dec 1998 19:05:26 +0100 + +gcc (2.7.2.3-6) frozen unstable; urgency=low + + * Link with -lc on i386, m68k, sparc, when building shared libraries + (fixes #25122). + + -- Matthias Klose Thu, 3 Dec 1998 12:12:12 +0200 + +gcc (2.7.2.3-5) frozen unstable; urgency=low + + * Updated maintainer info. + * Updated Standards-Version; made lintian-clean. + * gcc-docs can coexist with the latest egcs-docs, so added (<= version) to + the Conflicts. + * Updated the README and renamed it to README.Debian . + * Put a reference to /usr/doc/gcc/README.Debian in the info docs. + * Updated description of g++272 . + * Clean up generated info files, to keep the diff small. + + -- J.H.M. Dassen (Ray) Tue, 17 Nov 1998 20:05:59 +0100 + +gcc (2.7.2.3-4.8) frozen unstable; urgency=high + + * Non-maintainer release + * Fix type in extended description + * Removed wrong test in postinst + * Add preinst to clean up some stuff from an older gcc package properly + and stop man complaining about dangling symlinks + + -- Wichert Akkerman Fri, 17 Jul 1998 18:48:32 +0200 + +gcc (2.7.2.3-4.7) frozen unstable; urgency=high + + * Really fixed gcc-docs postinst (Fixes #23470), so that `gcc-docs' + becomes installable. + + -- J.H.M. Dassen (Ray) Mon, 15 Jun 1998 07:53:40 +0200 + +gcc (2.7.2.3-4.6) frozen unstable; urgency=high + + * [gcc.c] There is one call to choose_temp_base for determining the + tempdir to be used only; + #ifdef HAVE_MKSTEMP delete the tempfile created as a side effect. + (fixes #23123 for gcc). + * gcc-docs postinst was broken (due to a broken line) (fixes #23391, #23401). + * [debian/control] description for gcc-docs said `egcs' where it should have + said `gcc' (fixes #23396). + + -- J.H.M. Dassen (Ray) Thu, 11 Jun 1998 12:48:50 +0200 + +gcc (2.7.2.3-4.5) frozen unstable; urgency=high + + * The previous version left temporary files behind, as they were not + marked for deletion afterwards. + + -- J.H.M. Dassen (Ray) Sun, 31 May 1998 22:49:14 +0200 + +gcc (2.7.2.3-4.4) frozen unstable; urgency=high (security fixes) + + * Security improvements with regard to the /tmp problem + (gcc opens predictably named files in TMPDIR which can be abused via + symlinks) (Fixes #19453 for gcc): + * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly + every time; affects gcc/gcc.c . + * [cp/g++.c, collect2.c, gcc.c] If compiled -DHAVE_MKSTEMP use mkstemp(3) + rather than mktemp(3). + * Security improvements: don't use the result of choose_temp_base in a + predictable fashion. + [gcc.c]: + * @c, @objective-c: use random name rather then tempbasename.i for + intermediate preprocessor output (%g.i -> %d%u). + * @c, @objective-c: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched + "as [-o output file] " to + "as [-o output file]". + * @c, @objective-c, @assembler-with-cpp: use previous random name + (cc1|cpp output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U) + [f/lang-specs.h]: + * @f77-cpp-input: use random name rather then tempbasename.i for + intermediate cpp output (%g.i -> %d%u). + * @f77-cpp-input: use previous random name (cpp output) rather than + tempbasename.i for f771 input (%g.i -> %U). + * @f77-cpp-input: switched + "as [-o output file] " to + "as [-o output file]". + * @f77-cpp-input: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: use random name rather then tempbasename.i for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @f77: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + + -- J.H.M. Dassen (Ray) Sat, 30 May 1998 17:27:03 +0200 + +gcc (2.7.2.3-4.3) frozen unstable; urgency=high + + * The "alpha" patches from -4 affected a lot more than alpha support, + and in all likeliness broke compilation of libc6 2.0.7pre3-1 + and 2.0.7pre1-4 . I removed them by selective application of the + diff between -4 and -4. (should fix #22292). + * Fixed reference to the trampolines paper (fixes #20002 for Debian; + this still needs to be forwarded). + * This is for frozen too. (obsoletes #22390 (request to move -4.2 to + frozen)). + * Split of gcc-docs package, so that the gcc can be succesfully installed + on systems that have egcs-docs installed. + * Added the README on the compiler situation that's already in the egcs + packages. + * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'. + + -- J.H.M. Dassen (Ray) Thu, 28 May 1998 20:03:59 +0200 + +gcc (2.7.2.3-4.2) unstable; urgency=low + + * Still for unstable, as I have received no feedback about the g++272 + package yet. + * gcc now Provides: objc-compiler . + * Clean up /etc/alternatives/{g++,g++.1.gz} if they are dangling. + (fixes #19765, #20563) + + -- J.H.M. Dassen (Ray) Wed, 22 Apr 1998 12:40:45 +0200 + +gcc (2.7.2.3-4.1) unstable; urgency=low + + * Bumped Standards-Version. + * Forked off a g++272 package (e.g. for code that uses the GNU extensions + in libg++); for now this is in "unstable" only; feedback appreciated. + * Some cleanup (lintian): permissions, absolute link, gzip manpage. + + -- J.H.M. Dassen (Ray) Fri, 17 Apr 1998 13:05:25 +0200 + +gcc (2.7.2.3-4) unstable; urgency=low + + * Added alpha patches + * Only build C and objective-c compilers, split off g++ + + -- Galen Hazelwood Sun, 8 Mar 1998 21:16:39 -0700 + +gcc (2.7.2.3-3) unstable; urgency=low + + * Added patches for m68k + * Added patches for sparc (#13968) + + -- Galen Hazelwood Fri, 17 Oct 1997 18:25:21 -0600 + +gcc (2.7.2.3-2) unstable; urgency=low + + * Added g77 support (g77 0.5.21) + + -- Galen Hazelwood Wed, 10 Sep 1997 18:44:54 -0600 + +gcc (2.7.2.3-1) unstable; urgency=low + + * New upstream version + * Now using pristine source + * Removed misplaced paragraph in cpp.texi (#10877) + * Fix security bug for temporary files (#5298) + * Added Suggests: libg++-dev (#12335) + * Patched objc/thr-posix.c to support conditions (#12502) + + -- Galen Hazelwood Mon, 8 Sep 1997 12:20:07 -0600 + +gcc (2.7.2.2-7) unstable; urgency=low + + * Made cc and c++ managed through alternates mechanism (for egcs) + + -- Galen Hazelwood Tue, 19 Aug 1997 22:37:03 +0000 + +gcc (2.7.2.2-6) unstable; urgency=low + + * Tweaked Objective-C thread support (#11069) + + -- Galen Hazelwood Wed, 9 Jul 1997 11:56:57 -0600 + +gcc (2.7.2.2-5) unstable; urgency=low + + * More updated m68k patches + * Now conflicts with libc5-dev (#10006, #10112) + * More strict Depends: cpp, prevents version mismatch (#9954) + + -- Galen Hazelwood Thu, 19 Jun 1997 01:29:02 -0600 + +gcc (2.7.2.2-4) unstable; urgency=low + + * Moved to unstable + * Temporarily removed fortran support (waiting for new g77) + * Updated m68k patches + + -- Galen Hazelwood Fri, 9 May 1997 13:35:14 -0600 + +gcc (2.7.2.2-3) experimental; urgency=low + + * Built against libc6 (fixes bug #8511) + + -- Galen Hazelwood Fri, 4 Apr 1997 13:30:10 -0700 + +gcc (2.7.2.2-2) experimental; urgency=low + + * Fixed configure to build crt{begin,end}S.o on i386 + + -- Galen Hazelwood Tue, 11 Mar 1997 16:15:02 -0700 + +gcc (2.7.2.2-1) experimental; urgency=low + + * Built for use with libc6-dev (experimental purposes only!) + * Added m68k patches from Andreas Schwab + + -- Galen Hazelwood Fri, 7 Mar 1997 12:44:17 -0700 + +gcc (2.7.2.1-7) unstable; urgency=low + + * Patched to support g77 0.5.20 + + -- Galen Hazelwood Thu, 6 Mar 1997 22:20:23 -0700 + +gcc (2.7.2.1-6) unstable; urgency=low + + * Added (small) manpage for protoize/unprotoize (fixes bug #6904) + * Removed -lieee from specs file (fixes bug #7741) + * No longer builds aout-gcc + + -- Galen Hazelwood Mon, 3 Mar 1997 11:10:20 -0700 + +gcc (2.7.2.1-5) unstable; urgency=low + + * debian/control now lists cpp in section "interpreters" + * Re-added Objective-c patches for unstable + + -- Galen Hazelwood Wed, 22 Jan 1997 10:27:52 -0700 + +gcc (2.7.2.1-4) stable unstable; urgency=low + + * Changed original source file so dpkg-source -x works + * Removed Objective-c patches (unsafe for stable) + * Built against rex's libc, so fixes placed in -3 are available to + those still using rex + + -- Galen Hazelwood Tue, 21 Jan 1997 11:11:53 -0700 + +gcc (2.7.2.1-3) unstable; urgency=low + + * New (temporary) maintainer + * Updated to new standards and source format + * Integrated aout-gcc into gcc source package + * Demoted aout-gcc to Priority "extra" + * cpp package description more clear (fixes bug #5428) + * Removed cpp "Replaces: gcc" (fixes bug #5762) + * Minor fix to invoke.texi (fixes bug #2909) + * Added latest Objective-C patches for GNUstep people (fixes bug #4657) + + -- Galen Hazelwood Sun, 5 Jan 1997 09:57:36 -0700 --- gcc-4.3-4.3.4.orig/debian/README.ssp +++ gcc-4.3-4.3.4/debian/README.ssp @@ -0,0 +1,28 @@ +Stack smashing protection is a feature of GCC that enables a program to +detect buffer overflows and immediately terminate execution, rather than +continuing execution with corrupt internal data structures. It uses +"canaries" and local variable reordering to reduce the likelihood of +stack corruption through buffer overflows. + +Options that affect stack smashing protection: + +-fstack-protector + Enables protection for functions that are vulnerable to stack + smashing, such as those that call alloca() or use pointers. + +-fstack-protector-all + Enables protection for all functions. + +-Wstack-protector + Warns about functions that will not be protected. Only active when + -fstack-protector has been used. + +Applications built with stack smashing protection should link with the +ssp library by using the option "-lssp" for systems with glibc-2.3.x or +older; glibc-2.4 and newer versions provide this functionality in libc. + +The Debian architectures alpha, hppa, ia64, m68k, mips, mipsel do not +have support for stack smashing protection. + +More documentation can be found at the project's website: +http://researchweb.watson.ibm.com/trl/projects/security/ssp/ --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.sparc +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.sparc @@ -0,0 +1,102 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GCC_LDBL_3.0@GCC_LDBL_3.0 1:4.2.1 + GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 1:4.2.1 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __ashldi3@GCC_3.0 1:4.1.1 + __ashrdi3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzsi2@GCC_3.4 1:4.1.1 + __cmpdi2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzsi2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_LDBL_4.0.0 1:4.2.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixtfdi@GCC_LDBL_3.0 1:4.2.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __fixunstfdi@GCC_LDBL_3.0 1:4.2.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatditf@GCC_LDBL_3.0 1:4.2.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatunditf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __lshrdi3@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldi3@GCC_3.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_LDBL_4.0.0 1:4.2.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __negdi2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __paritysi2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountsi2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_LDBL_4.0.0 1:4.2.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __ucmpdi2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmoddi4@GCC_3.0 1:4.1.1 + __umoddi3@GLIBC_2.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.hurd-i386 +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.hurd-i386 @@ -0,0 +1,5 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit.hurd" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.32bit.hurd +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.32bit.hurd @@ -0,0 +1,536 @@ +#include "libstdc++6.symbols.common" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEj@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSsixEj@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8valarrayIjE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_constructEjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjjc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEjc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEj@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEixEj@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcjRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znaj@GLIBCXX_3.4 4.1.1 + _ZnajRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwj@GLIBCXX_3.4 4.1.1 + _ZnwjRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC1EP15__pthread_mutex@GLIBCXX_3.4 4.3.0 + _ZNSt12__basic_fileIcEC2EP15__pthread_mutex@GLIBCXX_3.4 4.3.0 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.amd64 +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.amd64 @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.ia64 +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.ia64 @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.sparc +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.sparc @@ -0,0 +1,3 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" --- gcc-4.3-4.3.4.orig/debian/libobjc2.symbols.arm +++ gcc-4.3-4.3.4/debian/libobjc2.symbols.arm @@ -0,0 +1,3 @@ +libobjc.so.2 libobjc2 #MINVER# +#include "libobjc2.symbols.common" + __gnu_objc_personality_sj0@Base 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.sparc +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.sparc @@ -0,0 +1,7 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-4.3-4.3.4.orig/debian/gcj-BV.prerm +++ gcc-4.3-4.3.4/debian/gcj-BV.prerm @@ -0,0 +1,13 @@ +#! /bin/sh -e + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then + update-alternatives --quiet --remove javac /usr/bin/gcj-wrapper-@BV@ + update-alternatives --quiet --remove jar /usr/bin/gjar-@BV@ + update-alternatives --quiet --remove jarsigner /usr/bin/gjarsigner-@BV@ + update-alternatives --quiet --remove javah /usr/bin/gjavah-@BV@ + update-alternatives --quiet --remove native2ascii /usr/bin/gnative2ascii-@BV@ + update-alternatives --quiet --remove rmic /usr/bin/grmic-@BV@ + update-alternatives --quiet --remove tnameserv /usr/bin/gtnameserv-@BV@ +fi + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.alpha +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.alpha @@ -0,0 +1,8 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-4.3-4.3.4.orig/debian/README.snapshot +++ gcc-4.3-4.3.4/debian/README.snapshot @@ -0,0 +1,36 @@ +Debian gcc-snapshot package +=========================== + +This package contains a recent development SNAPSHOT of all files +contained in the GNU Compiler Collection (GCC). + +DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + +This package will NEVER hit the testing distribution. It's used for +tracking gcc bugs submitted to the Debian BTS in recent development +versions of gcc. + +To use this snapshot, you should set the following environment variables: + + LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH + PATH=/usr/lib/gcc-snapshot/bin:$PATH + +You might also like to use a shell script to wrap up this +funcationality, e.g. + +place in /usr/local/bin/gcc-snapshot and chmod +x it + +----------- snip ---------- +#! /bin/sh +LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH +PATH=/usr/lib/gcc-snapshot/bin:$PATH +gcc "$@" +----------- snip ---------- + +Make the same for g++, g77, gij, gcj, cpp, ... + +Don't forget the quotes around the $@ or gcc will not parse it's +command line correctly! + +Unset these variables before building Debian packages destined for an +upload to ftp-master.debian.org. --- gcc-4.3-4.3.4.orig/debian/libgcj-common.postinst +++ gcc-4.3-4.3.4/debian/libgcj-common.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libgcj-common + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcj-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/control +++ gcc-4.3-4.3.4/debian/control @@ -0,0 +1,338 @@ +Source: gcc-4.3 +Section: devel +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Debian GCC Maintainers +Uploaders: Matthias Klose +Standards-Version: 3.8.3 +Build-Depends: dpkg-dev (>= 1.14.15), debhelper (>= 5.0.62), gcc-multilib [amd64 i386 mips mipsel powerpc ppc64 s390 sparc kfreebsd-amd64], libc6.1-dev (>= 2.5) [alpha ia64] | libc0.3-dev (>= 2.5) [hurd-i386] | libc0.1-dev (>= 2.5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.5), libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], autogen, libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], m4, autoconf (>= 2.50), autoconf2.59, automake1.9, libtool, gawk, dejagnu [!none !hurd-i386], lzma, binutils (>= 2.19.1) | binutils-multiarch (>= 2.19.1), binutils-hppa64 (>= 2.19.1) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), libmpfr-dev (>= 2.3.0), locales [!hurd-i386 !m68k], procps [!hurd-i386], sharutils, binutils-spu (>= 2.19.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81) +Build-Depends-Indep: doxygen (>= 1.4.2), graphviz (>= 2.2), gsfonts-x11, texlive-latex-base, +Build-Conflicts: binutils-gold + +Package: gcc-4.3-base +Architecture: any +Section: libs +Priority: optional +Replaces: cpp-4.3 (<< 4.3.2-1), ${base:Replaces} +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). + +Package: gcc-4.3 +Architecture: any +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), cpp-4.3 (= ${gcc:Version}), binutils (>= ${binutils:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libunwinddev}, ${shlibs:Depends} +Recommends: ${dep:libcdev} +Suggests: ${gcc:multilib}, libmudflap0-4.3-dev (>= ${gcc:Version}), gcc-4.3-doc (>= ${gcc:SoftVersion}), gcc-4.3-locales (>= ${gcc:SoftVersion}), libgcc1-dbg, libgomp1-dbg, libmudflap0-dbg +Provides: c-compiler +Description: The GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: gcc-4.3-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarch}, ${dep:libsspbiarch}, ${dep:libgompbiarch}, ${shlibs:Depends} +Suggests: ${dep:libmudflapbiarch} +Description: The GNU C compiler (multilib files) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). + +Package: gcc-4.3-hppa64 +Architecture: hppa +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), ${shlibs:Depends} +Conflicts: gcc-3.3-hppa64 (<= 1:3.3.4-5), gcc-3.4-hppa64 (<= 3.4.1-3) +Description: The GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: gcc-4.3-spu +Architecture: powerpc ppc64 +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), binutils-spu (>= 2.18.1~cvs20080103-3), newlib-spu, ${shlibs:Depends} +Provides: spu-gcc +Replaces: spu-gcc +Description: SPU cross-compiler (preprocessor and C compiler) + GNU Compiler Collection for the Cell Broadband Engine SPU (preprocessor + and C compiler). + +Package: g++-4.3-spu +Architecture: powerpc ppc64 +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3-spu (= ${gcc:Version}), ${shlibs:Depends} +Provides: spu-g++ +Replaces: spu-g++ +Description: SPU cross-compiler (C++ compiler) + GNU Compiler Collection for the Cell Broadband Engine SPU (C++ compiler). + +Package: gfortran-4.3-spu +Architecture: powerpc ppc64 +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3-spu (= ${gcc:Version}), ${shlibs:Depends} +Provides: spu-gfortran +Replaces: spu-gfortran +Description: SPU cross-compiler (Fortran compiler) + GNU Compiler Collection for the Cell Broadband Engine SPU (Fortran compiler). + +Package: cpp-4.3 +Architecture: any +Section: interpreters +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), ${shlibs:Depends} +Suggests: gcc-4.3-locales (>= ${gcc:SoftVersion}) +Description: The GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + +Package: cpp-4.3-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.3-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info format. + +Package: gcc-4.3-locales +Architecture: all +Section: devel +Priority: optional +Depends: gcc-4.3-base (>= ${gcc:SoftVersion}), cpp-4.3 (>= ${gcc:SoftVersion}) +Recommends: gcc-4.3 (>= ${gcc:SoftVersion}) +Description: The GNU C compiler (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. + +Package: g++-4.3 +Architecture: any +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3 (= ${gcc:Version}), libstdc++6-4.3-dev (= ${gcc:Version}), ${shlibs:Depends} +Provides: c++-compiler, c++abi2-dev +Suggests: ${gxx:multilib}, gcc-4.3-doc (>= ${gcc:SoftVersion}), libstdc++6-4.3-dbg +Description: The GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + +Package: g++-4.3-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), g++-4.3 (= ${gcc:Version}), gcc-4.3-multilib (= ${gcc:Version}), ${dep:libcxxbiarch}, ${shlibs:Depends} +Suggests: ${dep:libcxxbiarchdbg} +Description: The GNU C++ compiler (multilib files) + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). + +Package: libmudflap0-4.3-dev +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), libmudflap0 (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Suggests: ${sug:libmudflapdev} +Conflicts: libmudflap0-dev +Description: GCC mudflap support libraries (development files) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + . + This package contains the headers and the static libraries. + +Package: gobjc++-4.3 +Architecture: any +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gobjc-4.3 (= ${gcc:Version}), g++-4.3 (= ${gcc:Version}), ${shlibs:Depends}, libobjc2 (>= ${gcc:Version}) +Suggests: ${gobjcxx:multilib}, gcc-4.3-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler +Description: The GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc++-4.3-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gobjc++-4.3 (= ${gcc:Version}), g++-4.3-multilib (= ${gcc:Version}), gobjc-4.3-multilib (= ${gcc:Version}), ${shlibs:Depends} +Description: The GNU Objective-C++ compiler (multilib files) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). + +Package: gobjc-4.3 +Architecture: any +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc2 (>= ${gcc:Version}) +Suggests: ${gobjc:multilib}, gcc-4.3-doc (>= ${gcc:SoftVersion}), libobjc2-dbg +Provides: objc-compiler +Description: The GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc-4.3-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gobjc-4.3 (= ${gcc:Version}), gcc-4.3-multilib (= ${gcc:Version}), ${dep:libobjcbiarch}, ${shlibs:Depends} +Description: The GNU Objective-C compiler (multilib files) + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). + +Package: gfortran-4.3 +Architecture: any +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3 (= ${gcc:Version}), libgfortran3 (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Provides: fortran95-compiler +Suggests: ${gfortran:multilib}, gfortran-4.3-doc, libgfortran3-dbg +Replaces: libgfortran3-dev +Description: The GNU Fortran 95 compiler + This is the GNU Fortran compiler, which compiles + Fortran 95 on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gfortran-4.3-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc +Section: devel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gfortran-4.3 (= ${gcc:Version}), gcc-4.3-multilib (= ${gcc:Version}), ${dep:libfortranbiarch}, ${shlibs:Depends} +Description: The GNU Fortran 95 compiler (multilib files) + This is the GNU Fortran compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. + . + On architectures with multilib support, the package contains files + and dependencies for the non-default multilib architecture(s). + +Package: gfortran-4.3-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.3-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran 95 compiler in info format. + +Package: libstdc++6-4.3-dev +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), g++-4.3 (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), ${dep:libcdev} +Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev, libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev, libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev +Suggests: libstdc++6-4.3-doc +Provides: libstdc++-dev +Description: The GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++6-4.3-pic +Architecture: any +Section: libdevel +Priority: extra +Depends: gcc-4.3-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), libstdc++6-4.3-dev (= ${gcc:Version}) +Description: The GNU Standard C++ Library v3 (shared library subset kit) + This is used to develop subsets of the libstdc++ shared libraries for + use on custom installation floppies and in embedded systems. + . + Unless you are making one of those, you will not need this package. + +Package: libstdc++6-4.3-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-4.3-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), libgcc1-dbg, ${shlibs:Depends} +Recommends: libstdc++6-4.3-dev (= ${gcc:Version}) +Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg, libstdc++6-4.0-dbg, libstdc++6-4.1-dbg, libstdc++6-4.2-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib32stdc++6-4.3-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 +Section: debug +Priority: extra +Depends: gcc-4.3-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}), libstdc++6-4.3-dev (= ${gcc:Version}), lib32gcc1-dbg, ${shlibs:Depends} +Conflicts: lib32stdc++6-dbg, lib32stdc++6-4.0-dbg, lib32stdc++6-4.1-dbg, lib32stdc++6-4.2-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib64stdc++6-4.3-dbg +Architecture: i386 powerpc sparc s390 mips mipsel +Section: debug +Priority: extra +Depends: gcc-4.3-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}), libstdc++6-4.3-dev (= ${gcc:Version}), lib64gcc1-dbg, ${shlibs:Depends} +Conflicts: lib64stdc++6-dbg, lib64stdc++6-4.0-dbg, lib64stdc++6-4.1-dbg, lib64stdc++6-4.2-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libn32stdc++6-4.3-dbg +Architecture: mips mipsel +Section: debug +Priority: extra +Depends: gcc-4.3-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}), libstdc++6-4.3-dev (= ${gcc:Version}), libn32gcc1-dbg, ${shlibs:Depends} +Conflicts: libn32stdc++6-dbg, libn32stdc++6-4.0-dbg, libn32stdc++6-4.1-dbg, libn32stdc++6-4.2-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libstdc++6-4.3-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.3-base (>= ${gcc:SoftVersion}) +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc +Description: The GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. + +Package: gcc-4.3-soft-float +Architecture: arm armel +Priority: optional +Depends: gcc-4.3-base (= ${gcc:Version}), gcc-4.3 (= ${gcc:Version}), ${shlibs:Depends} +Replaces: gcc-soft-float-ss +Description: The soft-floating-point gcc libraries (arm) + These are versions of basic static libraries such as libgcc.a compiled + with the -msoft-float option, for CPUs without a floating-point unit. + +Package: gcc-4.3-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.3-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info format. + +Package: gcc-4.3-source +Architecture: all +Priority: optional +Depends: gcc-4.3-base (>= ${gcc:SoftVersion}), make (>= 3.81), automake1.9, autoconf2.59 +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). --- gcc-4.3-4.3.4.orig/debian/lib64stdc++6.symbols.s390 +++ gcc-4.3-4.3.4/debian/lib64stdc++6.symbols.s390 @@ -0,0 +1,10 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-4.3-4.3.4.orig/debian/source.lintian-overrides.in +++ gcc-4.3-4.3.4/debian/source.lintian-overrides.in @@ -0,0 +1,2 @@ +@SRC@: invalid-arch-string-in-source-relation +@SRC@: quilt-series-but-no-build-dep --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.mipsel +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.mipsel @@ -0,0 +1,1106 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3.4@GCC_3.3.4 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __addda3@GCC_4.3.0 1:4.3 + __adddf3@GCC_3.0 1:4.1.1 + __adddq3@GCC_4.3.0 1:4.3 + __addha3@GCC_4.3.0 1:4.3 + __addhq3@GCC_4.3.0 1:4.3 + __addqq3@GCC_4.3.0 1:4.3 + __addsa3@GCC_4.3.0 1:4.3 + __addsf3@GCC_3.0 1:4.1.1 + __addsq3@GCC_4.3.0 1:4.3 + __adduda3@GCC_4.3.0 1:4.3 + __addudq3@GCC_4.3.0 1:4.3 + __adduha3@GCC_4.3.0 1:4.3 + __adduhq3@GCC_4.3.0 1:4.3 + __adduqq3@GCC_4.3.0 1:4.3 + __addusa3@GCC_4.3.0 1:4.3 + __addusq3@GCC_4.3.0 1:4.3 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __ashlda3@GCC_4.3.0 1:4.3 + __ashldi3@GCC_3.0 1:4.1.1 + __ashldq3@GCC_4.3.0 1:4.3 + __ashlha3@GCC_4.3.0 1:4.3 + __ashlhq3@GCC_4.3.0 1:4.3 + __ashlqq3@GCC_4.3.0 1:4.3 + __ashlsa3@GCC_4.3.0 1:4.3 + __ashlsq3@GCC_4.3.0 1:4.3 + __ashluda3@GCC_4.3.0 1:4.3 + __ashludq3@GCC_4.3.0 1:4.3 + __ashluha3@GCC_4.3.0 1:4.3 + __ashluhq3@GCC_4.3.0 1:4.3 + __ashluqq3@GCC_4.3.0 1:4.3 + __ashlusa3@GCC_4.3.0 1:4.3 + __ashlusq3@GCC_4.3.0 1:4.3 + __ashrda3@GCC_4.3.0 1:4.3 + __ashrdi3@GCC_3.0 1:4.1.1 + __ashrdq3@GCC_4.3.0 1:4.3 + __ashrha3@GCC_4.3.0 1:4.3 + __ashrhq3@GCC_4.3.0 1:4.3 + __ashrqq3@GCC_4.3.0 1:4.3 + __ashrsa3@GCC_4.3.0 1:4.3 + __ashrsq3@GCC_4.3.0 1:4.3 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzsi2@GCC_3.4 1:4.1.1 + __cmpda2@GCC_4.3.0 1:4.3 + __cmpdi2@GCC_3.0 1:4.1.1 + __cmpdq2@GCC_4.3.0 1:4.3 + __cmpha2@GCC_4.3.0 1:4.3 + __cmphq2@GCC_4.3.0 1:4.3 + __cmpqq2@GCC_4.3.0 1:4.3 + __cmpsa2@GCC_4.3.0 1:4.3 + __cmpsq2@GCC_4.3.0 1:4.3 + __cmpuda2@GCC_4.3.0 1:4.3 + __cmpudq2@GCC_4.3.0 1:4.3 + __cmpuha2@GCC_4.3.0 1:4.3 + __cmpuhq2@GCC_4.3.0 1:4.3 + __cmpuqq2@GCC_4.3.0 1:4.3 + __cmpusa2@GCC_4.3.0 1:4.3 + __cmpusq2@GCC_4.3.0 1:4.3 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzsi2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divda3@GCC_4.3.0 1:4.3 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdf3@GCC_3.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divdq3@GCC_4.3.0 1:4.3 + __divha3@GCC_4.3.0 1:4.3 + __divhq3@GCC_4.3.0 1:4.3 + __divqq3@GCC_4.3.0 1:4.3 + __divsa3@GCC_4.3.0 1:4.3 + __divsc3@GCC_4.0.0 1:4.1.1 + __divsf3@GCC_3.0 1:4.1.1 + __divsq3@GCC_4.3.0 1:4.3 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __eqdf2@GCC_3.0 1:4.1.1 + __eqsf2@GCC_3.0 1:4.1.1 + __extendsfdf2@GCC_3.0 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixdfsi@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixsfsi@GCC_3.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatsidf@GCC_3.0 1:4.1.1 + __floatsisf@GCC_3.0 1:4.1.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatunsidf@GCC_4.2.0 1:4.2.1 + __floatunsisf@GCC_4.2.0 1:4.2.1 + __fractdadf@GCC_4.3.0 1:4.3 + __fractdadi@GCC_4.3.0 1:4.3 + __fractdadq@GCC_4.3.0 1:4.3 + __fractdaha2@GCC_4.3.0 1:4.3 + __fractdahi@GCC_4.3.0 1:4.3 + __fractdahq@GCC_4.3.0 1:4.3 + __fractdaqi@GCC_4.3.0 1:4.3 + __fractdaqq@GCC_4.3.0 1:4.3 + __fractdasa2@GCC_4.3.0 1:4.3 + __fractdasf@GCC_4.3.0 1:4.3 + __fractdasi@GCC_4.3.0 1:4.3 + __fractdasq@GCC_4.3.0 1:4.3 + __fractdauda@GCC_4.3.0 1:4.3 + __fractdaudq@GCC_4.3.0 1:4.3 + __fractdauha@GCC_4.3.0 1:4.3 + __fractdauhq@GCC_4.3.0 1:4.3 + __fractdauqq@GCC_4.3.0 1:4.3 + __fractdausa@GCC_4.3.0 1:4.3 + __fractdausq@GCC_4.3.0 1:4.3 + __fractdfda@GCC_4.3.0 1:4.3 + __fractdfdq@GCC_4.3.0 1:4.3 + __fractdfha@GCC_4.3.0 1:4.3 + __fractdfhq@GCC_4.3.0 1:4.3 + __fractdfqq@GCC_4.3.0 1:4.3 + __fractdfsa@GCC_4.3.0 1:4.3 + __fractdfsq@GCC_4.3.0 1:4.3 + __fractdfuda@GCC_4.3.0 1:4.3 + __fractdfudq@GCC_4.3.0 1:4.3 + __fractdfuha@GCC_4.3.0 1:4.3 + __fractdfuhq@GCC_4.3.0 1:4.3 + __fractdfuqq@GCC_4.3.0 1:4.3 + __fractdfusa@GCC_4.3.0 1:4.3 + __fractdfusq@GCC_4.3.0 1:4.3 + __fractdida@GCC_4.3.0 1:4.3 + __fractdidq@GCC_4.3.0 1:4.3 + __fractdiha@GCC_4.3.0 1:4.3 + __fractdihq@GCC_4.3.0 1:4.3 + __fractdiqq@GCC_4.3.0 1:4.3 + __fractdisa@GCC_4.3.0 1:4.3 + __fractdisq@GCC_4.3.0 1:4.3 + __fractdiuda@GCC_4.3.0 1:4.3 + __fractdiudq@GCC_4.3.0 1:4.3 + __fractdiuha@GCC_4.3.0 1:4.3 + __fractdiuhq@GCC_4.3.0 1:4.3 + __fractdiuqq@GCC_4.3.0 1:4.3 + __fractdiusa@GCC_4.3.0 1:4.3 + __fractdiusq@GCC_4.3.0 1:4.3 + __fractdqda@GCC_4.3.0 1:4.3 + __fractdqdf@GCC_4.3.0 1:4.3 + __fractdqdi@GCC_4.3.0 1:4.3 + __fractdqha@GCC_4.3.0 1:4.3 + __fractdqhi@GCC_4.3.0 1:4.3 + __fractdqhq2@GCC_4.3.0 1:4.3 + __fractdqqi@GCC_4.3.0 1:4.3 + __fractdqqq2@GCC_4.3.0 1:4.3 + __fractdqsa@GCC_4.3.0 1:4.3 + __fractdqsf@GCC_4.3.0 1:4.3 + __fractdqsi@GCC_4.3.0 1:4.3 + __fractdqsq2@GCC_4.3.0 1:4.3 + __fractdquda@GCC_4.3.0 1:4.3 + __fractdqudq@GCC_4.3.0 1:4.3 + __fractdquha@GCC_4.3.0 1:4.3 + __fractdquhq@GCC_4.3.0 1:4.3 + __fractdquqq@GCC_4.3.0 1:4.3 + __fractdqusa@GCC_4.3.0 1:4.3 + __fractdqusq@GCC_4.3.0 1:4.3 + __fracthada2@GCC_4.3.0 1:4.3 + __fracthadf@GCC_4.3.0 1:4.3 + __fracthadi@GCC_4.3.0 1:4.3 + __fracthadq@GCC_4.3.0 1:4.3 + __fracthahi@GCC_4.3.0 1:4.3 + __fracthahq@GCC_4.3.0 1:4.3 + __fracthaqi@GCC_4.3.0 1:4.3 + __fracthaqq@GCC_4.3.0 1:4.3 + __fracthasa2@GCC_4.3.0 1:4.3 + __fracthasf@GCC_4.3.0 1:4.3 + __fracthasi@GCC_4.3.0 1:4.3 + __fracthasq@GCC_4.3.0 1:4.3 + __fracthauda@GCC_4.3.0 1:4.3 + __fracthaudq@GCC_4.3.0 1:4.3 + __fracthauha@GCC_4.3.0 1:4.3 + __fracthauhq@GCC_4.3.0 1:4.3 + __fracthauqq@GCC_4.3.0 1:4.3 + __fracthausa@GCC_4.3.0 1:4.3 + __fracthausq@GCC_4.3.0 1:4.3 + __fracthida@GCC_4.3.0 1:4.3 + __fracthidq@GCC_4.3.0 1:4.3 + __fracthiha@GCC_4.3.0 1:4.3 + __fracthihq@GCC_4.3.0 1:4.3 + __fracthiqq@GCC_4.3.0 1:4.3 + __fracthisa@GCC_4.3.0 1:4.3 + __fracthisq@GCC_4.3.0 1:4.3 + __fracthiuda@GCC_4.3.0 1:4.3 + __fracthiudq@GCC_4.3.0 1:4.3 + __fracthiuha@GCC_4.3.0 1:4.3 + __fracthiuhq@GCC_4.3.0 1:4.3 + __fracthiuqq@GCC_4.3.0 1:4.3 + __fracthiusa@GCC_4.3.0 1:4.3 + __fracthiusq@GCC_4.3.0 1:4.3 + __fracthqda@GCC_4.3.0 1:4.3 + __fracthqdf@GCC_4.3.0 1:4.3 + __fracthqdi@GCC_4.3.0 1:4.3 + __fracthqdq2@GCC_4.3.0 1:4.3 + __fracthqha@GCC_4.3.0 1:4.3 + __fracthqhi@GCC_4.3.0 1:4.3 + __fracthqqi@GCC_4.3.0 1:4.3 + __fracthqqq2@GCC_4.3.0 1:4.3 + __fracthqsa@GCC_4.3.0 1:4.3 + __fracthqsf@GCC_4.3.0 1:4.3 + __fracthqsi@GCC_4.3.0 1:4.3 + __fracthqsq2@GCC_4.3.0 1:4.3 + __fracthquda@GCC_4.3.0 1:4.3 + __fracthqudq@GCC_4.3.0 1:4.3 + __fracthquha@GCC_4.3.0 1:4.3 + __fracthquhq@GCC_4.3.0 1:4.3 + __fracthquqq@GCC_4.3.0 1:4.3 + __fracthqusa@GCC_4.3.0 1:4.3 + __fracthqusq@GCC_4.3.0 1:4.3 + __fractqida@GCC_4.3.0 1:4.3 + __fractqidq@GCC_4.3.0 1:4.3 + __fractqiha@GCC_4.3.0 1:4.3 + __fractqihq@GCC_4.3.0 1:4.3 + __fractqiqq@GCC_4.3.0 1:4.3 + __fractqisa@GCC_4.3.0 1:4.3 + __fractqisq@GCC_4.3.0 1:4.3 + __fractqiuda@GCC_4.3.0 1:4.3 + __fractqiudq@GCC_4.3.0 1:4.3 + __fractqiuha@GCC_4.3.0 1:4.3 + __fractqiuhq@GCC_4.3.0 1:4.3 + __fractqiuqq@GCC_4.3.0 1:4.3 + __fractqiusa@GCC_4.3.0 1:4.3 + __fractqiusq@GCC_4.3.0 1:4.3 + __fractqqda@GCC_4.3.0 1:4.3 + __fractqqdf@GCC_4.3.0 1:4.3 + __fractqqdi@GCC_4.3.0 1:4.3 + __fractqqdq2@GCC_4.3.0 1:4.3 + __fractqqha@GCC_4.3.0 1:4.3 + __fractqqhi@GCC_4.3.0 1:4.3 + __fractqqhq2@GCC_4.3.0 1:4.3 + __fractqqqi@GCC_4.3.0 1:4.3 + __fractqqsa@GCC_4.3.0 1:4.3 + __fractqqsf@GCC_4.3.0 1:4.3 + __fractqqsi@GCC_4.3.0 1:4.3 + __fractqqsq2@GCC_4.3.0 1:4.3 + __fractqquda@GCC_4.3.0 1:4.3 + __fractqqudq@GCC_4.3.0 1:4.3 + __fractqquha@GCC_4.3.0 1:4.3 + __fractqquhq@GCC_4.3.0 1:4.3 + __fractqquqq@GCC_4.3.0 1:4.3 + __fractqqusa@GCC_4.3.0 1:4.3 + __fractqqusq@GCC_4.3.0 1:4.3 + __fractsada2@GCC_4.3.0 1:4.3 + __fractsadf@GCC_4.3.0 1:4.3 + __fractsadi@GCC_4.3.0 1:4.3 + __fractsadq@GCC_4.3.0 1:4.3 + __fractsaha2@GCC_4.3.0 1:4.3 + __fractsahi@GCC_4.3.0 1:4.3 + __fractsahq@GCC_4.3.0 1:4.3 + __fractsaqi@GCC_4.3.0 1:4.3 + __fractsaqq@GCC_4.3.0 1:4.3 + __fractsasf@GCC_4.3.0 1:4.3 + __fractsasi@GCC_4.3.0 1:4.3 + __fractsasq@GCC_4.3.0 1:4.3 + __fractsauda@GCC_4.3.0 1:4.3 + __fractsaudq@GCC_4.3.0 1:4.3 + __fractsauha@GCC_4.3.0 1:4.3 + __fractsauhq@GCC_4.3.0 1:4.3 + __fractsauqq@GCC_4.3.0 1:4.3 + __fractsausa@GCC_4.3.0 1:4.3 + __fractsausq@GCC_4.3.0 1:4.3 + __fractsfda@GCC_4.3.0 1:4.3 + __fractsfdq@GCC_4.3.0 1:4.3 + __fractsfha@GCC_4.3.0 1:4.3 + __fractsfhq@GCC_4.3.0 1:4.3 + __fractsfqq@GCC_4.3.0 1:4.3 + __fractsfsa@GCC_4.3.0 1:4.3 + __fractsfsq@GCC_4.3.0 1:4.3 + __fractsfuda@GCC_4.3.0 1:4.3 + __fractsfudq@GCC_4.3.0 1:4.3 + __fractsfuha@GCC_4.3.0 1:4.3 + __fractsfuhq@GCC_4.3.0 1:4.3 + __fractsfuqq@GCC_4.3.0 1:4.3 + __fractsfusa@GCC_4.3.0 1:4.3 + __fractsfusq@GCC_4.3.0 1:4.3 + __fractsida@GCC_4.3.0 1:4.3 + __fractsidq@GCC_4.3.0 1:4.3 + __fractsiha@GCC_4.3.0 1:4.3 + __fractsihq@GCC_4.3.0 1:4.3 + __fractsiqq@GCC_4.3.0 1:4.3 + __fractsisa@GCC_4.3.0 1:4.3 + __fractsisq@GCC_4.3.0 1:4.3 + __fractsiuda@GCC_4.3.0 1:4.3 + __fractsiudq@GCC_4.3.0 1:4.3 + __fractsiuha@GCC_4.3.0 1:4.3 + __fractsiuhq@GCC_4.3.0 1:4.3 + __fractsiuqq@GCC_4.3.0 1:4.3 + __fractsiusa@GCC_4.3.0 1:4.3 + __fractsiusq@GCC_4.3.0 1:4.3 + __fractsqda@GCC_4.3.0 1:4.3 + __fractsqdf@GCC_4.3.0 1:4.3 + __fractsqdi@GCC_4.3.0 1:4.3 + __fractsqdq2@GCC_4.3.0 1:4.3 + __fractsqha@GCC_4.3.0 1:4.3 + __fractsqhi@GCC_4.3.0 1:4.3 + __fractsqhq2@GCC_4.3.0 1:4.3 + __fractsqqi@GCC_4.3.0 1:4.3 + __fractsqqq2@GCC_4.3.0 1:4.3 + __fractsqsa@GCC_4.3.0 1:4.3 + __fractsqsf@GCC_4.3.0 1:4.3 + __fractsqsi@GCC_4.3.0 1:4.3 + __fractsquda@GCC_4.3.0 1:4.3 + __fractsqudq@GCC_4.3.0 1:4.3 + __fractsquha@GCC_4.3.0 1:4.3 + __fractsquhq@GCC_4.3.0 1:4.3 + __fractsquqq@GCC_4.3.0 1:4.3 + __fractsqusa@GCC_4.3.0 1:4.3 + __fractsqusq@GCC_4.3.0 1:4.3 + __fractudada@GCC_4.3.0 1:4.3 + __fractudadf@GCC_4.3.0 1:4.3 + __fractudadi@GCC_4.3.0 1:4.3 + __fractudadq@GCC_4.3.0 1:4.3 + __fractudaha@GCC_4.3.0 1:4.3 + __fractudahi@GCC_4.3.0 1:4.3 + __fractudahq@GCC_4.3.0 1:4.3 + __fractudaqi@GCC_4.3.0 1:4.3 + __fractudaqq@GCC_4.3.0 1:4.3 + __fractudasa@GCC_4.3.0 1:4.3 + __fractudasf@GCC_4.3.0 1:4.3 + __fractudasi@GCC_4.3.0 1:4.3 + __fractudasq@GCC_4.3.0 1:4.3 + __fractudaudq@GCC_4.3.0 1:4.3 + __fractudauha2@GCC_4.3.0 1:4.3 + __fractudauhq@GCC_4.3.0 1:4.3 + __fractudauqq@GCC_4.3.0 1:4.3 + __fractudausa2@GCC_4.3.0 1:4.3 + __fractudausq@GCC_4.3.0 1:4.3 + __fractudqda@GCC_4.3.0 1:4.3 + __fractudqdf@GCC_4.3.0 1:4.3 + __fractudqdi@GCC_4.3.0 1:4.3 + __fractudqdq@GCC_4.3.0 1:4.3 + __fractudqha@GCC_4.3.0 1:4.3 + __fractudqhi@GCC_4.3.0 1:4.3 + __fractudqhq@GCC_4.3.0 1:4.3 + __fractudqqi@GCC_4.3.0 1:4.3 + __fractudqqq@GCC_4.3.0 1:4.3 + __fractudqsa@GCC_4.3.0 1:4.3 + __fractudqsf@GCC_4.3.0 1:4.3 + __fractudqsi@GCC_4.3.0 1:4.3 + __fractudqsq@GCC_4.3.0 1:4.3 + __fractudquda@GCC_4.3.0 1:4.3 + __fractudquha@GCC_4.3.0 1:4.3 + __fractudquhq2@GCC_4.3.0 1:4.3 + __fractudquqq2@GCC_4.3.0 1:4.3 + __fractudqusa@GCC_4.3.0 1:4.3 + __fractudqusq2@GCC_4.3.0 1:4.3 + __fractuhada@GCC_4.3.0 1:4.3 + __fractuhadf@GCC_4.3.0 1:4.3 + __fractuhadi@GCC_4.3.0 1:4.3 + __fractuhadq@GCC_4.3.0 1:4.3 + __fractuhaha@GCC_4.3.0 1:4.3 + __fractuhahi@GCC_4.3.0 1:4.3 + __fractuhahq@GCC_4.3.0 1:4.3 + __fractuhaqi@GCC_4.3.0 1:4.3 + __fractuhaqq@GCC_4.3.0 1:4.3 + __fractuhasa@GCC_4.3.0 1:4.3 + __fractuhasf@GCC_4.3.0 1:4.3 + __fractuhasi@GCC_4.3.0 1:4.3 + __fractuhasq@GCC_4.3.0 1:4.3 + __fractuhauda2@GCC_4.3.0 1:4.3 + __fractuhaudq@GCC_4.3.0 1:4.3 + __fractuhauhq@GCC_4.3.0 1:4.3 + __fractuhauqq@GCC_4.3.0 1:4.3 + __fractuhausa2@GCC_4.3.0 1:4.3 + __fractuhausq@GCC_4.3.0 1:4.3 + __fractuhqda@GCC_4.3.0 1:4.3 + __fractuhqdf@GCC_4.3.0 1:4.3 + __fractuhqdi@GCC_4.3.0 1:4.3 + __fractuhqdq@GCC_4.3.0 1:4.3 + __fractuhqha@GCC_4.3.0 1:4.3 + __fractuhqhi@GCC_4.3.0 1:4.3 + __fractuhqhq@GCC_4.3.0 1:4.3 + __fractuhqqi@GCC_4.3.0 1:4.3 + __fractuhqqq@GCC_4.3.0 1:4.3 + __fractuhqsa@GCC_4.3.0 1:4.3 + __fractuhqsf@GCC_4.3.0 1:4.3 + __fractuhqsi@GCC_4.3.0 1:4.3 + __fractuhqsq@GCC_4.3.0 1:4.3 + __fractuhquda@GCC_4.3.0 1:4.3 + __fractuhqudq2@GCC_4.3.0 1:4.3 + __fractuhquha@GCC_4.3.0 1:4.3 + __fractuhquqq2@GCC_4.3.0 1:4.3 + __fractuhqusa@GCC_4.3.0 1:4.3 + __fractuhqusq2@GCC_4.3.0 1:4.3 + __fractunsdadi@GCC_4.3.0 1:4.3 + __fractunsdahi@GCC_4.3.0 1:4.3 + __fractunsdaqi@GCC_4.3.0 1:4.3 + __fractunsdasi@GCC_4.3.0 1:4.3 + __fractunsdida@GCC_4.3.0 1:4.3 + __fractunsdidq@GCC_4.3.0 1:4.3 + __fractunsdiha@GCC_4.3.0 1:4.3 + __fractunsdihq@GCC_4.3.0 1:4.3 + __fractunsdiqq@GCC_4.3.0 1:4.3 + __fractunsdisa@GCC_4.3.0 1:4.3 + __fractunsdisq@GCC_4.3.0 1:4.3 + __fractunsdiuda@GCC_4.3.0 1:4.3 + __fractunsdiudq@GCC_4.3.0 1:4.3 + __fractunsdiuha@GCC_4.3.0 1:4.3 + __fractunsdiuhq@GCC_4.3.0 1:4.3 + __fractunsdiuqq@GCC_4.3.0 1:4.3 + __fractunsdiusa@GCC_4.3.0 1:4.3 + __fractunsdiusq@GCC_4.3.0 1:4.3 + __fractunsdqdi@GCC_4.3.0 1:4.3 + __fractunsdqhi@GCC_4.3.0 1:4.3 + __fractunsdqqi@GCC_4.3.0 1:4.3 + __fractunsdqsi@GCC_4.3.0 1:4.3 + __fractunshadi@GCC_4.3.0 1:4.3 + __fractunshahi@GCC_4.3.0 1:4.3 + __fractunshaqi@GCC_4.3.0 1:4.3 + __fractunshasi@GCC_4.3.0 1:4.3 + __fractunshida@GCC_4.3.0 1:4.3 + __fractunshidq@GCC_4.3.0 1:4.3 + __fractunshiha@GCC_4.3.0 1:4.3 + __fractunshihq@GCC_4.3.0 1:4.3 + __fractunshiqq@GCC_4.3.0 1:4.3 + __fractunshisa@GCC_4.3.0 1:4.3 + __fractunshisq@GCC_4.3.0 1:4.3 + __fractunshiuda@GCC_4.3.0 1:4.3 + __fractunshiudq@GCC_4.3.0 1:4.3 + __fractunshiuha@GCC_4.3.0 1:4.3 + __fractunshiuhq@GCC_4.3.0 1:4.3 + __fractunshiuqq@GCC_4.3.0 1:4.3 + __fractunshiusa@GCC_4.3.0 1:4.3 + __fractunshiusq@GCC_4.3.0 1:4.3 + __fractunshqdi@GCC_4.3.0 1:4.3 + __fractunshqhi@GCC_4.3.0 1:4.3 + __fractunshqqi@GCC_4.3.0 1:4.3 + __fractunshqsi@GCC_4.3.0 1:4.3 + __fractunsqida@GCC_4.3.0 1:4.3 + __fractunsqidq@GCC_4.3.0 1:4.3 + __fractunsqiha@GCC_4.3.0 1:4.3 + __fractunsqihq@GCC_4.3.0 1:4.3 + __fractunsqiqq@GCC_4.3.0 1:4.3 + __fractunsqisa@GCC_4.3.0 1:4.3 + __fractunsqisq@GCC_4.3.0 1:4.3 + __fractunsqiuda@GCC_4.3.0 1:4.3 + __fractunsqiudq@GCC_4.3.0 1:4.3 + __fractunsqiuha@GCC_4.3.0 1:4.3 + __fractunsqiuhq@GCC_4.3.0 1:4.3 + __fractunsqiuqq@GCC_4.3.0 1:4.3 + __fractunsqiusa@GCC_4.3.0 1:4.3 + __fractunsqiusq@GCC_4.3.0 1:4.3 + __fractunsqqdi@GCC_4.3.0 1:4.3 + __fractunsqqhi@GCC_4.3.0 1:4.3 + __fractunsqqqi@GCC_4.3.0 1:4.3 + __fractunsqqsi@GCC_4.3.0 1:4.3 + __fractunssadi@GCC_4.3.0 1:4.3 + __fractunssahi@GCC_4.3.0 1:4.3 + __fractunssaqi@GCC_4.3.0 1:4.3 + __fractunssasi@GCC_4.3.0 1:4.3 + __fractunssida@GCC_4.3.0 1:4.3 + __fractunssidq@GCC_4.3.0 1:4.3 + __fractunssiha@GCC_4.3.0 1:4.3 + __fractunssihq@GCC_4.3.0 1:4.3 + __fractunssiqq@GCC_4.3.0 1:4.3 + __fractunssisa@GCC_4.3.0 1:4.3 + __fractunssisq@GCC_4.3.0 1:4.3 + __fractunssiuda@GCC_4.3.0 1:4.3 + __fractunssiudq@GCC_4.3.0 1:4.3 + __fractunssiuha@GCC_4.3.0 1:4.3 + __fractunssiuhq@GCC_4.3.0 1:4.3 + __fractunssiuqq@GCC_4.3.0 1:4.3 + __fractunssiusa@GCC_4.3.0 1:4.3 + __fractunssiusq@GCC_4.3.0 1:4.3 + __fractunssqdi@GCC_4.3.0 1:4.3 + __fractunssqhi@GCC_4.3.0 1:4.3 + __fractunssqqi@GCC_4.3.0 1:4.3 + __fractunssqsi@GCC_4.3.0 1:4.3 + __fractunsudadi@GCC_4.3.0 1:4.3 + __fractunsudahi@GCC_4.3.0 1:4.3 + __fractunsudaqi@GCC_4.3.0 1:4.3 + __fractunsudasi@GCC_4.3.0 1:4.3 + __fractunsudqdi@GCC_4.3.0 1:4.3 + __fractunsudqhi@GCC_4.3.0 1:4.3 + __fractunsudqqi@GCC_4.3.0 1:4.3 + __fractunsudqsi@GCC_4.3.0 1:4.3 + __fractunsuhadi@GCC_4.3.0 1:4.3 + __fractunsuhahi@GCC_4.3.0 1:4.3 + __fractunsuhaqi@GCC_4.3.0 1:4.3 + __fractunsuhasi@GCC_4.3.0 1:4.3 + __fractunsuhqdi@GCC_4.3.0 1:4.3 + __fractunsuhqhi@GCC_4.3.0 1:4.3 + __fractunsuhqqi@GCC_4.3.0 1:4.3 + __fractunsuhqsi@GCC_4.3.0 1:4.3 + __fractunsuqqdi@GCC_4.3.0 1:4.3 + __fractunsuqqhi@GCC_4.3.0 1:4.3 + __fractunsuqqqi@GCC_4.3.0 1:4.3 + __fractunsuqqsi@GCC_4.3.0 1:4.3 + __fractunsusadi@GCC_4.3.0 1:4.3 + __fractunsusahi@GCC_4.3.0 1:4.3 + __fractunsusaqi@GCC_4.3.0 1:4.3 + __fractunsusasi@GCC_4.3.0 1:4.3 + __fractunsusqdi@GCC_4.3.0 1:4.3 + __fractunsusqhi@GCC_4.3.0 1:4.3 + __fractunsusqqi@GCC_4.3.0 1:4.3 + __fractunsusqsi@GCC_4.3.0 1:4.3 + __fractuqqda@GCC_4.3.0 1:4.3 + __fractuqqdf@GCC_4.3.0 1:4.3 + __fractuqqdi@GCC_4.3.0 1:4.3 + __fractuqqdq@GCC_4.3.0 1:4.3 + __fractuqqha@GCC_4.3.0 1:4.3 + __fractuqqhi@GCC_4.3.0 1:4.3 + __fractuqqhq@GCC_4.3.0 1:4.3 + __fractuqqqi@GCC_4.3.0 1:4.3 + __fractuqqqq@GCC_4.3.0 1:4.3 + __fractuqqsa@GCC_4.3.0 1:4.3 + __fractuqqsf@GCC_4.3.0 1:4.3 + __fractuqqsi@GCC_4.3.0 1:4.3 + __fractuqqsq@GCC_4.3.0 1:4.3 + __fractuqquda@GCC_4.3.0 1:4.3 + __fractuqqudq2@GCC_4.3.0 1:4.3 + __fractuqquha@GCC_4.3.0 1:4.3 + __fractuqquhq2@GCC_4.3.0 1:4.3 + __fractuqqusa@GCC_4.3.0 1:4.3 + __fractuqqusq2@GCC_4.3.0 1:4.3 + __fractusada@GCC_4.3.0 1:4.3 + __fractusadf@GCC_4.3.0 1:4.3 + __fractusadi@GCC_4.3.0 1:4.3 + __fractusadq@GCC_4.3.0 1:4.3 + __fractusaha@GCC_4.3.0 1:4.3 + __fractusahi@GCC_4.3.0 1:4.3 + __fractusahq@GCC_4.3.0 1:4.3 + __fractusaqi@GCC_4.3.0 1:4.3 + __fractusaqq@GCC_4.3.0 1:4.3 + __fractusasa@GCC_4.3.0 1:4.3 + __fractusasf@GCC_4.3.0 1:4.3 + __fractusasi@GCC_4.3.0 1:4.3 + __fractusasq@GCC_4.3.0 1:4.3 + __fractusauda2@GCC_4.3.0 1:4.3 + __fractusaudq@GCC_4.3.0 1:4.3 + __fractusauha2@GCC_4.3.0 1:4.3 + __fractusauhq@GCC_4.3.0 1:4.3 + __fractusauqq@GCC_4.3.0 1:4.3 + __fractusausq@GCC_4.3.0 1:4.3 + __fractusqda@GCC_4.3.0 1:4.3 + __fractusqdf@GCC_4.3.0 1:4.3 + __fractusqdi@GCC_4.3.0 1:4.3 + __fractusqdq@GCC_4.3.0 1:4.3 + __fractusqha@GCC_4.3.0 1:4.3 + __fractusqhi@GCC_4.3.0 1:4.3 + __fractusqhq@GCC_4.3.0 1:4.3 + __fractusqqi@GCC_4.3.0 1:4.3 + __fractusqqq@GCC_4.3.0 1:4.3 + __fractusqsa@GCC_4.3.0 1:4.3 + __fractusqsf@GCC_4.3.0 1:4.3 + __fractusqsi@GCC_4.3.0 1:4.3 + __fractusqsq@GCC_4.3.0 1:4.3 + __fractusquda@GCC_4.3.0 1:4.3 + __fractusqudq2@GCC_4.3.0 1:4.3 + __fractusquha@GCC_4.3.0 1:4.3 + __fractusquhq2@GCC_4.3.0 1:4.3 + __fractusquqq2@GCC_4.3.0 1:4.3 + __fractusqusa@GCC_4.3.0 1:4.3 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __gedf2@GCC_3.0 1:4.1.1 + __gesf2@GCC_3.0 1:4.1.1 + __gtdf2@GCC_3.0 1:4.1.1 + __gtsf2@GCC_3.0 1:4.1.1 + __ledf2@GCC_3.0 1:4.1.1 + __lesf2@GCC_3.0 1:4.1.1 + __lshrdi3@GCC_3.0 1:4.1.1 + __lshruda3@GCC_4.3.0 1:4.3 + __lshrudq3@GCC_4.3.0 1:4.3 + __lshruha3@GCC_4.3.0 1:4.3 + __lshruhq3@GCC_4.3.0 1:4.3 + __lshruqq3@GCC_4.3.0 1:4.3 + __lshrusa3@GCC_4.3.0 1:4.3 + __lshrusq3@GCC_4.3.0 1:4.3 + __ltdf2@GCC_3.0 1:4.1.1 + __ltsf2@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __mulda3@GCC_4.3.0 1:4.3 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldf3@GCC_3.0 1:4.1.1 + __muldi3@GCC_3.0 1:4.1.1 + __muldq3@GCC_4.3.0 1:4.3 + __mulha3@GCC_4.3.0 1:4.3 + __mulhq3@GCC_4.3.0 1:4.3 + __mulqq3@GCC_4.3.0 1:4.3 + __mulsa3@GCC_4.3.0 1:4.3 + __mulsc3@GCC_4.0.0 1:4.1.1 + __mulsf3@GCC_3.0 1:4.1.1 + __mulsq3@GCC_4.3.0 1:4.3 + __muluda3@GCC_4.3.0 1:4.3 + __muludq3@GCC_4.3.0 1:4.3 + __muluha3@GCC_4.3.0 1:4.3 + __muluhq3@GCC_4.3.0 1:4.3 + __muluqq3@GCC_4.3.0 1:4.3 + __mulusa3@GCC_4.3.0 1:4.3 + __mulusq3@GCC_4.3.0 1:4.3 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __nedf2@GCC_3.0 1:4.1.1 + __negda2@GCC_4.3.0 1:4.3 + __negdf2@GCC_3.0 1:4.1.1 + __negdi2@GCC_3.0 1:4.1.1 + __negdq2@GCC_4.3.0 1:4.3 + __negha2@GCC_4.3.0 1:4.3 + __neghq2@GCC_4.3.0 1:4.3 + __negqq2@GCC_4.3.0 1:4.3 + __negsa2@GCC_4.3.0 1:4.3 + __negsf2@GCC_3.0 1:4.1.1 + __negsq2@GCC_4.3.0 1:4.3 + __neguda2@GCC_4.3.0 1:4.3 + __negudq2@GCC_4.3.0 1:4.3 + __neguha2@GCC_4.3.0 1:4.3 + __neguhq2@GCC_4.3.0 1:4.3 + __neguqq2@GCC_4.3.0 1:4.3 + __negusa2@GCC_4.3.0 1:4.3 + __negusq2@GCC_4.3.0 1:4.3 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __nesf2@GCC_3.0 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __paritysi2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountsi2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __satfractdadq@GCC_4.3.0 1:4.3 + __satfractdaha2@GCC_4.3.0 1:4.3 + __satfractdahq@GCC_4.3.0 1:4.3 + __satfractdaqq@GCC_4.3.0 1:4.3 + __satfractdasa2@GCC_4.3.0 1:4.3 + __satfractdasq@GCC_4.3.0 1:4.3 + __satfractdauda@GCC_4.3.0 1:4.3 + __satfractdaudq@GCC_4.3.0 1:4.3 + __satfractdauha@GCC_4.3.0 1:4.3 + __satfractdauhq@GCC_4.3.0 1:4.3 + __satfractdauqq@GCC_4.3.0 1:4.3 + __satfractdausa@GCC_4.3.0 1:4.3 + __satfractdausq@GCC_4.3.0 1:4.3 + __satfractdfda@GCC_4.3.0 1:4.3 + __satfractdfdq@GCC_4.3.0 1:4.3 + __satfractdfha@GCC_4.3.0 1:4.3 + __satfractdfhq@GCC_4.3.0 1:4.3 + __satfractdfqq@GCC_4.3.0 1:4.3 + __satfractdfsa@GCC_4.3.0 1:4.3 + __satfractdfsq@GCC_4.3.0 1:4.3 + __satfractdfuda@GCC_4.3.0 1:4.3 + __satfractdfudq@GCC_4.3.0 1:4.3 + __satfractdfuha@GCC_4.3.0 1:4.3 + __satfractdfuhq@GCC_4.3.0 1:4.3 + __satfractdfuqq@GCC_4.3.0 1:4.3 + __satfractdfusa@GCC_4.3.0 1:4.3 + __satfractdfusq@GCC_4.3.0 1:4.3 + __satfractdida@GCC_4.3.0 1:4.3 + __satfractdidq@GCC_4.3.0 1:4.3 + __satfractdiha@GCC_4.3.0 1:4.3 + __satfractdihq@GCC_4.3.0 1:4.3 + __satfractdiqq@GCC_4.3.0 1:4.3 + __satfractdisa@GCC_4.3.0 1:4.3 + __satfractdisq@GCC_4.3.0 1:4.3 + __satfractdiuda@GCC_4.3.0 1:4.3 + __satfractdiudq@GCC_4.3.0 1:4.3 + __satfractdiuha@GCC_4.3.0 1:4.3 + __satfractdiuhq@GCC_4.3.0 1:4.3 + __satfractdiuqq@GCC_4.3.0 1:4.3 + __satfractdiusa@GCC_4.3.0 1:4.3 + __satfractdiusq@GCC_4.3.0 1:4.3 + __satfractdqda@GCC_4.3.0 1:4.3 + __satfractdqha@GCC_4.3.0 1:4.3 + __satfractdqhq2@GCC_4.3.0 1:4.3 + __satfractdqqq2@GCC_4.3.0 1:4.3 + __satfractdqsa@GCC_4.3.0 1:4.3 + __satfractdqsq2@GCC_4.3.0 1:4.3 + __satfractdquda@GCC_4.3.0 1:4.3 + __satfractdqudq@GCC_4.3.0 1:4.3 + __satfractdquha@GCC_4.3.0 1:4.3 + __satfractdquhq@GCC_4.3.0 1:4.3 + __satfractdquqq@GCC_4.3.0 1:4.3 + __satfractdqusa@GCC_4.3.0 1:4.3 + __satfractdqusq@GCC_4.3.0 1:4.3 + __satfracthada2@GCC_4.3.0 1:4.3 + __satfracthadq@GCC_4.3.0 1:4.3 + __satfracthahq@GCC_4.3.0 1:4.3 + __satfracthaqq@GCC_4.3.0 1:4.3 + __satfracthasa2@GCC_4.3.0 1:4.3 + __satfracthasq@GCC_4.3.0 1:4.3 + __satfracthauda@GCC_4.3.0 1:4.3 + __satfracthaudq@GCC_4.3.0 1:4.3 + __satfracthauha@GCC_4.3.0 1:4.3 + __satfracthauhq@GCC_4.3.0 1:4.3 + __satfracthauqq@GCC_4.3.0 1:4.3 + __satfracthausa@GCC_4.3.0 1:4.3 + __satfracthausq@GCC_4.3.0 1:4.3 + __satfracthida@GCC_4.3.0 1:4.3 + __satfracthidq@GCC_4.3.0 1:4.3 + __satfracthiha@GCC_4.3.0 1:4.3 + __satfracthihq@GCC_4.3.0 1:4.3 + __satfracthiqq@GCC_4.3.0 1:4.3 + __satfracthisa@GCC_4.3.0 1:4.3 + __satfracthisq@GCC_4.3.0 1:4.3 + __satfracthiuda@GCC_4.3.0 1:4.3 + __satfracthiudq@GCC_4.3.0 1:4.3 + __satfracthiuha@GCC_4.3.0 1:4.3 + __satfracthiuhq@GCC_4.3.0 1:4.3 + __satfracthiuqq@GCC_4.3.0 1:4.3 + __satfracthiusa@GCC_4.3.0 1:4.3 + __satfracthiusq@GCC_4.3.0 1:4.3 + __satfracthqda@GCC_4.3.0 1:4.3 + __satfracthqdq2@GCC_4.3.0 1:4.3 + __satfracthqha@GCC_4.3.0 1:4.3 + __satfracthqqq2@GCC_4.3.0 1:4.3 + __satfracthqsa@GCC_4.3.0 1:4.3 + __satfracthqsq2@GCC_4.3.0 1:4.3 + __satfracthquda@GCC_4.3.0 1:4.3 + __satfracthqudq@GCC_4.3.0 1:4.3 + __satfracthquha@GCC_4.3.0 1:4.3 + __satfracthquhq@GCC_4.3.0 1:4.3 + __satfracthquqq@GCC_4.3.0 1:4.3 + __satfracthqusa@GCC_4.3.0 1:4.3 + __satfracthqusq@GCC_4.3.0 1:4.3 + __satfractqida@GCC_4.3.0 1:4.3 + __satfractqidq@GCC_4.3.0 1:4.3 + __satfractqiha@GCC_4.3.0 1:4.3 + __satfractqihq@GCC_4.3.0 1:4.3 + __satfractqiqq@GCC_4.3.0 1:4.3 + __satfractqisa@GCC_4.3.0 1:4.3 + __satfractqisq@GCC_4.3.0 1:4.3 + __satfractqiuda@GCC_4.3.0 1:4.3 + __satfractqiudq@GCC_4.3.0 1:4.3 + __satfractqiuha@GCC_4.3.0 1:4.3 + __satfractqiuhq@GCC_4.3.0 1:4.3 + __satfractqiuqq@GCC_4.3.0 1:4.3 + __satfractqiusa@GCC_4.3.0 1:4.3 + __satfractqiusq@GCC_4.3.0 1:4.3 + __satfractqqda@GCC_4.3.0 1:4.3 + __satfractqqdq2@GCC_4.3.0 1:4.3 + __satfractqqha@GCC_4.3.0 1:4.3 + __satfractqqhq2@GCC_4.3.0 1:4.3 + __satfractqqsa@GCC_4.3.0 1:4.3 + __satfractqqsq2@GCC_4.3.0 1:4.3 + __satfractqquda@GCC_4.3.0 1:4.3 + __satfractqqudq@GCC_4.3.0 1:4.3 + __satfractqquha@GCC_4.3.0 1:4.3 + __satfractqquhq@GCC_4.3.0 1:4.3 + __satfractqquqq@GCC_4.3.0 1:4.3 + __satfractqqusa@GCC_4.3.0 1:4.3 + __satfractqqusq@GCC_4.3.0 1:4.3 + __satfractsada2@GCC_4.3.0 1:4.3 + __satfractsadq@GCC_4.3.0 1:4.3 + __satfractsaha2@GCC_4.3.0 1:4.3 + __satfractsahq@GCC_4.3.0 1:4.3 + __satfractsaqq@GCC_4.3.0 1:4.3 + __satfractsasq@GCC_4.3.0 1:4.3 + __satfractsauda@GCC_4.3.0 1:4.3 + __satfractsaudq@GCC_4.3.0 1:4.3 + __satfractsauha@GCC_4.3.0 1:4.3 + __satfractsauhq@GCC_4.3.0 1:4.3 + __satfractsauqq@GCC_4.3.0 1:4.3 + __satfractsausa@GCC_4.3.0 1:4.3 + __satfractsausq@GCC_4.3.0 1:4.3 + __satfractsfda@GCC_4.3.0 1:4.3 + __satfractsfdq@GCC_4.3.0 1:4.3 + __satfractsfha@GCC_4.3.0 1:4.3 + __satfractsfhq@GCC_4.3.0 1:4.3 + __satfractsfqq@GCC_4.3.0 1:4.3 + __satfractsfsa@GCC_4.3.0 1:4.3 + __satfractsfsq@GCC_4.3.0 1:4.3 + __satfractsfuda@GCC_4.3.0 1:4.3 + __satfractsfudq@GCC_4.3.0 1:4.3 + __satfractsfuha@GCC_4.3.0 1:4.3 + __satfractsfuhq@GCC_4.3.0 1:4.3 + __satfractsfuqq@GCC_4.3.0 1:4.3 + __satfractsfusa@GCC_4.3.0 1:4.3 + __satfractsfusq@GCC_4.3.0 1:4.3 + __satfractsida@GCC_4.3.0 1:4.3 + __satfractsidq@GCC_4.3.0 1:4.3 + __satfractsiha@GCC_4.3.0 1:4.3 + __satfractsihq@GCC_4.3.0 1:4.3 + __satfractsiqq@GCC_4.3.0 1:4.3 + __satfractsisa@GCC_4.3.0 1:4.3 + __satfractsisq@GCC_4.3.0 1:4.3 + __satfractsiuda@GCC_4.3.0 1:4.3 + __satfractsiudq@GCC_4.3.0 1:4.3 + __satfractsiuha@GCC_4.3.0 1:4.3 + __satfractsiuhq@GCC_4.3.0 1:4.3 + __satfractsiuqq@GCC_4.3.0 1:4.3 + __satfractsiusa@GCC_4.3.0 1:4.3 + __satfractsiusq@GCC_4.3.0 1:4.3 + __satfractsqda@GCC_4.3.0 1:4.3 + __satfractsqdq2@GCC_4.3.0 1:4.3 + __satfractsqha@GCC_4.3.0 1:4.3 + __satfractsqhq2@GCC_4.3.0 1:4.3 + __satfractsqqq2@GCC_4.3.0 1:4.3 + __satfractsqsa@GCC_4.3.0 1:4.3 + __satfractsquda@GCC_4.3.0 1:4.3 + __satfractsqudq@GCC_4.3.0 1:4.3 + __satfractsquha@GCC_4.3.0 1:4.3 + __satfractsquhq@GCC_4.3.0 1:4.3 + __satfractsquqq@GCC_4.3.0 1:4.3 + __satfractsqusa@GCC_4.3.0 1:4.3 + __satfractsqusq@GCC_4.3.0 1:4.3 + __satfractudada@GCC_4.3.0 1:4.3 + __satfractudadq@GCC_4.3.0 1:4.3 + __satfractudaha@GCC_4.3.0 1:4.3 + __satfractudahq@GCC_4.3.0 1:4.3 + __satfractudaqq@GCC_4.3.0 1:4.3 + __satfractudasa@GCC_4.3.0 1:4.3 + __satfractudasq@GCC_4.3.0 1:4.3 + __satfractudaudq@GCC_4.3.0 1:4.3 + __satfractudauha2@GCC_4.3.0 1:4.3 + __satfractudauhq@GCC_4.3.0 1:4.3 + __satfractudauqq@GCC_4.3.0 1:4.3 + __satfractudausa2@GCC_4.3.0 1:4.3 + __satfractudausq@GCC_4.3.0 1:4.3 + __satfractudqda@GCC_4.3.0 1:4.3 + __satfractudqdq@GCC_4.3.0 1:4.3 + __satfractudqha@GCC_4.3.0 1:4.3 + __satfractudqhq@GCC_4.3.0 1:4.3 + __satfractudqqq@GCC_4.3.0 1:4.3 + __satfractudqsa@GCC_4.3.0 1:4.3 + __satfractudqsq@GCC_4.3.0 1:4.3 + __satfractudquda@GCC_4.3.0 1:4.3 + __satfractudquha@GCC_4.3.0 1:4.3 + __satfractudquhq2@GCC_4.3.0 1:4.3 + __satfractudquqq2@GCC_4.3.0 1:4.3 + __satfractudqusa@GCC_4.3.0 1:4.3 + __satfractudqusq2@GCC_4.3.0 1:4.3 + __satfractuhada@GCC_4.3.0 1:4.3 + __satfractuhadq@GCC_4.3.0 1:4.3 + __satfractuhaha@GCC_4.3.0 1:4.3 + __satfractuhahq@GCC_4.3.0 1:4.3 + __satfractuhaqq@GCC_4.3.0 1:4.3 + __satfractuhasa@GCC_4.3.0 1:4.3 + __satfractuhasq@GCC_4.3.0 1:4.3 + __satfractuhauda2@GCC_4.3.0 1:4.3 + __satfractuhaudq@GCC_4.3.0 1:4.3 + __satfractuhauhq@GCC_4.3.0 1:4.3 + __satfractuhauqq@GCC_4.3.0 1:4.3 + __satfractuhausa2@GCC_4.3.0 1:4.3 + __satfractuhausq@GCC_4.3.0 1:4.3 + __satfractuhqda@GCC_4.3.0 1:4.3 + __satfractuhqdq@GCC_4.3.0 1:4.3 + __satfractuhqha@GCC_4.3.0 1:4.3 + __satfractuhqhq@GCC_4.3.0 1:4.3 + __satfractuhqqq@GCC_4.3.0 1:4.3 + __satfractuhqsa@GCC_4.3.0 1:4.3 + __satfractuhqsq@GCC_4.3.0 1:4.3 + __satfractuhquda@GCC_4.3.0 1:4.3 + __satfractuhqudq2@GCC_4.3.0 1:4.3 + __satfractuhquha@GCC_4.3.0 1:4.3 + __satfractuhquqq2@GCC_4.3.0 1:4.3 + __satfractuhqusa@GCC_4.3.0 1:4.3 + __satfractuhqusq2@GCC_4.3.0 1:4.3 + __satfractunsdida@GCC_4.3.0 1:4.3 + __satfractunsdidq@GCC_4.3.0 1:4.3 + __satfractunsdiha@GCC_4.3.0 1:4.3 + __satfractunsdihq@GCC_4.3.0 1:4.3 + __satfractunsdiqq@GCC_4.3.0 1:4.3 + __satfractunsdisa@GCC_4.3.0 1:4.3 + __satfractunsdisq@GCC_4.3.0 1:4.3 + __satfractunsdiuda@GCC_4.3.0 1:4.3 + __satfractunsdiudq@GCC_4.3.0 1:4.3 + __satfractunsdiuha@GCC_4.3.0 1:4.3 + __satfractunsdiuhq@GCC_4.3.0 1:4.3 + __satfractunsdiuqq@GCC_4.3.0 1:4.3 + __satfractunsdiusa@GCC_4.3.0 1:4.3 + __satfractunsdiusq@GCC_4.3.0 1:4.3 + __satfractunshida@GCC_4.3.0 1:4.3 + __satfractunshidq@GCC_4.3.0 1:4.3 + __satfractunshiha@GCC_4.3.0 1:4.3 + __satfractunshihq@GCC_4.3.0 1:4.3 + __satfractunshiqq@GCC_4.3.0 1:4.3 + __satfractunshisa@GCC_4.3.0 1:4.3 + __satfractunshisq@GCC_4.3.0 1:4.3 + __satfractunshiuda@GCC_4.3.0 1:4.3 + __satfractunshiudq@GCC_4.3.0 1:4.3 + __satfractunshiuha@GCC_4.3.0 1:4.3 + __satfractunshiuhq@GCC_4.3.0 1:4.3 + __satfractunshiuqq@GCC_4.3.0 1:4.3 + __satfractunshiusa@GCC_4.3.0 1:4.3 + __satfractunshiusq@GCC_4.3.0 1:4.3 + __satfractunsqida@GCC_4.3.0 1:4.3 + __satfractunsqidq@GCC_4.3.0 1:4.3 + __satfractunsqiha@GCC_4.3.0 1:4.3 + __satfractunsqihq@GCC_4.3.0 1:4.3 + __satfractunsqiqq@GCC_4.3.0 1:4.3 + __satfractunsqisa@GCC_4.3.0 1:4.3 + __satfractunsqisq@GCC_4.3.0 1:4.3 + __satfractunsqiuda@GCC_4.3.0 1:4.3 + __satfractunsqiudq@GCC_4.3.0 1:4.3 + __satfractunsqiuha@GCC_4.3.0 1:4.3 + __satfractunsqiuhq@GCC_4.3.0 1:4.3 + __satfractunsqiuqq@GCC_4.3.0 1:4.3 + __satfractunsqiusa@GCC_4.3.0 1:4.3 + __satfractunsqiusq@GCC_4.3.0 1:4.3 + __satfractunssida@GCC_4.3.0 1:4.3 + __satfractunssidq@GCC_4.3.0 1:4.3 + __satfractunssiha@GCC_4.3.0 1:4.3 + __satfractunssihq@GCC_4.3.0 1:4.3 + __satfractunssiqq@GCC_4.3.0 1:4.3 + __satfractunssisa@GCC_4.3.0 1:4.3 + __satfractunssisq@GCC_4.3.0 1:4.3 + __satfractunssiuda@GCC_4.3.0 1:4.3 + __satfractunssiudq@GCC_4.3.0 1:4.3 + __satfractunssiuha@GCC_4.3.0 1:4.3 + __satfractunssiuhq@GCC_4.3.0 1:4.3 + __satfractunssiuqq@GCC_4.3.0 1:4.3 + __satfractunssiusa@GCC_4.3.0 1:4.3 + __satfractunssiusq@GCC_4.3.0 1:4.3 + __satfractuqqda@GCC_4.3.0 1:4.3 + __satfractuqqdq@GCC_4.3.0 1:4.3 + __satfractuqqha@GCC_4.3.0 1:4.3 + __satfractuqqhq@GCC_4.3.0 1:4.3 + __satfractuqqqq@GCC_4.3.0 1:4.3 + __satfractuqqsa@GCC_4.3.0 1:4.3 + __satfractuqqsq@GCC_4.3.0 1:4.3 + __satfractuqquda@GCC_4.3.0 1:4.3 + __satfractuqqudq2@GCC_4.3.0 1:4.3 + __satfractuqquha@GCC_4.3.0 1:4.3 + __satfractuqquhq2@GCC_4.3.0 1:4.3 + __satfractuqqusa@GCC_4.3.0 1:4.3 + __satfractuqqusq2@GCC_4.3.0 1:4.3 + __satfractusada@GCC_4.3.0 1:4.3 + __satfractusadq@GCC_4.3.0 1:4.3 + __satfractusaha@GCC_4.3.0 1:4.3 + __satfractusahq@GCC_4.3.0 1:4.3 + __satfractusaqq@GCC_4.3.0 1:4.3 + __satfractusasa@GCC_4.3.0 1:4.3 + __satfractusasq@GCC_4.3.0 1:4.3 + __satfractusauda2@GCC_4.3.0 1:4.3 + __satfractusaudq@GCC_4.3.0 1:4.3 + __satfractusauha2@GCC_4.3.0 1:4.3 + __satfractusauhq@GCC_4.3.0 1:4.3 + __satfractusauqq@GCC_4.3.0 1:4.3 + __satfractusausq@GCC_4.3.0 1:4.3 + __satfractusqda@GCC_4.3.0 1:4.3 + __satfractusqdq@GCC_4.3.0 1:4.3 + __satfractusqha@GCC_4.3.0 1:4.3 + __satfractusqhq@GCC_4.3.0 1:4.3 + __satfractusqqq@GCC_4.3.0 1:4.3 + __satfractusqsa@GCC_4.3.0 1:4.3 + __satfractusqsq@GCC_4.3.0 1:4.3 + __satfractusquda@GCC_4.3.0 1:4.3 + __satfractusqudq2@GCC_4.3.0 1:4.3 + __satfractusquha@GCC_4.3.0 1:4.3 + __satfractusquhq2@GCC_4.3.0 1:4.3 + __satfractusquqq2@GCC_4.3.0 1:4.3 + __satfractusqusa@GCC_4.3.0 1:4.3 + __ssaddda3@GCC_4.3.0 1:4.3 + __ssadddq3@GCC_4.3.0 1:4.3 + __ssaddha3@GCC_4.3.0 1:4.3 + __ssaddhq3@GCC_4.3.0 1:4.3 + __ssaddqq3@GCC_4.3.0 1:4.3 + __ssaddsa3@GCC_4.3.0 1:4.3 + __ssaddsq3@GCC_4.3.0 1:4.3 + __ssashlda3@GCC_4.3.0 1:4.3 + __ssashldq3@GCC_4.3.0 1:4.3 + __ssashlha3@GCC_4.3.0 1:4.3 + __ssashlhq3@GCC_4.3.0 1:4.3 + __ssashlqq3@GCC_4.3.0 1:4.3 + __ssashlsa3@GCC_4.3.0 1:4.3 + __ssashlsq3@GCC_4.3.0 1:4.3 + __ssdivda3@GCC_4.3.0 1:4.3 + __ssdivdq3@GCC_4.3.0 1:4.3 + __ssdivha3@GCC_4.3.0 1:4.3 + __ssdivhq3@GCC_4.3.0 1:4.3 + __ssdivqq3@GCC_4.3.0 1:4.3 + __ssdivsa3@GCC_4.3.0 1:4.3 + __ssdivsq3@GCC_4.3.0 1:4.3 + __ssmulda3@GCC_4.3.0 1:4.3 + __ssmuldq3@GCC_4.3.0 1:4.3 + __ssmulha3@GCC_4.3.0 1:4.3 + __ssmulhq3@GCC_4.3.0 1:4.3 + __ssmulqq3@GCC_4.3.0 1:4.3 + __ssmulsa3@GCC_4.3.0 1:4.3 + __ssmulsq3@GCC_4.3.0 1:4.3 + __ssnegda2@GCC_4.3.0 1:4.3 + __ssnegdq2@GCC_4.3.0 1:4.3 + __ssnegha2@GCC_4.3.0 1:4.3 + __ssneghq2@GCC_4.3.0 1:4.3 + __ssnegqq2@GCC_4.3.0 1:4.3 + __ssnegsa2@GCC_4.3.0 1:4.3 + __ssnegsq2@GCC_4.3.0 1:4.3 + __sssubda3@GCC_4.3.0 1:4.3 + __sssubdq3@GCC_4.3.0 1:4.3 + __sssubha3@GCC_4.3.0 1:4.3 + __sssubhq3@GCC_4.3.0 1:4.3 + __sssubqq3@GCC_4.3.0 1:4.3 + __sssubsa3@GCC_4.3.0 1:4.3 + __sssubsq3@GCC_4.3.0 1:4.3 + __subda3@GCC_4.3.0 1:4.3 + __subdf3@GCC_3.0 1:4.1.1 + __subdq3@GCC_4.3.0 1:4.3 + __subha3@GCC_4.3.0 1:4.3 + __subhq3@GCC_4.3.0 1:4.3 + __subqq3@GCC_4.3.0 1:4.3 + __subsa3@GCC_4.3.0 1:4.3 + __subsf3@GCC_3.0 1:4.1.1 + __subsq3@GCC_4.3.0 1:4.3 + __subuda3@GCC_4.3.0 1:4.3 + __subudq3@GCC_4.3.0 1:4.3 + __subuha3@GCC_4.3.0 1:4.3 + __subuhq3@GCC_4.3.0 1:4.3 + __subuqq3@GCC_4.3.0 1:4.3 + __subusa3@GCC_4.3.0 1:4.3 + __subusq3@GCC_4.3.0 1:4.3 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __truncdfsf2@GCC_3.0 1:4.1.1 + __ucmpdi2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmoddi4@GCC_3.0 1:4.1.1 + __udivuda3@GCC_4.3.0 1:4.3 + __udivudq3@GCC_4.3.0 1:4.3 + __udivuha3@GCC_4.3.0 1:4.3 + __udivuhq3@GCC_4.3.0 1:4.3 + __udivuqq3@GCC_4.3.0 1:4.3 + __udivusa3@GCC_4.3.0 1:4.3 + __udivusq3@GCC_4.3.0 1:4.3 + __umoddi3@GLIBC_2.0 1:4.1.1 + __unorddf2@GCC_3.3.4 1:4.1.1 + __unordsf2@GCC_3.3.4 1:4.1.1 + __usadduda3@GCC_4.3.0 1:4.3 + __usaddudq3@GCC_4.3.0 1:4.3 + __usadduha3@GCC_4.3.0 1:4.3 + __usadduhq3@GCC_4.3.0 1:4.3 + __usadduqq3@GCC_4.3.0 1:4.3 + __usaddusa3@GCC_4.3.0 1:4.3 + __usaddusq3@GCC_4.3.0 1:4.3 + __usashluda3@GCC_4.3.0 1:4.3 + __usashludq3@GCC_4.3.0 1:4.3 + __usashluha3@GCC_4.3.0 1:4.3 + __usashluhq3@GCC_4.3.0 1:4.3 + __usashluqq3@GCC_4.3.0 1:4.3 + __usashlusa3@GCC_4.3.0 1:4.3 + __usashlusq3@GCC_4.3.0 1:4.3 + __usdivuda3@GCC_4.3.0 1:4.3 + __usdivudq3@GCC_4.3.0 1:4.3 + __usdivuha3@GCC_4.3.0 1:4.3 + __usdivuhq3@GCC_4.3.0 1:4.3 + __usdivuqq3@GCC_4.3.0 1:4.3 + __usdivusa3@GCC_4.3.0 1:4.3 + __usdivusq3@GCC_4.3.0 1:4.3 + __usmuluda3@GCC_4.3.0 1:4.3 + __usmuludq3@GCC_4.3.0 1:4.3 + __usmuluha3@GCC_4.3.0 1:4.3 + __usmuluhq3@GCC_4.3.0 1:4.3 + __usmuluqq3@GCC_4.3.0 1:4.3 + __usmulusa3@GCC_4.3.0 1:4.3 + __usmulusq3@GCC_4.3.0 1:4.3 + __usneguda2@GCC_4.3.0 1:4.3 + __usnegudq2@GCC_4.3.0 1:4.3 + __usneguha2@GCC_4.3.0 1:4.3 + __usneguhq2@GCC_4.3.0 1:4.3 + __usneguqq2@GCC_4.3.0 1:4.3 + __usnegusa2@GCC_4.3.0 1:4.3 + __usnegusq2@GCC_4.3.0 1:4.3 + __ussubuda3@GCC_4.3.0 1:4.3 + __ussubudq3@GCC_4.3.0 1:4.3 + __ussubuha3@GCC_4.3.0 1:4.3 + __ussubuhq3@GCC_4.3.0 1:4.3 + __ussubuqq3@GCC_4.3.0 1:4.3 + __ussubusa3@GCC_4.3.0 1:4.3 + __ussubusq3@GCC_4.3.0 1:4.3 --- gcc-4.3-4.3.4.orig/debian/dh_doclink +++ gcc-4.3-4.3.4/debian/dh_doclink @@ -0,0 +1,12 @@ +#! /bin/sh + +pkg=`echo $1 | sed 's/^-p//'` +target=$2 + +[ -d debian/$pkg/usr/share/doc ] || mkdir -p debian/$pkg/usr/share/doc +if [ -d debian/$pkg/usr/share/doc/$p -a ! -h debian/$pkg/usr/share/doc/$p ] +then + echo "WARNING: removing doc directory $pkg" + rm -rf debian/$pkg/usr/share/doc/$pkg +fi +ln -sf $target debian/$pkg/usr/share/doc/$pkg --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.powerpc +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.powerpc @@ -0,0 +1,139 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3.4@GCC_3.3.4 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.1.0@GCC_4.1.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __adddf3@GCC_3.0 1:4.1.1 + __addsf3@GCC_3.0 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __ashldi3@GCC_3.0 1:4.1.1 + __ashrdi3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzsi2@GCC_3.4 1:4.1.1 + __cmpdi2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzsi2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdf3@GCC_3.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divsf3@GCC_3.0 1:4.1.1 + __divtc3@GCC_4.1.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __eqdf2@GCC_3.0 1:4.1.1 + __eqsf2@GCC_3.0 1:4.1.1 + __extendsfdf2@GCC_3.0 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixdfsi@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixsfsi@GCC_3.0 1:4.1.1 + __fixtfdi@GCC_4.1.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __fixunstfdi@GCC_4.1.0 1:4.1.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatditf@GCC_4.1.0 1:4.1.1 + __floatsidf@GCC_3.0 1:4.1.1 + __floatsisf@GCC_3.0 1:4.1.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatunditf@GCC_4.2.0 1:4.2.1 + __floatunsidf@GCC_4.2.0 1:4.2.1 + __floatunsisf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __gcc_qadd@GCC_4.1.0 1:4.1.1 + __gcc_qdiv@GCC_4.1.0 1:4.1.1 + __gcc_qmul@GCC_4.1.0 1:4.1.1 + __gcc_qsub@GCC_4.1.0 1:4.1.1 + __gedf2@GCC_3.0 1:4.1.1 + __gesf2@GCC_3.0 1:4.1.1 + __gtdf2@GCC_3.0 1:4.1.1 + __gtsf2@GCC_3.0 1:4.1.1 + __ledf2@GCC_3.0 1:4.1.1 + __lesf2@GCC_3.0 1:4.1.1 + __lshrdi3@GCC_3.0 1:4.1.1 + __ltdf2@GCC_3.0 1:4.1.1 + __ltsf2@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldf3@GCC_3.0 1:4.1.1 + __muldi3@GCC_3.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __mulsf3@GCC_3.0 1:4.1.1 + __multc3@GCC_4.1.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __nedf2@GCC_3.0 1:4.1.1 + __negdf2@GCC_3.0 1:4.1.1 + __negdi2@GCC_3.0 1:4.1.1 + __negsf2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __nesf2@GCC_3.0 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __paritysi2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountsi2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_4.1.0 1:4.1.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __subdf3@GCC_3.0 1:4.1.1 + __subsf3@GCC_3.0 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __trampoline_setup@GCC_3.4.2 1:4.1.1 + __truncdfsf2@GCC_3.0 1:4.1.1 + __ucmpdi2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmoddi4@GCC_3.0 1:4.1.1 + __umoddi3@GLIBC_2.0 1:4.1.1 + __unorddf2@GCC_3.3.4 1:4.1.1 + __unordsf2@GCC_3.3.4 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/libgcc2.symbols.m68k +++ gcc-4.3-4.3.4/debian/libgcc2.symbols.m68k @@ -0,0 +1,101 @@ +libgcc_s.so.2 libgcc2 #MINVER# + GCC_3.0@GCC_3.0 4.2.1 + GCC_3.3.1@GCC_3.3.1 4.2.1 + GCC_3.3@GCC_3.3 4.2.1 + GCC_3.4.2@GCC_3.4.2 4.2.1 + GCC_3.4@GCC_3.4 4.2.1 + GCC_4.0.0@GCC_4.0.0 4.2.1 + GCC_4.2.0@GCC_4.2.0 4.2.1 + GCC_4.3.0@GCC_4.3.0 4.3.0 + GLIBC_2.0@GLIBC_2.0 4.2.1 + _Unwind_Backtrace@GCC_3.3 4.2.1 + _Unwind_DeleteException@GCC_3.0 4.2.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.2.1 + _Unwind_Find_FDE@GCC_3.0 4.2.1 + _Unwind_ForcedUnwind@GCC_3.0 4.2.1 + _Unwind_GetCFA@GCC_3.3 4.2.1 + _Unwind_GetDataRelBase@GCC_3.0 4.2.1 + _Unwind_GetGR@GCC_3.0 4.2.1 + _Unwind_GetIP@GCC_3.0 4.2.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.2.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.2.1 + _Unwind_GetRegionStart@GCC_3.0 4.2.1 + _Unwind_GetTextRelBase@GCC_3.0 4.2.1 + _Unwind_RaiseException@GCC_3.0 4.2.1 + _Unwind_Resume@GCC_3.0 4.2.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.2.1 + _Unwind_SetGR@GCC_3.0 4.2.1 + _Unwind_SetIP@GCC_3.0 4.2.1 + __absvdi2@GCC_3.0 4.2.1 + __absvsi2@GCC_3.0 4.2.1 + __addvdi3@GCC_3.0 4.2.1 + __addvsi3@GCC_3.0 4.2.1 + __ashldi3@GCC_3.0 4.2.1 + __ashrdi3@GCC_3.0 4.2.1 + __bswapdi2@GCC_4.3.0 4.3.0 + __bswapsi2@GCC_4.3.0 4.3.0 + __clear_cache@GCC_3.0 4.2.1 + __clzdi2@GCC_3.4 4.2.1 + __clzsi2@GCC_3.4 4.2.1 + __cmpdi2@GCC_3.0 4.2.1 + __ctzdi2@GCC_3.4 4.2.1 + __ctzsi2@GCC_3.4 4.2.1 + __deregister_frame@GLIBC_2.0 4.2.1 + __deregister_frame_info@GLIBC_2.0 4.2.1 + __deregister_frame_info_bases@GCC_3.0 4.2.1 + __divdc3@GCC_4.0.0 4.2.1 + __divdi3@GLIBC_2.0 4.2.1 + __divsc3@GCC_4.0.0 4.2.1 + __divxc3@GCC_4.0.0 4.2.1 + __emutls_get_address@GCC_4.3.0 4.3.0 + __emutls_register_common@GCC_4.3.0 4.3.0 + __enable_execute_stack@GCC_3.4.2 4.2.1 + __ffsdi2@GCC_3.0 4.2.1 + __ffssi2@GCC_4.3.0 4.3.0 + __fixdfdi@GCC_3.0 4.2.1 + __fixsfdi@GCC_3.0 4.2.1 + __fixunsdfdi@GCC_3.0 4.2.1 + __fixunsdfsi@GCC_3.0 4.2.1 + __fixunssfdi@GCC_3.0 4.2.1 + __fixunssfsi@GCC_3.0 4.2.1 + __fixunsxfdi@GCC_3.0 4.2.1 + __fixunsxfsi@GCC_3.0 4.2.1 + __fixxfdi@GCC_3.0 4.2.1 + __floatdidf@GCC_3.0 4.2.1 + __floatdisf@GCC_3.0 4.2.1 + __floatdixf@GCC_3.0 4.2.1 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __floatundixf@GCC_4.2.0 4.2.1 + __frame_state_for@GLIBC_2.0 4.2.1 + __gcc_personality_v0@GCC_3.3.1 4.2.1 + __lshrdi3@GCC_3.0 4.2.1 + __moddi3@GLIBC_2.0 4.2.1 + __muldc3@GCC_4.0.0 4.2.1 + __muldi3@GCC_3.0 4.2.1 + __mulsc3@GCC_4.0.0 4.2.1 + __mulvdi3@GCC_3.0 4.2.1 + __mulvsi3@GCC_3.0 4.2.1 + __mulxc3@GCC_4.0.0 4.2.1 + __negdi2@GCC_3.0 4.2.1 + __negvdi2@GCC_3.0 4.2.1 + __negvsi2@GCC_3.0 4.2.1 + __paritydi2@GCC_3.4 4.2.1 + __paritysi2@GCC_3.4 4.2.1 + __popcountdi2@GCC_3.4 4.2.1 + __popcountsi2@GCC_3.4 4.2.1 + __powidf2@GCC_4.0.0 4.2.1 + __powisf2@GCC_4.0.0 4.2.1 + __powixf2@GCC_4.0.0 4.2.1 + __register_frame@GLIBC_2.0 4.2.1 + __register_frame_info@GLIBC_2.0 4.2.1 + __register_frame_info_bases@GCC_3.0 4.2.1 + __register_frame_info_table@GLIBC_2.0 4.2.1 + __register_frame_info_table_bases@GCC_3.0 4.2.1 + __register_frame_table@GLIBC_2.0 4.2.1 + __subvdi3@GCC_3.0 4.2.1 + __subvsi3@GCC_3.0 4.2.1 + __ucmpdi2@GCC_3.0 4.2.1 + __udivdi3@GLIBC_2.0 4.2.1 + __udivmoddi4@GCC_3.0 4.2.1 + __umoddi3@GLIBC_2.0 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.hurd-i386 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.hurd-i386 @@ -0,0 +1,3 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.10" --- gcc-4.3-4.3.4.orig/debian/README.maintainers +++ gcc-4.3-4.3.4/debian/README.maintainers @@ -0,0 +1,237 @@ +-*- Outline -*- + +Read this file if you are a Debian Developer or would like to become +one, or if you would like to create your own binary packages of GCC. + +* Overview + +From the GCC sources, Debian currently builds 3 source packages and +almost 100 binary packages, using a single set of build scripts. The +3 source packages are: + +gcc-4.3: C, C++, Fortran, Objective-C and Objective-C++, plus many + common libraries like libssp, libmudflap, and libgcc. +gcj-4.3: Java. +gnat-4.3: Ada. + +The way we do this is quite peculiar, so listen up :) + +When we build from the gcc-4.3 source package, we produce, among many +others, a gcc-4.3-source binary package that contains the pristine +upstream tarball and some Debian-specific patches. Any user can then +install this package on their Debian system, and will have the full +souces in /usr/src/gcc-4.3/gcc-.tar.bz2, along with the +Makefile snippets that unpack and patch them. + +The intended use for this package is twofold: (a) allow users to build +their own cross-compilers, and (b) build the other two packages, +gcj-4.3 and gnat-4.3. + +For gcj-4.3 and gnat-4.3, the "source tarball" just contains an empty +directory; e.g.: + +$ tar tzf gnat-4.3_4.3-20070609.orig.tar.gz +gnat-4.3-4.3-20070609.orig/ + +The build scripts for all source packages are the same, and they are +included, as usual, in the .diff.gz file. + +* The build sequence + +As for all other Debian packages, you build GCC by calling +debian/rules. + +The first thing debian/rules does it to look at the top-most entry in +debian/changelog: this tells it which source package it is building. +For example, if the first entry in debian/changelog reads: + +gcj-4.3 (4.3-20070609-1) unstable; urgency=low + + * Upload as gcj-4.3. + + -- Ludovic Brenta Tue, 26 Jun 2007 00:26:42 +0200 + +then, debian/rules will build only the Java binary packages. + +The second step is to unpack the GCC source tarball. This tarball is +either in the build directory (when building gcc-4.3), or in +/usr/src/gcc-4.3/gcc-.tar.bz2 (when building the other +source packages). + +The third step is to build debian/control from debian/control.m4 and a +complex set of rules specified in debian/rules.conf. The resulting +control file contains only the binary packages to be built. + +The fourth step is to select which patches to apply (this is done in +debian/rules.defs), and then to apply the selected patches (see +debian/rules.patch). + +The fifth step is to create a "build" directory, cd into it, call +../src/configure, and bootstrap the compiler and libraries selected. +This is in debian/rules2. + +The sixth step is to call "make install" in the build directory: this +installs the compiler and libraries into debian/tmp +(i.e. debian/tmp/usr/bin/gcc, etc.) + +The seventh step is to run the GCC test suite (this actually takes at +least as much time as bootstrapping, and you can disable it by setting +WITHOUT_CHECK to "yes" in the environment). + +The eighth step is to build the binary packages, i.e. the .debs. This +is done by a set of language- and architecture-dependent Makefile +snippets in the debian/rules.d/ directory, which move files from the +debian/tmp tree to the debian/ trees. + +* Making your own packages + +In this example, we will build our own gnat-4.3 package. + +1) Create a .orig.tar.gz tarball containing a single, empty directory. + +$ mkdir gnat-4.3-4.3-20070609.orig +$ tar czf gnat-4.3_4.3-20070609.orig.tar.gz gnat-4.3-4.3-20070609.orig + +2) Install gcc-4.3-source, which contains the real sources: + +# apt-get install gcc-4.3-source + +3) Create a build directory: + +$ mkdir gnat-4.3-4.3-20070609; cd gnat-4.3-4.3-20070609 + +4) Checkout from Subversion: + +$ svn checkout svn://svn.debian.org/gcccvs/branches/sid/gcc-4.3/debian + +5) Edit the debian/changelog file, adding a new entry at the top that + starts with "gnat-4.3" instead of "gcc-4.3". + +6) Generate the debian/control file, adjusted for gnat: + +$ debian/rules control + +7) Build: + +$ dpkg-buildpackage -rfakeroot + +* Hints + +You need a powerful machine to build GCC. The larger, the better. +The build scripts take advantage of as many CPU threads as are +available in your box (for example: 2 threads on a dual-core amd64; 4 +threads on a dual-core POWER5; 32 threads on an 8-core UltraSPARC T1, +etc.). + +If you have 2 GB or more of physical RAM, you can achieve maximum +performance by building in a tmpfs, like this: + +1) as root, create the new tmpfs: + +# mount -t tmpfs -o size=1280m none /home/lbrenta/src/debian/ram + +By default, the tmpfs will be limited to half your physical RAM. The +beauty of it is that it only consumes as much physical RAM as +necessary to hold the files in it; deleting files frees up RAM. + +2) As your regular user, create the working directory in the tmpfs + +$ cp --archive ~/src/debian/gcc-4.3-4.3-20070901 ~/src/debian/ram + +3) Build in there. On my dual-core, 2 GHz amd64, it takes 34 minutes + to build gnat, and the tmpfs takes 992 MiB of physical RAM but + exceeds 1 GiB during the build. + +Note that the build process uses a lot of temporary files. Your $TEMP +directory should therefore also be in a ram disk. You can achieve +that either by mounting it as tmpfs, or by setting TEMP to point to +~/src/debian/ram. + +Also note that each thread in your processor(s) will run a compiler in +it and use up RAM. Therefore your physical memory should be: + +Physical_RAM >= 1.2 + 0.4 * Threads (in GiB) + +(this is an estimate; your mileage may vary). If you have less +physical RAM than recommended, reduce the number of threads allocated +to the build process, or do not use a tmpfs to build. + +* Patching GCC + +Debian applies a large number of patches to GCC as part of the build +process. The patches are shell scripts located in debian/patches. +The file debian/rules.defs selects the language front-ends and +libraries to build. Then, based on that, debian/rules.patch selects +which patches to apply and in which order, then applies them and +produces a file listing the applied patches in order in +stamps/02-patch-stamp. + +There is currently no tool to help modify patches; you have to do it +by hand. Here is one possible way to do it: + +1) Apply all patches up to and EXCLUDING the patch you intend to + modify, in order. + +2) Make a deep copy of the src directory, e.g. + $ cp --archive src src.bak + +3) Apply the patch you intend to modify. + +4) Open the .dpatch file in your editor and remove the entire patch + section; leave alone the shell script part at the top. + +5) Change the files you want in the src directory. After making + changes, you can experiment with + $ make -C build -jK + (where K is the number of processor threads you have) + +6) $ diff -rNu src.bak src >> debian/patches/.dpatch + +7) Apply all remaining patches, to see if your change broke any of + them. + +8) $ svn commit debian/patches/.dpatch + +If you want to add a new patch, the procedure is similar. You must +first choose where in the list of patches you want to insert your new +patch. Then, apply all patches up to that point and start editing. +Do not forget to add a reference to your patch at the proper place in +debian/rules.patch. + +** Patching GCC with Quilt + +The above method uses an entire copy of the source tree, which is +currently 474 megabytes in size. If you are in a one-gigabyte ram +disk (see Hints above), this may be a problem. One solution to this +problem is to use quilt, which will only keep copies of the files +touched by patches, not all files. It also automates the updating of +a patch after you change the sources. + +Quilt however does not take into account the selection of patches made +in debian/rules.defs; instead it has a static list of patches. After +calling "debian/rules patch", you can generate such a list like this: + +$ egrep '^[^ ]+:' stamps/02-patch-stamp | \ + sed 's!:!.dpatch -p0!' > debian/patches/series + +Unfortunately, not all patches are applied with -p0; you must then +edit debian/patches/series by hand to replace -p0 with -p1 for a few +patches. + +Once you have your debian/patches/series: + +$ debian/rules unpatch +$ export QUILT_PATCHES=$PWD/debian/patches +$ cd src +$ quilt push -a (or quilt push ) +edit files at will; quilt add to add a new file to the patch +$ make -C ../build +$ quilt refresh +$ quilt push -a # check that no patch is broken +$ quilt pop -a +$ cd .. +$ debian/rules clean build +$ svn commit + +-- +Ludovic Brenta, 2007-12-05. --- gcc-4.3-4.3.4.orig/debian/libstdc++CXX.postinst +++ gcc-4.3-4.3.4/debian/libstdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libstdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.alpha +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.alpha @@ -0,0 +1,4 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" +#include "libgfortran3.symbols.16.powerpc64" --- gcc-4.3-4.3.4.orig/debian/gij-wrapper-BV.1 +++ gcc-4.3-4.3.4/debian/gij-wrapper-BV.1 @@ -0,0 +1,22 @@ +.TH GIJ-WRAPPER 1 "August 11, 2001" gij-wrapper "Java User's Manual" +.SH NAME +gij-wrapper \- a wrapper around gij + +.SH SYNOPSIS +gij-wrapper [\fB\s-1OPTION\s0\fR] ... \fI\s-1JARFILE\s0\fR [\fI\s-1ARGS\s0\fR...] +.PP +gij-wrapper [\fB\-jar\fR] [\fB\s-1OPTION\s0\fR] ... \fI\s-1CLASS\s0\fR [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fBgij-wrapper\fR is a wrapper around gij(1) to be called as the java +interpreter. Options different for java(1) and gij(1) are translated, +options unknown to gij(1) are silently ignored. + +.SH OPTIONS +See gij-@BV@(1) for a list of options that gij understands. + +.SH "SEE ALSO" +.BR gij-@BV@(1) +, +.BR java(1) --- gcc-4.3-4.3.4.orig/debian/rules2 +++ gcc-4.3-4.3.4/debian/rules2 @@ -0,0 +1,1932 @@ +#! /usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +.SUFFIXES: + +include debian/rules.defs +include debian/rules.parameters + +# some tools +SHELL = /bin/bash -e # brace expansion in rules file +IR = install -m 644 # Install regular file +IP = install -m 755 # Install program +IS = install -m 755 # Install script + +#number of jobs to run for build +ifeq ($(USE_NJOBS),no) + NJOBS := + USE_CPUS := 1 +else + ifeq ($(with_java),yes) + MEM_PER_CPU = 192 + else + MEM_PER_CPU = 128 + endif + NUM_CPUS := $(shell if echo $(USE_NJOBS) | grep -q -E '^[0-9]+$$'; \ + then echo $(USE_NJOBS); \ + else getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1; fi) + USE_CPUS := $(shell mt=`awk '/^MemTotal/ { print $$2 }' /proc/meminfo`; \ + awk -vn=$(NUM_CPUS) -vmt=$$mt -vm=$(MEM_PER_CPU) \ + 'END { mt/=1024; n2 = int(mt/m); print n==1 ? 1 : n2 in DEB_BUILD_OPTIONS (see #209008) +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +endif + +ifeq ($(with_pascal),yes) + NJOBS := +endif + +# kernel-specific ulimit hack +ifeq ($(findstring linux,$(DEB_HOST_GNU_SYSTEM)),linux) + ULIMIT_M = if [ -e /proc/meminfo ]; then \ + m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \ + /proc/meminfo`; \ + else \ + m=`vmstat --free --swap-free --kilobytes|awk '{m+=$$2}END{print int(m*.9)}'`; \ + fi; \ + ulimit -m $$m; \ + echo "Limited memory for test runs to `ulimit -m`kB" +else + ULIMIT_M = true +endif + +ifeq ($(locale_data),generate) + SET_LOCPATH = LOCPATH=$(PWD)/locales +endif + +# the recipient for the test summaries. Send with: debian/rules mail-summary +S_EMAIL = gcc@packages.debian.org gcc-testresults@gcc.gnu.org + +# build not yet prepared to take variables from the environment +define unsetenv + unexport $(1) + $(1) = +endef +$(foreach v, CPPFLAGS CFLAGS CXXFLAGS FFLAGS LDFLAGS, $(if $(filter environment,$(origin $(v))),$(eval $(call unsetenv, $(v))))) + +CC = $(if $(filter yes,$(with_ada)),gnatgcc,gcc) + +ifneq (,$(filter $(DEB_TARGET_ARCH), mips mipsel)) + STAGE1_CFLAGS = -g -O2 +endif + +ifeq ($(with_d),yes) + CFLAGS += -std=gnu99 + LDFLAGS += -lm +endif + +ifeq ($(with_ssp_default),yes) + # FIXME: only use -fno-stack-protector when known to the stage1 compiler + STAGE1_CFLAGS = -g -fno-stack-protector + BOOT_CFLAGS = -g -O2 -fno-stack-protector + LIBCFLAGS = -g -O2 -fno-stack-protector + LIBCXXFLAGS = -g -O2 -fno-stack-protector -fno-implicit-templates +endif + +ifeq ($(DEB_CROSS),yes) + CFLAGS = -g -O2 +endif + +CFLAGS_TO_PASS = \ + $(if $(CFLAGS),CFLAGS="$(CFLAGS)") \ + $(if $(BOOT_CFLAGS),BOOT_CFLAGS="$(BOOT_CFLAGS)") \ + $(if $(LIBCFLAGS),LIBCFLAGS="$(LIBCFLAGS)") \ + $(if $(LIBCXXFLAGS),LIBCXXFLAGS="$(LIBCXXFLAGS)") +LDFLAGS_TO_PASS = \ + $(if $(LDFLAGS),LDFLAGS="$(LDFLAGS)") +STAGE1_CFLAGS_TO_PASS = \ + $(if $(STAGE1_CFLAGS),STAGE1_CFLAGS="$(STAGE1_CFLAGS)") + +docdir = usr/share/doc + +# PF is the installation prefix for the package without the leading slash. +# It's "usr" for gcc releases +ifeq ($(PKGSOURCE),gcc-snapshot) + PF = usr/lib/gcc-snapshot +else + PF = usr +endif + +ifeq ($(with_multiarch_lib),yes) + libdir = lib/$(DEB_TARGET_GNU_TYPE) +else + libdir = lib +endif +# /usr/libexec doesn't follow the FHS +ifeq ($(PKGSOURCE),gcc-snapshot) + libexecdir = $(PF)/libexec + spulibexecdir = $(PF)/libexec +else + libexecdir = $(PF)/$(libdir) + spulibexecdir = $(PF)/$(libdir) +endif +buildlibdir = $(builddir)/$(TARGET_ALIAS) + +ifeq ($(with_common_gcclibdir),yes) + gcc_lib_dir = $(PF)/$(libdir)/gcc/$(TARGET_ALIAS)/$(BASE_VERSION) + gcc_lexec_dir = $(libexecdir)/gcc/$(TARGET_ALIAS)/$(BASE_VERSION) + gcc_spu_lib_dir = $(PF)/spu/$(libdir)/gcc/spu/$(BASE_VERSION) + gcc_spu_lexec_dir = $(spulibexecdir)/gcc/spu/$(BASE_VERSION) +else + gcc_lib_dir = $(PF)/$(libdir)/gcc/$(TARGET_ALIAS)/$(GCC_VERSION) + gcc_lexec_dir = $(libexecdir)/gcc/$(TARGET_ALIAS)/$(GCC_VERSION) + gcc_spu_lib_dir = $(PF)/spu/$(libdir)/gcc/spu/$(GCC_VERSION) + gcc_spu_lexec_dir = $(spulibexecdir)/gcc/spu/$(GCC_VERSION) +endif + +lib32 = $(PF)/lib32 +lib64 = lib64 +libn32 = lib32 + +checkdir = $(builddir) +ifeq ($(with_separate_libgcj),yes) + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + ifneq ($(with_standalone_gcj),yes) + checkdir = $(buildlibdir)/libjava + endif + endif +endif +ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + checkdir = $(builddir)/gcc + endif +endif + +ifneq ($(DEB_CROSS),yes) + ifneq ($(PKGSOURCE),gcc-snapshot) + cxx_inc_dir = $(PF)/include/c++/$(BASE_VERSION) + else + cxx_inc_dir = $(PF)/include/c++/$(GCC_VERSION) + endif +else + cxx_inc_dir = $(PF)/$(TARGET_ALIAS)/include/c++/$(GCC_VERSION) +endif + +CONFARGS = -v +ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) + CONFARGS += \ + --with-pkgversion='$(distribution)___$(DEB_GDC_VERSION)' +else + CONFARGS += \ + --with-pkgversion='$(distribution)___$(DEB_VERSION)' +endif +CONFARGS += \ + --with-bugurl='file:///usr/share/doc/$(PKGSOURCE)/README.Bugs' + +CONFARGS += \ + --enable-languages=$(subst $(SPACE),$(COMMA),$(enabled_languages)) \ + --prefix=/$(PF) \ + --enable-shared \ + --enable-multiarch \ + --enable-linker-build-id \ + --with-system-zlib \ + +ifneq ($(PKGSOURCE),gcc-snapshot) + CONFARGS += \ + --libexecdir=/$(libexecdir) \ + --without-included-gettext \ + --enable-threads=posix +endif + +CONFARGS += $(if $(filter yes,$(with_nls)),--enable-nls,--disable-nls) + +ifneq ($(PKGSOURCE),gcc-snapshot) + CONFARGS += --with-gxx-include-dir=/$(cxx_inc_dir) +endif + +ifeq ($(versioned_packages),yes) + CONFARGS += --program-suffix=-$(BASE_VERSION) +endif + +ifneq ($(with_sysroot),) + CONFARGS += --with-sysroot=$(with_sysroot) +endif + +ifneq ($(with_bootstrap),) + CONFARGS += --enable-bootstrap=$(with_bootstrap) +endif + +ifeq ($(force_gnu_locales),yes) + CONFARGS += --enable-clocale=gnu +endif + +ifeq ($(with_cxx)-$(with_debug),yes-yes) + CONFARGS += --enable-libstdcxx-debug +endif + +ifeq ($(with_java),yes) + ifeq ($(with_java_maintainer_mode),yes) + CONFARGS += --enable-java-maintainer-mode + endif + ifeq ($(with_java_biarch_awt),yes) + CONFARGS += --enable-java-awt=$(subst $(SPACE),$(COMMA),$(foreach p,$(java_awt_peers),$(p)-default)) + else + CONFARGS += --enable-java-awt=$(subst $(SPACE),$(COMMA),$(foreach p,$(java_awt_peers),$(p))) + endif + ifneq (,$(findstring gtk,$(java_awt_peers))) + CONFARGS += --enable-gtk-cairo + endif + CONFARGS += --disable-plugin + ifeq ($(PKGSOURCE),gcc-snapshot) + CONFARGS += --with-java-home=/$(PF)/java-1.5.0-gcj-$(BASE_VERSION)-1.5.0.0/jre + CONFARGS += --enable-java-home --with-jvm-root-dir=/$(PF)/jvm --with-jvm-jar-dir=/$(PF)/jvm-exports + else + CONFARGS += --with-java-home=/$(PF)/lib/jvm/java-1.5.0-gcj-$(BASE_VERSION)-1.5.0.0/jre + endif + CONFARGS += --with-ecj-jar=/usr/share/java/eclipse-ecj.jar +endif + +ifeq ($(with_objc)-$(with_objc_gc),yes-yes) + CONFARGS += --enable-objc-gc +endif + +ifeq ($(with_fortran),yes) + CONFARGS += --enable-mpfr +endif + +ifneq ($(with_mudflap),yes) + CONFARGS += --disable-libmudflap +endif + +ifeq ($(findstring i486-linux,$(DEB_TARGET_GNU_TYPE)),i486-linux) + ifeq ($(biarch64),yes) + CONFARGS += --enable-targets=all + endif +endif + +ifeq ($(findstring x86_64-linux,$(DEB_TARGET_GNU_TYPE)),x86_64-linux) + ifneq ($(biarch32),yes) + CONFARGS += --disable-multilib + endif +endif + +ifneq ($(with_ssp),yes) + CONFARGS += --disable-libssp +endif + +ifeq ($(with_gcj),yes) + ifeq ($(DEB_HOST_GNU_CPU),m32r) + CONFARGS += --enable-libgcj + endif +endif + +ifeq ($(findstring powerpc-linux,$(DEB_TARGET_GNU_TYPE)),powerpc-linux) + ifeq ($(biarch64),yes) + CONFARGS += --disable-softfloat --enable-secureplt \ + --enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32 + else + CONFARGS += --disable-multilib + endif +endif + +ifneq (,$(findstring softfloat,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --with-float=soft +endif + +ifneq (,$(findstring arm-vfp,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --with-fpu=vfp +endif + +ifneq (,$(findstring arm-linux-gnueabi,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --disable-sjlj-exceptions + ifeq ($(distribution),Ubuntu) + CONFARGS += --with-arch=armv6 --with-tune=cortex-a8 + CONFARGS += --with-float=softfp --with-fpu=vfp + endif +endif + +ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),m68k)) + CONFARGS += --disable-werror +endif + +ifeq ($(findstring sparc-linux,$(DEB_TARGET_GNU_TYPE)),sparc-linux) + ifeq ($(biarch64),yes) + ifeq ($(PKGSOURCE),gcc-snapshot) + CONFARGS += --enable-targets=all + endif + CONFARGS += --with-cpu=v8 + endif +endif + +ifneq (,$(findstring sparc64-linux,$(DEB_TARGET_GNU_TYPE))) + ifneq ($(biarch32),yes) + CONFARGS += --disable-multilib + endif +endif + +ifeq ($(findstring sh4-linux,$(DEB_TARGET_GNU_TYPE)),sh4-linux) + CONFARGS += --with-multilib-list=m4,m4-nofpu --with-cpu=sh4 +endif + +# lpia +ifeq ($(DEB_TARGET_ARCH),lpia) + CONFARGS += --with-arch=i686 --with-tune=i586 +endif + +ifeq ($(DEB_TARGET_ARCH_OS),linux) + ifneq (,$(findstring $(DEB_TARGET_ARCH), alpha powerpc ppc64 s390 s390x sparc sparc64)) + ifeq ($(DEB_TARGET_ARCH),alpha) + glibc_version := $(shell dpkg -s libc6.1 | awk '/^Version:/ {print $$2}') + else + glibc_version := $(shell dpkg -s libc6 | awk '/^Version:/ {print $$2}') + endif + with_ldbl128 := $(shell dpkg --compare-versions $(glibc_version) gt 2.3.99 && echo yes) + ifeq ($(with_ldbl128),yes) + CONFARGS += --with-long-double-128 + endif + endif +endif + +ifeq ($(findstring ia64-linux,$(DEB_TARGET_GNU_TYPE)),ia64-linux) + CONFARGS += --with-system-libunwind +endif + +ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 hurd-i386 kfreebsd-i386 kfreebsd-amd64)) + CONFARGS += --with-tune=generic +endif + +ifeq ($(findstring i486,$(DEB_TARGET_GNU_TYPE)),i486) + # conflicts with biarch builds, see cpu-default-i486 patch + #CONFARGS += --with-arch=i486 +endif + +ifeq ($(PKGSOURCE),gcc-snapshot) + ifeq ($(findstring --disable-werror, $(CONFARGS)),) + CONFARGS += --disable-werror + endif +else + CONFARGS += --enable-checking=release +endif + +ifneq ($(DEB_CROSS),yes) + CONFARGS += \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --target=$(TARGET_ALIAS) +else + CONFARGS += \ + --program-prefix=$(TARGET_ALIAS)- \ + --includedir=/$(PF)/$(DEB_TARGET_GNU_TYPE)/include \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --target=$(TARGET_ALIAS) +endif + +ifeq ($(with_bootstrap),) + # no profiledbootstrap on the following architectures + # - m68k: we're happy that it builds at all + # - ia64: doesn't work, see PR16108 + # - hppa: when using gcc-3.3.4 as stage1 compiler, nearly all of the + # tests in the libstdc++-v3 testsuite fail + no_profiled_bs_archs := hppa ia64 m68k + ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),$(no_profiled_bs_archs))) + bootstrap_target = bootstrap-lean + else + bootstrap_target = profiledbootstrap + endif +endif +bootstrap_target = bootstrap-lean + +# Increase the timeout for one testrun on slow architectures +ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),arm armel hppa m68k sparc)) + DEJAGNU_TIMEOUT=600 +else ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),amd64 i386 lpia)) + DEJAGNU_TIMEOUT=180 +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + DEJAGNU_TIMEOUT=900 +endif + +DEJAGNU_RUNS = +ifneq ($(PKGSOURCE),gcc-snapshot) +ifeq ($(with_ssp),yes) + ifneq ($(PKGSOURCE),gcc-snapshot) + DEJAGNU_RUNS += $(if $(filter yes,$(with_ssp_default)),-fno-stack-protector,-fstack-protector) + endif +endif +endif +ifeq ($(with_32bit_check),yes) + DEJAGNU_RUNS += -m32 +endif +ifeq ($(with_64bit_check),yes) + ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),mips mipsel)) + DEJAGNU_RUNS += -mabi=64 + else + DEJAGNU_RUNS += -m64 + endif +endif +ifeq ($(with_n32bit_check),yes) + DEJAGNU_RUNS += -mabi=n32 +endif +# the builds already take that long +ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),arm armel m68k)) + DEJAGNU_RUNS = +endif + +# gdc is not multilib'd +ifneq (,$(findstring gdc, $(PKGSOURCE))) + DEJAGNU_RUNS = +endif + +# neither is gnat +ifneq (,$(findstring gnat, $(PKGSOURCE))) + DEJAGNU_RUNS = +endif + +ifneq (,$(DEJAGNU_RUNS)) + RUNTESTFLAGS = RUNTESTFLAGS="--target_board=unix\{,$(subst $(SPACE),$(COMMA),$(strip $(DEJAGNU_RUNS)))\}" +endif + +default: build + +configure: $(configure_dependencies) + +$(configure_dummy_stamp): + touch $(configure_dummy_stamp) + +$(configure_stamp): + dh_testdir + : # give information about the build process + @echo "------------------------ Build process variables ------------------------" + @echo "Number of parallel processes used for the build: $(USE_CPUS)" + @echo "Package source: $(PKGSOURCE)" + @echo "GCC version: $(GCC_VERSION)" + @echo "Base Debian version: $(BASE_VERSION)" + @echo -e "Configured with: $(subst ___, ,$(foreach i,$(CONFARGS),$(i)\n\t))" +ifeq ($(DEB_CROSS),yes) + @echo "Building cross compiler for $(DEB_TARGET_ARCH)" +endif + @echo "Using shell $(SHELL)" + @echo "Architecture: $(DEB_TARGET_ARCH) (GNU: $(TARGET_ALIAS))" + @echo "CPPFLAGS: $(CPPFLAGS)" + @echo "CFLAGS: $(CFLAGS)" + @echo "LDFLAGS: $(LDFLAGS)" + @echo "BOOT_CFLAGS: $(BOOT_CFLAGS)" + @echo "DEBIAN_BUILDARCH: $(DEBIAN_BUILDARCH)" + @echo "Install prefix: /$(PF)" +ifeq ($(biarchn32)-$(biarch64),yes-yes) + @echo "Will build the triarch compilers (o32/n32/64, defaulting to o32)" +else + ifeq ($(biarch64),yes) + @echo "Will build the biarch compilers (32/64, defaulting to 32bit)" + else + ifeq ($(biarch32),yes) + @echo "Will build the biarch compilers (64/32, defaulting to 64bit)" + else + @echo "Will not build the biarch compilers" + endif + endif +endif + +ifeq ($(with_cxx),yes) + @echo "Will build the C++ compiler" +else + @echo "Will not build the C++ compiler: $(with_cxx)" +endif +ifeq ($(with_objc),yes) + @echo "Will build the ObjC compiler." + ifeq ($(with_objc_gc),yes) + @echo "Will build the extra ObjC runtime for garbage collection." + else + @echo "Will not build the extra ObjC runtime for garbage collection." + endif +else + @echo "Will not build the ObjC compiler: $(with_objc)" +endif +ifeq ($(with_objcxx),yes) + @echo "Will build the Obj-C++ compiler" +else + @echo "Will not build the Obj-C++ compiler: $(with_objcxx)" +endif +ifeq ($(with_fortran),yes) + @echo "Will build the Fortran 95 compiler." +else + @echo "Will not build the Fortran 95 compiler: $(with_fortran)" +endif +ifeq ($(with_java),yes) + @echo "Will build the Java compiler." +else + @echo "Will not build the Java compiler: $(with_java)" +endif +ifeq ($(with_pascal),yes) + @echo "Will build the Pascal compiler." +else + @echo "Will not build the Pascal compiler: $(with_pascal)" +endif +ifeq ($(with_ada),yes) + @echo "Will build the Ada compiler." + ifeq ($(with_libgnat),yes) + @echo "Will build the shared Ada libraries." + else + @echo "Will not build the shared Ada libraries." + endif +else + @echo "Will not build the Ada compiler: $(with_ada)" +endif +ifeq ($(with_d),yes) + @echo "Will build the D compiler" + ifeq ($(with_libphobos),yes) + @echo "Will build the phobos D runtime library." + else + @echo "Will not build the phobos D runtime library: $(with_libphobos)" + endif +else + @echo "Will not build the D compiler: $(with_d)" +endif +ifeq ($(with_ssp),yes) + @echo "Will build with SSP support." +else + @echo "Will build without SSP support: $(with_ssp)" +endif +ifeq ($(with_check),yes) + @echo "Will run the testsuite." + ifeq ($(biarch64),yes) + ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),mips mipsel)) + @echo 'Will run the testsuite with -mabi=64: $(with_64bit_check)' + else + @echo 'Will run the testsuite with -m64: $(with_64bit_check)' + endif + endif + ifeq ($(biarch32),yes) + @echo 'Will run the testsuite with -m32: $(with_32bit_check)' + endif + ifeq ($(biarchn32),yes) + @echo 'Will run the testsuite with -mabi=n32: $(with_n32bit_check)' + endif +else + @echo "Will not run the testsuite: $(with_check)" +endif +ifeq ($(with_nls),yes) + @echo "Will enable national language support." +else + @echo "Will disable national language support: $(with_nls)" +endif + @echo "-----------------------------------------------------------------------------" + @echo "" +ifeq ($(with_check),yes) + @if echo "spawn true" | /usr/bin/expect -f - >/dev/null; then \ + : ; \ + else \ + echo "expect is failing on your system with the above error, which means the GCC"; \ + echo "testsuite will fail. Please resolve the above issues and retry the build."; \ + echo "-----------------------------------------------------------------------------"; \ + exit 1; \ + fi +endif + rm -f $(configure_stamp) $(build_stamp) + : # generate debian/README.Debian + cat debian/README $(patch_stamp) > debian/README.Debian + + rm -rf $(builddir) + mkdir $(builddir) + + : # configure + cd $(builddir) \ + && PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + CC="$(CC)" \ + $(SET_SHELL) \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc/ada/rts \ + ../src/configure $(subst ___, ,$(CONFARGS)) + + touch $(configure_stamp) + +build: $(build_dependencies) + +$(build_dummy_stamp): + touch $(build_dummy_stamp) + +$(build_locale_stamp): +ifeq ($(locale_data),generate) + : # build locales needed by libstdc++ testsuite + rm -rf locales + mkdir locales + - sh debian/locale-gen +endif + touch $(build_locale_stamp) + + +$(build_stamp): $(configure_stamp) $(build_locale_stamp) + dh_testdir + rm -f bootstrap-protocol +# DEB_CROSS is never set if REVERSE_CROSS is set and vice-versa. +# DEB_CROSS build +ifeq ($(DEB_CROSS),yes) + : # build cross compiler for $(TARGET_ALIAS) + ( \ + set +e; \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir) $(NJOBS) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol + s=`cat status`; rm -f status; test $$s -eq 0 +else + # REVERSE_CROSS build + ifeq ($(REVERSE_CROSS),yes) + : # build cross compiler for $(TARGET_ALIAS) + ( \ + set +e; \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir) $(NJOBS) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol + s=`cat status`; rm -f status; test $$s -eq 0 +else + # Native build + ifeq ($(with_java),yes) + mkdir -p bin + ln -sf /usr/bin/fastjar bin/jar + ifeq ($(with_native_ecj),yes) + : # prepare the standalone ecj jar + cp /usr/share/java/ecj.jar $(srcdir)/ecj-standalone.jar + zip -d $(srcdir)/ecj-standalone.jar 'org/eclipse/jdt/core/JDTCompilerAdapter*' + endif + ifeq ($(with_java_maintainer_mode),yes) + ( \ + echo '#!/bin/sh'; \ + echo 'exec gij-4.3 -cp /usr/share/java/ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain "$$@"'; \ + ) > bin/ecj1 + chmod +x bin/ecj1 + : # If we don't have gjavah in PATH, try to build it with the old gij + mkdir -p bin + if [ -x /usr/bin/gjavah-4.3 ]; then \ + ln -sf /usr/bin/gjavah-4.3 bin/gjavah; \ + elif [ -x bin/gjavah ]; then \ + : ; \ + else \ + mkdir -p $(builddir)/java_hacks; \ + cd $(builddir)/java_hacks; \ + cp -a $(srcdir)/libjava/classpath/tools/external external; \ + mkdir -p gnu/classpath/tools; \ + cp -a $(srcdir)/libjava/classpath/tools/gnu/classpath/tools/{common,javah,getopt} \ + gnu/classpath/tools/; \ + cp -a $(srcdir)/libjava/classpath/resource/gnu/classpath/tools/common/Messages.properties \ + gnu/classpath/tools/common; \ + cd external/asm; \ + for i in `find . -name \*.java`; do gcj-4.3 --encoding ISO-8859-1 -C $$i -I.; done; \ + cd ../..; \ + for i in `find gnu -name \*.java`; do gcj-4.3 -C $$i -I. -Iexternal/asm/; done; \ + gcj-4.3 -findirect-dispatch -O2 -fmain=gnu.classpath.tools.javah.Main \ + -I. -Iexternal/asm/ `find . -name \*.class` -o $(PWD)/bin/gjavah.real; \ + ( \ + echo '#!/bin/sh'; \ + echo 'export CLASSPATH='`pwd`'$${CLASSPATH:+:$$CLASSPATH}'; \ + echo 'exec $(PWD)/bin/gjavah.real "$$@"'; \ + ) > $(PWD)/bin/gjavah; \ + chmod +x $(PWD)/bin/gjavah; \ + fi + endif + endif + : # build native compiler + ( \ + set +e; \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir) $(NJOBS) $(bootstrap_target) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(STAGE1_CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol + s=`cat status`; rm -f status; test $$s -eq 0 +endif +endif + -chmod 755 $(srcdir)/contrib/warn_summary + if [ -x $(srcdir)/contrib/warn_summary ]; then \ + rm -f bootstrap-summary; \ + $(srcdir)/contrib/warn_summary bootstrap-protocol \ + > bootstrap-summary; \ + fi + + touch $(build_stamp) + +ifeq ($(versioned_packages),yes) + hppa64_configure_flags += --program-suffix=-$(BASE_VERSION) +endif + +$(configure_hppa64_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_hppa64_stamp) $(build_hppa64_stamp) + rm -rf $(builddir_hppa64) + mkdir $(builddir_hppa64) + : # configure + cd $(builddir_hppa64) && \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + ../src/configure \ + --enable-languages=c \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --enable-multiarch \ + --disable-shared \ + --disable-nls \ + --disable-threads \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libssp \ + --with-as=/usr/bin/hppa64-linux-gnu-as \ + --with-ld=/usr/bin/hppa64-linux-gnu-ld \ + --includedir=/usr/hppa64-linux-gnu/include \ + --host=hppa-linux-gnu \ + --build=hppa-linux-gnu \ + --target=hppa64-linux-gnu + touch $(configure_hppa64_stamp) + +$(build_hppa64_stamp): $(configure_hppa64_stamp) + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir_hppa64) $(NJOBS) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) + touch $(build_hppa64_stamp) + +$(configure_vfp_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_vfp_stamp) $(build_vfp_stamp) + rm -rf $(builddir_vfp) + mkdir $(builddir_vfp) + : # configure + cd $(builddir_vfp) && \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + ../src/configure \ + --disable-bootstrap \ + --enable-languages=c,c++,objc,fortran \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --enable-multiarch \ + --disable-nls \ + --disable-libmudflap \ + --with-arch=armv5t --with-tune=cortex-a8 \ + --with-float=softfp --with-fpu=vfp \ + --host=arm-linux-gnueabi \ + --build=arm-linux-gnueabi \ + --target=arm-linux-gnueabi + touch $(configure_vfp_stamp) + +$(build_vfp_stamp): $(configure_vfp_stamp) + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir_vfp) $(NJOBS) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) + touch $(build_vfp_stamp) + +$(configure_ia6432_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_ia6432_stamp) $(build_ia6432_stamp) + rm -rf $(builddir_ia6432) + mkdir $(builddir_ia6432) + : # configure + cd $(builddir_ia6432) && \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + ../src/configure \ + --enable-languages=c \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --enable-multiarch \ + --disable-nls \ + --disable-libmudflap \ + --program-suffix=-$(BASE_VERSION) \ + --host=ia64-linux-gnu \ + --build=ia64-linux-gnu \ + --target=i486-linux-gnu + touch $(configure_ia6432_stamp) + +$(build_ia6432_stamp): $(configure_ia6432_stamp) + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir_ia6432) $(NJOBS) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) + touch $(build_ia6432_stamp) + +spu_configure_args = \ + --enable-languages=c,c++,fortran \ + --prefix=/$(PF) \ + --libexecdir=/$(spulibexecdir) \ + --disable-shared \ + --disable-nls \ + --disable-threads \ + --enable-checking=release \ + --disable-libssp \ + --with-system-zlib \ + --with-newlib \ + --program-prefix=spu- \ + --with-as=/usr/bin/spu-as \ + --with-ar=/usr/bin/spu-ar \ + --with-ld=/usr/bin/spu-ld +ifneq ($(PKGSOURCE),gcc-snapshot) + spu_configure_args += \ + --includedir=/usr/spu/include \ + --libdir=/usr/spu/lib +else + # FIXME fortran build failure + spu_configure_args := $(subst $(COMMA)fortran,,$(spu_configure_args)) + spu_configure_args += \ + --with-sysroot=/usr/spu +endif +spu_configure_args += \ + --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --target=spu + +$(configure_spu_stamp): $(src_spu_stamp) $(build_stamp) + dh_testdir + rm -f $(configure_spu_stamp) $(build_spu_stamp) + rm -rf $(builddir_spu) + mkdir $(builddir_spu) + : # configure + cd $(builddir_spu) && \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + ../src-spu/configure $(spu_configure_args) + touch $(configure_spu_stamp) + +$(build_spu_stamp): $(configure_spu_stamp) + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir_spu) $(NJOBS) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) + touch $(build_spu_stamp) + + +MANUALS = \ + $(srcdir)/gcc/doc/cpp.texi \ + $(srcdir)/gcc/doc/cppinternals.texi \ + $(srcdir)/gcc/doc/gcc.texi \ + $(srcdir)/gcc/doc/gccint.texi +ifeq ($(with_fortran),yes) + MANUALS += $(srcdir)/gcc/fortran/gfortran.texi +endif +ifeq ($(with_java),yes) + MANUALS += $(srcdir)/gcc/java/gcj.texi +endif +ifeq ($(with_ada),yes) + MANUALS += \ + $(builddir)/gcc/doc/gnat_ugn_unw.texi \ + $(srcdir)/gcc/ada/gnat_rm.texi \ + $(srcdir)/gcc/ada/gnat-style.texi +endif +ifeq ($(with_pascal),yes) + MANUALS += \ + $(srcdir)/gcc/p/doc/en/gpc.texi \ + $(srcdir)/gcc/p/doc/en/gpcs.texi +endif +ifeq ($(with_gomp),yes) + MANUALS += $(srcdir)/libgomp/libgomp.texi +endif + +html-docs: $(build_html_stamp) +#$(build_html_stamp): html-texi2html +#$(build_html_stamp): html-makeinfo +$(build_html_stamp): html-makeinfo-nosplit + +html-texi2html: + rm -rf html $(builddir)/gcc/html + mkdir $(builddir)/gcc/html + ln -s $(builddir)/gcc/html html + cd $(builddir)/gcc; \ + for manual in $(MANUALS); do \ + outname=`basename $${manual} .texi`; \ + echo "generating $$outname ..."; \ + texi2html -number -split chapter \ + -I $(srcdir)/gcc/doc/include \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I `dirname $${manual}` \ + -I $(builddir)/gcc \ + -subdir html \ + $${manual}; \ + done + +html-makeinfo: + rm -rf html + mkdir html + cd $(builddir)/gcc; \ + for manual in $(MANUALS); do \ + manual=`find $(srcdir) -name $${file}.texi`; \ + outname=`basename $${manual} .texi`; \ + echo "generating $$outname ..."; \ + if [ "$${manual}" ]; then \ + makeinfo --html --number-sections \ + -I $(srcdir)/gcc/doc/include -I `dirname $${manual}` \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I $(builddir)/gcc \ + -o $${outname} \ + $${manual}; \ + fi; \ + done + +html-makeinfo-nosplit: + rm -rf html + mkdir html + cd $(builddir)/gcc; \ + for manual in $(MANUALS); do \ + outname=`basename $${manual} .texi`.html; \ + echo "generating $$outname ..."; \ + makeinfo --html --number-sections --no-split \ + -I $(srcdir)/gcc/doc/include -I `dirname $${manual}` \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I $(builddir)/gcc \ + -o $(PWD)/html/$${outname} \ + $${manual}; \ + done + +# start the script only on architectures known to have slow autobilders ... +logwatch_archs := alpha arm armel m68k mips mipsel sparc +ifeq ($(DEB_HOST_GNU_CPU), $(findstring $(DEB_HOST_GNU_CPU),$(logwatch_archs))) + start_logwatch = yes +endif +ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) + start_logwatch = yes +endif + +stamps/mauve-build: stamps/build + rm -rf mauve + mkdir -p mauve +ifeq ($(with_mauve_check),yes) + tar xf $(wildcard /usr/src/mauve*.tar.*) + cd mauve \ + && aclocal \ + && automake \ + && autoconf2.59 \ + && PATH=$(CURDIR)/$(sdkimg)/bin:$$PATH ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) + PATH=$(CURDIR)/$(sdkimg)/bin:$$PATH $(MAKE) -C mauve +endif + touch $@ + +stamps/mauve-check: stamps/build stamps/mauve-build +ifeq ($(with_mauve_check),yes) + -cd mauve && \ + JAVA_HOME=$(CURDIR)/$(sdkimg) \ + PATH=$(CURDIR)/$(sdkimg)/bin:$$PATH \ + xvfb-run -s "-extension GLX" java Harness \ + -vm $(CURDIR)/$(sdkimg)/bin/java \ + -file $(CURDIR)/debian/mauve_tests \ + -timeout 30000 2>&1 \ + | tee mauve_output + @sleep 5 +else + echo "mauve testsuite not run for this build" > mauve/mauve_output +endif + touch $@ + +check: $(check_stamp) # $(if $(filter yes, $(with_java)),stamps/05-build-mauve-stamp) #$(check_inst_stamp) +$(check_stamp): $(build_stamp) $(build_locale_stamp) + rm -f test-protocol + +ifeq ($(start_logwatch),yes) + : # start logwatch script for regular output during test runs + chmod +x debian/logwatch.sh + -debian/logwatch.sh -t 900 -p $(builddir)/logwatch.pid \ + -m '\ntestsuite still running ...\n' \ + test-protocol \ + $(builddir)/gcc/testsuite/gcc/gcc.log \ + $(builddir)/gcc/testsuite/g++/g++.log \ + $(builddir)/gcc/testsuite/gfortran/gfortran.log \ + $(builddir)/gcc/testsuite/objc/objc.log \ + $(builddir)/gcc/testsuite/obj-c++/obj-c++.log \ + $(builddir)/gcc/testsuite/gnat/gnat.log \ + $(builddir)/gcc/testsuite/ada/acats/acats.log \ + $(builddir)/gcc/testsuite/gfortran/gfortran.log \ + $(builddir)/gcc/p/test/test_log \ + $(buildlibdir)/libstdc++-v3/testsuite/libstdc++-v3.log \ + $(buildlibdir)/libjava/testsuite/libjava.log \ + $(buildlibdir)/libmudflap/testsuite/libmudflap.log \ + $(buildlibdir)/libgomp/testsuite/libgomp.log \ + $(buildlibdir)/libffi/testsuite/libffi.log \ + & +endif + +ifeq ($(with_ada),yes) + chmod +x debian/acats-killer.sh + -debian/acats-killer.sh -p $(builddir)/acats-killer.pid \ + $(builddir)/gcc/testsuite/ada/acats/acats.log \ + $(builddir)/gcc/testsuite/g++.log \ + & +endif + + echo "Running testsuite ..." + -$(ULIMIT_M); \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + $(MAKE) -C $(checkdir) -k $(NJOBS) \ + check $(RUNTESTFLAGS) 2>&1 | tee test-protocol + + -ps aux | fgrep logwatch | fgrep -v fgrep + -if [ -f $(builddir)/logwatch.pid ]; then \ + kill -1 `cat $(builddir)/logwatch.pid`; \ + sleep 1; \ + kill -9 `cat $(builddir)/logwatch.pid`; \ + rm -f $(builddir)/logwatch.pid; \ + fi + -ps aux | fgrep logwatch | fgrep -v fgrep + +ifeq ($(with_ada),yes) + -if [ -f $(builddir)/acats-killer.pid ]; then \ + kill -1 `cat $(builddir)/acats-killer.pid`; \ + sleep 1; \ + kill -9 `cat $(builddir)/acats-killer.pid`; \ + rm -f $(builddir)/acats-killer.pid; \ + fi +endif + + : # running the libjava testsuite alone is missing this information + $(builddir)/gcc/xgcc -B$(builddir)/gcc/ -v > $(builddir)/compiler_version.sum 2>&1 + + -chmod 755 $(srcdir)/contrib/test_summary + if [ -x $(srcdir)/contrib/test_summary ]; then \ + rm -f test-summary; \ + ( \ + cd $(builddir); \ + echo '' > ts-include; \ + echo '' >> ts-include; \ + if [ -f $(builddir)/gcc/.bad_compare ]; then \ + echo 'Bootstrap comparison failure:' >> ts-include; \ + cat $(builddir)/gcc/.bad_compare >> ts-include; \ + echo '' >> ts-include; \ + echo '' >> ts-include; \ + fi; \ + echo "Build Dependencies:" >> ts-include; \ + dpkg -l binutils `echo '$(LIBC_DEP)' | awk '{print $$1}'` \ + >> ts-include; \ + echo '' >> ts-include; \ + cat ../$(patch_stamp) >> ts-include; \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + $(srcdir)/contrib/test_summary \ + -i ts-include -m "$(S_EMAIL)" \ + ) > raw-test-summary; \ + if [ -n "$(testsuite_tarball)" ]; then \ + echo "Test suite used: $(testsuite_srcdir)" > test-summary; \ + echo " Do not interpret the results on its own" >> test-summary; \ + echo " but compare them with the results from" >> test-summary; \ + echo " the gcc-snapshot package." >> test-summary; \ + fi; \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-summary \ + >> test-summary; \ + awk '/^cat/, /^EOF/' raw-test-summary | grep -v EOF >> test-summary; \ + if [ -f bootstrap-summary -a "$(bootstrap_target)" != profiledbootstrap ]; then \ + echo '' >> test-summary; \ + cat bootstrap-summary >> test-summary; \ + fi; \ + echo 'BEGIN test-summary'; \ + cat test-summary; \ + echo 'END test-summary'; \ + fi + + touch $(check_stamp) + +$(check_inst_stamp): $(check_stamp) + rm -f test-inst-protocol + +ifeq ($(start_logwatch),yes) + : # start logwatch script for regular output during test runs + chmod +x debian/logwatch.sh + -debian/logwatch.sh -t 900 -p $(builddir)/logwatch-inst.pid \ + -m '\ntestsuite (3.3) still running ...\n' \ + test-inst-protocol \ + check-inst/{gcc,g++,g77,objc}.log \ + & +endif + + rm -rf check-inst + mkdir check-inst + + echo "Running testsuite ..." + -$(ULIMIT_M) ; \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + cd check-inst && $(srcdir)/contrib/test_installed \ + --with-gcc=gcc-3.3 --with-g++=g++-3.3 --with-g77=g77-3.3 \ + 2>&1 | tee test-inst-protocol + + -ps aux | fgrep logwatch | fgrep -v fgrep + if [ -f $(builddir)/logwatch-inst.pid ]; then \ + kill -1 `cat $(builddir)/logwatch-inst.pid`; \ + else \ + true; \ + fi + -ps aux | fgrep logwatch | fgrep -v fgrep + + -chmod 755 $(srcdir)/contrib/test_summary + if [ -x $(srcdir)/contrib/test_summary ]; then \ + rm -f test-inst-summary; \ + ( \ + cd check-inst; \ + echo '' > ts-include; \ + echo '' >> ts-include; \ + echo "Build Dependencies:" >> ts-include; \ + dpkg -l g++-3.3 binutils `echo '$(LIBC_DEP)' | awk '{print $$1}'` \ + >> ts-include; \ + echo '' >> ts-include; \ + echo 'Results for the installed GCC-3.3 compilers' >> ts-include; \ + $(srcdir)/contrib/test_summary \ + -i ts-include -m "$(S_EMAIL)" \ + ) > raw-test-inst-summary; \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-inst-summary \ + >> test-inst-summary; \ + awk '/^cat/, /^EOF/' raw-test-inst-summary \ + | grep -v EOF >> test-inst-summary; \ + echo 'BEGIN test-installed-summary'; \ + cat test-inst-summary; \ + echo 'END test-installed-summary'; \ + fi + + chmod 755 debian/reduce-test-diff.awk + if diff -u test-inst-summary test-summary \ + | debian/reduce-test-diff.awk > diff-summary; \ + then \ + mv -f diff-summary testsuite-comparision; \ + else \ + ( \ + echo "WARNING: New failures in gcc-3.4 compared to gcc-3.3"; \ + echo ''; \ + cat diff-summary; \ + ) > testsuite-comparision; \ + rm -f diff-summary; \ + fi + touch $(check_inst_stamp) + +clean: debian/control + dh_testdir + rm -f pxxx status + rm -f *-summary *-protocol testsuite-comparision summary-diff +ifeq ($(with_pascal),yes) + -rm -f $(srcdir)/gcc/p/doc/*info + rm -f $(srcdir)/gcc/p/test/{fjf51,fjf141aa,fjf199aa,magic,?,knownbugs/a.out} +endif + if [ -f $(srcdir)/gcc/p/config-lang.in.debian ]; then \ + mv -f $(srcdir)/gcc/p/config-lang.in.debian $(srcdir)/gcc/p/config-lang.in; \ + else true; fi + rm -f $(srcdir)/gcc/po/*.gmo + rm -f debian/lib{gcc,gcj,objc,stdc++}{-v3,[0-9]}*.{{pre,post}{inst,rm},shlibs} + fs=`echo debian/*-BV* debian/*GCJ* debian/*CXX* debian/*LC* debian/*MF* | sort -u`; \ + for f in $$fs; do \ + [ -f $$f ] || continue; \ + f2=$$(echo $$f \ + | sed 's/BV/$(BASE_VERSION)/;s/PV/$(GPC_BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LGCJ/$(PKG_LIBGCJ_EXT)/;s/GCJ/$(PKG_GCJ_EXT)/;s/LC/$(GCC_SONAME)/;s/MF/$(MUDFLAP_SONAME)/'); \ + rm -f $$f2; \ + done + rm -f debian/shlibs.local debian/substvars.local + rm -f debian/*.debhelper + -[ -d debian/bugs ] && $(MAKE) -C debian/bugs clean + rm -f debian/README.libstdc++-baseline debian/README.Bugs + rm -f debian/lib*gcj-bc.shlibs + rm -rf bin locales share + rm -rf check-inst + dh_clean + +# ----------------------------------------------------------------------------- +# some abbrevations for the package names and directories; +# p_XXX is the package name, d_XXX is the package directory +# these macros are only used in the binary-* targets. + +ifeq ($(versioned_packages),yes) + pkg_ver := -$(BASE_VERSION) +endif + +ifneq ($(DEB_CROSS),yes) + p_base = gcc$(pkg_ver)-base + p_gcc = gcc$(pkg_ver) + p_cpp = cpp$(pkg_ver) + p_cppd = cpp$(pkg_ver)-doc + p_cxx = g++$(pkg_ver) + p_doc = gcc$(pkg_ver)-doc + p_lgcc = libgcc$(GCC_SONAME) +else + # only triggered if DEB_CROSS set + p_base = gcc$(pkg_ver)$(cross_bin_arch)-base + p_cpp = cpp$(pkg_ver)$(cross_bin_arch) + p_gcc = gcc$(pkg_ver)$(cross_bin_arch) + p_cxx = g++$(pkg_ver)$(cross_bin_arch) +endif +p_hppa64 = gcc$(pkg_ver)-hppa64 +p_spugcc = gcc$(pkg_ver)-spu + +d = debian/tmp +d_base = debian/$(p_base) +d_gcc = debian/$(p_gcc) +d_cpp = debian/$(p_cpp) +d_cppd = debian/$(p_cppd) +d_cxx = debian/$(p_cxx) +d_doc = debian/$(p_doc) +d_lgcc = debian/$(p_lgcc) +d_hppa64= debian/$(p_hppa64) + +d_spu = debian/tmp-spu +d_vfp = debian/tmp-vfp + +common_substvars = \ + $(shell awk "{printf \"'-V%s' \", \$$0}" debian/substvars.local) + +# --------------------------------------------------------------------------- + +ifeq ($(PKGSOURCE),gcc-snapshot) + include debian/rules.d/binary-snapshot.mk +else + +ifneq ($(DEB_CROSS),yes) +# ---------------------------------------- +# native target + +ifeq ($(with_gccbase),yes) + include debian/rules.d/binary-base.mk +endif +include debian/rules.d/binary-libgcc.mk + +ifeq ($(with_gccmath),yes) + include debian/rules.d/binary-libgccmath.mk +endif + +ifeq ($(with_libgomp),yes) + include debian/rules.d/binary-libgomp.mk +endif + +ifeq ($(with_source),yes) + include debian/rules.d/binary-source.mk +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-cpp.mk +endif + +ifeq ($(with_proto),yes) + include debian/rules.d/binary-proto.mk +endif + +ifeq ($(with_fixincl),yes) + include debian/rules.d/binary-fixincl.mk +endif + +ifeq ($(with_mudflap),yes) + include debian/rules.d/binary-libmudflap.mk +endif + +ifeq ($(with_libssp),yes) + include debian/rules.d/binary-libssp.mk +endif + +ifeq ($(with_objcxx),yes) + include debian/rules.d/binary-objcxx.mk +endif + +ifeq ($(with_objc),yes) + include debian/rules.d/binary-objc.mk +endif +ifeq ($(with_libobjc),yes) + include debian/rules.d/binary-libobjc.mk +endif + +# include before cxx +ifeq ($(with_java),yes) + include debian/rules.d/binary-java.mk +endif + +ifeq ($(with_cxxdev),yes) + include debian/rules.d/binary-cxx.mk +endif +ifeq ($(with_cxx),yes) + include debian/rules.d/binary-libstdcxx.mk +endif + +ifeq ($(with_f77),yes) + include debian/rules.d/binary-f77.mk +endif + +ifeq ($(with_fortran),yes) + include debian/rules.d/binary-fortran.mk +endif + +ifeq ($(with_ada),yes) + include debian/rules.d/binary-ada.mk +endif + +ifeq ($(with_pascal),yes) + include debian/rules.d/binary-pascal.mk +endif + +ifeq ($(with_d),yes) + include debian/rules.d/binary-d.mk +endif + +ifeq ($(with_libnof),yes) + ifeq ($(DEB_TARGET_GNU_CPU),powerpc) + include debian/rules.d/binary-nof.mk + endif +endif + +# gcc must be moved/built after g77 and g++ +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-gcc.mk +endif + +ifeq ($(with_hppa64),yes) + include debian/rules.d/binary-hppa64.mk +endif + +ifeq ($(with_vfp),yes) + include debian/rules.d/binary-vfp.mk +endif + +ifeq ($(with_spu),yes) + include debian/rules.d/binary-spu.mk +endif + +else +# ---------------------------------------- +# cross target + +ifeq ($(with_gccxbase),yes) + include debian/rules.d/binary-base.mk +endif + +ifeq ($(with_libgcc),yes) + include debian/rules.d/binary-libgcc-cross.mk +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-cpp-cross.mk +endif + +ifeq ($(with_objcxx),yes) + include debian/rules.d/binary-objcxx-cross.mk +endif + +ifeq ($(with_objc),yes) + include debian/rules.d/binary-objc-cross.mk +endif +ifeq ($(with_libobjc),yes) + include debian/rules.d/binary-libobjc-cross.mk +endif + +ifeq ($(with_cxxdev),yes) + include debian/rules.d/binary-cxx-cross.mk +endif +ifeq ($(with_cxx),yes) + include debian/rules.d/binary-libstdcxx-cross.mk +endif + +ifeq ($(with_libnof),yes) + ifeq ($(DEB_TARGET_GNU_CPU),powerpc) + include debian/rules.d/binary-nof-cross.mk + endif +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-gcc-cross.mk +endif + +endif +endif # ($(PKGSOURCE),gcc-snapshot) + +# ---------------------------------------------------------------------- +install: $(install_dependencies) + +$(install_dummy_stamp): $(build_dummy_stamp) + touch $(install_dummy_stamp) + +$(install_snap_stamp): $(build_dependencies) + dh_testdir + dh_testroot + dh_clean -k + + : # Install directories + rm -rf $(d) + mkdir -p $(d)/$(PF) + +ifeq ($(with_hppa64),yes) + : # Install hppa64 + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(MAKE) -C $(builddir_hppa64) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d) \ + install + + ls -l $(d)/$(PF)/bin + if [ ! -x $(d)/$(PF)/bin/hppa64-linux-gnu-gcc ]; then \ + mv $(d)/$(PF)/bin/hppa64-linux-gnu-gcc-4* $(d)/$(PF)/bin/hppa64-linux-gnu-gcc; \ + else \ + rm -f $(d)/$(PF)/bin/hppa64-linux-gnu-gcc-4*; \ + fi + + : # remove files not needed from the hppa64 build + rm -rf $(d)/$(PF)/info + rm -rf $(d)/$(PF)/man + rm -f $(d)/$(PF)/lib/libiberty.a + rm -f $(d)/$(PF)/bin/*{protoize,gcov,gccbug,gcc} + + rm -rf $(d)/$(PF)/hppa64-linux-gnu/include + rm -rf $(d)/$(PF)/hppa64-linux-gnu/lib + set -e; \ + cd $(d)/$(PF)/$(libdir)/gcc/hppa64-linux-gnu/$(GCC_VERSION)/include-fixed; \ + for i in *; do \ + case "$$i" in \ + README|features.h|syslimits.h|limits.h) ;; \ + linux|$(TARGET_ALIAS)) ;; \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \ + *) echo "remove include-fixed/$$i"; rm -rf $$i; \ + esac; \ + done +endif + +ifeq ($(with_spu),yes) + : # Install spu + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(MAKE) -C $(builddir_spu) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d) \ + install + + ls -l $(d)/$(PF)/bin + if [ ! -x $(d)/$(PF)/bin/spu-gcc ]; then \ + mv $(d)/$(PF)/bin/spu-gcc-4* $(d)/$(PF)/bin/spu-gcc; \ + else \ + rm -f $(d)/$(PF)/bin/spu-gcc-4*; \ + fi + if [ ! -x $(d)/$(PF)/bin/spu-g++ ]; then \ + mv $(d)/$(PF)/bin/spu-g++-4* $(d)/$(PF)/bin/spu-g++; \ + else \ + rm -f $(d)/$(PF)/bin/spu-g++-4*; \ + fi +ifneq (,$(findstring fortran, $(spu_configure_args))) + if [ ! -x $(d)/$(PF)/bin/spu-gfortran ]; then \ + mv $(d)/$(PF)/bin/spu-gfortran-4* $(d)/$(PF)/bin/spu-gfortran; \ + else \ + rm -f $(d)/$(PF)/bin/spu-gfortran-4*; \ + fi +endif + rm -f $(d)/$(PF)/bin/spu-c++* + + : # remove files not needed from the spu build + rm -rf $(d)/$(PF)/info + rm -rf $(d)/$(PF)/man + rm -f $(d)/$(PF)/lib/libiberty.a + rm -f $(d)/$(PF)/bin/*{protoize,gcov,gccbug,gcc} + + rm -rf $(d)/$(PF)/spu/include + rm -rf $(d)/$(PF)/spu/lib + set -e; \ + cd $(d)/$(PF)/$(libdir)/gcc/spu/$(GCC_VERSION)/include-fixed; \ + for i in *; do \ + case "$$i" in \ + README|features.h|syslimits.h|limits.h) ;; \ + linux|$(TARGET_ALIAS)) ;; \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \ + *) echo "remove include-fixed/$$i"; rm -rf $$i; \ + esac; \ + done +endif + + : # Install everything + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d) \ + infodir=/$(PF)/share/info \ + mandir=/$(PF)/share/man \ + install + + ls -l $(d)/$(PF)/bin + if [ ! -x $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc ]; then \ + mv $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc-4* $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc; \ + else \ + rm -f $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc-4*; \ + fi + set -e; \ + cd $(d)/$(gcc_lib_dir)/include-fixed; \ + for i in *; do \ + case "$$i" in \ + README|features.h|syslimits.h|limits.h) ;; \ + linux|$(TARGET_ALIAS)) ;; \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \ + *) echo "remove include-fixed/$$i"; rm -rf $$i; \ + esac; \ + done + +ifeq ($(biarch64)-$(with_cxx),yes-yes) + ifneq (,$(filter libstdc++-v3, $(biarch_multidir_names))) + : # fix biarch C++ header installation + ifeq ($(DEB_TARGET_ARCH),i386) + mv $(d)/$(cxx_inc_dir)/x86_64-linux-gnu/64 \ + $(d)/$(cxx_inc_dir)/i486-linux-gnu/ + rmdir $(d)/$(cxx_inc_dir)/x86_64-linux-gnu + endif + ifeq ($(DEB_TARGET_ARCH),powerpc) + mv $(d)/$(cxx_inc_dir)/powerpc64-linux-gnu/64 \ + $(d)/$(cxx_inc_dir)/powerpc-linux-gnu/ + rmdir $(d)/$(cxx_inc_dir)/powerpc64-linux-gnu + endif + ifeq ($(DEB_TARGET_ARCH),s390) + mv $(d)/$(cxx_inc_dir)/s390x-linux-gnu/64 \ + $(d)/$(cxx_inc_dir)/s390-linux-gnu/ + rmdir $(d)/$(cxx_inc_dir)/s390x-linux-gnu + endif + endif +endif + + -ls -l $(d)/usr + if [ -d $(d)/usr/man/man1 ]; then \ + mv $(d)/usr/man/man1/* $(d)/usr/share/man/man1/; \ + fi + + chmod 755 debian/dh_* + touch $(install_snap_stamp) + +$(install_stamp): $(build_stamp) + dh_testdir + dh_testroot + dh_clean -k -N$(p_hppa64) -N$(p_spugcc) + + if [ -f $(binary_stamp)-hppa64 ]; then \ + mv $(binary_stamp)-hppa64 saved-stamp-hppa64; \ + fi + if [ -f $(binary_stamp)-spu ]; then \ + mv $(binary_stamp)-spu saved-stamp-spu; \ + fi + rm -f $(binary_stamp)* + if [ -f saved-stamp-hppa64 ]; then \ + mv saved-stamp-hppa64 $(binary_stamp)-hppa64; \ + fi + if [ -f saved-stamp-spu ]; then \ + mv saved-stamp-spu $(binary_stamp)-spu; \ + fi + + : # Install directories + rm -rf $(d) + mkdir -p $(d)/$(libdir) $(d)/$(PF) $(d)/$(PF)/lib/debug +ifeq ($(biarch32),yes) + mkdir -p $(d)/$(PF)/lib32/debug +endif +ifeq ($(biarch64),yes) + mkdir -p $(d)/$(PF)/lib64/debug +endif +ifeq ($(biarchn32),yes) + mkdir -p $(d)/$(PF)/$(libn32)/debug +endif + +ifneq (,$(filter $(DEB_TARGET_GNU_CPU),x86_64 sparc64)) + : # link lib to lib64 and $(PF)/lib to $(PF)/lib64 + : # (this works when CONFARGS contains '--disable-multilib') + ln -s $(libdir) $(d)/lib64 + mkdir -p $(d)/$(PF)/$(libdir) + ln -s $(libdir) $(d)/$(PF)/lib64 +endif + + : # Install everything + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d) \ + infodir=/$(PF)/share/info \ + mandir=/$(PF)/share/man \ + install + +ifeq ($(with_common_gcclibdir),yes) + mv $(d)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lib_dir)) \ + $(d)/$(gcc_lib_dir) + ifneq ($(gcc_lib_dir),$(gcc_lexec_dir)) + mv $(d)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lexec_dir)) \ + $(d)/$(gcc_lexec_dir) + endif + ifeq ($(with_d)-$(with_libphobos),yes-yes) + mv $(d)/$(PF)/include/d$(libphobos_version)/$(GCC_VERSION) \ + $(d)/$(PF)/include/d$(libphobos_version)/$(BASE_VERSION) + endif +endif + +ifeq ($(biarch64)-$(with_cxx),yes-yes) + ifneq (,$(filter libstdc++-v3, $(biarch_multidir_names))) + ifeq ($(DEB_TARGET_ARCH),i386) + : # fix biarch C++ header installation + mv $(d)/$(cxx_inc_dir)/x86_64-linux-gnu/64 \ + $(d)/$(cxx_inc_dir)/i486-linux-gnu/ + rmdir $(d)/$(cxx_inc_dir)/x86_64-linux-gnu + endif + ifeq ($(DEB_TARGET_ARCH),powerpc) + : # fix biarch C++ header installation + mv $(d)/$(cxx_inc_dir)/powerpc64-linux-gnu/64 \ + $(d)/$(cxx_inc_dir)/powerpc-linux-gnu/ + rmdir $(d)/$(cxx_inc_dir)/powerpc64-linux-gnu + endif + endif +endif + + : # remove rpath settings from binaries and shared libs + for i in $$(chrpath -k $(d)/$(PF)/bin/* $(d)/$(PF)/lib*/lib*.so.* \ + $(d)/$(PF)/lib*/gcj$(pkg_ver)*/lib*.so.* \ + 2>/dev/null | awk -F: '/RPATH=/ {print $$1}'); \ + do \ + case "$$i" in ecj1|*gij-*|*libjawt*|*libjvm*) continue; esac; \ + [ -h $$i ] && continue; \ + chrpath --delete $$i; \ + echo "removed RPATH: $$i"; \ + done + + : # fix '*.la' and '*.lai' files + for i in $$(find $(d) -name '*.la' -o -name '*.lai'); do \ + libdir=$$(sed -n "s,^libdir='\(.*\)'.*,\1,p" $$i); \ + [ -z "$$libdir" ] && continue; \ + libdir=$$(realpath -s $$libdir); \ + sed -e "s,^libdir='\(.*\)'.*,libdir='$$libdir'," \ + -e 's, -L$(builddir)[^ ]*,,g' \ + $$i > $$i.new; \ + if diff -u $$i $$i.new; then \ + rm -f $$i.new; \ + else \ + echo "$$i: path normalized"; \ + touch -r $$i $$i.new; \ + mv -f $$i.new $$i; \ + fi; \ + done + +ifeq (,$(filter $(DEB_TARGET_ARCH), amd64 sparc64)) + : # fix '*.la' and '*.lai' files (don't resolve the /lib64 symlink) + for i in $$(find $(d) -name '*.la' -o -name '*.lai'); do \ + sed -e 's,/usr/lib64,/usr/lib,g' -e 's,/lib/\.\./lib64,/lib,g' \ + $$i > $$i.new; \ + if diff -u $$i $$i.new; then \ + rm -f $$i.new; \ + else \ + echo "$$i: references to lib64 fixed"; \ + touch -r $$i $$i.new; \ + mv -f $$i.new $$i; \ + fi; \ + done +endif + +ifneq ($(with_libgnat),yes) + rm -f $(d)/$(gcc_lib_dir)/adalib/lib*.so* +endif + +ifeq ($(GFDL_INVARIANT_FREE),yes) + for i in gcc gcov; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + + ifeq ($(with_fortran),yes) + for i in g77; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif + ifeq ($(with_java),yes) + for i in gcj gcjh gij jv-convert jv-scan jcf-dump grmic grmiregistry; \ + do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif +endif + +ifeq ($(with_pascal),yes) + : # gpc is already versioned with the gcc version. + mv $(d)/$(PF)/bin/gpc$(pkg_ver) $(d)/$(PF)/bin/gpc + mv $(d)/$(PF)/share/man/man1/gpc$(pkg_ver).1 \ + $(d)/$(PF)/share/man/man1/gpc.1 +endif +ifeq ($(versioned_packages),yes) + ifeq ($(with_pascal),yes) + ifeq ($(GFDL_INVARIANT_FREE),yes) + for i in binobj gpc gpc-run gpidump; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" \ + -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif + ifeq ($(with_gpidump),yes) + : # rename files (versioned gpc binaries) + for i in binobj gpc gpc-run gpidump; do \ + mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i$(pkg_ver); \ + done + : # rename files (versioned gpc man pages) + for i in binobj gpc gpc-run gpidump; do \ + mv $(d)/$(PF)/share/man/man1/$$i.1 \ + $(d)/$(PF)/share/man/man1/$$i$(pkg_ver).1; \ + done + else + : # rename files (versioned gpc binaries) + for i in binobj gpc gpc-run; do \ + mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i$(pkg_ver); \ + done + : # rename files (versioned gpc man pages) + for i in binobj gpc gpc-run; do \ + mv $(d)/$(PF)/share/man/man1/$$i.1 \ + $(d)/$(PF)/share/man/man1/$$i$(pkg_ver).1; \ + done + endif + endif +endif + +# ifeq ($(with_ada),yes) +# : # rename files (versioned ada binaries) +# for i in ; do \ +# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \ +# mv $(d)/$(PF)/share/man/man1/$$i.1 \ +# $(d)/$(PF)/share/man/man1/$$i-$(GNAT_VERSION).1; \ +# done +# for i in $(GNAT_TOOLS); do \ +# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \ +# done +# endif + +#ifneq ($(with_libgcc),yes) +# : # needed for dependency of other shared libs +# echo 'libgcc_s $(GCC_SONAME) libgcc$(GCC_SONAME) (>= $(DEB_LIBGCC_SOVERSION))' \ +# > debian/shlibs.local +#endif + +ifeq ($(DEB_CROSS),yes) + ifeq ($(DEB_TARGET_ARCH),s390) + : # s390 64bit stuff happens to be in s390x-linux-gnu/lib64/ + mkdir -p $(d)/$(PF)/s390-linux-gnu/lib64 + cp -a $(d)/$(PF)/s390x-linux-gnu/lib64/* $(d)/$(PF)/s390-linux-gnu/lib64/ + endif +endif + + chmod 755 debian/dh_* + +# tar cf tmp.tar debian/tmp + + touch $(install_stamp) + +$(install_hppa64_stamp): $(build_hppa64_stamp) + dh_testdir + dh_testroot + rm -rf $(d_hppa64) + mkdir -p $(d_hppa64)/$(PF) + + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(MAKE) -C $(builddir_hppa64) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d_hppa64) \ + install + +ifeq ($(versioned_packages),yes) + mv $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-gcc-$(GCC_VERSION) \ + $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-gcc$(pkg_ver) + mv $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-cpp \ + $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-cpp$(pkg_ver) +endif + +ifneq ($(PKGSOURCE),gcc-snapshot) + : # remove files not needed + rm -rf $(d_hppa64)/$(PF)/info + rm -rf $(d_hppa64)/$(PF)/man + rm -f $(d_hppa64)/$(PF)/lib/libiberty.a + rm -f $(d_hppa64)/$(PF)/bin/*{protoize,gcov,gccbug,gcc} + + rm -rf $(d_hppa64)/$(PF)/hppa64-linux-gnu/include + rm -rf $(d_hppa64)/$(PF)/hppa64-linux-gnu/lib + rm -rf $(d_hppa64)//$(PF)/lib/gcc/hppa64-linux-gnu/$(GCC_VERSION)/install-tools +endif + + touch $(install_hppa64_stamp) + +$(install_vfp_stamp): $(build_vfp_stamp) + dh_testdir + dh_testroot + rm -rf $(d_vfp) + mkdir -p $(d_vfp)/$(PF) + + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(MAKE) -C $(builddir_vfp) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d_vfp) \ + install + touch $(install_vfp_stamp) + +$(install_spu_stamp): $(build_spu_stamp) + dh_testdir + dh_testroot + rm -rf $(d_spu) + mkdir -p $(d_spu)/$(PF) + + PATH=$(PWD)/bin:/usr/lib/gcc/bin:$$PATH \ + $(MAKE) -C $(builddir_spu) \ + CC="$(CC)" \ + $(CFLAGS_TO_PASS) \ + $(LDFLAGS_TO_PASS) \ + DESTDIR=$(PWD)/$(d_spu) \ + install + +ifeq ($(with_common_gcclibdir),yes) + mv $(d_spu)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_spu_lib_dir)) \ + $(d_spu)/$(gcc_spu_lib_dir) + ifneq ($(gcc_spu_lib_dir),$(gcc_spu_lexec_dir)) + mv $(d_spu)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_spu_lexec_dir)) \ + $(d_spu)/$(gcc_spu_lexec_dir) + endif +endif + +ifeq ($(versioned_packages),yes) + mv $(d_spu)/$(PF)/bin/spu-cpp \ + $(d_spu)/$(PF)/bin/spu-cpp$(pkg_ver) + mv $(d_spu)/$(PF)/bin/spu-gcc-$(GCC_VERSION) \ + $(d_spu)/$(PF)/bin/spu-gcc$(pkg_ver) + mv $(d_spu)/$(PF)/bin/spu-g++ \ + $(d_spu)/$(PF)/bin/spu-g++$(pkg_ver) + mv $(d_spu)/$(PF)/bin/spu-gfortran \ + $(d_spu)/$(PF)/bin/spu-gfortran$(pkg_ver) + rm -f $(d_spu)/$(PF)/bin/spu-c++* + + ifneq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_spu)/$(PF)/share + mv $(d_spu)/$(PF)/man $(d_spu)/$(PF)/share/ + for i in spu-cpp spu-gcc spu-g++ spu-gcov spu-gfortran; do \ + mv $(d_spu)/$(PF)/share/man/man1/$$i.1 $(d_spu)/$(PF)/share/man/man1/$$i-$(BASE_VERSION).1; \ + done + endif +endif + +ifneq ($(PKGSOURCE),gcc-snapshot) + : # remove files not needed + rm -rf $(d_spu)/$(PF)/info +# rm -rf $(d_spu)/$(PF)/man + rm -f $(d_spu)/$(PF)/lib/libiberty.a + rm -f $(d_spu)/$(PF)/bin/*{protoize,gcov,gccbug,gcc} + +# rm -rf $(d_spu)/$(PF)/spu/include +# rm -rf $(d_spu)/$(PF)/spu/lib +endif + + touch $(install_spu_stamp) + +# ---------------------------------------------------------------------- +# Build architecture-dependent files here. +#binary-arch: build install $(foreach i,$(arch_binaries),$(binary_stamp)-$(i)) +binary-arch: $(foreach i,$(arch_binaries),$(binary_stamp)-$(i)) +ifeq ($(with_check),yes) + @echo Done +# : # Send Email about sucessfull build. +# # cat raw-test-summary | sh; echo "Sent mail to $(S_EMAIL)" +endif + +# ---------------------------------------------------------------------- +# Build architecture-independent files here. +#binary-indep: build install $(foreach i,$(indep_binaries),$(binary_stamp)-$(i)) +binary-indep: $(foreach i,$(indep_binaries),$(binary_stamp)-$(i)) + +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 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.powerpc +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.powerpc @@ -0,0 +1,3 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.mipsel +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.mipsel @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.ldbl.32bit.s390 +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.ldbl.32bit.s390 @@ -0,0 +1,283 @@ + CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1 + GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1 + GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTIPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTIPg@CXXABI_LDBL_1.3 4.2.1 + _ZTIg@CXXABI_LDBL_1.3 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTSPg@CXXABI_LDBL_1.3 4.2.1 + _ZTSg@CXXABI_LDBL_1.3 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.alpha +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.alpha @@ -0,0 +1,107 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4.4@GCC_3.4.4 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 1:4.2.1 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __absvti2@GCC_3.4.4 1:4.1.1 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __addvti3@GCC_3.4.4 1:4.1.1 + __ashlti3@GCC_3.0 1:4.1.1 + __ashrti3@GCC_3.0 1:4.1.1 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzti2@GCC_3.4 1:4.1.1 + __cmpti2@GCC_3.0 1:4.1.1 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzti2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divdc3@GCC_4.0.0 1:4.1.1 + __divsc3@GCC_4.0.0 1:4.1.1 + __divtc3@GCC_LDBL_4.0.0 1:4.2.1 + __divti3@GCC_3.0 1:4.1.1 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffsti2@GCC_3.0 1:4.1.1 + __fixdfti@GCC_3.0 1:4.1.1 + __fixsfti@GCC_3.0 1:4.1.1 + __fixtfti@GCC_3.0 1:4.2.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfti@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfti@GCC_3.0 1:4.1.1 + __fixunstfti@GCC_3.0 1:4.2.1 + __floattidf@GCC_3.0 1:4.1.1 + __floattisf@GCC_3.0 1:4.1.1 + __floattitf@GCC_3.0 1:4.2.1 + __floatuntidf@GCC_4.2.0 1:4.2.1 + __floatuntisf@GCC_4.2.0 1:4.2.1 + __floatuntitf@GCC_4.2.0 1:4.2.1 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __lshrti3@GCC_3.0 1:4.1.1 + __modti3@GCC_3.0 1:4.1.1 + __muldc3@GCC_4.0.0 1:4.1.1 + __mulsc3@GCC_4.0.0 1:4.1.1 + __multc3@GCC_LDBL_4.0.0 1:4.2.1 + __multi3@GCC_3.0 1:4.1.1 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __mulvti3@GCC_3.4.4 1:4.1.1 + __negti2@GCC_3.0 1:4.1.1 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __negvti2@GCC_3.4.4 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __parityti2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountti2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __powitf2@GCC_LDBL_4.0.0 1:4.2.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __subvti3@GCC_3.4.4 1:4.1.1 + __ucmpti2@GCC_3.0 1:4.1.1 + __udivmodti4@GCC_3.0 1:4.1.1 + __udivti3@GCC_3.0 1:4.1.1 + __umodti3@GCC_3.0 1:4.1.1 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.arm +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.arm @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_sj0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-4.3-4.3.4.orig/debian/gnatprj.gpr +++ gcc-4.3-4.3.4/debian/gnatprj.gpr @@ -0,0 +1,32 @@ +-- Project file for use with GNAT +-- Copyright (c) 2005, 2008 Ludovic Brenta +-- +-- 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 3 of the License, 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. +-- +-- This project file is designed to help build applications that use +-- GNAT project files. Here is an example of how to use this project file: +-- +-- with "gnatprj"; +-- project Example is +-- for Object_Dir use "obj"; +-- for Exec_Dir use "."; +-- for Main use ("example"); +-- end Example; + +with "gnatvsn.gpr"; +project Gnatprj is + for Library_Name use "gnatprj"; + for Library_Dir use "/usr/lib"; + for Library_Kind use "dynamic"; + for Source_Dirs use ("/usr/share/ada/adainclude/gnatprj"); + for Library_ALI_Dir use "/usr/lib/ada/adalib/gnatprj"; + for Externally_Built use "true"; +end Gnatprj; --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.common +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.common @@ -0,0 +1,2732 @@ + CXXABI_1.3.1@CXXABI_1.3.1 4.1.1 + CXXABI_1.3.2@CXXABI_1.3.2 4.3 + CXXABI_1.3@CXXABI_1.3 4.1.1 + GLIBCXX_3.4.10@GLIBCXX_3.4.10 4.3 + GLIBCXX_3.4.1@GLIBCXX_3.4.1 4.1.1 + GLIBCXX_3.4.2@GLIBCXX_3.4.2 4.1.1 + GLIBCXX_3.4.3@GLIBCXX_3.4.3 4.1.1 + GLIBCXX_3.4.4@GLIBCXX_3.4.4 4.1.1 + GLIBCXX_3.4.5@GLIBCXX_3.4.5 4.1.1 + GLIBCXX_3.4.6@GLIBCXX_3.4.6 4.1.1 + GLIBCXX_3.4.7@GLIBCXX_3.4.7 4.1.1 + GLIBCXX_3.4.8@GLIBCXX_3.4.8 4.1.1 + GLIBCXX_3.4.9@GLIBCXX_3.4.9 4.2.1 + GLIBCXX_3.4@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIcLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIcLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIwLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIwLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt11__timepunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt11__timepunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7collateIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7collateIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8messagesIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8messagesIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8numpunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8numpunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZN10__cxxabiv116__enum_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv116__enum_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv116__enum_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__array_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__array_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__array_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__class_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__class_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__class_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__pbase_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__pbase_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__pbase_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv119__pointer_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv119__pointer_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv119__pointer_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__function_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__function_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__function_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__si_class_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__si_class_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__si_class_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv121__vmi_class_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv121__vmi_class_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv121__vmi_class_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv123__fundamental_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv123__fundamental_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv123__fundamental_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__gnu_norm15_List_node_base4hookEPS0_@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base4swapERS0_S1_@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base6unhookEv@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base7reverseEv@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@GLIBCXX_3.4 4.1.1 + _ZN14__gnu_parallel9_Settings3getEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN14__gnu_parallel9_Settings3setERS0_@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx27__verbose_terminate_handlerEv@CXXABI_1.3 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@GLIBCXX_3.4.6 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list8_M_clearEv@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__function_type_info15__is_function_pEv@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@CXXABI_1.3 4.1.1 + _ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@GLIBCXX_3.4.10 4.3 + _ZNK11__gnu_debug16_Error_formatter8_M_errorEv@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSi6gcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSi6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSo6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs13get_allocatorEv@GLIBCXX_3.4 4.1.1 + _ZNKSs3endEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4_Rep12_M_is_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4_Rep12_M_is_sharedEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4rendEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5beginEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5c_strEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5emptyEv@GLIBCXX_3.4 4.1.1 + _ZNKSs6_M_repEv@GLIBCXX_3.4 4.1.1 + _ZNKSs6lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSs6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSs7_M_dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSs7_M_iendEv@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareERKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs8capacityEv@GLIBCXX_3.4 4.1.1 + _ZNKSs8max_sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSs9_M_ibeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10bad_typeid4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt10istrstream5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10ostrstream5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10ostrstream6pcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE7_M_daysEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE8_M_am_pmEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE9_M_monthsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE7_M_daysEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE8_M_am_pmEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE9_M_monthsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11logic_error4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt12__basic_fileIcE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt12strstreambuf6pcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13bad_exception4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13runtime_error4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@GLIBCXX_3.4.10 4.3 + _ZNKSt3tr14hashIRKSsEclES2_@GLIBCXX_3.4.10 4.3 + _ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@GLIBCXX_3.4.10 4.3 + _ZNKSt3tr14hashISsEclESs@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIRKSsEclES1_@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashISsEclESs@GLIBCXX_3.4.10 4.3 + _ZNKSt5ctypeIcE10do_tolowerEPcPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE10do_tolowerEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE10do_toupperEPcPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE10do_toupperEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE8do_widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE9do_narrowEcc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_tolowerEPwPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_tolowerEw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_toupperEPwPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_toupperEw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE5do_isEPKwS2_Pt@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE5do_isEtw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE8do_widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE9do_narrowEwc@GLIBCXX_3.4 4.1.1 + _ZNKSt6locale2id5_M_idEv@GLIBCXX_3.4 4.1.1 + _ZNKSt6locale4nameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt6localeeqERKS_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE10_M_compareEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12do_transformEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE4hashEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE7compareEPKcS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE7do_hashEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE9transformEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE10_M_compareEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12do_transformEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE4hashEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE7compareEPKwS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE7do_hashEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE9transformEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@GLIBCXX_3.4 4.1.1 + _ZNKSt8bad_cast4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt8ios_base7failure4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE18_M_convert_to_charERKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE20_M_convert_from_charEPc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE3getEiiiRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE4openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE4openERKSsRKSt6localePKc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE5closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE6do_getEiiiRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE7do_openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE8do_closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE20_M_convert_from_charEPc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE4openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE4openERKSsRKSt6localePKc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE5closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE7do_openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE8do_closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE11do_truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE12do_falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE8truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE9falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE11do_truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE12do_falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE8truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE9falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt9bad_alloc4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9exception4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9strstream5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9strstream6pcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info10__do_catchEPKS_PPvj@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info14__is_pointer_pEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info15__is_function_pEv@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC1ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC2ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC1ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC2ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4nposE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5clearEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEaSEw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEpLEw@GLIBCXX_3.4 4.1.1 + _ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSdC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSdC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSdD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSi10_M_extractIPvEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIbEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIdEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIeEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIfEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIjEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIlEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractImEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractItEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIxEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIyEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@GLIBCXX_3.4 4.1.1 + _ZNSi3getERc@GLIBCXX_3.4 4.1.1 + _ZNSi3getEv@GLIBCXX_3.4 4.1.1 + _ZNSi4peekEv@GLIBCXX_3.4 4.1.1 + _ZNSi4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSi5tellgEv@GLIBCXX_3.4 4.1.1 + _ZNSi5ungetEv@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEv@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEv@GLIBCXX_3.4.5 4.1.1 + _ZNSi6sentryC1ERSib@GLIBCXX_3.4 4.1.1 + _ZNSi6sentryC2ERSib@GLIBCXX_3.4 4.1.1 + _ZNSi7putbackEc@GLIBCXX_3.4 4.1.1 + _ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSiC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSiC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSiD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSirsEPFRSiS_E@GLIBCXX_3.4 4.1.1 + _ZNSirsEPFRSt8ios_baseS0_E@GLIBCXX_3.4 4.1.1 + _ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@GLIBCXX_3.4 4.1.1 + _ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSirsERPv@GLIBCXX_3.4 4.1.1 + _ZNSirsERb@GLIBCXX_3.4 4.1.1 + _ZNSirsERd@GLIBCXX_3.4 4.1.1 + _ZNSirsERe@GLIBCXX_3.4 4.1.1 + _ZNSirsERf@GLIBCXX_3.4 4.1.1 + _ZNSirsERi@GLIBCXX_3.4 4.1.1 + _ZNSirsERj@GLIBCXX_3.4 4.1.1 + _ZNSirsERl@GLIBCXX_3.4 4.1.1 + _ZNSirsERm@GLIBCXX_3.4 4.1.1 + _ZNSirsERs@GLIBCXX_3.4 4.1.1 + _ZNSirsERt@GLIBCXX_3.4 4.1.1 + _ZNSirsERx@GLIBCXX_3.4 4.1.1 + _ZNSirsERy@GLIBCXX_3.4 4.1.1 + _ZNSo3putEc@GLIBCXX_3.4 4.1.1 + _ZNSo5flushEv@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSo5tellpEv@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryC1ERSo@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryC2ERSo@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSo9_M_insertIPKvEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIbEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIdEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIeEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIlEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertImEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIxEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIyEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSoC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSoC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSoD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSolsEPFRSoS_E@GLIBCXX_3.4 4.1.1 + _ZNSolsEPFRSt8ios_baseS0_E@GLIBCXX_3.4 4.1.1 + _ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@GLIBCXX_3.4 4.1.1 + _ZNSolsEPKv@GLIBCXX_3.4 4.1.1 + _ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSolsEb@GLIBCXX_3.4 4.1.1 + _ZNSolsEd@GLIBCXX_3.4 4.1.1 + _ZNSolsEe@GLIBCXX_3.4 4.1.1 + _ZNSolsEf@GLIBCXX_3.4 4.1.1 + _ZNSolsEi@GLIBCXX_3.4 4.1.1 + _ZNSolsEj@GLIBCXX_3.4 4.1.1 + _ZNSolsEl@GLIBCXX_3.4 4.1.1 + _ZNSolsEm@GLIBCXX_3.4 4.1.1 + _ZNSolsEs@GLIBCXX_3.4 4.1.1 + _ZNSolsEt@GLIBCXX_3.4 4.1.1 + _ZNSolsEx@GLIBCXX_3.4 4.1.1 + _ZNSolsEy@GLIBCXX_3.4 4.1.1 + _ZNSs12_Alloc_hiderC1EPcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs12_Alloc_hiderC2EPcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs12_M_leak_hardEv@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcPKcS1_@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcS_S_@GLIBCXX_3.4 4.1.1 + _ZNSs3endEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_destroyERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_disposeERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_refcopyEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_refdataEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep11_S_max_sizeE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep11_S_terminalE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep13_M_set_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep15_M_set_sharableEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep20_S_empty_rep_storageE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep7_M_grabERKSaIcES2_@GLIBCXX_3.4 4.1.1 + _ZNSs4nposE@GLIBCXX_3.4 4.1.1 + _ZNSs4rendEv@GLIBCXX_3.4 4.1.1 + _ZNSs4swapERSs@GLIBCXX_3.4 4.1.1 + _ZNSs5beginEv@GLIBCXX_3.4 4.1.1 + _ZNSs5clearEv@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@GLIBCXX_3.4 4.1.1 + _ZNSs6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_dataEPc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_leakEv@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNSs9push_backEc@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSsC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1IPKcEET_S2_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1IPcEET_S1_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSsC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2IPKcEET_S2_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2IPcEET_S1_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSsD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSsaSEPKc@GLIBCXX_3.4 4.1.1 + _ZNSsaSERKSs@GLIBCXX_3.4 4.1.1 + _ZNSsaSEc@GLIBCXX_3.4 4.1.1 + _ZNSspLEPKc@GLIBCXX_3.4 4.1.1 + _ZNSspLERKSs@GLIBCXX_3.4 4.1.1 + _ZNSspLEc@GLIBCXX_3.4 4.1.1 + _ZNSt10__num_base11_S_atoms_inE@GLIBCXX_3.4 4.1.1 + _ZNSt10__num_base12_S_atoms_outE@GLIBCXX_3.4 4.1.1 + _ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@GLIBCXX_3.4 4.1.1 + _ZNSt10bad_typeidD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10bad_typeidD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10bad_typeidD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5alnumE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5alphaE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5cntrlE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5digitE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5graphE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5lowerE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5printE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5punctE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5spaceE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5upperE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base6xdigitE@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstream3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10money_base18_S_default_patternE@GLIBCXX_3.4 4.1.1 + _ZNSt10money_base20_S_construct_patternEccc@GLIBCXX_3.4 4.1.1 + _ZNSt10money_base8_S_atomsE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstream3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstream6freezeEb@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4 4.1.1 + _ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4.5 4.1.1 + _ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4 4.1.1 + _ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4.5 4.1.1 + _ZNSt11logic_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE2fdEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE4fileEv@GLIBCXX_3.4.1 4.1.1 + _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6freezeEb@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7_M_freeEPc@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13bad_exceptionD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13bad_exceptionD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13bad_exceptionD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base4hookEPS_@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base4swapERS_S0_@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base6unhookEv@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base7reverseEv@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base8transferEPS_S0_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@GLIBCXX_3.4.10 4.3 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@GLIBCXX_3.4.10 4.3 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcE12_S_timezonesE@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwE12_S_timezonesE@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4 4.1.1 + _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4.5 4.1.1 + _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4 4.1.1 + _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4.5 4.1.1 + _ZNSt21__numeric_limits_base10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt3tr18__detail12__prime_listE@GLIBCXX_3.4.10 4.3 + _ZNSt5ctypeIcE10table_sizeE@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcE13classic_tableEv@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwE19_M_initialize_ctypeEv@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6__norm15_List_node_base4hookEPS0_@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base4swapERS0_S1_@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base6unhookEv@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base7reverseEv@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base8transferEPS0_S1_@GLIBCXX_3.4.9 4.2.1 + _ZNSt6locale11_M_coalesceERKS_S1_i@GLIBCXX_3.4 4.1.1 + _ZNSt6locale21_S_normalize_categoryEi@GLIBCXX_3.4 4.1.1 + _ZNSt6locale3allE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale4noneE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale4timeE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5ctypeE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet13_S_get_c_nameEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt6locale5facet15_S_get_c_localeEv@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facetD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facetD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facetD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale6globalERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale7classicEv@GLIBCXX_3.4 4.1.1 + _ZNSt6locale7collateE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale7numericE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale8messagesE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale8monetaryE@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1EPNS_5_ImplE@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1ERKS_PKci@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1ERKS_S1_i@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2EPNS_5_ImplE@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2ERKS_PKci@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2ERKS_S1_i@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeaSERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8__detail12__prime_listE@GLIBCXX_3.4.10 4.3 + _ZNSt8bad_castD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8bad_castD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8bad_castD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base10floatfieldE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base10scientificE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base11adjustfieldE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base13_M_grow_wordsEib@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base15sync_with_stdioEb@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base17_M_call_callbacksENS_5eventE@GLIBCXX_3.4.6 4.1.1 + _ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base20_M_dispose_callbacksEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt8ios_base2inE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3appE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3ateE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3begE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3curE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3decE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3endE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3hexE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3octE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3outE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4leftE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5fixedE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5rightE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5truncE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6badbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6binaryE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6eofbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6skipwsE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6xallocEv@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7_M_initEv@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7goodbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7showposE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7unitbufE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base8internalE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base8showbaseE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9basefieldE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9boolalphaE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9showpointE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9uppercaseE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9__cxx199815_List_node_base4hookEPS0_@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base4swapERS0_S1_@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base6unhookEv@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base7reverseEv@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@GLIBCXX_3.4.10 4.3 + _ZNSt9bad_allocD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9bad_allocD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9bad_allocD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9exceptionD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9exceptionD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9exceptionD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstream3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt9strstream6freezeEb@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC1EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC2EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9type_infoD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9type_infoD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9type_infoD2Ev@GLIBCXX_3.4 4.1.1 + _ZSt10unexpectedv@GLIBCXX_3.4 4.1.1 + _ZSt13set_terminatePFvvE@GLIBCXX_3.4 4.1.1 + _ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZSt14set_unexpectedPFvvE@GLIBCXX_3.4 4.1.1 + _ZSt15set_new_handlerPFvvE@GLIBCXX_3.4 4.1.1 + _ZSt16__throw_bad_castv@GLIBCXX_3.4 4.1.1 + _ZSt17__throw_bad_allocv@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18__throw_bad_typeidv@GLIBCXX_3.4 4.1.1 + _ZSt18uncaught_exceptionv@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_ios_failurePKc@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_logic_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_range_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@GLIBCXX_3.4 4.1.1 + _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_domain_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_length_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_out_of_rangePKc@GLIBCXX_3.4 4.1.1 + _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@GLIBCXX_3.4 4.1.1 + _ZSt21__throw_bad_exceptionv@GLIBCXX_3.4 4.1.1 + _ZSt21__throw_runtime_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt22__throw_overflow_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt23__throw_underflow_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt24__throw_invalid_argumentPKc@GLIBCXX_3.4 4.1.1 + _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@GLIBCXX_3.4 4.1.1 + _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@GLIBCXX_3.4 4.1.1 + _ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt3cin@GLIBCXX_3.4 4.1.1 + _ZSt4cerr@GLIBCXX_3.4 4.1.1 + _ZSt4clog@GLIBCXX_3.4 4.1.1 + _ZSt4cout@GLIBCXX_3.4 4.1.1 + _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4wcin@GLIBCXX_3.4 4.1.1 + _ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt5wcerr@GLIBCXX_3.4 4.1.1 + _ZSt5wclog@GLIBCXX_3.4 4.1.1 + _ZSt5wcout@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@GLIBCXX_3.4 4.1.1 + _ZSt7nothrow@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt5ctypeIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt5ctypeIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7collateIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7collateIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8messagesIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8messagesIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8numpunctIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8numpunctIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9terminatev@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7collateIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7collateIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@GLIBCXX_3.4 4.1.1 + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@GLIBCXX_3.4 4.1.1 + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZTIN10__cxxabiv115__forced_unwindE@CXXABI_1.3.2 4.3 + _ZTIN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv119__foreign_exceptionE@CXXABI_1.3.2 4.3 + _ZTIN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTINSt6locale5facetE@GLIBCXX_3.4 4.1.1 + _ZTINSt8ios_base7failureE@GLIBCXX_3.4 4.1.1 + _ZTIPKa@CXXABI_1.3 4.1.1 + _ZTIPKb@CXXABI_1.3 4.1.1 + _ZTIPKc@CXXABI_1.3 4.1.1 + _ZTIPKd@CXXABI_1.3 4.1.1 + _ZTIPKe@CXXABI_1.3 4.1.1 + _ZTIPKf@CXXABI_1.3 4.1.1 + _ZTIPKh@CXXABI_1.3 4.1.1 + _ZTIPKi@CXXABI_1.3 4.1.1 + _ZTIPKj@CXXABI_1.3 4.1.1 + _ZTIPKl@CXXABI_1.3 4.1.1 + _ZTIPKm@CXXABI_1.3 4.1.1 + _ZTIPKs@CXXABI_1.3 4.1.1 + _ZTIPKt@CXXABI_1.3 4.1.1 + _ZTIPKv@CXXABI_1.3 4.1.1 + _ZTIPKw@CXXABI_1.3 4.1.1 + _ZTIPKx@CXXABI_1.3 4.1.1 + _ZTIPKy@CXXABI_1.3 4.1.1 + _ZTIPa@CXXABI_1.3 4.1.1 + _ZTIPb@CXXABI_1.3 4.1.1 + _ZTIPc@CXXABI_1.3 4.1.1 + _ZTIPd@CXXABI_1.3 4.1.1 + _ZTIPe@CXXABI_1.3 4.1.1 + _ZTIPf@CXXABI_1.3 4.1.1 + _ZTIPh@CXXABI_1.3 4.1.1 + _ZTIPi@CXXABI_1.3 4.1.1 + _ZTIPj@CXXABI_1.3 4.1.1 + _ZTIPl@CXXABI_1.3 4.1.1 + _ZTIPm@CXXABI_1.3 4.1.1 + _ZTIPs@CXXABI_1.3 4.1.1 + _ZTIPt@CXXABI_1.3 4.1.1 + _ZTIPv@CXXABI_1.3 4.1.1 + _ZTIPw@CXXABI_1.3 4.1.1 + _ZTIPx@CXXABI_1.3 4.1.1 + _ZTIPy@CXXABI_1.3 4.1.1 + _ZTISd@GLIBCXX_3.4 4.1.1 + _ZTISi@GLIBCXX_3.4 4.1.1 + _ZTISo@GLIBCXX_3.4 4.1.1 + _ZTISt10bad_typeid@GLIBCXX_3.4 4.1.1 + _ZTISt10ctype_base@GLIBCXX_3.4 4.1.1 + _ZTISt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTISt10money_base@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTISt11__timepunctIcE@GLIBCXX_3.4 4.1.1 + _ZTISt11__timepunctIwE@GLIBCXX_3.4 4.1.1 + _ZTISt11logic_error@GLIBCXX_3.4 4.1.1 + _ZTISt11range_error@GLIBCXX_3.4 4.1.1 + _ZTISt12codecvt_base@GLIBCXX_3.4 4.1.1 + _ZTISt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt12domain_error@GLIBCXX_3.4 4.1.1 + _ZTISt12length_error@GLIBCXX_3.4 4.1.1 + _ZTISt12out_of_range@GLIBCXX_3.4 4.1.1 + _ZTISt12strstreambuf@GLIBCXX_3.4 4.1.1 + _ZTISt13bad_exception@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13messages_base@GLIBCXX_3.4 4.1.1 + _ZTISt13runtime_error@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt14collate_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt14collate_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt14overflow_error@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt15messages_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt15messages_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15underflow_error@GLIBCXX_3.4 4.1.1 + _ZTISt16invalid_argument@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1 + _ZTISt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1 + _ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt5ctypeIcE@GLIBCXX_3.4 4.1.1 + _ZTISt5ctypeIwE@GLIBCXX_3.4 4.1.1 + _ZTISt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt7collateIcE@GLIBCXX_3.4 4.1.1 + _ZTISt7collateIwE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8bad_cast@GLIBCXX_3.4 4.1.1 + _ZTISt8ios_base@GLIBCXX_3.4 4.1.1 + _ZTISt8messagesIcE@GLIBCXX_3.4 4.1.1 + _ZTISt8messagesIwE@GLIBCXX_3.4 4.1.1 + _ZTISt8numpunctIcE@GLIBCXX_3.4 4.1.1 + _ZTISt8numpunctIwE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9bad_alloc@GLIBCXX_3.4 4.1.1 + _ZTISt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt9exception@GLIBCXX_3.4 4.1.1 + _ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9strstream@GLIBCXX_3.4 4.1.1 + _ZTISt9time_base@GLIBCXX_3.4 4.1.1 + _ZTISt9type_info@GLIBCXX_3.4 4.1.1 + _ZTIa@CXXABI_1.3 4.1.1 + _ZTIb@CXXABI_1.3 4.1.1 + _ZTIc@CXXABI_1.3 4.1.1 + _ZTId@CXXABI_1.3 4.1.1 + _ZTIe@CXXABI_1.3 4.1.1 + _ZTIf@CXXABI_1.3 4.1.1 + _ZTIh@CXXABI_1.3 4.1.1 + _ZTIi@CXXABI_1.3 4.1.1 + _ZTIj@CXXABI_1.3 4.1.1 + _ZTIl@CXXABI_1.3 4.1.1 + _ZTIm@CXXABI_1.3 4.1.1 + _ZTIs@CXXABI_1.3 4.1.1 + _ZTIt@CXXABI_1.3 4.1.1 + _ZTIv@CXXABI_1.3 4.1.1 + _ZTIw@CXXABI_1.3 4.1.1 + _ZTIx@CXXABI_1.3 4.1.1 + _ZTIy@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSNSt6locale5facetE@GLIBCXX_3.4 4.1.1 + _ZTSNSt8ios_base7failureE@GLIBCXX_3.4 4.1.1 + _ZTSPKa@CXXABI_1.3 4.1.1 + _ZTSPKb@CXXABI_1.3 4.1.1 + _ZTSPKc@CXXABI_1.3 4.1.1 + _ZTSPKd@CXXABI_1.3 4.1.1 + _ZTSPKe@CXXABI_1.3 4.1.1 + _ZTSPKf@CXXABI_1.3 4.1.1 + _ZTSPKh@CXXABI_1.3 4.1.1 + _ZTSPKi@CXXABI_1.3 4.1.1 + _ZTSPKj@CXXABI_1.3 4.1.1 + _ZTSPKl@CXXABI_1.3 4.1.1 + _ZTSPKm@CXXABI_1.3 4.1.1 + _ZTSPKs@CXXABI_1.3 4.1.1 + _ZTSPKt@CXXABI_1.3 4.1.1 + _ZTSPKv@CXXABI_1.3 4.1.1 + _ZTSPKw@CXXABI_1.3 4.1.1 + _ZTSPKx@CXXABI_1.3 4.1.1 + _ZTSPKy@CXXABI_1.3 4.1.1 + _ZTSPa@CXXABI_1.3 4.1.1 + _ZTSPb@CXXABI_1.3 4.1.1 + _ZTSPc@CXXABI_1.3 4.1.1 + _ZTSPd@CXXABI_1.3 4.1.1 + _ZTSPe@CXXABI_1.3 4.1.1 + _ZTSPf@CXXABI_1.3 4.1.1 + _ZTSPh@CXXABI_1.3 4.1.1 + _ZTSPi@CXXABI_1.3 4.1.1 + _ZTSPj@CXXABI_1.3 4.1.1 + _ZTSPl@CXXABI_1.3 4.1.1 + _ZTSPm@CXXABI_1.3 4.1.1 + _ZTSPs@CXXABI_1.3 4.1.1 + _ZTSPt@CXXABI_1.3 4.1.1 + _ZTSPv@CXXABI_1.3 4.1.1 + _ZTSPw@CXXABI_1.3 4.1.1 + _ZTSPx@CXXABI_1.3 4.1.1 + _ZTSPy@CXXABI_1.3 4.1.1 + _ZTSSd@GLIBCXX_3.4 4.1.1 + _ZTSSi@GLIBCXX_3.4 4.1.1 + _ZTSSo@GLIBCXX_3.4 4.1.1 + _ZTSSt10bad_typeid@GLIBCXX_3.4 4.1.1 + _ZTSSt10ctype_base@GLIBCXX_3.4 4.1.1 + _ZTSSt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTSSt10money_base@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTSSt11__timepunctIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt11__timepunctIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt11logic_error@GLIBCXX_3.4 4.1.1 + _ZTSSt11range_error@GLIBCXX_3.4 4.1.1 + _ZTSSt12codecvt_base@GLIBCXX_3.4 4.1.1 + _ZTSSt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt12domain_error@GLIBCXX_3.4 4.1.1 + _ZTSSt12length_error@GLIBCXX_3.4 4.1.1 + _ZTSSt12out_of_range@GLIBCXX_3.4 4.1.1 + _ZTSSt12strstreambuf@GLIBCXX_3.4 4.1.1 + _ZTSSt13bad_exception@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13messages_base@GLIBCXX_3.4 4.1.1 + _ZTSSt13runtime_error@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt14collate_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt14collate_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt14overflow_error@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15messages_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt15messages_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15underflow_error@GLIBCXX_3.4 4.1.1 + _ZTSSt16invalid_argument@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt5ctypeIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt5ctypeIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt7collateIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt7collateIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8bad_cast@GLIBCXX_3.4 4.1.1 + _ZTSSt8ios_base@GLIBCXX_3.4 4.1.1 + _ZTSSt8messagesIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt8messagesIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt8numpunctIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt8numpunctIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9bad_alloc@GLIBCXX_3.4 4.1.1 + _ZTSSt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9exception@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9strstream@GLIBCXX_3.4 4.1.1 + _ZTSSt9time_base@GLIBCXX_3.4 4.1.1 + _ZTSSt9type_info@GLIBCXX_3.4 4.1.1 + _ZTSa@CXXABI_1.3 4.1.1 + _ZTSb@CXXABI_1.3 4.1.1 + _ZTSc@CXXABI_1.3 4.1.1 + _ZTSd@CXXABI_1.3 4.1.1 + _ZTSe@CXXABI_1.3 4.1.1 + _ZTSf@CXXABI_1.3 4.1.1 + _ZTSh@CXXABI_1.3 4.1.1 + _ZTSi@CXXABI_1.3 4.1.1 + _ZTSj@CXXABI_1.3 4.1.1 + _ZTSl@CXXABI_1.3 4.1.1 + _ZTSm@CXXABI_1.3 4.1.1 + _ZTSs@CXXABI_1.3 4.1.1 + _ZTSt@CXXABI_1.3 4.1.1 + _ZTSv@CXXABI_1.3 4.1.1 + _ZTSw@CXXABI_1.3 4.1.1 + _ZTSx@CXXABI_1.3 4.1.1 + _ZTSy@CXXABI_1.3 4.1.1 + _ZTTSd@GLIBCXX_3.4 4.1.1 + _ZTTSi@GLIBCXX_3.4 4.1.1 + _ZTTSo@GLIBCXX_3.4 4.1.1 + _ZTTSt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTTSt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt9strstream@GLIBCXX_3.4 4.1.1 + _ZTVN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVNSt6locale5facetE@GLIBCXX_3.4 4.1.1 + _ZTVNSt8ios_base7failureE@GLIBCXX_3.4 4.1.1 + _ZTVSd@GLIBCXX_3.4 4.1.1 + _ZTVSi@GLIBCXX_3.4 4.1.1 + _ZTVSo@GLIBCXX_3.4 4.1.1 + _ZTVSt10bad_typeid@GLIBCXX_3.4 4.1.1 + _ZTVSt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTVSt11__timepunctIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt11__timepunctIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt11logic_error@GLIBCXX_3.4 4.1.1 + _ZTVSt11range_error@GLIBCXX_3.4 4.1.1 + _ZTVSt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt12domain_error@GLIBCXX_3.4 4.1.1 + _ZTVSt12length_error@GLIBCXX_3.4 4.1.1 + _ZTVSt12out_of_range@GLIBCXX_3.4 4.1.1 + _ZTVSt12strstreambuf@GLIBCXX_3.4 4.1.1 + _ZTVSt13bad_exception@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13runtime_error@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt14collate_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt14collate_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt14overflow_error@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15messages_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt15messages_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15underflow_error@GLIBCXX_3.4 4.1.1 + _ZTVSt16invalid_argument@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt5ctypeIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt5ctypeIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt7collateIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt7collateIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8bad_cast@GLIBCXX_3.4 4.1.1 + _ZTVSt8ios_base@GLIBCXX_3.4 4.1.1 + _ZTVSt8messagesIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt8messagesIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt8numpunctIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt8numpunctIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9bad_alloc@GLIBCXX_3.4 4.1.1 + _ZTVSt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9exception@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9strstream@GLIBCXX_3.4 4.1.1 + _ZTVSt9type_info@GLIBCXX_3.4 4.1.1 + _ZdaPv@GLIBCXX_3.4 4.1.1 + _ZdaPvRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZdlPv@GLIBCXX_3.4 4.1.1 + _ZdlPvRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + __cxa_allocate_exception@CXXABI_1.3 4.1.1 + __cxa_bad_cast@CXXABI_1.3 4.1.1 + __cxa_bad_typeid@CXXABI_1.3 4.1.1 + __cxa_begin_catch@CXXABI_1.3 4.1.1 + __cxa_call_unexpected@CXXABI_1.3 4.1.1 + __cxa_current_exception_type@CXXABI_1.3 4.1.1 + __cxa_demangle@CXXABI_1.3 4.1.1 + __cxa_end_catch@CXXABI_1.3 4.1.1 + __cxa_free_exception@CXXABI_1.3 4.1.1 + __cxa_get_exception_ptr@CXXABI_1.3.1 4.1.1 + __cxa_get_globals@CXXABI_1.3 4.1.1 + __cxa_get_globals_fast@CXXABI_1.3 4.1.1 + __cxa_guard_abort@CXXABI_1.3 4.1.1 + __cxa_guard_acquire@CXXABI_1.3 4.1.1 + __cxa_guard_release@CXXABI_1.3 4.1.1 + __cxa_pure_virtual@CXXABI_1.3 4.1.1 + __cxa_rethrow@CXXABI_1.3 4.1.1 + __cxa_throw@CXXABI_1.3 4.1.1 + __cxa_vec_cctor@CXXABI_1.3 4.1.1 + __cxa_vec_cleanup@CXXABI_1.3 4.1.1 + __cxa_vec_ctor@CXXABI_1.3 4.1.1 + __cxa_vec_delete2@CXXABI_1.3 4.1.1 + __cxa_vec_delete3@CXXABI_1.3 4.1.1 + __cxa_vec_delete@CXXABI_1.3 4.1.1 + __cxa_vec_dtor@CXXABI_1.3 4.1.1 + __cxa_vec_new2@CXXABI_1.3 4.1.1 + __cxa_vec_new3@CXXABI_1.3 4.1.1 + __cxa_vec_new@CXXABI_1.3 4.1.1 + __dynamic_cast@CXXABI_1.3 4.1.1 --- gcc-4.3-4.3.4.orig/debian/gnatvsn.gpr +++ gcc-4.3-4.3.4/debian/gnatvsn.gpr @@ -0,0 +1,31 @@ +-- Project file for use with GNAT +-- Copyright (c) 2005, 2008 Ludovic Brenta +-- +-- 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 3 of the License, 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. +-- +-- This project file is designed to help build applications that use +-- GNAT project files. Here is an example of how to use this project file: +-- +-- with "gnatvsn"; +-- project Example is +-- for Object_Dir use "obj"; +-- for Exec_Dir use "."; +-- for Main use ("example"); +-- end Example; + +project Gnatvsn is + for Library_Name use "gnatvsn"; + for Library_Dir use "/usr/lib"; + for Library_Kind use "dynamic"; + for Source_Dirs use ("/usr/share/ada/adainclude/gnatvsn"); + for Library_ALI_Dir use "/usr/lib/ada/adalib/gnatvsn"; + for Externally_Built use "true"; +end Gnatvsn; --- gcc-4.3-4.3.4.orig/debian/lib64gomp1.symbols +++ gcc-4.3-4.3.4/debian/lib64gomp1.symbols @@ -0,0 +1,4 @@ +libgomp.so.1 lib64gomp1 #MINVER# +#include "libgomp1.symbols.common" + GOMP_atomic_end@GOMP_1.0 4.2.1 + GOMP_atomic_start@GOMP_1.0 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libgfortran3.symbols.i386 +++ gcc-4.3-4.3.4/debian/libgfortran3.symbols.i386 @@ -0,0 +1,3 @@ +libgfortran.so.3 libgfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.10" --- gcc-4.3-4.3.4.orig/debian/gcc-BV-hppa64.postinst +++ gcc-4.3-4.3.4/debian/gcc-BV-hppa64.postinst @@ -0,0 +1,13 @@ +#! /bin/sh -e + +prio=$(echo @BV@ | sed 's/\.//g') + +update-alternatives --quiet \ + --install /usr/bin/hppa64-linux-gnu-gcc \ + hppa64-linux-gnu-gcc \ + /usr/bin/hppa64-linux-gnu-gcc-@BV@ \ + $prio + +#DEBHELPER# + +exit 0 --- gcc-4.3-4.3.4.orig/debian/lib64gfortran3.symbols.s390 +++ gcc-4.3-4.3.4/debian/lib64gfortran3.symbols.s390 @@ -0,0 +1,4 @@ +libgfortran.so.3 lib64gfortran3 #MINVER# +#include "libgfortran3.symbols.common" +#include "libgfortran3.symbols.16.powerpc" +#include "libgfortran3.symbols.16.powerpc64" --- gcc-4.3-4.3.4.orig/debian/lib32gomp1.symbols +++ gcc-4.3-4.3.4/debian/lib32gomp1.symbols @@ -0,0 +1,4 @@ +libgomp.so.1 lib32gomp1 #MINVER# +#include "libgomp1.symbols.common" + GOMP_atomic_end@GOMP_1.0 4.2.1 + GOMP_atomic_start@GOMP_1.0 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libstdc++6.symbols.m68k +++ gcc-4.3-4.3.4/debian/libstdc++6.symbols.m68k @@ -0,0 +1,5 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-4.3-4.3.4.orig/debian/lib64stdc++6.symbols.sparc +++ gcc-4.3-4.3.4/debian/lib64stdc++6.symbols.sparc @@ -0,0 +1,8 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" + _ZN9__gnu_cxx12__atomic_addEPVli@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVli@GLIBCXX_3.4 4.1.1 +# FIXME: Currently no ldbl symbols in the 64bit libstdc++ on sparc. +# #include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-4.3-4.3.4.orig/debian/source.lintian-overrides +++ gcc-4.3-4.3.4/debian/source.lintian-overrides @@ -0,0 +1,2 @@ +gcc-4.3: invalid-arch-string-in-source-relation +gcc-4.3: quilt-series-but-no-build-dep --- gcc-4.3-4.3.4.orig/debian/rules.conf +++ gcc-4.3-4.3.4/debian/rules.conf @@ -0,0 +1,952 @@ +# -*- makefile -*- +# rules.conf +# - used to build debian/control and debian/rules.parameters +# - assumes unpacked sources + +include debian/rules.defs + +SOURCE_VERSION := $(call vafilt,$(CHANGELOG_VARS),Version) +DEB_VERSION := $(shell echo $(SOURCE_VERSION) \ + | sed -e 's/.*://' -e 's/ds[0-9]*//') +ifneq (,$(findstring gpc,$(PKGSOURCE))) + GPC_BASE_VERSION := $(word 1, $(subst -, ,$(DEB_VERSION))) + DEB_VERSION := $(subst $(GPC_BASE_VERSION)-,,$(DEB_VERSION)) +endif +ifneq (,$(findstring gdc,$(PKGSOURCE))) + GDC_BASE_VERSION := $(word 1, $(subst -, ,$(DEB_VERSION))) + DEB_VERSION := $(subst $(GDC_BASE_VERSION)-,,$(DEB_VERSION)) +endif + +# epoch used for gcc versions up to 3.3.x, now used for some remaining +# libraries: libgcc1, libobjc1 +EPOCH := 1 +DEB_EVERSION := $(EPOCH):$(DEB_VERSION) + +GCC_VERSION := $(strip $(shell cat $(srcdir)/gcc/BASE-VER)) + +ifneq ($(PKGSOURCE),gcc-snapshot) + BASE_VERSION := $(shell echo $(DEB_VERSION) | sed -e 's/\([1-9]\.[0-9]\).*-.*/\1/') +else + BASE_VERSION := $(shell echo $(GCC_VERSION) | sed -e 's/\([1-9]\.[0-9]\).*/\1/') +endif + +# The binutils version needed. +# The oldest suitable versions for the various platforms can be found in +# INSTALL/specific.html ; we take a tighter dependency if possible to be on +# the safe side (something like newest( version in stable, versions for the +# various platforms in INSTALL/specific.html) ). +# We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode. +# See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html +BINUTILSV = 2.19.1 +ifeq ($(DEB_CROSS),yes) + BINUTILS_BUILD_DEP = binutils$(TS) (>= $(BINUTILSV)) +else + BINUTILS_BUILD_DEP = binutils (>= $(BINUTILSV)) | binutils-multiarch (>= $(BINUTILSV)) +endif + +# libc-dev dependencies +libc_ver := 2.5 +ifeq ($(DEB_TARGET_ARCH_OS),linux) + ifneq (,$(findstring $(DEB_TARGET_ARCH),alpha ia64)) + LIBC_DEP = libc6.1 + LIBC_DEV_DEP = libc6.1-dev$(LS) (>= $(libc_ver)) + else + LIBC_DEP = libc6 + LIBC_DEV_DEP = libc6-dev$(LS) (>= $(libc_ver)) + endif +else + ifeq ($(DEB_TARGET_ARCH_OS),gnu) + LIBC_DEP = libc0.3 + LIBC_DEV_DEP = libc0.3-dev$(LS) + endif + ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd) + LIBC_DEP = libc0.1 + LIBC_DEV_DEP = libc0.1-dev + endif +endif + +LIBC_BIARCH_DEP := +LIBC_BIARCH_DEV_DEP := +LIBCXX_BIARCH_DEP := +LIBCXX_BIARCH_DBG_DEP := +ifeq ($(biarch64),yes) + ifeq ($(DEB_TARGET_ARCH),i386) + LIBC_BIARCH64_DEP := libc6-amd64$(LS) (>= $(libc_ver)) + LIBC_BIARCH64_DEV_DEP := libc6-dev-amd64$(LS) + endif + ifeq ($(DEB_TARGET_ARCH),powerpc) + LIBC_BIARCH64_DEP := libc6-ppc64$(LS) (>= $(libc_ver)) + LIBC_BIARCH64_DEV_DEP := libc6-dev-ppc64$(LS) (>= $(libc_ver)) + endif + ifeq ($(DEB_TARGET_ARCH),sparc) + LIBC_BIARCH64_DEP := libc6-sparc64$(LS) (>= $(libc_ver)) + LIBC_BIARCH64_DEV_DEP := libc6-dev-sparc64$(LS) (>= $(libc_ver)) + endif + ifeq ($(DEB_TARGET_ARCH),s390) + LIBC_BIARCH64_DEP := libc6-s390x$(LS) (>= $(libc_ver)) + LIBC_BIARCH64_DEV_DEP := libc6-dev-s390x$(LS) (>= $(libc_ver)) + endif + ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel)) + LIBC_BIARCH64_DEV_DEP := libc6-dev-mips64$(LS) (>= $(libc_ver)) + LIBC_BIARCH64_DEP := libc6-mips64$(LS) (>= $(libc_ver)) + endif + LIBCXX_BIARCH_DEP = lib64stdc++$(CXX_SONAME)$(LS) (>= $${gcc:Version}) + LIBCXX_BIARCH_DBG_DEP = lib64stdc++$(CXX_SONAME)-$(BASE_VERSION)-dbg + LIBC_BIARCH_DEP := $(LIBC_BIARCH64_DEP) + LIBC_BIARCH_DEV_DEP := $(LIBC_BIARCH64_DEV_DEP) +endif +ifeq ($(biarch32),yes) + ifeq ($(DEB_TARGET_ARCH),amd64) + LIBC_BIARCH32_DEV_DEP := libc6-dev-i386$(LS) (>= $(libc_ver)) + LIBC_BIARCH32_DEP := libc6-i386$(LS) (>= $(libc_ver)) + endif + ifeq ($(DEB_TARGET_ARCH),ppc64) + LIBC_BIARCH32_DEP := libc6-powerpc$(LS) (>= $(libc_ver)) + LIBC_BIARCH32_DEV_DEP := libc6-dev-powerpc$(LS) (>= $(libc_ver)) + endif + ifeq ($(DEB_TARGET_ARCH),kfreebsd-amd64) + LIBC_BIARCH32_DEV_DEP := libc0.1-dev-i386$(LS) (>= $(libc_ver)) + LIBC_BIARCH32_DEP := libc0.1-i386$(LS) (>= $(libc_ver)) + endif + LIBCXX_BIARCH_DEP = lib32stdc++$(CXX_SONAME)$(LS) (>= $${gcc:Version}) + LIBCXX_BIARCH_DBG_DEP = lib32stdc++$(CXX_SONAME)-$(BASE_VERSION)-dbg + LIBC_BIARCH_DEP := $(LIBC_BIARCH32_DEP) + LIBC_BIARCH_DEV_DEP := $(LIBC_BIARCH32_DEV_DEP) +endif +ifeq ($(biarchn32),yes) + ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel)) + LIBC_BIARCHN32_DEV_DEP := libc6-dev-mipsn32$(LS) (>= $(libc_ver)) + LIBC_BIARCHN32_DEP := libc6-mipsn32$(LS) (>= $(libc_ver)) + endif + ifeq ($(biarch64),yes) + LIBCXX_BIARCH_DEP = lib64stdc++$(CXX_SONAME)$(LS) (>= $${gcc:Version}), libn32stdc++$(CXX_SONAME)$(LS) (>= $${gcc:Version}) + LIBCXX_BIARCH_DBG_DEP = lib64stdc++$(CXX_SONAME)-$(BASE_VERSION)-dbg, libn32stdc++$(CXX_SONAME)-$(BASE_VERSION)-dbg + LIBC_BIARCH_DEP := $(LIBC_BIARCH64_DEP), $(LIBC_BIARCHN32_DEP) + LIBC_BIARCH_DEV_DEP := $(LIBC_BIARCH64_DEV_DEP), $(LIBC_BIARCHN32_DEV_DEP) + else + LIBCXX_BIARCH_DEP = libn32stdc++$(CXX_SONAME)$(LS) (>= $${gcc:Version}) + LIBCXX_BIARCH_DBG_DEP = libn32stdc++$(CXX_SONAME)-$(BASE_VERSION)-dbg + LIBCXX_BIARCH_DEP := $(LIBCXX_BIARCHN32_DEP) + LIBCXX_BIARCH_DBG_DEP := $(LIBCXX_BIARCHN32_DBG_DEP) + endif +endif + +LIBUNWIND_DEV_DEP := +ifeq ($(DEB_TARGET_ARCH),ia64) + LIBUNWIND_DEV_DEP := libunwind7-dev$(LS) (>= 0.98.5-6) +endif + +SOURCE_BUILD_DEP = gcc-$(BASE_VERSION)-source (>= $(BASE_VERSION).4), gcc-$(BASE_VERSION)-source (<< $(BASE_VERSION).5), + +CHECK_BUILD_DEP := dejagnu [check_no_archs] +ifneq (,$(findstring gdc, $(PKGSOURCE))) + CHECK_BUILD_DEP = dejagnu [check_no_archs] +endif + +ifneq (,$(findstring gcc, $(PKGSOURCE))) + AUTOGEN_BUILD_DEP = autogen, + #ifeq ($(distribution),Ubuntu) + # AUTOGEN_BUILD_DEP = autogen [!ia64], + #endif +endif + +ifeq ($(PKGSOURCE),gcc-snapshot) + CLOOG_BUILD_DEP = libcloog-ppl-dev (>= 0.15~git20081008), +endif + +ifneq ($(DEB_CROSS),yes) +LIBC_BUILD_DEP := libc6.1-dev (>= $(libc_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_ver)) [hurd-i386] | libc0.1-dev (>= $(libc_ver)) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= $(libc_ver)) +JAVA_BUILD_DEP := zlib1g-dev, +ifeq ($(PKGSOURCE),gcc-snapshot) + JAVA_BUILD_DEP += libantlr-java, +endif + +ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + bd_java_archs = +else ifeq ($(PKGSOURCE)-$(with_java),gcc-snapshot-yes) + bd_java_archs = +else + bd_java_archs = $(EMPTY) [java_no_archs] +endif + +ifneq (,$(java_awt_peers)) + JAVA_BUILD_DEP += fastjar$(bd_java_archs), libmagic-dev$(bd_java_archs), + JAVA_BUILD_DEP += libecj-java (>= 3.3.0-2)$(bd_java_archs), zip$(bd_java_archs), + ifeq ($(with_java_maintainer_mode),yes) + # gcj-4.3 needed for gjavah-4.3. + JAVA_BUILD_DEP += gcj-4.3$(bd_java_archs), ecj (>= 3.3.0-2)$(bd_java_archs), + endif + JAVA_BUILD_DEP += libasound2-dev [java_no_archs !hurd-i386 !kfreebsd-i386 !kfreebsd-amd64], + ifneq (,$(findstring gtk,$(java_awt_peers))) + JAVA_BUILD_DEP += libxtst-dev$(bd_java_archs), libxt-dev$(bd_java_archs), libgtk2.0-dev (>= 2.4.4-2)$(bd_java_archs), libart-2.0-dev$(bd_java_archs), libcairo2-dev$(bd_java_archs), + endif + ifneq (,$(findstring qt,$(java_awt_peers))) + JAVA_BUILD_DEP += libqt4-dev (>= 4.1.0)$(bd_java_archs), + endif + # gconf peer + JAVA_BUILD_DEP += libgconf2-dev$(bd_java_archs), + # gstreamer peer + #JAVA_BUILD_DEP += libgstreamer-plugins-base0.10-dev$(bd_java_archs), + ifneq ($(PKGSOURCE),gcc-snapshot) + JAVA_BUILD_DEP += g++-4.3 [armel], + endif +endif +ifneq ($(with_standalone_gcj),yes) + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + JAVA_BUILD_DEP += $(SOURCE_BUILD_DEP) + endif +endif +JAVA_BUILD_INDEP := gjdoc +ifeq ($(PKGSOURCE),gcc-snapshot) + LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.5.4), graphviz (>= 2.2), gsfonts-x11, texlive-latex-base + JAVA_BUILD_INDEP := +endif +ifeq ($(with_separate_libgcj),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + JAVA_BUILD_DEP := + JAVA_BUILD_INDEP := + endif +endif + +ECJ_DEP = libecj-java (>= 3.3.0-2) +ifneq (,$(filter $(DEB_HOST_ARCH), arm armel)) + ECJ_DEP += , ecj1 +endif + +ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.4.2), graphviz (>= 2.2), gsfonts-x11, texlive-latex-base + JAVA_BUILD_INDEP := , $(JAVA_BUILD_INDEP) +endif + +PASCAL_BUILD_DEP := libncurses5-dev [pascal_no_archs], texlive-latex-base [pascal_no_archs], libgmp3-dev [pascal_no_archs], help2man [pascal_no_archs], + +SPU_BUILD_DEP := binutils-spu (>= $(BINUTILSV)) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], +#ifeq ($(PKGSOURCE),gcc-snapshot) +# SPU_BUILD_DEP += gcc-snapshot [powerpc ppc64], +#endif + +ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + ifneq ($(with_separate_gnat),yes) + # Build gnat as part of the combiled gcc-x.y source package. Do not fail + # if gnat is not present on unsupported architectures; the build scripts + # will not use gnat anyway. + GNAT_BUILD_DEP := gnat (>= 4.1) [ada_no_archs], + endif + ifeq ($(with_separate_gpc),yes) + PASCAL_BUILD_DEP := + endif + SPU_BUILD_DEP := binutils-spu (>= $(BINUTILSV)) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], +else ifeq ($(PKGSOURCE),gcc-snapshot) + # Ditto, as part of the gcc-snapshot package. + GNAT_BUILD_DEP := gnat (>= 4.1) [ada_no_archs], + PASCAL_BUILD_DEP := +else ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + # Special source package just for gnat. Fail early if gnat is not present, + # rather than waste CPU cycles and fail later. + GNAT_BUILD_DEP := gnat (>= 4.1), + GNAT_BUILD_DEP += $(SOURCE_BUILD_DEP) + JAVA_BUILD_DEP := + JAVA_BUILD_INDEP := + GDC_BUILD_DEP := + PASCAL_BUILD_DEP := + # gnat on spu should work ... + SPU_BUILD_DEP := +else ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + # Special source package just for gcj. + GNAT_BUILD_DEP := + PASCAL_BUILD_DEP := + GDC_BUILD_DEP := + SPU_BUILD_DEP := +else ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) + # Special source package just for gdc. + GNAT_BUILD_DEP := + JAVA_BUILD_DEP := + JAVA_BUILD_INDEP := + PASCAL_BUILD_DEP := + GDC_BUILD_DEP := $(SOURCE_BUILD_DEP) + SPU_BUILD_DEP := +else ifeq ($(PKGSOURCE),gpc-$(BASE_VERSION)) + # Special source package just for gpc. + GNAT_BUILD_DEP := + JAVA_BUILD_DEP := + JAVA_BUILD_INDEP := + GDC_BUILD_DEP := + PASCAL_BUILD_DEP += $(SOURCE_BUILD_DEP) + SPU_BUILD_DEP := +endif + + +LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], + +else +# build cross compiler + +LIBC_BUILD_DEP := $(LIBC_DEV_DEP) + +ifneq ($(LIBC_BIARCH_DEV_DEP),) + LIBC_BIARCH_BUILD_DEP := $(LIBC_BIARCH_DEV_DEP), +else + LIBC_BIARCH_BUILD_DEP := +endif + +ifneq ($(LIBUNWIND_DEV_DEP),) + LIBUNWIND_BUILD_DEP := $(LIBUNWIND_DEV_DEP), +else + LIBUNWIND_BUILD_DEP := +endif + +ifeq ($(DEB_TARGET_ARCH),ia64) + LIBATOMIC_OPS_BUILD_DEP := libatomic-ops-dev$(LS), +else + LIBATOMIC_OPS_BUILD_DEP := +endif + +JAVA_BUILD_DEP := libz-dev, lib64z1-dev [i386 powerpc sparc s390], lib32z1-dev [amd64 ppc64 kfreebsd-amd64], +JAVA_BUILD_INDEP := +GNAT_BUILD_DEP := + +endif # cross compiler + +# The numeric part of the gcc version number (x.yy.zz) +NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \ + awk -F. '{OFS="."; if (NF==2) $$3=1; else $$NF += 1; print}') +# first version with a new path component in gcc_lib_dir (i.e. GCC_VERSION +# or TARGET_ALIAS changes), or last version available for all architectures +DEB_GCC_SOFT_VERSION := 4.3.4-1 +DEB_GCJ_SOFT_VERSION := 4.3.4-1 +ifeq ($(with_pascal),yes) +GPC_DATE := $(shell sed -n 's/^.define GPC_VERSION_STRING "\(.*\)"/\1/p' $(srcdir)/gcc/p/version.h || true) +DEB_GPC_VERSION := $(shell echo $(DEB_VERSION) \ + | sed 's/.*:\(.*\)-\(.*\)/2:\1.$(GPC_DATE)-\2/') +endif + +ifeq ($(with_pascal),yes) + DEB_GPC_VERSION := $(GPC_BASE_VERSION)-$(DEB_VERSION) +endif + +ifeq ($(with_d),yes) + # FIXME: Remove the epoch when porting to 4.4 or newer + DEB_GDC_VERSION := 1:$(GDC_BASE_VERSION)-$(DEB_VERSION) +endif + +# semiautomatic ... +DEB_SOVERSION := $(DEB_VERSION) +DEB_SOVERSION := 4.3 +DEB_SOEVERSION := $(EPOCH):4.3 +DEB_STDCXX_SOVERSION := 4.3 +DEB_GCJ_SOVERSION := 4.3 +DEB_GOMP_SOVERSION := $(DEB_SOVERSION) +DEB_GCCMATH_SOVERSION := $(DEB_SOVERSION) + +DEB_GCC_VERSION := $(DEB_VERSION) +DEB_GCJ_VERSION := $(DEB_VERSION) +ifeq ($(with_separate_libgcj),yes) + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + DEB_GCC_VERSION := $(DEB_GCC_SOFT_VERSION) + endif +endif + +DEB_GNAT_VERSION := $(DEB_VERSION) +ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + DEB_GCC_VERSION := $(DEB_GCC_SOFT_VERSION) + endif +endif + +# manual ... +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),hppa m68k)) + ifeq ($(DEB_TARGET_ARCH),m68k) + GCC_SONAME := 2 + endif + ifeq ($(DEB_TARGET_ARCH),hppa) + GCC_SONAME := 4 + endif + DEB_LIBGCC_SOVERSION := $(DEB_SOVERSION) + DEB_LIBGCC_VERSION := $(DEB_VERSION) +else + GCC_SONAME := 1 + DEB_LIBGCC_SOVERSION := $(DEB_SOEVERSION) + DEB_LIBGCC_VERSION := $(DEB_EVERSION) +endif + +LIBGCC_DEP := libgcc$(GCC_SONAME)$(LS) (>= $(DEB_LIBGCC_VERSION)) +LIBGCC_BIARCH_DEP := +ifeq ($(biarch64),yes) + LIBGCC_BIARCH_DEP := lib64gcc$(GCC_SONAME)$(LS) (>= $(DEB_LIBGCC_VERSION)) +endif +ifeq ($(biarch32),yes) + LIBGCC_BIARCH_DEP := lib32gcc$(GCC_SONAME)$(LS) (>= $(DEB_LIBGCC_VERSION)) +endif +ifeq ($(biarchn32),yes) + ifeq ($(biarch64),yes) + LIBGCC_BIARCH_DEP := lib64gcc$(GCC_SONAME)$(LS) (>= $(DEB_LIBGCC_VERSION)), libn32gcc$(GCC_SONAME)$(LS) (>= $(DEB_LIBGCC_VERSION)) + else + LIBGCC_BIARCH_DEP := libn32gcc$(GCC_SONAME)$(LS) (>= $(DEB_LIBGCC_VERSION)) + endif +endif + +ifeq (,$(wildcard debian/soname-cache)) + SONAME_VARS := $(shell \ + cache=debian/soname-cache; \ + rm -f $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libstdc++-v3/configure.ac`; \ + echo CXX_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libobjc/configure.ac`; \ + echo OBJC_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libgfortran/libtool-version | cut -d: -f1`; \ + echo FORTRAN_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libmudflap/libtool-version | cut -d: -f1`; \ + echo MUDFLAP_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libssp/libtool-version | cut -d: -f1`; \ + echo SSP_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libjava/libtool-version | cut -d: -f1`; \ + echo GCJ_SONAME=$$v >> $$cache; \ + if [ "$$v" -ge 70 ]; then \ + echo GCJ_SONAME1=`echo $$v | sed 's/.$$//'` >> $$cache; \ + echo GCJ_SONAME2=`echo $$v | sed 's/.*\(.\)$$/\1/'` >> $$cache; \ + else \ + echo GCJ_SONAME1=$$v >> $$cache; \ + echo GCJ_SONAME2= >> $$cache; \ + fi; \ + v=`tail -1 $(srcdir)/libffi/libtool-version | cut -d: -f1`; \ + echo FFI_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libgomp/configure.ac`; \ + echo GOMP_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libgcc-math/libtool-version | cut -d: -f1`; \ + echo GCCMATH_SONAME=$$v >> $$cache; \ + v=`grep '[^_]Library_Version.*:' $(srcdir)/gcc/ada/gnatvsn.ads \ + | sed -e 's/.*"\([^"]*\)".*/\1/'`; \ + echo GNAT_SONAME=$$v >> $$cache; \ + cat $$cache) +else + SONAME_VARS := $(shell cat debian/soname-cache) +endif +CXX_SONAME = $(call vafilt,$(SONAME_VARS),CXX_SONAME) +OBJC_SONAME = $(call vafilt,$(SONAME_VARS),OBJC_SONAME) +FORTRAN_SONAME = $(call vafilt,$(SONAME_VARS),FORTRAN_SONAME) +MUDFLAP_SONAME = $(call vafilt,$(SONAME_VARS),MUDFLAP_SONAME) +SSP_SONAME = $(call vafilt,$(SONAME_VARS),SSP_SONAME) +GCJ_SONAME = $(call vafilt,$(SONAME_VARS),GCJ_SONAME) +GCJ_SONAME1 = $(call vafilt,$(SONAME_VARS),GCJ_SONAME1) +GCJ_SONAME2 = $(call vafilt,$(SONAME_VARS),GCJ_SONAME2) +FFI_SONAME = $(call vafilt,$(SONAME_VARS),FFI_SONAME) +GOMP_SONAME = $(call vafilt,$(SONAME_VARS),GOMP_SONAME) +GCCMATH_SONAME = $(call vafilt,$(SONAME_VARS),GCCMATH_SONAME) +GNAT_SONAME = $(call vafilt,$(SONAME_VARS),GNAT_SONAME) + +GNAT_VERSION := $(BASE_VERSION) + +LIBGNAT_DEP := +ifeq ($(with_libgnat),yes) + LIBGNAT_DEP := libgnat-$(GNAT_VERSION) (= $(DEB_VERSION)) +endif + +pkg_ver := -$(BASE_VERSION) + +PKG_GCJ_EXT = $(GCJ_SONAME1) +PKG_LIBGCJ_EXT = $(GCJ_SONAME1)$(if $(GCJ_SONAME2),-$(GCJ_SONAME2)) + +ctrl_flags = \ + -DBINUTILSV=$(BINUTILSV) \ + -DSRCNAME=$(PKGSOURCE) \ + -D__$(DEB_TARGET_GNU_CPU)__ \ + -DARCH=$(DEB_TARGET_ARCH) \ + -DDIST=$(distribution) + +ctrl_flags += \ + -DLIBC_DEV_DEP="$(LIBC_DEV_DEP)" \ + -DLIBC_BIARCH_BUILD_DEP="$(LIBC_BIARCH_BUILD_DEP)" \ + -DFORTRAN_BUILD_DEP="$(FORTRAN_BUILD_DEP)" \ + -DGNAT_BUILD_DEP="$(GNAT_BUILD_DEP)" \ + -DJAVA_BUILD_DEP="$(JAVA_BUILD_DEP)" \ + -DJAVA_BUILD_INDEP="$(JAVA_BUILD_INDEP)" \ + -DLIBSTDCXX_BUILD_INDEP="$(LIBSTDCXX_BUILD_INDEP)" \ + -DPASCAL_BUILD_DEP="$(PASCAL_BUILD_DEP)" \ + -DGDC_BUILD_DEP="$(GDC_BUILD_DEP)" \ + -DSPU_BUILD_DEP="$(SPU_BUILD_DEP)" \ + -DBINUTILS_BUILD_DEP="$(BINUTILS_BUILD_DEP)" \ + -DLIBC_BUILD_DEP="$(LIBC_BUILD_DEP)" \ + -DCHECK_BUILD_DEP="$(CHECK_BUILD_DEP)" \ + -DAUTOGEN_BUILD_DEP="$(AUTOGEN_BUILD_DEP)" \ + -DCLOOG_BUILD_DEP="$(CLOOG_BUILD_DEP)" \ + -DMULTILIB_ARCHS="$(multilib_archs)" \ + -DVFP_ARCHS="$(vfp_archs)" \ + -DTP=$(TP) \ + -DTS=$(TS) \ + -DLS=$(LS) + +ifeq ($(DEB_CROSS),yes) + ctrl_flags += \ + -DTARGET=$(DEB_TARGET_ARCH) \ + -DLIBUNWIND_BUILD_DEP="$(LIBUNWIND_BUILD_DEP)" \ + -DLIBATOMIC_OPS_BUILD_DEP="$(LIBATOMIC_OPS_BUILD_DEP)" +else + # add '-DPRI=optional' to ctrl_flags if this is not the default compiler + # ctrl_flags += \ + # -DPRI=optional +endif + +ifeq ($(with_base_only),yes) + ctrl_flags += \ + -DBASE_ONLY=yes +endif + +control: control-file readme-bugs-file parameters-file substvars-file versioned-files + +ifeq ($(DEB_CROSS),yes) + languages = c c++ objc objpp + addons = libgcc lib64gcc lib32gcc libcxx lib32cxx lib64cxx libn32cxx cdev c++dev libobjc objcdev objppdev gccxbase + ifeq ($(with_d),yes) + ifeq ($(with_separate_gdc),yes) + languages = # disable others languages + addons = # disable others addons + endif + languages += d + ifeq ($(with_libphobos),yes) + addons += libphobos + endif + endif +else + languages = ada c c++ fortran java objc objpp # pascal + addons = gccbase cdev c++dev fdev libgcj libgcjdev gcjdoc libgnat libs \ + objcdev source objppdev multilib # libgmath libnof lib64gnat ssp + ifeq ($(with_libgcc),yes) + addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc + endif + ifeq ($(with_libcxx),yes) + addons += libcxx lib32cxx lib64cxx libn32cxx + endif + ifeq ($(with_mudflap),yes) + addons += mudflap + ifeq ($(with_libmudflap),yes) + addons += libmudf + endif + endif + ifeq ($(with_libfortran),yes) + addons += libgfortran lib32gfortran lib64gfortran libn32gfortran + endif + ifeq ($(with_libobjc),yes) + addons += libobjc lib32objc lib64objc libn32objc + endif + ifeq ($(with_libgomp),yes) + addons += libgomp lib32gomp lib64gomp libn32gomp + endif + ifeq ($(with_vfp),yes) + addons += libvfpgcc libvfpgomp libvfpobjc libvfpgfortran libvfpcxx + endif + ifeq ($(with_proto),yes) + addons += proto + endif + ifeq ($(with_fixincl),yes) + addons += fixincl + endif + ifeq ($(with_libgcj_doc),yes) + addons += gcjdoc + endif +# ifneq (,$(findstring gtk, $(java_awt_peers))) +# addons += gtkpeer +# endif +# ifneq (,$(findstring qt, $(java_awt_peers))) +# addons += qtpeer +# endif + ifeq ($(with_separate_libgcj),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out java,$(languages)) + addons := $(filter-out gcj libgcj libgcjdev gcjdoc gtkpeer qtpeer,$(addons)) + endif + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + languages = java + addons = gcj libgcj libgcjdev + ifeq ($(with_libgcj_doc),yes) + addons += gcjdoc + endif +# ifneq (,$(findstring gtk, $(java_awt_peers))) +# addons += gtkpeer +# endif +# ifneq (,$(findstring qt, $(java_awt_peers))) +# addons += qtpeer +# endif + ifeq ($(with_standalone_gcj),yes) + addons += libgcc lib4gcc lib64gcc lib32gcc libn32gcc + endif + endif + endif + ifeq ($(with_standalone_gcj),yes) + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + ctrl_flags += -DSTANDALONEJAVA + endif + endif + ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out ada,$(languages)) + addons := $(filter-out libgnat,$(addons)) + endif + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + languages = ada + addons = libgnat + endif + endif + ifeq ($(with_separate_gpc),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out pascal,$(languages)) + endif + ifeq ($(PKGSOURCE),gpc-$(BASE_VERSION)) + languages = pascal + addons = + endif + endif + ifeq ($(with_separate_gdc),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out d,$(languages)) + endif + ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) + languages = d + addons = + ifeq ($(with_libphobos),yes) + addons += libphobos + endif + endif + endif + ifneq ($(GFDL_INVARIANT_FREE),yes) + addons += gfdldoc + endif +endif + +# deps for multilib packages +libfortranbiarch64 := lib64gfortran$(FORTRAN_SONAME) (>= $${gcc:Version}) +libfortranbiarch32 := lib32gfortran$(FORTRAN_SONAME) (>= $${gcc:Version}) +libfortranbiarchn32 := libn32gfortran$(FORTRAN_SONAME) (>= $${gcc:Version}) +ifeq ($(biarch64),yes) + libfortranbiarch := $(libfortranbiarch64) +endif +ifeq ($(biarch32),yes) + libfortranbiarch := $(libfortranbiarch32) +endif +ifeq ($(biarchn32),yes) + ifeq ($(biarch64),yes) + libfortranbiarch := $(libfortranbiarch64), $(libfortranbiarchn32) + else + libfortranbiarch := $(libfortranbiarchn32) + endif +endif + +libobjcbiarch32 := lib32objc$(OBJC_SONAME) (>= $${gcc:Version}) +libobjcbiarch64 := lib64objc$(OBJC_SONAME) (>= $${gcc:Version}) +libobjcbiarchn32 := libn32objc$(OBJC_SONAME) (>= $${gcc:Version}) +ifeq ($(biarch64),yes) + libobjcbiarch := $(libobjcbiarch64) +endif +ifeq ($(biarch32),yes) + libobjcbiarch := $(libobjcbiarch32) +endif +ifeq ($(biarchn32),yes) + ifeq ($(biarch64),yes) + libobjcbiarch := $(libobjcbiarch64), $(libobjcbiarchn32) + else + libobjcbiarch := $(libobjcbiarchn32) + endif +endif + +libmudflapbiarch64 := lib64mudflap$(MUDFLAP_SONAME) +libmudflapbiarch32 := lib32mudflap$(MUDFLAP_SONAME) +libmudflapbiarchn32 := libn32mudflap$(MUDFLAP_SONAME) +ifeq ($(biarch64),yes) + libmudflapbiarch := $(libmudflapbiarch64) +endif +ifeq ($(biarch32),yes) + libmudflapbiarch := $(libmudflapbiarch32) +endif +ifeq ($(biarchn32),yes) + ifeq ($(biarch64),yes) + libmudflapbiarch := $(libmudflapbiarch64), $(libmudflapbiarchn32) + else + libmudflapbiarch := $(libmudflapbiarchn32) + endif +endif + +libsspbiarch64 := lib64ssp$(SSP_SONAME) (>= $${gcc:Version}) +libsspbiarch32 := lib32ssp$(SSP_SONAME) (>= $${gcc:Version}) +libsspbiarchn32 := libn32ssp$(SSP_SONAME) (>= $${gcc:Version}) +ifeq ($(biarch64),yes) + libsspbiarch := $(libsspbiarch64) +endif +ifeq ($(biarch32),yes) + libsspbiarch := $(libsspbiarch32) +endif +ifeq ($(biarchn32),yes) + ifeq ($(biarch64),yes) + libsspbiarch := $(libsspbiarch64), $(libsspbiarchn32) + else + libsspbiarch := $(libsspbiarchn32) + endif +endif + +libgompbiarch64 := lib64gomp$(GOMP_SONAME) (>= $${gcc:Version}) +libgompbiarch32 := lib32gomp$(GOMP_SONAME) (>= $${gcc:Version}) +libgompbiarchn32 := libn32gomp$(GOMP_SONAME) (>= $${gcc:Version}) +ifeq ($(biarch64),yes) + libgompbiarch := $(libgompbiarch64) +endif +ifeq ($(biarch32),yes) + libgompbiarch := $(libgompbiarch32) +endif +ifeq ($(biarchn32),yes) + ifeq ($(biarch64),yes) + libgompbiarch := $(libgompbiarch64), $(libgompbiarchn32) + else + libgompbiarch := $(libgompbiarchn32) + endif +endif + +ifeq ($(distribution),DebianXXX) +# use type-handling +ada_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(ada_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(ada_no_systems) | tr ' ' ,`)) +java_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(java_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(java_no_systems) | tr ' ' ,`)) +pascal_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(pascal_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(pascal_no_systems) | tr ' ' ,`)) +fortran_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(fortran_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(fortran_no_systems) | tr ' ' ,`)) +libphobos_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(libphobos_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(libphobos_no_systems) | tr ' ' ,`)) +libgc_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(libgc_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(libgc_no_systems) | tr ' ' ,`)) +check_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(check_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(check_no_systems) | tr ' ' ,`) \ + !hurd-i386) +locale_no_archs := $(strip \ + $(shell type-handling -n -r `echo $(locale_no_cpus) | tr ' ' ,` any) \ + $(shell type-handling -n -r any `echo $(locale_no_systems) | tr ' ' ,`)) + +linux_gnu_archs := $(shell type-handling -r any linux-gnu) +else +# avoid it ... +ada_no_archs := $(strip $(foreach cpu,$(ada_no_cpus),!$(cpu)) \ + !hurd-i386) +java_no_archs := $(strip $(foreach cpu,$(java_no_cpus),!$(cpu)) \ + ) +pascal_no_archs := $(strip $(foreach cpu,$(pascal_no_cpus),!$(cpu)) \ + ) +fortran_no_archs:= $(strip $(foreach cpu,$(fortran_no_cpus),!$(cpu)) \ + !avr) +libphobos_no_archs := $(strip $(foreach cpu,$(libphobos_no_cpus),!$(cpu)) \ + !hurd-i386) +libgc_no_archs := $(strip $(foreach cpu,$(libgc_no_cpus),!$(cpu)) \ + ) +check_no_archs := $(strip $(foreach cpu,$(check_no_cpus),!$(cpu)) \ + !hurd-i386) +locale_no_archs := $(strip $(foreach cpu,$(locale_no_cpus),!$(cpu)) \ + !hurd-i386) +linux_gnu_archs := !hurd-i386 +endif + +locale_no_archs += !m68k + +control-file: + echo "addons: $(addons)"; \ + m4 $(ctrl_flags) \ + -DPV=$(pkg_ver) \ + -DCXX_SO=$(CXX_SONAME) \ + -DGCC_SO=$(GCC_SONAME) \ + -DOBJC_SO=$(OBJC_SONAME) \ + -DFORTRAN_SO=$(FORTRAN_SONAME) \ + -DGCJ_SO=$(PKG_GCJ_EXT) \ + -DLIBGCJ_EXT=$(PKG_LIBGCJ_EXT) \ + -DGNAT_SO=$(GNAT_SONAME) \ + -DGNAT_V=$(GNAT_VERSION) \ + -DPHOBOS_V=$(libphobos_version) \ + -DGOMP_SO=$(GOMP_SONAME) \ + -DGCCMATH_SO=$(GCCMATH_SONAME) \ + -DMF_SO=$(MUDFLAP_SONAME) \ + -DSSP_SO=$(SSP_SONAME) \ + -Denabled_languages="$(languages) $(addons)" \ + -Dada_no_archs="$(ada_no_archs)" \ + -Djava_no_archs="$(java_no_archs)" \ + -Dpascal_no_archs="$(pascal_no_archs)" \ + -Dfortran_no_archs="$(fortran_no_archs)" \ + -Dlibgc_no_archs="$(libgc_no_archs)" \ + -Dcheck_no_archs="$(check_no_archs)" \ + -Dlocale_no_archs="$(locale_no_archs)" \ + -Dlinux_gnu_archs="$(linux_gnu_archs)" \ + -Dlibphobos_no_archs="$(libphobos_no_archs)" \ + -Dbiarch32_archs="$(strip $(subst /, ,$(biarch32_archs)))" \ + -Dbiarch64_archs="$(strip $(subst /, ,$(biarch64_archs)))" \ + -Dbiarchn32_archs="$(strip $(subst /, ,$(biarchn32_archs)))" \ + debian/control.m4 > debian/control.tmp2 + uniq debian/control.tmp2 | sed '/^Build/s/ *, */, /g' \ + > debian/control.tmp + rm -f debian/control.tmp2 + [ -e debian/control ] \ + && cmp -s debian/control debian/control.tmp \ + && rm -f debian/control.tmp && exit 0; \ + mv debian/control.tmp debian/control; touch $(control_stamp) + +readme-bugs-file: + m4 -DDIST=$(distribution) -DSRCNAME=$(PKGSOURCE) \ + debian/README.Bugs.m4 > debian/README.Bugs + +substvars-file: + rm -f debian/substvars.local.tmp + ( \ + echo 'gcc:Version=$(DEB_GCC_VERSION)'; \ + echo 'gcc:EpochVersion=$(DEB_EVERSION)'; \ + echo 'gcc:SoftVersion=$(DEB_GCC_SOFT_VERSION)'; \ + echo 'gpc:Version=$(DEB_GPC_VERSION)'; \ + echo 'gdc:Version=$(DEB_GDC_VERSION)'; \ + echo 'gcj:Version=$(DEB_GCJ_VERSION)'; \ + echo 'gcj:SoftVersion=$(DEB_GCJ_SOFT_VERSION)'; \ + echo 'gcj:BaseVersion=$(BASE_VERSION)'; \ + echo 'gnat:Version=$(DEB_GNAT_VERSION)'; \ + echo 'binutils:Version=$(BINUTILSV)'; \ + echo 'dep:libgcc=$(LIBGCC_DEP)'; \ + echo 'dep:libgccbiarch=$(LIBGCC_BIARCH_DEP)'; \ + echo 'dep:libcdev=$(LIBC_DEV_DEP)'; \ + echo 'dep:libcbiarch=$(LIBC_BIARCH_DEP)'; \ + echo 'dep:libcbiarchdev=$(LIBC_BIARCH_DEV_DEP)'; \ + echo 'dep:libunwinddev=$(LIBUNWIND_DEV_DEP)'; \ + echo 'dep:libcxxbiarch=$(LIBCXX_BIARCH_DEP)'; \ + echo 'dep:libcxxbiarchdbg=$(LIBCXX_BIARCH_DBG_DEP)'; \ + echo 'dep:libgnat=$(LIBGNAT_DEP)'; \ + echo 'dep:ecj=$(ECJ_DEP)'; \ + ) > debian/substvars.local.tmp +ifneq (,$(filter $(DEB_TARGET_ARCH), $(multilib_archs))) + ( \ + echo 'gcc:multilib=gcc-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gxx:multilib=g++-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gobjc:multilib=gobjc-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gobjcxx:multilib=gobjc++-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gfortran:multilib=gfortran-$(BASE_VERSION)-multilib$(TS)'; \ + ) >> debian/substvars.local.tmp +endif +ifeq ($(with_libssp),yes) + echo 'dep:libssp=libssp$(SSP_SONAME) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_gomp),yes) + echo 'dep:libgomp=libgomp$(GOMP_SONAME) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifneq (,$(findstring yes,$(with_lib32fortran) $(with_lib64fortran) $(with_libn32fortran))) + echo 'dep:libfortranbiarch=$(libfortranbiarch)' \ + >> debian/substvars.local.tmp +endif +ifneq (,$(findstring yes,$(with_lib32objc) $(with_lib64objc) $(with_libn32objc))) + echo 'dep:libobjcbiarch=$(libobjcbiarch)' \ + >> debian/substvars.local.tmp +endif +ifneq (,$(findstring yes,$(with_lib32mudflap) $(with_lib64mudflap) $(with_libn32mudflap))) + echo 'dep:libmudflapbiarch=$(libmudflapbiarch)' \ + >> debian/substvars.local.tmp +endif +ifneq (,$(findstring yes,$(with_lib32ssp) $(with_lib64ssp) $(with_libn32ssp))) + echo 'dep:libsspbiarch=$(libsspbiarch)' \ + >> debian/substvars.local.tmp +endif +ifneq (,$(findstring yes,$(with_lib32gomp) $(with_lib64gomp) $(with_libn32gomp))) + echo 'dep:libgompbiarch=$(libgompbiarch)' \ + >> debian/substvars.local.tmp +endif +ifneq ($(with_standalone_gcj),yes) + ifeq ($(DEB_HOST_ARCH),armel) + echo 'dep:gcj=g++$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ + >> debian/substvars.local.tmp + else + echo 'dep:gcj=gcc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ + >> debian/substvars.local.tmp + endif +endif +#ifneq (,$(findstring gtk, $(java_awt_peers))) +# echo 'pkg:gcjgtk=libgcj$(subst 0,,$(GCJ_SONAME))-awt-gtk (>= $(DEB_GCJ_VERSION))' \ +# >> debian/substvars.local.tmp +#endif +#ifneq (,$(findstring qt, $(java_awt_peers))) +# echo 'pkg:gcjqt=libgcj$(subst 0,,$(GCJ_SONAME))-awt-qt (>= $(DEB_GCJ_VERSION))' \ +# >> debian/substvars.local.tmp +#endif +ifeq ($(DEB_HOST_ARCH),hppa) + echo 'dep:prctl=prctl' >> debian/substvars.local.tmp +endif +ifneq (,$(filter $(DEB_TARGET_ARCH), powerpc ppc64)) + echo 'base:Replaces=gcc-$(BASE_VERSION)-spu (<< 4.3.3-9)' >> debian/substvars.local.tmp +endif + [ -e debian/substvars.local ] \ + && cmp -s debian/substvars.local debian/substvars.local.tmp \ + && rm -f debian/substvars.local.tmp && exit 0; \ + mv debian/substvars.local.tmp debian/substvars.local; \ + touch $(control_stamp) + +parameters-file: + rm -f debian/rules.parameters.tmp + ( \ + echo '# configuration parameters taken from upstream source files'; \ + echo 'GCC_VERSION := $(GCC_VERSION)'; \ + echo 'NEXT_GCC_VERSION := $(NEXT_GCC_VERSION)'; \ + echo 'BASE_VERSION := $(BASE_VERSION)'; \ + echo 'SOURCE_VERSION := $(SOURCE_VERSION)'; \ + echo 'DEB_VERSION := $(DEB_VERSION)'; \ + echo 'DEB_EVERSION := $(DEB_EVERSION)'; \ + echo 'GPC_BASE_VERSION := $(GPC_BASE_VERSION)'; \ + echo 'GDC_BASE_VERSION := $(GDC_BASE_VERSION)'; \ + echo 'DEB_GPC_VERSION := $(DEB_GPC_VERSION)'; \ + echo 'DEB_GDC_VERSION := $(DEB_GDC_VERSION)'; \ + echo 'DEB_SOVERSION := $(DEB_SOVERSION)'; \ + echo 'DEB_SOEVERSION := $(DEB_SOEVERSION)'; \ + echo 'DEB_LIBGCC_SOVERSION := $(DEB_LIBGCC_SOVERSION)'; \ + echo 'DEB_LIBGCC_VERSION := $(DEB_LIBGCC_VERSION)'; \ + echo 'DEB_STDCXX_SOVERSION := $(DEB_STDCXX_SOVERSION)'; \ + echo 'DEB_GCJ_SOVERSION := $(DEB_GCJ_SOVERSION)'; \ + echo 'PKG_GCJ_EXT := $(PKG_GCJ_EXT)'; \ + echo 'PKG_LIBGCJ_EXT := $(PKG_LIBGCJ_EXT)'; \ + echo 'DEB_GOMP_SOVERSION := $(DEB_GOMP_SOVERSION)'; \ + echo 'DEB_GCCMATH_SOVERSION := $(DEB_GCCMATH_SOVERSION)'; \ + echo 'GCC_SONAME := $(GCC_SONAME)'; \ + echo 'CXX_SONAME := $(CXX_SONAME)'; \ + echo 'FORTRAN_SONAME := $(FORTRAN_SONAME)'; \ + echo 'OBJC_SONAME := $(OBJC_SONAME)'; \ + echo 'GCJ_SONAME := $(GCJ_SONAME)'; \ + echo 'GNAT_VERSION := $(GNAT_VERSION)'; \ + echo 'GNAT_SONAME := $(GNAT_SONAME)'; \ + echo 'FFI_SONAME := $(FFI_SONAME)'; \ + echo 'MUDFLAP_SONAME := $(MUDFLAP_SONAME)'; \ + echo 'SSP_SONAME := $(SSP_SONAME)'; \ + echo 'GOMP_SONAME := $(GOMP_SONAME)'; \ + echo 'GCCMATH_SONAME := $(GCCMATH_SONAME)'; \ + echo 'LIBC_DEP := $(LIBC_DEP)'; \ + ) > debian/rules.parameters.tmp + [ -e debian/rules.parameters ] \ + && cmp -s debian/rules.parameters debian/rules.parameters.tmp \ + && rm -f debian/rules.parameters.tmp && exit 0; \ + mv debian/rules.parameters.tmp debian/rules.parameters; \ + touch $(control_stamp) + +versioned-files: + fs=`echo debian/*-BV* debian/*GCJ* debian/*CXX* debian/*LC* debian/*MF* | sort -u`; \ + for f in $$fs debian/source.lintian-overrides.in; do \ + [ -f $$f ] || echo "CANNOT FIND $$f"; \ + [ -f $$f ] || continue; \ + f2=$$(echo $$f \ + | sed 's/BV/$(BASE_VERSION)/;s/PV/$(GPC_BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LGCJ/$(PKG_LIBGCJ_EXT)/;s/GCJ/$(PKG_GCJ_EXT)/;s/LC/$(GCC_SONAME)/;s/MF/$(MUDFLAP_SONAME)/;s/\.in$$//'); \ + sed -e 's/@BV@/$(BASE_VERSION)/g' \ + -e 's/@PV@/$(GPC_BASE_VERSION)/g' \ + -e 's/@CXX@/$(CXX_SONAME)/g' \ + -e 's/@LGCJ@/$(PKG_LIBGCJ_EXT)/g' \ + -e 's/@GCJ@/$(PKG_GCJ_EXT)/g' \ + -e 's/@GCJSO@/$(GCJ_SONAME)/g' \ + -e 's/@LC@/$(GCC_SONAME)/g' \ + -e 's/@MF@/$(MUDFLAP_SONAME)/g' \ + -e 's/@SRC@/$(PKGSOURCE)/g' \ + -e 's/@GFDL@/$(if $(filter yes,$(GFDL_INVARIANT_FREE)),#)/g' \ + $$f > $$f2; \ + touch -r $$f $$f2; \ + done --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.mips +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.mips @@ -0,0 +1,1106 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3.4@GCC_3.3.4 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_3.3 1:4.1.1 + _Unwind_DeleteException@GCC_3.0 1:4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 1:4.1.1 + _Unwind_Find_FDE@GCC_3.0 1:4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 1:4.1.1 + _Unwind_GetCFA@GCC_3.3 1:4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 1:4.1.1 + _Unwind_GetGR@GCC_3.0 1:4.1.1 + _Unwind_GetIP@GCC_3.0 1:4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 1:4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.1.1 + _Unwind_GetRegionStart@GCC_3.0 1:4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 1:4.1.1 + _Unwind_RaiseException@GCC_3.0 1:4.1.1 + _Unwind_Resume@GCC_3.0 1:4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.1.1 + _Unwind_SetGR@GCC_3.0 1:4.1.1 + _Unwind_SetIP@GCC_3.0 1:4.1.1 + __absvdi2@GCC_3.0 1:4.1.1 + __absvsi2@GCC_3.0 1:4.1.1 + __addda3@GCC_4.3.0 1:4.3 + __adddf3@GCC_3.0 1:4.1.1 + __adddq3@GCC_4.3.0 1:4.3 + __addha3@GCC_4.3.0 1:4.3 + __addhq3@GCC_4.3.0 1:4.3 + __addqq3@GCC_4.3.0 1:4.3 + __addsa3@GCC_4.3.0 1:4.3 + __addsf3@GCC_3.0 1:4.1.1 + __addsq3@GCC_4.3.0 1:4.3 + __adduda3@GCC_4.3.0 1:4.3 + __addudq3@GCC_4.3.0 1:4.3 + __adduha3@GCC_4.3.0 1:4.3 + __adduhq3@GCC_4.3.0 1:4.3 + __adduqq3@GCC_4.3.0 1:4.3 + __addusa3@GCC_4.3.0 1:4.3 + __addusq3@GCC_4.3.0 1:4.3 + __addvdi3@GCC_3.0 1:4.1.1 + __addvsi3@GCC_3.0 1:4.1.1 + __ashlda3@GCC_4.3.0 1:4.3 + __ashldi3@GCC_3.0 1:4.1.1 + __ashldq3@GCC_4.3.0 1:4.3 + __ashlha3@GCC_4.3.0 1:4.3 + __ashlhq3@GCC_4.3.0 1:4.3 + __ashlqq3@GCC_4.3.0 1:4.3 + __ashlsa3@GCC_4.3.0 1:4.3 + __ashlsq3@GCC_4.3.0 1:4.3 + __ashluda3@GCC_4.3.0 1:4.3 + __ashludq3@GCC_4.3.0 1:4.3 + __ashluha3@GCC_4.3.0 1:4.3 + __ashluhq3@GCC_4.3.0 1:4.3 + __ashluqq3@GCC_4.3.0 1:4.3 + __ashlusa3@GCC_4.3.0 1:4.3 + __ashlusq3@GCC_4.3.0 1:4.3 + __ashrda3@GCC_4.3.0 1:4.3 + __ashrdi3@GCC_3.0 1:4.1.1 + __ashrdq3@GCC_4.3.0 1:4.3 + __ashrha3@GCC_4.3.0 1:4.3 + __ashrhq3@GCC_4.3.0 1:4.3 + __ashrqq3@GCC_4.3.0 1:4.3 + __ashrsa3@GCC_4.3.0 1:4.3 + __ashrsq3@GCC_4.3.0 1:4.3 + __bswapdi2@GCC_4.3.0 1:4.3 + __bswapsi2@GCC_4.3.0 1:4.3 + __clear_cache@GCC_3.0 1:4.1.1 + __clzdi2@GCC_3.4 1:4.1.1 + __clzsi2@GCC_3.4 1:4.1.1 + __cmpda2@GCC_4.3.0 1:4.3 + __cmpdi2@GCC_3.0 1:4.1.1 + __cmpdq2@GCC_4.3.0 1:4.3 + __cmpha2@GCC_4.3.0 1:4.3 + __cmphq2@GCC_4.3.0 1:4.3 + __cmpqq2@GCC_4.3.0 1:4.3 + __cmpsa2@GCC_4.3.0 1:4.3 + __cmpsq2@GCC_4.3.0 1:4.3 + __cmpuda2@GCC_4.3.0 1:4.3 + __cmpudq2@GCC_4.3.0 1:4.3 + __cmpuha2@GCC_4.3.0 1:4.3 + __cmpuhq2@GCC_4.3.0 1:4.3 + __cmpuqq2@GCC_4.3.0 1:4.3 + __cmpusa2@GCC_4.3.0 1:4.3 + __cmpusq2@GCC_4.3.0 1:4.3 + __ctzdi2@GCC_3.4 1:4.1.1 + __ctzsi2@GCC_3.4 1:4.1.1 + __deregister_frame@GLIBC_2.0 1:4.1.1 + __deregister_frame_info@GLIBC_2.0 1:4.1.1 + __deregister_frame_info_bases@GCC_3.0 1:4.1.1 + __divda3@GCC_4.3.0 1:4.3 + __divdc3@GCC_4.0.0 1:4.1.1 + __divdf3@GCC_3.0 1:4.1.1 + __divdi3@GLIBC_2.0 1:4.1.1 + __divdq3@GCC_4.3.0 1:4.3 + __divha3@GCC_4.3.0 1:4.3 + __divhq3@GCC_4.3.0 1:4.3 + __divqq3@GCC_4.3.0 1:4.3 + __divsa3@GCC_4.3.0 1:4.3 + __divsc3@GCC_4.0.0 1:4.1.1 + __divsf3@GCC_3.0 1:4.1.1 + __divsq3@GCC_4.3.0 1:4.3 + __emutls_get_address@GCC_4.3.0 1:4.3 + __emutls_register_common@GCC_4.3.0 1:4.3 + __enable_execute_stack@GCC_3.4.2 1:4.1.1 + __eqdf2@GCC_3.0 1:4.1.1 + __eqsf2@GCC_3.0 1:4.1.1 + __extendsfdf2@GCC_3.0 1:4.1.1 + __ffsdi2@GCC_3.0 1:4.1.1 + __ffssi2@GCC_4.3.0 1:4.3 + __fixdfdi@GCC_3.0 1:4.1.1 + __fixdfsi@GCC_3.0 1:4.1.1 + __fixsfdi@GCC_3.0 1:4.1.1 + __fixsfsi@GCC_3.0 1:4.1.1 + __fixunsdfdi@GCC_3.0 1:4.1.1 + __fixunsdfsi@GCC_3.0 1:4.1.1 + __fixunssfdi@GCC_3.0 1:4.1.1 + __fixunssfsi@GCC_3.0 1:4.1.1 + __floatdidf@GCC_3.0 1:4.1.1 + __floatdisf@GCC_3.0 1:4.1.1 + __floatsidf@GCC_3.0 1:4.1.1 + __floatsisf@GCC_3.0 1:4.1.1 + __floatundidf@GCC_4.2.0 1:4.2.1 + __floatundisf@GCC_4.2.0 1:4.2.1 + __floatunsidf@GCC_4.2.0 1:4.2.1 + __floatunsisf@GCC_4.2.0 1:4.2.1 + __fractdadf@GCC_4.3.0 1:4.3 + __fractdadi@GCC_4.3.0 1:4.3 + __fractdadq@GCC_4.3.0 1:4.3 + __fractdaha2@GCC_4.3.0 1:4.3 + __fractdahi@GCC_4.3.0 1:4.3 + __fractdahq@GCC_4.3.0 1:4.3 + __fractdaqi@GCC_4.3.0 1:4.3 + __fractdaqq@GCC_4.3.0 1:4.3 + __fractdasa2@GCC_4.3.0 1:4.3 + __fractdasf@GCC_4.3.0 1:4.3 + __fractdasi@GCC_4.3.0 1:4.3 + __fractdasq@GCC_4.3.0 1:4.3 + __fractdauda@GCC_4.3.0 1:4.3 + __fractdaudq@GCC_4.3.0 1:4.3 + __fractdauha@GCC_4.3.0 1:4.3 + __fractdauhq@GCC_4.3.0 1:4.3 + __fractdauqq@GCC_4.3.0 1:4.3 + __fractdausa@GCC_4.3.0 1:4.3 + __fractdausq@GCC_4.3.0 1:4.3 + __fractdfda@GCC_4.3.0 1:4.3 + __fractdfdq@GCC_4.3.0 1:4.3 + __fractdfha@GCC_4.3.0 1:4.3 + __fractdfhq@GCC_4.3.0 1:4.3 + __fractdfqq@GCC_4.3.0 1:4.3 + __fractdfsa@GCC_4.3.0 1:4.3 + __fractdfsq@GCC_4.3.0 1:4.3 + __fractdfuda@GCC_4.3.0 1:4.3 + __fractdfudq@GCC_4.3.0 1:4.3 + __fractdfuha@GCC_4.3.0 1:4.3 + __fractdfuhq@GCC_4.3.0 1:4.3 + __fractdfuqq@GCC_4.3.0 1:4.3 + __fractdfusa@GCC_4.3.0 1:4.3 + __fractdfusq@GCC_4.3.0 1:4.3 + __fractdida@GCC_4.3.0 1:4.3 + __fractdidq@GCC_4.3.0 1:4.3 + __fractdiha@GCC_4.3.0 1:4.3 + __fractdihq@GCC_4.3.0 1:4.3 + __fractdiqq@GCC_4.3.0 1:4.3 + __fractdisa@GCC_4.3.0 1:4.3 + __fractdisq@GCC_4.3.0 1:4.3 + __fractdiuda@GCC_4.3.0 1:4.3 + __fractdiudq@GCC_4.3.0 1:4.3 + __fractdiuha@GCC_4.3.0 1:4.3 + __fractdiuhq@GCC_4.3.0 1:4.3 + __fractdiuqq@GCC_4.3.0 1:4.3 + __fractdiusa@GCC_4.3.0 1:4.3 + __fractdiusq@GCC_4.3.0 1:4.3 + __fractdqda@GCC_4.3.0 1:4.3 + __fractdqdf@GCC_4.3.0 1:4.3 + __fractdqdi@GCC_4.3.0 1:4.3 + __fractdqha@GCC_4.3.0 1:4.3 + __fractdqhi@GCC_4.3.0 1:4.3 + __fractdqhq2@GCC_4.3.0 1:4.3 + __fractdqqi@GCC_4.3.0 1:4.3 + __fractdqqq2@GCC_4.3.0 1:4.3 + __fractdqsa@GCC_4.3.0 1:4.3 + __fractdqsf@GCC_4.3.0 1:4.3 + __fractdqsi@GCC_4.3.0 1:4.3 + __fractdqsq2@GCC_4.3.0 1:4.3 + __fractdquda@GCC_4.3.0 1:4.3 + __fractdqudq@GCC_4.3.0 1:4.3 + __fractdquha@GCC_4.3.0 1:4.3 + __fractdquhq@GCC_4.3.0 1:4.3 + __fractdquqq@GCC_4.3.0 1:4.3 + __fractdqusa@GCC_4.3.0 1:4.3 + __fractdqusq@GCC_4.3.0 1:4.3 + __fracthada2@GCC_4.3.0 1:4.3 + __fracthadf@GCC_4.3.0 1:4.3 + __fracthadi@GCC_4.3.0 1:4.3 + __fracthadq@GCC_4.3.0 1:4.3 + __fracthahi@GCC_4.3.0 1:4.3 + __fracthahq@GCC_4.3.0 1:4.3 + __fracthaqi@GCC_4.3.0 1:4.3 + __fracthaqq@GCC_4.3.0 1:4.3 + __fracthasa2@GCC_4.3.0 1:4.3 + __fracthasf@GCC_4.3.0 1:4.3 + __fracthasi@GCC_4.3.0 1:4.3 + __fracthasq@GCC_4.3.0 1:4.3 + __fracthauda@GCC_4.3.0 1:4.3 + __fracthaudq@GCC_4.3.0 1:4.3 + __fracthauha@GCC_4.3.0 1:4.3 + __fracthauhq@GCC_4.3.0 1:4.3 + __fracthauqq@GCC_4.3.0 1:4.3 + __fracthausa@GCC_4.3.0 1:4.3 + __fracthausq@GCC_4.3.0 1:4.3 + __fracthida@GCC_4.3.0 1:4.3 + __fracthidq@GCC_4.3.0 1:4.3 + __fracthiha@GCC_4.3.0 1:4.3 + __fracthihq@GCC_4.3.0 1:4.3 + __fracthiqq@GCC_4.3.0 1:4.3 + __fracthisa@GCC_4.3.0 1:4.3 + __fracthisq@GCC_4.3.0 1:4.3 + __fracthiuda@GCC_4.3.0 1:4.3 + __fracthiudq@GCC_4.3.0 1:4.3 + __fracthiuha@GCC_4.3.0 1:4.3 + __fracthiuhq@GCC_4.3.0 1:4.3 + __fracthiuqq@GCC_4.3.0 1:4.3 + __fracthiusa@GCC_4.3.0 1:4.3 + __fracthiusq@GCC_4.3.0 1:4.3 + __fracthqda@GCC_4.3.0 1:4.3 + __fracthqdf@GCC_4.3.0 1:4.3 + __fracthqdi@GCC_4.3.0 1:4.3 + __fracthqdq2@GCC_4.3.0 1:4.3 + __fracthqha@GCC_4.3.0 1:4.3 + __fracthqhi@GCC_4.3.0 1:4.3 + __fracthqqi@GCC_4.3.0 1:4.3 + __fracthqqq2@GCC_4.3.0 1:4.3 + __fracthqsa@GCC_4.3.0 1:4.3 + __fracthqsf@GCC_4.3.0 1:4.3 + __fracthqsi@GCC_4.3.0 1:4.3 + __fracthqsq2@GCC_4.3.0 1:4.3 + __fracthquda@GCC_4.3.0 1:4.3 + __fracthqudq@GCC_4.3.0 1:4.3 + __fracthquha@GCC_4.3.0 1:4.3 + __fracthquhq@GCC_4.3.0 1:4.3 + __fracthquqq@GCC_4.3.0 1:4.3 + __fracthqusa@GCC_4.3.0 1:4.3 + __fracthqusq@GCC_4.3.0 1:4.3 + __fractqida@GCC_4.3.0 1:4.3 + __fractqidq@GCC_4.3.0 1:4.3 + __fractqiha@GCC_4.3.0 1:4.3 + __fractqihq@GCC_4.3.0 1:4.3 + __fractqiqq@GCC_4.3.0 1:4.3 + __fractqisa@GCC_4.3.0 1:4.3 + __fractqisq@GCC_4.3.0 1:4.3 + __fractqiuda@GCC_4.3.0 1:4.3 + __fractqiudq@GCC_4.3.0 1:4.3 + __fractqiuha@GCC_4.3.0 1:4.3 + __fractqiuhq@GCC_4.3.0 1:4.3 + __fractqiuqq@GCC_4.3.0 1:4.3 + __fractqiusa@GCC_4.3.0 1:4.3 + __fractqiusq@GCC_4.3.0 1:4.3 + __fractqqda@GCC_4.3.0 1:4.3 + __fractqqdf@GCC_4.3.0 1:4.3 + __fractqqdi@GCC_4.3.0 1:4.3 + __fractqqdq2@GCC_4.3.0 1:4.3 + __fractqqha@GCC_4.3.0 1:4.3 + __fractqqhi@GCC_4.3.0 1:4.3 + __fractqqhq2@GCC_4.3.0 1:4.3 + __fractqqqi@GCC_4.3.0 1:4.3 + __fractqqsa@GCC_4.3.0 1:4.3 + __fractqqsf@GCC_4.3.0 1:4.3 + __fractqqsi@GCC_4.3.0 1:4.3 + __fractqqsq2@GCC_4.3.0 1:4.3 + __fractqquda@GCC_4.3.0 1:4.3 + __fractqqudq@GCC_4.3.0 1:4.3 + __fractqquha@GCC_4.3.0 1:4.3 + __fractqquhq@GCC_4.3.0 1:4.3 + __fractqquqq@GCC_4.3.0 1:4.3 + __fractqqusa@GCC_4.3.0 1:4.3 + __fractqqusq@GCC_4.3.0 1:4.3 + __fractsada2@GCC_4.3.0 1:4.3 + __fractsadf@GCC_4.3.0 1:4.3 + __fractsadi@GCC_4.3.0 1:4.3 + __fractsadq@GCC_4.3.0 1:4.3 + __fractsaha2@GCC_4.3.0 1:4.3 + __fractsahi@GCC_4.3.0 1:4.3 + __fractsahq@GCC_4.3.0 1:4.3 + __fractsaqi@GCC_4.3.0 1:4.3 + __fractsaqq@GCC_4.3.0 1:4.3 + __fractsasf@GCC_4.3.0 1:4.3 + __fractsasi@GCC_4.3.0 1:4.3 + __fractsasq@GCC_4.3.0 1:4.3 + __fractsauda@GCC_4.3.0 1:4.3 + __fractsaudq@GCC_4.3.0 1:4.3 + __fractsauha@GCC_4.3.0 1:4.3 + __fractsauhq@GCC_4.3.0 1:4.3 + __fractsauqq@GCC_4.3.0 1:4.3 + __fractsausa@GCC_4.3.0 1:4.3 + __fractsausq@GCC_4.3.0 1:4.3 + __fractsfda@GCC_4.3.0 1:4.3 + __fractsfdq@GCC_4.3.0 1:4.3 + __fractsfha@GCC_4.3.0 1:4.3 + __fractsfhq@GCC_4.3.0 1:4.3 + __fractsfqq@GCC_4.3.0 1:4.3 + __fractsfsa@GCC_4.3.0 1:4.3 + __fractsfsq@GCC_4.3.0 1:4.3 + __fractsfuda@GCC_4.3.0 1:4.3 + __fractsfudq@GCC_4.3.0 1:4.3 + __fractsfuha@GCC_4.3.0 1:4.3 + __fractsfuhq@GCC_4.3.0 1:4.3 + __fractsfuqq@GCC_4.3.0 1:4.3 + __fractsfusa@GCC_4.3.0 1:4.3 + __fractsfusq@GCC_4.3.0 1:4.3 + __fractsida@GCC_4.3.0 1:4.3 + __fractsidq@GCC_4.3.0 1:4.3 + __fractsiha@GCC_4.3.0 1:4.3 + __fractsihq@GCC_4.3.0 1:4.3 + __fractsiqq@GCC_4.3.0 1:4.3 + __fractsisa@GCC_4.3.0 1:4.3 + __fractsisq@GCC_4.3.0 1:4.3 + __fractsiuda@GCC_4.3.0 1:4.3 + __fractsiudq@GCC_4.3.0 1:4.3 + __fractsiuha@GCC_4.3.0 1:4.3 + __fractsiuhq@GCC_4.3.0 1:4.3 + __fractsiuqq@GCC_4.3.0 1:4.3 + __fractsiusa@GCC_4.3.0 1:4.3 + __fractsiusq@GCC_4.3.0 1:4.3 + __fractsqda@GCC_4.3.0 1:4.3 + __fractsqdf@GCC_4.3.0 1:4.3 + __fractsqdi@GCC_4.3.0 1:4.3 + __fractsqdq2@GCC_4.3.0 1:4.3 + __fractsqha@GCC_4.3.0 1:4.3 + __fractsqhi@GCC_4.3.0 1:4.3 + __fractsqhq2@GCC_4.3.0 1:4.3 + __fractsqqi@GCC_4.3.0 1:4.3 + __fractsqqq2@GCC_4.3.0 1:4.3 + __fractsqsa@GCC_4.3.0 1:4.3 + __fractsqsf@GCC_4.3.0 1:4.3 + __fractsqsi@GCC_4.3.0 1:4.3 + __fractsquda@GCC_4.3.0 1:4.3 + __fractsqudq@GCC_4.3.0 1:4.3 + __fractsquha@GCC_4.3.0 1:4.3 + __fractsquhq@GCC_4.3.0 1:4.3 + __fractsquqq@GCC_4.3.0 1:4.3 + __fractsqusa@GCC_4.3.0 1:4.3 + __fractsqusq@GCC_4.3.0 1:4.3 + __fractudada@GCC_4.3.0 1:4.3 + __fractudadf@GCC_4.3.0 1:4.3 + __fractudadi@GCC_4.3.0 1:4.3 + __fractudadq@GCC_4.3.0 1:4.3 + __fractudaha@GCC_4.3.0 1:4.3 + __fractudahi@GCC_4.3.0 1:4.3 + __fractudahq@GCC_4.3.0 1:4.3 + __fractudaqi@GCC_4.3.0 1:4.3 + __fractudaqq@GCC_4.3.0 1:4.3 + __fractudasa@GCC_4.3.0 1:4.3 + __fractudasf@GCC_4.3.0 1:4.3 + __fractudasi@GCC_4.3.0 1:4.3 + __fractudasq@GCC_4.3.0 1:4.3 + __fractudaudq@GCC_4.3.0 1:4.3 + __fractudauha2@GCC_4.3.0 1:4.3 + __fractudauhq@GCC_4.3.0 1:4.3 + __fractudauqq@GCC_4.3.0 1:4.3 + __fractudausa2@GCC_4.3.0 1:4.3 + __fractudausq@GCC_4.3.0 1:4.3 + __fractudqda@GCC_4.3.0 1:4.3 + __fractudqdf@GCC_4.3.0 1:4.3 + __fractudqdi@GCC_4.3.0 1:4.3 + __fractudqdq@GCC_4.3.0 1:4.3 + __fractudqha@GCC_4.3.0 1:4.3 + __fractudqhi@GCC_4.3.0 1:4.3 + __fractudqhq@GCC_4.3.0 1:4.3 + __fractudqqi@GCC_4.3.0 1:4.3 + __fractudqqq@GCC_4.3.0 1:4.3 + __fractudqsa@GCC_4.3.0 1:4.3 + __fractudqsf@GCC_4.3.0 1:4.3 + __fractudqsi@GCC_4.3.0 1:4.3 + __fractudqsq@GCC_4.3.0 1:4.3 + __fractudquda@GCC_4.3.0 1:4.3 + __fractudquha@GCC_4.3.0 1:4.3 + __fractudquhq2@GCC_4.3.0 1:4.3 + __fractudquqq2@GCC_4.3.0 1:4.3 + __fractudqusa@GCC_4.3.0 1:4.3 + __fractudqusq2@GCC_4.3.0 1:4.3 + __fractuhada@GCC_4.3.0 1:4.3 + __fractuhadf@GCC_4.3.0 1:4.3 + __fractuhadi@GCC_4.3.0 1:4.3 + __fractuhadq@GCC_4.3.0 1:4.3 + __fractuhaha@GCC_4.3.0 1:4.3 + __fractuhahi@GCC_4.3.0 1:4.3 + __fractuhahq@GCC_4.3.0 1:4.3 + __fractuhaqi@GCC_4.3.0 1:4.3 + __fractuhaqq@GCC_4.3.0 1:4.3 + __fractuhasa@GCC_4.3.0 1:4.3 + __fractuhasf@GCC_4.3.0 1:4.3 + __fractuhasi@GCC_4.3.0 1:4.3 + __fractuhasq@GCC_4.3.0 1:4.3 + __fractuhauda2@GCC_4.3.0 1:4.3 + __fractuhaudq@GCC_4.3.0 1:4.3 + __fractuhauhq@GCC_4.3.0 1:4.3 + __fractuhauqq@GCC_4.3.0 1:4.3 + __fractuhausa2@GCC_4.3.0 1:4.3 + __fractuhausq@GCC_4.3.0 1:4.3 + __fractuhqda@GCC_4.3.0 1:4.3 + __fractuhqdf@GCC_4.3.0 1:4.3 + __fractuhqdi@GCC_4.3.0 1:4.3 + __fractuhqdq@GCC_4.3.0 1:4.3 + __fractuhqha@GCC_4.3.0 1:4.3 + __fractuhqhi@GCC_4.3.0 1:4.3 + __fractuhqhq@GCC_4.3.0 1:4.3 + __fractuhqqi@GCC_4.3.0 1:4.3 + __fractuhqqq@GCC_4.3.0 1:4.3 + __fractuhqsa@GCC_4.3.0 1:4.3 + __fractuhqsf@GCC_4.3.0 1:4.3 + __fractuhqsi@GCC_4.3.0 1:4.3 + __fractuhqsq@GCC_4.3.0 1:4.3 + __fractuhquda@GCC_4.3.0 1:4.3 + __fractuhqudq2@GCC_4.3.0 1:4.3 + __fractuhquha@GCC_4.3.0 1:4.3 + __fractuhquqq2@GCC_4.3.0 1:4.3 + __fractuhqusa@GCC_4.3.0 1:4.3 + __fractuhqusq2@GCC_4.3.0 1:4.3 + __fractunsdadi@GCC_4.3.0 1:4.3 + __fractunsdahi@GCC_4.3.0 1:4.3 + __fractunsdaqi@GCC_4.3.0 1:4.3 + __fractunsdasi@GCC_4.3.0 1:4.3 + __fractunsdida@GCC_4.3.0 1:4.3 + __fractunsdidq@GCC_4.3.0 1:4.3 + __fractunsdiha@GCC_4.3.0 1:4.3 + __fractunsdihq@GCC_4.3.0 1:4.3 + __fractunsdiqq@GCC_4.3.0 1:4.3 + __fractunsdisa@GCC_4.3.0 1:4.3 + __fractunsdisq@GCC_4.3.0 1:4.3 + __fractunsdiuda@GCC_4.3.0 1:4.3 + __fractunsdiudq@GCC_4.3.0 1:4.3 + __fractunsdiuha@GCC_4.3.0 1:4.3 + __fractunsdiuhq@GCC_4.3.0 1:4.3 + __fractunsdiuqq@GCC_4.3.0 1:4.3 + __fractunsdiusa@GCC_4.3.0 1:4.3 + __fractunsdiusq@GCC_4.3.0 1:4.3 + __fractunsdqdi@GCC_4.3.0 1:4.3 + __fractunsdqhi@GCC_4.3.0 1:4.3 + __fractunsdqqi@GCC_4.3.0 1:4.3 + __fractunsdqsi@GCC_4.3.0 1:4.3 + __fractunshadi@GCC_4.3.0 1:4.3 + __fractunshahi@GCC_4.3.0 1:4.3 + __fractunshaqi@GCC_4.3.0 1:4.3 + __fractunshasi@GCC_4.3.0 1:4.3 + __fractunshida@GCC_4.3.0 1:4.3 + __fractunshidq@GCC_4.3.0 1:4.3 + __fractunshiha@GCC_4.3.0 1:4.3 + __fractunshihq@GCC_4.3.0 1:4.3 + __fractunshiqq@GCC_4.3.0 1:4.3 + __fractunshisa@GCC_4.3.0 1:4.3 + __fractunshisq@GCC_4.3.0 1:4.3 + __fractunshiuda@GCC_4.3.0 1:4.3 + __fractunshiudq@GCC_4.3.0 1:4.3 + __fractunshiuha@GCC_4.3.0 1:4.3 + __fractunshiuhq@GCC_4.3.0 1:4.3 + __fractunshiuqq@GCC_4.3.0 1:4.3 + __fractunshiusa@GCC_4.3.0 1:4.3 + __fractunshiusq@GCC_4.3.0 1:4.3 + __fractunshqdi@GCC_4.3.0 1:4.3 + __fractunshqhi@GCC_4.3.0 1:4.3 + __fractunshqqi@GCC_4.3.0 1:4.3 + __fractunshqsi@GCC_4.3.0 1:4.3 + __fractunsqida@GCC_4.3.0 1:4.3 + __fractunsqidq@GCC_4.3.0 1:4.3 + __fractunsqiha@GCC_4.3.0 1:4.3 + __fractunsqihq@GCC_4.3.0 1:4.3 + __fractunsqiqq@GCC_4.3.0 1:4.3 + __fractunsqisa@GCC_4.3.0 1:4.3 + __fractunsqisq@GCC_4.3.0 1:4.3 + __fractunsqiuda@GCC_4.3.0 1:4.3 + __fractunsqiudq@GCC_4.3.0 1:4.3 + __fractunsqiuha@GCC_4.3.0 1:4.3 + __fractunsqiuhq@GCC_4.3.0 1:4.3 + __fractunsqiuqq@GCC_4.3.0 1:4.3 + __fractunsqiusa@GCC_4.3.0 1:4.3 + __fractunsqiusq@GCC_4.3.0 1:4.3 + __fractunsqqdi@GCC_4.3.0 1:4.3 + __fractunsqqhi@GCC_4.3.0 1:4.3 + __fractunsqqqi@GCC_4.3.0 1:4.3 + __fractunsqqsi@GCC_4.3.0 1:4.3 + __fractunssadi@GCC_4.3.0 1:4.3 + __fractunssahi@GCC_4.3.0 1:4.3 + __fractunssaqi@GCC_4.3.0 1:4.3 + __fractunssasi@GCC_4.3.0 1:4.3 + __fractunssida@GCC_4.3.0 1:4.3 + __fractunssidq@GCC_4.3.0 1:4.3 + __fractunssiha@GCC_4.3.0 1:4.3 + __fractunssihq@GCC_4.3.0 1:4.3 + __fractunssiqq@GCC_4.3.0 1:4.3 + __fractunssisa@GCC_4.3.0 1:4.3 + __fractunssisq@GCC_4.3.0 1:4.3 + __fractunssiuda@GCC_4.3.0 1:4.3 + __fractunssiudq@GCC_4.3.0 1:4.3 + __fractunssiuha@GCC_4.3.0 1:4.3 + __fractunssiuhq@GCC_4.3.0 1:4.3 + __fractunssiuqq@GCC_4.3.0 1:4.3 + __fractunssiusa@GCC_4.3.0 1:4.3 + __fractunssiusq@GCC_4.3.0 1:4.3 + __fractunssqdi@GCC_4.3.0 1:4.3 + __fractunssqhi@GCC_4.3.0 1:4.3 + __fractunssqqi@GCC_4.3.0 1:4.3 + __fractunssqsi@GCC_4.3.0 1:4.3 + __fractunsudadi@GCC_4.3.0 1:4.3 + __fractunsudahi@GCC_4.3.0 1:4.3 + __fractunsudaqi@GCC_4.3.0 1:4.3 + __fractunsudasi@GCC_4.3.0 1:4.3 + __fractunsudqdi@GCC_4.3.0 1:4.3 + __fractunsudqhi@GCC_4.3.0 1:4.3 + __fractunsudqqi@GCC_4.3.0 1:4.3 + __fractunsudqsi@GCC_4.3.0 1:4.3 + __fractunsuhadi@GCC_4.3.0 1:4.3 + __fractunsuhahi@GCC_4.3.0 1:4.3 + __fractunsuhaqi@GCC_4.3.0 1:4.3 + __fractunsuhasi@GCC_4.3.0 1:4.3 + __fractunsuhqdi@GCC_4.3.0 1:4.3 + __fractunsuhqhi@GCC_4.3.0 1:4.3 + __fractunsuhqqi@GCC_4.3.0 1:4.3 + __fractunsuhqsi@GCC_4.3.0 1:4.3 + __fractunsuqqdi@GCC_4.3.0 1:4.3 + __fractunsuqqhi@GCC_4.3.0 1:4.3 + __fractunsuqqqi@GCC_4.3.0 1:4.3 + __fractunsuqqsi@GCC_4.3.0 1:4.3 + __fractunsusadi@GCC_4.3.0 1:4.3 + __fractunsusahi@GCC_4.3.0 1:4.3 + __fractunsusaqi@GCC_4.3.0 1:4.3 + __fractunsusasi@GCC_4.3.0 1:4.3 + __fractunsusqdi@GCC_4.3.0 1:4.3 + __fractunsusqhi@GCC_4.3.0 1:4.3 + __fractunsusqqi@GCC_4.3.0 1:4.3 + __fractunsusqsi@GCC_4.3.0 1:4.3 + __fractuqqda@GCC_4.3.0 1:4.3 + __fractuqqdf@GCC_4.3.0 1:4.3 + __fractuqqdi@GCC_4.3.0 1:4.3 + __fractuqqdq@GCC_4.3.0 1:4.3 + __fractuqqha@GCC_4.3.0 1:4.3 + __fractuqqhi@GCC_4.3.0 1:4.3 + __fractuqqhq@GCC_4.3.0 1:4.3 + __fractuqqqi@GCC_4.3.0 1:4.3 + __fractuqqqq@GCC_4.3.0 1:4.3 + __fractuqqsa@GCC_4.3.0 1:4.3 + __fractuqqsf@GCC_4.3.0 1:4.3 + __fractuqqsi@GCC_4.3.0 1:4.3 + __fractuqqsq@GCC_4.3.0 1:4.3 + __fractuqquda@GCC_4.3.0 1:4.3 + __fractuqqudq2@GCC_4.3.0 1:4.3 + __fractuqquha@GCC_4.3.0 1:4.3 + __fractuqquhq2@GCC_4.3.0 1:4.3 + __fractuqqusa@GCC_4.3.0 1:4.3 + __fractuqqusq2@GCC_4.3.0 1:4.3 + __fractusada@GCC_4.3.0 1:4.3 + __fractusadf@GCC_4.3.0 1:4.3 + __fractusadi@GCC_4.3.0 1:4.3 + __fractusadq@GCC_4.3.0 1:4.3 + __fractusaha@GCC_4.3.0 1:4.3 + __fractusahi@GCC_4.3.0 1:4.3 + __fractusahq@GCC_4.3.0 1:4.3 + __fractusaqi@GCC_4.3.0 1:4.3 + __fractusaqq@GCC_4.3.0 1:4.3 + __fractusasa@GCC_4.3.0 1:4.3 + __fractusasf@GCC_4.3.0 1:4.3 + __fractusasi@GCC_4.3.0 1:4.3 + __fractusasq@GCC_4.3.0 1:4.3 + __fractusauda2@GCC_4.3.0 1:4.3 + __fractusaudq@GCC_4.3.0 1:4.3 + __fractusauha2@GCC_4.3.0 1:4.3 + __fractusauhq@GCC_4.3.0 1:4.3 + __fractusauqq@GCC_4.3.0 1:4.3 + __fractusausq@GCC_4.3.0 1:4.3 + __fractusqda@GCC_4.3.0 1:4.3 + __fractusqdf@GCC_4.3.0 1:4.3 + __fractusqdi@GCC_4.3.0 1:4.3 + __fractusqdq@GCC_4.3.0 1:4.3 + __fractusqha@GCC_4.3.0 1:4.3 + __fractusqhi@GCC_4.3.0 1:4.3 + __fractusqhq@GCC_4.3.0 1:4.3 + __fractusqqi@GCC_4.3.0 1:4.3 + __fractusqqq@GCC_4.3.0 1:4.3 + __fractusqsa@GCC_4.3.0 1:4.3 + __fractusqsf@GCC_4.3.0 1:4.3 + __fractusqsi@GCC_4.3.0 1:4.3 + __fractusqsq@GCC_4.3.0 1:4.3 + __fractusquda@GCC_4.3.0 1:4.3 + __fractusqudq2@GCC_4.3.0 1:4.3 + __fractusquha@GCC_4.3.0 1:4.3 + __fractusquhq2@GCC_4.3.0 1:4.3 + __fractusquqq2@GCC_4.3.0 1:4.3 + __fractusqusa@GCC_4.3.0 1:4.3 + __frame_state_for@GLIBC_2.0 1:4.1.1 + __gcc_personality_v0@GCC_3.3.1 1:4.1.1 + __gedf2@GCC_3.0 1:4.1.1 + __gesf2@GCC_3.0 1:4.1.1 + __gtdf2@GCC_3.0 1:4.1.1 + __gtsf2@GCC_3.0 1:4.1.1 + __ledf2@GCC_3.0 1:4.1.1 + __lesf2@GCC_3.0 1:4.1.1 + __lshrdi3@GCC_3.0 1:4.1.1 + __lshruda3@GCC_4.3.0 1:4.3 + __lshrudq3@GCC_4.3.0 1:4.3 + __lshruha3@GCC_4.3.0 1:4.3 + __lshruhq3@GCC_4.3.0 1:4.3 + __lshruqq3@GCC_4.3.0 1:4.3 + __lshrusa3@GCC_4.3.0 1:4.3 + __lshrusq3@GCC_4.3.0 1:4.3 + __ltdf2@GCC_3.0 1:4.1.1 + __ltsf2@GCC_3.0 1:4.1.1 + __moddi3@GLIBC_2.0 1:4.1.1 + __mulda3@GCC_4.3.0 1:4.3 + __muldc3@GCC_4.0.0 1:4.1.1 + __muldf3@GCC_3.0 1:4.1.1 + __muldi3@GCC_3.0 1:4.1.1 + __muldq3@GCC_4.3.0 1:4.3 + __mulha3@GCC_4.3.0 1:4.3 + __mulhq3@GCC_4.3.0 1:4.3 + __mulqq3@GCC_4.3.0 1:4.3 + __mulsa3@GCC_4.3.0 1:4.3 + __mulsc3@GCC_4.0.0 1:4.1.1 + __mulsf3@GCC_3.0 1:4.1.1 + __mulsq3@GCC_4.3.0 1:4.3 + __muluda3@GCC_4.3.0 1:4.3 + __muludq3@GCC_4.3.0 1:4.3 + __muluha3@GCC_4.3.0 1:4.3 + __muluhq3@GCC_4.3.0 1:4.3 + __muluqq3@GCC_4.3.0 1:4.3 + __mulusa3@GCC_4.3.0 1:4.3 + __mulusq3@GCC_4.3.0 1:4.3 + __mulvdi3@GCC_3.0 1:4.1.1 + __mulvsi3@GCC_3.0 1:4.1.1 + __nedf2@GCC_3.0 1:4.1.1 + __negda2@GCC_4.3.0 1:4.3 + __negdf2@GCC_3.0 1:4.1.1 + __negdi2@GCC_3.0 1:4.1.1 + __negdq2@GCC_4.3.0 1:4.3 + __negha2@GCC_4.3.0 1:4.3 + __neghq2@GCC_4.3.0 1:4.3 + __negqq2@GCC_4.3.0 1:4.3 + __negsa2@GCC_4.3.0 1:4.3 + __negsf2@GCC_3.0 1:4.1.1 + __negsq2@GCC_4.3.0 1:4.3 + __neguda2@GCC_4.3.0 1:4.3 + __negudq2@GCC_4.3.0 1:4.3 + __neguha2@GCC_4.3.0 1:4.3 + __neguhq2@GCC_4.3.0 1:4.3 + __neguqq2@GCC_4.3.0 1:4.3 + __negusa2@GCC_4.3.0 1:4.3 + __negusq2@GCC_4.3.0 1:4.3 + __negvdi2@GCC_3.0 1:4.1.1 + __negvsi2@GCC_3.0 1:4.1.1 + __nesf2@GCC_3.0 1:4.1.1 + __paritydi2@GCC_3.4 1:4.1.1 + __paritysi2@GCC_3.4 1:4.1.1 + __popcountdi2@GCC_3.4 1:4.1.1 + __popcountsi2@GCC_3.4 1:4.1.1 + __powidf2@GCC_4.0.0 1:4.1.1 + __powisf2@GCC_4.0.0 1:4.1.1 + __register_frame@GLIBC_2.0 1:4.1.1 + __register_frame_info@GLIBC_2.0 1:4.1.1 + __register_frame_info_bases@GCC_3.0 1:4.1.1 + __register_frame_info_table@GLIBC_2.0 1:4.1.1 + __register_frame_info_table_bases@GCC_3.0 1:4.1.1 + __register_frame_table@GLIBC_2.0 1:4.1.1 + __satfractdadq@GCC_4.3.0 1:4.3 + __satfractdaha2@GCC_4.3.0 1:4.3 + __satfractdahq@GCC_4.3.0 1:4.3 + __satfractdaqq@GCC_4.3.0 1:4.3 + __satfractdasa2@GCC_4.3.0 1:4.3 + __satfractdasq@GCC_4.3.0 1:4.3 + __satfractdauda@GCC_4.3.0 1:4.3 + __satfractdaudq@GCC_4.3.0 1:4.3 + __satfractdauha@GCC_4.3.0 1:4.3 + __satfractdauhq@GCC_4.3.0 1:4.3 + __satfractdauqq@GCC_4.3.0 1:4.3 + __satfractdausa@GCC_4.3.0 1:4.3 + __satfractdausq@GCC_4.3.0 1:4.3 + __satfractdfda@GCC_4.3.0 1:4.3 + __satfractdfdq@GCC_4.3.0 1:4.3 + __satfractdfha@GCC_4.3.0 1:4.3 + __satfractdfhq@GCC_4.3.0 1:4.3 + __satfractdfqq@GCC_4.3.0 1:4.3 + __satfractdfsa@GCC_4.3.0 1:4.3 + __satfractdfsq@GCC_4.3.0 1:4.3 + __satfractdfuda@GCC_4.3.0 1:4.3 + __satfractdfudq@GCC_4.3.0 1:4.3 + __satfractdfuha@GCC_4.3.0 1:4.3 + __satfractdfuhq@GCC_4.3.0 1:4.3 + __satfractdfuqq@GCC_4.3.0 1:4.3 + __satfractdfusa@GCC_4.3.0 1:4.3 + __satfractdfusq@GCC_4.3.0 1:4.3 + __satfractdida@GCC_4.3.0 1:4.3 + __satfractdidq@GCC_4.3.0 1:4.3 + __satfractdiha@GCC_4.3.0 1:4.3 + __satfractdihq@GCC_4.3.0 1:4.3 + __satfractdiqq@GCC_4.3.0 1:4.3 + __satfractdisa@GCC_4.3.0 1:4.3 + __satfractdisq@GCC_4.3.0 1:4.3 + __satfractdiuda@GCC_4.3.0 1:4.3 + __satfractdiudq@GCC_4.3.0 1:4.3 + __satfractdiuha@GCC_4.3.0 1:4.3 + __satfractdiuhq@GCC_4.3.0 1:4.3 + __satfractdiuqq@GCC_4.3.0 1:4.3 + __satfractdiusa@GCC_4.3.0 1:4.3 + __satfractdiusq@GCC_4.3.0 1:4.3 + __satfractdqda@GCC_4.3.0 1:4.3 + __satfractdqha@GCC_4.3.0 1:4.3 + __satfractdqhq2@GCC_4.3.0 1:4.3 + __satfractdqqq2@GCC_4.3.0 1:4.3 + __satfractdqsa@GCC_4.3.0 1:4.3 + __satfractdqsq2@GCC_4.3.0 1:4.3 + __satfractdquda@GCC_4.3.0 1:4.3 + __satfractdqudq@GCC_4.3.0 1:4.3 + __satfractdquha@GCC_4.3.0 1:4.3 + __satfractdquhq@GCC_4.3.0 1:4.3 + __satfractdquqq@GCC_4.3.0 1:4.3 + __satfractdqusa@GCC_4.3.0 1:4.3 + __satfractdqusq@GCC_4.3.0 1:4.3 + __satfracthada2@GCC_4.3.0 1:4.3 + __satfracthadq@GCC_4.3.0 1:4.3 + __satfracthahq@GCC_4.3.0 1:4.3 + __satfracthaqq@GCC_4.3.0 1:4.3 + __satfracthasa2@GCC_4.3.0 1:4.3 + __satfracthasq@GCC_4.3.0 1:4.3 + __satfracthauda@GCC_4.3.0 1:4.3 + __satfracthaudq@GCC_4.3.0 1:4.3 + __satfracthauha@GCC_4.3.0 1:4.3 + __satfracthauhq@GCC_4.3.0 1:4.3 + __satfracthauqq@GCC_4.3.0 1:4.3 + __satfracthausa@GCC_4.3.0 1:4.3 + __satfracthausq@GCC_4.3.0 1:4.3 + __satfracthida@GCC_4.3.0 1:4.3 + __satfracthidq@GCC_4.3.0 1:4.3 + __satfracthiha@GCC_4.3.0 1:4.3 + __satfracthihq@GCC_4.3.0 1:4.3 + __satfracthiqq@GCC_4.3.0 1:4.3 + __satfracthisa@GCC_4.3.0 1:4.3 + __satfracthisq@GCC_4.3.0 1:4.3 + __satfracthiuda@GCC_4.3.0 1:4.3 + __satfracthiudq@GCC_4.3.0 1:4.3 + __satfracthiuha@GCC_4.3.0 1:4.3 + __satfracthiuhq@GCC_4.3.0 1:4.3 + __satfracthiuqq@GCC_4.3.0 1:4.3 + __satfracthiusa@GCC_4.3.0 1:4.3 + __satfracthiusq@GCC_4.3.0 1:4.3 + __satfracthqda@GCC_4.3.0 1:4.3 + __satfracthqdq2@GCC_4.3.0 1:4.3 + __satfracthqha@GCC_4.3.0 1:4.3 + __satfracthqqq2@GCC_4.3.0 1:4.3 + __satfracthqsa@GCC_4.3.0 1:4.3 + __satfracthqsq2@GCC_4.3.0 1:4.3 + __satfracthquda@GCC_4.3.0 1:4.3 + __satfracthqudq@GCC_4.3.0 1:4.3 + __satfracthquha@GCC_4.3.0 1:4.3 + __satfracthquhq@GCC_4.3.0 1:4.3 + __satfracthquqq@GCC_4.3.0 1:4.3 + __satfracthqusa@GCC_4.3.0 1:4.3 + __satfracthqusq@GCC_4.3.0 1:4.3 + __satfractqida@GCC_4.3.0 1:4.3 + __satfractqidq@GCC_4.3.0 1:4.3 + __satfractqiha@GCC_4.3.0 1:4.3 + __satfractqihq@GCC_4.3.0 1:4.3 + __satfractqiqq@GCC_4.3.0 1:4.3 + __satfractqisa@GCC_4.3.0 1:4.3 + __satfractqisq@GCC_4.3.0 1:4.3 + __satfractqiuda@GCC_4.3.0 1:4.3 + __satfractqiudq@GCC_4.3.0 1:4.3 + __satfractqiuha@GCC_4.3.0 1:4.3 + __satfractqiuhq@GCC_4.3.0 1:4.3 + __satfractqiuqq@GCC_4.3.0 1:4.3 + __satfractqiusa@GCC_4.3.0 1:4.3 + __satfractqiusq@GCC_4.3.0 1:4.3 + __satfractqqda@GCC_4.3.0 1:4.3 + __satfractqqdq2@GCC_4.3.0 1:4.3 + __satfractqqha@GCC_4.3.0 1:4.3 + __satfractqqhq2@GCC_4.3.0 1:4.3 + __satfractqqsa@GCC_4.3.0 1:4.3 + __satfractqqsq2@GCC_4.3.0 1:4.3 + __satfractqquda@GCC_4.3.0 1:4.3 + __satfractqqudq@GCC_4.3.0 1:4.3 + __satfractqquha@GCC_4.3.0 1:4.3 + __satfractqquhq@GCC_4.3.0 1:4.3 + __satfractqquqq@GCC_4.3.0 1:4.3 + __satfractqqusa@GCC_4.3.0 1:4.3 + __satfractqqusq@GCC_4.3.0 1:4.3 + __satfractsada2@GCC_4.3.0 1:4.3 + __satfractsadq@GCC_4.3.0 1:4.3 + __satfractsaha2@GCC_4.3.0 1:4.3 + __satfractsahq@GCC_4.3.0 1:4.3 + __satfractsaqq@GCC_4.3.0 1:4.3 + __satfractsasq@GCC_4.3.0 1:4.3 + __satfractsauda@GCC_4.3.0 1:4.3 + __satfractsaudq@GCC_4.3.0 1:4.3 + __satfractsauha@GCC_4.3.0 1:4.3 + __satfractsauhq@GCC_4.3.0 1:4.3 + __satfractsauqq@GCC_4.3.0 1:4.3 + __satfractsausa@GCC_4.3.0 1:4.3 + __satfractsausq@GCC_4.3.0 1:4.3 + __satfractsfda@GCC_4.3.0 1:4.3 + __satfractsfdq@GCC_4.3.0 1:4.3 + __satfractsfha@GCC_4.3.0 1:4.3 + __satfractsfhq@GCC_4.3.0 1:4.3 + __satfractsfqq@GCC_4.3.0 1:4.3 + __satfractsfsa@GCC_4.3.0 1:4.3 + __satfractsfsq@GCC_4.3.0 1:4.3 + __satfractsfuda@GCC_4.3.0 1:4.3 + __satfractsfudq@GCC_4.3.0 1:4.3 + __satfractsfuha@GCC_4.3.0 1:4.3 + __satfractsfuhq@GCC_4.3.0 1:4.3 + __satfractsfuqq@GCC_4.3.0 1:4.3 + __satfractsfusa@GCC_4.3.0 1:4.3 + __satfractsfusq@GCC_4.3.0 1:4.3 + __satfractsida@GCC_4.3.0 1:4.3 + __satfractsidq@GCC_4.3.0 1:4.3 + __satfractsiha@GCC_4.3.0 1:4.3 + __satfractsihq@GCC_4.3.0 1:4.3 + __satfractsiqq@GCC_4.3.0 1:4.3 + __satfractsisa@GCC_4.3.0 1:4.3 + __satfractsisq@GCC_4.3.0 1:4.3 + __satfractsiuda@GCC_4.3.0 1:4.3 + __satfractsiudq@GCC_4.3.0 1:4.3 + __satfractsiuha@GCC_4.3.0 1:4.3 + __satfractsiuhq@GCC_4.3.0 1:4.3 + __satfractsiuqq@GCC_4.3.0 1:4.3 + __satfractsiusa@GCC_4.3.0 1:4.3 + __satfractsiusq@GCC_4.3.0 1:4.3 + __satfractsqda@GCC_4.3.0 1:4.3 + __satfractsqdq2@GCC_4.3.0 1:4.3 + __satfractsqha@GCC_4.3.0 1:4.3 + __satfractsqhq2@GCC_4.3.0 1:4.3 + __satfractsqqq2@GCC_4.3.0 1:4.3 + __satfractsqsa@GCC_4.3.0 1:4.3 + __satfractsquda@GCC_4.3.0 1:4.3 + __satfractsqudq@GCC_4.3.0 1:4.3 + __satfractsquha@GCC_4.3.0 1:4.3 + __satfractsquhq@GCC_4.3.0 1:4.3 + __satfractsquqq@GCC_4.3.0 1:4.3 + __satfractsqusa@GCC_4.3.0 1:4.3 + __satfractsqusq@GCC_4.3.0 1:4.3 + __satfractudada@GCC_4.3.0 1:4.3 + __satfractudadq@GCC_4.3.0 1:4.3 + __satfractudaha@GCC_4.3.0 1:4.3 + __satfractudahq@GCC_4.3.0 1:4.3 + __satfractudaqq@GCC_4.3.0 1:4.3 + __satfractudasa@GCC_4.3.0 1:4.3 + __satfractudasq@GCC_4.3.0 1:4.3 + __satfractudaudq@GCC_4.3.0 1:4.3 + __satfractudauha2@GCC_4.3.0 1:4.3 + __satfractudauhq@GCC_4.3.0 1:4.3 + __satfractudauqq@GCC_4.3.0 1:4.3 + __satfractudausa2@GCC_4.3.0 1:4.3 + __satfractudausq@GCC_4.3.0 1:4.3 + __satfractudqda@GCC_4.3.0 1:4.3 + __satfractudqdq@GCC_4.3.0 1:4.3 + __satfractudqha@GCC_4.3.0 1:4.3 + __satfractudqhq@GCC_4.3.0 1:4.3 + __satfractudqqq@GCC_4.3.0 1:4.3 + __satfractudqsa@GCC_4.3.0 1:4.3 + __satfractudqsq@GCC_4.3.0 1:4.3 + __satfractudquda@GCC_4.3.0 1:4.3 + __satfractudquha@GCC_4.3.0 1:4.3 + __satfractudquhq2@GCC_4.3.0 1:4.3 + __satfractudquqq2@GCC_4.3.0 1:4.3 + __satfractudqusa@GCC_4.3.0 1:4.3 + __satfractudqusq2@GCC_4.3.0 1:4.3 + __satfractuhada@GCC_4.3.0 1:4.3 + __satfractuhadq@GCC_4.3.0 1:4.3 + __satfractuhaha@GCC_4.3.0 1:4.3 + __satfractuhahq@GCC_4.3.0 1:4.3 + __satfractuhaqq@GCC_4.3.0 1:4.3 + __satfractuhasa@GCC_4.3.0 1:4.3 + __satfractuhasq@GCC_4.3.0 1:4.3 + __satfractuhauda2@GCC_4.3.0 1:4.3 + __satfractuhaudq@GCC_4.3.0 1:4.3 + __satfractuhauhq@GCC_4.3.0 1:4.3 + __satfractuhauqq@GCC_4.3.0 1:4.3 + __satfractuhausa2@GCC_4.3.0 1:4.3 + __satfractuhausq@GCC_4.3.0 1:4.3 + __satfractuhqda@GCC_4.3.0 1:4.3 + __satfractuhqdq@GCC_4.3.0 1:4.3 + __satfractuhqha@GCC_4.3.0 1:4.3 + __satfractuhqhq@GCC_4.3.0 1:4.3 + __satfractuhqqq@GCC_4.3.0 1:4.3 + __satfractuhqsa@GCC_4.3.0 1:4.3 + __satfractuhqsq@GCC_4.3.0 1:4.3 + __satfractuhquda@GCC_4.3.0 1:4.3 + __satfractuhqudq2@GCC_4.3.0 1:4.3 + __satfractuhquha@GCC_4.3.0 1:4.3 + __satfractuhquqq2@GCC_4.3.0 1:4.3 + __satfractuhqusa@GCC_4.3.0 1:4.3 + __satfractuhqusq2@GCC_4.3.0 1:4.3 + __satfractunsdida@GCC_4.3.0 1:4.3 + __satfractunsdidq@GCC_4.3.0 1:4.3 + __satfractunsdiha@GCC_4.3.0 1:4.3 + __satfractunsdihq@GCC_4.3.0 1:4.3 + __satfractunsdiqq@GCC_4.3.0 1:4.3 + __satfractunsdisa@GCC_4.3.0 1:4.3 + __satfractunsdisq@GCC_4.3.0 1:4.3 + __satfractunsdiuda@GCC_4.3.0 1:4.3 + __satfractunsdiudq@GCC_4.3.0 1:4.3 + __satfractunsdiuha@GCC_4.3.0 1:4.3 + __satfractunsdiuhq@GCC_4.3.0 1:4.3 + __satfractunsdiuqq@GCC_4.3.0 1:4.3 + __satfractunsdiusa@GCC_4.3.0 1:4.3 + __satfractunsdiusq@GCC_4.3.0 1:4.3 + __satfractunshida@GCC_4.3.0 1:4.3 + __satfractunshidq@GCC_4.3.0 1:4.3 + __satfractunshiha@GCC_4.3.0 1:4.3 + __satfractunshihq@GCC_4.3.0 1:4.3 + __satfractunshiqq@GCC_4.3.0 1:4.3 + __satfractunshisa@GCC_4.3.0 1:4.3 + __satfractunshisq@GCC_4.3.0 1:4.3 + __satfractunshiuda@GCC_4.3.0 1:4.3 + __satfractunshiudq@GCC_4.3.0 1:4.3 + __satfractunshiuha@GCC_4.3.0 1:4.3 + __satfractunshiuhq@GCC_4.3.0 1:4.3 + __satfractunshiuqq@GCC_4.3.0 1:4.3 + __satfractunshiusa@GCC_4.3.0 1:4.3 + __satfractunshiusq@GCC_4.3.0 1:4.3 + __satfractunsqida@GCC_4.3.0 1:4.3 + __satfractunsqidq@GCC_4.3.0 1:4.3 + __satfractunsqiha@GCC_4.3.0 1:4.3 + __satfractunsqihq@GCC_4.3.0 1:4.3 + __satfractunsqiqq@GCC_4.3.0 1:4.3 + __satfractunsqisa@GCC_4.3.0 1:4.3 + __satfractunsqisq@GCC_4.3.0 1:4.3 + __satfractunsqiuda@GCC_4.3.0 1:4.3 + __satfractunsqiudq@GCC_4.3.0 1:4.3 + __satfractunsqiuha@GCC_4.3.0 1:4.3 + __satfractunsqiuhq@GCC_4.3.0 1:4.3 + __satfractunsqiuqq@GCC_4.3.0 1:4.3 + __satfractunsqiusa@GCC_4.3.0 1:4.3 + __satfractunsqiusq@GCC_4.3.0 1:4.3 + __satfractunssida@GCC_4.3.0 1:4.3 + __satfractunssidq@GCC_4.3.0 1:4.3 + __satfractunssiha@GCC_4.3.0 1:4.3 + __satfractunssihq@GCC_4.3.0 1:4.3 + __satfractunssiqq@GCC_4.3.0 1:4.3 + __satfractunssisa@GCC_4.3.0 1:4.3 + __satfractunssisq@GCC_4.3.0 1:4.3 + __satfractunssiuda@GCC_4.3.0 1:4.3 + __satfractunssiudq@GCC_4.3.0 1:4.3 + __satfractunssiuha@GCC_4.3.0 1:4.3 + __satfractunssiuhq@GCC_4.3.0 1:4.3 + __satfractunssiuqq@GCC_4.3.0 1:4.3 + __satfractunssiusa@GCC_4.3.0 1:4.3 + __satfractunssiusq@GCC_4.3.0 1:4.3 + __satfractuqqda@GCC_4.3.0 1:4.3 + __satfractuqqdq@GCC_4.3.0 1:4.3 + __satfractuqqha@GCC_4.3.0 1:4.3 + __satfractuqqhq@GCC_4.3.0 1:4.3 + __satfractuqqqq@GCC_4.3.0 1:4.3 + __satfractuqqsa@GCC_4.3.0 1:4.3 + __satfractuqqsq@GCC_4.3.0 1:4.3 + __satfractuqquda@GCC_4.3.0 1:4.3 + __satfractuqqudq2@GCC_4.3.0 1:4.3 + __satfractuqquha@GCC_4.3.0 1:4.3 + __satfractuqquhq2@GCC_4.3.0 1:4.3 + __satfractuqqusa@GCC_4.3.0 1:4.3 + __satfractuqqusq2@GCC_4.3.0 1:4.3 + __satfractusada@GCC_4.3.0 1:4.3 + __satfractusadq@GCC_4.3.0 1:4.3 + __satfractusaha@GCC_4.3.0 1:4.3 + __satfractusahq@GCC_4.3.0 1:4.3 + __satfractusaqq@GCC_4.3.0 1:4.3 + __satfractusasa@GCC_4.3.0 1:4.3 + __satfractusasq@GCC_4.3.0 1:4.3 + __satfractusauda2@GCC_4.3.0 1:4.3 + __satfractusaudq@GCC_4.3.0 1:4.3 + __satfractusauha2@GCC_4.3.0 1:4.3 + __satfractusauhq@GCC_4.3.0 1:4.3 + __satfractusauqq@GCC_4.3.0 1:4.3 + __satfractusausq@GCC_4.3.0 1:4.3 + __satfractusqda@GCC_4.3.0 1:4.3 + __satfractusqdq@GCC_4.3.0 1:4.3 + __satfractusqha@GCC_4.3.0 1:4.3 + __satfractusqhq@GCC_4.3.0 1:4.3 + __satfractusqqq@GCC_4.3.0 1:4.3 + __satfractusqsa@GCC_4.3.0 1:4.3 + __satfractusqsq@GCC_4.3.0 1:4.3 + __satfractusquda@GCC_4.3.0 1:4.3 + __satfractusqudq2@GCC_4.3.0 1:4.3 + __satfractusquha@GCC_4.3.0 1:4.3 + __satfractusquhq2@GCC_4.3.0 1:4.3 + __satfractusquqq2@GCC_4.3.0 1:4.3 + __satfractusqusa@GCC_4.3.0 1:4.3 + __ssaddda3@GCC_4.3.0 1:4.3 + __ssadddq3@GCC_4.3.0 1:4.3 + __ssaddha3@GCC_4.3.0 1:4.3 + __ssaddhq3@GCC_4.3.0 1:4.3 + __ssaddqq3@GCC_4.3.0 1:4.3 + __ssaddsa3@GCC_4.3.0 1:4.3 + __ssaddsq3@GCC_4.3.0 1:4.3 + __ssashlda3@GCC_4.3.0 1:4.3 + __ssashldq3@GCC_4.3.0 1:4.3 + __ssashlha3@GCC_4.3.0 1:4.3 + __ssashlhq3@GCC_4.3.0 1:4.3 + __ssashlqq3@GCC_4.3.0 1:4.3 + __ssashlsa3@GCC_4.3.0 1:4.3 + __ssashlsq3@GCC_4.3.0 1:4.3 + __ssdivda3@GCC_4.3.0 1:4.3 + __ssdivdq3@GCC_4.3.0 1:4.3 + __ssdivha3@GCC_4.3.0 1:4.3 + __ssdivhq3@GCC_4.3.0 1:4.3 + __ssdivqq3@GCC_4.3.0 1:4.3 + __ssdivsa3@GCC_4.3.0 1:4.3 + __ssdivsq3@GCC_4.3.0 1:4.3 + __ssmulda3@GCC_4.3.0 1:4.3 + __ssmuldq3@GCC_4.3.0 1:4.3 + __ssmulha3@GCC_4.3.0 1:4.3 + __ssmulhq3@GCC_4.3.0 1:4.3 + __ssmulqq3@GCC_4.3.0 1:4.3 + __ssmulsa3@GCC_4.3.0 1:4.3 + __ssmulsq3@GCC_4.3.0 1:4.3 + __ssnegda2@GCC_4.3.0 1:4.3 + __ssnegdq2@GCC_4.3.0 1:4.3 + __ssnegha2@GCC_4.3.0 1:4.3 + __ssneghq2@GCC_4.3.0 1:4.3 + __ssnegqq2@GCC_4.3.0 1:4.3 + __ssnegsa2@GCC_4.3.0 1:4.3 + __ssnegsq2@GCC_4.3.0 1:4.3 + __sssubda3@GCC_4.3.0 1:4.3 + __sssubdq3@GCC_4.3.0 1:4.3 + __sssubha3@GCC_4.3.0 1:4.3 + __sssubhq3@GCC_4.3.0 1:4.3 + __sssubqq3@GCC_4.3.0 1:4.3 + __sssubsa3@GCC_4.3.0 1:4.3 + __sssubsq3@GCC_4.3.0 1:4.3 + __subda3@GCC_4.3.0 1:4.3 + __subdf3@GCC_3.0 1:4.1.1 + __subdq3@GCC_4.3.0 1:4.3 + __subha3@GCC_4.3.0 1:4.3 + __subhq3@GCC_4.3.0 1:4.3 + __subqq3@GCC_4.3.0 1:4.3 + __subsa3@GCC_4.3.0 1:4.3 + __subsf3@GCC_3.0 1:4.1.1 + __subsq3@GCC_4.3.0 1:4.3 + __subuda3@GCC_4.3.0 1:4.3 + __subudq3@GCC_4.3.0 1:4.3 + __subuha3@GCC_4.3.0 1:4.3 + __subuhq3@GCC_4.3.0 1:4.3 + __subuqq3@GCC_4.3.0 1:4.3 + __subusa3@GCC_4.3.0 1:4.3 + __subusq3@GCC_4.3.0 1:4.3 + __subvdi3@GCC_3.0 1:4.1.1 + __subvsi3@GCC_3.0 1:4.1.1 + __truncdfsf2@GCC_3.0 1:4.1.1 + __ucmpdi2@GCC_3.0 1:4.1.1 + __udivdi3@GLIBC_2.0 1:4.1.1 + __udivmoddi4@GCC_3.0 1:4.1.1 + __udivuda3@GCC_4.3.0 1:4.3 + __udivudq3@GCC_4.3.0 1:4.3 + __udivuha3@GCC_4.3.0 1:4.3 + __udivuhq3@GCC_4.3.0 1:4.3 + __udivuqq3@GCC_4.3.0 1:4.3 + __udivusa3@GCC_4.3.0 1:4.3 + __udivusq3@GCC_4.3.0 1:4.3 + __umoddi3@GLIBC_2.0 1:4.1.1 + __unorddf2@GCC_3.3.4 1:4.1.1 + __unordsf2@GCC_3.3.4 1:4.1.1 + __usadduda3@GCC_4.3.0 1:4.3 + __usaddudq3@GCC_4.3.0 1:4.3 + __usadduha3@GCC_4.3.0 1:4.3 + __usadduhq3@GCC_4.3.0 1:4.3 + __usadduqq3@GCC_4.3.0 1:4.3 + __usaddusa3@GCC_4.3.0 1:4.3 + __usaddusq3@GCC_4.3.0 1:4.3 + __usashluda3@GCC_4.3.0 1:4.3 + __usashludq3@GCC_4.3.0 1:4.3 + __usashluha3@GCC_4.3.0 1:4.3 + __usashluhq3@GCC_4.3.0 1:4.3 + __usashluqq3@GCC_4.3.0 1:4.3 + __usashlusa3@GCC_4.3.0 1:4.3 + __usashlusq3@GCC_4.3.0 1:4.3 + __usdivuda3@GCC_4.3.0 1:4.3 + __usdivudq3@GCC_4.3.0 1:4.3 + __usdivuha3@GCC_4.3.0 1:4.3 + __usdivuhq3@GCC_4.3.0 1:4.3 + __usdivuqq3@GCC_4.3.0 1:4.3 + __usdivusa3@GCC_4.3.0 1:4.3 + __usdivusq3@GCC_4.3.0 1:4.3 + __usmuluda3@GCC_4.3.0 1:4.3 + __usmuludq3@GCC_4.3.0 1:4.3 + __usmuluha3@GCC_4.3.0 1:4.3 + __usmuluhq3@GCC_4.3.0 1:4.3 + __usmuluqq3@GCC_4.3.0 1:4.3 + __usmulusa3@GCC_4.3.0 1:4.3 + __usmulusq3@GCC_4.3.0 1:4.3 + __usneguda2@GCC_4.3.0 1:4.3 + __usnegudq2@GCC_4.3.0 1:4.3 + __usneguha2@GCC_4.3.0 1:4.3 + __usneguhq2@GCC_4.3.0 1:4.3 + __usneguqq2@GCC_4.3.0 1:4.3 + __usnegusa2@GCC_4.3.0 1:4.3 + __usnegusq2@GCC_4.3.0 1:4.3 + __ussubuda3@GCC_4.3.0 1:4.3 + __ussubudq3@GCC_4.3.0 1:4.3 + __ussubuha3@GCC_4.3.0 1:4.3 + __ussubuhq3@GCC_4.3.0 1:4.3 + __ussubuqq3@GCC_4.3.0 1:4.3 + __ussubusa3@GCC_4.3.0 1:4.3 + __ussubusq3@GCC_4.3.0 1:4.3 --- gcc-4.3-4.3.4.orig/debian/gnat-BV.overrides +++ gcc-4.3-4.3.4/debian/gnat-BV.overrides @@ -0,0 +1 @@ +gnat-@BV@: bad-permissions-for-ali-file --- gcc-4.3-4.3.4.orig/debian/NEWS.html +++ gcc-4.3-4.3.4/debian/NEWS.html @@ -0,0 +1,1041 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GCC 4.3 Release Series — Changes, New Features, and Fixes +- GNU Project - Free Software Foundation (FSF) + + + + + + + + + +

+GCC 4.3 Release Series
Changes, New Features, and Fixes +

+ +

Caveats

+ +
    +
  • GCC requires the GMP and MPFR libraries for building all + the various front-end languages it supports. See the prerequisites + page for version requirements.
  • + +
  • ColdFire targets now treat long double as having + the same format as double. In earlier versions of GCC, + they used the 68881 long double format instead.
  • + +
  • The m68k-uclinux target now uses the same + calling conventions as m68k-linux-gnu. You can + select the original calling conventions by configuring for + m68k-uclinuxoldabi instead. Note that + m68k-uclinuxoldabi also retains the original + 80-bit long double on ColdFire targets.
  • + +
  • The -fforce-mem option has been removed + because it has had no effect in the last few GCC releases.
  • + +
  • The i386 -msvr3-shlib option has been removed + since it is no longer used.
  • + +
  • Fastcall for i386 has been changed not to pass + aggregate arguments in registers, following Microsoft compilers.
  • + +
  • Support for the AOF assembler has been removed from the ARM + back end; this affects only the targets arm-semi-aof + and armel-semi-aof, which are no longer recognized. + We removed these targets without a deprecation period because we + discovered that they have been unusable since GCC 4.0.0.
  • + +
  • Support for the TMS320C3x/C4x processor (targets + c4x-* and tic4x-*) has been removed. + This support had been deprecated since GCC 4.0.0.
  • + +
  • Support for a number of older systems and recently + unmaintained or untested target ports of GCC has been declared + obsolete in GCC 4.3. Unless there is activity to revive them, the + next release of GCC will have their sources permanently + removed.

    + +

    All GCC ports for the following processor architectures have + been declared obsolete:

    + +
      +
    • National Semiconductor CRX (crx-*)
    • +
    • Morpho MT (mt-*)
    • +
    + +

    The following aliases for processor architectures have been + declared obsolete. Users should use the indicated generic target + names instead, with compile-time options such as + -mcpu or configure-time options such as + --with-cpu to control the configuration more + precisely.

    + +
      +
    • strongarm*-*-*, ep9312*-*-*, + xscale*-*-* (use arm*-*-* + instead).
    • +
    • parisc*-*-* (use hppa*-*-* + instead).
    • +
    • m680[012]0-*-* (use m68k-*-* + instead).
    • +
    + +

    All GCC ports for the following operating systems have been + declared obsolete:

    + +
      +
    • BeOS (*-*-beos*)
    • +
    • kaOS (*-*-kaos*)
    • +
    • GNU/Linux using the a.out object format + (*-*-linux*aout*)
    • +
    • GNU/Linux using version 1 of the GNU C Library + (*-*-linux*libc1*)
    • +
    • Solaris versions before Solaris 7 + (*-*-solaris2.[0-6], + *-*-solaris2.[0-6].*)
    • +
    • Miscellaneous System V (*-*-sysv*)
    • +
    • WindISS (*-*-windiss*)
    • +
    + +

    Also, those for some individual systems on particular + architectures have been obsoleted:

    + +
      +
    • UNICOS/mk on DEC Alpha + (alpha*-*-unicosmk*)
    • +
    • CRIS with a.out object format + (cris-*-aout)
    • +
    • BSD 4.3 on PA-RISC (hppa1.1-*-bsd*)
    • +
    • OSF/1 on PA-RISC (hppa1.1-*-osf*)
    • +
    • PRO on PA-RISC (hppa1.1-*-pro*)
    • +
    • Sequent PTX on IA32 (i[34567]86-sequent-ptx4*, + i[34567]86-sequent-sysv4*)
    • +
    • SCO Open Server 5 on IA32 + (i[34567]86-*-sco3.2v5*)
    • +
    • UWIN on IA32 (i[34567]86-*-uwin*) (support for + UWIN as a host was previously removed + in 2001, leaving only the support for UWIN as a target now + being deprecated)
    • +
    • ChorusOS on PowerPC (powerpc-*-chorusos*)
    • +
    • All VAX configurations apart from NetBSD and OpenBSD + (vax-*-bsd*, vax-*-sysv*, + vax-*-ultrix*)
    • +
    + +
  • + +
  • The -Wconversion option has been modified. Its purpose now + is to warn for implicit conversions that may alter a value. This + new behavior is available for both C and C++. Warnings about + conversions between signed and unsigned integers can be disabled + by using -Wno-sign-conversion. In C++, they are + disabled by default unless -Wsign-conversion is + explicitly requested. The old behavior of + -Wconversion, that is, warn for prototypes causing a + type conversion that is different from what would happen to the + same argument in the absence of a prototype, has been moved to a + new option -Wtraditional-conversion, which is only + available for C.
  • + +
  • The -m386, -m486, -mpentium and + -mpentiumpro tuning options have been removed because + they were deprecated for more than 3 GCC major releases. Use + -mtune=i386, -mtune=i486, + -mtune=pentium or -mtune=pentiumpro as a + replacement.
  • + +
  • The -funsafe-math-optimizations option now automatically + turns on -fno-trapping-math in addition to + -fno-signed-zeros, as it enables reassociation and thus + may introduce or remove traps.
  • + +
  • More information on porting to GCC 4.3 from previous versions + of GCC can be found in + the porting + guide for this release.
  • +
+ +

General Optimizer Improvements

+ +
    +
  • The GCC middle-end has been integrated with the + MPFR library. This allows GCC + to evaluate and replace at compile-time calls to built-in math + functions having constant arguments with their mathematically + equivalent results. In making use of MPFR, GCC can generate correct + results regardless of the math library implementation or floating + point precision of the host platform. This also allows GCC to + generate identical results regardless of whether one compiles in + native or cross-compile configurations to a particular target. + The following built-in functions take advantage of this new + capability: acos, acosh, + asin, asinh, atan2, + atan, atanh, cbrt, + cos, cosh, drem, + erf, erfc, exp10, + exp2, exp, expm1, + fdim, fma, fmax, + fmin, gamma_r, hypot, + j0, j1, jn, + lgamma_r, log10, log1p, + log2, log, pow10, + pow, remainder, remquo, + sin, sincos, sinh, + tan, tanh, tgamma, + y0, y1 and yn. The + float and long double variants of these + functions (e.g. sinf and sinl) are also + handled. The sqrt and cabs functions + with constant arguments were already optimized in prior GCC + releases. Now they also use MPFR.
  • + +
  • A new forward propagation pass on RTL was added. The new pass + replaces several slower transformations, resulting in compile-time + improvements as well as better code generation in some cases.
  • + +
  • A new command-line switch -frecord-gcc-switches has been + added to GCC, although it is only enabled for some targets. The switch + causes the command line that was used to invoke the compiler to be recorded + into the object file that is being created. The exact format of this + recording is target and binary file format dependent, but it usually takes + the form of a note section containing ASCII text. The switch is related to + the -fverbose-asm switch, but that one only records the + information in the assembler output file as comments, so the information + never reaches the object file. +
  • + +
  • The inliner heuristic is now aware of stack frame consumption. New + command-line parameters --param large-stack-frame + and --param large-stack-frame-growth + can be used to limit stack frame size growth caused by inlining.
  • + +
  • During feedback directed optimizations, the expected block size + the memcpy, memset and bzero + functions operate on is discovered and for cases of commonly used small + sizes, specialized inline code is generated.
  • + +
  • __builtin_expect no longer requires its argument to be + a compile time constant.
  • + +
  • Interprocedural optimization was reorganized to work on + functions in SSA form. This enables more precise and cheaper dataflow + analysis and makes writing interprocedural optimizations easier. The + following improvements have been implemented on top of this + framework: +
      +
    • Pre-inline optimization: Selected local optimization passes are + run before the inliner (and other interprocedural passes) are + executed. This significantly improves the accuracy of code growth + estimates used by the inliner and reduces the overall memory + footprint for large compilation units.
    • +
    • Early inlining (a simple bottom-up inliner pass inlining only + functions whose body is smaller than the expected call overhead) + is now executed with the early optimization passes, thus inlining + already optimized function bodies into an unoptimized function + that is subsequently optimized by early optimizers. This enables + the compiler to quickly eliminate abstraction penalty in C++ + programs.
    • +
    • Interprocedural constant propagation now operate on SSA form + increasing accuracy of the analysis.
    • +
    +
  • + +
  • A new internal representation for GIMPLE statements has been + contributed, resulting in compile-time memory savings.
  • +
+ +

New Languages and Language specific improvements

+ +
    +
  • We have added new command-line options + -finstrument-functions-exclude-function-list and + -finstrument-functions-exclude-file-list. They provide + more control over which functions are annotated + by the -finstrument-functions option.
  • +
+ +

C family

+ +
    +
  • + Implicit conversions between generic vector types are now + only permitted when the two vectors in question have the same number + of elements and compatible element types. (Note that the restriction + involves compatible element types, not + implicitly-convertible element types: thus, a vector type with element + type int may not be implicitly converted to a vector + type with element type unsigned int.) + This restriction, which is in line with specifications for SIMD + architectures such as AltiVec, may be relaxed using the + flag -flax-vector-conversions. + This flag is intended only as a compatibility measure and should not + be used for new code. +
  • +
  • + -Warray-bounds has been added and is now enabled by + default for -Wall . It produces warnings for array + subscripts that can be determined at compile time to be always + out of bounds. -Wno-array-bounds will disable the + warning. +
  • +
  • + The constructor and destructor function + attributes now accept optional priority arguments which control + the order in which the constructor and destructor functions are + run. +
  • + +
  • + New command-line options -Wtype-limits, + -Wold-style-declaration, + -Wmissing-parameter-type, -Wempty-body, + -Wclobbered and -Wignored-qualifiers + have been added for finer control of the diverse warnings enabled by + -Wextra. +
  • + +
  • + A new function attribute alloc_size has been added to + mark up malloc style functions. For constant sized + allocations this can be used to find out the size of the returned + pointer using the __builtin_object_size() function + for buffer overflow checking and similar. + This supplements the already built-in malloc and + calloc constant size handling. +
  • + +
  • + Integer constants written in binary are now supported as a GCC + extension. They consist of a prefix 0b or + 0B, followed by a sequence of 0 and 1 digits. +
  • + +
  • + A new predefined macro __COUNTER__ has been added. + It expands to sequential integral values starting from 0. In + conjunction with the ## operator, this provides a + convenient means to generate unique identifiers. +
  • + +
  • + A new command-line option -fdirectives-only has been + added. It enables a special preprocessing mode which improves the + performance of applications like distcc and ccache. +
  • + +
  • + Fixed-point data types and operators have been added. + They are based on Chapter 4 of the Embedded-C specification (n1169.pdf). + Currently, only MIPS targets are supported. +
  • + +
+ +

C++

+
    +
  • Experimental support for the upcoming + ISO C++ standard, C++0x.
  • + +
  • -Wc++0x-compat has been added and is now enabled by + default for -Wall. It produces warnings for constructs + whose meaning differs between ISO C++ 1998 and C++0x.
  • + +
  • The -Wparentheses option now works for C++ as it + does for C. It warns if parentheses are omitted when operators with + confusing precedence are nested. It also warns about ambiguous else + statements. Since -Wparentheses is enabled by + -Wall, this may cause additional warnings with existing + C++ code which uses -Wall. These new warnings may be + disabled by using -Wall -Wno-parentheses.
  • + +
  • The -Wmissing-declarations now works for C++ as it + does for C.
  • + +
  • The -fvisibility-ms-compat flag was added, to make it + easier to port larger projects using shared libraries from Microsoft's + Visual Studio to ELF and Mach-O systems.
  • + +
  • C++ attribute handling has been overhauled for template + arguments (ie dependent types). In particular, + __attribute__((aligned(T))); works for C++ types.
  • + +
+ +

Runtime Library (libstdc++)

+
    +
  • Experimental support for the upcoming + ISO C++ standard, C++0x.
  • +
  • Support for TR1 mathematical special functions and regular + expressions. The implementation status for TR1 can be tracked in + + tr1.html
  • +
  • Default what implementations give more elaborate + exception strings for bad_cast, + bad_typeid, bad_exception, and + bad_alloc.
  • +
  • Header dependencies have been streamlined, reducing + unnecessary includes and pre-processed bloat.
  • +
  • Variadic template implementations of items in <tuple> and + <functional>.
  • + +
  • An experimental + parallel mode has been added. This is a parallel + implementation of many C++ Standard library algorithms, like + std::accumulate, std::for_each, + std::transform, or std::sort, to give + but four examples. These algorithms can be substituted for the normal + (sequential) libstdc++ algorithms on a piecemeal basis, or + all existing algorithms can be transformed via the + -D_GLIBCXX_PARALLEL macro.
  • + +
  • Debug mode versions of classes in <unordered_set> and + <unordered_map>.
  • +
  • Formal deprecation of <ext/hash_set> and + <ext/hash_map>, which are now <backward/hash_set> and + <backward/hash_map>. This code: +
    +    #include <ext/hash_set>
    +    __gnu_cxx::hash_set<int> s;
    +    
    + + Can be transformed (in order of preference) to: +
    +    #include <tr1/unordered_set>
    +    std::tr1::unordered_set<int> s;
    +    
    + + or + +
    +    #include <backward/hash_set>
    +    __gnu_cxx::hash_set<int> s;
    +    
    + + Similar transformations apply to __gnu_cxx::hash_map, + __gnu_cxx::hash_multimap, + __gnu_cxx::hash_set, + __gnu_cxx::hash_multiset. +
+ +

Fortran

+
    + +
  • Due to the fact that the GMP and MPFR libraries are required for + all languages, Fortran is no longer special in this regard and is + available by default.
  • + +
  • The + -fexternal-blas option has been added, which + generates calls to BLAS routines for intrinsic matrix operations such + as matmul rather than using the built-in algorithms.
  • +
  • Support to give a backtrace (compiler flag -fbacktrace + or environment variable GFORTRAN_ERROR_BACKTRACE; on glibc + systems only) or a core dump (-fdump-core, + GFORTRAN_ERROR_DUMPCORE) when a run-time error occured.
  • +
  • GNU Fortran now defines __GFORTRAN__ when it runs the C + preprocessor (CPP).
  • +
  • The -finit-local-zero, -finit-real, + -finit-integer, -finit-character, and + -finit-logical options have been added, which can be + used to initialize local variables.
  • +
  • The intrinsic procedures GAMMA + and LGAMMA + have been added, which calculate the Gamma function and + its logarithm. Use EXTERNAL gamma if you want to use your + own gamma function.
  • +
  • GNU Fortran now regards the backslash character as literal + (as required by the Fortran 2003 standard); using + -fbackslash GNU Fortran interprets backslashes as + C-style escape characters.
  • +
  • The + interpretation of binary, octal and hexadecimal (BOZ) literal constants + has been changed. Before they were always interpreted as integer; now they + are bit-wise transferred as argument of INT, REAL, DBLE and CMPLX as + required by the Fortran 2003 standard, and for real and complex variables + in DATA statements or when directly assigned to real and complex variables. + Everywhere else and especially in expressions they are still regarded + as integer constants.
  • +
  • Fortran 2003 support has been extended: +
      +
    • Intrinsic statements IMPORT, PROTECTED, VALUE and VOLATILE
    • +
    • Pointer intent
    • +
    • Intrinsic module ISO_ENV_FORTRAN
    • +
    • Interoperability with C (ISO C Bindings)
    • +
    • ABSTRACT INTERFACES and PROCEDURE statements (without POINTER + attribute)
    • +
    • Fortran 2003 BOZ
    • +
  • +
+ +

Java (GCJ)

+ +
    + +
  • gcj now uses the Eclipse Java compiler for its Java parsing + needs. This enables the use of all 1.5 language features, and + fixes most existing front end bugs.
  • + +
  • libgcj now supports all 1.5 language features which require + runtime support: foreach, enum, annotations, generics, and + auto-boxing.
  • + +
  • We've made many changes to the tools shipped + with gcj. +
      + +
    • The old jv-scan tool has been removed. This + tool never really worked properly. There is no replacement. +
    • + +
    • gcjh has been rewritten. Some of its more + obscure options no longer work, but are still recognized in an + attempt at compatibility. gjavah is a new program + with similar functionality but different command-line options. +
    • + +
    • grmic and grmiregistry have been + rewritten. grmid has been added.
    • + +
    • gjar replaces the old fastjar.
    • + +
    • gjarsigner (used for signing jars), + gkeytool (used for key management), + gorbd (for CORBA), gserialver (computes + serialization UIDs), and gtnameserv (also for CORBA) + are now installed.
    • +
    +
  • + +
  • The ability to dump the contents of the java run time heap to + a file for off-line analysis has been added. The heap dumps may + be analyzed with the new gc-analyze tool. They may + be generated on out-of-memory conditions or on demand and are + controlled by the new run time class + gnu.gcj.util.GCInfo.
  • + +
  • java.util.TimeZone can now read files from + /usr/share/zoneinfo to provide correct, updated, + timezone information. This means that packagers no longer have + to update libgcj when a time zone change is published.
  • + +
+ +

New Targets and Target Specific Improvements

+ +

IA-32/x86-64

+
    +
  • Tuning for Intel Core 2 processors is available via + -mtune=core2 and -march=core2.
  • +
  • Tuning for AMD Geode processors is available via + -mtune=geode and -march=geode.
  • +
  • Code generation of block move (memcpy) and block set + (memset) was rewritten. GCC can now pick the best + algorithm (loop, unrolled loop, instruction with rep + prefix or a library call) based on the size of the block being + copied and the CPU being optimized for. A new option + -minline-stringops-dynamically has been added. With + this option string operations of unknown size are expanded such + that small blocks are copied by in-line code, while for + large blocks a library call is used. This results in faster code than + -minline-all-stringops when the library implementation is + capable of using cache hierarchy hints. The heuristic choosing + the particular algorithm can be overwritten via + -mstringop-strategy. Newly also memset of + values different from 0 is inlined.
  • +
  • GCC no longer places the cld instruction before string + operations. Both i386 and x86-64 ABI documents mandate the direction + flag to be clear at the entry of a function. It is now invalid to + set the flag in asm statement without reseting it + afterward.
  • +
  • Support for SSSE3 built-in functions and code generation are + available via -mssse3.
  • +
  • Support for SSE4.1 built-in functions and code generation are + available via -msse4.1.
  • +
  • Support for SSE4.2 built-in functions and code generation are + available via -msse4.2.
  • +
  • Both SSE4.1 and SSE4.2 support can be enabled via + -msse4.
  • +
  • A new set of options -mpc32, -mpc64 + and -mpc80 have been added to allow explicit control + of x87 floating point precision.
  • +
  • Support for __float128 (TFmode) IEEE quad type and + corresponding TCmode IEEE complex quad type is available + via the soft-fp library on x86_64 targets. + This includes basic arithmetic operations (addition, subtraction, + negation, multiplication and division) on __float128 + real and TCmode complex values, the full set of IEEE comparisons + between __float128 values, conversions to and from + float, double and long double + floating point types, as well as conversions to and from + signed or unsigned integer, + signed or unsigned long integer and + signed or unsigned quad (TImode) integer + types. Additionally, all operations generate the full set of IEEE + exceptions and support the full set of IEEE rounding modes.
  • +
  • GCC can now utilize the ACML library for vectorizing calls to + a set of C99 functions on x86_64 if -mveclibabi=acml + is specified and you link to an ACML ABI compatible library.
  • +
+ +

ARM

+
    +
  • Compiler and Library support for Thumb-2 and the ARMv7 + architecture has been added.
  • +
+ +

CRIS

+

New features

+
    +
  • Compiler and Library support for the CRIS v32 architecture, as + found in Axis Communications ETRAX FS and ARTPEC-3 chips, has + been added.
  • +
+

Configuration changes

+
    +
  • The cris-*-elf target now includes support for + CRIS v32, including libraries, through the + -march=v32 option.
  • +
  • A new crisv32-*-elf target defaults to generate + code for CRIS v32.
  • +
  • A new crisv32-*-linux* target defaults to generate + code for CRIS v32.
  • +
  • The cris-*-aout target has been obsoleted.
  • +
+

Improved support for built-in functions

+
    +
  • GCC can now use the lz and + swapwbr instructions to implement the + __builtin_clz, __builtin_ctz and + __builtin_ffs family of functions.
  • +
  • __builtin_bswap32 is now implemented using the + swapwb instruction, when available.
  • +
+ +

m68k and ColdFire

+

New features

+
    +
  • Support for several new ColdFire processors has been added. + You can generate code for them using the new -mcpu + option.
  • +
  • All targets now support ColdFire processors.
  • +
  • m68k-uclinux targets have improved support for + C++ constructors and destructors, and for shared libraries.
  • +
  • It is now possible to set breakpoints on the first or last line + of a function, even if there are no statements on that line.
  • +
+

Optimizations

+
    +
  • Support for sibling calls has been added.
  • +
  • More use is now made of the ColdFire mov3q + instruction.
  • +
  • __builtin_clz is now implemented using the + ff1 ColdFire instruction, when available.
  • +
  • GCC now honors the -m68010 option. 68010 code + now uses clr rather than move to + zero volatile memory.
  • +
  • 68020 targets and above can now use + symbol(index.size*scale) addresses for + indexed array accesses. Earlier compilers would always + load the symbol into a base register first.
  • +
+

Configuration changes

+
    +
  • All m68k and ColdFire targets now allow the default processor + to be set at configure time using --with-cpu.
  • +
  • A --with-arch configuration option has been added. + This option allows you to restrict a target to ColdFire or + non-ColdFire processors.
  • +
+

Preprocessor macros

+
    +
  • An __mcfv*__ macro is now defined for all ColdFire + targets. (Earlier versions of GCC only defined + __mcfv4e__.)
  • +
  • __mcf_cpu_*, __mcf_family_* and + __mcffpu__ macros have been added.
  • +
  • All targets now define __mc68010 and + __mc68010__ when generating 68010 code.
  • +
+

Command-line changes

+
    +
  • New command-line options -march, -mcpu, + -mtune and -mhard-float have been added. + These options apply to both m68k and ColdFire targets.
  • +
  • -mno-short, -mno-bitfield and + -mno-rtd are now accepted as negative versions + of -mshort, etc.
  • +
  • -fforce-addr has been removed. It is now ignored + by the compiler.
  • +
+

Other improvements

+
    +
  • ColdFire targets now try to maintain a 4-byte-aligned + stack where possible.
  • +
  • m68k-uclinux targets now try to avoid + situations that lead to the load-time error: + BINFMT_FLAT: reloc outside program.
  • +
+ +

MIPS

+

Changes to existing configurations

+
    +
  • libffi and libjava now support all + three GNU/Linux ABIs: o32, n32 and n64. Every GNU/Linux + configuration now builds these libraries by default.
  • +
  • GNU/Linux configurations now generate -mno-shared + code unless overridden by -fpic, + -fPIC, -fpie or + -fPIE.
  • +
  • mipsisa32*-linux-gnu configurations now generate + hard-float code by default, just like other mipsisa32* + and mips*-linux-gnu configurations. You can + build a soft-float version of any mips*-linux-gnu + configuration by passing --with-float=soft to + configure.
  • +
  • mips-wrs-vxworks now supports run-time processes + (RTPs).
  • +
+

Changes to existing command-line options

+
    +
  • The -march and -mtune options no + longer accept 24k as a processor name. Please + use 24kc, 24kf2_1 or + 24kf1_1 instead.
  • +
  • The -march and -mtune options now + accept 24kf2_1, 24kef2_1 and + 34kf2_1 as synonyms for 24kf, + 24kef and 34kf respectively. + The options also accept 24kf1_1, + 24kef1_1 and 34kf1_1 as synonyms for + 24kx, 24kex and 34kx.
  • +
+

New configurations

+

GCC now supports the following configurations:

+
    +
  • mipsisa32r2*-linux-gnu*, which generates MIPS32 + revision 2 code by default. Earlier releases also recognized + this configuration, but they treated it in the same way as + mipsisa32*-linux-gnu*. Note that you can + customize any mips*-linux-gnu* configuration + to a particular ISA or processor by passing an appropriate + --with-arch option to configure.
  • +
  • mipsisa*-sde-elf*, which provides compatibility + with MIPS Technologies' SDE toolchains. The configuration + uses the SDE libraries by default, but you can use it like + other newlib-based ELF configurations by passing + --with-newlib to configure. It is + the only configuration besides mips64vr*-elf* to + build MIPS16 as well as non-MIPS16 libraries.
  • +
  • mipsisa*-elfoabi*, which is similar to the general + mipsisa*-elf* configuration, but uses the o32 and + o64 ABIs instead of the 32-bit and 64-bit forms of the EABI.
  • +
+

New processors and application-specific extensions

+
    +
  • Support for the SmartMIPS ASE is available through the + new -msmartmips option.
  • +
  • Support for revision 2 of the DSP ASE is available through + the new -mdspr2 option. A new preprocessor macro + called __mips_dsp_rev indicates the revision of + the ASE in use.
  • +
  • Support for the 4KS and 74K families of processors is + available through the -march and -mtune + options.
  • +
+

Improved support for built-in functions

+
    +
  • GCC can now use load-linked, store-conditional and + sync instructions to implement atomic built-in + functions such as __sync_fetch_and_add. The + memory reference must be 4 bytes wide for 32-bit targets and + either 4 or 8 bytes wide for 64-bit targets.
  • +
  • GCC can now use the clz and dclz + instructions to implement the __builtin_ctz and + __builtin_ffs families of functions.
  • +
  • There is a new __builtin___clear_cache function + for flushing the instruction cache. GCC expands this function + inline on MIPS32 revision 2 targets, otherwise it calls the + function specified by -mcache-flush-func.
  • +
+

MIPS16 improvements

+
    +
  • GCC can now compile objects that contain a mixture of MIPS16 + and non-MIPS16 code. There are two new attributes, + mips16 and nomips16, for specifying + which mode a function should use.
  • +
  • A new option called -minterlink-mips16 + makes non-MIPS16 code link-compatible with MIPS16 code.
  • +
  • After many bug fixes, the long-standing MIPS16 + -mhard-float support should now work fairly + reliably.
  • +
  • GCC can now use the MIPS16e save and + restore instructions.
  • +
  • -fsection-anchors now works in MIPS16 mode. + MIPS16 code compiled with -G0 + -fsection-anchors is often smaller than code + compiled with -G8. However, please note that you + must usually compile all objects in your application with the + same -G option; see the documentation of + -G for details.
  • +
  • A new option called-mcode-readable specifies + which instructions are allowed to load from the code segment. + -mcode-readable=yes is the default and says that + any instruction may load from the code segment. The other + alternatives are -mcode-readable=pcrel, which + says that only PC-relative MIPS16 instructions may load from + the code segment, and -mcode-readable=no, which + says that no instruction may do so. Please see the + documentation for more details, including example uses.
  • +
+

Small-data improvements

+

There are three new options for controlling small data:

+
    +
  • -mno-extern-sdata, which disables small-data + accesses for externally-defined variables. Code compiled + with -Gn -mno-extern-sdata will be + link-compatible with any -G setting between + -G0 and -Gn inclusive.
  • +
  • -mno-local-sdata, which disables the use of + small-data sections for data that is not externally visible. + This option can be a useful way of reducing small-data usage + in less performance-critical parts of an application.
  • +
  • -mno-gpopt, which disables the use of the + $gp register while still honoring the + -G limit when placing externally-visible data. + This option implies -mno-extern-sdata and + -mno-local-sdata and it can be useful in + situations where $gp does not necessarily hold + the expected value.
  • +
+

Miscellaneous improvements

+
    +
  • There is a new option called -mbranch-cost + for tweaking the perceived cost of branches.
  • +
  • If GCC is configured to use a version of GAS that supports + the .gnu_attribute directive, it will use that + directive to record certain properties of the output code. + .gnu_attribute is new to GAS 2.18.
  • +
  • There are two new function attributes, near + and far, for overriding the command-line setting + of -mlong-calls on a function-by-function + basis.
  • +
  • -mfp64, which previously required a 64-bit target, + now works with MIPS32 revision 2 targets as well. The + mipsisa*-elfoabi* and mipsisa*-sde-elf* + configurations provide suitable library support.
  • +
  • GCC now recognizes the -mdmx and -mmt + options and passes them down to the assembler. It does nothing + else with the options at present.
  • +
+ +

SPU (Synergistic Processor Unit) of the Cell Broadband Engine + Architecture (BEA)

+
    +
  • Support has been added for this new architecture.
  • +
+ +

RS6000 (POWER/PowerPC)

+
    +
  • Support for the PowerPC 750CL paired-single instructions has + been added with a new powerpc-*-linux*paired* target + configuration. It is enabled by an associated -mpaired + option and can be accessed using new built-in functions.
  • +
  • Support for auto-detecting architecture and system configuration + to auto-select processor optimization tuning.
  • +
  • Support for VMX on AIX 5.3 has been added.
  • +
  • Support for AIX Version 6.1 has been added.
  • +
+ +

S/390, zSeries and System z9

+
    +
  • Support for the IBM System z9 EC/BC processor (z9 GA3) has + been added. When using the -march=z9-ec option, + the compiler will generate code making use of instructions + provided by the decimal floating point facility and the + floating point conversion facility (pfpo). Besides the + instructions used to implement decimal floating point + operations these facilities also contain instructions to move + between general purpose and floating point registers and to + modify and copy the sign-bit of floating point values.
  • +
  • When the -march=z9-ec option is used the new + -mhard-dfp/-mno-hard-dfp options can be used to + specify whether the decimal floating point hardware + instructions will be used or not. If none of them is given + the hardware support is enabled by default.
  • +
  • The -mstack-guard option can now be omitted when + using stack checking via -mstack-size in order to + let GCC choose a sensible stack guard value according to the + frame size of each function.
  • +
  • Various changes to improve performance of generated code have been + implemented, including: +
      +
    • The condition code set by an add logical with carry + instruction is now available for overflow checks + like: a + b + carry < b.
    • +
    • The test data class instruction is now used to implement + sign-bit and infinity checks of binary and decimal floating + point numbers.
    • +
    +
  • +
+ +

Xtensa

+
    +
  • Stack unwinding for exception handling now uses by default a + specialized version of DWARF unwinding. This is not + binary-compatible with the setjmp/longjmp (sjlj) unwinding used + for Xtensa with previous versions of GCC.
  • +
  • For Xtensa processors that include the Conditional Store option, + the built-in functions for atomic memory access are now implemented + using S32C1I instructions.
  • +
  • If the Xtensa NSA option is available, GCC will use it to implement + the __builtin_ctz and __builtin_clz + functions.
  • +
+ + +

Documentation improvements

+ +

Other significant improvements

+ +
    +
  • The compiler's --help command-line option has + been extended so that it now takes an optional set of arguments. + These arguments restrict the information displayed to specific + classes of command-line options, and possibly only a subset of + those options. It is also now possible to replace the descriptive + text associated with each displayed option with an indication of + its current value, or for binary options, whether it has been + enabled or disabled.

    + +

    Here are some examples. The following will display all the + options controlling warning messages:

    +
    +      --help=warnings
    +    
    + +

    Whereas this will display all the undocumented, target specific + options:

    +
    +      --help=target,undocumented
    +    
    + +

    This sequence of commands will display the binary + optimizations that are enabled by -O3:

    +
    +      gcc -c -Q -O3 --help=optimizers > /tmp/O3-opts
    +      gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts
    +      diff /tmp/O2-opts /tmp/O3-opts | grep enabled
    +    
    +
  • + +
  • The configure options --with-pkgversion and + --with-bugurl have been added. These allow + distributors of GCC to include a distributor-specific string in + manuals and --version output and to specify the URL + for reporting bugs in their versions of GCC.
  • +
+ + + + + + + + + + + + + + --- gcc-4.3-4.3.4.orig/debian/lib32objc2.symbols +++ gcc-4.3-4.3.4/debian/lib32objc2.symbols @@ -0,0 +1,3 @@ +libobjc.so.2 lib32objc2 #MINVER# +#include "libobjc2.symbols.common" + __gnu_objc_personality_v0@Base 4.2.1 --- gcc-4.3-4.3.4.orig/debian/libgcc1.symbols.armel +++ gcc-4.3-4.3.4/debian/libgcc1.symbols.armel @@ -0,0 +1,119 @@ +libgcc_s.so.1 libgcc1 #MINVER# + GCC_3.0@GCC_3.0 1:4.1.1 + GCC_3.3.1@GCC_3.3.1 1:4.1.1 + GCC_3.3.4@GCC_3.3.4 1:4.1.1 + GCC_3.3@GCC_3.3 1:4.1.1 + GCC_3.4.2@GCC_3.4.2 1:4.1.1 + GCC_3.4@GCC_3.4 1:4.1.1 + GCC_3.5@GCC_3.5 1:4.3.0 + GCC_4.0.0@GCC_4.0.0 1:4.1.1 + GCC_4.2.0@GCC_4.2.0 1:4.1.1 + GCC_4.3.0@GCC_4.3.0 1:4.3 + GLIBC_2.0@GLIBC_2.0 1:4.1.1 + _Unwind_Backtrace@GCC_4.3.0 1:4.3.0 + _Unwind_Complete@GCC_3.5 1:4.3.0 + _Unwind_DeleteException@GCC_3.0 1:4.3.0 + _Unwind_ForcedUnwind@GCC_3.0 1:4.3.0 + _Unwind_GetCFA@GCC_3.3 1:4.3.0 + _Unwind_GetDataRelBase@GCC_3.0 1:4.3.0 + _Unwind_GetLanguageSpecificData@GCC_3.0 1:4.3.0 + _Unwind_GetRegionStart@GCC_3.0 1:4.3.0 + _Unwind_GetTextRelBase@GCC_3.0 1:4.3.0 + _Unwind_RaiseException@GCC_3.0 1:4.3.0 + _Unwind_Resume@GCC_3.0 1:4.3.0 + _Unwind_Resume_or_Rethrow@GCC_3.3 1:4.3.0 + _Unwind_VRS_Get@GCC_3.5 1:4.3.0 + _Unwind_VRS_Pop@GCC_3.5 1:4.3.0 + _Unwind_VRS_Set@GCC_3.5 1:4.3.0 + __absvdi2@GCC_3.0 1:4.3.0 + __absvsi2@GCC_3.0 1:4.3.0 + __adddf3@GCC_3.0 1:4.3.0 + __addsf3@GCC_3.0 1:4.3.0 + __addvdi3@GCC_3.0 1:4.3.0 + __addvsi3@GCC_3.0 1:4.3.0 + __ashldi3@GCC_3.0 1:4.3.0 + __ashrdi3@GCC_3.0 1:4.3.0 + __bswapdi2@GCC_4.3.0 1:4.3.0 + __bswapsi2@GCC_4.3.0 1:4.3.0 + __clear_cache@GCC_3.0 1:4.3.0 + __clzdi2@GCC_3.4 1:4.3.0 + __clzsi2@GCC_3.4 1:4.3.0 + __cmpdi2@GCC_3.0 1:4.3.0 + __ctzdi2@GCC_3.4 1:4.3.0 + __ctzsi2@GCC_3.4 1:4.3.0 + __divdc3@GCC_4.0.0 1:4.3.0 + __divdf3@GCC_3.0 1:4.3.0 + __divdi3@GLIBC_2.0 1:4.3.0 + __divsc3@GCC_4.0.0 1:4.3.0 + __divsf3@GCC_3.0 1:4.3.0 + __divsi3@GCC_3.0 1:4.3.0 + __emutls_get_address@GCC_4.3.0 1:4.3.0 + __emutls_register_common@GCC_4.3.0 1:4.3.0 + __enable_execute_stack@GCC_3.4.2 1:4.3.0 + __eqdf2@GCC_3.0 1:4.3.0 + __eqsf2@GCC_3.0 1:4.3.0 + __extendsfdf2@GCC_3.0 1:4.3.0 + __ffsdi2@GCC_3.0 1:4.3.0 + __ffssi2@GCC_4.3.0 1:4.3.0 + __fixdfdi@GCC_3.0 1:4.3.0 + __fixdfsi@GCC_3.0 1:4.3.0 + __fixsfdi@GCC_3.0 1:4.3.0 + __fixsfsi@GCC_3.0 1:4.3.0 + __fixunsdfdi@GCC_3.0 1:4.3.0 + __fixunsdfsi@GCC_3.0 1:4.3.0 + __fixunssfdi@GCC_3.0 1:4.3.0 + __fixunssfsi@GCC_3.0 1:4.3.0 + __floatdidf@GCC_3.0 1:4.3.0 + __floatdisf@GCC_3.0 1:4.3.0 + __floatsidf@GCC_3.0 1:4.3.0 + __floatsisf@GCC_3.0 1:4.3.0 + __floatundidf@GCC_4.2.0 1:4.3.0 + __floatundisf@GCC_4.2.0 1:4.3.0 + __floatunsidf@GCC_4.2.0 1:4.3.0 + __floatunsisf@GCC_4.2.0 1:4.3.0 + __gcc_personality_v0@GCC_3.3.1 1:4.3.0 + __gedf2@GCC_3.0 1:4.3.0 + __gesf2@GCC_3.0 1:4.3.0 + __gnu_unwind_frame@GCC_3.5 1:4.3.0 + __gtdf2@GCC_3.0 1:4.3.0 + __gtsf2@GCC_3.0 1:4.3.0 + __ledf2@GCC_3.0 1:4.3.0 + __lesf2@GCC_3.0 1:4.3.0 + __lshrdi3@GCC_3.0 1:4.3.0 + __ltdf2@GCC_3.0 1:4.3.0 + __ltsf2@GCC_3.0 1:4.3.0 + __moddi3@GLIBC_2.0 1:4.3.0 + __modsi3@GCC_3.0 1:4.3.0 + __muldc3@GCC_4.0.0 1:4.3.0 + __muldf3@GCC_3.0 1:4.3.0 + __muldi3@GCC_3.0 1:4.3.0 + __mulsc3@GCC_4.0.0 1:4.3.0 + __mulsf3@GCC_3.0 1:4.3.0 + __mulvdi3@GCC_3.0 1:4.3.0 + __mulvsi3@GCC_3.0 1:4.3.0 + __nedf2@GCC_3.0 1:4.3.0 + __negdf2@GCC_3.0 1:4.3.0 + __negdi2@GCC_3.0 1:4.3.0 + __negsf2@GCC_3.0 1:4.3.0 + __negvdi2@GCC_3.0 1:4.3.0 + __negvsi2@GCC_3.0 1:4.3.0 + __nesf2@GCC_3.0 1:4.3.0 + __paritydi2@GCC_3.4 1:4.3.0 + __paritysi2@GCC_3.4 1:4.3.0 + __popcountdi2@GCC_3.4 1:4.3.0 + __popcountsi2@GCC_3.4 1:4.3.0 + __powidf2@GCC_4.0.0 1:4.3.0 + __powisf2@GCC_4.0.0 1:4.3.0 + __subdf3@GCC_3.0 1:4.3.0 + __subsf3@GCC_3.0 1:4.3.0 + __subvdi3@GCC_3.0 1:4.3.0 + __subvsi3@GCC_3.0 1:4.3.0 + __truncdfsf2@GCC_3.0 1:4.3.0 + __ucmpdi2@GCC_3.0 1:4.3.0 + __udivdi3@GLIBC_2.0 1:4.3.0 + __udivmoddi4@GCC_3.0 1:4.3.0 + __udivsi3@GCC_3.0 1:4.3.0 + __umoddi3@GLIBC_2.0 1:4.3.0 + __umodsi3@GCC_3.0 1:4.3.0 + __unorddf2@GCC_3.3.4 1:4.3.0 + __unordsf2@GCC_3.3.4 1:4.3.0 --- gcc-4.3-4.3.4.orig/debian/runcheck.sh +++ gcc-4.3-4.3.4/debian/runcheck.sh @@ -0,0 +1,20 @@ +#! /bin/sh + +mkdir -p build + +cat >build/runcheck.c < +int main() +{ + return printf("yes\n") != 4; +} +EOF + +if m=$(${CC:-gcc} -o build/runcheck build/runcheck.c 2>&1); then + m=$(build/runcheck 2>&1) + echo ${m#* } > build/runcheck.out + echo ${m#* } +else + echo ${m##*:} > build/runcheck.out + echo ${m##*:} +fi --- gcc-4.3-4.3.4.orig/debian/gcj-BV.overrides +++ gcc-4.3-4.3.4/debian/gcj-BV.overrides @@ -0,0 +1 @@ +gcj-@BV@: wrong-name-for-upstream-changelog --- gcc-4.3-4.3.4.orig/debian/README.treelang +++ gcc-4.3-4.3.4/debian/README.treelang @@ -0,0 +1,11 @@ +Treelang documentation +====================== + +The treelang compiler is called via the `gcc-3.4' command (or via +`gcc', when `gcc-3.4' is the default gcc compiler). + +Documentation for treelang is provided in info format only. You +can read docs in the info format with emacs, xemacs or the info +command: + + info treelang-3.4 --- gcc-4.3-4.3.4.orig/debian/patches/gcc-default-ssp.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-default-ssp.dpatch @@ -0,0 +1,214 @@ +#! /bin/sh -e + +# DP: Turn on -fstack-protector by default for C, C++, ObjC, ObjC++. +# DP: Build libgcc using -fno-stack-protector. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/objc/lang-specs.h.orig 2009-03-23 01:21:54.000000000 +0100 ++++ gcc/objc/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 +@@ -30,13 +30,13 @@ + %{traditional|ftraditional|traditional-cpp:\ + %eGNU Objective C no longer supports traditional compilation}\ + %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\ +- cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\ ++ cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}\ + %{!save-temps:%{!no-integrated-cpp:\ +- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\ ++ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {".mi", "@objc-cpp-output", 0, 0, 0}, + {"@objc-cpp-output", +- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {"@objective-c-header", + "%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\ +@@ -45,10 +45,10 @@ + %{traditional|ftraditional|traditional-cpp:\ + %eGNU Objective C no longer supports traditional compilation}\ + %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\ +- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ cc1obj -fpreprocessed %b.mi %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ + -o %g.s %{!o*:--output-pch=%i.gch}\ + %W{o*:--output-pch=%*}%V}\ + %{!save-temps:%{!no-integrated-cpp:\ +- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ + -o %g.s %{!o*:--output-pch=%i.gch}\ + %W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0}, +--- gcc/objcp/lang-specs.h.orig 2009-03-23 01:21:54.000000000 +0100 ++++ gcc/objcp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 +@@ -36,7 +36,7 @@ + %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ + cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2 %{+e1*}\ ++ %(cc1_options) %(ssp_default) %2 %{+e1*}\ + -o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {"@objective-c++", +@@ -46,15 +46,15 @@ + %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ + cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2 %{+e1*}\ ++ %(cc1_options) %(ssp_default) %2 %{+e1*}\ + %{!fsyntax-only:%(invoke_as)}}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {".mii", "@objective-c++-cpp-output", 0, 0, 0}, + {"@objective-c++-cpp-output", + "%{!M:%{!MM:%{!E:\ +- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ ++ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {"@objc++-cpp-output", + "%{!M:%{!MM:%{!E:\ +- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ ++ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- gcc/gcc.c.orig 2009-03-23 01:21:54.000000000 +0100 ++++ gcc/gcc.c 2009-03-23 01:24:02.000000000 +0100 +@@ -696,6 +696,14 @@ + #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" + #endif + ++#ifndef SSP_DEFAULT_SPEC ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!nostdlib:-fstack-protector}}" ++#else ++#define SSP_DEFAULT_SPEC "" ++#endif ++#endif ++ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector:}" +@@ -757,6 +765,7 @@ + static const char *cc1plus_spec = CC1PLUS_SPEC; + static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; + static const char *link_ssp_spec = LINK_SSP_SPEC; ++static const char *ssp_default_spec = SSP_DEFAULT_SPEC; + static const char *asm_spec = ASM_SPEC; + static const char *asm_final_spec = ASM_FINAL_SPEC; + static const char *link_spec = LINK_SPEC; +@@ -812,7 +821,7 @@ + static const char *cpp_options = + "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ + %{f*} %{g*:%{!g0:%{!fno-working-directory:-fworking-directory}}} %{O*}\ +- %{undef} %{save-temps:-fpch-preprocess}"; ++ %{undef} %{save-temps:-fpch-preprocess} %(ssp_default)"; + + /* This contains cpp options which are not passed when the preprocessor + output will be used by another program. */ +@@ -991,15 +1000,15 @@ + %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ + %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\ + cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \ +- %(cc1_options)}\ ++ %(cc1_options) %(ssp_default)}\ + %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\ +- cc1 %(cpp_unique_options) %(cc1_options)}}}\ ++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\ + %{!fsyntax-only:%(invoke_as)}} \ + %{combine:\ + %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ + %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i}}\ + %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\ +- cc1 %(cpp_unique_options) %(cc1_options)}}\ ++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}\ + %{!fsyntax-only:%(invoke_as)}}}}}}", 0, 1, 1}, + {"-", + "%{!E:%e-E or -x required when input is from standard input}\ +@@ -1022,7 +1031,7 @@ + %W{o*:--output-pch=%*}%V}}}}}}", 0, 0, 0}, + {".i", "@cpp-output", 0, 1, 0}, + {"@cpp-output", +- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0}, ++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(ssp_default) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0}, + {".s", "@assembler", 0, 1, 0}, + {"@assembler", + "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 1, 0}, +@@ -1582,6 +1591,7 @@ + INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec), + INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec), + INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec), ++ INIT_STATIC_SPEC ("ssp_default", &ssp_default_spec), + INIT_STATIC_SPEC ("endfile", &endfile_spec), + INIT_STATIC_SPEC ("link", &link_spec), + INIT_STATIC_SPEC ("lib", &lib_spec), +--- gcc/cp/lang-specs.h.orig 2009-03-23 01:21:54.000000000 +0100 ++++ gcc/cp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 +@@ -47,7 +47,7 @@ + %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ + cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2 %{+e1*}\ ++ %(cc1_options) %(ssp_default) %2 %{+e1*}\ + %{!fsyntax-only:-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {"@c++", +@@ -57,11 +57,11 @@ + %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ + cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2 %{+e1*}\ ++ %(cc1_options) %(ssp_default) %2 %{+e1*}\ + %{!fsyntax-only:%(invoke_as)}}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {".ii", "@c++-cpp-output", 0, 0, 0}, + {"@c++-cpp-output", + "%{!M:%{!MM:%{!E:\ +- cc1plus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ ++ cc1plus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- gcc/Makefile.in.orig 2009-03-23 01:21:54.000000000 +0100 ++++ gcc/Makefile.in 2009-03-23 01:22:16.000000000 +0100 +@@ -584,6 +584,7 @@ + LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) \ + $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \ + -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \ ++ -fno-stack-protector \ + $(INHIBIT_LIBC_CFLAGS) + + # Additional options to use when compiling libgcc2.a. +@@ -597,6 +598,7 @@ + CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ + -finhibit-size-directive -fno-inline-functions -fno-exceptions \ + -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ ++ -fno-stack-protector \ + $(INHIBIT_LIBC_CFLAGS) + + # Additional sources to handle exceptions; overridden by targets as needed. +--- gcc/doc/invoke.texi.orig 2008-05-10 08:59:35.450995716 +0200 ++++ gcc/doc/invoke.texi 2008-05-10 09:00:53.022165860 +0200 +@@ -6725,6 +6725,10 @@ + when a function is entered and then checked when the function exits. + If a guard check fails, an error message is printed and the program exits. + ++NOTE: In Ubuntu 6.10 and later versions this option is enabled by default ++for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector} ++nor @option{-nostdlib} are found. ++ + @item -fstack-protector-all + @opindex fstack-protector-all + Like @option{-fstack-protector} except that all functions are protected. --- gcc-4.3-4.3.4.orig/debian/patches/libjava-soname.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-soname.dpatch @@ -0,0 +1,34 @@ +#! /bin/sh -e + +# DP: Bump the libgcj soversion. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- libjava/libtool-version~ 2006-01-18 22:52:29.000000000 +0100 ++++ libjava/libtool-version 2006-04-03 23:32:44.934656864 +0200 +@@ -3,4 +3,4 @@ + # a separate file so that version updates don't involve re-running + # automake. + # CURRENT:REVISION:AGE +-9:0:0 ++90:0:0 --- gcc-4.3-4.3.4.orig/debian/patches/libjava-debuginfo.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-debuginfo.dpatch @@ -0,0 +1,43 @@ +#! /bin/sh -e + +# DP: Fix java debuginfo breakage. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-03-06 Andrew Haley + + * jcf-parse.c (give_name_to_class): Call find_sourcefile fo find full + pathname of source file. + +Index: jcf-parse.c +=================================================================== +--- gcc/java/jcf-parse.c (revision 131324) ++++ gcc/java/jcf-parse.c (working copy) +@@ -1208,7 +1208,7 @@ + #ifdef USE_MAPPED_LOCATION + { + tree source_name = identifier_subst (class_name, "", '.', '/', ".java"); +- const char *sfname = IDENTIFIER_POINTER (source_name); ++ const char *sfname = find_sourcefile (IDENTIFIER_POINTER (source_name)); + linemap_add (line_table, LC_ENTER, false, sfname, 0); + input_location = linemap_line_start (line_table, 0, 1); + file_start_location = input_location; --- gcc-4.3-4.3.4.orig/debian/patches/r143339.dpatch +++ gcc-4.3-4.3.4/debian/patches/r143339.dpatch @@ -0,0 +1,156 @@ +#! /bin/sh -e + +# DP: ARM: don't synthesize thumb-2 ldrd/strd with two 32-bit instructions. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +2009-01-13 Richard Earnshaw + + * arm.c (output_move_double): Don't synthesize thumb-2 ldrd/strd with + two 32-bit instructions. + +Index: gcc/config/arm/arm.c +=================================================================== +--- gcc/config/arm/arm.c (revision 149318) ++++ gcc/config/arm/arm.c (working copy) +@@ -5914,7 +5914,7 @@ + break; \ + } + +- unsigned int i, elsize, idx = 0, n_elts = CONST_VECTOR_NUNITS (op); ++ unsigned int i, elsize = 0, idx = 0, n_elts = CONST_VECTOR_NUNITS (op); + unsigned int innersize = GET_MODE_SIZE (GET_MODE_INNER (mode)); + unsigned char bytes[16]; + int immtype = -1, matches; +@@ -9902,36 +9902,36 @@ + } + else + { +- /* IWMMXT allows offsets larger than ldrd can handle, +- fix these up with a pair of ldr. */ +- if (GET_CODE (otherops[2]) == CONST_INT +- && (INTVAL(otherops[2]) <= -256 +- || INTVAL(otherops[2]) >= 256)) ++ /* Use a single insn if we can. ++ FIXME: IWMMXT allows offsets larger than ldrd can ++ handle, fix these up with a pair of ldr. */ ++ if (TARGET_THUMB2 ++ || GET_CODE (otherops[2]) != CONST_INT ++ || (INTVAL (otherops[2]) > -256 ++ && INTVAL (otherops[2]) < 256)) ++ output_asm_insn ("ldr%(d%)\t%0, [%1, %2]!", otherops); ++ else + { + output_asm_insn ("ldr%?\t%0, [%1, %2]!", otherops); +- otherops[0] = gen_rtx_REG (SImode, 1 + reg0); +- output_asm_insn ("ldr%?\t%0, [%1, #4]", otherops); ++ output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); + } +- else +- output_asm_insn ("ldr%(d%)\t%0, [%1, %2]!", otherops); + } + } + else + { +- /* IWMMXT allows offsets larger than ldrd can handle, ++ /* Use a single insn if we can. ++ FIXME: IWMMXT allows offsets larger than ldrd can handle, + fix these up with a pair of ldr. */ +- if (GET_CODE (otherops[2]) == CONST_INT +- && (INTVAL(otherops[2]) <= -256 +- || INTVAL(otherops[2]) >= 256)) ++ if (TARGET_THUMB2 ++ || GET_CODE (otherops[2]) != CONST_INT ++ || (INTVAL (otherops[2]) > -256 ++ && INTVAL (otherops[2]) < 256)) ++ output_asm_insn ("ldr%(d%)\t%0, [%1], %2", otherops); ++ else + { +- otherops[0] = gen_rtx_REG (SImode, 1 + reg0); +- output_asm_insn ("ldr%?\t%0, [%1, #4]", otherops); +- otherops[0] = operands[0]; ++ output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); + output_asm_insn ("ldr%?\t%0, [%1], %2", otherops); + } +- else +- /* We only allow constant increments, so this is safe. */ +- output_asm_insn ("ldr%(d%)\t%0, [%1], %2", otherops); + } + break; + +@@ -9973,6 +9973,7 @@ + } + if (TARGET_LDRD + && (GET_CODE (otherops[2]) == REG ++ || TARGET_THUMB2 + || (GET_CODE (otherops[2]) == CONST_INT + && INTVAL (otherops[2]) > -256 + && INTVAL (otherops[2]) < 256))) +@@ -10071,23 +10072,19 @@ + + /* IWMMXT allows offsets larger than ldrd can handle, + fix these up with a pair of ldr. */ +- if (GET_CODE (otherops[2]) == CONST_INT ++ if (!TARGET_THUMB2 ++ && GET_CODE (otherops[2]) == CONST_INT + && (INTVAL(otherops[2]) <= -256 + || INTVAL(otherops[2]) >= 256)) + { +- rtx reg1; +- reg1 = gen_rtx_REG (SImode, 1 + REGNO (operands[1])); + if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY) + { + output_asm_insn ("ldr%?\t%0, [%1, %2]!", otherops); +- otherops[0] = reg1; +- output_asm_insn ("ldr%?\t%0, [%1, #4]", otherops); ++ output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); + } + else + { +- otherops[0] = reg1; +- output_asm_insn ("ldr%?\t%0, [%1, #4]", otherops); +- otherops[0] = operands[1]; ++ output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); + output_asm_insn ("ldr%?\t%0, [%1], %2", otherops); + } + } +@@ -10122,6 +10119,7 @@ + } + if (TARGET_LDRD + && (GET_CODE (otherops[2]) == REG ++ || TARGET_THUMB2 + || (GET_CODE (otherops[2]) == CONST_INT + && INTVAL (otherops[2]) > -256 + && INTVAL (otherops[2]) < 256))) +@@ -10135,9 +10133,9 @@ + + default: + otherops[0] = adjust_address (operands[0], SImode, 4); +- otherops[1] = gen_rtx_REG (SImode, 1 + REGNO (operands[1])); ++ otherops[1] = operands[1]; + output_asm_insn ("str%?\t%1, %0", operands); +- output_asm_insn ("str%?\t%1, %0", otherops); ++ output_asm_insn ("str%?\t%H1, %0", otherops); + } + } + --- gcc-4.3-4.3.4.orig/debian/patches/gcc-default-format-security.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-default-format-security.dpatch @@ -0,0 +1,77 @@ +#! /bin/sh -e + +# DP: Turn on -Wformat -Wformat-security by default for C, C++, ObjC, ObjC++. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/c-common.c +=================================================================== +--- gcc.orig/c-common.c 2008-05-01 14:00:56.000000000 -0700 ++++ gcc/c-common.c 2008-05-01 14:01:17.000000000 -0700 +@@ -277,7 +277,7 @@ + /* Warn about format/argument anomalies in calls to formatted I/O functions + (*printf, *scanf, strftime, strfmon, etc.). */ + +-int warn_format; ++int warn_format = 1; + + /* Warn about using __null (as NULL in C++) as sentinel. For code compiled + with GCC this doesn't matter as __null is guaranteed to have the right +Index: gcc/c.opt +=================================================================== +--- gcc.orig/c.opt 2008-05-01 14:09:43.000000000 -0700 ++++ gcc/c.opt 2008-05-01 14:10:01.000000000 -0700 +@@ -228,7 +228,7 @@ + Warn about format strings that contain NUL bytes + + Wformat-security +-C ObjC C++ ObjC++ Var(warn_format_security) Warning ++C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning + Warn about possible security problems with format functions + + Wformat-y2k +Index: gcc/doc/invoke.texi +=================================================================== +--- gcc.orig/doc/invoke.texi 2008-05-02 11:03:17.000000000 -0700 ++++ gcc/doc/invoke.texi 2008-05-02 11:07:39.000000000 -0700 +@@ -2802,6 +2802,9 @@ + @option{-Wformat-nonliteral}, @option{-Wformat-security}, and + @option{-Wformat=2} are available, but are not included in @option{-Wall}. + ++NOTE: In Ubuntu 8.10 and later versions this option is enabled by default ++for C, C++, ObjC, ObjC++. To disable, use @option{-Wformat=0}. ++ + @item -Wformat-y2k + @opindex Wformat-y2k + @opindex Wno-format-y2k +@@ -2849,6 +2852,11 @@ + in future warnings may be added to @option{-Wformat-security} that are not + included in @option{-Wformat-nonliteral}.) + ++NOTE: In Ubuntu 8.10 and later versions this option is enabled by default ++for C, C++, ObjC, ObjC++. To disable, use @option{-Wno-format-security}, ++or disable all format warnings with @option{-Wformat=0}. To make format ++security warnings fatal, specify @option{-Werror=format-security}. ++ + @item -Wformat=2 + @opindex Wformat=2 + @opindex Wno-format=2 --- gcc-4.3-4.3.4.orig/debian/patches/cross-include.dpatch +++ gcc-4.3-4.3.4/debian/patches/cross-include.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# DP: Set cross include path to .../include, not .../sys-include +# DP: This should be a fix for famous limits.h issue + +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 -p0 < $0 + cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + cd ${dir}gcc && autoconf2.59 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/configure.ac.orig 2005-08-24 06:24:11.000000000 +0400 ++++ gcc/configure.ac 2005-12-06 00:40:45.000000000 +0300 +@@ -681,7 +681,7 @@ + ], [ + TARGET_SYSTEM_ROOT= + TARGET_SYSTEM_ROOT_DEFINE= +- CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/sys-include' ++ CROSS_SYSTEM_HEADER_DIR='$(prefix)/$(target_noncanonical)/include' + ]) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) --- gcc-4.3-4.3.4.orig/debian/patches/gdc-array-init.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-array-init.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# gdc-array-init.dpatch by Iain Buclaw +# DP: Fixes error on static initialization of arrays with trailing comma. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/d/dmd/parse.c 2010-04-09 19:45:12.963853311 +0100 ++++ gcc/d/dmd/parse.c 2010-04-02 12:38:39.000000000 +0100 +@@ -2593,6 +2593,7 @@ + { t = peek(t); + if (t->value != TOKsemicolon && + t->value != TOKcomma && ++ t->value != TOKrbracket && + t->value != TOKrcurly) + goto Lexpression; + break; --- gcc-4.3-4.3.4.orig/debian/patches/ppc64-ada.dpatch +++ gcc-4.3-4.3.4/debian/patches/ppc64-ada.dpatch @@ -0,0 +1,426 @@ +#! /bin/sh -e + +# DP: Add gcc/ada/system-linux-ppc64.ads and use it in gcc/ada/Makefile.in +# DP: + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: src/gcc/ada/Makefile.in +=================================================================== +--- src.orig/gcc/ada/Makefile.in 2008-05-05 17:37:44.718708562 +0200 ++++ src/gcc/ada/Makefile.in 2008-05-05 17:37:44.738708711 +0200 +@@ -1438,6 +1438,34 @@ + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out powerpc64% linux%,$(arch) $(osys))),) ++ LIBGNAT_TARGET_PAIRS = \ ++ a-intnam.ads" (Left, Right : Address) return Boolean; ++ function ">=" (Left, Right : Address) return Boolean; ++ function "=" (Left, Right : Address) return Boolean; ++ ++ pragma Import (Intrinsic, "<"); ++ pragma Import (Intrinsic, "<="); ++ pragma Import (Intrinsic, ">"); ++ pragma Import (Intrinsic, ">="); ++ pragma Import (Intrinsic, "="); ++ ++ -- Other System-Dependent Declarations ++ ++ type Bit_Order is (High_Order_First, Low_Order_First); ++ Default_Bit_Order : constant Bit_Order := High_Order_First; ++ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning ++ ++ -- Priority-related Declarations (RM D.1) ++ ++ -- 0 .. 98 corresponds to the system priority range 1 .. 99. ++ -- ++ -- If the scheduling policy is SCHED_FIFO or SCHED_RR the runtime makes use ++ -- of the entire range provided by the system. ++ -- ++ -- If the scheduling policy is SCHED_OTHER the only valid system priority ++ -- is 1 and other values are simply ignored. ++ ++ Max_Priority : constant Positive := 97; ++ Max_Interrupt_Priority : constant Positive := 98; ++ ++ subtype Any_Priority is Integer range 0 .. 98; ++ subtype Priority is Any_Priority range 0 .. 97; ++ subtype Interrupt_Priority is Any_Priority range 98 .. 98; ++ ++ Default_Priority : constant Priority := 48; ++ ++private ++ ++ type Address is mod Memory_Size; ++ Null_Address : constant Address := 0; ++ ++ -------------------------------------- ++ -- System Implementation Parameters -- ++ -------------------------------------- ++ ++ -- These parameters provide information about the target that is used ++ -- by the compiler. They are in the private part of System, where they ++ -- can be accessed using the special circuitry in the Targparm unit ++ -- whose source should be consulted for more detailed descriptions ++ -- of the individual switch values. ++ ++ Backend_Divide_Checks : constant Boolean := False; ++ Backend_Overflow_Checks : constant Boolean := False; ++ Command_Line_Args : constant Boolean := True; ++ Configurable_Run_Time : constant Boolean := False; ++ Denorm : constant Boolean := True; ++ Duration_32_Bits : constant Boolean := False; ++ Exit_Status_Supported : constant Boolean := True; ++ Fractional_Fixed_Ops : constant Boolean := False; ++ Frontend_Layout : constant Boolean := False; ++ Machine_Overflows : constant Boolean := False; ++ Machine_Rounds : constant Boolean := True; ++ Preallocated_Stacks : constant Boolean := False; ++ Signed_Zeros : constant Boolean := True; ++ Stack_Check_Default : constant Boolean := False; ++ Stack_Check_Probes : constant Boolean := False; ++ Stack_Check_Limits : constant Boolean := False; ++ Support_64_Bit_Divides : constant Boolean := True; ++ Support_Aggregates : constant Boolean := True; ++ Support_Composite_Assign : constant Boolean := True; ++ Support_Composite_Compare : constant Boolean := True; ++ Support_Long_Shifts : constant Boolean := True; ++ Always_Compatible_Rep : constant Boolean := True; ++ Suppress_Standard_Library : constant Boolean := False; ++ Use_Ada_Main_Program_Name : constant Boolean := False; ++ ZCX_By_Default : constant Boolean := True; ++ GCC_ZCX_Support : constant Boolean := True; ++ ++end System; --- gcc-4.3-4.3.4.orig/debian/patches/sh4-multilib.dpatch +++ gcc-4.3-4.3.4/debian/patches/sh4-multilib.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e + +# sh4-multilib.dpatch from Arthur Loiret +# DP: Fix multilib (m4/m4-nofpu) for sh4-linux + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/config.gcc 2008-04-24 09:00:54.000000000 +0000 ++++ gcc/config.gcc 2008-04-24 09:05:10.000000000 +0000 +@@ -2271,11 +2271,12 @@ + if test x${sh_multilibs} = x ; then + case ${target} in + sh64-superh-linux* | \ +- sh[1234]*) sh_multilibs=${sh_cpu_target} ;; + sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; +- sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; ++ sh-superh-* | \ ++ sh4-*-linux*) sh_multilibs=m4,m4-nofpu ;; + sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;; + sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;; ++ sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; + *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;; + esac + if test x$with_fp = xno; then --- gcc-4.3-4.3.4.orig/debian/patches/gcc-multilib64dir.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-multilib64dir.dpatch @@ -0,0 +1,62 @@ +#! /bin/sh -e + +# DP: Use lib instead of lib64 as multilibdir on amd64 and ppc64. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/config/i386/t-linux64 +=================================================================== +--- gcc/config/i386/t-linux64 (revision 130706) ++++ gcc/config/i386/t-linux64 (working copy) +@@ -13,7 +13,7 @@ + + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) + + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib +Index: gcc/config/rs6000/t-linux64 +=================================================================== +--- gcc/config/rs6000/t-linux64 (revision 130706) ++++ gcc/config/rs6000/t-linux64 (working copy) +@@ -14,13 +14,13 @@ + # it doesn't tell anything about the 32bit libraries on those systems. Set + # MULTILIB_OSDIRNAMES according to what is found on the target. + +-MULTILIB_OPTIONS = m64/m32 msoft-float +-MULTILIB_DIRNAMES = 64 32 nof ++MULTILIB_OPTIONS = m64/m32 ++MULTILIB_DIRNAMES = 64 32 + MULTILIB_EXTRA_OPTS = fPIC mstrict-align +-MULTILIB_EXCEPTIONS = m64/msoft-float +-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof +-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) ++MULTILIB_EXCEPTIONS = ++MULTILIB_EXCLUSIONS = ++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_MATCHES = + + softfp_wrap_start := '\#ifndef __powerpc64__' + softfp_wrap_end := '\#endif' --- gcc-4.3-4.3.4.orig/debian/patches/libjava-sjlj.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-sjlj.dpatch @@ -0,0 +1,65 @@ +#! /bin/sh -e + +# DP: Don't try to use _Unwind_Backtrace on SJLJ targets. +# DP: See bug #387875, #388505, GCC PR 29206. + +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 && autoconf2.59 + ;; + -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 + +--- + libjava/sysdep/generic/backtrace.h | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +Index: src/libjava/sysdep/generic/backtrace.h +=================================================================== +--- src.orig/libjava/sysdep/generic/backtrace.h 2006-11-06 14:00:32.000000000 -0500 ++++ src/libjava/sysdep/generic/backtrace.h 2006-11-06 14:04:38.000000000 -0500 +@@ -13,6 +13,20 @@ details. */ + + #include + ++#ifdef SJLJ_EXCEPTIONS ++ ++#undef _Unwind_GetIPInfo ++#define _Unwind_GetIPInfo(ctx,ip_before_insn) \ ++ (abort (), (void) (ctx), *ip_before_insn = 1, 0) ++ ++#undef _Unwind_GetRegionStart ++#define _Unwind_GetRegionStart(ctx) \ ++ (abort (), (void) (ctx), 0) ++ ++#undef _Unwind_Backtrace ++#define _Unwind_Backtrace(trace_fn,state_ptr) \ ++ (fallback_backtrace (trace_fn, state_ptr)) ++ + /* Unwind through the call stack calling TRACE_FN with STATE for every stack + frame. Returns the reason why the unwinding was stopped. */ + _Unwind_Reason_Code +@@ -20,4 +34,7 @@ fallback_backtrace (_Unwind_Trace_Fn, _J + { + return _URC_NO_REASON; + } ++ ++#endif /* SJLJ_EXCEPTIONS */ ++ + #endif --- gcc-4.3-4.3.4.orig/debian/patches/ada-default-project-path.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-default-project-path.dpatch @@ -0,0 +1,147 @@ +#! /bin/sh -e + +# DP: - Change the default search path for project files to the one specified +# DP: by the Debian Policy for Ada: /usr/share/ada/adainclude. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/ada/Make-lang.in +=================================================================== +--- gcc/ada/Make-lang.in.orig ++++ gcc/ada/Make-lang.in +@@ -974,7 +974,7 @@ + $(ECHO) " S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb + $(ECHO) " S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb + $(ECHO) " S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb +- $(ECHO) " S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb ++ $(ECHO) " S4 : constant String := \"/usr/share/ada/adainclude/\";" >>tmp-sdefault.adb + $(ECHO) " function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb + $(ECHO) " begin" >>tmp-sdefault.adb + $(ECHO) " return Relocate_Path (S0, S1);" >>tmp-sdefault.adb +Index: gcc/ada/prj-ext.adb +=================================================================== +--- gcc/ada/prj-ext.adb.orig ++++ gcc/ada/prj-ext.adb +@@ -24,7 +24,6 @@ + ------------------------------------------------------------------------------ + + with Hostparm; +-with Makeutl; use Makeutl; + with Output; use Output; + with Osint; use Osint; + with Sdefault; +@@ -254,38 +253,10 @@ + + -- Set the initial value of Current_Project_Path + +- if Add_Default_Dir then +- declare +- Prefix : String_Ptr := Sdefault.Search_Dir_Prefix; +- begin +- if Prefix = null then +- Prefix := new String'(Executable_Prefix_Path); +- +- if Prefix.all /= "" then +- if Get_Mode = Ada_Only then +- Current_Project_Path := +- new String'(Name_Buffer (1 .. Name_Len) & +- Path_Separator & +- Prefix.all & Directory_Separator & "gnat"); +- +- else +- Current_Project_Path := +- new String'(Name_Buffer (1 .. Name_Len) & +- Path_Separator & +- Prefix.all & Directory_Separator & +- "share" & Directory_Separator & "gpr"); +- end if; +- end if; +- +- else +- Current_Project_Path := +- new String'(Name_Buffer (1 .. Name_Len) & Path_Separator & +- Prefix.all & +- ".." & Directory_Separator & +- ".." & Directory_Separator & +- ".." & Directory_Separator & "gnat"); +- end if; +- end; ++ if Add_Default_Dir and Sdefault.Search_Dir_Prefix /= null then ++ Current_Project_Path := ++ new String'(Name_Buffer (1 .. Name_Len) & Path_Separator & ++ Sdefault.Search_Dir_Prefix.all); + end if; + + if Current_Project_Path = null then +Index: gcc/ada/gnatls.adb +=================================================================== +--- gcc/ada/gnatls.adb.orig ++++ gcc/ada/gnatls.adb +@@ -1622,9 +1622,6 @@ + declare + Project_Path : String_Access := Getenv (Gpr_Project_Path); + +- Lib : constant String := +- Directory_Separator & "lib" & Directory_Separator; +- + First : Natural; + Last : Natural; + +@@ -1684,36 +1681,8 @@ + if Add_Default_Dir then + Name_Len := 0; + Add_Str_To_Name_Buffer (Sdefault.Search_Dir_Prefix.all); +- +- -- On Windows, make sure that all directory separators are '\' +- +- if Directory_Separator /= '/' then +- for J in 1 .. Name_Len loop +- if Name_Buffer (J) = '/' then +- Name_Buffer (J) := Directory_Separator; +- end if; +- end loop; +- end if; +- +- -- Find the sequence "/lib/" +- +- while Name_Len >= Lib'Length +- and then Name_Buffer (Name_Len - 4 .. Name_Len) /= Lib +- loop +- Name_Len := Name_Len - 1; +- end loop; +- +- -- If the sequence "/lib"/ was found, display the default +- -- directory /lib/gnat/. +- +- if Name_Len >= 5 then +- Name_Buffer (Name_Len + 1 .. Name_Len + 4) := "gnat"; +- Name_Buffer (Name_Len + 5) := Directory_Separator; +- Name_Len := Name_Len + 5; +- Write_Str (" "); +- Write_Line +- (To_Host_Dir_Spec (Name_Buffer (1 .. Name_Len), True).all); +- end if; ++ Write_Str (" "); ++ Write_Line (Name_Buffer (1 .. Name_Len)); + end if; + end; + --- gcc-4.3-4.3.4.orig/debian/patches/libjava-javah-bridge-tgts.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-javah-bridge-tgts.dpatch @@ -0,0 +1,185 @@ +#! /bin/sh -e + +# DP: libjava: Fix naming of bridge targets in gjavah (class file updates) + +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 -p0 < $0 + uudecode $0 + tar -xv -f classfiles.tar.bz2 -C ${dir}libjava + rm -f classfiles.tar.bz2* + ;; + -unpatch) + #patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-09-02 Andrew John Hughes + + * tools/gnu/classpath/tools/javah/ClassWrapper.java: + (makeVtable()): Populate methodNameMap. + (printMethods(CniPrintStream)): Always use pre-populated + methodNameMap for bridge targets. + +Index: libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java +=================================================================== +--- libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java (revision 140358) ++++ libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java (working copy) +@@ -217,7 +217,18 @@ + MethodNode m = (MethodNode) i.next(); + String desc = MethodHelper.getBridgeTarget(m); + if (desc != null) +- bridgeTargets.add(m.name + desc); ++ { ++ String sum = m.name + desc; ++ boolean newTarget = bridgeTargets.add(sum); ++ if (newTarget) ++ { ++ // Bridge target that is new in this class. ++ String cname = this.name; ++ int index = cname.lastIndexOf('/'); ++ cname = cname.substring(index + 1); ++ methodNameMap.put(sum, cname + "$" + m.name); ++ } ++ } + } + } + +@@ -247,18 +258,7 @@ + String nameToUse; + String sum = m.name + m.desc; + if (bridgeTargets.contains(sum)) +- { +- if (methodNameMap.containsKey(sum)) +- nameToUse = (String) methodNameMap.get(sum); +- else +- { +- // Bridge target that is new in this class. +- String cname = this.name; +- int index = cname.lastIndexOf('/'); +- cname = cname.substring(index + 1); +- nameToUse = cname + "$" + m.name; +- } +- } ++ nameToUse = (String) methodNameMap.get(sum); + else + nameToUse = Keywords.getCxxName(m.name); + methodNameMap.put(sum, nameToUse); + +begin 644 classfiles.tar.bz2 +M0EIH.3%!629360)[#V0`"P3_____________________________________ +M________X`[\'W'`>@!H#TW;<;G?>!]>^^<]``-M06K9MK0&DN]CAI"`3(&@ +M32>IAJ83"*;9-H$IZCV3)ZJ>I^IY39&:E/TR)@TI^4)ZGZ3&J>$9/2GM4S*? +MIJCR>I/1M*>HVFIZ@]3]-33$,FB;TC)/4]3],B1B::>H#(T>IY#3U"'ZH-$0 +MJ?B-#)I,4_5,)L(U3>J;*:-DR>J>GJ84>H])ZGI#0VIZ3U,$:;4P@'J!B>H] +M0,0`Q`!D!Z0`!ID::&$TR#(TR830``]0T`8B-""I^E/TU(\DQ/4:9!D!^J>H +M-&FCU-&@R#U````T:&$9#(T`T````&@`T`T&@``:```T`T#0```)$A$TT1H3 +MU#$8FF@$GB:)DS0"&0R9-IJ&$]$>IH,AD]3&IM(T833(-,@T`9&C1H#3(-`` +M/4```#1H````TT$`````!,`TT`F`!,F````(P"8````````````````````` +M`"8`"12(-3"GZ4TGZ2?DF-1E--'ZD>4'J:#U-&@``>H``T``>DT-#0#0``!H +M```````````T`:`&@`"JY=+Y20CG>>VG=2:ZBVJU`:';=LSM$Q'5$*S4'PYE+L0.[I#2DQO)JM@LN6CLO3EIXJMK*YR>4\2 +MUTT]M-8R+AIY4F$,*B(6:PC%@T&:IWG1C8(,]B`6UNTO;+NHX1XDMGJ.8E-N +MO[&^?LN;/KNQ)TTFY,G1-8[.3RLP69,5A"H4Y!&=@J+@@QFW;)$ISK/*J[FN?$*7&D0;,"08T5 +MY]K\'YC`]E>^7H&6@"TK[)I='V6&%BB10<@'.:?VR1"B +MU@=JV2=(8(D>%8T><]!-198%K44*+?_U*BC4S.TT4?X,DL"JC>5FKZP5UV:9V^]^HI`L_'^O:O'?1]9 +MJ/8\_X]FZ"A`!=7B24?VI:4W$``.GP=\9P54WJ<9;)5WEK/?$B92>&S,QL.& +M"7PW=Z4$!I0W2\GKN$X%)"69-3$5-Y2Z2W3U&VM>W`'QC'O\OR%&0W@ +M9O>9;?RY"L"U;#:O?Z='IS4GC>O?W3YQ%+N3$!PHNB@_5?^U8^BN5>NH]N8@ +MB6D0\3^INDO`8P?0LO=Q8;8&K;=7>GY'5U3>%U5\XP_-2F(>\ADJYB96$9[0 +MF[MJ3IV7N'ID?8T6D6'03[&5(XK?75TJZ]5C?[<^1R55V="QO\/Q86G==W@V +M*_[QPI4=P#$'3@TYM4=J('.)KZQ=#M\(YX(`U +MD85B/9GMGQU`G"*&=BLRS?39#H+"V_=-5"SY24JZ-.>][S +MUI^)?>^ZQ7S(XT2K_^TV9!#JJU;4MM?`U"%@`K+*_"$ +MGV62L[2V4^XK]9$UF'&/E.GN,ZGM9J?_)=M[ZII5YOY<:`@ +MZ/H3"D/P&XT:G=+JY(8U58,V%/<--7OXE7IB?U,BZH,+"R`'_NF(>'[GA]U% +M=(G\;)KD!H^\Y?\\796<ZKE>BKZOL*A'"<1I9G,]?XD",K;,)<[[ +M-/QY9J7>$00A?A@W#G5!RZ[`S%KP+)67?^VTE.)UWN$ +M^G&-C]G(B3ME),\]/LW-^@%"%1\LS[H#.D8<2`RD^H-J>EJUK/=.)64(7,F3CJ[W&6&OP/ +M?B9MDE0ML7M(\?M+$7!0NOKQ,I"6QT;93OL=\D0G3)4(.`4;+-J4<98%<8(B +MZOO&:9GS(1^]VP%)T[1:QUV*ZF(.DH?(GRB"+<5527.-?210X=M7=VCWL5I@ +M?0/D2@F747.T`JI""+EM@-3:QX/&O,FTYU-U:.Z]X<1SK(Y2*]'90[\]'P.<]6]?J/,KR%55%4HJ4H<;O[3>95]/KF!7J(`` +M)\#,`J:;#;/>ZV!=C]JR0D5M!4_-\U"A>TNNNNFI?9,%%? +M"D@K5QHG)"K8V%DYQ(B4G1S2NGIJ3)325GX_P% +MG&W>CW_;\%,LN=S"JMRI+SLDAU#."`#A!R.NRF^N3^;O`J$]?]) +MR0+/0@[DK0^(PBZ=E>`>5BKJ@8QBLXTYBD`'I-S15#`VE7MHJ`(2%H63@2RD +MQJG"03UCXF!9F?)1)VJ&H>-.E13E:&%!@*J46XK/2VM/SWM]G6)MKY^`*0R` +M,&;"?TEIE+$L9`1;C<_=DUEM1454!R3;[*FXMZ1*/F(`T`?U0R-2M1+P/")< +MOAU?_4X(-@T?7WSL8>(/KK*DP8?98"`AV0X1=SFY(WK@`]W0QL6(,2;0QIIB +M;`;3&NOB$-C8V`VO0Q`NX?XI0WXI7:*`.ME#&G2@)M(3;YODN:XB]4%28VAL +M::$VN4B&,&WV5WK-Y9>ZSENM^`4XZE<\3QCMNX@&(TV-IM/HX"UR3/F;R0K@6D;!L8VFFAC!=)@;V,IM#83FLA$$$QH&,&R=S^XF9@:#A#- +M`G5Y>RO_AVSHN?X;KR_VO02MW=*7-E5Q?/8W-L+'GRYRC41`XA#&0T$R1(G* +M=P1`$*4B[G?F^6L)IW4PV<02BP:\!=/^YA1@#PR)=^V&?G'=(*\J5;YADG]B +ME-_Y"KB^6RKWR-W=W>!*Y^3?/7IZ32<]SP6*U,UA3FR?:FYD!@>`8L>"$UX] +MQH58DK`29U''.1!73;3:C(V5_A*)D4#EJ/0.(/$\Z'3+E`B7#@A28;4;['!@ +M3,&`'F).3J<-3W4-B):XF*EJ6SCF**%$_F'`"QOXVQEVE+[8N,R7"D/<&#<^91U/HQ\CL$*;A0$VI,:;DED42*(8@F/\B1X;FD( +M=P`T(:`(P4P2,)(B`-VI88`EYV*&.N:)M*O$*$IMMLOTJ +MICN3.>:+&+3.998GT.-ODPGWR>'=\-45-TNA=O.@%,W=`P$R;YV(B''.( +MV[YROM^3MQ[2BMNML9#RN=MON\YOKE[6-G35/HEA;&O';_'R)&B69DD0\II1Q>3)]ZL+6!9#X"-# +M>2LN#["3;8U)28(;&P;'(0BP;BIL%1A:U=+2`BO-) +M$"*L>>0:),7%W@#IE8F^L+&LRF!>2H1M2EDOS!F5T*RKYM-E00$@8>@!0JKI +MKY;!Q0;%(NB#6,0J69*2+I?)!GR^\@$22S3.R$BQB;Y(O4B\`K8IXS)T*#;5 +MW"$:QL"0D2IN_&K#R=S/R^?[>$(Z;0QM;I0%9@(>"I\'$\ERGG0H"&V#=,"( +M#2,"7>Z&CLW5"0ZBWIX*QFER:&ZV&:JZ9>-*;T[AQ%PH4*-ST+\W31)$@(SQ +ME5L5:*SD2NOAHP(6T2*M4D-I#G,%>'A%C:\IC3R;\Z\!EUW;D"AHV&/<2,BJ +ME]68\563)03E>)OJ!A$S9)C2;4K:S81LKK;.NK%FW=M;X%!B:96%B"9E+=K7:6Y09;S]U;Q3;7":$)&%I+R[I^EPCE6 +MWQ;/CLV:]KH1@"14J,=MO#*FLOYTRY,O+*[\5/?E +M"5-)Q-ZM)$H0$%P`U&+I2',LN:H2)!6KZ%)(S8Q6(+;E9:D7LA86.B$=KBW< +MTU9QDM^93K2_SK$5H%UB`"-2DKM4`BS7)-'F!-MHRDD5:\DRLK>;)ZTWV0'> +M=-4D5Y3C`DU?RC163*L>(&FP;;&VT-C9Y^(;0VMF]PPDP0-H3:2_Q`"I:7VF//O30B#VVB=]I%Y\P +MUS5T)*>4[*RJC4`X5ZZCRNW@4P<"R`'$%VYR"^G3,*'_1)'_K=^$+Q7-TF%X +MOXTL5'0X'+9ZLU+KX>X=*O_,N7DU5$.((?8>HOW#\NC%&ZA7.K:N[;$KEPD" +MX-ARK%_Y\"Q(SVC4M:M +3[1!K]F:D_O_\7P]D``` +` +end --- gcc-4.3-4.3.4.orig/debian/patches/libjava-file-support.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-file-support.dpatch @@ -0,0 +1,615 @@ +#! /bin/sh -e + +# DP: libjava: @file support for gjavah & gjar + +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 -p0 < $0 + uudecode $0 + tar -xv -f classfiles.tar.bz2 -C ${dir}libjava + rm -f classfiles.tar.bz2* + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-06-06 Andrew John Hughes + + * tools/gnu/classpath/tools/common/ClasspathToolParser.java: + Fixed indentation and changed to use OptionException. + * tools/gnu/classpath/tools/getopt/OptionException.java: + (OptionException(String,Throwable)): Added. + +2008-06-03 Robert Schuster + + * tools/gnu/classpath/tools/jar/Main.java: + (run): Call different ClasspathToolParser.parse() variant. + (getParser): Changed return type to ClasspathToolParser. + * tools/gnu/classpath/tools/javah/GcjhMain.java: + (getParser): Changed return type to ClasspathToolParser. + * tools/gnu/classpath/tools/javah/Main.java: + (getParser): Changed return type to ClasspathToolParser. + * tools/gnu/classpath/tools/getopt/Parser.java: Make 'programName' + protected. + * tools/gnu/classpath/tools/common/ClasspathToolParser.java: + (parse(String[], FileArgumentCallback,boolean): New method. + (parse(String[], boolean): New method. + (parseFileList): New method. + (parseLine): New method. + (AtFileArgumentCallback): New inner class. + +Index: libjava/classpath/tools/gnu/classpath/tools/getopt/OptionException.java +=================================================================== +--- libjava/classpath/tools/gnu/classpath/tools/getopt/OptionException.java (revision 136500) ++++ libjava/classpath/tools/gnu/classpath/tools/getopt/OptionException.java (working copy) +@@ -49,4 +49,10 @@ + { + super(message); + } ++ ++ public OptionException(String message, Throwable cause) ++ { ++ super(message, cause); ++ } ++ + } +Index: libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java +=================================================================== +--- libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java (revision 136500) ++++ libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java (working copy) +@@ -38,9 +38,16 @@ + + package gnu.classpath.tools.common; + ++import java.io.BufferedReader; ++import java.io.IOException; ++import java.io.FileNotFoundException; ++import java.io.FileReader; ++import java.io.Reader; + import java.text.MessageFormat; ++import java.util.ArrayList; + + import gnu.classpath.Configuration; ++import gnu.classpath.tools.getopt.FileArgumentCallback; + import gnu.classpath.tools.getopt.Option; + import gnu.classpath.tools.getopt.OptionException; + import gnu.classpath.tools.getopt.Parser; +@@ -84,4 +91,149 @@ + } + }); + } ++ ++ public void parse(String[] inArgs, FileArgumentCallback files, ++ boolean handleFileLists) ++ { ++ FileArgumentCallback cb; ++ ++ if (handleFileLists) ++ cb = new AtFileArgumentCallback(files); ++ else ++ cb = files; ++ ++ parse(inArgs, cb); ++ } ++ ++ public String[] parse(String[] inArgs, boolean handleFileLists) ++ { ++ final ArrayList fileResult = new ArrayList(); ++ ++ final FileArgumentCallback cb = new FileArgumentCallback() ++ { ++ public void notifyFile(String fileArgument) ++ { ++ fileResult.add(fileArgument); ++ } ++ }; ++ ++ if (handleFileLists) ++ parse(inArgs, new AtFileArgumentCallback(cb)); ++ else ++ parse(inArgs, cb); ++ ++ return fileResult.toArray(new String[fileResult.size()]); ++ } ++ ++ ++ /** ++ * Simple function that takes the given {@link Reader}, treats it like ++ * a textfile and reads all the whitespace separated entries from it ++ * and adds them to the @{link FileArgumentCallback} instance. ++ * ++ * @param reader the reader to read from. ++ * @param cb the callback to post the filenames to. ++ * @throws OptionException if an error occurs reading the list. ++ */ ++ public void parseFileList(Reader reader, FileArgumentCallback cb) ++ throws OptionException ++ { ++ BufferedReader breader = new BufferedReader(reader); ++ String line = null; ++ ++ try ++ { ++ while ((line = breader.readLine()) != null) ++ parseLine(line, cb); ++ ++ reader.close(); ++ } ++ catch (IOException ioe) ++ { ++ throw new OptionException("I/O error while reading a file list", ioe); ++ } ++ ++ } ++ ++ /** ++ * Parses whitespace separated file entries. ++ * ++ * Note: This is not coping with whitespace in files or quoting. ++ * ++ * @param line the line of the file to parse. ++ * @param cb the callback to pass the parsed file to. ++ * @throws IOException if an I/O error occurs. ++ * @throws OptionException if an error occurs in the callback. ++ */ ++ private void parseLine(String line, FileArgumentCallback cb) ++ throws IOException, OptionException ++ { ++ final int length = line.length(); ++ int start = 0; ++ int end = 0; ++ ++ // While not reached end of line ... ++ while (start < length) ++ { ++ // Search for first non-whitespace character for the start of a word. ++ while (Character.isWhitespace(line.codePointAt(start))) ++ { ++ start++; ++ ++ if (start == length) ++ return; ++ } ++ ++ end = start + 1; ++ ++ // Search for first whitespace character for the end of a word. ++ while (end < length && !Character.isWhitespace(line.codePointAt(end))) ++ end++; ++ ++ cb.notifyFile(line.substring(start, end)); ++ ++ start = end + 1; ++ } ++ } ++ ++ /** ++ * Implementation of {@link FileArgumentCallback} that handles ++ * file arguments in {@link #notifyFile} starting with a @ ++ * through {@link ClasspathToolParser#parseFileList}. ++ */ ++ class AtFileArgumentCallback extends FileArgumentCallback ++ { ++ FileArgumentCallback cb; ++ ++ AtFileArgumentCallback(FileArgumentCallback cb) ++ { ++ this.cb = cb; ++ } ++ ++ @Override ++ public void notifyFile(String fileArgument) ++ throws OptionException ++ { ++ if (fileArgument.codePointAt(0) == '@') ++ { ++ FileReader fr = null; ++ ++ try ++ { ++ fr = new FileReader(fileArgument.substring(1)); ++ } ++ catch (FileNotFoundException fnfe) ++ { ++ throw new OptionException("File not found: " + fileArgument.substring(1), ++ fnfe); ++ } ++ ++ ClasspathToolParser.this.parseFileList(fr, cb); ++ } ++ else ++ cb.notifyFile(fileArgument); ++ } ++ ++ } ++ + } +Index: libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java +=================================================================== +--- libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java (revision 136500) ++++ libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java (working copy) +@@ -38,10 +38,11 @@ + + package gnu.classpath.tools.javah; + ++import gnu.classpath.tools.common.ClasspathToolParser; ++ + import gnu.classpath.tools.getopt.Option; + import gnu.classpath.tools.getopt.OptionException; + import gnu.classpath.tools.getopt.OptionGroup; +-import gnu.classpath.tools.getopt.Parser; + + import java.io.IOException; + import java.util.ArrayList; +@@ -60,9 +61,9 @@ + return "gcjh"; + } + +- protected Parser getParser() ++ protected ClasspathToolParser getParser() + { +- Parser result = super.getParser(); ++ ClasspathToolParser result = super.getParser(); + + result.setHeader("usage: gcjh [OPTION]... CLASS..."); + +Index: libjava/classpath/tools/gnu/classpath/tools/javah/Main.java +=================================================================== +--- libjava/classpath/tools/gnu/classpath/tools/javah/Main.java (revision 136500) ++++ libjava/classpath/tools/gnu/classpath/tools/javah/Main.java (working copy) +@@ -188,7 +188,7 @@ + return "javah"; + } + +- protected Parser getParser() ++ protected ClasspathToolParser getParser() + { + ClasspathToolParser result = new ClasspathToolParser(getName(), true); + result.setHeader("usage: javah [OPTIONS] CLASS..."); +@@ -339,8 +339,8 @@ + + protected void run(String[] args) throws IOException + { +- Parser p = getParser(); +- String[] classNames = p.parse(args); ++ ClasspathToolParser p = getParser(); ++ String[] classNames = p.parse(args, true); + postParse(classNames); + loader = classpath.getLoader(); + +Index: libjava/classpath/tools/gnu/classpath/tools/jar/Main.java +=================================================================== +--- libjava/classpath/tools/gnu/classpath/tools/jar/Main.java (revision 136500) ++++ libjava/classpath/tools/gnu/classpath/tools/jar/Main.java (working copy) +@@ -172,9 +172,9 @@ + } + } + +- private Parser initializeParser() ++ private ClasspathToolParser initializeParser() + { +- Parser p = new JarParser("jar"); //$NON-NLS-1$ ++ ClasspathToolParser p = new JarParser("jar"); //$NON-NLS-1$ + p.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ + + OptionGroup grp = new OptionGroup(Messages.getString("Main.OpMode")); //$NON-NLS-1$ +@@ -265,11 +265,11 @@ + private void run(String[] args) + throws InstantiationException, IllegalAccessException, IOException + { +- Parser p = initializeParser(); ++ ClasspathToolParser p = initializeParser(); + // Special hack to emulate old tar-style commands. + if (args.length > 0 && args[0].charAt(0) != '-') + args[0] = '-' + args[0]; +- p.parse(args, new HandleFile()); ++ p.parse(args, new HandleFile(), true); + if (readNamesFromStdin) + readNames(); + Action t = (Action) operationMode.newInstance(); + +begin 644 classfiles.tar.bz2 +M0EIH.3%!629361)$0X8`15C_____________________________________ +M________X#-Z^/DX"+W;X^Z^W;"[>G7SS:UU6YWFU5V][N[WN=>@Z&$0AV6L +MVP]`WK>I%!/'K[N^OEWWUW3//IOBS-9&\8SRR]T?=;[OB"BV;:W6E'`I0BAW +MNY\WM..'1$,(H"$`44*^@`:"0:R`(>G7WMXHKON`?#1$!&@F3"-&@`F"&F3" +M:F3:3TT:FQ-`F-33`:BG[()IZF08FIZ8&E/3:FIZGIIB:>B:!DTR4]Z3%3]& +MF-*3VJ?IHTR9,FH]3:9J81J>F&B:3RGI0:)```$RF:F)H`C-1,U,#"D]&B;* +M'Z4]/5-D,IZ3Q3U&CU-'ZH8)D>F4S283T3T)Z3)IH],IZ1XIZ@:9II,U&(T> +MFIM-(/2>D9&C3TT]4:&@#0,@@0$T"4TQE,D]33VE/33TH;U)Y1Y0>4\IZGJ> +MH-#R0#0``-`T-`#0T`!H`#:@T```-#TAH``!Z@``&@``2:42-(%4_$R:GJGM +M-&(IY3VJ>FH/4-#R9)M31Z@_5/4/49J#U`-&AY1H]3U,AZFU!Z@'J;4`T&0` +M``-`-`#0``````-!IH`))(0"&IZF8FAIE-H31J9IZ:J>TU)YD-!1^C2GI'D> +MDGJ:/*;!3]34T\1#U,TFRF3R:AZFU-J;*/4>4'J/U#U-(T`T&U-I-#T91Z"> +MU1D/4])ZAIZAH`!H!$DB:`F30!`)@$8(TQ4_4\D9-/35/T@T,C1H33:4V2/3 +MU0]JGJ>DV1HGZH&CTCU&@`T`#U&3U!H]0&C(`````T```#0:8_UE!6.*H*O4 +M;1$$)K,6#@&F.*,08KD#N%/(*11<'"1-*`&H':C911VH%>\\U\#!7:]WYFKQ +M./R65T5GZVNM/?E^-S;?_5K<9X<,/H(!%&I`^XY'WLL0//0"@Y4;)\Y5QE)] +MAY-X6AS_(I+"SQ[(!=,@@%A&*M+/>+;L"/6/JH+U/JTSNT5#RP\SVW?\Y\`^ +M3CQR$D&9-@LG:7"-,:<-AQ.\X\U0FG3;"0R?21G0,(%IA3=16=JX#C0Y9H1S +MM2$NX!Q7QC4!J<]/GNM=)E)EQ)MKP74ITR":R1XV.BMG]%Z%KE3>W>MMB/I^B5S8VWJ4V3Q-KH:Y[R9[?0O!P1W.#WP-JMHUWHWHX +MD%.&04L2;AV"PV#4Q"F)-H;$B!7@H"\0'%Q-JP(P<(I#(0PJS6!:"L$`>T@( +M!\5BY$I%#CH0$$4NL`,+<^!;12^5APV^%DSV0!)!)$$4V2*&2(`!(@"$4>H0K3;7##X' +MP]L[HFZ]'7)(I28M1"CFU<$`KRXNGR=P*4S)@1;EP,* +M$;7AX]V?,Z#N5/H"#HYPH./&NR"G6=)%@B:Y,DA-H8WHV1E@I`7G$,R9;3U+ +MWGRUR*,35.R=JP(3>8L!D$8*@>GEA*B@*P#SN9">3DP`\5(2ZTZ&"&2"^3"6 +MV$M2\:AR@5\34HB(R`$*(12((A-,2&8\_-`A)YJ#"A_C,6-C[SYP>VBQ[+_Z +M$@$"NW60$IA94"H"<%TWJA=GVSR5LR2/`8.?GW(T6JC1^AY$=[D*L#`4:`*! +MO-]Q^3S`9@_48WOL_QMN331PFWX*F_S/=:;0&[80NG92I_?,\3Q,R$ +MS#M3[G@G;:;W?=/N/Y.X]5V71]\ZSS/WWH.H./`8JS]-H`+!10B/4!^O1YTJ +M=/-14DE%:*.@!B3!%UP3@[GXZ%].T_OZ5K%BH2^=LN%4L,GJHFHWH4_^8 +MUFZ]=Z:!&"T#(\7FNJV#]#"(S=^R2+T27LC)8#G.<\X8B"&&9N7*QWN.WR\O +MO:>E9E-J2#OX'))1;J4A"3776^?!5MIM(SW+01`N$B-OOZN)SW`CB?5;NU)Y&:HM_+?=_CG +M:7%?Z_G_G&FTO>:[K-/Z%!6C%*8@#.3G7&=BAHG#AC=#,0.!D!1`P8=$&%

F]Q'6Z0V&7[W!W>W`A>"+4DE+CEAKR`$GQDDBOE.X7AQ(N!T +M>E^RJWS+[/2\_MDC.RFO^B(9@"5,MX8L@`$-DDAPEU?B8CZR=EBV$.PTV^7VYNR]W +M"_3JZCG?M=MW_'PZ;L=WG=J[^[J/P[>%[GTP.W]^6]2NIJ0&9-DQ_MWZ]TBX +M,P8!%2Z*.2%&$1P73(3YF0]SS#QB)ZGS-'%MHWP?/,&*M'HW)9&,/ZK#PP($ +MKL)@6-2YU2OYO0_^HJP\9"\9N`P`0#A!P`IR!36$@MP.Y[#%C"([(1M_+AVW +M5:_"K]-N]X&7^PLIC^4;0*Q(56DN.ERKE]YV=^+YYGGXW=;;7?1K?X>6SV63 +M)D64>H(IO^I@-WIX&R7`NA%.$!%9F69\68@"$1O%JZ;^>O'P2+Y]#D!FIBR+ +M^9C"YW-*H$,JG3&DWETB;JF:">1UY)5\>3B%?@]#4J-WLJ`!&21B0!,Y%+&UI$(K\4Y2!F`:J:#(!`G^ +M5"!8S"CYN4&`_"H!@)!I,$U8:=,:U:FQBM8@Y/5^__#S:T$,NL=G5KN].Z[U/PO^^7:,WV +M.[W-K:AL(120$UA$#`J`EJ%8XW4ZH4\BF(`E9`T`:`7J#.0!9)`M8,&.UU"X +MV@W.<:`N[WX>&TGY?;R:A,9!=6SLD.!RP3^A#TYL@(AF&UVK8"I\4++@P`Y: +MD`$B#_T[+@_7.=S5^7Y#\"9/=RC;U\8KW.GKA:EF0-]N9`!?W5Y/:$0H,(%< +MBV-OH?87Z.+/<>9N.YYAWNOY?KJ18G@W][/-)R?<3`DWL]>/0EB]0-!P>0(E +M,4F5G`)$FI(^%,)W1GR/1KBWPS3X6%A.@!E(F$))SDY("L#.]8>(&1!4)YYG +MQ1I%E`+>Z/,YXU2O4OR`="WA@)#H>-[>RD]\Z9.`[<@4(@@..V!RP*U^.J.\ +MVE#5#.!X:X['L8HV!=!4!\>TK%`# +MZQ:H9#-5R(+D4H/-;O>VW//`&0"I@$8;9<3IU?A7/6_;S^+ENPR"):87#=1&J7\W091*!(9(XE:7MJ]G866AB"S= +MP%$>A;>RN\H%O$_?@Q#XE_V>9PWX`U!]1F=RA\UP2T2V2LH%#S'D>'.>&[A$ +M07%QMW/IOXY=OFHF9YVBR+FWGW;G25/NW6X +MO\-H3@1BOI%V]@80-!:C1,C$8\.%<9]_T2MG6:%G,:-D@*,K0'-7+?.]2KVZEH'F`,.F!N/?8540+$J +MO9PJ!(067TC&=53R+^!=;0F`OA=.<\7?J@%>&W;\/F>F8RTK\K*<[D +M%[EF+7 +MX#II[,[.K$0*D0H7[K"<@Z/#I93X0FC:]8]'E)8U?BO5//D9(`#3< +M]LI'IE?'3D2`K\W4L/TE8@,)$HU:XSQ``*VXC4[#T^6/@7\SC>BZ2M-,0*A; +M#4X*NBFY1=>.9@&(6+Y/Q5^@XRMC$I5A@54+2D$MA6=HT&!-!2$L(:2+C>CC +M5TUG3Y,0A(<9$*+MR?WBC'\X-+$V]X%\JE3,@SLVD>8\P&X<>$SK%L^X4L,I +MGE(,2:S9UC^ICX7^70;^/@5^"T.I618#(4WGQHTF8H[AX[9R_M<-,4']5J/C +MJ(C66S-XP%`_RYX6BA)EZO6\[E+XNXC=#L.-RGBTBQ79! +M&4<.<]X=/&ME=-9P2C5F_I6 +M$_6/`ZS.'[<9$O[/*[9W`>S_4+`X3A)@?#D_8H,(.X(YS)]8Y(>D1!PGK"?+ +M+9VHN]F[S)M)M'X^5Z>FZY7VD]<<2DC6=UJ4_.IW_WMS*0U?X+]6VMM)+Y=S +M3\3M%./X4.J3I]W:@=;4AHRG81LL_,M8AG5_832C_IU#$WE*O.,:[;30Y_O8 +M[AUI;\W";4XJ_?6=K/VTM"S"AEL3LOD7=H\!YFMGMZHW)4IXW7=/,M5LI:ZLI$)5-:=-#YT^2$Q,J]65F*]I+4Y%[-YQ'%MOX7KEQ'>8[Q +M$1-7&EE^7W$ZQ+:J!N?35,"9-ACC>?K.)_K)77=K1XV+ZOCK0'<^97\-RZG( +M!:YYJ<6^%P[JC(N^$I,,BX="_C4#<4U$I-C#?UE5,$]].H^`\]]_V_K8SXP- +MMN8O\,QP0:_7^CU40[+;H"\D$L_H/YI)?MNOOU6K2RM([(X]+O)84M^Y6VC: +M7]Y/880G^J!B!11YK9-\1[(:9R664W1;=;>[K+P9>J67<1_]3,A$0!FY.W>O +MYKN=7>;B3)T+7PI@\"2VGDN0!LKC/"$]@NC]!3,H@7P_OMT>8A_WMUP\=[H=8 +M'(02.*A`53:4(!87RR).*_WR8[RLK&$EUL`A'S1%))P.8T'<;SKY4&9N;)_6 +M04B;#>K%H'(%7,@"GH[-2NQ`\I+J]6>RKX_OYN2]";;/G[I^$`AWHOF5C=[J +M5YHQR^[_V[4YS`<]^B\02)$"SLF12!D!'F0%Z,&VW\"X3M[[CTN[D[I8KD[> +M<8@JTQ!K_X^(F^,M(C+;CUYVZU38"I;LPZ8!-2``@%"5 +M!`#!7.ZZ%WS]2)LAW\E]U-(9ZL^68R4+Y,:!.3L8J8Q(.'5U-OV_ +M];GGW/JY/B)QOOM^PAE@$-%JPF+W=Y8L:9(%9A%$#>@-Q@P.!ET6ZSKZ?FQ4M$$"G[M8?!X%;;H(``Y_6>D.Q")4`3_5?J>WHU@1#8@*0;=*FZJP+ +M$7M3!]*QJ.RJ6+J")Y\OXN9H[$_[':GRCXY_XID;T"`(!0`.C%1,C&]3C<3B +M+4D4119`'KNV\[!]8\$>//O'W#+:]]?=BE=EMY;\(\B!7EOE4+QG2?@!:1`T +M`%;$Q&LCF)#>N,E'QY`+7]TD\$:3_L?1//'A3@&Y]P-VJ_ENQ3;;\JU?%5H\ +M9N0$OC/2HS4U7(V39^T?C%0$G#KT.##<@ +M?K_/LYVB(73)8+T3\=E<1OSUGC.H'8-Y1N@0?:2Z&."A@4WL5CT&1=RG<5R% +M[$;F>)PZ_ZD!,X?8#;(0`![Y\4QS5JK86B_%4I<9LVVAQ#]XX5`M3 +MA;)16)=)^9<88P0W]BK"F.4TTZ:<8R3II`BV/.:E*6D$$X:YD"?^C++?J$GW +M_YYIU&#*%L+!RH1`J*`\3G4)3H'L%,PG.=!@TJ_.8"O1G87O5+YGB771+Q4; +M')MN%U8.:%O-":\K[=97D'6=9+54$73J0*YG@+_!--1Y?Z\]U#Z4A#9_&?I: +MGJ7&/=/='#O>N3Z].RTKI?/NW&%VO%2]6+R;>Q8?U)HM=0@2D;CGTFVUF9MLXH]R9$1M;<.2ZFUKW]JSF#A&-S@V +MLVH&P9"_G*+83W/?[2D@LR.;#KU*MQ>$@B=&-.8KJ9Q>55/754S[[G/':.WW +M<91NG<@(&[F^/VK"ZHZQ(OX)X+,'(7>STB7F'.#$IAE=+B\:MAU,85!M"#&< +MO/]./Q!DORD=?O/L_!U[[B-NU>7WE5/>IIUK40D[*CM?E/LMV\PA:=3IY>@7 +MXJN381OGT9IF-#$O,H>-\J%E>,V66<^N,SM,)I2)A[ +M;NC3Z5SS=K4#8(R1460$)$0D4QU2S)2'X3>@?5BDA]3U3^_LW8'\&(KO'O29 +M,WG47B"&B*$A(@'%^G1:?=]#9HK;Q0E%Z%%!?==I@(>SU[MD%DLPPQ8B42X5 +M"7';TSD&&@O'P7UJ"SZBE;0208(2`PJG;AHMB#$2U;4VL0IMEL3B))4TR]5< +M2G0'T<_(!]BJ!;\'HG.4 +MAAXH$4&-MKQZU"7,2+K_:I.SR/M!=M&X&]UH7\!2A"K*(=7KVJJ32>?1B_&A]92CW[7DY\D +MX672IM<\:=#+H6PGA\6")8GP-C'7[FJKVU8CZ5U7P:KF>#3NO=^!E]DU6SDT +M&'%KWJQ3P/D>)+=*K-NE7,..->/-_?Z69![Y;>&%7WK.LS%X*(OIBK,59KF" +M!*I)``!.C%.O,S-_=+.;U)-M$#1+G?FQ[W=4J$6KWRZL%AU]=:Z;"U]$9>!9 +M+-74F=/7A40T89D0UFT-K(;^D@:AJT2J^"C1I(ZL +MQG:2*KG4)^DE*EA?CP+9.7?:67H]$/)U7(!QYM=(=J&/W%X*Z@6NGRJ]U\/H +M],?FGD[=G)WNN[7'=W7BY*H*2;P>(,)R#,!<@)Q/P;%HX\M&_!NW,98215:J +M@0R.K".YFNMH6$+M+6AY2H22,8T`09"#"+M"[;*G*+RH@DMO>/&(*X$-*4F% +M^6<`0:7!S*`,T<=EU<:(_+/#K1KN,Z9:)HTQ'*LA+0/ZL9W\+?)9(0-!S:J_ +MB]9:/-7HL;?3HD&FJ/>M6NN6+[MM'7U;&_/GHN]=?/2:"\S3(W"ZYE\`@\)E +MQSQPLL1:7R;J&V339X"I&Z6&>JN34YUZ1%[@:Z1\>JIB%0"$,#)K+ +M70UP5K'2(F!5`_)[GQ?,[W:$?KLN*6Y_:7OI@@5\&,R(@&!%2=#'.'OS8]QK +MY-CYL$QP3#JZT/A>[\+]<`LH\`*,@J`"-,"$/#N7C +M(Z-]6\7KROC[W],.X??=_'._%5T_",C?G/YR'*K+NPL*O:8&+CUIODI";+-? +M#*J6OL=.!L.LM^G[?B^X$=$?#^7D?&^7[6R"$@CIC"0D@WQ`*EH(7*0,YL4D +M81""D`1(`H$BL8H*(U"0*R22_"!)C",6(,6>B:0F:>>^*L_]\7X?O?2>'-\\ +M-U%441%D!AYYKHB(R(:)420/6B(&F6C(A^6C^M_D9]*#E>HL&L;D/+Q'_,.V +MU+&J/=OF@0`"08KG;"ABW_K>:6AK;-@0VAZRBE(A0<51+AK^:4S:/GV*@Z"E +MAS7]W46EM2G))EH64PV"Y'>M8%H?-/FG:QI'$DD4<<3RGYGI\HZ6MJ$M^!=5CR]=WTW/65!#-$ +MJ"I("`H$!8+$6V212248`B203`(C,$1H4]$/6P2`7NI#=QI_;_=4"769-[S) +MIMN-Y*;'\8,8O/QFF?9O9KT+O1_G0VN?D2A9=/BM_)53*R$2LJHR1"5!@$!* +MF``@R4("-9)WB89!9(JK`PA="'0P!T$G8,FB!%D%(/7-B+$G,T.;@F4(B`*` +MQD!8$!&1B0BD@L"0]N@$*@^_@5)%KVQ\TE>OX+P]1`/?8?Z;%8U&]+(%,00! +M'B\`L"!JJ;F/KQ4]OL+M#UG7:^?3/+BD5JF.N>.=&4QYQKH]HS69Z4KFZJR' +M0R@@5#LV&%\!&VV\:81K/,J#:D2)A&20Q&0<3E$.$5^I%0XFI#WJVN/?I0@C +M(*"DD.N&2%9'FV=)D`PF1DK`%A$231@%2"@+%63<$B!S3<,6106(Q9)`0^0* +M8(+K$`G#$'(04QI!&0`)`&01))$FKBV%SPQQ$+XA"*>6>U!=CL>:O[S[_SL% +M^>\+@(Q:*'QA]+,$H]>=D$DIKN^Z1C:T,WKH?214%VLA0,?J16+CWTTZCUE_ +ML>N6[7@$TP[)*.;!\?5Y0A"`HSKT"2MO:/B-CUYM<;;PQ._P&AZ9@0@`>-$D +M$YI.SVJ(S>$0D^AB,1$OF[7!;BN"8\6HG,&9$#,N:8RZ +M2O9;S$5(BNX5L0TQ7A`Q<1$JDHF0$GKLIT0D"3,#MQ"19O4=WLYM^]($)>&W +M[%'I^D4C!&96@#JJA)"8@$&9D5X0: +M&"R:4F4J/)LK`B%V!D0-8I*P2IDM_#P.E88@UC+39A2JJJE*(L8U4E+/RUQ+ +M&X("@0`C*1M7*H4"`A$D+C\:`^N/S4Y3]H.1%87F)O9B5^0C`+P@&D"PT-+` +MN)D +MG=H!!RJ!J(H$X(`8`#H9K-@*$-N6PEFFP3`H!2H6@-BKIBK-A", +M]>*8-$%A1"AP0J9TG569+(!(R!#-HQ7(;$PT9'+FBYKYF0#(2V3-EP60KJZ>BV.]R9C*JYP0ISZ;6(&"`4!==<6-,QN(TH +M(0$E&`!%2/.)J"(AH0(2!J2:$@"3+6@:,VDB((P!#6D1E!D!.T2DF!CX_=@3 +MWT*U]+R.EBU9K#MXVCY/+X7;_O/>"JND';\=%B.MH7]ZQC*.9"LF&1^1R&SS&=-]=C\ELU'BJQBDY[3E4YC4U-1X:@YAX[]NJ +MN[S$9SH*P2-PEV!`*IZ;C7'&QG/(ZG9RS$+FC:6KCE&,Q,([&HIN>I33; +M='9=!@*)M/8H`7F9*P67RE`T +MCFE0D^86B[(`10Z?V?N +MK>@$43PH!#(>AFMG#DQ-R!(_&(V\%&EXQT./GNG)MEP20VYZ_T4H]'N;?QE' +MW>URR9]"?=6E::H*FJ"%MFF^,ON_(*N]=I!VHPG2B<,ZN3/O"LDEK54.'.XP +M\]";YDHBJA,RAC$+C;Q4Q-ID,\9&$$P53[82(F+!"XOB$T4AL;."&5QWX0(0 +MDB0YZ1J>`.>OJ$.I#[F)E3C'BE/'.5?!`#BHLGA=CXG\6=K.-QT@L>JSV@Y. +MQY>WJ,NZ4'))$./PTVDCT9Q?F<7]CR/2ZYC.P1Y64\L^CX`YJ#"$G+'S3M@4 +M'PXG%^9%[8%A<'%V4.,)P82]A.G$YN,NOYTRQNQ2Q1(LA#(Y;"1MM!9#`'7AI"+)ZK%] +MT27&FXQ3=WG2@'M=K+T;O5Z*]2!'S*SY+[?T/HO5>'_=/!WGV'HSSK(@@,$1 +M%(HB*"B(H*(BQ8B+%BJL6(BQ145%1%G4<'5]#Q^Y/,QN70U"]%B3-&.)BHU%JD1A5%0U,4CK!(`@&,8XM/@)!(&+ZQBD6 +M(,=1,%_3YC3H/H6O$9`0ZT>E)`]^^_O,J:8;YO'OL>P,`*(@*>Z99`#)D8>! +M5LVS5G)9*,!$.2@_CDW_8.J.KWF\W?N6N+"X-P&\/H?%.])FKEK3DV17W5\^ +M^Q>WB`+&M)^:>`+T9O'1$`P$.5HEA!&9F9B"#VB.`::4UP!; +M0618/F7N\$]]8:,R +M@L%+[59#"],:L`&WTSAH`-X)B$"$\"0`]Y\@/C"!]W\[VA]?ZRA\6G:$U`8? +M,XMP0@D@R2`&)5T\X<9#4B"?;_)C""*N*C9N\XK^*(&L#3\W/U3ZQ0I/UV7_ +M(0EM6RK(T?0`R2`B%0:, +M;F:(M`)X%<(")LRB@!E`CT4Q%="",G3)4!Q_2YR\>7'AX#1FIID)*@X=M.'.=F:8UX,0TUM=88N\[_/)=\0# +MNV2%+VA51)#OD4JP+YK +MAC+>V!;F0HTM7AQ`\$Y`V +MUG+RXC*X05V=<./MW%Q=6\6*0"QM<71MW>>&I;S$\&7)0[8P*+$8"YC&HT") +M?J#9W9X?;WZO9S0D\]JO&Z`T+XAEP'@7HJO$&M.O9#7'J'+.[Y +MU'8+V_EN2XZVK*8'AH^WU:7+M!RA-M:)4)"B(`)2$4!"2LIHS6QA>0(0PT[N +M?ZWQ2"EUW:!$V.#PKZI=YE%5]L54B"?$IH3Z`D0\_))B_1C#/H[]%\#X>6\$AUYKI2VEM+:6TMI;2VEJPAIIO2&[ +M@-FS!;2VEM+:6TMI;2U2$[]RFD.2=5SPYPR2=EUI.SO/\KFZ2,M:*`E(J#0J +M'82B!`0+OB?#.X$YNT>7@BOGXDI1R>2&71IJ54I]3GRA=D0,:G8H++EN?90% +M/)7Y2IA!20(0B3OU0L(HR$@Q)'VI637VS?.Q$J(-H@"^/BQG9W_*>2B&873F +M90"`;ZC]X@&Z!HY)>@:>8J/*R**Y()(@'QLQ\<&&WKW4`RP%]SN]WO[8&Y$2 +M3P2/?>0@&V=[NY^=>!?N3*7I:@+N8\UA`W^!4#VG=0#ZYV7:8C^!.X3I3T0D +M@_E"BGX\&NO31.-]9.>V08D0`#*P*(;Z81-D"DF?F+XXQ9P,[W9:]GO=1(!# +MJJOC@";O@,MC@AP0DJ(]0R];JJ!B7)'E3D85DM4+=\%(43`$""!=Z!I$5#.H +M';][&F18,8*%0*55&`@8U#LY4.0`"2"PC`!@*`*"@JJ0>NP$H0+@R6.H1/"> +M,[WAN-0'I0!UGTCMF&7K:T7!,85?I*`6=?:,Y:QE*3-*ET!WGUWJ&,14(H"&%!C-X/+A#Y//L +MT%7K@@FKT,B:0`XN)0#B/:;E-K$@&2R;"E$!),"AJZ4!==3;;29@54^)CQJ` +M;_BJ!PKQ>7T^AQ93-A49[V."5R3JAR&"!W%'T7B(!.;#CDZN?BC=S3Y)UU`W +M@0,I$5!N+RQ$0)@"AA#**L06DV(>?[@N0##<4`\`(&XBH/B=F@1,C'1*6J3H +M!WMTH\YN0W'5)"*/:-#PL>#&8W,)Y!X$`W5`.JZCMNU6`1,Z#!OY$DB`;I?#/:[>W3 +MV36V(UIT`*AU7K``=8&@26SHO.X=I=A +MC-V.CE>;ZOCUU02A!8&Q*E.H;O;CFDDVNT=DIV-X>-32YP&38*POEP+L:%!2 +MR`01%UJ`8F^2XR87#(%V:ASSHXR@Z6M+;(T7RFQ!&)XA2@.9P$`MWCF.A"V- +M1P-'>O=+D$!7"P(V@!$@(($+Q)`2,F!\)5S&=`.ICW#&>,;K3=>0TN9-HWY# +M36SQ0R=3SK^QMZP,EHUN(RY$6[V9] +M[1;+C,)AH1N(J!8.''D3CY054MZ_$7*YP/Q:.]8-!.X@'"J\EX, +M23P^SLBF;J[990#%Z6>@V2?-0#D*8F*<8%*.]&2;AO2!'>,JB*'5\7Q#BI`T +M9>*9'*0(\JX.8<;=<=N#N6QF0F256K-7850@)"K@QQ,TID=G'A;L0*N2QB30 +M4WG1;U2K;Z@';Y.N-[?%X#DD&PQ&5*C$2)*PL1408RI6*@PB6R5@]OTNEG#E +M@*L8Z)*D?(N&&$D52"@//I*("D1'%DL9$8"@LB8LE9%(*),B0#(>Z8"9P +MB03'TH;^?A$`!R#(_&W27-XQ>(_$X-A-PFK"\JDJ@Q5.4A^DF!7O +M65GDN7[WX&9H;K*NFIBLP@I#+**BK%*A:\KES5W0'H(=BKLK4ZW&.]M[8Z +MGI[Q-6Z``@R;,&'C(L"&%I59(9'2O?'NW>O'BE!HV[?]^!X6[RV7Y^&J\90; +MP@%#A.C=0Y=^<'1(3'Z)_CO>[EEY(%G5]/J^#`2)"?JP\,W[XIK +M(W/ +MA^VXQ3KA:G7-?@Y0;C6RH=A13V'V5>J`?%&9[T\!Z6@<&X-H]?)V+@*F%C)J +MQB>UC+B7_]'72G;'OV*%RIYW^YV=V&&]"BDR9&>`;Z"\QRINX3"]%"#97`Z1 +M15E'H8ZT_GIKIJM]R.UE-?[?[\[[,#H_V>L_R]+S.7X@^58\^\T/UK8Q?+=9 +MLV%NF@HK.T@!WU/_+VKE="]4P$3S2!@@-`C0;9U,R,9N=S +M;#@.%DZ1#&"G.E:5<<*$$N9/2&*J2>SZZJD^#$)PY&\R.EEUBPQ=G->]BX6M +M,*QDU#-8S>5UTRS"&V$ZPL'<5D0#82`&`=53V>'F-X<<[/S@?*?Z;O1IXVN[ +MM>Z_HQ,?E6'%Y2FCA4T9Z3%%!11156*H>O^$<@Y9Q>:^=U-1YG7^:U[[=LVI +MU?P&S.41!5@JS^<`].R"AC`HC!BL4X[))V"3#%@LUSB8BBQP4*B*@L%$8LD4 +M!S9613%L6.;@3""Y0K(N;8.<8PR,PE4!5(.;"L68S3`QM,8+%4RE3*5BAFYQ +H*X959%6825"`L<4*C?%@!@,/+]2B?("\;Q[.S?_%W)%.%"0$D1#A@``` +` +end --- gcc-4.3-4.3.4.orig/debian/patches/sh4-scheduling.dpatch +++ gcc-4.3-4.3.4/debian/patches/sh4-scheduling.dpatch @@ -0,0 +1,50 @@ +#! /bin/sh -e + +# DP: [SH] Not run scheduling before reload as default, taken from the trunk. +# DP: http://gcc.gnu.org/ml/gcc-patches/2009-05/msg00681.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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- a/gcc/config/sh/sh.h 2009-11-24 09:43:08.000000000 +0900 ++++ b/gcc/config/sh/sh.h 2009-11-24 09:44:50.000000000 +0900 +@@ -712,8 +712,9 @@ + /* Never run scheduling before reload, since that can \ + break global alloc, and generates slower code anyway due \ + to the pressure on R0. */ \ +- /* Enable sched1 for SH4; ready queue will be reordered by \ +- the target hooks when pressure is high. We can not do this for \ ++ /* Enable sched1 for SH4 if the user explicitly requests. \ ++ When sched1 is enabled, the ready queue will be reordered by \ ++ the target hooks if pressure is high. We can not do this for \ + PIC, SH3 and lower as they give spill failures for R0. */ \ + if (!TARGET_HARD_SH4 || flag_pic) \ + flag_schedule_insns = 0; \ +@@ -728,6 +729,9 @@ + warning (0, "ignoring -fschedule-insns because of exception handling bug"); \ + flag_schedule_insns = 0; \ + } \ ++ else if (flag_schedule_insns == 2){ \ ++ flag_schedule_insns = 0; \ ++ } \ + } \ + \ + if (align_loops == 0) \ --- gcc-4.3-4.3.4.orig/debian/patches/gcc-textdomain.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-textdomain.dpatch @@ -0,0 +1,103 @@ +#! /bin/sh -e + +# DP: Set gettext's domain and textdomain to the versioned package name. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/Makefile.in.orig 2005-09-04 23:32:54.003440040 +0000 ++++ gcc/Makefile.in 2005-09-04 23:40:10.954013456 +0000 +@@ -4565,8 +4565,8 @@ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + echo $(mkinstalldirs) $(DESTDIR)$$dir; \ + $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \ +- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \ +- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \ ++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-4.3.mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-4.3.mo; \ + done + + # Rule for regenerating the message template (gcc.pot). +--- gcc/intl.c.orig 2005-09-04 23:32:54.006439584 +0000 ++++ gcc/intl.c 2005-09-04 23:36:37.933397512 +0000 +@@ -51,8 +51,8 @@ + setlocale (LC_ALL, ""); + #endif + +- (void) bindtextdomain ("gcc", LOCALEDIR); +- (void) textdomain ("gcc"); ++ (void) bindtextdomain ("gcc-4.3", LOCALEDIR); ++ (void) textdomain ("gcc-4.3"); + + /* Opening quotation mark. */ + open_quote = _("`"); +--- libcpp/Makefile.in.orig 2005-09-04 23:32:54.009439128 +0000 ++++ libcpp/Makefile.in 2005-09-04 23:33:24.607787472 +0000 +@@ -47,6 +47,7 @@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ + PACKAGE = @PACKAGE@ ++PACKAGE_SUFFIX = -4.3 + RANLIB = @RANLIB@ + SHELL = @SHELL@ + USED_CATALOGS = @USED_CATALOGS@ +@@ -66,6 +67,7 @@ + + INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \ + -I$(srcdir)/include ++CPPFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\" + + ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) + +@@ -156,8 +158,8 @@ + else continue; \ + fi; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ +- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ +- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ ++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \ + done + + mostlyclean: +--- libcpp/system.h.orig 2005-09-04 23:32:54.006439584 +0000 ++++ libcpp/system.h 2005-09-04 23:33:24.606787624 +0000 +@@ -260,7 +260,7 @@ + #endif + + #ifndef _ +-# define _(msgid) dgettext (PACKAGE, msgid) ++# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid) + #endif + + #ifndef N_ +--- libcpp/init.c.orig 2005-09-04 23:32:54.008439280 +0000 ++++ libcpp/init.c 2005-09-04 23:33:24.607787472 +0000 +@@ -122,7 +122,7 @@ + init_trigraph_map (); + + #ifdef ENABLE_NLS +- (void) bindtextdomain (PACKAGE, LOCALEDIR); ++ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR); + #endif + } + } --- gcc-4.3-4.3.4.orig/debian/patches/ada-driver-check.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-driver-check.dpatch @@ -0,0 +1,48 @@ +#! /bin/sh -e + +# DP: Simplify Ada driver check (we always build using the required +# DP: Ada version. Needed for warnings on alpha. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- config/acx.m4~ 2007-09-02 19:24:08.865326043 +0200 ++++ config/acx.m4 2007-09-02 19:28:53.719623005 +0200 +@@ -380,7 +380,7 @@ + # Other compilers, like HP Tru64 UNIX cc, exit successfully when + # given a .adb file, but produce no object file. So we must check + # if an object file was really produced to guard against this. +-errors=`(${CC} -c conftest.adb) 2>&1 || echo failure` ++errors=`(${CC} -c conftest.adb) 2>/dev/null || echo failure` + if test x"$errors" = x && test -f conftest.$ac_objext; then + acx_cv_cc_gcc_supports_ada=yes + fi +--- configure~ 2007-09-02 16:50:31.206279000 +0200 ++++ configure 2007-09-02 19:28:58.259691491 +0200 +@@ -4261,7 +4261,7 @@ + # Other compilers, like HP Tru64 UNIX cc, exit successfully when + # given a .adb file, but produce no object file. So we must check + # if an object file was really produced to guard against this. +-errors=`(${CC} -c conftest.adb) 2>&1 || echo failure` ++errors=`(${CC} -c conftest.adb) 2>/dev/null || echo failure` + if test x"$errors" = x && test -f conftest.$ac_objext; then + acx_cv_cc_gcc_supports_ada=yes + fi --- gcc-4.3-4.3.4.orig/debian/patches/pr28305.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr28305.dpatch @@ -0,0 +1,110 @@ +#! /bin/sh -e + +# DP: PR ada/28305: GNAT bug when inlining instance of a generic subprogram + +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 && autoconf2.59 + ;; + -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 + +gcc/ada/ + +From: sam + +PR ada/28305 + * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore + environment if generic instance is a top-level one. + + gcc/testsuite/ + PR ada/28305 + * gnat.dg/specs/fe_inlining.ads, gnat.dg/specs/fe_inlining_helper.ads, + gnat.dg/specs/fe_inlining_helper.adb: New test. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134142 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_ch6.adb | 10 ++++++++-- + gcc/testsuite/gnat.dg/specs/fe_inlining.ads | 4 ++++ + gcc/testsuite/gnat.dg/specs/fe_inlining_helper.adb | 4 ++++ + gcc/testsuite/gnat.dg/specs/fe_inlining_helper.ads | 3 +++ + 4 files changed, 19 insertions(+), 2 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/fe_inlining.ads + create mode 100644 gcc/testsuite/gnat.dg/specs/fe_inlining_helper.adb + create mode 100644 gcc/testsuite/gnat.dg/specs/fe_inlining_helper.ads + + +diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb +index 9aaa37f..a8707d8 100644 +--- a/gcc/ada/sem_ch6.adb ++++ b/gcc/ada/sem_ch6.adb +@@ -2829,7 +2829,11 @@ package body Sem_Ch6 is + -- Within an instance, the body to inline must be treated as a nested + -- generic, so that the proper global references are preserved. + +- if In_Instance then ++ -- Note that we do not do this at the library level, because it is not ++ -- needed, and furthermore this causes trouble if front end inlining ++ -- is activated (-gnatN). ++ ++ if In_Instance and then Scope (Current_Scope) /= Standard_Standard then + Save_Env (Scope (Current_Scope), Scope (Current_Scope)); + Original_Body := Copy_Generic_Node (N, Empty, True); + else +@@ -2877,7 +2881,9 @@ package body Sem_Ch6 is + + Expander_Mode_Restore; + +- if In_Instance then ++ -- Restore environment if previously saved ++ ++ if In_Instance and then Scope (Current_Scope) /= Standard_Standard then + Restore_Env; + end if; + +diff --git a/gcc/testsuite/gnat.dg/specs/fe_inlining.ads b/gcc/testsuite/gnat.dg/specs/fe_inlining.ads +new file mode 100644 +index 0000000..ef5f469 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/fe_inlining.ads +@@ -0,0 +1,4 @@ ++-- { dg-do compile } ++-- { dg-options "-O -gnatN" } ++with FE_Inlining_Helper; ++procedure FE_Inlining is new FE_Inlining_Helper; +diff --git a/gcc/testsuite/gnat.dg/specs/fe_inlining_helper.adb b/gcc/testsuite/gnat.dg/specs/fe_inlining_helper.adb +new file mode 100644 +index 0000000..c149ea3 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/fe_inlining_helper.adb +@@ -0,0 +1,4 @@ ++procedure FE_Inlining_Helper is ++begin ++ null; ++end FE_Inlining_Helper; +diff --git a/gcc/testsuite/gnat.dg/specs/fe_inlining_helper.ads b/gcc/testsuite/gnat.dg/specs/fe_inlining_helper.ads +new file mode 100644 +index 0000000..733268c +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/fe_inlining_helper.ads +@@ -0,0 +1,3 @@ ++-- { dg-excess-errors "no code generated" } ++generic ++procedure FE_Inlining_Helper; --- gcc-4.3-4.3.4.orig/debian/patches/gdc-libphobos-std-process.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-libphobos-std-process.dpatch @@ -0,0 +1,72 @@ +#! /bin/sh -e + +# gdc-4.3-execvpe.dpatch by Iain Buclaw +# DP: Allow GDC to build if GNU C has execvpe() implemented. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc.orig/d/phobos/std/process.d 2010-02-05 20:55:08.000000000 +0000 ++++ gcc/d/phobos/std/process.d 2010-02-15 10:59:30.000000000 +0000 +@@ -237,7 +237,7 @@ + return iRet; + } + } +-else version(Windows) ++else // Recent versions of GNU C have execvpe() implemented. + { + auto argv_ = cast(char**)alloca((char*).sizeof * (1 + argv.length)); + auto envp_ = cast(char**)alloca((char*).sizeof * (1 + envp.length)); +@@ -247,12 +247,6 @@ + + return std.c.process.execvpe(toStringz(pathname), argv_, envp_); + } +-else +-{ +- // Evidently if we don't need it we don't _need_ it. +- assert(false); +- // static assert(0); +-} // version + } + + /* ////////////////////////////////////////////////////////////////////////// */ +--- gcc.orig/d/phobos2/std/process.d 2010-02-05 20:55:08.000000000 +0000 ++++ gcc/d/phobos2/std/process.d 2010-02-15 10:58:37.000000000 +0000 +@@ -273,7 +273,7 @@ + return iRet; + } + } +-else version(Windows) ++else // Recent versions of GNU C have execvpe() implemented. + { + auto argv_ = cast(const(char)**)alloca((char*).sizeof * (1 + argv.length)); + auto envp_ = cast(const(char)**)alloca((char*).sizeof * (1 + envp.length)); +@@ -283,10 +283,6 @@ + + return std.c.process.execvpe(toStringz(pathname), argv_, envp_); + } +-else +-{ +- static assert(0); +-} // version + } + + version(Unix) --- gcc-4.3-4.3.4.orig/debian/patches/pr15808.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr15808.dpatch @@ -0,0 +1,77 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: PR ada/15808: Illegal program not detected, RM 3.9.3(10) + +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 && autoconf2.59 + ;; + -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 + +# append the patch here and adjust the -p? flag in the patch calls. + +From: sam + + gcc/ada/ + PR ada/15808 + * sem_ch6.adb (Check_Private_Overriding): Check for generic packages + as well. + + gcc/testsuite/ + PR ada/15808 + * gnat.dg/specs/abstract_private.ads: New. + +diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb +index a8707d8..8d2982e 100644 +--- a/gcc/ada/sem_ch6.adb ++++ b/gcc/ada/sem_ch6.adb +@@ -6088,7 +6088,7 @@ package body Sem_Ch6 is + + procedure Check_Private_Overriding (T : Entity_Id) is + begin +- if Ekind (Current_Scope) = E_Package ++ if Is_Package_Or_Generic_Package (Current_Scope) + and then In_Private_Part (Current_Scope) + and then Visible_Part_Type (T) + and then not In_Instance +diff --git a/gcc/testsuite/gnat.dg/specs/abstract_private.ads b/gcc/testsuite/gnat.dg/specs/abstract_private.ads +new file mode 100644 +index 0000000..7420a98 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/abstract_private.ads +@@ -0,0 +1,17 @@ ++generic ++package Abstract_Private is ++ ++ type T1 is abstract tagged private; ++ procedure P1 (X : T1) is abstract; ++ ++ type T2 is abstract tagged private; ++ ++private ++ ++ type T1 is abstract tagged null record; ++ procedure P2 (X : T1) is abstract; -- { dg-error "must be visible" } ++ ++ type T2 is abstract new T1 with null record; ++ procedure P1 (X : T2) is abstract; ++ ++end Abstract_Private; --- gcc-4.3-4.3.4.orig/debian/patches/ada-acats.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-acats.dpatch @@ -0,0 +1,213 @@ +#! /bin/sh -e + +# DP: - When running the ACATS, look for the gnat tools in their new +# DP: directory (build/gnattools), and for the shared libraries in +# DP: build/gcc/ada/rts-shared-zcx, build/libgnatvsn and build/libgnatprj. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/testsuite/ada/acats/run_acats +=================================================================== +--- gcc/testsuite/ada/acats/run_acats.orig ++++ gcc/testsuite/ada/acats/run_acats +@@ -5,51 +5,28 @@ + exit 1 + fi + +-# Set up environment to use the Ada compiler from the object tree +- +-host_gnatchop=`type gnatchop | awk '{print $3}'` +-host_gnatmake=`type gnatmake | awk '{print $3}'` +-ROOT=`${PWDCMD-pwd}` +-BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}` ++echo '#!/bin/sh' > host_gnatchop ++echo exec /usr/bin/gnatchop '$*' >> host_gnatchop + +-PATH=$BASE:$ROOT:$PATH +-ADA_INCLUDE_PATH=$BASE/ada/rts +-LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH +-ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH ++chmod +x host_gnatchop + +-if [ ! -d $ADA_INCLUDE_PATH ]; then +- echo gnatlib missing, exiting. +- exit 1 +-fi ++echo '#!/bin/sh' > host_gnatmake ++echo echo '$PATH' '$*' >> host_gnatmake ++echo exec /usr/bin/gnatmake '$*' >> host_gnatmake + +-if [ ! -f $BASE/gnatchop ]; then +- echo gnattools missing, exiting. +- exit 1 +-fi ++chmod +x host_gnatmake + +-if [ ! -f $BASE/gnatmake ]; then +- echo gnattools missing, exiting. +- exit 1 +-fi ++# Set up environment to use the Ada compiler from the object tree + ++ROOT=`${PWDCMD-pwd}` ++BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}` ++PATH=$BASE:$ROOT:$PATH ++GNATTOOLS=`cd $BASE/../gnattools; ${PWDCMD-pwd}` ++LIBGNATVSN=`cd $BASE/../libgnatvsn; ${PWDCMD-pwd}` ++LIBGNATPRJ=`cd $BASE/../libgnatprj; ${PWDCMD-pwd}` + GCC_DRIVER="$BASE/xgcc" + GCC="$BASE/xgcc -B$BASE/" + export PATH ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_DRIVER GCC LD_LIBRARY_PATH +- +-echo '#!/bin/sh' > host_gnatchop +-echo PATH=`dirname $host_gnatchop`:'$PATH' >> host_gnatchop +-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatchop +-echo export PATH >> host_gnatchop +-echo exec gnatchop '"$@"' >> host_gnatchop +- +-chmod +x host_gnatchop +- +-echo '#!/bin/sh' > host_gnatmake +-echo PATH=`dirname $host_gnatmake`:'$PATH' >> host_gnatmake +-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatmake +-echo export PATH >> host_gnatmake +-echo exec gnatmake '"$@"' >> host_gnatmake +- +-chmod +x host_gnatmake ++export GNATTOOLS LIBGNATVSN LIBGNATPRJ + + exec $testdir/run_all.sh ${1+"$@"} +Index: gcc/testsuite/ada/acats/run_all.sh +=================================================================== +--- gcc/testsuite/ada/acats/run_all.sh.orig ++++ gcc/testsuite/ada/acats/run_all.sh +@@ -12,6 +12,10 @@ + gccflags="-O2" + gnatflags="-gnatws" + ++RTS=`cd $GNATTOOLS/../gcc/ada/rts-shared-zcx; ${PWDCMD-pwd}` ++LD_LIBRARY_PATH=$RTS:$LIBGNATVSN:$LIBGNATPRJ ++export LD_LIBRARY_PATH ++ + target_run () { + $* + } +@@ -48,15 +52,23 @@ + fi + + target_gnatchop () { +- gnatchop --GCC="$GCC_DRIVER" $* ++ display $GNATTOOLS/gnatchop --GCC="$GCC_DRIVER" $* ++ $GNATTOOLS/gnatchop --GCC="$GCC_DRIVER" $* + } + + target_gnatmake () { +- echo gnatmake --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\" +- gnatmake --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" ++ display $GNATTOOLS/gnatmake -I- -I$RTS -I. \ ++ --GCC=\"$GCC\" --GNATBIND="$GNATTOOLS/gnatbind" \ ++ --GNATLINK="$GNATTOOLS/gnatlink" $gnatflags $gccflags $* \ ++ -bargs -static -largs $EXTERNAL_OBJECTS --GCC=\"$GCC -I- -I$RTS -I.\" ++ $GNATTOOLS/gnatmake -I- -I$RTS -I. \ ++ --GCC="$GCC" --GNATBIND="$GNATTOOLS/gnatbind" \ ++ --GNATLINK="$GNATTOOLS/gnatlink" $gnatflags $gccflags $* \ ++ -bargs -static -largs $EXTERNAL_OBJECTS --GCC="$GCC -I- -I$RTS -I." + } + + target_gcc () { ++ display $GCC $gccflags $* + $GCC $gccflags $* + } + +@@ -84,8 +96,8 @@ + display `$GCC -v 2>&1` + display host=`gcc -dumpmachine` + display target=$target +-display `type gnatmake` +-gnatls -v >> $dir/acats.log ++display `type $GNATTOOLS/gnatmake` ++$GNATTOOLS/gnatls -I- -I$RTS -v >> $dir/acats.log + display "" + + display " === acats support ===" +Index: gcc/testsuite/lib/gnat.exp +=================================================================== +--- gcc/testsuite/lib/gnat.exp.orig ++++ gcc/testsuite/lib/gnat.exp +@@ -87,13 +87,7 @@ + + if { $gnat_initialized == 1 } { return } + +- if ![info exists GNAT_UNDER_TEST] then { +- if [info exists TOOL_EXECUTABLE] { +- set GNAT_UNDER_TEST $TOOL_EXECUTABLE +- } else { +- set GNAT_UNDER_TEST [find_gnatmake] +- } +- } ++ set GNAT_UNDER_TEST "$rootme/../gnattools/gnatmake -I$rootme/ada/rts-shared-zcx --GCC=$rootme/xgcc --GNATBIND=$rootme/../gnattools/gnatbind --GNATLINK=$rootme/../gnattools/gnatlink -cargs -B$rootme -largs --GCC=$rootme/xgcc -B$rootme -margs" + + if ![info exists tmpdir] then { + set tmpdir /tmp +@@ -127,8 +121,8 @@ + global ld_library_path + global gnat_libgcc_s_path + +- setenv ADA_INCLUDE_PATH "${rootme}/ada/rts" +- set ld_library_path ".:${gnat_libgcc_s_path}" ++ setenv ADA_INCLUDE_PATH "${rootme}/ada/rts-shared-zcx" ++ set ld_library_path ".:${gnat_libgcc_s_path}:${rootme}/ada/rts-shared-zcx:${rootme}/libgnatvsn:${rootme}/libgnatprj" + lappend options "compiler=$GNAT_UNDER_TEST -q -f" + lappend options "incdir=${rootme}/ada/rts" + +@@ -230,31 +224,6 @@ + return $text + } + +-# If this is an older version of DejaGnu (without find_gnatmake), provide one. +-# This can be deleted after next DejaGnu release. +- +-if { [info procs find_gnatmake] == "" } { +- proc find_gnatmake {} { +- global tool_root_dir +- +- if ![is_remote host] { +- set file [lookfor_file $tool_root_dir gnatmake] +- if { $file == "" } { +- set file [lookfor_file $tool_root_dir gcc/gnatmake] +- } +- if { $file != "" } { +- set root [file dirname $file] +- set CC "$file -I$root/ada/rts --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs --GCC=$root/xgcc -B$root -margs"; +- } else { +- set CC [transform gnatmake] +- } +- } else { +- set CC [transform gnatmake] +- } +- return $CC +- } +-} +- + # If this is an older version of DejaGnu (without runtest_file_p), + # provide one and assume the old syntax: foo1.exp bar1.c foo2.exp bar2.c. + # This can be deleted after next DejaGnu release. --- gcc-4.3-4.3.4.orig/debian/patches/pr30961.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr30961.dpatch @@ -0,0 +1,179 @@ +#! /bin/sh -e + +# DP: + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +From: "H.J. Lu" +Sender: gcc-patches-owner@gcc.gnu.org +To: gcc-patches@gcc.gnu.org +Subject: PATCH: PR target/30961: [4.1/4.2/4.3 regression] redundant reg/mem stores/moves +Date: Mon, 27 Aug 2007 11:34:12 -0700 + +We start with + +(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG) + +(insn:HI 6 3 10 2 c.c:3 (set (reg:DF 58 [ ]) + (subreg:DF (reg/v:DI 59 [ in ]) 0)) 102 {*movdf_integer_rex64} (expr_list:REG_DEAD (reg/v:DI 59 [ in ]) + (nil))) + +(insn:HI 10 6 16 2 c.c:7 (set (reg/i:DF 21 xmm0 [ ]) + (reg:DF 58 [ ])) 102 {*movdf_integer_rex64} (expr_list:REG_DEAD (reg:DF 58 [ ]) + (nil))) + +(insn:HI 16 10 0 2 c.c:7 (use (reg/i:DF 21 xmm0 [ ])) -1 (nil)) + +we are trying to allocate registers for insn 6 and we allocate +xmm0 for the return value. Reload doesn't check if xmm0 can be used for +DF 59, it allocates xmm1 for DF 59 and generates: + +Reloads for insn # 6 +Reload 0: reload_in (DF) = (reg:DF 5 di) + SSE_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine + reload_in_reg: (subreg:DF (reg/v:DI 5 di [orig:59 in ] [59]) 0) + reload_reg_rtx: (reg:DF 22 xmm1) +... + +(note:HI 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK) + +(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG) + +(insn 22 3 23 2 c.c:3 (set (mem/c:DF (plus:DI (reg/f:DI 7 sp) + (const_int -8 [0xfffffffffffffff8])) [0 S8 A8]) + (reg:DF 5 di)) 102 {*movdf_integer_rex64} (nil)) + +(insn 23 22 6 2 c.c:3 (set (reg:DF 22 xmm1) + (mem/c:DF (plus:DI (reg/f:DI 7 sp) + (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])) 102 {*movdf_integer_rex64} (nil)) + +(insn:HI 6 23 16 2 c.c:3 (set (reg:DF 21 xmm0 [orig:58 ] [58]) + (reg:DF 22 xmm1)) 102 {*movdf_integer_rex64} (nil)) + +(insn 16 6 21 2 c.c:7 (use (reg/i:DF 21 xmm0 [ ])) -1 (nil)) + +This patch tries to use the destination register when reloading for input. It +generates + +Reloads for insn # 6 +Reload 0: reload_in (DF) = (reg:DF 5 di) + SSE_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine + reload_in_reg: (subreg:DF (reg/v:DI 5 di [orig:59 in ] [59]) 0) + reload_reg_rtx: (reg:DF 21 xmm0) +... +(note:HI 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK) + +(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG) + +(insn 22 3 23 2 c.c:3 (set (mem/c:DF (plus:DI (reg/f:DI 7 sp) + (const_int -8 [0xfffffffffffffff8])) [0 S8 A8]) + (reg:DF 5 di)) 102 {*movdf_integer_rex64} (nil)) + +(insn 23 22 6 2 c.c:3 (set (reg:DF 21 xmm0) + (mem/c:DF (plus:DI (reg/f:DI 7 sp) + (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])) 102 {*movdf_integer_rex64} (nil)) + +(insn:HI 6 23 10 2 c.c:3 (set (reg:DF 22 xmm1 [orig:58 ] [58]) + (reg:DF 21 xmm0)) 102 {*movdf_integer_rex64} (nil)) + +(insn:HI 10 6 16 2 c.c:7 (set (reg/i:DF 21 xmm0 [ ]) + (reg:DF 22 xmm1 [orig:58 ] [58])) 102 {*movdf_integer_rex64} (nil)) + +(insn 16 10 21 2 c.c:7 (use (reg/i:DF 21 xmm0 [ ])) -1 (nil)) + + +H.J. +---- +gcc/ + +2007-08-27 H.J. Lu + + PR target/30961 + * reload1.c (find_reg): Favor the hard register in destination + if it is usable and a memory location is needed for reload + input. + +gcc/testsuite/ + +2007-08-27 H.J. Lu + + PR target/30961 + * gcc.target/i386/pr30961-1.c: New. + +--- gcc/reload1.c.second 2007-08-27 09:35:08.000000000 -0700 ++++ gcc/reload1.c 2007-08-27 09:36:33.000000000 -0700 +@@ -1781,6 +1781,20 @@ find_reg (struct insn_chain *chain, int + HARD_REG_SET not_usable; + HARD_REG_SET used_by_other_reload; + reg_set_iterator rsi; ++#ifdef SECONDARY_MEMORY_NEEDED ++ rtx body = PATTERN (chain->insn); ++ unsigned int dest_reg = FIRST_PSEUDO_REGISTER; ++ ++ if (GET_CODE (body) == SET) ++ { ++ rtx dest = SET_DEST (body); ++ ++ if ((REG_P (dest) ++ || (GET_CODE (dest) == SUBREG ++ && REG_P (SUBREG_REG (dest))))) ++ dest_reg = reg_or_subregno (dest); ++ } ++#endif + + COPY_HARD_REG_SET (not_usable, bad_spill_regs); + IOR_HARD_REG_SET (not_usable, bad_spill_regs_global); +@@ -1821,6 +1835,18 @@ find_reg (struct insn_chain *chain, int + this_cost--; + if (rl->out && REG_P (rl->out) && REGNO (rl->out) == regno) + this_cost--; ++#ifdef SECONDARY_MEMORY_NEEDED ++ /* If a memory location is needed for rl->in and dest_reg ++ is usable, we will favor it. */ ++ else if (dest_reg == regno ++ && rl->in ++ && REG_P (rl->in) ++ && REGNO (rl->in) < FIRST_PSEUDO_REGISTER ++ && SECONDARY_MEMORY_NEEDED (REGNO_REG_CLASS (REGNO (rl->in)), ++ rl->class, ++ rl->mode)) ++ this_cost = 0; ++#endif + if (this_cost < best_cost + /* Among registers with equal cost, prefer caller-saved ones, or + use REG_ALLOC_ORDER if it is defined. */ +--- gcc/testsuite/gcc.target/i386/pr30961-1.c.second 2007-08-27 11:01:59.000000000 -0700 ++++ gcc/testsuite/gcc.target/i386/pr30961-1.c 2007-08-27 11:02:51.000000000 -0700 +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-O2" } */ ++ ++double ++convert (long long in) ++{ ++ double f; ++ __builtin_memcpy( &f, &in, sizeof( in ) ); ++ return f; ++} ++ ++/* { dg-final { scan-assembler-not "movapd" } } */ --- gcc-4.3-4.3.4.orig/debian/patches/armel-hilo-union-class.dpatch +++ gcc-4.3-4.3.4/debian/patches/armel-hilo-union-class.dpatch @@ -0,0 +1,125 @@ +#! /bin/sh -e + +# DP: ARM EABI (armel) gfortran.dg/vector_subscript_1.f90 for -Os -mthumb reload ICE + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +This patch fixes a reload ICE in the Fortran vector_subscript_1.f90 +test case (as part of the work Andrew Jenner and I have been doing at +CodeSourcery to fix ObjC and Fortran for Debian). It's been submitted +for comments to gcc-patches@ also: + + http://gcc.gnu.org/ml/gcc-patches/2008-04/msg02033.html + +So, an alternative patch may appear in due course, although this one +works fine for the test case in question. + +Cheers, + +Julian + +ChangeLog + + gcc/ + * config/arm/arm.h (reg_class): Add HILO_REGS class as union of + HI_REGS and LO_REGS. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (PREFERRED_RELOAD_CLASS): Prefer LO_REGS for HILO_REGS reloads. + * config/arm/arm.md (*thumb1_movsi_insn): Only use + for !optimize_size. + (*thumb1_movsi_insn_osize): New. Use for optimize_size Thumb-1 + +Index: gcc/config/arm/arm.h +=================================================================== +--- gcc/config/arm/arm.h (revision 206057) ++++ gcc/config/arm/arm.h (working copy) +@@ -1107,6 +1107,7 @@ enum reg_class + STACK_REG, + BASE_REGS, + HI_REGS, ++ HILO_REGS, + CC_REG, + VFPCC_REG, + GENERAL_REGS, +@@ -1132,6 +1133,7 @@ enum reg_class + "STACK_REG", \ + "BASE_REGS", \ + "HI_REGS", \ ++ "HILO_REGS", \ + "CC_REG", \ + "VFPCC_REG", \ + "GENERAL_REGS", \ +@@ -1156,6 +1158,7 @@ enum reg_class + { 0x00002000, 0x00000000, 0x00000000, 0x00000000 }, /* STACK_REG */ \ + { 0x000020FF, 0x00000000, 0x00000000, 0x00000000 }, /* BASE_REGS */ \ + { 0x0000FF00, 0x00000000, 0x00000000, 0x00000000 }, /* HI_REGS */ \ ++ { 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000 }, /* HILO_REGS */ \ + { 0x01000000, 0x00000000, 0x00000000, 0x00000000 }, /* CC_REG */ \ + { 0x00000000, 0x00000000, 0x00000000, 0x80000000 }, /* VFPCC_REG */ \ + { 0x0200FFFF, 0x00000000, 0x00000000, 0x00000000 }, /* GENERAL_REGS */ \ +@@ -1217,7 +1220,8 @@ enum reg_class + #define PREFERRED_RELOAD_CLASS(X, CLASS) \ + (TARGET_ARM ? (CLASS) : \ + ((CLASS) == GENERAL_REGS || (CLASS) == HI_REGS \ +- || (CLASS) == NO_REGS ? LO_REGS : (CLASS))) ++ || (CLASS) == HILO_REGS || (CLASS) == NO_REGS \ ++ ? LO_REGS : (CLASS))) + + /* Must leave BASE_REGS reloads alone */ + #define THUMB_SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \ +Index: gcc/config/arm/arm.md +=================================================================== +--- gcc/config/arm/arm.md (revision 206057) ++++ gcc/config/arm/arm.md (working copy) +@@ -4823,7 +4823,30 @@ + (match_operand:SI 1 "general_operand" "l, I,J,K,>,l,mi,l,*lh"))] + "TARGET_THUMB1 + && ( register_operand (operands[0], SImode) +- || register_operand (operands[1], SImode))" ++ || register_operand (operands[1], SImode)) ++ && !optimize_size" ++ "@ ++ mov %0, %1 ++ mov %0, %1 ++ # ++ # ++ ldmia\\t%1, {%0} ++ stmia\\t%0, {%1} ++ ldr\\t%0, %1 ++ str\\t%1, %0 ++ mov\\t%0, %1" ++ [(set_attr "length" "2,2,4,4,2,2,2,2,2") ++ (set_attr "type" "*,*,*,*,load1,store1,load1,store1,*") ++ (set_attr "pool_range" "*,*,*,*,*,*,1020,*,*")] ++) ++ ++(define_insn "*thumb1_movsi_insn_osize" ++ [(set (match_operand:SI 0 "nonimmediate_operand" "=l,l,l,l,l,>,l, m,*l*h") ++ (match_operand:SI 1 "general_operand" "l, I,J,K,>,l,mi,l,*l*h"))] ++ "TARGET_THUMB1 ++ && ( register_operand (operands[0], SImode) ++ || register_operand (operands[1], SImode)) ++ && optimize_size" + "@ + mov %0, %1 + mov %0, %1 --- gcc-4.3-4.3.4.orig/debian/patches/pr37661.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr37661.dpatch @@ -0,0 +1,54 @@ +#! /bin/sh -e + +# DP: PR target/37661, fix SPARC64 int-to-TFmode conversions. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-08-13 Joseph Myers + + * config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or + zero extend SImode values being converted to TFmode before passing + to libcalls. + +Index: gcc/config/sparc/sparc.c +=================================================================== +--- gcc/config/sparc/sparc.c (revision 139036) ++++ gcc/config/sparc/sparc.c (working copy) +@@ -2371,6 +2371,8 @@ + { + case SImode: + func = "_Qp_itoq"; ++ if (TARGET_ARCH64) ++ operands[1] = gen_rtx_SIGN_EXTEND (DImode, operands[1]); + break; + case DImode: + func = "_Qp_xtoq"; +@@ -2385,6 +2387,8 @@ + { + case SImode: + func = "_Qp_uitoq"; ++ if (TARGET_ARCH64) ++ operands[1] = gen_rtx_ZERO_EXTEND (DImode, operands[1]); + break; + case DImode: + func = "_Qp_uxtoq"; + --- gcc-4.3-4.3.4.orig/debian/patches/boehm-gc-getnprocs.dpatch +++ gcc-4.3-4.3.4/debian/patches/boehm-gc-getnprocs.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# DP: boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: boehm-gc/pthread_support.c +=================================================================== +--- boehm-gc/pthread_support.c (revision 127207) ++++ boehm-gc/pthread_support.c (working copy) +@@ -724,7 +724,8 @@ + f = open("/proc/stat", O_RDONLY); + if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) { + WARN("Couldn't read /proc/stat\n", 0); +- return -1; ++ /* Fallback to sysconf after the warning */ ++ return sysconf(_SC_NPROCESSORS_ONLN); + } + for (i = 0; i < len - 100; ++i) { + if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c' --- gcc-4.3-4.3.4.orig/debian/patches/gcc-driver-extra-langs.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-driver-extra-langs.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# DP: Add options and specs for languages that are not built from a source +# DP: (but built from separate sources). + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/Makefile.in~ 2008-10-23 16:26:42.000000000 +0200 ++++ gcc/Makefile.in 2008-10-23 16:29:40.000000000 +0200 +@@ -447,6 +447,9 @@ + extra_modes_file=@extra_modes_file@ + extra_opt_files=@extra_opt_files@ + host_hook_obj=@out_host_hook_obj@ ++# languages built separately ++lang_opt_files=$(sort @lang_opt_files@ $(foreach lang,$(debian_extra_langs),$(srcdir)/$(lang)/lang.opt)) $(srcdir)/c.opt $(srcdir)/common.opt ++lang_specs_files=$(sort @lang_specs_files@ $(foreach lang,$(debian_extra_langs),$(srcdir)/$(lang)/lang-specs.h)) + + # ------------------------ + # Installation directories --- gcc-4.3-4.3.4.orig/debian/patches/gdc-driver-nophobos.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-driver-nophobos.dpatch @@ -0,0 +1,78 @@ +#! /bin/sh -e + +# gdc-nolibphobos-driver.dpatch by Arthur Loiret +# DP: Modify gdc driver to have no libphobos by default. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +diff -ruN gcc/d/d-lang.cc gcc/d/d-lang.cc +--- gcc/d/d-lang.cc 2007-09-27 17:33:09.000000000 +0200 ++++ gcc/d/d-lang.cc 2007-09-27 17:39:49.000000000 +0200 +@@ -159,7 +159,7 @@ + global.params.fileImppath = new Array(); + + // GCC options +- flag_exceptions = 1; ++ flag_exceptions = 0; + + // extra D-specific options + gen.splitDynArrayVarArgs = true; +diff -ruN gcc/d/dmain.d gcc/d/dmain.d +--- gcc/d/dmain.d 1970-01-01 01:00:00.000000000 +0100 ++++ gcc/d/dmain.d 2007-09-27 20:57:55.000000000 +0200 +@@ -0,0 +1,21 @@ ++extern (C) size_t strlen(const char* s); ++extern (C) void* malloc(size_t s); ++ ++int main(char[][] args); // U _Dmain ++ ++extern (C) int main(int argc, char** argv) { ++ char[][] args; ++ char[] *am; ++ int i; ++ ++ am = cast(char[] *) malloc(argc * (char[]).sizeof); ++ ++ for(i = 0; i < argc; i++) { ++ am[i] = argv[i][0 .. strlen(argv[i])]; ++ } ++ ++ args = am[0 .. argc]; ++ ++ return main(args); ++} ++ +diff -ruN gcc/d/d-spec.c gcc/d/d-spec.c +--- gcc/d/d-spec.c 2007-09-27 17:34:51.000000000 +0200 ++++ gcc/d/d-spec.c 2007-09-28 09:54:34.000000000 +0200 +@@ -82,7 +82,7 @@ + + /* If nonzero, use the standard D runtime library when linking with + stanard libraries. */ +- int phobos = 1; ++ int phobos = 0; + + /* The number of arguments being added to what's in argv, other than + libraries. We use this to track the number of times we've inserted --- gcc-4.3-4.3.4.orig/debian/patches/pr38360.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr38360.dpatch @@ -0,0 +1,104 @@ +#! /bin/sh -e + +# DP: PR middle-end/38360: ICE in gimple_op, at gimple.h:1636 + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +gcc/ChangeLog +2008-12-03 Jakub Jelinek + + PR middle-end/38360 + * tree-ssa-ccp.c (ccp_fold_builtin): Bail out if the builtin doesn't + have the right number of arguments. + +gcc/tetsuite/ChangeLog +2008-12-03 Jakub Jelinek + + PR middle-end/38360 + * gcc.c-torture/compile/pr38360.c: New test. + +--- gcc/tree-ssa-ccp.c ++++ gcc/tree-ssa-ccp.c +@@ -2450,7 +2453,7 @@ + switch (DECL_FUNCTION_CODE (callee)) + { + case BUILT_IN_STRLEN: +- if (val[0]) ++ if (val[0] && nargs == 1) + { + tree new_val = fold_convert (TREE_TYPE (fn), val[0]); + +@@ -2481,6 +2484,7 @@ + break; + + case BUILT_IN_FPUTS: ++ if (nargs == 2) + result = fold_builtin_fputs (CALL_EXPR_ARG (fn, 0), + CALL_EXPR_ARG (fn, 1), + TREE_CODE (stmt) != GIMPLE_MODIFY_STMT, 0, +@@ -2488,6 +2492,7 @@ + break; + + case BUILT_IN_FPUTS_UNLOCKED: ++ if (nargs == 2) + result = fold_builtin_fputs (CALL_EXPR_ARG (fn, 0), + CALL_EXPR_ARG (fn, 1), + TREE_CODE (stmt) != GIMPLE_MODIFY_STMT, 1, +@@ -2498,7 +2503,7 @@ + case BUILT_IN_MEMPCPY_CHK: + case BUILT_IN_MEMMOVE_CHK: + case BUILT_IN_MEMSET_CHK: +- if (val[2] && is_gimple_val (val[2])) ++ if (val[2] && is_gimple_val (val[2]) && nargs == 4) + result = fold_builtin_memory_chk (callee, + CALL_EXPR_ARG (fn, 0), + CALL_EXPR_ARG (fn, 1), +@@ -2510,7 +2515,7 @@ + + case BUILT_IN_STRCPY_CHK: + case BUILT_IN_STPCPY_CHK: +- if (val[1] && is_gimple_val (val[1])) ++ if (val[1] && is_gimple_val (val[1]) && nargs == 3) + result = fold_builtin_stxcpy_chk (callee, + CALL_EXPR_ARG (fn, 0), + CALL_EXPR_ARG (fn, 1), +@@ -2520,7 +2525,7 @@ + break; + + case BUILT_IN_STRNCPY_CHK: +- if (val[2] && is_gimple_val (val[2])) ++ if (val[2] && is_gimple_val (val[2]) && nargs == 4) + result = fold_builtin_strncpy_chk (CALL_EXPR_ARG (fn, 0), + CALL_EXPR_ARG (fn, 1), + CALL_EXPR_ARG (fn, 2), +--- /dev/null ++++ gcc/testsuite/gcc.c-torture/compile/pr38360.c +@@ -0,0 +1,9 @@ ++/* PR middle-end/38360 */ ++ ++int ++main () ++{ ++ fputs (""); ++ fputs_unlocked (""); ++ return 0; ++} --- gcc-4.3-4.3.4.orig/debian/patches/gdc-libphobos-std-format.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-libphobos-std-format.dpatch @@ -0,0 +1,63 @@ +#! /bin/sh -e + +# gdc-libphobos-std-format.dpatch by Arthur Loiret +# DP: Replace assert by FormatError on untested archs. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/d/phobos/std/format.d 2007-11-06 21:02:55.000000000 +0000 ++++ gcc/d/phobos/std/format.d 2007-11-06 21:10:56.000000000 +0000 +@@ -962,13 +962,9 @@ + // Structs are pass-by-reference in V4 ABI + s = tis.xtoString(va_arg!(void*)(argptr)); + } +- else version(X86_64) +- { +- throw new FormatError("cannot portably format a struct on this target"); +- } + else + { +- static assert(0, "unimplemented"); ++ throw new FormatError("cannot portably format a struct on this target"); + } + } + else +--- gcc/d/phobos2/std/format.d 2007-11-06 21:03:08.000000000 +0000 ++++ gcc/d/phobos2/std/format.d 2007-11-06 21:11:30.000000000 +0000 +@@ -963,13 +963,9 @@ + // Structs are pass-by-reference in V4 ABI + s = tis.xtoString(va_arg!(void*)(argptr)); + } +- else version(X86_64) +- { +- throw new FormatError("cannot portably format a struct on this target"); +- } + else + { +- static assert(0, "unimplemented"); ++ throw new FormatError("cannot portably format a struct on this target"); + } + } + else --- gcc-4.3-4.3.4.orig/debian/patches/gnalasup_to_lapack.dpatch +++ gcc-4.3-4.3.4/debian/patches/gnalasup_to_lapack.dpatch @@ -0,0 +1,66 @@ +#! /bin/sh -e + +# DP: Ada: Use liblapack and libblas instead of libgnalasup + +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 && autoconf2.59 + ;; + -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 + +From: Samuel Tardieu + +Interfaces.Fortran.Blas makes reference to a "gnalasup" library, which +is an AdaCore bundle containing LAPACK and BLAS. + +It is better to make standard libraries such as "lapack" and "blas" +the default rather than the private bundle. A vendor wanting to build +a "gnalasup" specific version may use an alternate body for +Interfaces.Fortran.Blas. + + gcc/ada/ + * i-forbla.adb: Link against -llapack and -lblas by default + instead of the private -lgnalasup. +--- + + gcc/ada/i-forbla.adb | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + + +diff --git a/gcc/ada/i-forbla.adb b/gcc/ada/i-forbla.adb +index f54497d..bda6084 100644 +--- a/gcc/ada/i-forbla.adb ++++ b/gcc/ada/i-forbla.adb +@@ -32,12 +32,13 @@ + ------------------------------------------------------------------------------ + + -- This Interfaces.Fortran.Blas package body contains the required linker +--- pragmas for automatically linking with the gnalasup linear algebra support ++-- pragmas for automatically linking with the LAPACK linear algebra support + -- library, and the systems math library. Alternative bodies can be supplied + -- if different sets of libraries are needed. + + package body Interfaces.Fortran.BLAS is + pragma Linker_Options ("-lgnala"); +- pragma Linker_Options ("-lgnalasup"); ++ pragma Linker_Options ("-llapack"); ++ pragma Linker_Options ("-lblas"); + pragma Linker_Options ("-lm"); + end Interfaces.Fortran.BLAS; --- gcc-4.3-4.3.4.orig/debian/patches/series +++ gcc-4.3-4.3.4/debian/patches/series @@ -0,0 +1,66 @@ +svn-updates.dpatch -p0 +pr30740.dpatch -p1 +gcc-textdomain.dpatch -p0 +gcc-driver-extra-langs.dpatch -p0 +gcc-hash-style-both.dpatch -p0 +libstdc++-pic.dpatch -p0 +libstdc++-doclink.dpatch -p0 +libobjc-gc-link.dpatch -p0 +libjava-stacktrace.dpatch -p0 +libjava-subdir.dpatch -p0 +libjava-jnipath.dpatch -p0 +libjava-sjlj.dpatch -p1 +libjava-rpath.dpatch -p0 +libjava-soname.dpatch -p0 +libjava-xulrunner1.9.dpatch -p0 +libjava-realloc-leak.dpatch -p0 +pr28102.dpatch -p0 +alpha-no-ev4-directive.dpatch -p0 +boehm-gc-getnprocs.dpatch -p0 +note-gnu-stack.dpatch -p0 +arm-unbreak-eabi-armv4t.dpatch -p1 +libjava-armel-ldflags.dpatch -p0 +libstdc++-symbols-hppa.dpatch -p0 +pr10768.dpatch -p1 +pr15808.dpatch -p1 +pr15915.dpatch -p1 +pr16086.dpatch -p1 +pr16087.dpatch -p1 +pr16098.dpatch -p1 +pr17985.dpatch -p1 +pr18680.dpatch -p1 +pr22255.dpatch -p1 +pr22387.dpatch -p1 +pr24170.dpatch -p0 +pr28305.dpatch -p1 +pr28322.dpatch -p0 +pr28733.dpatch -p1 +pr29015.dpatch -p1 +pr30827.dpatch -p1 +pr33688.dpatch +pr34466.dpatch -p1 +pr35050.dpatch -p1 +pr35792.dpatch -p1 +gnalasup_to_lapack.dpatch -p1 +gcc-m68k-pch.dpatch -p0 +ada-driver-check.dpatch -p0 +ada-gcc-name.dpatch -p0 +ada-default-project-path.dpatch -p0 +ada-symbolic-tracebacks.dpatch -p0 +ada-gnatvsn.dpatch -p0 +ada-mips.dpatch -p0 +ada-mipsel.dpatch -p0 +ppc64-ada.dpatch +ada-link-lib.dpatch -p0 +ada-libgnatvsn.dpatch -p0 +ada-libgnatprj.dpatch -p0 +ada-sjlj.dpatch -p1 +ada-acats.dpatch -p0 +cpu-default-i486.dpatch -p0 +gcc-ice-hack.dpatch -p0 +libjava-disable-static.dpatch -p0 +gcc-ice-apport.dpatch -p0 +multiarch-include.dpatch -p0 +libjava-nobiarch-check.dpatch -p0 +config-ml.dpatch -p0 +gcc-multilib64dir.dpatch -p0 --- gcc-4.3-4.3.4.orig/debian/patches/pr35050.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr35050.dpatch @@ -0,0 +1,89 @@ +#! /bin/sh -e + +# DP: PR ada/35050: [4.1/4.2/4.3/4.4 regression] renames entities not in symbol table + +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 && autoconf2.59 + ;; + -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 + +gcc/ada/ + +From: sam + +PR ada/35050 + * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the + renaming information. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134256 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/xref_lib.adb | 29 ++++++++++++++++------------- + 1 files changed, 16 insertions(+), 13 deletions(-) + + +diff --git a/gcc/ada/xref_lib.adb b/gcc/ada/xref_lib.adb +index 7f22dce..0c940d2 100644 +--- a/gcc/ada/xref_lib.adb ++++ b/gcc/ada/xref_lib.adb +@@ -896,6 +896,22 @@ package body Xref_Lib is + Skip_To_Matching_Closing_Bracket; + end if; + ++ -- Skip any renaming indication ++ ++ if Ali (Ptr) = '=' then ++ declare ++ P_Line, P_Column : Natural; ++ pragma Warnings (Off, P_Line); ++ pragma Warnings (Off, P_Column); ++ ++ begin ++ Ptr := Ptr + 1; ++ Parse_Number (Ali, Ptr, P_Line); ++ Ptr := Ptr + 1; ++ Parse_Number (Ali, Ptr, P_Column); ++ end; ++ end if; ++ + if Ali (Ptr) = '<' + or else Ali (Ptr) = '(' + or else Ali (Ptr) = '{' +@@ -1036,19 +1052,6 @@ package body Xref_Lib is + end loop; + Ptr := Ptr + 1; + end if; +- +- elsif Ali (Ptr) = '=' then +- declare +- P_Line, P_Column : Natural; +- pragma Warnings (Off, P_Line); +- pragma Warnings (Off, P_Column); +- +- begin +- Ptr := Ptr + 1; +- Parse_Number (Ali, Ptr, P_Line); +- Ptr := Ptr + 1; +- Parse_Number (Ali, Ptr, P_Column); +- end; + end if; + + -- To find the body, we will have to parse the file too --- gcc-4.3-4.3.4.orig/debian/patches/gdc-libphobos-build.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-libphobos-build.dpatch @@ -0,0 +1,752 @@ +#! /bin/sh -e + +# gdc-4.3-toplevel.dpatch by David Friedman +# DP: Setup gcc build system for libphobos. + +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 + + +*** gcc-4.3.1-orig/Makefile.def 2007-10-23 11:53:18.000000000 -0400 +--- gcc-4.3.1/Makefile.def 2008-07-24 09:25:58.000000000 -0400 +*************** +*** 143,148 **** +--- 143,149 ---- + target_modules = { module= rda; }; + target_modules = { module= libada; }; + target_modules = { module= libgomp; lib_path=.libs; }; ++ target_modules = { module= libphobos; }; + + // These are (some of) the make targets to be done in each subdirectory. + // Not all; these are the ones which don't have special options. +*** gcc-4.3.1-orig/Makefile.in 2007-12-13 04:30:49.000000000 -0500 +--- gcc-4.3.1/Makefile.in 2008-07-24 10:10:34.000000000 -0400 +*************** +*** 722,728 **** + maybe-configure-target-qthreads \ + maybe-configure-target-rda \ + maybe-configure-target-libada \ +! maybe-configure-target-libgomp + + # The target built for a native non-bootstrap build. + .PHONY: all +--- 722,729 ---- + maybe-configure-target-qthreads \ + maybe-configure-target-rda \ + maybe-configure-target-libada \ +! maybe-configure-target-libgomp \ +! maybe-configure-target-libphobos + + # The target built for a native non-bootstrap build. + .PHONY: all +*************** +*** 876,881 **** +--- 877,883 ---- + all-target: maybe-all-target-rda + all-target: maybe-all-target-libada + all-target: maybe-all-target-libgomp ++ all-target: maybe-all-target-libphobos + + # Do a target for all the subdirectories. A ``make do-X'' will do a + # ``make X'' in all subdirectories (because, in general, there is a +*************** +*** 987,992 **** +--- 989,995 ---- + info-target: maybe-info-target-rda + info-target: maybe-info-target-libada + info-target: maybe-info-target-libgomp ++ info-target: maybe-info-target-libphobos + + .PHONY: do-dvi + do-dvi: +*************** +*** 1093,1098 **** +--- 1096,1102 ---- + dvi-target: maybe-dvi-target-rda + dvi-target: maybe-dvi-target-libada + dvi-target: maybe-dvi-target-libgomp ++ dvi-target: maybe-dvi-target-libphobos + + .PHONY: do-pdf + do-pdf: +*************** +*** 1199,1204 **** +--- 1203,1209 ---- + pdf-target: maybe-pdf-target-rda + pdf-target: maybe-pdf-target-libada + pdf-target: maybe-pdf-target-libgomp ++ pdf-target: maybe-pdf-target-libphobos + + .PHONY: do-html + do-html: +*************** +*** 1305,1310 **** +--- 1310,1316 ---- + html-target: maybe-html-target-rda + html-target: maybe-html-target-libada + html-target: maybe-html-target-libgomp ++ html-target: maybe-html-target-libphobos + + .PHONY: do-TAGS + do-TAGS: +*************** +*** 1411,1416 **** +--- 1417,1423 ---- + TAGS-target: maybe-TAGS-target-rda + TAGS-target: maybe-TAGS-target-libada + TAGS-target: maybe-TAGS-target-libgomp ++ TAGS-target: maybe-TAGS-target-libphobos + + .PHONY: do-install-info + do-install-info: +*************** +*** 1517,1522 **** +--- 1524,1530 ---- + install-info-target: maybe-install-info-target-rda + install-info-target: maybe-install-info-target-libada + install-info-target: maybe-install-info-target-libgomp ++ install-info-target: maybe-install-info-target-libphobos + + .PHONY: do-install-pdf + do-install-pdf: +*************** +*** 1623,1628 **** +--- 1631,1637 ---- + install-pdf-target: maybe-install-pdf-target-rda + install-pdf-target: maybe-install-pdf-target-libada + install-pdf-target: maybe-install-pdf-target-libgomp ++ install-pdf-target: maybe-install-pdf-target-libphobos + + .PHONY: do-install-html + do-install-html: +*************** +*** 1729,1734 **** +--- 1738,1744 ---- + install-html-target: maybe-install-html-target-rda + install-html-target: maybe-install-html-target-libada + install-html-target: maybe-install-html-target-libgomp ++ install-html-target: maybe-install-html-target-libphobos + + .PHONY: do-installcheck + do-installcheck: +*************** +*** 1835,1840 **** +--- 1845,1851 ---- + installcheck-target: maybe-installcheck-target-rda + installcheck-target: maybe-installcheck-target-libada + installcheck-target: maybe-installcheck-target-libgomp ++ installcheck-target: maybe-installcheck-target-libphobos + + .PHONY: do-mostlyclean + do-mostlyclean: +*************** +*** 1941,1946 **** +--- 1952,1958 ---- + mostlyclean-target: maybe-mostlyclean-target-rda + mostlyclean-target: maybe-mostlyclean-target-libada + mostlyclean-target: maybe-mostlyclean-target-libgomp ++ mostlyclean-target: maybe-mostlyclean-target-libphobos + + .PHONY: do-clean + do-clean: +*************** +*** 2047,2052 **** +--- 2059,2065 ---- + clean-target: maybe-clean-target-rda + clean-target: maybe-clean-target-libada + clean-target: maybe-clean-target-libgomp ++ clean-target: maybe-clean-target-libphobos + + .PHONY: do-distclean + do-distclean: +*************** +*** 2153,2158 **** +--- 2166,2172 ---- + distclean-target: maybe-distclean-target-rda + distclean-target: maybe-distclean-target-libada + distclean-target: maybe-distclean-target-libgomp ++ distclean-target: maybe-distclean-target-libphobos + + .PHONY: do-maintainer-clean + do-maintainer-clean: +*************** +*** 2259,2264 **** +--- 2273,2279 ---- + maintainer-clean-target: maybe-maintainer-clean-target-rda + maintainer-clean-target: maybe-maintainer-clean-target-libada + maintainer-clean-target: maybe-maintainer-clean-target-libgomp ++ maintainer-clean-target: maybe-maintainer-clean-target-libphobos + + + # Here are the targets which correspond to the do-X targets. +*************** +*** 2418,2424 **** + maybe-check-target-qthreads \ + maybe-check-target-rda \ + maybe-check-target-libada \ +! maybe-check-target-libgomp + + do-check: + @: $(MAKE); $(unstage) +--- 2433,2440 ---- + maybe-check-target-qthreads \ + maybe-check-target-rda \ + maybe-check-target-libada \ +! maybe-check-target-libgomp \ +! maybe-check-target-libphobos + + do-check: + @: $(MAKE); $(unstage) +*************** +*** 2623,2629 **** + maybe-install-target-qthreads \ + maybe-install-target-rda \ + maybe-install-target-libada \ +! maybe-install-target-libgomp + + uninstall: + @echo "the uninstall target is not supported in this tree" +--- 2639,2646 ---- + maybe-install-target-qthreads \ + maybe-install-target-rda \ + maybe-install-target-libada \ +! maybe-install-target-libgomp \ +! maybe-install-target-libphobos + + uninstall: + @echo "the uninstall target is not supported in this tree" +*************** +*** 49103,49108 **** +--- 49120,49566 ---- + + + ++ ++ ++ .PHONY: configure-target-libphobos maybe-configure-target-libphobos ++ maybe-configure-target-libphobos: ++ @if gcc-bootstrap ++ configure-target-libphobos: stage_current ++ @endif gcc-bootstrap ++ @if target-libphobos ++ maybe-configure-target-libphobos: configure-target-libphobos ++ configure-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ echo "Checking multilib configuration for libphobos..."; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos ; \ ++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null ; \ ++ if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \ ++ if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \ ++ rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \ ++ else \ ++ rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \ ++ mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \ ++ fi; \ ++ else \ ++ mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \ ++ fi; \ ++ test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos ; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo Configuring in $(TARGET_SUBDIR)/libphobos; \ ++ cd "$(TARGET_SUBDIR)/libphobos" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ srcdiroption="--srcdir=$${topdir}/libphobos"; \ ++ libsrcdir="$$s/libphobos"; \ ++ rm -f no-such-file || : ; \ ++ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ ++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ ++ --target=${target_alias} $${srcdiroption} \ ++ || exit 1 ++ @endif target-libphobos ++ ++ ++ ++ ++ ++ .PHONY: all-target-libphobos maybe-all-target-libphobos ++ maybe-all-target-libphobos: ++ @if gcc-bootstrap ++ all-target-libphobos: stage_current ++ @endif gcc-bootstrap ++ @if target-libphobos ++ TARGET-target-libphobos=all ++ maybe-all-target-libphobos: all-target-libphobos ++ all-target-libphobos: configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libphobos)) ++ @endif target-libphobos ++ ++ ++ ++ ++ ++ .PHONY: check-target-libphobos maybe-check-target-libphobos ++ maybe-check-target-libphobos: ++ @if target-libphobos ++ maybe-check-target-libphobos: check-target-libphobos ++ ++ check-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) ++ ++ @endif target-libphobos ++ ++ .PHONY: install-target-libphobos maybe-install-target-libphobos ++ maybe-install-target-libphobos: ++ @if target-libphobos ++ maybe-install-target-libphobos: install-target-libphobos ++ ++ install-target-libphobos: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++ ++ @endif target-libphobos ++ ++ # Other targets (info, dvi, pdf, etc.) ++ ++ .PHONY: maybe-info-target-libphobos info-target-libphobos ++ maybe-info-target-libphobos: ++ @if target-libphobos ++ maybe-info-target-libphobos: info-target-libphobos ++ ++ info-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing info in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ info) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-dvi-target-libphobos dvi-target-libphobos ++ maybe-dvi-target-libphobos: ++ @if target-libphobos ++ maybe-dvi-target-libphobos: dvi-target-libphobos ++ ++ dvi-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing dvi in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ dvi) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-pdf-target-libphobos pdf-target-libphobos ++ maybe-pdf-target-libphobos: ++ @if target-libphobos ++ maybe-pdf-target-libphobos: pdf-target-libphobos ++ ++ pdf-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing pdf in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-html-target-libphobos html-target-libphobos ++ maybe-html-target-libphobos: ++ @if target-libphobos ++ maybe-html-target-libphobos: html-target-libphobos ++ ++ html-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing html in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ html) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-TAGS-target-libphobos TAGS-target-libphobos ++ maybe-TAGS-target-libphobos: ++ @if target-libphobos ++ maybe-TAGS-target-libphobos: TAGS-target-libphobos ++ ++ TAGS-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing TAGS in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ TAGS) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-install-info-target-libphobos install-info-target-libphobos ++ maybe-install-info-target-libphobos: ++ @if target-libphobos ++ maybe-install-info-target-libphobos: install-info-target-libphobos ++ ++ install-info-target-libphobos: \ ++ configure-target-libphobos \ ++ info-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-info in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-info) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-install-pdf-target-libphobos install-pdf-target-libphobos ++ maybe-install-pdf-target-libphobos: ++ @if target-libphobos ++ maybe-install-pdf-target-libphobos: install-pdf-target-libphobos ++ ++ install-pdf-target-libphobos: \ ++ configure-target-libphobos \ ++ pdf-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-pdf) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-install-html-target-libphobos install-html-target-libphobos ++ maybe-install-html-target-libphobos: ++ @if target-libphobos ++ maybe-install-html-target-libphobos: install-html-target-libphobos ++ ++ install-html-target-libphobos: \ ++ configure-target-libphobos \ ++ html-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-html in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-html) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-installcheck-target-libphobos installcheck-target-libphobos ++ maybe-installcheck-target-libphobos: ++ @if target-libphobos ++ maybe-installcheck-target-libphobos: installcheck-target-libphobos ++ ++ installcheck-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing installcheck in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ installcheck) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-mostlyclean-target-libphobos mostlyclean-target-libphobos ++ maybe-mostlyclean-target-libphobos: ++ @if target-libphobos ++ maybe-mostlyclean-target-libphobos: mostlyclean-target-libphobos ++ ++ mostlyclean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-clean-target-libphobos clean-target-libphobos ++ maybe-clean-target-libphobos: ++ @if target-libphobos ++ maybe-clean-target-libphobos: clean-target-libphobos ++ ++ clean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-distclean-target-libphobos distclean-target-libphobos ++ maybe-distclean-target-libphobos: ++ @if target-libphobos ++ maybe-distclean-target-libphobos: distclean-target-libphobos ++ ++ distclean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ .PHONY: maybe-maintainer-clean-target-libphobos maintainer-clean-target-libphobos ++ maybe-maintainer-clean-target-libphobos: ++ @if target-libphobos ++ maybe-maintainer-clean-target-libphobos: maintainer-clean-target-libphobos ++ ++ maintainer-clean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libphobos" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++ @endif target-libphobos ++ ++ ++ + # ---------- + # GCC module + # ---------- +*************** +*** 51214,51219 **** +--- 51672,51678 ---- + configure-target-rda: stage_last + configure-target-libada: stage_last + configure-target-libgomp: stage_last ++ configure-target-libphobos: stage_last + @endif gcc-bootstrap + + @if gcc-no-bootstrap +*************** +*** 51238,51243 **** +--- 51697,51703 ---- + configure-target-rda: maybe-all-gcc + configure-target-libada: maybe-all-gcc + configure-target-libgomp: maybe-all-gcc ++ configure-target-libphobos: maybe-all-gcc + @endif gcc-no-bootstrap + + +*************** +*** 51929,51934 **** +--- 52389,52395 ---- + configure-target-rda: maybe-all-target-libgcc + configure-target-libada: maybe-all-target-libgcc + configure-target-libgomp: maybe-all-target-libgcc ++ configure-target-libphobos: maybe-all-target-libgcc + @endif gcc-no-bootstrap + + +*************** +*** 51972,51977 **** +--- 52433,52440 ---- + + configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss + ++ configure-target-libphobos: maybe-all-target-newlib maybe-all-target-libgloss ++ + + CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@ + GDB_TK = @GDB_TK@ +*** gcc-4.3.1-orig/configure 2008-02-01 22:29:30.000000000 -0500 +--- gcc-4.3.1/configure 2008-07-24 09:35:48.000000000 -0400 +*************** +*** 1875,1880 **** +--- 1875,1881 ---- + target-boehm-gc \ + ${libgcj} \ + target-libobjc \ ++ target-libphobos \ + target-libada" + + # these tools are built using the target libraries, and are intended to +*** gcc-4.3.1-orig/configure.ac 2008-02-01 22:29:30.000000000 -0500 +--- gcc-4.3.1/configure.ac 2008-07-24 09:35:44.000000000 -0400 +*************** +*** 185,190 **** +--- 185,191 ---- + target-boehm-gc \ + ${libgcj} \ + target-libobjc \ ++ target-libphobos \ + target-libada" + + # these tools are built using the target libraries, and are intended to --- gcc-4.3-4.3.4.orig/debian/patches/gcc-multiarch.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-multiarch.dpatch @@ -0,0 +1,402 @@ +#! /bin/sh -e + +# DP: gcc-multiarch.dpatch +# DP: +# DP: Convert the multilib option to a target triplet, +# DP: add multiarch include directories and libraries path: +# DP: /usr/local/include/-linux-gnu +# DP: /usr/include/-linux-gnu +# DP: /usr/lib/-linux-gnu/lib +# DP: to the system paths. + +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 -p0 < $0 + cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2009-03-24 Arthur Loiret + + * configure.ac: Handle --enable-multiarch and --with-multiarch-defaults. + * config.gcc: Define MULTIARCH_DEFAULTS if multiarch is enabled. + * config.in [!USED_FOR_TARGET]: Undef ENABLE_MULTIARCH. + * gcc.c: include multiarch.h. + (set_multiarch_dir): New function. Adds the multiarch directories to + the library path. + [ENABLE_MULTIARCH]: Use it. + * c-incpath.c: include multiarch.h. + * Makefile.in (MULTIARCH_H): New. Use it for incpath.o and gcc.o. + * multiarch.h: New file. + +2005-06-02 Matthias Klose + + * cppdefault.c [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an include + directory for multiarch directories. + * c-incpath.c (multiarch_mappings, multilib_to_multiarch): New. + (add_standard_paths): Add the multiarch directory to include directories. + +Index: gcc/gcc.c +=================================================================== +--- gcc/gcc.c (revision 145433) ++++ gcc/gcc.c (working copy) +@@ -74,6 +74,7 @@ + #include "system.h" + #include "coretypes.h" + #include "multilib.h" /* before tm.h */ ++#include "multiarch.h" + #include "tm.h" + #include + #if ! defined( SIGCHLD ) && defined( SIGCLD ) +@@ -337,6 +338,9 @@ + static int used_arg (const char *, int); + static int default_arg (const char *, int); + static void set_multilib_dir (void); ++#ifdef ENABLE_MULTIARCH ++static void set_multiarch_dir (void); ++#endif + static void print_multilib_info (void); + static void perror_with_name (const char *); + static void fatal_ice (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; +@@ -6407,6 +6411,11 @@ + the subdirectory based on the options. */ + set_multilib_dir (); + ++#ifdef ENABLE_MULTIARCH ++ /* Add the multiarch directories to libraries path. */ ++ set_multiarch_dir (); ++#endif ++ + /* Warn about any switches that no pass was interested in. */ + + for (i = 0; (int) i < n_switches; i++) +@@ -7463,6 +7472,39 @@ + multilib_os_dir = multilib_dir; + } + ++#ifdef ENABLE_MULTIARCH ++/* Add the multiarch directories to libraries path. This uses the converted ++ multiarch triplet from the multilib value. ++ For example, if the target supports -m32/-m64 as multilib option and ++ defaults to 64, it will add /usr/lib/$triplet_target64/lib to library ++ path if either -m64 or no multilib option at all is set. And it will ++ add /usr/lib/$triplet_target32 if -m32 is set. Triplets are defined in ++ multiarch.def. */ ++ ++static void ++set_multiarch_dir (void) ++{ ++ const char *multiarch, *path; ++ ++ multiarch = multilib_to_multiarch (multilib_dir); ++ if (multiarch == NULL) ++ { ++ fatal_ice ("\ ++Internal error: no multiarch mapping for multilib (%s)\n\ ++Please submit a full bug report.\n\ ++See %s for instructions.", ++ multilib_dir ? multilib_dir : multilib_defaults, bug_report_url); ++ } ++ else if (multiarch) ++ { ++ path = concat (STANDARD_STARTFILE_PREFIX_2, multiarch, ++ dir_separator_str, NULL); ++ add_prefix (&startfile_prefixes, path, NULL, ++ PREFIX_PRIORITY_LAST, 0, 1); ++ } ++} ++#endif ++ + /* Print out the multiple library subdirectory selection + information. This prints out a series of lines. Each line looks + like SUBDIRECTORY;@OPTION@OPTION, with as many options as is +Index: gcc/config.in +=================================================================== +--- gcc/config.in (revision 145433) ++++ gcc/config.in (working copy) +@@ -147,6 +147,10 @@ + #undef ENABLE_WIN32_REGISTRY + #endif + ++/* Define if you want to use multiarch. */ ++#ifndef USED_FOR_TARGET ++#undef ENABLE_MULTIARCH ++#endif + + /* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +Index: gcc/configure.ac +=================================================================== +--- gcc/configure.ac (revision 145433) ++++ gcc/configure.ac (working copy) +@@ -582,6 +582,19 @@ + [], [enable_multilib=yes]) + AC_SUBST(enable_multilib) + ++# Determine whether or not multiarch is enabled. ++AC_ARG_ENABLE(multiarch, ++[ --enable-multiarch enable multiarch support], ++[ ++ enable_multiarch=yes ++ AC_DEFINE(ENABLE_MULTIARCH, 1, ++ [Define if you want to use multiarch.]) ++],[]) ++AC_SUBST(enable_multiarch) ++ ++AC_ARG_WITH(multiarch-defaults, ++[ --with-multiarch-defaults set the default multiarch directory.],) ++ + # Enable __cxa_atexit for C++. + AC_ARG_ENABLE(__cxa_atexit, + [ --enable-__cxa_atexit enable __cxa_atexit for C++], +Index: gcc/cppdefault.c +=================================================================== +--- gcc/cppdefault.c (revision 145433) ++++ gcc/cppdefault.c (working copy) +@@ -60,6 +60,9 @@ + #endif + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ ++# ifdef ENABLE_MULTIARCH ++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, ++# endif + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, + #endif + #ifdef PREFIX_INCLUDE_DIR +@@ -95,6 +98,9 @@ + #endif + #ifdef STANDARD_INCLUDE_DIR + /* /usr/include comes dead last. */ ++# ifdef ENABLE_MULTIARCH ++ { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 2 }, ++# endif + { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 0 }, + #endif + { 0, 0, 0, 0, 0, 0 } +Index: gcc/multiarch.h +=================================================================== +--- gcc/multiarch.h (revision 0) ++++ gcc/multiarch.h (revision 0) +@@ -0,0 +1,95 @@ ++/* Header for multiarch handling (include directories, libraries path). ++ Copyright (C) 2009 Free Software Foundation, Inc. ++ Contributed by Arthur Loiret ++ ++This file is part of GCC. ++ ++GCC 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 3, or (at your option) any later ++version. ++ ++GCC 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 GCC; see the file COPYING3. If not see ++. */ ++ ++#ifndef GCC_MULTIARCH_H ++#define GCC_MULTIARCH_H ++ ++#include "tm.h" ++ ++struct multiarch_mapping ++{ ++ const char *const multilib; ++ const char *const multiarch; ++}; ++ ++const struct multiarch_mapping multiarch_mappings[] = { ++#ifdef ENABLE_MULTIARCH ++ { "", MULTIARCH_DEFAULTS }, ++# if defined(__x86_64_linux_gnu__) ++ { "32", "i486-linux-gnu" }, ++# endif ++# if defined(__i486_linux_gnu__) ++ { "64", "x86_64-linux-gnu" }, ++# endif ++# if defined(__powerpc64_linux_gnu__) ++ { "32", "powerpc-linux-gnu" }, ++# endif ++# if defined(__powerpc_linux_gnu__) ++ { "64", "powerpc64-linux-gnu" }, ++# endif ++# if defined(__sparc64_linux_gnu__) ++ { "32", "sparc-linux-gnu" }, ++# endif ++# if defined(__sparc_linux_gnu__) ++ { "64", "sparc64-linux-gnu" }, ++# endif ++# if defined(__s390x_linux_gnu__) ++ { "31", "s390-linux-gnu" }, ++# endif ++# if defined(__s390_linux_gnu__) ++ { "64", "s390x-linux-gnu" }, ++# endif ++# if defined(__mips_linux_gnu__) ++ { "n32", "mips64-linux-gnuabin32" }, ++ { "64", "mips64-linux-gnuabi64" }, ++# endif ++# if defined(__mipsel_linux_gnu__) ++ { "n32", "mips64el-linux-gnuabin32" }, ++ { "64", "mips64el-linux-gnuabi64" }, ++# endif ++# if defined(__x86_64_kfreebsd_gnu__) ++ { "32", "i486-kfreebsd-gnu" }, ++# endif ++# if defined(__sh4_linux_gnu__) ++ { "m4", "sh4-linux-gnu" }, ++ { "m4-nofpu", "sh4_nofpu-linux-gnu" }, ++# endif ++#endif /* ENABLE_MULTIARCH */ ++ { 0, 0 } ++}; ++ ++/* Convert the multilib option to the corresponding target triplet. ++ See multiarch.def and config.gcc for multilib/multiarch pairs. ++ When the default multilib is used, the corresponding multilib/multiarch ++ pair is { "", $target_tripplet }. */ ++static inline const char* ++multilib_to_multiarch (const char *imultilib) ++{ ++ const struct multiarch_mapping *p; ++ ++ for (p = multiarch_mappings; p->multiarch; p++) ++ { ++ if (!strcmp(p->multilib, imultilib ? imultilib : "")) ++ return p->multiarch; ++ } ++ return NULL; ++} ++ ++#endif /* GCC_MULTIARCH_H */ +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc (revision 145433) ++++ gcc/config.gcc (working copy) +@@ -3397,3 +3397,12 @@ + target_cpu_default=$target_cpu_default2 + fi + fi ++ ++if test x${enable_multiarch} = xyes; then ++ multiarch_defaults=`echo ${target_noncanonical} | sed -e 's/unknown-//'` ++ multiarch_define="__`echo ${multiarch_defaults} | tr '-' '_'`__" ++ if test x${with_multiarch_defaults} != x; then ++ multiarch_defaults=${with_multiarch_defaults} ++ fi ++ tm_defines="${tm_defines} ${multiarch_define}=1 MULTIARCH_DEFAULTS=\\\"${multiarch_defaults}\\\"" ++fi +Index: gcc/Makefile.in +=================================================================== +--- gcc/Makefile.in (revision 145433) ++++ gcc/Makefile.in (working copy) +@@ -860,6 +860,7 @@ + REAL_H = real.h $(MACHMODE_H) + DBGCNT_H = dbgcnt.h dbgcnt.def + EBIMAP_H = ebitmap.h sbitmap.h ++MULTIARCH_H = multiarch.h + + # + # Now figure out from those variables how to compile and link. +@@ -1744,7 +1745,7 @@ + + c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \ + intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \ +- $(MACHMODE_H) ++ $(MACHMODE_H) $(MULTIARCH_H) + + c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ + $(RTL_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) $(FUNCTION_H) output.h \ +@@ -1878,7 +1879,7 @@ + + gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \ + Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H) $(FLAGS_H) \ +- configargs.h $(OBSTACK_H) opts.h ++ configargs.h $(OBSTACK_H) opts.h $(MULTIARCH_H) + (SHLIB_LINK='$(SHLIB_LINK)'; \ + $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ + $(DRIVER_DEFINES) \ +Index: gcc/c-incpath.c +=================================================================== +--- gcc/c-incpath.c (revision 145433) ++++ gcc/c-incpath.c (working copy) +@@ -30,6 +30,7 @@ + #include "intl.h" + #include "c-incpath.h" + #include "cppdefault.h" ++#include "multiarch.h" + + /* Windows does not natively support inodes, and neither does MSDOS. + Cygwin's emulation can generate non-unique inodes, so don't use it. +@@ -130,6 +131,9 @@ + const struct default_include *p; + int relocated = cpp_relocated(); + size_t len; ++#ifdef ENABLE_MULTIARCH ++ const char *multiarch; ++#endif + + if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0) + { +@@ -148,8 +152,20 @@ + if (!strncmp (p->fname, cpp_GCC_INCLUDE_DIR, len)) + { + char *str = concat (iprefix, p->fname + len, NULL); ++#ifdef ENABLE_MULTIARCH ++ if (p->multilib == 1 && imultilib) ++ str = concat (str, dir_separator_str, imultilib, NULL); ++ else if (p->multilib == 2) ++ { ++ multiarch = multilib_to_multiarch (imultilib); ++ if (!multiarch) ++ continue; ++ str = concat (str, dir_separator_str, multiarch, NULL); ++ } ++#else + if (p->multilib && imultilib) + str = concat (str, dir_separator_str, imultilib, NULL); ++#endif + add_path (str, SYSTEM, p->cxx_aware, false); + } + } +@@ -193,8 +209,20 @@ + else + str = update_path (p->fname, p->component); + ++#ifdef ENABLE_MULTIARCH ++ if (p->multilib == 1 && imultilib) ++ str = concat (str, dir_separator_str, imultilib, NULL); ++ else if (p->multilib == 2) ++ { ++ multiarch = multilib_to_multiarch (imultilib); ++ if (!multiarch) ++ continue; ++ str = concat (str, dir_separator_str, multiarch, NULL); ++ } ++#else + if (p->multilib && imultilib) + str = concat (str, dir_separator_str, imultilib, NULL); ++#endif + + add_path (str, SYSTEM, p->cxx_aware, false); + } --- gcc-4.3-4.3.4.orig/debian/patches/gdc-fix-build-kbsd.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-fix-build-kbsd.dpatch @@ -0,0 +1,82 @@ +#! /bin/sh -e + +# gdc-fix-build-kfreebsd.dpatch by Arthur Loiret +# DP: Fix gdc build on k*bsd*-gnu, update configure and target-ver-syms.sh +# DP: to build k*bsd*-gnu architectures as a freebsd +# DP: Updated for gdc-4.3 by Iain Buclaw + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/d/phobos/configure Wed Feb 17 18:35:49 2010 +0100 ++++ gcc/d/phobos/configure Mon Mar 01 12:27:50 2010 +0000 +@@ -5408,7 +5408,7 @@ + rm -f conftest.d conftest.$ac_objext + + case "$d_target_os" in +- aix*|*bsd*|cygwin*|darwin*|linux*|skyos*|solaris*|sysv*) d_have_unix=1 ;; ++ aix*|*bsd*|cygwin*|darwin*|linux*|k*bsd*-gnu|skyos*|solaris*|sysv*) d_have_unix=1 ;; + esac + + DCFG_CBRIDGE_STDIO= +@@ -5816,7 +5816,7 @@ + d_gc_stack=GC_Use_Stack_Fixed + d_gc_data="$d_gc_data GC_Use_Data_Dyld" + ;; +- *freebsd*)D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o" ++ *freebsd*|k*bsd*-gnu)D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o" + d_gc_stack=GC_Use_Stack_FreeBSD + d_gc_data="$d_gc_data GC_Use_Data_Fixed" + ;; +--- gcc/d/phobos2/configure Wed Feb 17 18:35:49 2010 +0100 ++++ gcc/d/phobos2/configure Mon Mar 01 12:27:50 2010 +0000 +@@ -7332,7 +7332,7 @@ + rm -f conftest.d conftest.$ac_objext + + case "$d_target_os" in +- aix*|*bsd*|cygwin*|darwin*|linux*|skyos*|solaris*|sysv*) d_have_unix=1 ;; ++ aix*|*bsd*|cygwin*|darwin*|linux*|k*bsd*-gnu|skyos*|solaris*|sysv*) d_have_unix=1 ;; + esac + + DCFG_CBRIDGE_STDIO= +@@ -9110,7 +9110,7 @@ + d_gc_stack=GC_Use_Stack_Fixed + d_gc_data="$d_gc_data GC_Use_Data_Dyld" + ;; +- *freebsd*)D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o" ++ *freebsd*|k*bsd*-gnu)D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o" + d_gc_stack=GC_Use_Stack_FreeBSD + d_gc_data="$d_gc_data GC_Use_Data_Fixed" + ;; +--- gcc/d/target-ver-syms.sh Wed Feb 17 18:35:49 2010 +0100 ++++ gcc/d/target-ver-syms.sh Mon Mar 01 12:27:50 2010 +0000 +@@ -30,6 +30,7 @@ + darwin*) d_os_versym=darwin ; d_unix=1 ;; + elf*) ;; + *freebsd*) d_os_versym=freebsd ; d_unix=1 ;; ++k*bsd*-gnu) d_os_versym=freebsd ; d_unix=1;; + linux*) d_os_versym=linux ; d_unix=1 ;; + mingw32*) d_os_versym=Win32; d_windows=1 ;; + pe*) case "$target" in + --- gcc-4.3-4.3.4.orig/debian/patches/m68k-allow-gnu99.dpatch +++ gcc-4.3-4.3.4/debian/patches/m68k-allow-gnu99.dpatch @@ -0,0 +1,51 @@ +#! /bin/sh -e + +# DP: patch to allow gnu99 mode on m68k + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +On m68k, gnu99 mode doesn't work correctly out of the box due to our +woefully outdated glibc (we're currently stuck at 2.5-1). This is +because the inline schematics changed between glibc 2.5 and 2.7, and +gcc 4.2 to 4.3. This patch configures the built in spec file to pass +-fgnu89-inline, and thus allowing proper compilation and linking with +the older glibc on m68k. This patch should not be merged upstream, and +it should be removed once a newer glibc is available for our +architecture. + +Index: gcc/config/m68k/linux.h +=================================================================== +--- gcc/config/m68k/linux.h (revision 137501) ++++ gcc/config/m68k/linux.h (working copy) +@@ -37,6 +37,12 @@ + #undef M68K_HONOR_TARGET_STRICT_ALIGNMENT + #define M68K_HONOR_TARGET_STRICT_ALIGNMENT 0 + ++/* on m68k, we always need to use gnu89 inlining because we're ++ still limited to glibc 2.5. This should be removed after ++ a newer glibc is available */ ++#undef CC1_SPEC ++#define CC1_SPEC "%{profile:-p} %{std=gnu99:-fgnu89-inline}" ++ + /* Here are four prefixes that are used by asm_fprintf to + facilitate customization for alternate assembler syntaxes. + Machines with no likelihood of an alternate syntax need not --- gcc-4.3-4.3.4.orig/debian/patches/testsuite-hardening-format.dpatch +++ gcc-4.3-4.3.4/debian/patches/testsuite-hardening-format.dpatch @@ -0,0 +1,95 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: Description: use -Wno-format on tests that cannot be adjusted other ways. +# DP: Author: Kees Cook +# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502 + +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 + +diff -uNrp ../src.orig/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x +--- ../src.orig/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x 1969-12-31 16:00:00.000000000 -0800 ++++ src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x 2009-03-17 16:57:17.000000000 -0700 +@@ -0,0 +1,5 @@ ++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to ++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567 ++ ++set additional_flags "-U_FORTIFY_SOURCE" ++return 0 +diff -uNrp ../src.mar19/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x +--- ../src.mar19/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x 1969-12-31 16:00:00.000000000 -0800 ++++ src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x 2009-03-20 00:25:19.000000000 -0700 +@@ -0,0 +1,5 @@ ++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to ++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567 ++ ++set additional_flags "-U_FORTIFY_SOURCE" ++return 0 +diff -uNrp ../src.orig/gcc/testsuite/gcc.dg/charset/builtin2.c src/gcc/testsuite/gcc.dg/charset/builtin2.c +--- ../src.orig/gcc/testsuite/gcc.dg/charset/builtin2.c 2005-11-28 21:17:20.000000000 -0800 ++++ src/gcc/testsuite/gcc.dg/charset/builtin2.c 2009-03-17 16:59:25.000000000 -0700 +@@ -3,7 +3,7 @@ + + /* { dg-do compile } */ + /* { dg-require-iconv "IBM1047" } */ +-/* { dg-options "-O2 -fexec-charset=IBM1047" } */ ++/* { dg-options "-O2 -fexec-charset=IBM1047 -Wno-format" } */ + /* { dg-final { scan-assembler-not "printf" } } */ + /* { dg-final { scan-assembler-not "fprintf" } } */ + /* { dg-final { scan-assembler-not "sprintf" } } */ +diff -uNrp ../src.orig/gcc/testsuite/gcc.dg/format/format.exp src/gcc/testsuite/gcc.dg/format/format.exp +--- ../src.orig/gcc/testsuite/gcc.dg/format/format.exp 2008-12-05 12:35:34.000000000 -0800 ++++ src/gcc/testsuite/gcc.dg/format/format.exp 2009-03-17 17:08:18.000000000 -0700 +@@ -26,7 +26,7 @@ load_lib gcc-dg.exp + load_lib torture-options.exp + + torture-init +-set-torture-options [list { } { -DWIDE } ] ++set-torture-options [list { -Wformat=0 } { -DWIDE -Wformat=0 } ] + + dg-init + gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" +diff -uNrp ../src.orig/gcc/testsuite/gcc.dg/pr30473.c src/gcc/testsuite/gcc.dg/pr30473.c +--- ../src.orig/gcc/testsuite/gcc.dg/pr30473.c 2007-02-02 04:21:13.000000000 -0800 ++++ src/gcc/testsuite/gcc.dg/pr30473.c 2009-03-17 17:01:13.000000000 -0700 +@@ -1,7 +1,7 @@ + /* PR middle-end/30473 */ + /* Make sure this doesn't ICE. */ + /* { dg-do compile } */ +-/* { dg-options "-O2" } */ ++/* { dg-options "-O2 -Wno-format" } */ + + extern int sprintf (char *, const char *, ...); + +diff -uNrp ../src.orig/gcc/testsuite/gcc.dg/pr38902.c src/gcc/testsuite/gcc.dg/pr38902.c +--- ../src.orig/gcc/testsuite/gcc.dg/pr38902.c 2009-03-16 18:23:01.000000000 -0700 ++++ src/gcc/testsuite/gcc.dg/pr38902.c 2009-03-17 17:02:06.000000000 -0700 +@@ -1,6 +1,6 @@ + /* PR target/38902 */ + /* { dg-do run } */ +-/* { dg-options "-O2 -fstack-protector" } */ ++/* { dg-options "-O2 -fstack-protector -Wno-format" } */ + /* { dg-require-effective-target fstack_protector } */ + + #ifdef DEBUG --- gcc-4.3-4.3.4.orig/debian/patches/alpha-ieee.dpatch +++ gcc-4.3-4.3.4/debian/patches/alpha-ieee.dpatch @@ -0,0 +1,57 @@ +#! /bin/sh -e + +# DP: #212912 +# DP: on alpha-linux, make -mieee default and add -mieee-disable switch +# DP: to turn default off + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- src/gcc/config/alpha/alpha.c~ 2005-06-04 21:25:45.000000000 +0200 ++++ src/gcc/config/alpha/alpha.c 2005-09-30 22:21:33.251175568 +0200 +@@ -248,6 +248,10 @@ + { 0, 0, 0 } + }; + ++ /* If not -ffinite-math-only, enable -mieee*/ ++ if (!flag_finite_math_only) ++ target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT; ++ + /* Unicos/Mk doesn't have shared libraries. */ + if (TARGET_ABI_UNICOSMK && flag_pic) + { +#--- src/gcc/doc/invoke.texi~ 2005-09-29 20:00:57.638380128 +0200 +#+++ src/gcc/doc/invoke.texi 2005-09-30 22:23:22.922502992 +0200 +#@@ -7670,6 +7670,13 @@ +# values such as not-a-number and plus/minus infinity. Other Alpha +# compilers call this option @option{-ieee_with_no_inexact}. +# +#+DEBIAN SPECIFIC: This option is on by default, unless +#+@option{-ffinite-math-only} (which is part of the @option{-ffast-math} +#+set) is specified, because the software functions in the GNU libc math +#+libraries generate denormalized numbers, NaNs, and infs (all of which +#+will cause a programs to SIGFPE when it attempts to use the results without +#+@option{-mieee}). +#+ +# @item -mieee-with-inexact +# @opindex mieee-with-inexact +# This is like @option{-mieee} except the generated code also maintains --- gcc-4.3-4.3.4.orig/debian/patches/pr22387.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr22387.dpatch @@ -0,0 +1,112 @@ +#! /bin/sh -e + +# DP: PR ada/22387: Ada compiler crash when inheriting from a record with custom layout + +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 && autoconf2.59 + ;; + -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 + +2008-04-15 Ed Schonberg + +From: sam + +gcc/ada/ + PR ada/22387 + * exp_ch5.adb (Expand_Assign_Record): Within an initialization + procedure for a derived type retrieve the discriminant values from + the parent using the corresponding discriminant. + +2008-04-15 Samuel Tardieu + + gcc/testsuite/ + PR ada/22387 + * gnat.dg/specs/corr_discr.ads: New. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134326 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/exp_ch5.adb | 29 ++++++++++++++++++++++------ + gcc/testsuite/gnat.dg/specs/corr_discr.ads | 13 +++++++++++++ + 2 files changed, 36 insertions(+), 6 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/corr_discr.ads + + +diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb +index d77ec23..75b8ca6 100644 +--- a/gcc/ada/exp_ch5.adb ++++ b/gcc/ada/exp_ch5.adb +@@ -1346,13 +1346,30 @@ package body Exp_Ch5 is + F := First_Discriminant (R_Typ); + while Present (F) loop + +- if Is_Unchecked_Union (Base_Type (R_Typ)) then +- Insert_Action (N, Make_Field_Assign (F, True)); +- else +- Insert_Action (N, Make_Field_Assign (F)); +- end if; ++ -- If we are expanding the initialization of a derived record ++ -- that constrains or renames discriminants of the parent, we ++ -- must use the corresponding discriminant in the parent. ++ ++ declare ++ CF : Entity_Id; + +- Next_Discriminant (F); ++ begin ++ if Inside_Init_Proc ++ and then Present (Corresponding_Discriminant (F)) ++ then ++ CF := Corresponding_Discriminant (F); ++ else ++ CF := F; ++ end if; ++ ++ if Is_Unchecked_Union (Base_Type (R_Typ)) then ++ Insert_Action (N, Make_Field_Assign (CF, True)); ++ else ++ Insert_Action (N, Make_Field_Assign (CF)); ++ end if; ++ ++ Next_Discriminant (F); ++ end; + end loop; + end if; + +diff --git a/gcc/testsuite/gnat.dg/specs/corr_discr.ads b/gcc/testsuite/gnat.dg/specs/corr_discr.ads +new file mode 100644 +index 0000000..70ea860 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/corr_discr.ads +@@ -0,0 +1,13 @@ ++package Corr_Discr is ++ ++ type Base (T1 : Boolean := True; T2 : Boolean := False) ++ is null record; ++ for Base use record ++ T1 at 0 range 0 .. 0; ++ T2 at 0 range 1 .. 1; ++ end record; ++ ++ type Deriv (D : Boolean := False) is new Base (T1 => True, T2 => D); ++ ++end Corr_Discr; ++ --- gcc-4.3-4.3.4.orig/debian/patches/gcc-ice-hack-trunk.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-ice-hack-trunk.dpatch @@ -0,0 +1,332 @@ +#! /bin/sh -e + +# DP: Retry the build on an ice, save the calling options and preprocessed +# DP: source when the ice is reproducible. + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2004-01-23 Jakub Jelinek + + * system.h (ICE_EXIT_CODE): Define. + * gcc.c (execute): Don't free first string early, but at the end + of the function. Call retry_ice if compiler exited with + ICE_EXIT_CODE. + (retry_ice): New function. + * diagnostic.c (diagnostic_count_diagnostic, + diagnostic_action_after_output, error_recursion): Exit with + ICE_EXIT_CODE instead of FATAL_EXIT_CODE. + +--- src/gcc/Makefile.in ++++ src/gcc/Makefile.in +@@ -187,6 +187,8 @@ dominance.o-warn = -Wno-error + graphite.o-warn = -Wno-error + # mips-tfile.c contains -Wcast-qual warnings. + mips-tfile.o-warn = -Wno-error ++# gcc-ice-hack ++gcc.o-warn = -Wno-error + + # All warnings have to be shut off in stage1 if the compiler used then + # isn't gcc; configure determines that. WARN_CFLAGS will be either +--- src/gcc/diagnostic.c ++++ src/gcc/diagnostic.c +@@ -195,7 +195,7 @@ diagnostic_action_after_output (diagnostic_context *context, + fnotice (stderr, "Please submit a full bug report,\n" + "with preprocessed source if appropriate.\n" + "See %s for instructions.\n", bug_report_url); +- exit (ICE_EXIT_CODE); ++ exit (FATAL_EXIT_CODE); + + case DK_FATAL: + if (context->abort_on_error) +--- src/gcc/gcc.c ++++ src/gcc/gcc.c +@@ -368,6 +368,9 @@ static void init_gcc_specs (struct obstack *, const char *, const char *, + #if defined(HAVE_TARGET_OBJECT_SUFFIX) || defined(HAVE_TARGET_EXECUTABLE_SUFFIX) + static const char *convert_filename (const char *, int, int); + #endif ++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS)) ++static void retry_ice (const char *prog, const char **argv); ++#endif + + static const char *getenv_spec_function (int, const char **); + static const char *if_exists_spec_function (int, const char **); +@@ -3018,7 +3021,7 @@ execute (void) + } + } + +- if (string != commands[i].prog) ++ if (i && string != commands[i].prog) + free (CONST_CAST (char *, string)); + } + +@@ -3075,6 +3078,16 @@ See %s for instructions.", + else if (WIFEXITED (status) + && WEXITSTATUS (status) >= MIN_FATAL_STATUS) + { ++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS)) ++ /* For ICEs in cc1, cc1obj, cc1plus see if it is ++ reproducible or not. */ ++ char *p; ++ if (WEXITSTATUS (status) == ICE_EXIT_CODE ++ && i == 0 ++ && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR)) ++ && ! strncmp (p + 1, "cc1", 3)) ++ retry_ice (commands[0].prog, commands[0].argv); ++#endif + if (WEXITSTATUS (status) > greatest_status) + greatest_status = WEXITSTATUS (status); + ret_code = -1; +@@ -3095,6 +3108,9 @@ See %s for instructions.", + } + } + ++ if (commands[0].argv[0] != commands[0].prog) ++ free ((PTR) commands[0].argv[0]); ++ + return ret_code; + } + } +@@ -6093,6 +6109,224 @@ give_switch (int switchnum, int omit_first_word) + switches[switchnum].validated = 1; + } + ++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS)) ++#define RETRY_ICE_ATTEMPTS 2 ++ ++static void ++retry_ice (const char *prog, const char **argv) ++{ ++ int nargs, out_arg = -1, quiet = 0, attempt; ++ int pid, retries, sleep_interval; ++ const char **new_argv; ++ char *temp_filenames[RETRY_ICE_ATTEMPTS * 2 + 2]; ++ ++ if (input_filename == NULL || ! strcmp (input_filename, "-")) ++ return; ++ ++ for (nargs = 0; argv[nargs] != NULL; ++nargs) ++ /* Only retry compiler ICEs, not preprocessor ones. */ ++ if (! strcmp (argv[nargs], "-E")) ++ return; ++ else if (argv[nargs][0] == '-' && argv[nargs][1] == 'o') ++ { ++ if (out_arg == -1) ++ out_arg = nargs; ++ else ++ return; ++ } ++ /* If the compiler is going to output any time information, ++ it might vary between invocations. */ ++ else if (! strcmp (argv[nargs], "-quiet")) ++ quiet = 1; ++ else if (! strcmp (argv[nargs], "-ftime-report")) ++ return; ++ ++ if (out_arg == -1 || !quiet) ++ return; ++ ++ memset (temp_filenames, '\0', sizeof (temp_filenames)); ++ new_argv = alloca ((nargs + 3) * sizeof (const char *)); ++ memcpy (new_argv, argv, (nargs + 1) * sizeof (const char *)); ++ new_argv[nargs++] = "-frandom-seed=0"; ++ new_argv[nargs] = NULL; ++ if (new_argv[out_arg][2] == '\0') ++ new_argv[out_arg + 1] = "-"; ++ else ++ new_argv[out_arg] = "-o-"; ++ ++ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS + 1; ++attempt) ++ { ++ int fd = -1; ++ int status; ++ ++ temp_filenames[attempt * 2] = make_temp_file (".out"); ++ temp_filenames[attempt * 2 + 1] = make_temp_file (".err"); ++ ++ if (attempt == RETRY_ICE_ATTEMPTS) ++ { ++ int i; ++ int fd1, fd2; ++ struct stat st1, st2; ++ size_t n, len; ++ char *buf; ++ ++ buf = xmalloc (8192); ++ ++ for (i = 0; i < 2; ++i) ++ { ++ fd1 = open (temp_filenames[i], O_RDONLY); ++ fd2 = open (temp_filenames[2 + i], O_RDONLY); ++ ++ if (fd1 < 0 || fd2 < 0) ++ { ++ i = -1; ++ close (fd1); ++ close (fd2); ++ break; ++ } ++ ++ if (fstat (fd1, &st1) < 0 || fstat (fd2, &st2) < 0) ++ { ++ i = -1; ++ close (fd1); ++ close (fd2); ++ break; ++ } ++ ++ if (st1.st_size != st2.st_size) ++ { ++ close (fd1); ++ close (fd2); ++ break; ++ } ++ ++ len = 0; ++ for (n = st1.st_size; n; n -= len) ++ { ++ len = n; ++ if (len > 4096) ++ len = 4096; ++ ++ if (read (fd1, buf, len) != (int) len ++ || read (fd2, buf + 4096, len) != (int) len) ++ { ++ i = -1; ++ break; ++ } ++ ++ if (memcmp (buf, buf + 4096, len) != 0) ++ break; ++ } ++ ++ close (fd1); ++ close (fd2); ++ ++ if (n) ++ break; ++ } ++ ++ free (buf); ++ if (i == -1) ++ break; ++ ++ if (i != 2) ++ { ++ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n"); ++ break; ++ } ++ ++ fd = open (temp_filenames[attempt * 2], O_RDWR); ++ if (fd < 0) ++ break; ++ write (fd, "//", 2); ++ for (i = 0; i < nargs; i++) ++ { ++ write (fd, " ", 1); ++ write (fd, new_argv[i], strlen (new_argv[i])); ++ } ++ write (fd, "\n", 1); ++ new_argv[nargs] = "-E"; ++ new_argv[nargs + 1] = NULL; ++ } ++ ++ /* Fork a subprocess; wait and retry if it fails. */ ++ sleep_interval = 1; ++ pid = -1; ++ for (retries = 0; retries < 4; retries++) ++ { ++ pid = fork (); ++ if (pid >= 0) ++ break; ++ sleep (sleep_interval); ++ sleep_interval *= 2; ++ } ++ ++ if (pid < 0) ++ break; ++ else if (pid == 0) ++ { ++ if (attempt != RETRY_ICE_ATTEMPTS) ++ fd = open (temp_filenames[attempt * 2], O_RDWR); ++ if (fd < 0) ++ exit (-1); ++ if (fd != 1) ++ { ++ close (1); ++ dup (fd); ++ close (fd); ++ } ++ ++ fd = open (temp_filenames[attempt * 2 + 1], O_RDWR); ++ if (fd < 0) ++ exit (-1); ++ if (fd != 2) ++ { ++ close (2); ++ dup (fd); ++ close (fd); ++ } ++ ++ if (prog == new_argv[0]) ++ execvp (prog, (char *const *) new_argv); ++ else ++ execv (new_argv[0], (char *const *) new_argv); ++ exit (-1); ++ } ++ ++ if (waitpid (pid, &status, 0) < 0) ++ break; ++ ++ if (attempt < RETRY_ICE_ATTEMPTS ++ && (! WIFEXITED (status) || WEXITSTATUS (status) != ICE_EXIT_CODE)) ++ { ++ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n"); ++ break; ++ } ++ else if (attempt == RETRY_ICE_ATTEMPTS) ++ { ++ close (fd); ++ if (WIFEXITED (status) ++ && WEXITSTATUS (status) == SUCCESS_EXIT_CODE) ++ { ++ notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n", ++ temp_filenames[attempt * 2]); ++ /* Make sure it is not deleted. */ ++ free (temp_filenames[attempt * 2]); ++ temp_filenames[attempt * 2] = NULL; ++ break; ++ } ++ } ++ } ++ ++ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS * 2 + 2; attempt++) ++ if (temp_filenames[attempt]) ++ { ++ unlink (temp_filenames[attempt]); ++ free (temp_filenames[attempt]); ++ } ++} ++#endif ++ + /* Search for a file named NAME trying various prefixes including the + user's -B prefix and some standard ones. + Return the absolute file name found. If nothing is found, return NAME. */ --- gcc-4.3-4.3.4.orig/debian/patches/gdc-driver-defaultlib.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-driver-defaultlib.dpatch @@ -0,0 +1,111 @@ +#! /bin/sh -e + +# gdc-driver-defaultlib.dpatch by Arthur Loiret +# DP: Add -defaultlib -debuglib switches to d-spec.c. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/d/d-spec.c 2008-02-03 20:21:18.000000000 +0000 ++++ gcc/d/d-spec.c 2008-02-03 20:41:36.000000000 +0000 +@@ -74,6 +74,9 @@ + /* If nonzero, the user gave us the `-v' flag. */ + int saw_verbose_flag = 0; + ++ /* Used by -debuglib */ ++ int saw_debug_flag = 0; ++ + /* This is a tristate: + -1 means we should not link in libstdc++ + 0 means we should link in libstdc++ if it is needed +@@ -123,6 +126,9 @@ + /* The argument list. */ + const char *const *argv; + ++ const char* defaultlib = NULL; ++ const char* debuglib = NULL; ++ + /* The number of libraries added in. */ + int added_libraries; + +@@ -168,6 +174,32 @@ + phobos = 0; + args[i] |= REMOVE_ARG; + } ++ else if (strcmp (argv[i], "-defaultlib") == 0) ++ { ++ added = 1; ++ phobos = 0; ++ args[i] |= REMOVE_ARG; ++ if(defaultlib != NULL) ++ free(defaultlib); ++ defaultlib = xmalloc(sizeof(char) * (strlen(argv[++i]) + 3)); ++ strcpy(defaultlib, "-l"); ++ strcat(defaultlib, argv[i]); ++ args[i] |= REMOVE_ARG; ++ /* printf("XXX: arg: -defaultlib: %s\n", defaultlib); */ ++ } ++ else if (strcmp (argv[i], "-debuglib") == 0) ++ { ++ added = 1; ++ phobos = 0; ++ args[i] |= REMOVE_ARG; ++ if(debuglib != NULL) ++ free(debuglib); ++ debuglib = xmalloc(sizeof(char) * (strlen(argv[++i]) + 3)); ++ strcpy(debuglib, "-l"); ++ strcat(debuglib, argv[i]); ++ args[i] |= REMOVE_ARG; ++ /* printf("XXX: arg: -debuglib: %s\n", debuglib); */ ++ } + else if (strcmp (argv[i], "-lm") == 0 + || strcmp (argv[i], "-lmath") == 0 + || strcmp (argv[i], MATH_LIBRARY) == 0 +@@ -182,6 +214,8 @@ + saw_profile_flag++; + else if (strcmp (argv[i], "-v") == 0) + saw_verbose_flag = 1; ++ else if (strcmp (argv[i], "-g") == 0) ++ saw_debug_flag = 1; + else if (strncmp (argv[i], "-x", 2) == 0) + { + if (library == 0) +@@ -367,6 +401,18 @@ + added_libraries++; + need_pthreads = 1; + } ++ else if (saw_debug_flag && debuglib) ++ { ++ arglist[j++] = debuglib; ++ added_libraries++; ++ /* printf("XXX: debuglib: %s\n", arglist[j-1]); */ ++ } ++ else if (defaultlib) ++ { ++ arglist[j++] = defaultlib; ++ added_libraries++; ++ /* printf("XXX: defaultlib: %s\n", arglist[j-1]); */ ++ } + if (saw_math) + arglist[j++] = saw_math; + else if (library > 0 && need_math) --- gcc-4.3-4.3.4.orig/debian/patches/libssp-gnu.dpatch +++ gcc-4.3-4.3.4/debian/patches/libssp-gnu.dpatch @@ -0,0 +1,52 @@ +#! /bin/sh -e + +# DP: GNU/k*BSD support +# Author: Aurelien Jarno +# Status: Submitted: http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01962.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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +--- src.orig/gcc/configure 2008-03-01 15:51:06 +0100 ++++ src/gcc/configure 2008-03-01 16:02:24 +0100 +@@ -17110,7 +17110,7 @@ + else + gcc_cv_libc_provides_ssp=no + case "$target" in +- *-*-linux*) ++ *-*-gnu*|*-*-*-gnu*) + if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then + if test "x$with_sysroot" = x; then + glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include" +--- src.orig/gcc/configure.ac 2008-02-01 19:55:55 +0100 ++++ src/gcc/configure.ac 2008-03-01 16:02:06 +0100 +@@ -3379,7 +3379,7 @@ + gcc_cv_libc_provides_ssp, + [gcc_cv_libc_provides_ssp=no + case "$target" in +- *-*-linux*) ++ *-*-gnu*|*-*-*-gnu*) + if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then + if test "x$with_sysroot" = x; then + glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include" + --- gcc-4.3-4.3.4.orig/debian/patches/libstdc++-doclink.dpatch +++ gcc-4.3-4.3.4/debian/patches/libstdc++-doclink.dpatch @@ -0,0 +1,51 @@ +#! /bin/sh -e + +# DP: adjust hrefs to point to the local documentation + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libstdc++-v3/doc/doxygen/mainpage.html~ 2008-02-19 21:08:07.375796572 +0100 ++++ libstdc++-v3/doc/doxygen/mainpage.html 2008-02-19 21:14:20.841430216 +0100 +@@ -30,8 +30,8 @@ +

There are two types of documentation for libstdc++. One is the + distribution documentation, which can be read online + here +- or offline from the file doc/html/index.html in the library source +- directory. ++ or offline in the documentation directory ++ here. +

+ +

The other type is the source documentation, of which this is the first page. +@@ -71,9 +71,9 @@ + This style guide can also be viewed on the web. + +

License, Copyright, and Other Lawyerly Verbosity

+-

The libstdc++ documentation is released under +- +- these terms. ++

The libstdc++ documentation is released under these terms ++ (read online, or ++ read offline). +

+

Part of the generated documentation involved comments and notes from + SGI, who says we gotta say this: --- gcc-4.3-4.3.4.orig/debian/patches/pr27880.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr27880.dpatch @@ -0,0 +1,90 @@ +#! /bin/sh -e + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# DP: PR target/27880: Restore static linking on ia64 with system libunwind +# DP: by adding unwind-compat to the static libgcc. + +2006-06-19 Andreas Schwab + + PR target/27880 + * unwind-compat.c: Wrap everything except _Unwind_GetIPInfo inside + SHARED. + * config/t-libunwind (LIB2ADDEHSTATIC): Add + $(srcdir)/unwind-compat.c. + +Index: gcc/config/t-libunwind +=================================================================== +--- gcc/config/t-libunwind (revision 114767) ++++ gcc/config/t-libunwind (working copy) +@@ -6,7 +6,8 @@ + SHLIB_LC = -lunwind -lc + LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \ + $(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c +-LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c ++LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \ ++ $(srcdir)/unwind-compat.c + + T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS + TARGET_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER +Index: gcc/unwind-compat.c +=================================================================== +--- gcc/unwind-compat.c (revision 114767) ++++ gcc/unwind-compat.c (working copy) +@@ -35,6 +35,7 @@ + #include "unwind-dw2-fde.h" + #include "unwind-compat.h" + ++#ifdef SHARED + extern _Unwind_Reason_Code __libunwind_Unwind_Backtrace + (_Unwind_Trace_Fn, void *); + +@@ -136,13 +137,6 @@ _Unwind_GetIP (struct _Unwind_Context *c + } + symver (_Unwind_GetIP, GCC_3.0); + +-_Unwind_Ptr +-_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) +-{ +- *ip_before_insn = 0; +- return __libunwind_Unwind_GetIP (context); +-} +- + extern void *__libunwind_Unwind_GetLanguageSpecificData + (struct _Unwind_Context *); + +@@ -212,4 +206,14 @@ _Unwind_SetIP (struct _Unwind_Context *c + return __libunwind_Unwind_SetIP (context, val); + } + symver (_Unwind_SetIP, GCC_3.0); ++#endif /* SHARED */ ++ ++extern _Unwind_Ptr __libunwind_Unwind_GetIP (struct _Unwind_Context *); ++ ++_Unwind_Ptr ++_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) ++{ ++ *ip_before_insn = 0; ++ return __libunwind_Unwind_GetIP (context); ++} + #endif + --- gcc-4.3-4.3.4.orig/debian/patches/libjava-jnipath.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-jnipath.dpatch @@ -0,0 +1,94 @@ +#! /bin/sh -e + +# DP: - Add /usr/lib/jni to java.library.path. +# DP: - When running the i386 binaries on amd64, look in +# DP: - /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libjava/gnu/classpath/natSystemProperties.cc~ 2006-08-02 00:53:40.000000000 +0200 ++++ libjava/gnu/classpath/natSystemProperties.cc 2006-08-19 00:41:50.063803000 +0200 +@@ -141,6 +141,34 @@ + return retval; + } + ++static char* ++AppendJniLibdir (char *path, struct utsname *u) ++{ ++ char* retval; ++ const char* jnilibdir = "/usr/lib/jni"; ++ ++#if defined(__linux__) && defined (__i386__) ++ if (! strcmp ("x86_64", u->machine)) ++ jnilibdir = "/usr/lib32/jni"; ++#endif ++ ++ if (path) ++ { ++ jsize total = strlen (path) ++ + (sizeof (PATH_SEPARATOR) - 1) + strlen (jnilibdir) + 1; ++ retval = (char*) _Jv_Malloc (total); ++ strcpy (retval, path); ++ strcat (retval, PATH_SEPARATOR); ++ strcat (retval, jnilibdir); ++ } ++ else ++ { ++ retval = (char*) _Jv_Malloc (strlen (jnilibdir) + 1); ++ strcpy (retval, jnilibdir); ++ } ++ return retval; ++} ++ + void + gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties *newprops) + { +@@ -370,8 +398,13 @@ + // Prepend GCJ_VERSIONED_LIBDIR to the module load path so that + // libgcj will find its own JNI libraries, like libgtkpeer.so. + char* val = PrependVersionedLibdir (path); +- _Jv_SetDLLSearchPath (val); ++ ++ // Append jnilibdir ++ char* val2 = AppendJniLibdir (val, &u); ++ ++ _Jv_SetDLLSearchPath (val2); + _Jv_Free (val); ++ _Jv_Free (val2); + } + else + { +@@ -379,9 +412,12 @@ + #ifdef USE_LTDL + char *libpath = getenv (LTDL_SHLIBPATH_VAR); + char* val = _Jv_PrependVersionedLibdir (libpath); +- SET ("java.library.path", val); +- _Jv_SetDLLSearchPath (val); ++ // Append jnilibdir ++ char* val2 = AppendJniLibdir (val, &u); ++ SET ("java.library.path", val2); ++ _Jv_SetDLLSearchPath (val2); + _Jv_Free (val); ++ _Jv_Free (val2); + #else + SET ("java.library.path", ""); + #endif --- gcc-4.3-4.3.4.orig/debian/patches/libstdc++-pic.dpatch +++ gcc-4.3-4.3.4/debian/patches/libstdc++-pic.dpatch @@ -0,0 +1,71 @@ +#! /bin/sh -e + +# DP: Build and install libstdc++_pic.a library. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -ur libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am +--- libstdc++-v3/src/Makefile.am~ 2004-04-16 21:04:05.000000000 +0200 ++++ libstdc++-v3/src/Makefile.am 2004-07-03 20:22:43.000000000 +0200 +@@ -210,6 +210,10 @@ + $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@ + + ++install-exec-local: ++ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) ++ + # Added bits to build debug library. + if GLIBCXX_BUILD_DEBUG + all-local: build_debug +diff -ur libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in +--- libstdc++-v3/src/Makefile.in 2004-07-03 06:41:13.000000000 +0200 ++++ libstdc++-v3/src/Makefile.in 2004-07-03 20:25:05.000000000 +0200 +@@ -611,7 +611,7 @@ + + install-data-am: install-data-local + +-install-exec-am: install-toolexeclibLTLIBRARIES ++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local + + install-info: install-info-am + +@@ -644,6 +644,7 @@ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-data-local install-exec \ ++ install-exec-local \ + install-exec-am install-info install-info-am install-man \ + install-strip install-toolexeclibLTLIBRARIES installcheck \ + installcheck-am installdirs maintainer-clean \ +@@ -729,6 +730,11 @@ + install_debug: + (cd ${debugdir} && $(MAKE) \ + toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ++ ++install-exec-local: ++ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) ++ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: --- gcc-4.3-4.3.4.orig/debian/patches/libjava-rpath.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-rpath.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e + +# DP: - Link ecjx with -rpath $(dbexecdir) + +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 -p0 < $0 + #cd ${dir}libjava && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm -f ${dir}libjava/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libjava/Makefile.am~ 2009-06-25 15:41:57.000000000 +0200 ++++ libjava/Makefile.am 2009-06-25 15:45:52.000000000 +0200 +@@ -714,7 +714,7 @@ + ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -fbootclasspath=$(BOOTCLASSPATH) + endif !ENABLE_SHARED + +-ecjx_LDADD = -L$(here)/.libs $(extra_ldflags) ++ecjx_LDADD = -L$(here)/.libs $(extra_ldflags) -rpath $(dbexecdir) + ecjx_DEPENDENCIES = libgcj.la libgcj.spec + if USE_LIBGCJ_BC + ecjx_DEPENDENCIES += libgcj_bc.la +--- libjava/Makefile.in~ 2009-06-25 15:41:57.000000000 +0200 ++++ libjava/Makefile.in 2009-06-25 15:46:56.000000000 +0200 +@@ -7999,7 +7999,7 @@ + @ENABLE_SHARED_TRUE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) + @NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) + @NATIVE_FALSE@ecjx_LDADD = +-@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs $(extra_ldflags) \ ++@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs $(extra_ldflags) -rpath $(dbexecdir) \ + @NATIVE_TRUE@ $(am__append_17) + @NATIVE_FALSE@ecjx_DEPENDENCIES = + @NATIVE_TRUE@ecjx_DEPENDENCIES = libgcj.la libgcj.spec \ --- gcc-4.3-4.3.4.orig/debian/patches/sh4-mode-switching.dpatch +++ gcc-4.3-4.3.4/debian/patches/sh4-mode-switching.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +# DP: Fix PR target/41993, [sh] ICE in create_pre_exit, at mode-switching.c + +--- a/gcc/mode-switching.c 2009-11-24 09:50:59.000000000 +0900 ++++ b/gcc/mode-switching.c 2009-11-24 09:51:02.000000000 +0900 +@@ -325,7 +325,14 @@ + else + break; + if (copy_start >= FIRST_PSEUDO_REGISTER) +- break; ++ { ++ if (!optimize) ++ { ++ last_insn = return_copy; ++ continue; ++ } ++ break; ++ } + copy_num + = hard_regno_nregs[copy_start][GET_MODE (copy_reg)]; + --- gcc-4.3-4.3.4.orig/debian/patches/ada-sjlj.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-sjlj.dpatch @@ -0,0 +1,748 @@ +#! /bin/sh -e + +# DP: There are two exception mechanisms to choose from: zero-cost and +# DP: setjump/longjump. The Ada run-time library uses either of them +# DP: but not both. Build both versions of the run-time library. + +# This patch changes the way the upstream Makefiles build the run-time +# library. Before the patch: libada/Makefile calls gcc/ada/Makefile, +# which builds the "rts" subdirectory containing symbolic links to +# most source files, and modified copies of a few source files (to +# take target dependencies into account, and also to select the +# exception handling mechanism in system.ads). Then, gcc/ada/Makefile +# calls itself recursively but in the "rts" subdirectory and builds +# libgnat.a and libgnarl.a (and a couple other libraries: +# libgccprefix.a, libgmem.a). Upon return from this recursive call, +# it deletes the source and object files from "rts", reconstructs the +# source files, and builds libgnat.so and libgnarl.so by calling +# itself recursively a second time in the "rts" directory. + +# Furthermore, gcc/ada/Makefile disables parallel makes, so building +# the static and then shared versions of the RTS is entirely +# sequential even on SMP systems. + +# As a consequence of the above, building the SJLJ version of the +# library would overwrite the ZCX version. Thus it is necessary to +# manually save the previous version of the library before building the +# second one. + +# After the patch: libada/Makefile calls gcc/ada/Makefile, which +# builds the source directory (named gnatlib-sources instead of rts), +# containing the symbolic links and target-dependent files. + +# In a second step, libada/Makefile calls gcc/ada/Makefile again to +# build the targets gnatlib-shared-zcx, gnatlib-static-zcx and +# gnatlib-static-sjlj (we could also build gnatlib-shared-sjlj, but +# that triggers compiler errors on PowerPC). + +# Each of these three targets copies the source directory "rts" into a +# new directory named rts-shared-zcx, rts-static-zcx or +# rts-static-sjlj. In the new directory, they change the value of +# System.ZCX_By_Default, and then they call gcc/ada/Makefile +# recursively in the new directory to build the library. + +# gcc/ada/Makefile.in has a .NOTPARALLEL directive preventing it from +# launching commands in parallel. However, libada/Makefile has no +# such directive and can invoke up to three instances of +# gcc/ada/Makefile.in in parallel. This is okay because each of them +# runs in a different directory. + +# This patch also updates libgnat{vsn,prj}/Makefile and +# gnattools/Makefile to look for the shared ZCX version of the library +# in the appropriate directory, rather than just "rts", and updates +# the "make install" and binary targets as well. + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +Index: src/libada/Makefile.in +=================================================================== +--- src.orig/libada/Makefile.in ++++ src/libada/Makefile.in +@@ -16,7 +16,8 @@ + # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # Default target; must be first. +-all: gnatlib ++GNATLIB = gnatlib-static-zcx gnatlib-static-sjlj gnatlib-shared-zcx ++all: $(GNATLIB) + + # Standard autoconf-set variables. + SHELL = @SHELL@ +@@ -78,30 +79,38 @@ + "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" + + # Rules to build gnatlib. +-.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared +-gnatlib: @default_gnatlib_target@ ++.PHONY: $(GNATLIB) + +-gnatlib-plain: $(GCC_DIR)/ada/Makefile +- test -f stamp-libada || \ ++$(GCC_DIR)/ada/gnatlib-sources-sjlj/a-except.ads: + $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ + THREAD_KIND="$(THREAD_KIND)" \ + TRACE="$(TRACE)" \ +- gnatlib \ +- && touch stamp-libada ++ EH_MECHANISM="" \ ++ gnatlib-sources-sjlj/a-except.ads + +-gnatlib-sjlj gnatlib-zcx gnatlib-shared: $(GCC_DIR)/ada/Makefile +- test -f stamp-libada || \ ++$(GCC_DIR)/ada/gnatlib-sources-zcx/a-except.ads: + $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ + THREAD_KIND="$(THREAD_KIND)" \ + TRACE="$(TRACE)" \ +- $@ \ +- && touch stamp-libada ++ EH_MECHANISM="-gcc" \ ++ gnatlib-sources-zcx/a-except.ads ++ ++$(GNATLIB): $(GCC_DIR)/ada/Makefile \ ++$(GCC_DIR)/ada/gnatlib-sources-zcx/a-except.ads \ ++$(GCC_DIR)/ada/gnatlib-sources-sjlj/a-except.ads ++ $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \ ++ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ ++ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ ++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ ++ THREAD_KIND="$(THREAD_KIND)" \ ++ TRACE="$(TRACE)" \ ++ $@ + + # Check uninstalled version. + check: +Index: src/libada/configure +=================================================================== +--- src.orig/libada/configure ++++ src/libada/configure +@@ -1552,17 +1552,6 @@ + *) x_ada_cflags= ;; + esac + +- +-# Determine what to build for 'gnatlib' +-if test $build = $target \ +- && test ${enable_shared} = yes ; then +- # Note that build=target is almost certainly the wrong test; FIXME +- default_gnatlib_target="gnatlib-shared" +-else +- default_gnatlib_target="gnatlib-plain" +-fi +- +- + # Output: create a Makefile. + ac_config_files="$ac_config_files Makefile" + +@@ -2222,7 +2211,6 @@ + s,@enable_shared@,$enable_shared,;t t + s,@LN_S@,$LN_S,;t t + s,@x_ada_cflags@,$x_ada_cflags,;t t +-s,@default_gnatlib_target@,$default_gnatlib_target,;t t + s,@LIBOBJS@,$LIBOBJS,;t t + s,@LTLIBOBJS@,$LTLIBOBJS,;t t + CEOF +Index: src/gcc/ada/Makefile.in +=================================================================== +--- src.orig/gcc/ada/Makefile.in ++++ src/gcc/ada/Makefile.in +@@ -1563,53 +1607,77 @@ + a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \ + s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads + +-../stamp-gnatlib: +- @if [ ! -f stamp-gnatlib ] ; \ +- then \ +- $(ECHO) You must first build the GNAT library: make gnatlib; \ +- false; \ +- else \ +- true; \ +- fi ++libgnat = libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) ++libgnat-sjlj = libgnat$(hyphen)sjlj$(hyphen)$(LIBRARY_VERSION)$(soext) + +-install-gnatlib: ../stamp-gnatlib ++install-gnatlib: rts-static-zcx/libgnat$(arext) rts-static-sjlj/libgnat$(arext) ++install-gnatlib: rts-shared-zcx/$(libgnat) + # Create the directory before deleting it, in case the directory is + # a list of directories (as it may be on VMS). This ensures we are + # deleting the right one. +- -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) +- -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) +- $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) +- $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) +- -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) +- -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) +- for file in rts/*.ali; do \ +- $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ ++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR) ++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR) ++ $(RMDIR) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR) ++ $(RMDIR) $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR) ++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR) ++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR) ++ ++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR) ++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR) ++ $(RMDIR) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR) ++ $(RMDIR) $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR) ++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR) ++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR) ++ ++ for file in rts-shared-zcx/*.ali; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR); \ ++ done ++ for file in rts-static-sjlj/*.ali; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR); \ ++ done ++ ++ -cd rts-static-zcx; for file in *$(arext);do \ ++ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR); \ ++ $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR)/$$file; \ + done +- -cd rts; for file in *$(arext);do \ +- $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ +- $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \ ++ -cd rts-static-sjlj; for file in *$(arext);do \ ++ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR); \ ++ $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR)/$$file; \ + done ++ ++ -$(foreach file, $(EXTRA_ADALIB_FILES), \ ++ $(INSTALL_DATA_DATE) rts-static-zcx/$(file) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR) && \ ++ ) true + -$(foreach file, $(EXTRA_ADALIB_FILES), \ +- $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \ ++ $(INSTALL_DATA_DATE) rts-static-sjlj/$(file) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR) && \ + ) true ++ + # Install the shared libraries, if any, using $(INSTALL) instead + # of $(INSTALL_DATA). The latter may force a mode inappropriate + # for shared libraries on some targets, e.g. on HP-UX where the x + # permission is required. + for file in gnat gnarl; do \ +- if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ +- $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ +- $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ ++ if [ -f rts-shared-zcx/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 ]; then \ ++ $(INSTALL) rts-shared-zcx/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR); \ +- $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ +- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext); \ + fi; \ + done ++ + # This copy must be done preserving the date on the original file. +- for file in rts/*.ad?; do \ +- $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \ ++ for file in rts-shared-zcx/*.adb rts-shared-zcx/*.ads; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR); \ ++ done ++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)/*.adb ++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)/*.ads ++ for file in rts-static-sjlj/*.adb rts-static-sjlj/*.ads; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR); \ + done +- cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb +- cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads ++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)/*.adb ++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)/*.ads ++ ++ (cd $(DESTDIR)$(libsubdir); \ ++ ln -s rts-native/adainclude adainclude; \ ++ ln -s rts-native/adalib adalib;) + + # NOTE: The $(foreach ...) commands assume ";" is the valid separator between + # successive target commands. Although the Gnu make documentation +@@ -1620,23 +1690,30 @@ + + # GNULLI Begin ########################################################### + +-../stamp-gnatlib1: Makefile +- $(RMDIR) rts +- $(MKDIR) rts +- $(CHMOD) u+w rts ++replace_zcx_by_default=\ ++'s/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := $(zcx_by_default);/' ++ ++gnatlib-sources-zcx/a-except.ads: dir=$(dir $@) ++gnatlib-sources-zcx/a-except.ads: zcx_by_default=True ++ ++gnatlib-sources-sjlj/a-except.ads: dir=$(dir $@) ++gnatlib-sources-sjlj/a-except.ads: zcx_by_default=False ++ ++gnatlib-sources-zcx/a-except.ads gnatlib-sources-sjlj/a-except.ads: ++ $(MKDIR) $(dir) ++ $(CHMOD) u+w $(dir) + # Copy target independent sources + $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ +- $(LN_S) $(fsrcpfx)$(f) rts ;) true ++ $(LN_S) $(fsrcpfx)$(f) $(dir) ;) true + # Remove files to be replaced by target dependent sources + $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ +- rts/$(word 1,$(subst <, ,$(PAIR)))) +- $(RM) rts/*-*-*.ads rts/*-*-*.adb ++ $(dir)/$(word 1,$(subst <, ,$(PAIR)))) ++ $(RM) $(dir)/*-*-*.ads $(dir)/*-*-*.adb + # Copy new target dependent sources + $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ + $(LN_S) $(fsrcpfx)$(word 2,$(subst <, ,$(PAIR))) \ +- rts/$(word 1,$(subst <, ,$(PAIR)));) +- $(RM) ../stamp-gnatlib +- touch ../stamp-gnatlib1 ++ $(dir)/$(word 1,$(subst <, ,$(PAIR)));) ++ sed -e $(replace_zcx_by_default) $(dir)/system.ads > $(dir)/s.ads + + # GNULLI End ############################################################# + +@@ -1646,57 +1723,60 @@ + # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS) + # is guaranteed to overflow the buffer. + +-gnatlib: ../stamp-gnatlib1 +- $(MAKE) -C rts \ ++%/libgnat$(arext): build_dir = $(dir $@) ++%/libgnat$(arext): libgnarl = $(subst libgnat,libgnarl,$@) ++%/libgnat$(arext): libgnala = $(subst libgnat,libgnala,$@) ++%/libgnat$(arext): % ++ $(MAKE) -C $(build_dir) \ + CC="`echo \"$(GCC_FOR_TARGET)\" \ + | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ +- INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ +- CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ +- FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ ++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ ++ CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ + srcdir=$(fsrcdir) \ +- -f ../Makefile $(LIBGNAT_OBJS) +- $(MAKE) -C rts \ ++ -f ../Makefile $(LIBGNAT_OBJS) ++ $(MAKE) -C $(build_dir) \ + CC="`echo \"$(GCC_FOR_TARGET)\" \ + | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ +- ADA_INCLUDES="" \ +- CFLAGS="$(GNATLIBCFLAGS)" \ +- ADAFLAGS="$(GNATLIBFLAGS)" \ +- FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ ++ ADA_INCLUDES="" \ ++ CFLAGS="$(GNATLIBCFLAGS)" \ ++ ADAFLAGS="$(GNATLIBFLAGS)" \ + srcdir=$(fsrcdir) \ +- -f ../Makefile \ +- $(GNATRTL_OBJS) +- $(RM) rts/libgnat$(arext) rts/libgnarl$(arext) +- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \ +- $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o) ++ -f ../Makefile \ ++ $(GNATRTL_OBJS) ++ $(RM) $@ $(libgnarl) ++ $(AR_FOR_TARGET) $(AR_FLAGS) $@ \ ++ $(addprefix $(build_dir),$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o) + ifneq ($(PREFIX_OBJS),) +- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \ ++ $(AR_FOR_TARGET) $(AR_FLAGS) $(build_dir)libgccprefix$(arext) \ + $(PREFIX_OBJS); +- $(RANLIB_FOR_TARGET) rts/libgccprefix$(arext) ++ $(RANLIB_FOR_TARGET) $(build_dir)libgccprefix$(arext) + endif +- $(RANLIB_FOR_TARGET) rts/libgnat$(arext) +- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnarl$(arext) \ +- $(addprefix rts/,$(GNATRTL_TASKING_OBJS)) +- $(RANLIB_FOR_TARGET) rts/libgnarl$(arext) +- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnala$(arext) \ +- $(addprefix rts/,$(GNATRTL_LINEARALGEBRA_OBJS)) +- $(RANLIB_FOR_TARGET) rts/libgnala$(arext) ++ $(RANLIB_FOR_TARGET) $@ ++ $(AR_FOR_TARGET) $(AR_FLAGS) $(libgnarl) \ ++ $(addprefix $(build_dir),$(GNATRTL_TASKING_OBJS)) ++ $(RANLIB_FOR_TARGET) $(libgnarl) ++ $(AR_FOR_TARGET) $(AR_FLAGS) $(libgnala) \ ++ $(addprefix $(build_dir),$(GNATRTL_LINEARALGEBRA_OBJS)) ++ $(RANLIB_FOR_TARGET) $(libgnala) + ifeq ($(GMEM_LIB),gmemlib) +- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgmem$(arext) \ +- rts/memtrack.o +- $(RANLIB_FOR_TARGET) rts/libgmem$(arext) ++ $(AR_FOR_TARGET) $(AR_FLAGS) $(build_dir)libgmem$(arext) \ ++ $(build_dir)memtrack.o ++ $(RANLIB_FOR_TARGET) $(build_dir)libgmem$(arext) + endif +- touch ../stamp-gnatlib + + # Warning: this target assumes that LIBRARY_VERSION has been set correctly. +-gnatlib-shared-default: ../stamp-gnatlib1 +- $(MAKE) -C rts \ ++%/$(libgnat) %/$(libgnat-sjlj): build_dir = $(dir $@) ++%/$(libgnat) %/$(libgnat-sjlj): libgnarl = $(notdir $(subst libgnat,libgnarl,$@)) ++%/$(libgnat) %/$(libgnat-sjlj): libgnala = $(notdir $(subst libgnat,libgnala,$@)) ++%/$(libgnat) %/$(libgnat-sjlj): % ++ $(MAKE) -C $(build_dir) \ + CC="`echo \"$(GCC_FOR_TARGET)\" \ + | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ + INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ + CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ + srcdir=$(fsrcdir) \ + -f ../Makefile $(LIBGNAT_OBJS) +- $(MAKE) -C rts \ ++ $(MAKE) -C $(build_dir) \ + CC="`echo \"$(GCC_FOR_TARGET)\" \ + | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ + ADA_INCLUDES="" \ +@@ -1706,157 +1786,75 @@ + srcdir=$(fsrcdir) \ + -f ../Makefile \ + $(GNATRTL_OBJS) +- $(RM) rts/libgna*$(soext) rts/libgna*$(soext).1 +- cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ ++ $(RM) $(build_dir)/libgna*$(soext) $(build_dir)/libgna*$(soext).1 ++ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ + $(TARGET_LIBGCC2_CFLAGS) \ +- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ -o $(notdir $@).1 \ + $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ + g-trasym.o convert_addresses.o \ +- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ $(SO_OPTS)$(notdir $@).1 \ + $(MISCLIB) -lm +- cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ ++ cd $(build_dir); $(LN_S) $(notdir $@).1 $(notdir $@) ++ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ + $(TARGET_LIBGCC2_CFLAGS) \ +- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ -o $(libgnarl).1 \ + $(GNATRTL_TASKING_OBJS) \ +- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ $(SO_OPTS)$(libgnarl).1 \ + $(THREADSLIB) +- cd rts; for lib in gnat gnarl; do \ +- l=lib$${lib}$(hyphen)$(LIBRARY_VERSION)$(soext); \ +- $(LN_S) $$l.1 $$l; \ +- done +-# Delete the object files, lest they be linked statically into the tools +-# executables. Only the .ali, .a and .so files must remain. +- rm -f rts/*.o +- $(CHMOD) a-wx rts/*.ali +- +-gnatlib-shared-dual: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(RM) rts/*.o rts/*.ali +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib-shared-default +- +-gnatlib-shared-dual-win32: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(RM) rts/*.o rts/*.ali +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib-shared-win32 +- +-# ??? we need to add the option to support auto-import of arrays/records to +-# the GNATLIBFLAGS when this will be supported by GNAT. At this point we will +-# use the gnatlib-shared-dual-win32 target to build the GNAT runtimes on +-# Windows. +-gnatlib-shared-win32: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(RM) rts/libgna*$(soext) +- cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ +- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ +- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) +- cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ +- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(GNATRTL_TASKING_OBJS) \ +- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) +- +-gnatlib-shared-darwin: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) \ +- -fno-common" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(RM) rts/libgnat$(soext) rts/libgnarl$(soext) +- cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ +- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ +- $(SO_OPTS) \ +- $(MISCLIB) -lm +- cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ +- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(GNATRTL_TASKING_OBJS) \ +- $(SO_OPTS) \ +- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) +- cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- libgnat$(soext) +- cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- libgnarl$(soext) +- +-gnatlib-shared-vms: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(RM) rts/libgna*$(soext) +- cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ +- objdump --syms $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) | \ +- $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ +- echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ +- ../../xgcc -g -B../../ -shared -shared-libgcc \ +- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \ +- sys\$$library:trace.exe \ +- --for-linker=/noinform \ +- --for-linker=SYMVEC_$$$$.opt \ +- --for-linker=gsmatch=equal,$(GSMATCH_VERSION) +- cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ +- objdump --syms $(GNATRTL_TASKING_OBJS) | \ +- $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ +- echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ +- ../../xgcc -g -B../../ -shared -shared-libgcc \ +- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- sys\$$library:trace.exe \ +- --for-linker=/noinform \ +- --for-linker=SYMVEC_$$$$.opt \ +- --for-linker=gsmatch=equal,$(GSMATCH_VERSION) ++ cd $(build_dir); $(LN_S) $(libgnarl).1 $(libgnarl) ++# TODO: enable building the shared libgnala ++ifeq (libgnala-shared-enabled,yes) ++ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ ++ $(TARGET_LIBGCC2_CFLAGS) \ ++ -o $(libgnala).1 \ ++ $(GNATRTL_LINEARALGEBRA_OBJS) \ ++ $(SO_OPTS)$(libgnala).1 ++ cd $(build_dir); $(LN_S) $(libgnala).1 $(libgnala) ++endif + +-gnatlib-shared: ++gnatlib-shared-dual: gnatlib-static-zcx gnatlib-static-sjlj gnatlib-shared-zcx ++ ++gnatlib-shared-zcx: rts = $(subst gnatlib,rts,$@) ++gnatlib-shared-zcx: gnatlib-sources-zcx/a-except.ads ++ if [ ! -d $(rts) ] ; then \ ++ cp -a gnatlib-sources-zcx $(rts); \ ++ $(MV) $(rts)/s.ads $(rts)/system.ads; \ ++ fi + $(MAKE) $(FLAGS_TO_PASS) \ ++ EH_MECHANISM="-gcc" \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + THREAD_KIND="$(THREAD_KIND)" \ + TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ +- $(GNATLIB_SHARED) ++ $(rts)/$(libgnat) + +-gnatlib-sjlj: +- $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" ../stamp-gnatlib1 +- sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' rts/system.ads > rts/s.ads +- $(MV) rts/s.ads rts/system.ads ++gnatlib-static-sjlj: rts = $(subst gnatlib,rts,$@) ++gnatlib-static-sjlj: gnatlib-sources-sjlj/a-except.ads ++ if [ ! -d $(rts) ] ; then \ ++ cp -a gnatlib-sources-sjlj $(rts); \ ++ $(MV) $(rts)/s.ads $(rts)/system.ads; \ ++ fi + $(MAKE) $(FLAGS_TO_PASS) \ + EH_MECHANISM="" \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + THREAD_KIND="$(THREAD_KIND)" \ +- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib ++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ ++ $(rts)/libgnat$(arext) + +-gnatlib-zcx: +- $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" ../stamp-gnatlib1 +- sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' rts/system.ads > rts/s.ads +- $(MV) rts/s.ads rts/system.ads ++gnatlib-static-zcx: rts = $(subst gnatlib,rts,$@) ++gnatlib-static-zcx: gnatlib-sources-zcx/a-except.ads ++ if [ ! -d $(rts) ] ; then \ ++ cp -a gnatlib-sources-zcx $(rts); \ ++ $(MV) $(rts)/s.ads $(rts)/system.ads; \ ++ fi + $(MAKE) $(FLAGS_TO_PASS) \ + EH_MECHANISM="-gcc" \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + THREAD_KIND="$(THREAD_KIND)" \ +- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib ++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ ++ $(rts)/libgnat$(arext) + + # .s files for cross-building + gnat-cross: force +@@ -1864,6 +1862,10 @@ + + ADA_INCLUDE_DIR = $(libsubdir)/adainclude + ADA_RTL_OBJ_DIR = $(libsubdir)/adalib ++ADA_NATIVE_INCLUDE_DIR = $(libsubdir)/rts-native/adainclude ++ADA_NATIVE_RTL_OBJ_DIR = $(libsubdir)/rts-native/adalib ++ADA_SJLJ_INCLUDE_DIR = $(libsubdir)/rts-sjlj/adainclude ++ADA_SJLJ_RTL_OBJ_DIR = $(libsubdir)/rts-sjlj/adalib + + # force no sibling call optimization on s-traceb.o so the number of stack + # frames to be skipped when computing a call chain is not modified by +Index: src/gnattools/Makefile.in +=================================================================== +--- src.orig/gnattools/Makefile.in ++++ src/gnattools/Makefile.in +@@ -34,12 +34,13 @@ + LN_S=@LN_S@ + target_noncanonical=@target_noncanonical@ + ++RTS=../gcc/ada/rts-shared-zcx + CFLAGS=-O2 -Wall + ADA_CFLAGS=-O2 -gnatn +-ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn -I../libgnatprj ++ADA_INCLUDES=-nostdinc -I- -I. -I$(RTS) -I../libgnatvsn -I../libgnatprj + LIB_VERSION=$(strip $(shell grep ' Library_Version :' \ + ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) +-ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION) ++ADA_LIBS := -L$(RTS) -lgnat-$(LIB_VERSION) + ADA_LIBS += -L../libgnatvsn -lgnatvsn + ADA_LIBS += -L../libgnatprj -lgnatprj + +@@ -109,6 +110,7 @@ + + .PHONY: gnattools gnattools-native gnattools-cross regnattools + gnattools: @default_gnattools_target@ ++ (cd $(RTS); if [ -d obj ]; then mv obj/* .; rmdir obj; fi) + + BODIES := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.adb,$(f)))) + SPECS := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.ads,$(f)))) +@@ -119,9 +121,12 @@ + for file in $(BODIES) $(SPECS); do \ + $(LN_S) -f $$file .; \ + done ++# Move the RTS object files away lest they be linked statically into the ++# tools. Only the .ali, .a and .so files must remain. ++ (cd $(RTS); mkdir obj; mv *.o obj; chmod a-wx *.ali) + touch $@ + +-gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so ++gnattools-native: $(RTS)/libgnat-$(LIB_VERSION).so + gnattools-native: ../libgnatvsn/libgnatvsn.so + gnattools-native: stamp-gnattools-sources + gnattools-native: $(TOOLS) gnatbl +@@ -137,7 +142,7 @@ + $(GCC) -o $@ $^ \ + ../libgnatprj/libgnatprj.a \ + ../libgnatvsn/libgnatvsn.a \ +- ../gcc/ada/rts/libgnat.a \ ++ ../gcc/ada/rts-static-zcx/libgnat.a \ + ../libiberty/libiberty.a + + gnatlink: $(GNATLINK_OBJS) b_gnatl.o +@@ -155,7 +160,7 @@ + $(GCC) -o $@ $(ADA_CFLAGS) $^ \ + ../libgnatprj/libgnatprj.a \ + ../libgnatvsn/libgnatvsn.a \ +- ../gcc/ada/rts/libgnat.a \ ++ ../gcc/ada/rts-static-zcx/libgnat.a \ + ../libiberty/libiberty.a + + gnatmake: $(GNATMAKE_OBJS) b_gnatm.o +Index: src/libgnatprj/Makefile.in +=================================================================== +--- src.orig/libgnatprj/Makefile.in ++++ src/libgnatprj/Makefile.in +@@ -25,7 +25,8 @@ + @srcdir@/../gcc/ada/gnatvsn.ads | \ + sed -e 's/.*"\(.*\)".*/\1/')) + GCC:=../gcc/xgcc -B../gcc/ +-LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts ++RTS:=../gcc/ada/rts-shared-zcx ++LIBGNAT_JUST_BUILT := -nostdinc -I$(RTS) + LIBGNATVSN := -I../libgnatvsn + CFLAGS := -g -O2 + ADAFLAGS := -g -O2 -gnatn +@@ -65,7 +66,7 @@ + libgnatprj.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS)) + : # Make libgnatprj.so + $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \ +- -L../gcc/ada/rts -lgnat-$(LIB_VERSION) \ ++ -L$(RTS) -lgnat-$(LIB_VERSION) \ + -L../libgnatvsn -lgnatvsn + $(LN_S) -f libgnatprj.so.$(LIB_VERSION) libgnatprj.so + chmod a=r obj-shared/*.ali +Index: src/libgnatvsn/Makefile.in +=================================================================== +--- src.orig/libgnatvsn/Makefile.in ++++ src/libgnatvsn/Makefile.in +@@ -25,7 +25,8 @@ + @srcdir@/../gcc/ada/gnatvsn.ads | \ + sed -e 's/.*"\(.*\)".*/\1/')) + GCC:=../gcc/xgcc -B../gcc/ +-LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts ++RTS:=../gcc/ada/rts-shared-zcx ++LIBGNAT_JUST_BUILT := -nostdinc -I$(RTS) + CFLAGS := -g -O2 -gnatn + BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER) + DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE) +@@ -64,7 +65,7 @@ + libgnatvsn.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS)) + : # Make libgnatvsn.so + $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \ +- -L../gcc/ada/rts -lgnat-$(LIB_VERSION) ++ -L$(RTS) -lgnat-$(LIB_VERSION) + ln -s libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so + chmod a=r obj-shared/*.ali + # Make the .ali files, but not the .o files, visible to the gnat tools. +Index: src/gcc/ada/Make-lang.in +=================================================================== +--- src.orig/gcc/ada/Make-lang.in ++++ src/gcc/ada/Make-lang.in +@@ -62,7 +62,8 @@ + "ADA_FOR_TARGET=$(ADA_FOR_TARGET)" \ + "INSTALL=$(INSTALL)" \ + "INSTALL_DATA=$(INSTALL_DATA)" \ +- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" ++ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ ++ "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" + + # Say how to compile Ada programs. + .SUFFIXES: .ada .adb .ads --- gcc-4.3-4.3.4.orig/debian/patches/pr16098.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr16098.dpatch @@ -0,0 +1,130 @@ +#! /bin/sh -e + +# DP: PR ada/16098: Illegal program not detected, RM 13.1(6) + +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 && autoconf2.59 + ;; + -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 + +gcc/ada/ + +From: sam + +PR ada/16098 + * sem_prag.adb (Error_Pragma_Ref): New. + (Process_Convention): Specialized message for non-local + subprogram renaming. Detect the problem in homonyms as well. + + gcc/testsuite/ + PR ada/16098 + * gnat.dg/specs/renamings.ads: New. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134262 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_prag.adb | 29 +++++++++++++++++++++++++++++ + gcc/testsuite/gnat.dg/specs/renamings.ads | 14 ++++++++++++++ + 2 files changed, 43 insertions(+), 0 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/renamings.ads + + +diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb +index f0f31cb..8dce4de 100644 +--- a/gcc/ada/sem_prag.adb ++++ b/gcc/ada/sem_prag.adb +@@ -450,6 +450,13 @@ package body Sem_Prag is + -- reference the identifier. After placing the message, Pragma_Exit + -- is raised. + ++ procedure Error_Pragma_Ref (Msg : String; Ref : Entity_Id); ++ pragma No_Return (Error_Pragma_Ref); ++ -- Outputs error message for current pragma. The message may contain ++ -- a % that will be replaced with the pragma name. The parameter Ref ++ -- must be an entity whose name can be referenced by & and sloc by #. ++ -- After placing the message, Pragma_Exit is raised. ++ + function Find_Lib_Unit_Name return Entity_Id; + -- Used for a library unit pragma to find the entity to which the + -- library unit pragma applies, returns the entity found. +@@ -1534,6 +1541,18 @@ package body Sem_Prag is + raise Pragma_Exit; + end Error_Pragma_Arg_Ident; + ++ ---------------------- ++ -- Error_Pragma_Ref -- ++ ---------------------- ++ ++ procedure Error_Pragma_Ref (Msg : String; Ref : Entity_Id) is ++ begin ++ Error_Msg_Name_1 := Chars (N); ++ Error_Msg_Sloc := Sloc (Ref); ++ Error_Msg_NE (Msg, N, Ref); ++ raise Pragma_Exit; ++ end Error_Pragma_Ref; ++ + ------------------------ + -- Find_Lib_Unit_Name -- + ------------------------ +@@ -2229,6 +2248,10 @@ package body Sem_Prag is + if Nkind (Parent (Declaration_Node (E))) = + N_Subprogram_Renaming_Declaration + then ++ if Scope (E) /= Scope (Alias (E)) then ++ Error_Pragma_Ref ++ ("cannot apply pragma% to non-local renaming&#", E); ++ end if; + E := Alias (E); + + elsif Nkind (Parent (E)) = N_Full_Type_Declaration +@@ -2358,6 +2381,12 @@ package body Sem_Prag is + and then Nkind (Original_Node (Parent (E1))) /= + N_Full_Type_Declaration + then ++ if Present (Alias (E1)) ++ and then Scope (E1) /= Scope (Alias (E1)) ++ then ++ Error_Pragma_Ref ++ ("cannot apply pragma% to non-local renaming&#", E1); ++ end if; + Set_Convention_From_Pragma (E1); + + if Prag_Id = Pragma_Import then +diff --git a/gcc/testsuite/gnat.dg/specs/renamings.ads b/gcc/testsuite/gnat.dg/specs/renamings.ads +new file mode 100644 +index 0000000..3b90827 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/renamings.ads +@@ -0,0 +1,14 @@ ++package Renamings is ++ ++ package Inner is ++ procedure PI (X : Integer); ++ end Inner; ++ ++ procedure P (X : Integer) renames Inner.PI; ++ procedure P (X : Float); ++ pragma Convention (C, P); -- { dg-error "non-local renaming" } ++ ++ procedure Q (X : Float); ++ procedure Q (X : Integer) renames Inner.PI; ++ pragma Convention (C, Q); -- { dg-error "non-local renaming" } ++end Renamings; --- gcc-4.3-4.3.4.orig/debian/patches/gcc-d-lang.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-d-lang.dpatch @@ -0,0 +1,278 @@ +#! /bin/sh -e + +# DP: Add D options and specs for the gcc driver. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -urN gcc.orig/d/lang.opt gcc/d/lang.opt +--- gcc.orig/d/lang.opt 1970-01-01 01:00:00.000000000 +0100 ++++ gcc/d/lang.opt 2007-03-04 16:29:47.000000000 +0100 +@@ -0,0 +1,160 @@ ++; GDC -- D front-end for GCC ++; Copyright (C) 2004 David Friedman ++; ++; 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 of the License, 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, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++; This is used in GCC 3.4+ ++ ++Language ++D ++ ++I ++D Joined Separate ++-I

Add to the end of the main include path. ++ ++J ++D Joined Separate ++-J Add to the end of the string import path. ++ ++fdeprecated ++D ++Allow use of deprecated features ++ ++fassert ++D ++Generate runtime code for assert()'s ++ ++frelease ++D ++Compile release version ++ ++funittest ++D ++Compile in unittest code ++ ++fversion= ++D Joined RejectNegative ++-fversion= Compile in version code >= or identified by ++ ++fdebug= ++D Joined RejectNegative ++-fdebug,-fdebug=,-fdebug= Compile in debug code, code <= level, or code identified by ident ++ ++fdebug ++D ++Compile in debug code ++ ++fdebug-c ++D ++With -g, generate C debug information for debugger compatibility ++ ++fd-verbose ++D ++Print information about D language processing to stdout ++ ++fd-version=1 ++D RejectNegative ++Compile as D language version 1 ++ ++femit-templates= ++D Joined RejectNegative ++-femit-templates=[normal|private|all|none|auto] Control template emission ++ ++femit-templates ++D ++-femit-templates Emit templates code and data even if the linker cannot merge multiple copies ++ ++nostdinc ++D ++Do not search standard system include directories ++ ++fonly= ++D Joined RejectNegative ++Process all modules specified on the command line, but only generate code for the module specified by the argument. ++ ++fod= ++D Joined RejectNegative ++-fod= Specify the object output directory. Note: this is actually a driver option; the backend ignores it. ++ ++fop ++D ++Specify that the source file's parent directories should be appended to the object output directory. Note: this is actually a driver option; the backend ignores it. ++ ++fintfc ++Generate D interface files ++ ++fintfc-dir= ++D Joined RejectNegative ++-fintfc-dir= Write D interface files to directory ++ ++fintfc-file= ++D Joined RejectNegative ++-fintfc-file= Write D interface file to ++ ++fdoc ++D ++Generate documentation ++ ++fdoc-dir= ++D Joined RejectNegative ++-fdoc-dir= Write documentation file to docdir directory ++ ++fdoc-file= ++D Joined RejectNegative ++-fdoc-file= Write documentation file to filename ++ ++fdoc-inc= ++D Joined RejectNegative ++-fdoc-inc= Include a Ddoc macro file ++ ++fmultilib-dir= ++D Joined RejectNegative ++-fmultilib-dir= Select header multilib subdirectory ++ ++Wsign-compare ++D ++Warn about signed-unsigned comparisons ++ ++fdump-source ++D RejectNegative ++Dump decoded UTF-8 text and source from HTML ++ ++fbuiltin ++D ++Recognize built-in functions ++ ++funsigned-char ++D ++Make \"char\" unsigned by default (silently ignored in D) ++ ++fsigned-char ++D ++Make \"char\" signed by default (silently ignored in D) ++ ++iprefix ++D Joined Separate ++-iprefix Specify as a prefix for next two options ++ ++isysroot ++D Joined Separate ++-isysroot Set to be the system root directory ++ ++isystem ++D Joined Separate ++-isystem Add to the start of the system include path ++ ++Wall ++D ++Enable most warning messages +diff -urN gcc.orig/d/lang-specs.h gcc/d/lang-specs.h +--- gcc.orig/d/lang-specs.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc/d/lang-specs.h 2007-03-04 16:36:44.000000000 +0100 +@@ -0,0 +1,53 @@ ++/* GDC -- D front-end for GCC ++ Copyright (C) 2004 David Friedman ++ ++ 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 of the License, 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, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++ ++#ifndef D_D_SPEC ++#define D_D_SPEC 0 ++#endif ++ ++/* %{!M} probably doesn't make sense because we would need ++ to do that -- -MD and -MMD doesn't sound like a plan for D.... */ ++ ++/* %(d_options) ? */ ++ ++#if GCC_SPEC_FORMAT_4 ++#define D_D_SPEC_REST 0, 1, 0 ++#else ++#define D_D_SPEC_REST 0 ++#endif ++ ++#if D_DRIVER_ONLY ++{".html", "@d", D_D_SPEC_REST }, ++{".HTML", "@d", D_D_SPEC_REST }, ++{".htm", "@d", D_D_SPEC_REST }, ++{".HTM", "@d", D_D_SPEC_REST }, ++{".xhtml", "@d", D_D_SPEC_REST }, ++{".XHTML", "@d", D_D_SPEC_REST }, ++{".d", "@d", D_D_SPEC_REST }, ++{".D", "@d", D_D_SPEC_REST }, ++{"@d", ++ "%{!E:cc1d %i %:d-all-sources() %(cc1_options) %I %N %{nostdinc*} %{+e*} %{I*} %{J*}\ ++ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", D_D_SPEC_REST }, ++#else ++{".d", "@d", D_D_SPEC_REST }, ++{".D", "@d", D_D_SPEC_REST }, ++{"@d", ++ "%{!E:cc1d %i %(cc1_options) %I %N %{nostdinc*} %{+e*} %{I*} %{J*}\ ++ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", D_D_SPEC_REST }, ++#endif ++ +*** gcc-orig/gcc.c 2008-03-02 17:55:19.000000000 -0500 +--- gcc/gcc.c 2008-07-24 11:25:08.000000000 -0400 +*************** +*** 472,477 **** +--- 478,484 ---- + assembler has done its job. + %D Dump out a -L option for each directory in startfile_prefixes. + If multilib_dir is set, extra entries are generated with it affixed. ++ %N Output the currently selected multilib directory name. + %l process LINK_SPEC as a spec. + %L process LIB_SPEC as a spec. + %G process LIBGCC_SPEC as a spec. +*************** +*** 5240,5245 **** +--- 5268,5284 ---- + return value; + break; + ++ case 'N': ++ if (multilib_dir) ++ { ++ arg_going = 1; ++ obstack_grow (&obstack, "-fmultilib-dir=", ++ strlen ("-fmultilib-dir=")); ++ obstack_grow (&obstack, multilib_dir, ++ strlen (multilib_dir)); ++ } ++ break; ++ + /* Here we define characters other than letters and digits. */ + + case '{': --- gcc-4.3-4.3.4.orig/debian/patches/libobjc-gc-link.dpatch +++ gcc-4.3-4.3.4/debian/patches/libobjc-gc-link.dpatch @@ -0,0 +1,146 @@ +#! /bin/sh -e + +# DP: Link libobjc_gc with libgcjgc_convenience.la and needed thread flags +# DP: and libraries. + +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 -p0 < $0 + cd ${dir}libobjc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}libobjc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-07-03 Matthias Klose + + * configure.ac (OBJC_BOEHM_GC_LIBS): Link with libgcjgc_convenience.la + and needed thread flags and libraries. + * configure: Regenerate. + * Makefile.in (libobjc_gc$(libsuffix).la): Link with OBJC_BOEHM_GC_LIBS. + +Index: libobjc/Makefile.in +=================================================================== +--- libobjc/Makefile.in (revision 137350) ++++ libobjc/Makefile.in (working copy) +@@ -95,6 +95,7 @@ + OBJC_THREAD_FILE=thr-objc + OBJC_BOEHM_GC=@OBJC_BOEHM_GC@ + OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@ ++OBJC_BOEHM_GC_LIBS=@OBJC_BOEHM_GC_LIBS@ + + INCLUDES = -I$(srcdir)/objc -I$(srcdir)/$(MULTISRCTOP)../gcc \ + -I$(srcdir)/$(MULTISRCTOP)../gcc/config \ +@@ -280,7 +281,7 @@ + -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc) + + libobjc_gc$(libsuffix).la: $(OBJS_GC) +- $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \ ++ $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) $(OBJC_BOEHM_GC_LIBS) \ + -rpath $(toolexeclibdir) \ + -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc) + +Index: libobjc/configure.ac +=================================================================== +--- libobjc/configure.ac (revision 137350) ++++ libobjc/configure.ac (working copy) +@@ -212,7 +212,85 @@ + [Define if the compiler has a thread header that is non single.]) + fi + ++THREADS=$target_thread_file ++if test -z "$THREADS"; then ++ THREADS=no ++fi ++THREADLIBS= ++case "$THREADS" in ++ no | none | single) ++ THREADS=none ++ ;; ++ posix | posix95 | pthreads) ++ THREADS=posix ++ THREADLIBS=-lpthread ++ case "$host" in ++ *-*-hpux11*) ++ THREADLIBS="-lpthread -lrt" ++ ;; ++ *-*-kfreebsd*-gnu) ++ THREADDLLIBS=-pthread ++ ;; ++ *-*-freebsd*) ++ THREADLIBS=-pthread ++ ;; ++ *-*-solaris*) ++ # Need to use alternate thread library, otherwise gctest hangs ++ # on Solaris 8. ++ multi_os_directory=`$CC -print-multi-os-directory` ++ THREADLIBS="-L/usr/lib/lwp/$multi_os_directory \ ++ -R/usr/lib/lwp/$multi_os_directory -lpthread -lthread -lrt" ++ ;; ++ *-*-osf*) ++ THREADLIBS="-lpthread -lrt" ++ ;; ++ esac ++ ;; ++ win32) ++ ;; ++ dgux386) ++ THREADS=dgux386 ++ # Use pthread GCC switch ++ THREADLIBS=-pthread ++ ;; ++ aix) ++ THREADS=posix ++ THREADLIBS=-lpthread ++ ;; ++ decosf1 | irix | mach | os2 | solaris | dce | vxworks) ++ AC_MSG_ERROR(thread package $THREADS not yet supported) ++ ;; ++ *) ++ AC_MSG_ERROR($THREADS is an unknown thread package) ++ ;; ++esac + ++# We never want libdl on darwin. It is a fake libdl that just ends up making ++# dyld calls anyway ++case "$host" in ++ *-*-darwin*) ;; ++ *) ++ AC_CHECK_LIB(dl, dlopen, extra_libs_libgc=-ldl) ++ ;; ++esac ++ ++# extra LD Flags which are required for targets ++case "${host}" in ++ *-*-darwin*) ++ extra_ldflags_libgc=-Wl,-single_module ++ ;; ++esac ++ ++case $enable_objc_gc in ++ no) ++ OBJC_BOEHM_GC_LIBS='' ++ ;; ++ *) ++ OBJC_BOEHM_GC_LIBS="../boehm-gc/libgcjgc_convenience.la $THREADLIBS $extra_libs_libgc $extra_ldflags_libgc" ++ ;; ++esac ++AC_SUBST(OBJC_BOEHM_GC_LIBS) ++ + AC_MSG_CHECKING([for exception model to use]) + AC_LANG_PUSH(C) + AC_ARG_ENABLE(sjlj-exceptions, --- gcc-4.3-4.3.4.orig/debian/patches/template.dpatch +++ gcc-4.3-4.3.4/debian/patches/template.dpatch @@ -0,0 +1,30 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + --- gcc-4.3-4.3.4.orig/debian/patches/sh4_atomic_update.dpatch +++ gcc-4.3-4.3.4/debian/patches/sh4_atomic_update.dpatch @@ -0,0 +1,301 @@ +#! /bin/sh -e + +#DP: Backport linux atomic ops changes for sh4 from the trunk. #561550. + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- a/gcc/config/sh/linux-atomic.asm 2009-04-10 08:23:07.000000000 +0900 ++++ b/gcc/config/sh/linux-atomic.asm 2009-12-18 11:58:50.000000000 +0900 +@@ -1,10 +1,10 @@ +-/* Copyright (C) 2006 Free Software Foundation, Inc. ++/* Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC 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) ++ the Free Software Foundation; either version 3, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, +@@ -12,17 +12,15 @@ + 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 GCC; see the file COPYING. If not, write to +- the Free Software Foundation, 51 Franklin Street, Fifth Floor, +- Boston, MA 02110-1301, USA. */ +- +-/* As a special exception, if you link this library with other files, +- some of which are compiled with GCC, to produce an executable, +- this library does not by itself 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. */ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ + + !! Linux specific atomic routines for the Renesas / SuperH SH CPUs. + !! Linux kernel for SH3/4 has implemented the support for software +@@ -35,7 +33,7 @@ + + #if ! __SH5__ + +-#define ATOMIC_TEST_AND_SET(N,T) \ ++#define ATOMIC_TEST_AND_SET(N,T,EXT) \ + .global __sync_lock_test_and_set_##N; \ + HIDDEN_FUNC(__sync_lock_test_and_set_##N); \ + .align 2; \ +@@ -48,20 +46,42 @@ + mov.##T r5, @r4; \ + 1: mov r1, r15; \ + rts; \ +- mov r2, r0; \ ++ EXT r2, r0; \ + ENDFUNC(__sync_lock_test_and_set_##N) + +-ATOMIC_TEST_AND_SET (1,b) +-ATOMIC_TEST_AND_SET (2,w) +-ATOMIC_TEST_AND_SET (4,l) +- +-#define ATOMIC_COMPARE_AND_SWAP(N,T) \ +- .global __sync_compare_and_swap_##N; \ +- HIDDEN_FUNC(__sync_compare_and_swap_##N); \ ++ATOMIC_TEST_AND_SET (1,b,extu.b) ++ATOMIC_TEST_AND_SET (2,w,extu.w) ++ATOMIC_TEST_AND_SET (4,l,mov) ++ ++#define ATOMIC_COMPARE_AND_SWAP(N,T,EXTS,EXT) \ ++ .global __sync_val_compare_and_swap_##N; \ ++ HIDDEN_FUNC(__sync_val_compare_and_swap_##N); \ + .align 2; \ +-__sync_compare_and_swap_##N:; \ ++__sync_val_compare_and_swap_##N:; \ + mova 1f, r0; \ +- nop; \ ++ EXTS r5, r5; \ ++ mov r15, r1; \ ++ mov #(0f-1f), r15; \ ++0: mov.##T @r4, r2; \ ++ cmp/eq r2, r5; \ ++ bf 1f; \ ++ mov.##T r6, @r4; \ ++1: mov r1, r15; \ ++ rts; \ ++ EXT r2, r0; \ ++ ENDFUNC(__sync_val_compare_and_swap_##N) ++ ++ATOMIC_COMPARE_AND_SWAP (1,b,exts.b,extu.b) ++ATOMIC_COMPARE_AND_SWAP (2,w,exts.w,extu.w) ++ATOMIC_COMPARE_AND_SWAP (4,l,mov,mov) ++ ++#define ATOMIC_BOOL_COMPARE_AND_SWAP(N,T,EXTS) \ ++ .global __sync_bool_compare_and_swap_##N; \ ++ HIDDEN_FUNC(__sync_bool_compare_and_swap_##N); \ ++ .align 2; \ ++__sync_bool_compare_and_swap_##N:; \ ++ mova 1f, r0; \ ++ EXTS r5, r5; \ + mov r15, r1; \ + mov #(0f-1f), r15; \ + 0: mov.##T @r4, r2; \ +@@ -70,69 +90,134 @@ + mov.##T r6, @r4; \ + 1: mov r1, r15; \ + rts; \ +- mov r2, r0; \ +- ENDFUNC(__sync_compare_and_swap_##N) ++ movt r0; \ ++ ENDFUNC(__sync_bool_compare_and_swap_##N) + +-ATOMIC_COMPARE_AND_SWAP (1,b) +-ATOMIC_COMPARE_AND_SWAP (2,w) +-ATOMIC_COMPARE_AND_SWAP (4,l) ++ATOMIC_BOOL_COMPARE_AND_SWAP (1,b,exts.b) ++ATOMIC_BOOL_COMPARE_AND_SWAP (2,w,exts.w) ++ATOMIC_BOOL_COMPARE_AND_SWAP (4,l,mov) + +-#define ATOMIC_FETCH_AND_OP(OP,N,T) \ ++#define ATOMIC_FETCH_AND_OP(OP,N,T,EXT) \ + .global __sync_fetch_and_##OP##_##N; \ + HIDDEN_FUNC(__sync_fetch_and_##OP##_##N); \ + .align 2; \ + __sync_fetch_and_##OP##_##N:; \ + mova 1f, r0; \ ++ nop; \ + mov r15, r1; \ + mov #(0f-1f), r15; \ + 0: mov.##T @r4, r2; \ +- OP r2, r5; \ +- mov.##T r5, @r4; \ ++ mov r5, r3; \ ++ OP r2, r3; \ ++ mov.##T r3, @r4; \ + 1: mov r1, r15; \ + rts; \ +- mov r2, r0; \ ++ EXT r2, r0; \ + ENDFUNC(__sync_fetch_and_##OP##_##N) + +-ATOMIC_FETCH_AND_OP(add,1,b) +-ATOMIC_FETCH_AND_OP(add,2,w) +-ATOMIC_FETCH_AND_OP(add,4,l) +- +-ATOMIC_FETCH_AND_OP(or,1,b) +-ATOMIC_FETCH_AND_OP(or,2,w) +-ATOMIC_FETCH_AND_OP(or,4,l) +- +-ATOMIC_FETCH_AND_OP(and,1,b) +-ATOMIC_FETCH_AND_OP(and,2,w) +-ATOMIC_FETCH_AND_OP(and,4,l) +- +-ATOMIC_FETCH_AND_OP(xor,1,b) +-ATOMIC_FETCH_AND_OP(xor,2,w) +-ATOMIC_FETCH_AND_OP(xor,4,l) ++ATOMIC_FETCH_AND_OP(add,1,b,extu.b) ++ATOMIC_FETCH_AND_OP(add,2,w,extu.w) ++ATOMIC_FETCH_AND_OP(add,4,l,mov) ++ ++ATOMIC_FETCH_AND_OP(or,1,b,extu.b) ++ATOMIC_FETCH_AND_OP(or,2,w,extu.w) ++ATOMIC_FETCH_AND_OP(or,4,l,mov) ++ ++ATOMIC_FETCH_AND_OP(and,1,b,extu.b) ++ATOMIC_FETCH_AND_OP(and,2,w,extu.w) ++ATOMIC_FETCH_AND_OP(and,4,l,mov) ++ ++ATOMIC_FETCH_AND_OP(xor,1,b,extu.b) ++ATOMIC_FETCH_AND_OP(xor,2,w,extu.w) ++ATOMIC_FETCH_AND_OP(xor,4,l,mov) + +-#define ATOMIC_FETCH_AND_COMBOP(OP,OP0,OP1,N,T) \ ++#define ATOMIC_FETCH_AND_COMBOP(OP,OP0,OP1,N,T,EXT) \ + .global __sync_fetch_and_##OP##_##N; \ + HIDDEN_FUNC(__sync_fetch_and_##OP##_##N); \ + .align 2; \ + __sync_fetch_and_##OP##_##N:; \ + mova 1f, r0; \ +- nop; \ + mov r15, r1; \ + mov #(0f-1f), r15; \ + 0: mov.##T @r4, r2; \ +- OP0 r2, r5; \ +- OP1 r5, r5; \ +- mov.##T r5, @r4; \ ++ mov r5, r3; \ ++ OP0 r2, r3; \ ++ OP1 r3, r3; \ ++ mov.##T r3, @r4; \ + 1: mov r1, r15; \ + rts; \ +- mov r2, r0; \ ++ EXT r2, r0; \ + ENDFUNC(__sync_fetch_and_##OP##_##N) + +-ATOMIC_FETCH_AND_COMBOP(sub,sub,neg,1,b) +-ATOMIC_FETCH_AND_COMBOP(sub,sub,neg,2,w) +-ATOMIC_FETCH_AND_COMBOP(sub,sub,neg,4,l) +- +-ATOMIC_FETCH_AND_COMBOP(nand,and,not,1,b) +-ATOMIC_FETCH_AND_COMBOP(nand,and,not,2,w) +-ATOMIC_FETCH_AND_COMBOP(nand,and,not,4,l) ++ATOMIC_FETCH_AND_COMBOP(sub,sub,neg,1,b,extu.b) ++ATOMIC_FETCH_AND_COMBOP(sub,sub,neg,2,w,extu.w) ++ATOMIC_FETCH_AND_COMBOP(sub,sub,neg,4,l,mov) ++ ++ATOMIC_FETCH_AND_COMBOP(nand,and,not,1,b,extu.b) ++ATOMIC_FETCH_AND_COMBOP(nand,and,not,2,w,extu.w) ++ATOMIC_FETCH_AND_COMBOP(nand,and,not,4,l,mov) ++ ++#define ATOMIC_OP_AND_FETCH(OP,N,T,EXT) \ ++ .global __sync_##OP##_and_fetch_##N; \ ++ HIDDEN_FUNC(__sync_##OP##_and_fetch_##N); \ ++ .align 2; \ ++__sync_##OP##_and_fetch_##N:; \ ++ mova 1f, r0; \ ++ nop; \ ++ mov r15, r1; \ ++ mov #(0f-1f), r15; \ ++0: mov.##T @r4, r2; \ ++ mov r5, r3; \ ++ OP r2, r3; \ ++ mov.##T r3, @r4; \ ++1: mov r1, r15; \ ++ rts; \ ++ EXT r3, r0; \ ++ ENDFUNC(__sync_##OP##_and_fetch_##N) ++ ++ATOMIC_OP_AND_FETCH(add,1,b,extu.b) ++ATOMIC_OP_AND_FETCH(add,2,w,extu.w) ++ATOMIC_OP_AND_FETCH(add,4,l,mov) ++ ++ATOMIC_OP_AND_FETCH(or,1,b,extu.b) ++ATOMIC_OP_AND_FETCH(or,2,w,extu.w) ++ATOMIC_OP_AND_FETCH(or,4,l,mov) ++ ++ATOMIC_OP_AND_FETCH(and,1,b,extu.b) ++ATOMIC_OP_AND_FETCH(and,2,w,extu.w) ++ATOMIC_OP_AND_FETCH(and,4,l,mov) ++ ++ATOMIC_OP_AND_FETCH(xor,1,b,extu.b) ++ATOMIC_OP_AND_FETCH(xor,2,w,extu.w) ++ATOMIC_OP_AND_FETCH(xor,4,l,mov) ++ ++#define ATOMIC_COMBOP_AND_FETCH(OP,OP0,OP1,N,T,EXT) \ ++ .global __sync_##OP##_and_fetch_##N; \ ++ HIDDEN_FUNC(__sync_##OP##_and_fetch_##N); \ ++ .align 2; \ ++__sync_##OP##_and_fetch_##N:; \ ++ mova 1f, r0; \ ++ mov r15, r1; \ ++ mov #(0f-1f), r15; \ ++0: mov.##T @r4, r2; \ ++ mov r5, r3; \ ++ OP0 r2, r3; \ ++ OP1 r3, r3; \ ++ mov.##T r3, @r4; \ ++1: mov r1, r15; \ ++ rts; \ ++ EXT r3, r0; \ ++ ENDFUNC(__sync_##OP##_and_fetch_##N) ++ ++ATOMIC_COMBOP_AND_FETCH(sub,sub,neg,1,b,extu.b) ++ATOMIC_COMBOP_AND_FETCH(sub,sub,neg,2,w,extu.w) ++ATOMIC_COMBOP_AND_FETCH(sub,sub,neg,4,l,mov) ++ ++ATOMIC_COMBOP_AND_FETCH(nand,and,not,1,b,extu.b) ++ATOMIC_COMBOP_AND_FETCH(nand,and,not,2,w,extu.w) ++ATOMIC_COMBOP_AND_FETCH(nand,and,not,4,l,mov) ++ ++.section .note.GNU-stack,"",%progbits ++.previous + + #endif /* ! __SH5__ */ --- gcc-4.3-4.3.4.orig/debian/patches/libstdc++-symbols-hppa.dpatch +++ gcc-4.3-4.3.4/debian/patches/libstdc++-symbols-hppa.dpatch @@ -0,0 +1,369 @@ +#! /bin/sh -e + +# DP: Update libstdc++ baseline symbols for hppa. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt +=================================================================== +--- libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt (revision 133733) ++++ libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt (working copy) +@@ -33,19 +33,51 @@ + FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4 + FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4 + FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9 + FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4 + FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9 + FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4 + FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4 + FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4 + FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4 ++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10 ++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10 + FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4 + FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2 + FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2 + FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2 + FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4 + FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10 + FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10 + FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3 + FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4 + FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4 +@@ -53,6 +85,7 @@ + FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4 + FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4 + FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6 + FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4 + FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4 + FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4 +@@ -81,6 +114,7 @@ + FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4 + FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4 + FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10 + FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4 + FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4 + FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4 +@@ -203,6 +237,7 @@ + FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4 + FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4 + FUNC:_ZNKSsixEj@@GLIBCXX_3.4 ++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9 + FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4 + FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4 + FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4 +@@ -301,6 +336,7 @@ + FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4 + FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4 + FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9 + FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4 + FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4 + FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4 +@@ -353,6 +389,16 @@ + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4 + FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4 +@@ -515,6 +561,7 @@ + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4 ++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9 + FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4 + FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4 + FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4 +@@ -591,6 +638,7 @@ + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4 + FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4 +@@ -774,6 +822,17 @@ + FUNC:_ZNSdD0Ev@@GLIBCXX_3.4 + FUNC:_ZNSdD1Ev@@GLIBCXX_3.4 + FUNC:_ZNSdD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9 + FUNC:_ZNSi3getEPci@@GLIBCXX_3.4 + FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 +@@ -833,6 +892,14 @@ + FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4 + FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4 + FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9 + FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 + FUNC:_ZNSoC1Ev@@GLIBCXX_3.4 + FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 +@@ -1206,6 +1273,17 @@ + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4 +@@ -1265,6 +1343,14 @@ + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 +@@ -1386,6 +1472,7 @@ + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4 +@@ -1424,6 +1511,7 @@ + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4 +@@ -1455,6 +1543,7 @@ + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 +@@ -1471,6 +1560,7 @@ + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 +@@ -1660,10 +1750,16 @@ + FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4 + FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9 + FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4 + FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4 + FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4 + FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7 + FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4 + FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4 + FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4 +@@ -1676,6 +1772,7 @@ + FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4 + FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6 + FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4 + FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4 + FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4 +@@ -1753,7 +1850,9 @@ + FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4 + FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4 + FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6 + FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6 + FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4 + FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4 +@@ -1832,6 +1931,11 @@ + FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4 + FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4 ++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10 + FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4 + FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4 + FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4 +@@ -1913,8 +2017,13 @@ + FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4 + FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4 + FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4 ++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9 ++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9 + FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4 ++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6 ++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6 + FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4 ++FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10 + FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4 + FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4 + FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4 +@@ -1930,6 +2039,8 @@ + FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4 + FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4 + FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4 ++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9 ++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9 + FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4 + FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4 + FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4 +@@ -2162,36 +2273,23 @@ + FUNC:__cxa_vec_new@@CXXABI_1.3 + FUNC:__dynamic_cast@@CXXABI_1.3 + FUNC:__gxx_personality_v0@@CXXABI_1.3 +-FUNC:acosl@@GLIBCXX_3.4.3 +-FUNC:asinl@@GLIBCXX_3.4.3 +-FUNC:atan2l@@GLIBCXX_3.4 +-FUNC:atanl@@GLIBCXX_3.4.3 +-FUNC:ceill@@GLIBCXX_3.4.3 +-FUNC:coshl@@GLIBCXX_3.4 +-FUNC:cosl@@GLIBCXX_3.4 +-FUNC:expl@@GLIBCXX_3.4 +-FUNC:floorl@@GLIBCXX_3.4.3 +-FUNC:fmodl@@GLIBCXX_3.4.3 +-FUNC:frexpl@@GLIBCXX_3.4.3 +-FUNC:hypotl@@GLIBCXX_3.4 +-FUNC:ldexpl@@GLIBCXX_3.4.3 +-FUNC:log10l@@GLIBCXX_3.4 +-FUNC:logl@@GLIBCXX_3.4 +-FUNC:modfl@@GLIBCXX_3.4.3 +-FUNC:powl@@GLIBCXX_3.4 +-FUNC:sinhl@@GLIBCXX_3.4 +-FUNC:sinl@@GLIBCXX_3.4 +-FUNC:sqrtl@@GLIBCXX_3.4 +-FUNC:tanhl@@GLIBCXX_3.4 +-FUNC:tanl@@GLIBCXX_3.4 ++FUNC:__signbitl@@GLIBCXX_3.4 + OBJECT:0:CXXABI_1.3 + OBJECT:0:CXXABI_1.3.1 ++OBJECT:0:CXXABI_1.3.2 + OBJECT:0:GLIBCXX_3.4 + OBJECT:0:GLIBCXX_3.4.1 ++OBJECT:0:GLIBCXX_3.4.10 + OBJECT:0:GLIBCXX_3.4.2 + OBJECT:0:GLIBCXX_3.4.3 + OBJECT:0:GLIBCXX_3.4.4 + OBJECT:0:GLIBCXX_3.4.5 ++OBJECT:0:GLIBCXX_3.4.6 ++OBJECT:0:GLIBCXX_3.4.7 ++OBJECT:0:GLIBCXX_3.4.8 ++OBJECT:0:GLIBCXX_3.4.9 ++OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10 ++OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10 + OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3 + OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3 + OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3 +@@ -3135,6 +3233,8 @@ + OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 + OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 + OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2 ++OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2 + OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4 + OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4 + OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4 --- gcc-4.3-4.3.4.orig/debian/patches/gdc-driver-zlib.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-driver-zlib.dpatch @@ -0,0 +1,98 @@ +#! /bin/sh -e + +# gdc-driver-zlib.dpatch by Arthur Loiret +# DP: Update the gdc driver to use the up-to-date system zlib. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +diff -ruN gcc/d/d-spec.c gcc/d/d-spec.c +--- gcc/d/d-spec.c 2007-09-27 17:29:42.000000000 +0200 ++++ gcc/d/d-spec.c 2007-09-27 17:34:51.000000000 +0200 +@@ -87,7 +87,7 @@ + /* The number of arguments being added to what's in argv, other than + libraries. We use this to track the number of times we've inserted + -xc++/-xnone. */ +- int added = 0; ++ int added = 1; /* -lz */ + + /* Used to track options that take arguments, so we don't go wrapping + those with -xc++/-xnone. */ +@@ -366,6 +366,10 @@ + arglist[j++] = saw_profile_flag ? LIBPHOBOS_PROFILE : LIBPHOBOS; + added_libraries++; + need_pthreads = 1; ++ ++ /* Use the up-to-date system zlib with libphobos */ ++ arglist[j++] = "-lz"; ++ added_libraries++; + } + if (saw_math) + arglist[j++] = saw_math; +diff -ruN gcc/d/phobos/etc/c/zlib.d gcc/d/phobos/etc/c/zlib.d +--- gcc/d/phobos/etc/c/zlib.d 2007-09-27 17:29:42.000000000 +0200 ++++ gcc/d/phobos/etc/c/zlib.d 2007-09-27 17:38:16.000000000 +0200 +@@ -41,7 +41,7 @@ + + extern (C): + +-char[] ZLIB_VERSION = "1.2.1"; ++char[] ZLIB_VERSION = "1.2.3.4"; + + /* + The 'zlib' compression library provides in-memory compression and +diff -ruN gcc/d/phobos2/etc/c/zlib.d gcc/d/phobos2/etc/c/zlib.d +--- gcc/d/phobos2/etc/c/zlib.d 2007-09-27 17:29:44.000000000 +0200 ++++ gcc/d/phobos2/etc/c/zlib.d 2007-09-27 17:38:26.000000000 +0200 +@@ -41,7 +41,7 @@ + + extern (C): + +-const char[] ZLIB_VERSION = "1.2.1"; ++const char[] ZLIB_VERSION = "1.2.3.4"; + + /* + The 'zlib' compression library provides in-memory compression and +--- gcc/d/phobos/Makefile.am 2007-11-10 19:44:58.000000000 +0100 ++++ gcc/d/phobos/Makefile.am 2007-11-10 19:45:46.000000000 +0100 +@@ -177,7 +177,7 @@ + std/stream.t.o: std/stream.d $(D_PREREQ_SRCS) + $(GDC) -o $@ $(ALL_DFLAGS) -fdeprecated -I $(srcdir) -I $(srcdir)/internal/gc -I ./$(host_alias) -c $< + +-ALL_PHOBOS_OBJS = $(D_EXTRA_OBJS) $(GCC_OBJS) $(MAIN_OBJS) $(ZLIB_OBJS) $(GC_OBJS) $(WEAK_OBJS) ++ALL_PHOBOS_OBJS = $(D_EXTRA_OBJS) $(GCC_OBJS) $(MAIN_OBJS) $(GC_OBJS) $(WEAK_OBJS) + + libgphobos.a : $(ALL_PHOBOS_OBJS) $(CMAIN_OBJS) + $(AR) -r $@ $(ALL_PHOBOS_OBJS) $(CMAIN_OBJS) +--- gcc/d/phobos2/Makefile.am 2007-11-10 19:45:13.000000000 +0100 ++++ gcc/d/phobos2/Makefile.am 2007-11-10 19:46:02.000000000 +0100 +@@ -177,7 +177,7 @@ + std/stream.t.o: std/stream.d $(D_PREREQ_SRCS) + $(GDC) -o $@ $(ALL_DFLAGS) -fdeprecated -I $(srcdir) -I $(srcdir)/internal/gc -I ./$(host_alias) -c $< + +-ALL_PHOBOS_OBJS = $(D_EXTRA_OBJS) $(GCC_OBJS) $(MAIN_OBJS) $(ZLIB_OBJS) $(GC_OBJS) $(WEAK_OBJS) ++ALL_PHOBOS_OBJS = $(D_EXTRA_OBJS) $(GCC_OBJS) $(MAIN_OBJS) $(GC_OBJS) $(WEAK_OBJS) + + libgphobos2.a : $(ALL_PHOBOS_OBJS) $(CMAIN_OBJS) + $(AR) -r $@ $(ALL_PHOBOS_OBJS) $(CMAIN_OBJS) --- gcc-4.3-4.3.4.orig/debian/patches/gpc-gcc-4.x.dpatch +++ gcc-4.3-4.3.4/debian/patches/gpc-gcc-4.x.dpatch @@ -0,0 +1,32 @@ +#! /bin/sh -e + +# DP: The gpc patch from the gpc tarball. + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + #pdir="-d $3/gcc" + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi + +gpc_gcc_patch=$pdir/p/diffs/gcc-4.1.diff +gpc_gcc_patch=debian/patches/gpc-gcc-4.1.diff + +case "$1" in + -patch) + echo Using patch file ${gpc_gcc_patch} + patch $pdir -f -p0 < ${gpc_gcc_patch} + ;; + -unpatch) + # get the patch from the gpc source + echo Using patch file ${gpc_gcc_patch} + patch $pdir -f -R -p0 < ${gpc_gcc_patch} + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 --- gcc-4.3-4.3.4.orig/debian/patches/s390-biarch.dpatch +++ gcc-4.3-4.3.4/debian/patches/s390-biarch.dpatch @@ -0,0 +1,36 @@ +#! /bin/sh -e + +# DP: enable biarch for 31 bit compiler + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/config.gcc~ 2006-06-02 01:59:42.000000000 +0200 ++++ gcc/config.gcc 2006-06-04 18:20:56.272554984 +0200 +@@ -1884,7 +1884,7 @@ + ;; + s390-*-linux*) + tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" +- tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux" ++ tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64" + ;; + s390x-*-linux*) + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" --- gcc-4.3-4.3.4.orig/debian/patches/pr24170.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr24170.dpatch @@ -0,0 +1,88 @@ +#! /bin/sh -e + +# DP: Fix PR libgcj/24170. + +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 -p0 < $0 + cd ${dir}libjava && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}libjava/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-02-20 Tom Tromey + + PR libgcj/24170: + * java/io/natFilePosix.cc (File::performList): Don't use + readdir_r. + * configure, include/config.h.in: Rebuilt. + * configure.ac: Don't check for readdir_r. + +Index: libjava/configure.ac +=================================================================== +--- libjava/configure.ac (revision 132490) ++++ libjava/configure.ac (revision 132491) +@@ -1023,7 +1023,7 @@ + PLATFORMNET=NoNet + else + AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \ +- localtime_r readdir_r getpwuid_r getcwd \ ++ localtime_r getpwuid_r getcwd \ + access stat lstat mkdir rename rmdir unlink utime chmod readlink \ + nl_langinfo setlocale \ + inet_pton uname inet_ntoa \ +Index: libjava/include/config.h.in +=================================================================== +--- libjava/include/config.h.in (revision 132490) ++++ libjava/include/config.h.in (revision 132491) +@@ -214,9 +214,6 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_PWD_H + +-/* Define to 1 if you have the `readdir_r' function. */ +-#undef HAVE_READDIR_R +- + /* Define to 1 if you have the `readlink' function. */ + #undef HAVE_READLINK + +Index: libjava/java/io/natFilePosix.cc +=================================================================== +--- libjava/java/io/natFilePosix.cc (revision 132490) ++++ libjava/java/io/natFilePosix.cc (revision 132491) +@@ -1,6 +1,6 @@ + // natFile.cc - Native part of File class for POSIX. + +-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006 ++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008 + Free Software Foundation + + This file is part of libgcj. +@@ -292,13 +292,7 @@ + + java::util::ArrayList *list = new java::util::ArrayList (); + struct dirent *d; +-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS) +- int name_max = pathconf (buf, _PC_NAME_MAX); +- char dbuf[sizeof (struct dirent) + name_max + 1]; +- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL) +-#else /* HAVE_READDIR_R */ + while ((d = readdir (dir)) != NULL) +-#endif /* HAVE_READDIR_R */ + { + // Omit "." and "..". + if (d->d_name[0] == '.' --- gcc-4.3-4.3.4.orig/debian/patches/gcc-default-fortify-source.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-default-fortify-source.dpatch @@ -0,0 +1,52 @@ +#! /bin/sh -e + +# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/doc/invoke.texi +=================================================================== +--- gcc.orig/doc/invoke.texi 2008-05-02 15:43:26.000000000 -0700 ++++ gcc/doc/invoke.texi 2008-05-02 15:43:36.000000000 -0700 +@@ -5204,6 +5204,12 @@ + Please note the warning under @option{-fgcse} about + invoking @option{-O2} on programs that use computed gotos. + ++NOTE: In Ubuntu 8.10 and later versions, @option{-D_FORTIFY_SOURCE=2} is ++set by default, and is activated when @option{-O} is set to 2 or higher. ++This enables additional compile-time and run-time checks for several libc ++functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or ++@option{-D_FORTIFY_SOURCE=0}. ++ + @item -O3 + @opindex O3 + Optimize yet more. @option{-O3} turns on all optimizations specified by +--- gcc/gcc.c~ 2008-06-01 20:04:03.193900681 +0200 ++++ gcc/gcc.c 2008-06-02 15:03:16.154989545 +0200 +@@ -802,6 +802,7 @@ + %{H} %C %{D*&U*&A*} %{i*} %Z %i\ + %{fmudflap:-D_MUDFLAP -include mf-runtime.h}\ + %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\ ++ %{!D_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE=*:%{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=2}}}\ + %{E|M|MM:%W{o*}}"; + + /* This contains cpp options which are common with cc1_options and are passed --- gcc-4.3-4.3.4.orig/debian/patches/pr28322.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr28322.dpatch @@ -0,0 +1,182 @@ +#! /bin/sh -e + +# DP: Fix PR other/28322, GCC new warnings and compatibility. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +gcc/ + +2008-02-26 Manuel Lopez-Ibanez + + PR other/28322 + * toplev.c (toplev_main): If there are warnings or error, print + errors for ignored options. + * opts.c (ignored_options): New static variable. + (postpone_unknown_option_error): New. + (print_ignored_options): New. + (handle_option): Postpone errors for unknown -Wno-* options. + * opts.h (print_ignored_options): Declare. + +2008-06-03 Peter Maydell + + PR other/28322 + * opts.c (print_ignored_options): report postponed diagnostics for + unknown -Wno-* options as warnings, not errors. + (postpone_unknown_option_error): renamed to + postpone_unknown_option_warning. + +gcc/testsuite/ + +2008-02-26 Manuel Lopez-Ibanez + + PR other/28322 + * gcc.dg/pr28322.c: New. + * gcc.dg/pr28322-2.c: New. + * lib/prune.exp: Ignore "At top level" even if there is no ':' + preceding it. + * gcc.dg/pr28322-3.c: New. + +2008-06-03 Peter Maydell + + * gcc.dg/pr28322-2.c: check that emitted diagnostic for -Wno-foobar + is a warning and not an error. + +--- gcc/testsuite/lib/prune.exp.orig 2009-01-17 14:02:26.000000000 +0000 ++++ gcc/testsuite/lib/prune.exp 2009-01-17 14:03:54.000000000 +0000 +@@ -21,7 +21,7 @@ + #send_user "Before:$text\n" + + regsub -all "(^|\n)(\[^\n\]*: )?In ((static member )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data) \[^\n\]*" $text "" text +- regsub -all "(^|\n)\[^\n\]*: At (top level|global scope):\[^\n\]*" $text "" text ++ regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*: instantiated from \[^\n\]*" $text "" text + regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text + regsub -all "(^|\n)collect2: ld returned \[^\n\]*" $text "" text +--- gcc/opts.c.orig 2009-01-17 14:02:26.000000000 +0000 ++++ gcc/opts.c 2009-01-17 14:04:25.000000000 +0000 +@@ -356,6 +356,12 @@ + static VEC(char_p,heap) *flag_instrument_functions_exclude_functions; + static VEC(char_p,heap) *flag_instrument_functions_exclude_files; + ++typedef const char *const_char_p; /* For DEF_VEC_P. */ ++DEF_VEC_P(const_char_p); ++DEF_VEC_ALLOC_P(const_char_p,heap); ++ ++static VEC(const_char_p,heap) *ignored_options; ++ + /* Input file names. */ + const char **in_fnames; + unsigned num_in_fnames; +@@ -434,6 +440,36 @@ + free (bad_lang); + } + ++/* Buffer the unknown option described by the string OPT. Currently, ++ we only complain about unknown -Wno-* options if they may have ++ prevented a diagnostic. Otherwise, we just ignore them. ++ Note that if we do complain, it is only as a warning, not an error; ++ passing the compiler an unrecognised -Wno-* option should never ++ change whether the compilation succeeds or fails. */ ++ ++static void postpone_unknown_option_warning(const char *opt) ++{ ++ VEC_safe_push (const_char_p, heap, ignored_options, opt); ++} ++ ++/* Produce a warning for each option previously buffered. */ ++ ++void print_ignored_options (void) ++{ ++ location_t saved_loc = input_location; ++ ++ input_location = 0; ++ ++ while (!VEC_empty (const_char_p, ignored_options)) ++ { ++ const char *opt; ++ opt = VEC_pop (const_char_p, ignored_options); ++ warning (0, "unrecognized command line option \"%s\"", opt); ++ } ++ ++ input_location = saved_loc; ++} ++ + /* Handle the switch beginning at ARGV for the language indicated by + LANG_MASK. Returns the number of switches consumed. */ + static unsigned int +@@ -463,6 +499,14 @@ + opt = dup; + value = 0; + opt_index = find_opt (opt + 1, lang_mask | CL_COMMON | CL_TARGET); ++ if (opt_index == cl_options_count && opt[1] == 'W') ++ { ++ /* We don't generate warnings for unknown -Wno-* options ++ unless we issue diagnostics. */ ++ postpone_unknown_option_warning (argv[0]); ++ result = 1; ++ goto done; ++ } + } + + if (opt_index == cl_options_count) +--- gcc/opts.h.orig 2009-01-17 14:02:27.000000000 +0000 ++++ gcc/opts.h 2009-01-17 14:03:54.000000000 +0000 +@@ -105,4 +105,5 @@ + + extern void enable_warning_as_error (const char *arg, int value, + unsigned int lang_mask); ++extern void print_ignored_options (void); + #endif +--- gcc/toplev.c.orig 2009-01-17 14:02:26.000000000 +0000 ++++ gcc/toplev.c 2009-01-17 14:03:54.000000000 +0000 +@@ -2271,6 +2271,9 @@ + if (!exit_after_options) + do_compile (); + ++ if (warningcount || errorcount) ++ print_ignored_options (); ++ + if (errorcount || sorrycount) + return (FATAL_EXIT_CODE); + +--- fixincludes/configure.orig 2009-01-17 14:02:27.000000000 +0000 ++++ fixincludes/configure 2009-01-17 14:03:54.000000000 +0000 +@@ -2801,7 +2801,7 @@ + save_CFLAGS="$CFLAGS" + for option in -W -Wall -Wwrite-strings -Wstrict-prototypes \ + -Wmissing-prototypes -Wold-style-definition \ +- -Wmissing-format-attribute -Wno-overlength-strings; do ++ -Wmissing-format-attribute; do + as_acx_Woption=`echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + { echo "$as_me:$LINENO: checking whether $CC supports $option" >&5 +--- fixincludes/configure.ac.orig 2009-01-17 14:02:27.000000000 +0000 ++++ fixincludes/configure.ac 2009-01-17 14:03:54.000000000 +0000 +@@ -11,7 +11,7 @@ + + ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \ + -Wmissing-prototypes -Wold-style-definition \ +- -Wmissing-format-attribute -Wno-overlength-strings]) ++ -Wmissing-format-attribute]) + ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long]) + + # Only enable with --enable-werror-always until existing warnings are --- gcc-4.3-4.3.4.orig/debian/patches/boehm-gc-nocheck.dpatch +++ gcc-4.3-4.3.4/debian/patches/boehm-gc-nocheck.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh -e + +# DP: Disable running the boehm-gc testsuite. Hangs the buildd at least on hppa. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- boehm-gc/Makefile.in~ 2004-06-20 16:24:06.000000000 +0200 ++++ boehm-gc/Makefile.in 2004-06-23 09:43:42.000000000 +0200 +@@ -662,7 +662,8 @@ + test "$$failed" -eq 0; \ + else :; fi + check-am: $(check_PROGRAMS) +- $(MAKE) $(AM_MAKEFLAGS) check-TESTS ++ : # $(MAKE) $(AM_MAKEFLAGS) check-TESTS ++ @echo target $@ disabled for Debian build. + check: check-recursive + all-am: Makefile $(LTLIBRARIES) all-multi + installdirs: installdirs-recursive --- gcc-4.3-4.3.4.orig/debian/patches/powerpc-biarch.dpatch +++ gcc-4.3-4.3.4/debian/patches/powerpc-biarch.dpatch @@ -0,0 +1,47 @@ +#! /bin/sh -e + +# DP: enable biarch for 32 bit compiler + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/config/rs6000/t-linux64.orig 2007-09-29 16:03:54.000000000 +0000 ++++ gcc/config/rs6000/t-linux64 2007-09-30 10:36:47.000000000 +0000 +@@ -14,13 +14,13 @@ + # it doesn't tell anything about the 32bit libraries on those systems. Set + # MULTILIB_OSDIRNAMES according to what is found on the target. + +-MULTILIB_OPTIONS = m64/m32 msoft-float +-MULTILIB_DIRNAMES = 64 32 nof ++MULTILIB_OPTIONS = m64/m32 ++MULTILIB_DIRNAMES = 64 32 + MULTILIB_EXTRA_OPTS = fPIC mstrict-align +-MULTILIB_EXCEPTIONS = m64/msoft-float +-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof +-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) ++MULTILIB_EXCEPTIONS = ++MULTILIB_EXCLUSIONS = ++MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_MATCHES = + + softfp_wrap_start := '\#ifndef __powerpc64__' + softfp_wrap_end := '\#endif' --- gcc-4.3-4.3.4.orig/debian/patches/ada-link-lib.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-link-lib.dpatch @@ -0,0 +1,1932 @@ +#! /bin/sh -e + +# DP: - Install the shared Ada libraries as '.so.1', not '.so' to conform +# DP: to the Debian policy. +# DP: - Don't include a runtime link path (-rpath), when linking binaries. +# DP: - Build the shared libraries on hppa-linux. +# DP: - Instead of building libada as a target library only, build it as +# DP: both a host and, if different, target library. +# DP: - Build the GNAT tools in their top-level directory; do not use +# DP: recursive makefiles. +# DP: - Link the GNAT tools dynamically. +# DP: - Fix a bug in src/gnattools/configure.ac whereby a nonexistent version +# DP: of indepsw's body was selected. Regenerate configure. (PR ada/27300) + +# This patch seems large, but the hunks in Makefile.in are actually +# generated from Makefile.def using autogen. + +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 -p0 < $0 + cd ${dir} && autoreconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/ada/config-lang.in +=================================================================== +--- gcc/ada/config-lang.in.orig 2007-09-03 15:14:47.000000000 +0200 ++++ gcc/ada/config-lang.in 2008-01-29 12:16:44.688811730 +0100 +@@ -35,7 +35,7 @@ + outputs=ada/Makefile + + target_libs="target-libada" +-lang_dirs="gnattools" ++lang_dirs="libada gnattools" + + # Ada will not work until the front end starts emitting GIMPLE trees. + build_by_default=no +Index: gcc/ada/link.c +=================================================================== +--- gcc/ada/link.c.orig 2007-11-21 12:20:42.000000000 +0100 ++++ gcc/ada/link.c 2008-01-29 12:16:44.688811730 +0100 +@@ -146,8 +146,8 @@ + + #elif defined (__FreeBSD__) + const char *__gnat_object_file_option = ""; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; ++char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; + int __gnat_link_max = 8192; + unsigned char __gnat_objlist_file_supported = 1; + unsigned char __gnat_using_gnu_linker = 1; +@@ -155,8 +155,8 @@ + + #elif defined (linux) + const char *__gnat_object_file_option = ""; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; ++const char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; + int __gnat_link_max = 8192; + unsigned char __gnat_objlist_file_supported = 1; + unsigned char __gnat_using_gnu_linker = 1; +Index: gcc/ada/Makefile.in +=================================================================== +--- gcc/ada/Makefile.in.orig 2008-01-29 12:10:06.222766372 +0100 ++++ gcc/ada/Makefile.in 2008-01-29 12:17:55.465175005 +0100 +@@ -114,7 +114,7 @@ + MAKEINFO = makeinfo + TEXI2DVI = texi2dvi + TEXI2PDF = texi2pdf +-GNATBIND_FLAGS = -static -x ++GNATBIND_FLAGS = -shared -x + ADA_CFLAGS = + ADAFLAGS = -W -Wall -gnatpg -gnata + SOME_ADAFLAGS =-gnata +@@ -247,7 +247,6 @@ + LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY) + # Default is no TGT_LIB; one might be passed down or something + TGT_LIB = +-TOOLS_LIBS = $(EXTRA_GNATTOOLS_OBJS) targext.o link.o $(LIBGNAT) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB) + + # Specify the directories to be searched for header files. + # Both . and srcdir are used, in that order, +@@ -293,30 +292,6 @@ + # defined in this file into the environment. + .NOEXPORT: + +-# Lists of files for various purposes. +- +-GNATLINK_OBJS = gnatlink.o \ +- a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o \ +- gnatvsn.o hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o \ +- osint.o output.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \ +- sdefault.o snames.o stylesw.o switch.o system.o table.o targparm.o tree_io.o \ +- types.o validsw.o widechar.o +- +-GNATMAKE_OBJS = a-except.o ali.o ali-util.o s-casuti.o \ +- alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o\ +- erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o \ +- gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o \ +- make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o \ +- mlib-tgt-specific.o mlib-utl.o namet.o nlists.o opt.o osint.o osint-m.o output.o \ +- prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o \ +- prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o \ +- rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \ +- scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.o \ +- sinfo.o sinput.o sinput-c.o sinput-p.o \ +- snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o switch-m.o \ +- table.o targparm.o tempdir.o tree_io.o types.o \ +- uintp.o uname.o urealp.o usage.o widechar.o \ +- $(EXTRA_GNATMAKE_OBJS) + + # Convert the target variable into a space separated list of architecture, + # manufacturer, and operating system and assign each of those to its own +@@ -1017,6 +992,11 @@ + GMEM_LIB = gmemlib + endif + ++ifeq ($(strip $(filter-out hppa% unknown linux gnu,$(targ))),) ++ GNATLIB_SHARED = gnatlib-shared-dual ++ LIBRARY_VERSION := $(LIB_VERSION) ++endif ++ + ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),) + LIBGNAT_TARGET_PAIRS = \ + a-excpol.adb&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 && autoconf2.59 + ;; + -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 + +gcc/ada/ + +From: sam + +PR ada/15915 + * sem_util.ads, sem_util.adb (Denotes_Variable): New function. + * sem_ch12.adb (Instantiate_Object): Use it. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that + storage pool denotes a variable as per RM 13.11(15). + + gcc/testsuite/ + PR ada/15915 + * gnat.dg/specs/storage.ads: New. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134261 138bc75d-0d04-0410-961f-82ee72b054a4 +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134281 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_ch12.adb | 2 +- + gcc/ada/sem_ch13.adb | 5 +++++ + gcc/ada/sem_util.adb | 9 +++++++++ + gcc/ada/sem_util.ads | 3 +++ + gcc/testsuite/gnat.dg/specs/storage.ads | 10 ++++++++++ + 5 files changed, 28 insertions(+), 1 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/storage.ads + + +diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb +index 4a83060..45fa18b 100644 +--- a/gcc/ada/sem_ch12.adb ++++ b/gcc/ada/sem_ch12.adb +@@ -8194,7 +8194,7 @@ package body Sem_Ch12 is + + Resolve (Actual, Ftyp); + +- if not Is_Variable (Actual) or else Paren_Count (Actual) > 0 then ++ if not Denotes_Variable (Actual) then + Error_Msg_NE + ("actual for& must be a variable", Actual, Formal_Id); + +diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb +index 2b58c12..76ffda0 100644 +--- a/gcc/ada/sem_ch13.adb ++++ b/gcc/ada/sem_ch13.adb +@@ -1437,6 +1437,11 @@ package body Sem_Ch13 is + Analyze_And_Resolve + (Expr, Class_Wide_Type (RTE (RE_Root_Storage_Pool))); + ++ if not Denotes_Variable (Expr) then ++ Error_Msg_N ("storage pool must be a variable", Expr); ++ return; ++ end if; ++ + if Nkind (Expr) = N_Type_Conversion then + T := Etype (Expression (Expr)); + else +diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb +index 344122a..1af559d 100644 +--- a/gcc/ada/sem_util.adb ++++ b/gcc/ada/sem_util.adb +@@ -1984,6 +1984,15 @@ package body Sem_Util is + + end Denotes_Discriminant; + ++ ---------------------- ++ -- Denotes_Variable -- ++ ---------------------- ++ ++ function Denotes_Variable (N : Node_Id) return Boolean is ++ begin ++ return Is_Variable (N) and then Paren_Count (N) = 0; ++ end Denotes_Variable; ++ + ----------------------------- + -- Depends_On_Discriminant -- + ----------------------------- +diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads +index 58dbb53..5621a5c 100644 +--- a/gcc/ada/sem_util.ads ++++ b/gcc/ada/sem_util.ads +@@ -232,6 +232,9 @@ package Sem_Util is + -- components of protected types, and constraint checks on entry + -- families constrained by discriminants. + ++ function Denotes_Variable (N : Node_Id) return Boolean; ++ -- Returns True if node N denotes a single variable without parentheses. ++ + function Depends_On_Discriminant (N : Node_Id) return Boolean; + -- Returns True if N denotes a discriminant or if N is a range, a subtype + -- indication or a scalar subtype where one of the bounds is a +diff --git a/gcc/testsuite/gnat.dg/specs/storage.ads b/gcc/testsuite/gnat.dg/specs/storage.ads +new file mode 100644 +index 0000000..e544457 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/storage.ads +@@ -0,0 +1,10 @@ ++-- { dg-do compile } ++with System.Pool_Global; ++package Storage is ++ x1: System.Pool_Global.Unbounded_No_Reclaim_Pool; ++ type T1 is access integer; ++ for T1'Storage_Pool use (x1); -- { dg-error "must be a variable" } ++ type T2 is access Integer; ++ for T2'Storage_Pool use x1; ++end Storage; ++ --- gcc-4.3-4.3.4.orig/debian/patches/gcc-m68k-pch.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-m68k-pch.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +# DP: PR target/25343, fix gcc.dg/pch/pch for m68k. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-04-27 Roman Zippel + + * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__. + + +Index: gcc/config/host-linux.c +=================================================================== +--- gcc/config/host-linux.c ++++ gcc/config/host-linux.c +@@ -85,6 +85,8 @@ + # define TRY_EMPTY_VM_SPACE 0x8000000000 + #elif defined(__sparc__) + # define TRY_EMPTY_VM_SPACE 0x60000000 ++#elif defined(__mc68000__) ++# define TRY_EMPTY_VM_SPACE 0x40000000 + #else + # define TRY_EMPTY_VM_SPACE 0 + #endif + --- gcc-4.3-4.3.4.orig/debian/patches/pr33688.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr33688.dpatch @@ -0,0 +1,645 @@ +#! /bin/sh -e + +# DP: PR ada/33688: Ada package Gnat.Sockets missing constant for IP_PKTINFO + +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 && autoconf2.59 + ;; + -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 + +2008-03-26 Thomas Quinot + +From: charlet + +PR ada/33688 + + * g-socket.ads, g-socket.adb (Options, Set_Socket_Option, + Get_Socket_Option): Add support for Receive_Packet_Info. + + * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads, + g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, + g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads, + g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads, + g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add + new constants SO_REUSEPORT and IP_PKTINFO + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133545 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/g-soccon-aix.ads | 2 + + gcc/ada/g-soccon-darwin.ads | 5 ++- + gcc/ada/g-soccon-freebsd.ads | 4 ++- + gcc/ada/g-soccon-hpux-ia64.ads | 2 + + gcc/ada/g-soccon-hpux.ads | 2 + + gcc/ada/g-soccon-irix.ads | 2 + + gcc/ada/g-soccon-linux-64.ads | 4 ++- + gcc/ada/g-soccon-linux-x86.ads | 2 + + gcc/ada/g-soccon-lynxos.ads | 2 + + gcc/ada/g-soccon-mingw.ads | 16 ++++++---- + gcc/ada/g-soccon-solaris-64.ads | 4 ++- + gcc/ada/g-soccon-solaris.ads | 2 + + gcc/ada/g-soccon-tru64.ads | 2 + + gcc/ada/g-soccon-vms.ads | 2 + + gcc/ada/g-soccon.ads | 2 + + gcc/ada/g-socket.adb | 60 +++++++++++++++++++++------------------ + gcc/ada/g-socket.ads | 46 ++++++++++++++++-------------- + 17 files changed, 97 insertions(+), 62 deletions(-) + + +Index: src/gcc/ada/g-soccon-aix.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-aix.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-aix.ads 2008-05-05 17:27:02.765711031 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-darwin.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-darwin.ads 2007-06-06 12:48:51.000000000 +0200 ++++ src/gcc/ada/g-soccon-darwin.ads 2008-05-05 17:27:02.765711031 +0200 +@@ -35,7 +35,7 @@ + -- by the GNAT.Sockets package (g-socket.ads). This package should not be + -- directly with'ed by an applications program. + +--- This is the version for powerpc-apple-darwin8.8.0 ++-- This is the version for powerpc-apple-darwin8.9.0 + -- This file is generated automatically, do not modify it by hand! Instead, + -- make changes to gen-soccon.c and re-run it on each target. + +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -182,7 +183,7 @@ + -- Properties of supported interfaces -- + ---------------------------------------- + +- Need_Netdb_Buffer : constant := 1; -- Need buffer for Netdb ops ++ Need_Netdb_Buffer : constant := 0; -- Need buffer for Netdb ops + + ---------------------- + -- Additional flags -- +Index: src/gcc/ada/g-soccon-freebsd.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-freebsd.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-freebsd.ads 2008-05-05 17:27:02.765711031 +0200 +@@ -35,7 +35,7 @@ + -- by the GNAT.Sockets package (g-socket.ads). This package should not be + -- directly with'ed by an applications program. + +--- This is the version for i386-unknown-freebsd6.1 ++-- This is the version for i386-unknown-freebsd6.2 + -- This file is generated automatically, do not modify it by hand! Instead, + -- make changes to gen-soccon.c and re-run it on each target. + +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-hpux-ia64.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-hpux-ia64.ads 2007-09-12 13:59:17.000000000 +0200 ++++ src/gcc/ada/g-soccon-hpux-ia64.ads 2008-05-05 17:27:02.765711031 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 4; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 5; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 6; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-hpux.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-hpux.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-hpux.ads 2008-05-05 17:27:02.765711031 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 4; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 5; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 6; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-irix.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-irix.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-irix.ads 2008-05-05 17:27:02.765711031 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 22; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 23; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 24; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-linux-64.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-linux-64.ads 2007-06-06 12:54:04.000000000 +0200 ++++ src/gcc/ada/g-soccon-linux-64.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -35,7 +35,7 @@ + -- by the GNAT.Sockets package (g-socket.ads). This package should not be + -- directly with'ed by an applications program. + +--- This is the version for ia64-hp-linux-gnu ++-- This is the version for x86_64-pc-linux-gnu + -- This file is generated automatically, do not modify it by hand! Instead, + -- make changes to gen-soccon.c and re-run it on each target. + +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 2; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 9; -- Enable keep-alive msgs + SO_LINGER : constant := 13; -- Defer close to flush data + SO_BROADCAST : constant := 6; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 34; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 35; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 36; -- Leave a multicast group ++ IP_PKTINFO : constant := 8; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-linux-x86.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-linux-x86.ads 2007-06-06 12:54:04.000000000 +0200 ++++ src/gcc/ada/g-soccon-linux-x86.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 2; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 9; -- Enable keep-alive msgs + SO_LINGER : constant := 13; -- Defer close to flush data + SO_BROADCAST : constant := 6; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 34; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 35; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 36; -- Leave a multicast group ++ IP_PKTINFO : constant := 8; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-lynxos.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-lynxos.ads 2007-06-06 12:54:04.000000000 +0200 ++++ src/gcc/ada/g-soccon-lynxos.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-mingw.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-mingw.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-mingw.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group ++ IP_PKTINFO : constant := 19; -- Get datagram info + + ------------------- + -- System limits -- +@@ -184,13 +186,6 @@ + + Need_Netdb_Buffer : constant := 0; -- Need buffer for Netdb ops + +- ---------------------- +- -- Additional flags -- +- ---------------------- +- +- Thread_Blocking_IO : constant Boolean := True; +- -- Set False for contexts where socket i/o are process blocking +- + ------------------------------ + -- MinGW-specific constants -- + ------------------------------ +@@ -203,4 +198,11 @@ + WSANOTINITIALISED : constant := 10093; -- Winsock not intialized + WSAEDISCON : constant := 10101; -- Disconnected + ++ ---------------------- ++ -- Additional flags -- ++ ---------------------- ++ ++ Thread_Blocking_IO : constant Boolean := True; ++ -- Set False for contexts where socket i/o are process blocking ++ + end GNAT.Sockets.Constants; +Index: src/gcc/ada/g-soccon-solaris-64.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-solaris-64.ads 2007-09-12 13:59:17.000000000 +0200 ++++ src/gcc/ada/g-soccon-solaris-64.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -35,7 +35,7 @@ + -- by the GNAT.Sockets package (g-socket.ads). This package should not be + -- directly with'ed by an applications program. + +--- This is the version for sparc-sun-solaris2.8/64 ++-- This is the version for sparc64-sun-solaris2.8 + -- This file is generated automatically, do not modify it by hand! Instead, + -- make changes to gen-soccon.c and re-run it on each target. + +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 18; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 19; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 20; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-solaris.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-solaris.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-solaris.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 18; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 19; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 20; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-tru64.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-tru64.ads 2007-06-06 12:13:25.000000000 +0200 ++++ src/gcc/ada/g-soccon-tru64.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon-vms.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-vms.ads 2007-10-15 15:58:10.000000000 +0200 ++++ src/gcc/ada/g-soccon-vms.ads 2008-05-05 17:27:02.769711061 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 4; -- Bind reuse local address ++ SO_REUSEPORT : constant := 512; -- Bind reuse port number + SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs + SO_LINGER : constant := 128; -- Defer close to flush data + SO_BROADCAST : constant := 32; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group ++ IP_PKTINFO : constant := -1; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-soccon.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon.ads 2007-06-06 12:31:06.000000000 +0200 ++++ src/gcc/ada/g-soccon.ads 2008-05-05 17:27:02.773711091 +0200 +@@ -156,6 +156,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 2; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 9; -- Enable keep-alive msgs + SO_LINGER : constant := 13; -- Defer close to flush data + SO_BROADCAST : constant := 6; -- Can send broadcast msgs +@@ -169,6 +170,7 @@ + IP_MULTICAST_LOOP : constant := 34; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 35; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 36; -- Leave a multicast group ++ IP_PKTINFO : constant := 8; -- Get datagram info + + ------------------- + -- System limits -- +Index: src/gcc/ada/g-socket.adb +=================================================================== +--- src.orig/gcc/ada/g-socket.adb 2007-12-13 11:59:30.000000000 +0100 ++++ src/gcc/ada/g-socket.adb 2008-05-05 17:27:02.773711091 +0200 +@@ -6,7 +6,7 @@ + -- -- + -- B o d y -- + -- -- +--- Copyright (C) 2001-2007, AdaCore -- ++-- Copyright (C) 2001-2008, AdaCore -- + -- -- + -- GNAT is free software; you can redistribute it and/or modify it under -- + -- terms of the GNU General Public License as published by the Free Soft- -- +@@ -87,21 +87,24 @@ + N_Bytes_To_Read => Constants.FIONREAD); + + Options : constant array (Option_Name) of C.int := +- (Keep_Alive => Constants.SO_KEEPALIVE, +- Reuse_Address => Constants.SO_REUSEADDR, +- Broadcast => Constants.SO_BROADCAST, +- Send_Buffer => Constants.SO_SNDBUF, +- Receive_Buffer => Constants.SO_RCVBUF, +- Linger => Constants.SO_LINGER, +- Error => Constants.SO_ERROR, +- No_Delay => Constants.TCP_NODELAY, +- Add_Membership => Constants.IP_ADD_MEMBERSHIP, +- Drop_Membership => Constants.IP_DROP_MEMBERSHIP, +- Multicast_If => Constants.IP_MULTICAST_IF, +- Multicast_TTL => Constants.IP_MULTICAST_TTL, +- Multicast_Loop => Constants.IP_MULTICAST_LOOP, +- Send_Timeout => Constants.SO_SNDTIMEO, +- Receive_Timeout => Constants.SO_RCVTIMEO); ++ (Keep_Alive => Constants.SO_KEEPALIVE, ++ Reuse_Address => Constants.SO_REUSEADDR, ++ Broadcast => Constants.SO_BROADCAST, ++ Send_Buffer => Constants.SO_SNDBUF, ++ Receive_Buffer => Constants.SO_RCVBUF, ++ Linger => Constants.SO_LINGER, ++ Error => Constants.SO_ERROR, ++ No_Delay => Constants.TCP_NODELAY, ++ Add_Membership => Constants.IP_ADD_MEMBERSHIP, ++ Drop_Membership => Constants.IP_DROP_MEMBERSHIP, ++ Multicast_If => Constants.IP_MULTICAST_IF, ++ Multicast_TTL => Constants.IP_MULTICAST_TTL, ++ Multicast_Loop => Constants.IP_MULTICAST_LOOP, ++ Receive_Packet_Info => Constants.IP_PKTINFO, ++ Send_Timeout => Constants.SO_SNDTIMEO, ++ Receive_Timeout => Constants.SO_RCVTIMEO); ++ -- ??? Note: for OpenSolaris, Receive_Packet_Info should be IP_RECVPKTINFO, ++ -- but for Linux compatibility this constant is the same as IP_PKTINFO. + + Flags : constant array (0 .. 3) of C.int := + (0 => Constants.MSG_OOB, -- Process_Out_Of_Band_Data +@@ -865,8 +868,7 @@ + + begin + if Safe_Getservbyname (SN, SP, Res'Access, Buf'Address, Buflen) /= 0 then +- Ada.Exceptions.Raise_Exception +- (Service_Error'Identity, "Service not found"); ++ raise Service_Error with "Service not found"; + end if; + + -- Translate from the C format to the API format +@@ -892,8 +894,7 @@ + (C.int (Short_To_Network (C.unsigned_short (Port))), SP, + Res'Access, Buf'Address, Buflen) /= 0 + then +- Ada.Exceptions.Raise_Exception +- (Service_Error'Identity, "Service not found"); ++ raise Service_Error with "Service not found"; + end if; + + -- Translate from the C format to the API format +@@ -946,8 +947,9 @@ + + begin + case Name is +- when Multicast_Loop | +- Multicast_TTL => ++ when Multicast_Loop | ++ Multicast_TTL | ++ Receive_Packet_Info => + Len := V1'Size / 8; + Add := V1'Address; + +@@ -1015,7 +1017,8 @@ + when Multicast_TTL => + Opt.Time_To_Live := Integer (V1); + +- when Multicast_Loop => ++ when Multicast_Loop | ++ Receive_Packet_Info => + Opt.Enabled := (V1 /= 0); + + when Send_Timeout | +@@ -1320,9 +1323,9 @@ + + procedure Raise_Host_Error (H_Error : Integer) is + begin +- Ada.Exceptions.Raise_Exception (Host_Error'Identity, ++ raise Host_Error with + Err_Code_Image (H_Error) +- & C.Strings.Value (Host_Error_Messages.Host_Error_Message (H_Error))); ++ & C.Strings.Value (Host_Error_Messages.Host_Error_Message (H_Error)); + end Raise_Host_Error; + + ------------------------ +@@ -1332,9 +1335,9 @@ + procedure Raise_Socket_Error (Error : Integer) is + use type C.Strings.chars_ptr; + begin +- Ada.Exceptions.Raise_Exception (Socket_Error'Identity, ++ raise Socket_Error with + Err_Code_Image (Error) +- & C.Strings.Value (Socket_Error_Message (Error))); ++ & C.Strings.Value (Socket_Error_Message (Error)); + end Raise_Socket_Error; + + ---------- +@@ -1795,7 +1798,8 @@ + Len := V1'Size / 8; + Add := V1'Address; + +- when Multicast_Loop => ++ when Multicast_Loop | ++ Receive_Packet_Info => + V1 := C.unsigned_char (Boolean'Pos (Option.Enabled)); + Len := V1'Size / 8; + Add := V1'Address; +Index: src/gcc/ada/g-socket.ads +=================================================================== +--- src.orig/gcc/ada/g-socket.ads 2007-08-14 10:50:51.000000000 +0200 ++++ src/gcc/ada/g-socket.ads 2008-05-05 17:27:02.773711091 +0200 +@@ -6,7 +6,7 @@ + -- -- + -- S p e c -- + -- -- +--- Copyright (C) 2001-2007, AdaCore -- ++-- Copyright (C) 2001-2008, AdaCore -- + -- -- + -- GNAT is free software; you can redistribute it and/or modify it under -- + -- terms of the GNU General Public License as published by the Free Soft- -- +@@ -623,30 +623,32 @@ + -- a boolean to enable or disable this option. + + type Option_Name is ( +- Keep_Alive, -- Enable sending of keep-alive messages +- Reuse_Address, -- Allow bind to reuse local address +- Broadcast, -- Enable datagram sockets to recv/send broadcasts +- Send_Buffer, -- Set/get the maximum socket send buffer in bytes +- Receive_Buffer, -- Set/get the maximum socket recv buffer in bytes +- Linger, -- Shutdown wait for msg to be sent or timeout occur +- Error, -- Get and clear the pending socket error +- No_Delay, -- Do not delay send to coalesce packets (TCP_NODELAY) +- Add_Membership, -- Join a multicast group +- Drop_Membership, -- Leave a multicast group +- Multicast_If, -- Set default outgoing interface for multicast packets +- Multicast_TTL, -- Indicate the time-to-live of sent multicast packets +- Multicast_Loop, -- Sent multicast packets are looped to local socket +- Send_Timeout, -- Set timeout value for output +- Receive_Timeout); -- Set timeout value for input ++ Keep_Alive, -- Enable sending of keep-alive messages ++ Reuse_Address, -- Allow bind to reuse local address ++ Broadcast, -- Enable datagram sockets to recv/send broadcasts ++ Send_Buffer, -- Set/get the maximum socket send buffer in bytes ++ Receive_Buffer, -- Set/get the maximum socket recv buffer in bytes ++ Linger, -- Shutdown wait for msg to be sent or timeout occur ++ Error, -- Get and clear the pending socket error ++ No_Delay, -- Do not delay send to coalesce data (TCP_NODELAY) ++ Add_Membership, -- Join a multicast group ++ Drop_Membership, -- Leave a multicast group ++ Multicast_If, -- Set default out interface for multicast packets ++ Multicast_TTL, -- Set the time-to-live of sent multicast packets ++ Multicast_Loop, -- Sent multicast packets are looped to local socket ++ Receive_Packet_Info, -- Receive low level packet info as ancillary data ++ Send_Timeout, -- Set timeout value for output ++ Receive_Timeout); -- Set timeout value for input + + type Option_Type (Name : Option_Name := Keep_Alive) is record + case Name is +- when Keep_Alive | +- Reuse_Address | +- Broadcast | +- Linger | +- No_Delay | +- Multicast_Loop => ++ when Keep_Alive | ++ Reuse_Address | ++ Broadcast | ++ Linger | ++ No_Delay | ++ Receive_Packet_Info | ++ Multicast_Loop => + Enabled : Boolean; + + case Name is +Index: src/gcc/ada/g-soccon-linux-ppc.ads +=================================================================== +--- src.orig/gcc/ada/g-soccon-linux-ppc.ads 2008-05-05 17:27:42.546010678 +0200 ++++ src/gcc/ada/g-soccon-linux-ppc.ads 2008-05-05 17:29:12.834681965 +0200 +@@ -149,6 +149,7 @@ + + TCP_NODELAY : constant := 1; -- Do not coalesce packets + SO_REUSEADDR : constant := 2; -- Bind reuse local address ++ SO_REUSEPORT : constant := -1; -- Bind reuse port number + SO_KEEPALIVE : constant := 9; -- Enable keep-alive msgs + SO_LINGER : constant := 13; -- Defer close to flush data + SO_BROADCAST : constant := 6; -- Can send broadcast msgs +@@ -162,6 +163,7 @@ + IP_MULTICAST_LOOP : constant := 34; -- Set/get mcast loopback + IP_ADD_MEMBERSHIP : constant := 35; -- Join a multicast group + IP_DROP_MEMBERSHIP : constant := 36; -- Leave a multicast group ++ IP_PKTINFO : constant := 8; -- Get datagram info + + ------------------- + -- System limits -- --- gcc-4.3-4.3.4.orig/debian/patches/gcc-unwind-debug-hook.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-unwind-debug-hook.dpatch @@ -0,0 +1,73 @@ +#! /bin/sh -e + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# DP: Install a hook _Unwind_DebugHook, called during unwinding. Intended as +# DP: a hook for a debugger to intercept exceptions. CFA is the CFA of the +# DP: target frame. HANDLER is the PC to which control will be transferred. + +2009-05-27 Tom Tromey + + * unwind-dw2.c (_Unwind_DebugHook): New function. + (uw_install_context): Call _Unwind_DebugHook. + +--- src/gcc/unwind-dw2.c (revision 147933) ++++ src/gcc/unwind-dw2.c (revision 147934) +@@ -1473,18 +1473,31 @@ uw_init_context_1 (struct _Unwind_Contex + context->ra = __builtin_extract_return_addr (outer_ra); + } + ++static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__)); ++ ++/* This function is called during unwinding. It is intended as a hook ++ for a debugger to intercept exceptions. CFA is the CFA of the ++ target frame. HANDLER is the PC to which control will be ++ transferred. */ ++static void ++_Unwind_DebugHook (void *cfa __attribute__ ((__unused__)), ++ void *handler __attribute__ ((__unused__))) ++{ ++ asm (""); ++} + + /* Install TARGET into CURRENT so that we can return to it. This is a + macro because __builtin_eh_return must be invoked in the context of + our caller. */ + +-#define uw_install_context(CURRENT, TARGET) \ +- do \ +- { \ +- long offset = uw_install_context_1 ((CURRENT), (TARGET)); \ +- void *handler = __builtin_frob_return_addr ((TARGET)->ra); \ +- __builtin_eh_return (offset, handler); \ +- } \ ++#define uw_install_context(CURRENT, TARGET) \ ++ do \ ++ { \ ++ long offset = uw_install_context_1 ((CURRENT), (TARGET)); \ ++ void *handler = __builtin_frob_return_addr ((TARGET)->ra); \ ++ _Unwind_DebugHook ((TARGET)->cfa, handler); \ ++ __builtin_eh_return (offset, handler); \ ++ } \ + while (0) + + static long --- gcc-4.3-4.3.4.orig/debian/patches/pr16086.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr16086.dpatch @@ -0,0 +1,167 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: PR ada/16086: Legal program rejected, procedure of protected object should be visible + +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 && autoconf2.59 + ;; + -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 + +# append the patch here and adjust the -p? flag in the patch calls. + +2008-04-15 Ed Schonberg + +From: sam + +gcc/ada/ + PR ada/16086 + * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any + protected operation that matches the signature, not only an entry, a + regular subprogram or a literal. + +2008-04-15 Samuel Tardieu + + gcc/testsuite/ + PR ada/16086 + * gnat.dg/prot_def.adb: New. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134312 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_ch12.adb | 32 ++++++++++++++++---------- + gcc/testsuite/gnat.dg/prot_def.adb | 44 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 63 insertions(+), 13 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/prot_def.adb + +diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb +index a50b09f..c078c2e 100644 +--- a/gcc/ada/sem_ch12.adb ++++ b/gcc/ada/sem_ch12.adb +@@ -2364,31 +2364,34 @@ package body Sem_Ch12 is + + -- Default name may be overloaded, in which case the interpretation + -- with the correct profile must be selected, as for a renaming. ++ -- If the definition is an indexed component, it must denote a ++ -- member of an entry family. If it is a selected component, it ++ -- can be a protected operation. + + if Etype (Def) = Any_Type then + return; + + elsif Nkind (Def) = N_Selected_Component then +- Subp := Entity (Selector_Name (Def)); +- +- if Ekind (Subp) /= E_Entry then ++ if not Is_Overloadable (Entity (Selector_Name (Def))) then + Error_Msg_N ("expect valid subprogram name as default", Def); +- return; + end if; + + elsif Nkind (Def) = N_Indexed_Component then ++ if Is_Entity_Name (Prefix (Def)) then ++ if Ekind (Entity (Prefix (Def))) /= E_Entry_Family then ++ Error_Msg_N ("expect valid subprogram name as default", Def); ++ end if; + +- if Nkind (Prefix (Def)) /= N_Selected_Component then +- Error_Msg_N ("expect valid subprogram name as default", Def); +- return; +- +- else +- Subp := Entity (Selector_Name (Prefix (Def))); +- +- if Ekind (Subp) /= E_Entry_Family then ++ elsif Nkind (Prefix (Def)) = N_Selected_Component then ++ if Ekind (Entity (Selector_Name (Prefix (Def)))) ++ /= E_Entry_Family ++ then + Error_Msg_N ("expect valid subprogram name as default", Def); +- return; + end if; ++ ++ else ++ Error_Msg_N ("expect valid subprogram name as default", Def); ++ return; + end if; + + elsif Nkind (Def) = N_Character_Literal then +@@ -2414,6 +2417,9 @@ package body Sem_Ch12 is + end if; + + else ++ ++ -- Several interpretations. Disambiguate as for a renaming. ++ + declare + I : Interp_Index; + I1 : Interp_Index := 0; +diff --git a/gcc/testsuite/gnat.dg/prot_def.adb b/gcc/testsuite/gnat.dg/prot_def.adb +new file mode 100644 +index 0000000..d56195e +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/prot_def.adb +@@ -0,0 +1,44 @@ ++-- { dg-do run } ++procedure Prot_Def is ++ ++ protected Prot is ++ procedure Inc; ++ function Get return Integer; ++ private ++ Data : Integer := 0; ++ end Prot; ++ ++ protected body Prot is ++ procedure Inc is ++ begin ++ Data := Data + 1; ++ end Inc; ++ function Get return Integer is ++ begin ++ return Data; ++ end Get; ++ end Prot; ++ ++ generic ++ with procedure Inc is Prot.Inc; ++ with function Get return Integer is Prot.Get; ++ package Gen is ++ function Add2_Get return Integer; ++ end Gen; ++ ++ package body Gen is ++ function Add2_Get return Integer is ++ begin ++ Inc; ++ Inc; ++ return Get; ++ end Add2_Get; ++ end Gen; ++ ++ package Inst is new Gen; ++ ++begin ++ if Inst.Add2_Get /= 2 then ++ raise Constraint_Error; ++ end if; ++end Prot_Def; --- gcc-4.3-4.3.4.orig/debian/patches/gpc-names.dpatch +++ gcc-4.3-4.3.4/debian/patches/gpc-names.dpatch @@ -0,0 +1,117 @@ +#! /bin/sh -e + +# DP: versioned gpc names + +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $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 -p0 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/p/doc/en/gpc.texi.orig 2007-08-27 00:21:02.340767891 +0200 ++++ gcc/p/doc/en/gpc.texi 2007-08-27 00:21:29.921183935 +0200 +@@ -23,11 +23,11 @@ + + @dircategory GNU programming tools + @direntry +-* GPC: (gpc). The GNU Pascal Compiler. ++* GPC-4.1: (gpc-4.1). The GNU Pascal Compiler (v2.1, based on GCC 4.1). + @end direntry + @dircategory Individual utilities + @direntry +-* GPC: (gpc)Invoking GPC. The GNU Pascal Compiler. ++* GPC-4.1: (gpc-4.1)Invoking GPC. The GNU Pascal Compiler (v2.1, based on GCC 4.1). + @end direntry + + @c For FSF printing, turn on finalout (to get rid of the black +--- gcc/p/Make-lang.in.orig 2007-08-27 00:21:02.340767891 +0200 ++++ gcc/p/Make-lang.in 2007-08-27 00:23:19.412835592 +0200 +@@ -799,42 +799,43 @@ + pascal.start.encap: + pascal.rest.encap: pascal.rts pascal.utils + +-pascal.info: $(srcdir)/p/doc/info/gpc.info \ +- $(srcdir)/p/doc/info/gpcs.info \ +- $(srcdir)/p/doc/info/gpcs-de.info \ +- $(srcdir)/p/doc/info/gpc-hr.info \ +- $(srcdir)/p/doc/info/gpcs-hr.info \ +- $(srcdir)/p/doc/info/gpc-es.info \ +- $(srcdir)/p/doc/info/gpcs-es.info ++iv=-4.1 ++pascal.info: $(srcdir)/p/doc/info/gpc$(iv).info \ ++ $(srcdir)/p/doc/info/gpcs$(iv).info \ ++ $(srcdir)/p/doc/info/gpcs-de$(iv).info \ ++ $(srcdir)/p/doc/info/gpc-hr$(iv).info \ ++ $(srcdir)/p/doc/info/gpcs-hr$(iv).info \ ++ $(srcdir)/p/doc/info/gpc-es$(iv).info \ ++ $(srcdir)/p/doc/info/gpcs-es$(iv).info + pascal.dvi: gpc.dvi + +-$(srcdir)/p/doc/info/gpc.info: $(GPC_TEXI_EN) ++$(srcdir)/p/doc/info/gpc$(iv).info: $(GPC_TEXI_EN) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_EN) -o $(srcdir)/p/doc/info/gpc.info gpc.texi ++ $(MAKEINFO_EN) -o $(srcdir)/p/doc/info/gpc$(iv).info gpc.texi + +-$(srcdir)/p/doc/info/gpcs.info: $(GPC_TEXI_EN) ++$(srcdir)/p/doc/info/gpcs$(iv).info: $(GPC_TEXI_EN) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_EN) --no-split -o $(srcdir)/p/doc/info/gpcs.info gpcs.texi ++ $(MAKEINFO_EN) --no-split -o $(srcdir)/p/doc/info/gpcs$(iv).info gpcs.texi + +-$(srcdir)/p/doc/info/gpcs-de.info: $(GPC_TEXI_DE) ++$(srcdir)/p/doc/info/gpcs-de$(iv).info: $(GPC_TEXI_DE) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_DE) --no-split -o $(srcdir)/p/doc/info/gpcs-de.info gpcs.texi ++ $(MAKEINFO_DE) --no-split -o $(srcdir)/p/doc/info/gpcs-de$(iv).info gpcs.texi + +-$(srcdir)/p/doc/info/gpc-hr.info: $(GPC_TEXI_HR) ++$(srcdir)/p/doc/info/gpc-hr$(iv).info: $(GPC_TEXI_HR) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_HR) -o $(srcdir)/p/doc/info/gpc-hr.info gpc.texi ++ $(MAKEINFO_HR) -o $(srcdir)/p/doc/info/gpc-hr$(iv).info gpc.texi + +-$(srcdir)/p/doc/info/gpcs-hr.info: $(GPC_TEXI_HR) ++$(srcdir)/p/doc/info/gpcs-hr$(iv).info: $(GPC_TEXI_HR) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_HR) --no-split -o $(srcdir)/p/doc/info/gpcs-hr.info gpcs.texi ++ $(MAKEINFO_HR) --no-split -o $(srcdir)/p/doc/info/gpcs-hr$(iv).info gpcs.texi + +-$(srcdir)/p/doc/info/gpc-es.info: $(GPC_TEXI_ES) ++$(srcdir)/p/doc/info/gpc-es$(iv).info: $(GPC_TEXI_ES) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_ES) -o $(srcdir)/p/doc/info/gpc-es.info gpc.texi ++ $(MAKEINFO_ES) -o $(srcdir)/p/doc/info/gpc-es$(iv).info gpc.texi + +-$(srcdir)/p/doc/info/gpcs-es.info: $(GPC_TEXI_ES) ++$(srcdir)/p/doc/info/gpcs-es$(iv).info: $(GPC_TEXI_ES) + [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info" +- $(MAKEINFO_ES) --no-split -o $(srcdir)/p/doc/info/gpcs-es.info gpcs.texi ++ $(MAKEINFO_ES) --no-split -o $(srcdir)/p/doc/info/gpcs-es$(iv).info gpcs.texi + + gpc.dvi: $(GPC_TEXI_EN) + TEXINPUTS=$(srcdir)/p/doc:$(srcdir)/p/doc/images:$$TEXINPUTS \ +@@ -1023,11 +1024,11 @@ + fi + + pascal.install-info: pascal.install-info-man-dirs pascal.info +- rm -f $(DESTDIR)$(infodir)/gpc.info* $(DESTDIR)$(infodir)/gpcs.info* $(DESTDIR)$(infodir)/gpcs-de.info* $(DESTDIR)$(infodir)/gpcs-hr.info* $(DESTDIR)$(infodir)/gpcs-es.info* +- for f in `cd $(srcdir)/p/doc/info && echo gpc.info* gpcs*.info*`; do \ ++ rm -f $(DESTDIR)$(infodir)/gpc*.info* $(DESTDIR)$(infodir)/gpcs*.info* $(DESTDIR)$(infodir)/gpcs-de*.info* $(DESTDIR)$(infodir)/gpcs-hr*.info* $(DESTDIR)$(infodir)/gpcs-es*.info* ++ for f in `cd $(srcdir)/p/doc/info && echo gpc$(iv).info* gpcs*.info*`; do \ + $(INSTALL_DATA) $(srcdir)/p/doc/info/$$f $(DESTDIR)$(infodir)/$$f || exit 1; \ + done +- chmod a-x $(DESTDIR)$(infodir)/gpc.info* $(DESTDIR)$(infodir)/gpcs.info* $(DESTDIR)$(infodir)/gpcs-de.info* $(DESTDIR)$(infodir)/gpcs-hr.info* $(DESTDIR)$(infodir)/gpcs-es.info* ++ chmod a-x $(DESTDIR)$(infodir)/gpc*.info* $(DESTDIR)$(infodir)/gpcs*.info* $(DESTDIR)$(infodir)/gpcs-de*.info* $(DESTDIR)$(infodir)/gpcs-hr*.info* $(DESTDIR)$(infodir)/gpcs-es*.info* + + pascal.install-man: pascal.install-info-man-dirs $(srcdir)/p/doc/en/gpc.1 $(srcdir)/p/doc/generated/gpc-run.1 + -if [ -f gpc1$(exeext) ]; then \ --- gcc-4.3-4.3.4.orig/debian/patches/gdc-array-concat.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-array-concat.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e + +# gdc-array-concat.dpatch by Peter De Wachter +# DP: Fixes generation of D array concatenation calls. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/d/d-glue.cc.orig 2008-08-01 14:09:36.000000000 +0200 ++++ gcc/d/d-glue.cc 2008-08-01 14:15:57.000000000 +0200 +@@ -650,7 +650,7 @@ + } + + n_args = 1 + (n_operands > 2 ? 1 : 0) + +- (n_operands * (irs->splitDynArrayVarArgs ? 2 : 1)); ++ n_operands * (n_operands > 2 && irs->splitDynArrayVarArgs ? 2 : 1); + args = new tree[n_args]; + args[0] = irs->typeinfoReference(type); + if (n_operands > 2) +@@ -673,7 +673,7 @@ + } + else + array_exp = irs->toDArray(oe); +- if (irs->splitDynArrayVarArgs) ++ if (n_operands > 2 && irs->splitDynArrayVarArgs) + { + array_exp = irs->maybeMakeTemp(array_exp); + args[ai--] = irs->darrayPtrRef(array_exp); // note: filling array + --- gcc-4.3-4.3.4.orig/debian/patches/ada-mipsel.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-mipsel.dpatch @@ -0,0 +1,224 @@ +#! /bin/sh -e + +# DP: add support (tasking, sjlj, ...) for mipsel architecture + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +Index: gcc/ada/Makefile.in +=================================================================== +--- gcc/ada/Makefile.in.orig 2008-04-04 11:33:17.995925666 +0200 ++++ gcc/ada/Makefile.in 2008-04-04 11:33:58.156214700 +0200 +@@ -1384,6 +1384,34 @@ + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out mipsel linux%,$(arch) $(osys))),) ++ LIBGNAT_TARGET_PAIRS = \ ++ a-intnam.ads" (Left, Right : Address) return Boolean; ++ function ">=" (Left, Right : Address) return Boolean; ++ function "=" (Left, Right : Address) return Boolean; ++ ++ pragma Import (Intrinsic, "<"); ++ pragma Import (Intrinsic, "<="); ++ pragma Import (Intrinsic, ">"); ++ pragma Import (Intrinsic, ">="); ++ pragma Import (Intrinsic, "="); ++ ++ -- Other System-Dependent Declarations ++ ++ type Bit_Order is (High_Order_First, Low_Order_First); ++ Default_Bit_Order : constant Bit_Order := Low_Order_First; ++ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning ++ ++ -- Priority-related Declarations (RM D.1) ++ ++ Max_Priority : constant Positive := 30; ++ Max_Interrupt_Priority : constant Positive := 31; ++ ++ subtype Any_Priority is Integer range 0 .. 31; ++ subtype Priority is Any_Priority range 0 .. 30; ++ subtype Interrupt_Priority is Any_Priority range 31 .. 31; ++ ++ Default_Priority : constant Priority := 15; ++ ++private ++ ++ type Address is mod Memory_Size; ++ Null_Address : constant Address := 0; ++ ++ -------------------------------------- ++ -- System Implementation Parameters -- ++ -------------------------------------- ++ ++ -- These parameters provide information about the target that is used ++ -- by the compiler. They are in the private part of System, where they ++ -- can be accessed using the special circuitry in the Targparm unit ++ -- whose source should be consulted for more detailed descriptions ++ -- of the individual switch values. ++ ++ AAMP : constant Boolean := False; ++ Backend_Divide_Checks : constant Boolean := False; ++ Backend_Overflow_Checks : constant Boolean := False; ++ Command_Line_Args : constant Boolean := True; ++ Compiler_System_Version : constant Boolean := False; ++ Configurable_Run_Time : constant Boolean := False; ++ Denorm : constant Boolean := True; ++ Duration_32_Bits : constant Boolean := False; ++ Exit_Status_Supported : constant Boolean := True; ++ Fractional_Fixed_Ops : constant Boolean := False; ++ Frontend_Layout : constant Boolean := False; ++ Functions_Return_By_DSP : constant Boolean := False; ++ Machine_Overflows : constant Boolean := False; ++ Machine_Rounds : constant Boolean := True; ++ OpenVMS : constant Boolean := False; ++ Preallocated_Stacks : constant Boolean := False; ++ Signed_Zeros : constant Boolean := True; ++ Stack_Check_Default : constant Boolean := False; ++ Stack_Check_Probes : constant Boolean := False; ++ Support_64_Bit_Divides : constant Boolean := True; ++ Support_Aggregates : constant Boolean := True; ++ Support_Composite_Assign : constant Boolean := True; ++ Support_Composite_Compare : constant Boolean := True; ++ Support_Long_Shifts : constant Boolean := True; ++ Suppress_Standard_Library : constant Boolean := False; ++ Use_Ada_Main_Program_Name : constant Boolean := False; ++ ZCX_By_Default : constant Boolean := True; ++ GCC_ZCX_Support : constant Boolean := True; ++ Front_End_ZCX_Support : constant Boolean := False; ++ ++ -- Obsolete entries, to be removed eventually (bootstrap issues!) ++ ++ High_Integrity_Mode : constant Boolean := False; ++ Long_Shifts_Inlined : constant Boolean := True; ++ ++end System; --- gcc-4.3-4.3.4.orig/debian/patches/gcc-ice-apport-trunk.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-ice-apport-trunk.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +# DP: Report an ICE to apport (if apport is available +# DP: and the environment variable GCC_NOAPPORT is not set) + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/gcc.c ++++ gcc/gcc.c +@@ -6310,6 +6310,15 @@ retry_ice (const char *prog, const char **argv) + { + notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n", + temp_filenames[attempt * 2]); ++ if (!getenv ("GCC_NOAPPORT") ++ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK)) ++ { ++ char *cmd = xmalloc (50 + strlen (temp_filenames[attempt * 2]) + strlen (new_argv[0])); ++ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s", ++ new_argv[0], temp_filenames[attempt * 2]); ++ system (cmd); ++ free (cmd); ++ } + /* Make sure it is not deleted. */ + free (temp_filenames[attempt * 2]); + temp_filenames[attempt * 2] = NULL; --- gcc-4.3-4.3.4.orig/debian/patches/pr10768.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr10768.dpatch @@ -0,0 +1,77 @@ +#! /bin/sh -e + +# DP: PR ada/10768: ICEs on compilation of ada support library for avr + +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 && autoconf2.59 + ;; + -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 + +2008-04-08 Tristan Gingold + +From: charlet + +PR ada/10768 + + * cuintp.c: Fix 16 bits issue for AVR. + On AVR, integer is 16 bits, so it can't be used to do math with + Base (=32768). + So use long_integer instead. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134013 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/cuintp.c | 12 ++++++++---- + 1 files changed, 8 insertions(+), 4 deletions(-) + + +diff --git a/gcc/ada/cuintp.c b/gcc/ada/cuintp.c +index ba3ffa0..90ea342 100644 +--- a/gcc/ada/cuintp.c ++++ b/gcc/ada/cuintp.c +@@ -6,7 +6,7 @@ + * * + * C Implementation File * + * * +- * Copyright (C) 1992-2007, Free Software Foundation, Inc. * ++ * Copyright (C) 1992-2008, Free Software Foundation, Inc. * + * * + * GNAT is free software; you can redistribute it and/or modify it under * + * terms of the GNU General Public License as published by the Free Soft- * +@@ -101,11 +101,15 @@ UI_To_gnu (Uint Input, tree type) + large as an integer not to overflow. REAL types are always fine, but + INTEGER or ENUMERAL types we are handed may be too short. We use a + base integer type node for the computations in this case and will +- convert the final result back to the incoming type later on. */ ++ convert the final result back to the incoming type later on. ++ The base integer precision must be superior than 16. */ + + if (TREE_CODE (comp_type) != REAL_TYPE +- && TYPE_PRECISION (comp_type) < TYPE_PRECISION (integer_type_node)) +- comp_type = integer_type_node; ++ && TYPE_PRECISION (comp_type) < TYPE_PRECISION (long_integer_type_node)) ++ { ++ comp_type = long_integer_type_node; ++ gcc_assert (TYPE_PRECISION (comp_type) > 16); ++ } + + gnu_base = build_cst_from_int (comp_type, Base); + --- gcc-4.3-4.3.4.orig/debian/patches/libjava-subdir.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-subdir.dpatch @@ -0,0 +1,248 @@ +#! /bin/sh -e + +# DP: - Set the libjava sublibdir to /usr/lib/gcj-4.3 +# DP: - Set the default libgcj database dir to /var/lib/gcj-4.3 + +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 -p0 < $0 + cd ${dir}libjava \ + && AUTOM4TE=autom4te2.59 aclocal-1.9 -I m4 -I ../.. -I ../../config \ + && autoconf2.59 -I m4 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}libjava/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/java/Make-lang.in.orig 2007-09-06 21:19:09.582719152 +0200 ++++ gcc/java/Make-lang.in 2007-09-06 21:20:32.543970604 +0200 +@@ -313,12 +313,13 @@ + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ZLIBINC) \ + $(srcdir)/java/jcf-io.c $(OUTPUT_OPTION) + ++short_version := $(shell echo $(version) | sed -r 's/([0-9]+\.[0-9]+).*/\1/') + # jcf-path.o needs a -D. + java/jcf-path.o: java/jcf-path.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ + java/jcf.h + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ +- -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(version).jar"' \ +- -DDEFAULT_TARGET_VERSION=\"$(version)\" \ ++ -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(short_version).jar"' \ ++ -DDEFAULT_TARGET_VERSION=\"$(short_version)\" \ + $(srcdir)/java/jcf-path.c $(OUTPUT_OPTION) + + TEXI_JAVA_FILES = java/gcj.texi $(gcc_docdir)/include/fdl.texi \ +--- libjava/classpath/configure.ac.orig 2008-01-13 17:18:19.000000000 +0100 ++++ libjava/classpath/configure.ac 2008-01-13 17:18:45.000000000 +0100 +@@ -301,7 +301,7 @@ + nativeexeclibdir=${withval} + ], + [ +- nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version` ++ nativeexeclibdir='${toolexeclibdir}/gcj-'`sed -r 's/([[0-9]]+\.[[0-9]]+).*/\1/' ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version` + ]) + + AC_SUBST(nativeexeclibdir) +--- libjava/classpath/configure.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/classpath/configure 2008-01-13 17:18:45.000000000 +0100 +@@ -4771,7 +4771,7 @@ + + else + +- nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[^#].*:/ { print $1 }' ${srcdir}/../libtool-version` ++ nativeexeclibdir='${toolexeclibdir}/gcj-'`sed -r 's/([0-9]+\.[0-9]+).*/\1/' ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[^#].*:/ { print $1 }' ${srcdir}/../libtool-version` + + fi; + +--- libjava/testsuite/lib/libjava.exp.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/testsuite/lib/libjava.exp 2008-01-13 17:18:45.000000000 +0100 +@@ -169,6 +169,7 @@ + set text [eval exec "$GCJ_UNDER_TEST -B$specdir -v 2>@ stdout"] + regexp " version \[^\n\r\]*" $text version + set libjava_version [lindex $version 1] ++ set libjava_version "4.3" + + verbose "version: $libjava_version" + +--- libjava/testsuite/Makefile.am.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/testsuite/Makefile.am 2008-01-13 17:18:45.000000000 +0100 +@@ -4,6 +4,7 @@ + + # May be used by various substitution variables. + gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++gcc_short_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER) + + # autoconf2.13's target_alias + target_noncanonical = @target_noncanonical@ +@@ -59,11 +60,11 @@ + rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \ + if test -n "$$testdep"; then \ + $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \ +- $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \ ++ $(top_builddir)/libgcj-$(gcc_short_version).jar::$$testtmpdir \ + -d $$testtmpdir $(srcdir)/$$testdep || exit; \ + fi; \ + $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \ +- $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \ ++ $(top_builddir)/libgcj-$(gcc_short_version).jar:$$testtmpdir \ + -d $$testtmpdir $(srcdir)/$$test || exit; \ + case "$$test" in \ + libjava.loader/dummy.java) \ +@@ -75,7 +76,7 @@ + esac; \ + if test -n "$$genheader"; then \ + $(MYGCJH) $$genheader $$testtmpdir/*.class \ +- -bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \ ++ -bootclasspath $(top_builddir)/libgcj-$(gcc_short_version).jar \ + -d $$testtmpdir/ || exit; \ + mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \ + fi; \ +--- libjava/testsuite/Makefile.in.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/testsuite/Makefile.in 2008-01-13 17:18:45.000000000 +0100 +@@ -327,6 +327,7 @@ + + # May be used by various substitution variables. + gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++gcc_short_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER) + + # Setup the testing framework, if you have one + EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \ +@@ -576,11 +577,11 @@ + @JAVA_MAINTAINER_MODE_TRUE@ rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \ + @JAVA_MAINTAINER_MODE_TRUE@ if test -n "$$testdep"; then \ + @JAVA_MAINTAINER_MODE_TRUE@ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \ +-@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \ ++@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_short_version).jar::$$testtmpdir \ + @JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir $(srcdir)/$$testdep || exit; \ + @JAVA_MAINTAINER_MODE_TRUE@ fi; \ + @JAVA_MAINTAINER_MODE_TRUE@ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \ +-@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \ ++@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_short_version).jar:$$testtmpdir \ + @JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir $(srcdir)/$$test || exit; \ + @JAVA_MAINTAINER_MODE_TRUE@ case "$$test" in \ + @JAVA_MAINTAINER_MODE_TRUE@ libjava.loader/dummy.java) \ +@@ -592,7 +593,7 @@ + @JAVA_MAINTAINER_MODE_TRUE@ esac; \ + @JAVA_MAINTAINER_MODE_TRUE@ if test -n "$$genheader"; then \ + @JAVA_MAINTAINER_MODE_TRUE@ $(MYGCJH) $$genheader $$testtmpdir/*.class \ +-@JAVA_MAINTAINER_MODE_TRUE@ -bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \ ++@JAVA_MAINTAINER_MODE_TRUE@ -bootclasspath $(top_builddir)/libgcj-$(gcc_short_version).jar \ + @JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir/ || exit; \ + @JAVA_MAINTAINER_MODE_TRUE@ mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \ + @JAVA_MAINTAINER_MODE_TRUE@ fi; \ +--- libjava/Makefile.am.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/Makefile.am 2008-01-13 17:18:45.000000000 +0100 +@@ -5,7 +5,8 @@ + ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl + + # May be used by various substitution variables. +-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++gcc_full_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++gcc_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER) + + SUBDIRS = $(DIRLTDL) gcj include classpath + if TESTSUBDIR +@@ -27,9 +28,9 @@ + target_noncanonical = @target_noncanonical@ + + # This is required by TL_AC_GXX_INCLUDE_DIR. +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_full_version) + +-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_full_version) + + ## + ## What gets installed, and where. +@@ -141,7 +142,7 @@ + -DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \ + -DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \ + -DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \ +- -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \ ++ -DLIBGCJ_DEFAULT_DATABASE="\"/var/lib/gcj-4.3/$(db_name)\"" \ + -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\"" + + AM_GCJFLAGS = \ +--- libjava/Makefile.in.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/Makefile.in 2008-01-13 17:18:45.000000000 +0100 +@@ -816,7 +816,8 @@ + ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl + + # May be used by various substitution variables. +-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++gcc_full_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++gcc_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER) + SUBDIRS = $(DIRLTDL) gcj include classpath $(am__append_1) + + # write_entries_to_file - writes each entry in a list +@@ -829,8 +830,8 @@ + write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) $(foreach object,$(1),$(shell echo $(object) >> $(2))) + + # This is required by TL_AC_GXX_INCLUDE_DIR. +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) +-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_full_version) ++libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_full_version) + toolexeclib_LTLIBRARIES = libgcj.la libgij.la libgcj-tools.la \ + $(am__append_2) $(am__append_3) + toolexecmainlib_DATA = libgcj.spec +@@ -875,7 +876,7 @@ + -DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \ + -DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \ + -DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \ +- -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \ ++ -DLIBGCJ_DEFAULT_DATABASE="\"/var/lib/gcj-4.3/$(db_name)\"" \ + -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\"" + + AM_GCJFLAGS = \ +--- libjava/configure.ac.orig 2008-01-13 17:18:20.000000000 +0100 ++++ libjava/configure.ac 2008-01-13 17:18:45.000000000 +0100 +@@ -511,6 +511,9 @@ + AS_HELP_STRING([--with-java-home=DIRECTORY], + [value of java.home system property]), + [JAVA_HOME="${withval}"], [JAVA_HOME=""]) ++if test -n "$with_multisubdir"; then ++ JAVA_HOME=`echo $JAVA_HOME | sed "s,/usr/lib/,/usr/lib$with_multisubdir/,"` ++fi + AM_CONDITIONAL(JAVA_HOME_SET, test ! -z "$JAVA_HOME") + AC_SUBST(JAVA_HOME) + +@@ -1385,6 +1388,7 @@ + multi_os_directory=`$CC -print-multi-os-directory` + case $multi_os_directory in + .) toolexeclibdir=$toolexecmainlibdir ;; # Avoid trailing /. ++ ../lib*) toolexeclibdir='$(subst /lib/../lib,/lib,'$toolexecmainlibdir/$multi_os_directory')' ;; + *) toolexeclibdir=$toolexecmainlibdir/$multi_os_directory ;; + esac + ;; +@@ -1395,6 +1399,7 @@ + + # Determine gcj and libgcj version number. + gcjversion=`cat "$srcdir/../gcc/BASE-VER"` ++short_version=`sed -r 's/([[0-9]]+\.[[0-9]]+).*/\1/' $srcdir/../gcc/BASE-VER` + libgcj_soversion=`awk -F: '/^[[^#]].*:/ { print $1 }' $srcdir/libtool-version` + GCJVERSION=$gcjversion + AC_SUBST(GCJVERSION) +@@ -1402,7 +1407,7 @@ + + # Determine where the standard .db file and GNU Classpath JNI + # libraries are found. +-gcjsubdir=gcj-$gcjversion-$libgcj_soversion ++gcjsubdir=gcj-$short_version-$libgcj_soversion + multi_os_directory=`$CC -print-multi-os-directory` + case $multi_os_directory in + .) --- gcc-4.3-4.3.4.orig/debian/patches/kbsd-gnu-ada.dpatch +++ gcc-4.3-4.3.4/debian/patches/kbsd-gnu-ada.dpatch @@ -0,0 +1,422 @@ +#! /bin/sh -e + +# Description: Ada support for GNU/k*BSD +# Author: Aurelien Jarno +# Status: submitted. + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +--- src/gcc/ada/Makefile.in.orig 2008-02-09 13:03:14 +0100 ++++ src/gcc/ada/Makefile.in 2008-02-09 13:03:33 +0100 +@@ -866,6 +866,8 @@ + s-osinte.adstm_gmtoff; + + /* All other platforms: Treat all time values in GMT */ +--- src/gcc/ada/link.c.orig 2008-02-10 11:59:07 +0100 ++++ src/gcc/ada/link.c 2008-02-10 11:59:14 +0100 +@@ -153,7 +153,7 @@ + unsigned char __gnat_using_gnu_linker = 1; + const char *__gnat_object_library_extension = ".a"; + +-#elif defined (linux) ++#elif defined (linux) || defined(__GLIBC__) + const char *__gnat_object_file_option = ""; + const char *__gnat_run_path_option = ""; + char __gnat_shared_libgnat_default = SHARED; +--- src/gcc/ada/Makefile.in ++++ src/gcc/ada/Makefile.in +@@ -854,6 +854,38 @@ + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(arch) $(osys))),) ++ LIBGNAT_TARGET_PAIRS = \ ++ a-intnam.ads" (Left, Right : Address) return Boolean; ++ function ">=" (Left, Right : Address) return Boolean; ++ function "=" (Left, Right : Address) return Boolean; ++ ++ pragma Import (Intrinsic, "<"); ++ pragma Import (Intrinsic, "<="); ++ pragma Import (Intrinsic, ">"); ++ pragma Import (Intrinsic, ">="); ++ pragma Import (Intrinsic, "="); ++ ++ -- Other System-Dependent Declarations ++ ++ type Bit_Order is (High_Order_First, Low_Order_First); ++ Default_Bit_Order : constant Bit_Order := Low_Order_First; ++ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning ++ ++ -- Priority-related Declarations (RM D.1) ++ ++ Max_Priority : constant Positive := 30; ++ Max_Interrupt_Priority : constant Positive := 31; ++ ++ subtype Any_Priority is Integer range 0 .. 31; ++ subtype Priority is Any_Priority range 0 .. 30; ++ subtype Interrupt_Priority is Any_Priority range 31 .. 31; ++ ++ Default_Priority : constant Priority := 15; ++ ++private ++ ++ type Address is mod Memory_Size; ++ Null_Address : constant Address := 0; ++ ++ -------------------------------------- ++ -- System Implementation Parameters -- ++ -------------------------------------- ++ ++ -- These parameters provide information about the target that is used ++ -- by the compiler. They are in the private part of System, where they ++ -- can be accessed using the special circuitry in the Targparm unit ++ -- whose source should be consulted for more detailed descriptions ++ -- of the individual switch values. ++ ++ Backend_Divide_Checks : constant Boolean := False; ++ Backend_Overflow_Checks : constant Boolean := False; ++ Command_Line_Args : constant Boolean := True; ++ Configurable_Run_Time : constant Boolean := False; ++ Denorm : constant Boolean := True; ++ Duration_32_Bits : constant Boolean := False; ++ Exit_Status_Supported : constant Boolean := True; ++ Fractional_Fixed_Ops : constant Boolean := False; ++ Frontend_Layout : constant Boolean := False; ++ Machine_Overflows : constant Boolean := False; ++ Machine_Rounds : constant Boolean := True; ++ Preallocated_Stacks : constant Boolean := False; ++ Signed_Zeros : constant Boolean := True; ++ Stack_Check_Default : constant Boolean := False; ++ Stack_Check_Probes : constant Boolean := True; ++ Stack_Check_Limits : constant Boolean := False; ++ Support_64_Bit_Divides : constant Boolean := True; ++ Support_Aggregates : constant Boolean := True; ++ Support_Composite_Assign : constant Boolean := True; ++ Support_Composite_Compare : constant Boolean := True; ++ Support_Long_Shifts : constant Boolean := True; ++ Always_Compatible_Rep : constant Boolean := True; ++ Suppress_Standard_Library : constant Boolean := False; ++ Use_Ada_Main_Program_Name : constant Boolean := False; ++ ZCX_By_Default : constant Boolean := True; ++ GCC_ZCX_Support : constant Boolean := True; ++ ++end System; --- gcc-4.3-4.3.4.orig/debian/patches/gdc-ice-page-lookup.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-ice-page-lookup.dpatch @@ -0,0 +1,42 @@ +#! /bin/sh -e + +# gdc-ice-lookup.dpatch by Iain Buclaw +# DP: Work around build on kfreebsd-amd64 until real problem is found. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/ggc-page.c.orig 2007-11-01 22:20:29.000000000 +0000 ++++ gcc/ggc-page.c 2010-03-14 21:24:16.000000000 +0000 +@@ -1279,6 +1279,11 @@ + unsigned bit, word; + unsigned long mask; + ++ /* FIXME: p is not a valid page entry ++ (not allocated by the collector?), skip it for now. */ ++ if (! ggc_allocated_p (p)) ++ return 1; ++ + /* Look up the page on which the object is alloced. If the object + wasn't allocated by the collector, we'll probably die. */ + entry = lookup_page_table_entry (p); --- gcc-4.3-4.3.4.orig/debian/patches/note-gnu-stack.dpatch +++ gcc-4.3-4.3.4/debian/patches/note-gnu-stack.dpatch @@ -0,0 +1,316 @@ +#! /bin/sh -e + +# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc +# DP: Taken from FC. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +gcc/ + +2004-09-20 Jakub Jelinek + + * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also + on ppc64-linux. + + * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on + ia64-linux. + * config/ia64/crtbegin.asm: Likewise. + * config/ia64/crtend.asm: Likewise. + * config/ia64/crti.asm: Likewise. + * config/ia64/crtn.asm: Likewise. + +2004-05-14 Jakub Jelinek + + * config/ia64/linux.h (TARGET_ASM_FILE_END): Define. + + +boehm-gc/ + +2005-02-08 Jakub Jelinek + + * ia64_save_regs_in_stack.s: Moved to... + * ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack + on Linux. + +libffi/ + +2007-05-11 Daniel Jacobowitz + + * src/arm/sysv.S: Fix ARM comment marker. + +2005-02-08 Jakub Jelinek + + * src/alpha/osf.S: Add .note.GNU-stack on Linux. + * src/s390/sysv.S: Likewise. + * src/powerpc/linux64.S: Likewise. + * src/powerpc/linux64_closure.S: Likewise. + * src/powerpc/ppc_closure.S: Likewise. + * src/powerpc/sysv.S: Likewise. + * src/x86/unix64.S: Likewise. + * src/x86/sysv.S: Likewise. + * src/sparc/v8.S: Likewise. + * src/sparc/v9.S: Likewise. + * src/m68k/sysv.S: Likewise. + * src/ia64/unix.S: Likewise. + * src/arm/sysv.S: Likewise. + + +Index: boehm-gc/ia64_save_regs_in_stack.s +=================================================================== +--- boehm-gc/ia64_save_regs_in_stack.s (revision 107431) ++++ boehm-gc/ia64_save_regs_in_stack.s (revision 107432) +@@ -1,12 +0,0 @@ +- .text +- .align 16 +- .global GC_save_regs_in_stack +- .proc GC_save_regs_in_stack +-GC_save_regs_in_stack: +- .body +- flushrs +- ;; +- mov r8=ar.bsp +- br.ret.sptk.few rp +- .endp GC_save_regs_in_stack +- +Index: boehm-gc/ia64_save_regs_in_stack.S +=================================================================== +--- boehm-gc/ia64_save_regs_in_stack.S (revision 0) ++++ boehm-gc/ia64_save_regs_in_stack.S (revision 107432) +@@ -0,0 +1,15 @@ ++ .text ++ .align 16 ++ .global GC_save_regs_in_stack ++ .proc GC_save_regs_in_stack ++GC_save_regs_in_stack: ++ .body ++ flushrs ++ ;; ++ mov r8=ar.bsp ++ br.ret.sptk.few rp ++ .endp GC_save_regs_in_stack ++ ++#ifdef __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- gcc/config/ia64/linux.h.orig 2006-10-12 02:01:00.000000000 +0200 ++++ gcc/config/ia64/linux.h 2006-12-11 10:33:13.000000000 +0100 +@@ -5,6 +5,8 @@ + + #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux"); + ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack ++ + /* This is for -profile to use -lc_p instead of -lc. */ + #undef CC1_SPEC + #define CC1_SPEC "%{profile:-p} %{G*}" +--- gcc/config/ia64/lib1funcs.asm.orig 2006-01-18 22:46:41.000000000 +0100 ++++ gcc/config/ia64/lib1funcs.asm 2006-12-11 10:33:13.000000000 +0100 +@@ -792,3 +792,7 @@ + } + .endp __floattitf + #endif ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- gcc/config/ia64/crti.asm.orig 2006-01-18 22:46:41.000000000 +0100 ++++ gcc/config/ia64/crti.asm 2006-12-11 10:33:13.000000000 +0100 +@@ -64,3 +64,7 @@ + .body + + # end of crti.asm ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- gcc/config/ia64/crtn.asm.orig 2006-01-18 22:46:41.000000000 +0100 ++++ gcc/config/ia64/crtn.asm 2006-12-11 10:33:13.000000000 +0100 +@@ -54,3 +54,7 @@ + br.ret.sptk.many b0 + + # end of crtn.asm ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- gcc/config/ia64/crtend.asm.orig 2006-01-18 22:46:41.000000000 +0100 ++++ gcc/config/ia64/crtend.asm 2006-12-11 10:33:13.000000000 +0100 +@@ -122,3 +122,7 @@ + + br.ret.sptk.many rp + .endp __do_global_ctors_aux ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- gcc/config/ia64/crtbegin.asm.orig 2006-01-18 22:46:41.000000000 +0100 ++++ gcc/config/ia64/crtbegin.asm 2006-12-11 10:33:13.000000000 +0100 +@@ -255,3 +255,7 @@ + .weak __cxa_finalize + #endif + .weak _Jv_RegisterClasses ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- gcc/config/rs6000/ppc-asm.h.orig 2006-01-18 22:46:46.000000000 +0100 ++++ gcc/config/rs6000/ppc-asm.h 2006-12-11 10:33:14.000000000 +0100 +@@ -158,7 +158,7 @@ + .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name) + #endif + +-#if defined __linux__ && !defined __powerpc64__ ++#if defined __linux__ + .section .note.GNU-stack + .previous + #endif +--- libffi/src/powerpc/ppc_closure.S.orig 2006-03-25 09:16:06.000000000 +0100 ++++ libffi/src/powerpc/ppc_closure.S 2006-12-11 10:33:14.000000000 +0100 +@@ -281,3 +281,7 @@ + .LEFDE1: + + #endif ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/powerpc/sysv.S.orig 2006-03-25 09:16:06.000000000 +0100 ++++ libffi/src/powerpc/sysv.S 2006-12-11 10:33:14.000000000 +0100 +@@ -217,3 +217,7 @@ + .align 2 + .LEFDE1: + #endif ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/powerpc/linux64_closure.S.orig 2006-01-18 22:49:27.000000000 +0100 ++++ libffi/src/powerpc/linux64_closure.S 2006-12-11 10:33:14.000000000 +0100 +@@ -204,3 +204,7 @@ + .align 3 + .LEFDE1: + #endif ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/powerpc/linux64.S.orig 2006-03-25 09:16:06.000000000 +0100 ++++ libffi/src/powerpc/linux64.S 2006-12-11 10:33:14.000000000 +0100 +@@ -175,3 +175,7 @@ + .align 3 + .LEFDE1: + #endif ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/arm/sysv.S.orig 2006-10-12 02:00:57.000000000 +0200 ++++ libffi/src/arm/sysv.S 2006-12-11 10:33:14.000000000 +0100 +@@ -255,3 +255,6 @@ + .ffi_closure_SYSV_end: + .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) + ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",%progbits ++#endif +--- libffi/src/m68k/sysv.S.orig 2006-01-18 22:49:27.000000000 +0100 ++++ libffi/src/m68k/sysv.S 2006-12-11 10:33:14.000000000 +0100 +@@ -207,3 +207,7 @@ + rts + CFI_ENDPROC() + .size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/alpha/osf.S.orig 2006-01-18 22:49:27.000000000 +0100 ++++ libffi/src/alpha/osf.S 2006-12-11 10:33:14.000000000 +0100 +@@ -356,4 +356,8 @@ + .byte 16 # uleb128 offset 16*-8 + .align 3 + $LEFDE3: ++ ++#ifdef __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif + #endif +--- libffi/src/x86/sysv.S.orig 2006-01-18 22:49:28.000000000 +0100 ++++ libffi/src/x86/sysv.S 2006-12-11 10:33:14.000000000 +0100 +@@ -376,3 +376,7 @@ + #endif + + #endif /* ifndef __x86_64__ */ ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/x86/unix64.S.orig 2006-01-18 22:49:28.000000000 +0100 ++++ libffi/src/x86/unix64.S 2006-12-11 10:33:14.000000000 +0100 +@@ -410,3 +410,7 @@ + .LEFDE3: + + #endif /* __x86_64__ */ ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/s390/sysv.S.orig 2006-01-18 22:49:28.000000000 +0100 ++++ libffi/src/s390/sysv.S 2006-12-11 10:33:14.000000000 +0100 +@@ -427,3 +427,6 @@ + + #endif + ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/ia64/unix.S.orig 2006-01-18 22:49:29.000000000 +0100 ++++ libffi/src/ia64/unix.S 2006-12-11 10:33:14.000000000 +0100 +@@ -553,3 +553,7 @@ + data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT + data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE + data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/sparc/v9.S.orig 2006-01-18 22:49:29.000000000 +0100 ++++ libffi/src/sparc/v9.S 2006-12-11 10:33:14.000000000 +0100 +@@ -300,3 +300,7 @@ + .align 8 + .LLEFDE2: + #endif ++ ++#ifdef __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +--- libffi/src/sparc/v8.S.orig 2006-01-18 22:49:29.000000000 +0100 ++++ libffi/src/sparc/v8.S 2006-12-11 10:33:14.000000000 +0100 +@@ -265,3 +265,7 @@ + .byte 0x1f ! uleb128 0x1f + .align WS + .LLEFDE2: ++ ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif --- gcc-4.3-4.3.4.orig/debian/patches/testsuite-hardening-fortify.dpatch +++ gcc-4.3-4.3.4/debian/patches/testsuite-hardening-fortify.dpatch @@ -0,0 +1,246 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: Description: check more functions to avoid -D_FORTIFY_SOURCE=2 warnings. +# DP: Author: Kees Cook +# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502 + +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 + +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc src/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc 2007-03-14 04:37:55.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc 2009-03-20 00:46:37.000000000 -0700 +@@ -45,7 +45,7 @@ void test02() + + FILE* in = fopen(name, "r"); + char str[256]; +- fgets(str, 256, in); ++ VERIFY( fgets(str, 256, in) != NULL ); + VERIFY( !strcmp(str, "Hello, world") ); + fclose(in); + } +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc src/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc 2005-08-16 19:28:44.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc 2009-03-20 00:48:47.000000000 -0700 +@@ -162,7 +162,7 @@ void test02() + const char* name = "tmp_11544-2"; + + FILE* f = fopen(name, "w"); +- fwrite("aaaab", 1, 5, f); ++ VERIFY( fwrite("aaaab", 1, 5, f) == 5 ); + fclose(f); + + wifstream in; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc src/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc 2007-02-23 14:12:49.000000000 -0800 ++++ src/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc 2009-03-20 00:49:49.000000000 -0700 +@@ -42,7 +42,7 @@ void + test01() + { + std::ios_base::sync_with_stdio(); +- std::freopen("ios_base_members_static-1.txt", "w", stderr); ++ VERIFY( std::freopen("ios_base_members_static-1.txt", "w", stderr) != NULL ); + + for (int i = 0; i < 2; i++) + { +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc src/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc 2007-03-14 04:37:55.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc 2009-03-20 00:43:07.000000000 -0700 +@@ -27,7 +27,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + char c1; + char c2; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc src/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc 2007-03-14 04:37:55.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc 2009-03-20 00:43:19.000000000 -0700 +@@ -25,7 +25,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + char c1; + int c2; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc src/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc 2007-03-14 04:37:55.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc 2009-03-20 00:43:34.000000000 -0700 +@@ -24,7 +24,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + char buf[2]; + VERIFY( std::cin.rdbuf()->sgetn(buf, 2) == 2 ); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc src/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc 2007-03-14 04:37:55.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc 2009-03-20 00:43:45.000000000 -0700 +@@ -25,7 +25,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + char buf[2]; + VERIFY( std::cin.rdbuf()->sgetn(buf, 2) == 2 ); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc src/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc 2007-03-14 04:37:55.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc 2009-03-20 00:44:05.000000000 -0700 +@@ -34,7 +34,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + char c1; + int c2; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc src/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc 2007-03-02 10:11:15.000000000 -0800 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc 2009-03-20 00:51:47.000000000 -0700 +@@ -68,7 +68,7 @@ bool test01() + exit(0); + } + +- freopen(name, "r", stdin); ++ VERIFY( freopen(name, "r", stdin) != NULL ); + s1.wait(); + + int c1 = fgetc(stdin); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/9.cc src/libstdc++-v3/testsuite/27_io/objects/char/9.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/char/9.cc 2007-08-17 10:24:22.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/char/9.cc 2009-03-20 00:56:29.000000000 -0700 +@@ -35,7 +35,7 @@ void test09() + fputs("abc\n", fout); + fclose(fout); + +- freopen(name, "r", stdin); ++ VERIFY( freopen(name, "r", stdin) != NULL ); + + // basic_streambuf::showmanyc returns 0. + VERIFY( 0 == std::cin.rdbuf()->in_avail() ); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc 2005-08-16 19:28:44.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc 2009-03-20 00:44:32.000000000 -0700 +@@ -25,7 +25,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + wchar_t c1; + wchar_t c2; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc 2005-08-16 19:28:44.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc 2009-03-20 00:44:44.000000000 -0700 +@@ -24,7 +24,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + wchar_t c1; + std::wint_t c2; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc 2005-08-16 19:28:44.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc 2009-03-20 00:44:52.000000000 -0700 +@@ -26,7 +26,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + wchar_t buf[2]; + VERIFY( std::wcin.rdbuf()->sgetn(buf, 2) == 2 ); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc 2005-08-16 19:28:44.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc 2009-03-20 00:45:01.000000000 -0700 +@@ -24,7 +24,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + wchar_t buf[2]; + VERIFY( std::wcin.rdbuf()->sgetn(buf, 2) == 2 ); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc 2005-08-16 19:28:44.000000000 -0700 ++++ src/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc 2009-03-20 00:45:11.000000000 -0700 +@@ -30,7 +30,7 @@ + void + test01() + { +- std::freopen("cin_unget-1.txt", "r", stdin); ++ VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) != NULL ); + + wchar_t c1; + std::wint_t c2; +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc src/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc +--- ../src.mar19/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc 2007-03-02 10:11:15.000000000 -0800 ++++ src/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc 2009-03-20 00:52:06.000000000 -0700 +@@ -67,7 +67,7 @@ bool test01() + exit(0); + } + +- freopen(name, "r", stdin); ++ VERIFY( freopen(name, "r", stdin) != NULL ); + s1.wait(); + + wint_t c1 = fgetwc(stdin); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc src/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc +--- ../src.mar19/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc 2007-05-10 17:55:17.000000000 -0700 ++++ src/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc 2009-03-20 00:50:41.000000000 -0700 +@@ -34,7 +34,7 @@ void test01() + const char* name = "stdiobuf-1.txt"; + + FILE* fout = fopen(name, "w"); +- fwrite(c_lit, 1, size, fout); ++ VERIFY( fwrite(c_lit, 1, size, fout) == size ); + fclose(fout); + + FILE* fin = fopen(name, "r"); +diff -uNrp ../src.mar19/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc src/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc +--- ../src.mar19/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc 2007-05-10 17:55:17.000000000 -0700 ++++ src/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc 2009-03-20 00:50:58.000000000 -0700 +@@ -34,7 +34,7 @@ void test01() + const char* name = "stdiobuf-1.txt"; + + FILE* fout = fopen(name, "w"); +- fwrite(c_lit, 1, size, fout); ++ VERIFY( fwrite(c_lit, 1, size, fout) == size ); + fclose(fout); + + FILE* fin = fopen(name, "r"); --- gcc-4.3-4.3.4.orig/debian/patches/kbsd-gnu.dpatch +++ gcc-4.3-4.3.4/debian/patches/kbsd-gnu.dpatch @@ -0,0 +1,99 @@ +#! /bin/sh -e + +# DP: GNU/k*BSD support +# Author: Robert Millan +# Status: Not yet submitted + + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +diff -Nurd gcc-4.2.orig/gcc/config/i386/kfreebsd-gnu.h gcc-4.2/gcc/config/i386/kfreebsd-gnu.h +--- gcc-4.2.orig/gcc/config/i386/kfreebsd-gnu.h 2006-01-18 22:46:30.000000000 +0100 ++++ gcc-4.2/gcc/config/i386/kfreebsd-gnu.h 2007-05-23 05:34:47.000000000 +0200 +@@ -20,7 +20,29 @@ + the Free Software Foundation, 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + ++#ifdef GLIBC_DYNAMIC_LINKER32 ++#undef GLIBC_DYNAMIC_LINKER32 ++#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" ++#endif ++ ++#ifdef GLIBC_DYNAMIC_LINKER64 ++#undef GLIBC_DYNAMIC_LINKER64 ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1" ++#endif ++ + #undef LINK_EMULATION + #define LINK_EMULATION "elf_i386_fbsd" ++ ++#ifdef LINK_EMULATION32 ++#undef LINK_EMULATION32 ++#define LINK_EMULATION32 LINK_EMULATION ++#endif ++ ++#ifdef LINK_EMULATION64 ++#undef LINK_EMULATION64 ++#define LINK_EMULATION64 "elf_x86_64_fbsd" ++#endif ++ + #undef REG_NAME + #define REG_NAME(reg) sc_ ## reg ++ +diff -Nurd gcc-4.2.orig/gcc/config/i386/linux64.h gcc-4.2/gcc/config/i386/linux64.h +--- gcc-4.2.orig/gcc/config/i386/linux64.h 2007-05-22 22:25:11.000000000 +0200 ++++ gcc-4.2/gcc/config/i386/linux64.h 2007-05-23 05:39:11.000000000 +0200 +@@ -53,8 +53,11 @@ + When the -shared link option is used a final link is not being + done. */ + ++/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */ + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" + #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define LINK_EMULATION32 "elf_i386" ++#define LINK_EMULATION64 "elf_x86_64" + + #if TARGET_64BIT_DEFAULT + #define SPEC_32 "m32" +@@ -65,7 +68,7 @@ + #endif + + #undef LINK_SPEC +-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ ++#define LINK_SPEC "%{" SPEC_64 ":-m " LINK_EMULATION64 "} %{" SPEC_32 ":-m " LINK_EMULATION32 "} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +diff -Nurd gcc-4.2.orig/gcc/config.gcc gcc-4.2/gcc/config.gcc +--- gcc-4.2.orig/gcc/config.gcc 2007-02-03 10:03:58.000000000 +0100 ++++ gcc-4.2/gcc/config.gcc 2007-05-23 05:37:10.000000000 +0200 +@@ -1102,7 +1102,7 @@ + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \ + i386/x86-64.h i386/linux64.h" + case ${target} in +- x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;; ++ x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; + x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;; + esac + tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules" --- gcc-4.3-4.3.4.orig/debian/patches/svn-gdc-updates.dpatch +++ gcc-4.3-4.3.4/debian/patches/svn-gdc-updates.dpatch @@ -0,0 +1,137 @@ +#! /bin/sh -e + +# svn-gdc-updates.dpatch by Arthur Loiret +# DP: SVN updates from the gdc branch up to 20070831. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +diff -ruN gcc/d/ChangeLog gcc/d/ChangeLog +--- gcc/d/ChangeLog 2007-08-26 22:34:22.000000000 +0200 ++++ gcc/d/ChangeLog 2007-09-02 19:33:43.000000000 +0200 +@@ -1,3 +1,20 @@ ++2007-08-31 David Friedman ++ ++ * d-objfile.cc (outdata): Do not set TREE_CONSTANT on initializers ++ (Bugzilla 1453) ++ ++2007-08-29 David Friedman ++ ++ * d-decls.cc (uniqueName): Allow multiple static declaration with ++ the same name if in a function. (SF 1783085) ++ ++2007-08-28 David Friedman ++ ++ * d-codegen.cc (call): Use CommaExp correctly. (Bugzilla 1443) ++ ++ * dmd/todt.c (createTsarrayDt): Don't take quadratic time to build ++ the initializer. (Bugzilla 1440) ++ + 2007-08-22 David Friedman + + Release GDC 0.24 +diff -ruN gcc/d/d-codegen.cc gcc/d/d-codegen.cc +--- gcc/d/d-codegen.cc 2007-08-26 22:34:22.000000000 +0200 ++++ gcc/d/d-codegen.cc 2007-09-02 19:33:43.000000000 +0200 +@@ -780,10 +780,12 @@ + if (expr->op == TOKcomma) + { + CommaExp * ce = (CommaExp *) expr; ++ expr = ce->e2; ++ + VarExp * ve; +- expr = ce->e1; +- gcc_assert( ce->e2->op == TOKvar && +- ((VarExp *) ce->e2)->var->isFuncDeclaration() ); ++ gcc_assert( ce->e2->op == TOKvar ); ++ ve = (VarExp *) ce->e2; ++ gcc_assert(ve->var->isFuncDeclaration() && ! ve->var->needThis()); + } + + Type* t = expr->type->toBasetype(); +diff -ruN gcc/d/d-decls.cc gcc/d/d-decls.cc +--- gcc/d/d-decls.cc 2007-08-26 22:34:22.000000000 +0200 ++++ gcc/d/d-decls.cc 2007-09-02 19:33:43.000000000 +0200 +@@ -137,10 +137,17 @@ + FuncDeclaration * f = d->isFuncDeclaration(); + VarDeclaration * v = d->isVarDeclaration(); + +- if (d->protection == PROTprivate && +- !(f && ! f->fbody) && ++ /* Check cases for which it is okay to have a duplicate symbol name. ++ Otherwise, duplicate names are an error and the condition will ++ be caught by the assembler. */ ++ if (!(f && ! f->fbody) && + !(v && (v->storage_class & STCextern)) && +- (!p || p->isModule())) ++ ( ++ // Static declarations in different scope statements ++ (p && p->isFuncDeclaration()) || ++ ++ // Top-level duplicate names are okay if private. ++ ((!p || p->isModule()) && d->protection == PROTprivate) )) + { + StringValue * sv; + +diff -ruN gcc/d/dmd/todt.c gcc/d/dmd/todt.c +--- gcc/d/dmd/todt.c 2007-08-26 22:34:22.000000000 +0200 ++++ gcc/d/dmd/todt.c 2007-09-02 19:33:43.000000000 +0200 +@@ -73,17 +73,18 @@ + + target_size_t dim = tsa->dim->toInteger(); + dt_t * adt = NULL; ++ dt_t ** padt = & adt; + + if (eoa_size * dim == eoa_size) + { + for (target_size_t i = 0; i < dim; i++) +- dtcontainer(& adt, NULL, elem_or_all); ++ padt = dtcontainer(padt, NULL, elem_or_all); + } + else + { + assert(tsa->size(0) % eoa_size == 0); + for (target_size_t i = 0; i < dim; i++) +- dtcontainer(& adt, NULL, ++ padt = dtcontainer(padt, NULL, + createTsarrayDt(elem_or_all, tsa->next)); + } + dt_t * fdt = NULL; +diff -ruN gcc/d/d-objfile.cc gcc/d/d-objfile.cc +--- gcc/d/d-objfile.cc 2007-08-26 22:34:22.000000000 +0200 ++++ gcc/d/d-objfile.cc 2007-09-02 19:33:43.000000000 +0200 +@@ -954,11 +954,8 @@ + + assert( t ); + +- if (sym->Sdt && DECL_INITIAL( t ) == NULL_TREE) { +- tree ini = dt2tree( sym->Sdt ); +- TREE_CONSTANT( ini ) = TREE_CONSTANT( t ); +- DECL_INITIAL( t ) = ini; +- } ++ if (sym->Sdt && DECL_INITIAL( t ) == NULL_TREE) ++ DECL_INITIAL( t ) = dt2tree( sym->Sdt ); + + if (! g.ofile->shouldEmit(sym)) + return; --- gcc-4.3-4.3.4.orig/debian/patches/libjava-armel-unwind.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-armel-unwind.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# DP: On armel, apply kludge to fix unwinder infinitely looping 'til it runs out +# DP: of memory (http://gcc.gnu.org/ml/java/2008-06/msg00010.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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libjava/stacktrace.cc~ 2008-06-10 07:54:46.053753233 +0200 ++++ libjava/stacktrace.cc 2008-06-10 10:48:50.161300219 +0200 +@@ -115,6 +115,9 @@ + // Check if the trace buffer needs to be extended. + if (pos == state->length) + { ++ // http://gcc.gnu.org/ml/java/2008-06/msg00010.html ++ return _URC_END_OF_STACK; ++ + int newLength = state->length * 2; + void *newFrames = _Jv_AllocBytes (newLength * sizeof(_Jv_StackFrame)); + memcpy (newFrames, state->frames, state->length * sizeof(_Jv_StackFrame)); --- gcc-4.3-4.3.4.orig/debian/patches/pr28733.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr28733.dpatch @@ -0,0 +1,79 @@ +#! /bin/sh -e + +# DP: PR ada/28733: GNAT crash while compiling Ada-2005 code + +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 && autoconf2.59 + ;; + -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 + +2008-04-15 Samuel Tardieu + +From: sam + +Gary Dismukes + + gcc/ada/ + PR ada/28733 + * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something + which is not an entity (and hence not a package). + (End_Use_Package): Ditto. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134313 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_ch8.adb | 14 ++++++++++++-- + 1 files changed, 12 insertions(+), 2 deletions(-) + + +diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb +index 0a4ac8e..b20e8a8 100644 +--- a/gcc/ada/sem_ch8.adb ++++ b/gcc/ada/sem_ch8.adb +@@ -2396,6 +2396,11 @@ package body Sem_Ch8 is + Use_One_Package (Pack, N); + end if; + end if; ++ ++ -- Report error because name denotes something other than a package ++ ++ else ++ Error_Msg_N ("& is not a package", Pack_Name); + end if; + + Next (Pack_Name); +@@ -3066,9 +3071,14 @@ package body Sem_Ch8 is + begin + Pack_Name := First (Names (N)); + while Present (Pack_Name) loop +- Pack := Entity (Pack_Name); + +- if Ekind (Pack) = E_Package then ++ -- Test that Pack_Name actually denotes a package before processing ++ ++ if Is_Entity_Name (Pack_Name) ++ and then Ekind (Entity (Pack_Name)) = E_Package ++ then ++ Pack := Entity (Pack_Name); ++ + if In_Open_Scopes (Pack) then + null; + --- gcc-4.3-4.3.4.orig/debian/patches/gcc-default-relro.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-default-relro.dpatch @@ -0,0 +1,50 @@ +#! /bin/sh -e + +# DP: Turn on -Wl,-z,relro by default. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 +Index: gcc/gcc.c +=================================================================== +--- gcc.orig/gcc.c 2008-05-01 13:41:06.000000000 -0700 ++++ gcc/gcc.c 2008-05-01 13:41:09.000000000 -0700 +@@ -726,6 +726,7 @@ + #define LINK_COMMAND_SPEC "\ + %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ + %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ ++ -z relro\ + %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ + %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ + %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %(mflib)\ +Index: gcc/doc/invoke.texi +=================================================================== +--- gcc.orig/doc/invoke.texi 2008-05-01 13:42:46.000000000 -0700 ++++ gcc/doc/invoke.texi 2008-05-01 13:45:04.000000000 -0700 +@@ -7581,6 +7581,9 @@ + Pass @var{option} as an option to the linker. If @var{option} contains + commas, it is split into multiple options at the commas. + ++NOTE: In Ubuntu 8.10 and later versions, for LDFLAGS, the option ++@option{-Wl,-z,relro} is used. To disable, use @option{-Wl,-z,norelro}. ++ + @item -u @var{symbol} + @opindex u + Pretend the symbol @var{symbol} is undefined, to force linking of --- gcc-4.3-4.3.4.orig/debian/patches/gcc-ice-hack.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-ice-hack.dpatch @@ -0,0 +1,331 @@ +#! /bin/sh -e + +# DP: Retry the build on an ice, save the calling options and preprocessed +# DP: source when the ice is reproducible. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2004-01-23 Jakub Jelinek + + * system.h (ICE_EXIT_CODE): Define. + * gcc.c (execute): Don't free first string early, but at the end + of the function. Call retry_ice if compiler exited with + ICE_EXIT_CODE. + (retry_ice): New function. + * diagnostic.c (diagnostic_count_diagnostic, + diagnostic_action_after_output, error_recursion): Exit with + ICE_EXIT_CODE instead of FATAL_EXIT_CODE. + +--- gcc/diagnostic.c.orig 2007-09-30 10:48:13.000000000 +0000 ++++ gcc/diagnostic.c 2007-09-30 10:49:57.000000000 +0000 +@@ -244,7 +244,7 @@ + fnotice (stderr, "Please submit a full bug report,\n" + "with preprocessed source if appropriate.\n" + "See %s for instructions.\n", bug_report_url); +- exit (ICE_EXIT_CODE); ++ exit (FATAL_EXIT_CODE); + + case DK_FATAL: + if (context->abort_on_error) +--- gcc/gcc.c.orig 2007-09-30 10:48:13.000000000 +0000 ++++ gcc/gcc.c 2007-09-30 10:48:39.000000000 +0000 +@@ -357,6 +357,9 @@ + #if defined(HAVE_TARGET_OBJECT_SUFFIX) || defined(HAVE_TARGET_EXECUTABLE_SUFFIX) + static const char *convert_filename (const char *, int, int); + #endif ++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS)) ++static void retry_ice (const char *prog, const char **argv); ++#endif + + static const char *getenv_spec_function (int, const char **); + static const char *if_exists_spec_function (int, const char **); +@@ -2999,7 +3002,7 @@ + } + } + +- if (string != commands[i].prog) ++ if (i && string != commands[i].prog) + free (CONST_CAST (char *, string)); + } + +@@ -3056,6 +3059,16 @@ + else if (WIFEXITED (status) + && WEXITSTATUS (status) >= MIN_FATAL_STATUS) + { ++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS)) ++ /* For ICEs in cc1, cc1obj, cc1plus see if it is ++ reproducible or not. */ ++ char *p; ++ if (WEXITSTATUS (status) == ICE_EXIT_CODE ++ && i == 0 ++ && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR)) ++ && ! strncmp (p + 1, "cc1", 3)) ++ retry_ice (commands[0].prog, commands[0].argv); ++#endif + if (WEXITSTATUS (status) > greatest_status) + greatest_status = WEXITSTATUS (status); + ret_code = -1; +@@ -3076,6 +3089,9 @@ + } + } + ++ if (commands[0].argv[0] != commands[0].prog) ++ free ((PTR) commands[0].argv[0]); ++ + return ret_code; + } + } +@@ -6016,6 +6032,224 @@ + switches[switchnum].validated = 1; + } + ++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS)) ++#define RETRY_ICE_ATTEMPTS 2 ++ ++static void ++retry_ice (const char *prog, const char **argv) ++{ ++ int nargs, out_arg = -1, quiet = 0, attempt; ++ int pid, retries, sleep_interval; ++ const char **new_argv; ++ char *temp_filenames[RETRY_ICE_ATTEMPTS * 2 + 2]; ++ ++ if (input_filename == NULL || ! strcmp (input_filename, "-")) ++ return; ++ ++ for (nargs = 0; argv[nargs] != NULL; ++nargs) ++ /* Only retry compiler ICEs, not preprocessor ones. */ ++ if (! strcmp (argv[nargs], "-E")) ++ return; ++ else if (argv[nargs][0] == '-' && argv[nargs][1] == 'o') ++ { ++ if (out_arg == -1) ++ out_arg = nargs; ++ else ++ return; ++ } ++ /* If the compiler is going to output any time information, ++ it might vary between invocations. */ ++ else if (! strcmp (argv[nargs], "-quiet")) ++ quiet = 1; ++ else if (! strcmp (argv[nargs], "-ftime-report")) ++ return; ++ ++ if (out_arg == -1 || !quiet) ++ return; ++ ++ memset (temp_filenames, '\0', sizeof (temp_filenames)); ++ new_argv = alloca ((nargs + 3) * sizeof (const char *)); ++ memcpy (new_argv, argv, (nargs + 1) * sizeof (const char *)); ++ new_argv[nargs++] = "-frandom-seed=0"; ++ new_argv[nargs] = NULL; ++ if (new_argv[out_arg][2] == '\0') ++ new_argv[out_arg + 1] = "-"; ++ else ++ new_argv[out_arg] = "-o-"; ++ ++ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS + 1; ++attempt) ++ { ++ int fd = -1; ++ int status; ++ ++ temp_filenames[attempt * 2] = make_temp_file (".out"); ++ temp_filenames[attempt * 2 + 1] = make_temp_file (".err"); ++ ++ if (attempt == RETRY_ICE_ATTEMPTS) ++ { ++ int i; ++ int fd1, fd2; ++ struct stat st1, st2; ++ size_t n, len; ++ char *buf; ++ ++ buf = xmalloc (8192); ++ ++ for (i = 0; i < 2; ++i) ++ { ++ fd1 = open (temp_filenames[i], O_RDONLY); ++ fd2 = open (temp_filenames[2 + i], O_RDONLY); ++ ++ if (fd1 < 0 || fd2 < 0) ++ { ++ i = -1; ++ close (fd1); ++ close (fd2); ++ break; ++ } ++ ++ if (fstat (fd1, &st1) < 0 || fstat (fd2, &st2) < 0) ++ { ++ i = -1; ++ close (fd1); ++ close (fd2); ++ break; ++ } ++ ++ if (st1.st_size != st2.st_size) ++ { ++ close (fd1); ++ close (fd2); ++ break; ++ } ++ ++ len = 0; ++ for (n = st1.st_size; n; n -= len) ++ { ++ len = n; ++ if (len > 4096) ++ len = 4096; ++ ++ if (read (fd1, buf, len) != (int) len ++ || read (fd2, buf + 4096, len) != (int) len) ++ { ++ i = -1; ++ break; ++ } ++ ++ if (memcmp (buf, buf + 4096, len) != 0) ++ break; ++ } ++ ++ close (fd1); ++ close (fd2); ++ ++ if (n) ++ break; ++ } ++ ++ free (buf); ++ if (i == -1) ++ break; ++ ++ if (i != 2) ++ { ++ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n"); ++ break; ++ } ++ ++ fd = open (temp_filenames[attempt * 2], O_RDWR); ++ if (fd < 0) ++ break; ++ write (fd, "//", 2); ++ for (i = 0; i < nargs; i++) ++ { ++ write (fd, " ", 1); ++ write (fd, new_argv[i], strlen (new_argv[i])); ++ } ++ write (fd, "\n", 1); ++ new_argv[nargs] = "-E"; ++ new_argv[nargs + 1] = NULL; ++ } ++ ++ /* Fork a subprocess; wait and retry if it fails. */ ++ sleep_interval = 1; ++ pid = -1; ++ for (retries = 0; retries < 4; retries++) ++ { ++ pid = fork (); ++ if (pid >= 0) ++ break; ++ sleep (sleep_interval); ++ sleep_interval *= 2; ++ } ++ ++ if (pid < 0) ++ break; ++ else if (pid == 0) ++ { ++ if (attempt != RETRY_ICE_ATTEMPTS) ++ fd = open (temp_filenames[attempt * 2], O_RDWR); ++ if (fd < 0) ++ exit (-1); ++ if (fd != 1) ++ { ++ close (1); ++ dup (fd); ++ close (fd); ++ } ++ ++ fd = open (temp_filenames[attempt * 2 + 1], O_RDWR); ++ if (fd < 0) ++ exit (-1); ++ if (fd != 2) ++ { ++ close (2); ++ dup (fd); ++ close (fd); ++ } ++ ++ if (prog == new_argv[0]) ++ execvp (prog, (char *const *) new_argv); ++ else ++ execv (new_argv[0], (char *const *) new_argv); ++ exit (-1); ++ } ++ ++ if (waitpid (pid, &status, 0) < 0) ++ break; ++ ++ if (attempt < RETRY_ICE_ATTEMPTS ++ && (! WIFEXITED (status) || WEXITSTATUS (status) != ICE_EXIT_CODE)) ++ { ++ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n"); ++ break; ++ } ++ else if (attempt == RETRY_ICE_ATTEMPTS) ++ { ++ close (fd); ++ if (WIFEXITED (status) ++ && WEXITSTATUS (status) == SUCCESS_EXIT_CODE) ++ { ++ notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n", ++ temp_filenames[attempt * 2]); ++ /* Make sure it is not deleted. */ ++ free (temp_filenames[attempt * 2]); ++ temp_filenames[attempt * 2] = NULL; ++ break; ++ } ++ } ++ } ++ ++ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS * 2 + 2; attempt++) ++ if (temp_filenames[attempt]) ++ { ++ unlink (temp_filenames[attempt]); ++ free (temp_filenames[attempt]); ++ } ++} ++#endif ++ + /* Search for a file named NAME trying various prefixes including the + user's -B prefix and some standard ones. + Return the absolute file name found. If nothing is found, return NAME. */ +--- gcc/Makefile.in.orig 2007-09-30 10:48:13.000000000 +0000 ++++ gcc/Makefile.in 2007-09-30 10:48:39.000000000 +0000 +@@ -192,6 +192,7 @@ + build/gengtype-lex.o-warn = -Wno-error + # SYSCALLS.c misses prototypes + SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error ++build/gcc.o-warn = -Wno-error + + # All warnings have to be shut off in stage1 if the compiler used then + # isn't gcc; configure determines that. WARN_CFLAGS will be either --- gcc-4.3-4.3.4.orig/debian/patches/cell-branch-doc.dpatch +++ gcc-4.3-4.3.4/debian/patches/cell-branch-doc.dpatch @@ -0,0 +1,246 @@ +#! /bin/sh -e + +# DP: Updates from the cell-4_3-branch (documentation) up to 20100216 + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/doc/extend.texi +=================================================================== +--- gcc/doc/extend.texi (.../gcc-4_3-branch) (revision 156795) ++++ gcc/doc/extend.texi (.../cell-4_3-branch) (revision 156810) +@@ -37,6 +37,7 @@ + * Decimal Float:: Decimal Floating Types. + * Hex Floats:: Hexadecimal floating-point constants. + * Fixed-Point:: Fixed-Point Types. ++* Named Address Spaces::Named address spaces. + * Zero Length:: Zero-length arrays. + * Variable Length:: Arrays whose length is computed at run time. + * Empty Structures:: Structures with no members. +@@ -1119,6 +1120,31 @@ + + Fixed-point types are supported by the DWARF2 debug information format. + ++@node Named Address Spaces ++@section Named address spaces ++@cindex named address spaces ++ ++As an extension, the GNU C compiler supports named address spaces as ++defined in the N1169 draft of ISO/IEC DTR 18037. Support for named ++address spaces in GCC will evolve as the draft technical report changes. ++Calling conventions for any target might also change. At present, only ++the SPU target supports other address spaces. On the SPU target, for ++example, variables may be declared as belonging to another address space ++by qualifying the type with the @var{__ea} address space identifier: ++ ++@smallexample ++extern int __ea i; ++@end smallexample ++ ++When the variable @var{i} is accessed, the compiler will generate ++special code to access this variable. It may use runtime library ++support, or generate special machine instructions to access that address ++space. ++ ++The @var{__ea} identifier may be used exactly like any other C type ++qualifier (e.g. const or volatile). See the N1169 document for more ++details. ++ + @node Zero Length + @section Arrays of Length Zero + @cindex arrays of length zero +@@ -8876,9 +8902,10 @@ + + @item + Compiling with @option{-maltivec} adds keywords @code{__vector}, +-@code{__pixel}, and @code{__bool}. Macros @option{vector}, +-@code{pixel}, and @code{bool} are defined in @code{} and can +-be undefined. ++@code{vector}, @code{__pixel}, @code{pixel}, @code{__bool} and ++@code{bool}. When compiling ISO C, the context-sensitive substitution ++of the keywords @code{vector}, @code{pixel} and @code{bool} is ++disabled. To use them, you must include @code{} instead. + + @item + GCC allows using a @code{typedef} name as the type specifier for a +Index: gcc/doc/tm.texi +=================================================================== +--- gcc/doc/tm.texi (.../gcc-4_3-branch) (revision 156795) ++++ gcc/doc/tm.texi (.../cell-4_3-branch) (revision 156810) +@@ -4174,10 +4174,9 @@ + @end deftypefn + + @deftypefn {Target Hook} bool TARGET_SCALAR_MODE_SUPPORTED_P (enum machine_mode @var{mode}) +-Define this to return nonzero if the port is prepared to handle +-insns involving scalar mode @var{mode}. For a scalar mode to be +-considered supported, all the basic arithmetic and comparisons +-must work. ++Define this to return nonzero if the port is prepared to handle insns ++involving scalar mode @var{mode}. For a scalar mode to be considered ++supported, all the basic arithmetic and comparisons must work. + + The default version of this hook returns true for any mode + required to handle the basic C types (as defined by the port). +@@ -10372,3 +10371,55 @@ + call stack unwinding. It is used in declarations in @file{unwind-generic.h} + and the associated definitions of those functions. + @end defmac ++ ++@deftypefn {Target Hook} {enum machine_mode} TARGET_ADDR_SPACE_POINTER_MODE (int @var{address_space}) ++Define this to return a pointer mode for a given @var{address_space} if ++the target supports named address spaces. The default version of this ++hook returns @code{ptr_mode} for the generic address space only. ++@end deftypefn ++ ++@deftypefn {Target Hook} {const char *} TARGET_ADDR_SPACE_NAME (int @var{address_space}) ++Define this to return a string that describes the @var{address_space}. ++As this hook should never be called for targets that do not support ++named address spaces, the default version of this hook will cause the ++compiler to abort. ++@end deftypefn ++ ++@deftypefn {Target Hook} {unsigned char} TARGET_ADDR_SPACE_NUMBER (tree @var{address_space}) ++Define this to return a target-defined address space number for the ++given @var{address_space}. As this hook should never be called for ++targets that do not support named address spaces, the default version ++of this hook will cause the compiler to abort. ++@end deftypefn ++ ++@deftypefn {Target Hook} {rtx (*int, int)} TARGET_ADDR_SPACE_CONVERSION_RTL (int @var{from}, int @var{to}) ++Define this to return a pointer to a function that generates the RTL for ++a pointer conversion from the @var{from} address space to the @var{to} ++address space. As this hook should never be called for targets that do ++not support named address spaces, the default version of this hook will ++cause the compiler to abort. ++@end deftypefn ++ ++@deftypefn {Target Hook} bool TARGET_VALID_ADDR_SPACE (tree @var{address_space}) ++Define this to return true if the @var{address_space} is recognized ++for the target. The default version of this hook unconditionally ++returns false. ++@end deftypefn ++ ++@defmac SPLIT_BEFORE_CSE2 ++This macro determines whether to use an additional split pass before the ++second CSE pass. @code{split0_completed} will be set after this pass is ++completed. ++ ++For example, the Cell SPU target uses this for better optimization of ++the multiple instructions required to do simple loads and stores. The ++optimizations before this pass work better on simple memory ++instructions, and the optimizations right after this pass (e.g., CSE and ++combine) are be able to optimize the split instructions. ++@end defmac ++ ++@defmac ADDRESSES_NEVER_TRAP ++Define this macro if memory accesses will never cause a trap. ++This is the case for example on the Cell SPU processor. ++@end defmac ++ +Index: gcc/doc/invoke.texi +=================================================================== +--- gcc/doc/invoke.texi (.../gcc-4_3-branch) (revision 156795) ++++ gcc/doc/invoke.texi (.../cell-4_3-branch) (revision 156810) +@@ -767,7 +767,10 @@ + -msafe-dma -munsafe-dma @gol + -mbranch-hints @gol + -msmall-mem -mlarge-mem -mstdmain @gol +--mfixed-range=@var{register-range}} ++-mfixed-range=@var{register-range} @gol ++-mea32 -mea64 @gol ++-mcache-size=@var{cache-size} @gol ++-matomic-updates -mno-atomic-updates} + + @emph{System V Options} + @gccoptlist{-Qy -Qn -YP,@var{paths} -Ym,@var{dir}} +@@ -14606,6 +14609,34 @@ + v850e and v850e1 flavors of the v850 architecture. The default is + @option{-mno-disable-callt} which allows the CALLT instruction to be used. + ++@item -mea32 ++@itemx -mea64 ++@opindex mea32 ++@opindex mea64 ++ ++Compile code assuming that pointers to the __ea address space are either ++32 or 64 bits wide. The default is 32 bits. As this is an ABI changing ++option, all object code in an executable must be compiled with the same ++option. ++ ++@item -mcache-size=@var{cache-size} ++@opindex mcache-size ++ ++This option controls the version of libgcc that the compiler links to an ++executable and selects software cache support with a particular software ++cache size. Possible options for @var{cache-size} are @samp{8}, ++@samp{16}, @samp{32}, @samp{64} and @samp{128}. The default cache size ++is 64KB. ++ ++@item -matomic-updates ++@itemx -mno-atomic-updates ++@opindex matomic-updates ++@opindex mno-atomic-updates ++ ++This option controls the version of libgcc that the compiler links to an ++executable and selects whether atomic updates to the software cache are ++used. The default behavior is to use atomic updates. ++ + @end table + + @node VAX Options +Index: gcc/doc/md.texi +=================================================================== +--- gcc/doc/md.texi (.../gcc-4_3-branch) (revision 156795) ++++ gcc/doc/md.texi (.../cell-4_3-branch) (revision 156810) +@@ -5114,6 +5114,15 @@ + If this pattern is not defined, a call to the library function + @code{__clear_cache} is used. + ++@cindex @code{builtin_expect} instruction pattern ++@item @samp{builtin_expect} ++ ++This pattern, if defined, handles a call to @code{__builtin_expect} with ++a non-constant second argument. Operand 0 is the target register of ++@code{__builtin_expect} and can be compared against operands of the ++following compare or branch to determine when it applies. Operand 1 is ++the expanded value of the second argument. ++ + @end table + + @end ifset +Index: gcc/doc/rtl.texi +=================================================================== +--- gcc/doc/rtl.texi (.../gcc-4_3-branch) (revision 156795) ++++ gcc/doc/rtl.texi (.../cell-4_3-branch) (revision 156810) +@@ -420,6 +420,11 @@ + @findex MEM_ALIGN + @item MEM_ALIGN (@var{x}) + The known alignment in bits of the memory reference. ++ ++@findex MEM_ADDR_SPACE ++@item MEM_ADDR_SPACE (@var{x}) ++The address space of the memory reference. This will commonly be zero ++for the generic address space. + @end table + + @item REG --- gcc-4.3-4.3.4.orig/debian/patches/libjava-loading-constraints.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-loading-constraints.dpatch @@ -0,0 +1,431 @@ +#! /bin/sh -e + +# DP: Reimplement loading constraints (taken from the trunk). + +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 -p0 < $0 + uudecode $0 + tar -xv -f class-loader-classes.tar.bz2 -C ${dir}libjava + rm -f class-loader-classes.tar.bz2* + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-03-13 Tom Tromey + + * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): + Check loading constraints. + (_Jv_CheckOrCreateLoadingConstraint): New function. + * java/lang/ClassLoader.java (loadingConstraints): New field. + * link.cc (_Jv_Linker::find_field): Use + _Jv_CheckOrCreateLoadingConstraint. + (_Jv_Linker::check_loading_constraints): New function. + (_Jv_Linker::resolve_method_entry): Use + check_loading_constraints. + (_Jv_Linker::append_partial_itable): Likewise. + (_Jv_Linker::layout_vtable_methods): Likewise. + * include/jvm.h (_Jv_Linker::check_loading_constraints): Declare. + (_Jv_CheckOrCreateLoadingConstraint): Declare. + +--- libjava/include/jvm.h.orig 2008-03-21 22:09:54.249100837 +0100 ++++ libjava/include/jvm.h 2008-03-21 22:10:20.739500439 +0100 +@@ -1,6 +1,6 @@ + // jvm.h - Header file for private implementation information. -*- c++ -*- + +-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation ++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation + + This file is part of libgcj. + +@@ -265,6 +265,7 @@ + jclass, jclass *); + static _Jv_Field *find_field(jclass, jclass, jclass *, _Jv_Utf8Const *, + _Jv_Utf8Const *); ++ static void check_loading_constraints (_Jv_Method *, jclass, jclass); + static void prepare_constant_time_tables(jclass); + static jshort get_interfaces(jclass, _Jv_ifaces *); + static void link_symbol_table(jclass); +@@ -557,6 +558,9 @@ + jboolean is_jni_call = true, + jclass iface = NULL); + ++extern void _Jv_CheckOrCreateLoadingConstraint (jclass, ++ java::lang::ClassLoader *); ++ + extern jobject _Jv_NewMultiArray (jclass, jint ndims, jint* dims) + __attribute__((__malloc__)); + +--- libjava/java/lang/ClassLoader.h.orig 2008-03-21 22:09:54.249100837 +0100 ++++ libjava/java/lang/ClassLoader.h 2008-03-21 22:10:20.749500589 +0100 +@@ -86,6 +86,7 @@ + void checkInitialized(); + public: // actually package-private + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loadedClasses; ++ ::java::util::HashMap * loadingConstraints; + ::java::util::HashMap * definedPackages; + private: + ::java::lang::ClassLoader * parent; +--- libjava/java/lang/ClassLoader.java.orig 2008-03-21 22:09:54.249100837 +0100 ++++ libjava/java/lang/ClassLoader.java 2008-03-21 22:10:20.749500589 +0100 +@@ -1,5 +1,5 @@ + /* ClassLoader.java -- responsible for loading classes into the VM +- Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. ++ Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + +@@ -45,6 +45,7 @@ + + import java.io.IOException; + import java.io.InputStream; ++import java.lang.ref.WeakReference; + import java.net.URL; + import java.nio.ByteBuffer; + import java.security.CodeSource; +@@ -130,6 +131,15 @@ + final HashMap loadedClasses = new HashMap(); + + /** ++ * Loading constraints registered with this classloader. This maps ++ * a class name to a weak reference to a class. When the reference ++ * is non-null, it means that a reference to the name must resolve ++ * to the indicated class. ++ */ ++ final HashMap> loadingConstraints ++ = new HashMap>(); ++ ++ /** + * All packages defined by this classloader. It is not private in order to + * allow native code (and trusted subclasses) access to this field. + */ +--- libjava/java/lang/natClassLoader.cc.orig 2008-03-21 22:09:54.249100837 +0100 ++++ libjava/java/lang/natClassLoader.cc 2008-03-21 22:10:20.749500589 +0100 +@@ -1,6 +1,6 @@ + // natClassLoader.cc - Implementation of java.lang.ClassLoader native methods. + +-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation ++/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation + + This file is part of libgcj. + +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -143,7 +144,21 @@ + // them later. + return; + } +- loader->loadedClasses->put(klass->name->toString(), klass); ++ ++ JvSynchronize sync (loader->loadingConstraints); ++ ++ using namespace java::lang::ref; ++ ++ jstring name = klass->getName(); ++ WeakReference *ref = (WeakReference *) loader->loadingConstraints->get (name); ++ if (ref) ++ { ++ jclass constraint = (jclass) ref->get(); ++ if (constraint && constraint != klass) ++ throw new java::lang::LinkageError(JvNewStringLatin1("loading constraint violated")); ++ } ++ loader->loadingConstraints->put(name, new WeakReference(klass)); ++ loader->loadedClasses->put(name, klass); + } + + // If we found an error while defining an interpreted class, we must +@@ -156,6 +171,46 @@ + loader->loadedClasses->remove(klass->name->toString()); + } + ++// Check a loading constraint. In particular check that, if there is ++// a constraint for the name of KLASS in LOADER, that it maps to ++// KLASS. If there is no such constraint, make a new one. If the ++// constraint is violated, throw an exception. Do nothing for ++// primitive types. ++void ++_Jv_CheckOrCreateLoadingConstraint (jclass klass, ++ java::lang::ClassLoader *loader) ++{ ++ // Strip arrays. ++ while (klass->isArray()) ++ klass = klass->getComponentType(); ++ // Ignore primitive types. ++ if (klass->isPrimitive()) ++ return; ++ ++ if (! loader) ++ loader = java::lang::VMClassLoader::bootLoader; ++ jstring name = klass->getName(); ++ ++ JvSynchronize sync (loader->loadingConstraints); ++ ++ using namespace java::lang::ref; ++ ++ WeakReference *ref = (WeakReference *) loader->loadingConstraints->get (name); ++ if (ref) ++ { ++ jclass constraint = (jclass) ref->get(); ++ if (constraint) ++ { ++ if (klass != constraint) ++ throw new java::lang::LinkageError(JvNewStringLatin1("loading constraint violated")); ++ // Otherwise, all is ok. ++ return; ++ } ++ } ++ // No constraint (or old constraint GC'd). Make a new one. ++ loader->loadingConstraints->put(name, new WeakReference(klass)); ++} ++ + + // Class registration. + // +--- libjava/link.cc.orig 2008-03-21 22:09:54.249100837 +0100 ++++ libjava/link.cc 2008-03-21 22:24:51.692638568 +0100 +@@ -246,13 +246,9 @@ + if (_Jv_CheckAccess (klass, *found_class, the_field->flags)) + { + // Note that the field returned by find_field_helper is always +- // resolved. There's no point checking class loaders here, +- // since we already did the work to look up all the types. +- // FIXME: being lazy here would be nice. +- if (the_field->type != field_type) +- throw new java::lang::LinkageError +- (JvNewStringLatin1 +- ("field type mismatch with different loaders")); ++ // resolved. However, we still use the constraint mechanism ++ // because this may affect other lookups. ++ _Jv_CheckOrCreateLoadingConstraint (klass, (*found_class)->loader); + } + else + { +@@ -269,6 +265,23 @@ + return the_field; + } + ++// Check loading constraints for method. ++void ++_Jv_Linker::check_loading_constraints (_Jv_Method *method, jclass self_class, ++ jclass other_class) ++{ ++ JArray *klass_args; ++ jclass klass_return; ++ ++ _Jv_GetTypesFromSignature (method, self_class, &klass_args, &klass_return); ++ jclass *klass_arg = elements (klass_args); ++ java::lang::ClassLoader *found_loader = other_class->loader; ++ ++ _Jv_CheckOrCreateLoadingConstraint (klass_return, found_loader); ++ for (int i = 0; i < klass_args->length; i++) ++ _Jv_CheckOrCreateLoadingConstraint (*(klass_arg++), found_loader); ++} ++ + _Jv_Method * + _Jv_Linker::resolve_method_entry (jclass klass, jclass &found_class, + int class_index, int name_and_type_index, +@@ -359,6 +372,11 @@ + throw new java::lang::NoSuchMethodError (sb->toString()); + } + ++ // if (found_class->loader != klass->loader), then we must actually ++ // check that the types of arguments correspond. JVMS 5.4.3.3. ++ if (found_class->loader != klass->loader) ++ check_loading_constraints (the_method, klass, found_class); ++ + return the_method; + } + +@@ -891,7 +909,8 @@ + continue; + + meth = NULL; +- for (jclass cl = klass; cl; cl = cl->getSuperclass()) ++ jclass cl; ++ for (cl = klass; cl; cl = cl->getSuperclass()) + { + meth = _Jv_GetMethodLocal (cl, iface->methods[j].name, + iface->methods[j].signature); +@@ -913,6 +932,9 @@ + itable[pos] = (void *) &_Jv_ThrowAbstractMethodError; + else + itable[pos] = meth->ncode; ++ ++ if (cl->loader != iface->loader) ++ check_loading_constraints (meth, cl, iface); + } + else + { +@@ -1467,6 +1489,11 @@ + sb->append(_Jv_GetMethodString(declarer, super_meth)); + throw new VerifyError(sb->toString()); + } ++ else if (declarer->loader != klass->loader) ++ { ++ // JVMS 5.4.2. ++ check_loading_constraints (meth, klass, declarer); ++ } + } + } + + +begin 644 class-loader-classes.tar.bz2 +M0EIH.3%!62936;AC>/P`$B'_____________________________________ +M________X!6?>GEKK>IQ%5[=.%0070O6<+;>];;V[[P&^V:]RKXV;8WK.('; +M!H:"@#;-,'G=N]V!J:30!&B:8AJGFF0-)HGFI/0Q/5/*;3:IY3U-M1,FI^J9 +MXE/`U/5!^J>IYJ>IIIM)LBGIE-IZ)F13]3U3>I-/94:>4>F9)IZDT]0]IJ@V +MIXH&TGE-/3T:HTQ/4]&C1IJ/4:`T031-,"9":8FIZ&2GM)IZ3$TR:FU&C(GM +M*/4]1F:4]$>H>4]1X4-I!M1Z&4-!ZC1D]1H]"!B:'H3`:3(,F:FT0>4TQ#0! +MB-/2:;4T&Q)IZ@:$:!!-11ZGA1C4](V4-`]3(/:H]1Z@`!D`!H:`:`#3T0`` +M!H`!H````]0#30T``]0&@-`-`--`:`)-20C4*>1HRIZGJ#3:GFE,F::@PAZ0 +M'J#)Z@TTT!D;4/1-J>IH!ZAH:`T/*`-#0```!Z@`&FC0````&@!D!H`$```` +M``````!,```````````F``````````````````$P$P)$DT)IH),-)IDTT(VF +M(1Z*>TIZ3R3PIDT&(#33$T>D&C0R-`-`!H````!H`:``&F@````````:`+40 +MP,AXAHV[384=&=*:I_H[F;&$@=O37@`S\@]IP%T.,X'0,ER*QC?1QSRUW6N" +M,PD32^QGX&7VT)L,"HQLLV_A$&=,*!-;&"*90NL**ZQZ$2E+7^&68,XD +MZ2L-J&VEA="HDKM#=(RL%]F7&*"*JQ;(5';J(%2;Q.A.*U0,-@1P8$.WD]@LZ*(+8/Q +MM2^67GXUDF$[MV*91J,-Q06UU8-K,$JF";`4%N=>X=8:D)$PT3#&JK1PF +M`6FCDVM\`OR89!US!(FP$DN'GR:J3I?3Z^*W$,PN@9,1IT2%8*V!L&,O3JI5 +M9V7FG=(-/TD2LS&X4'>0H"1[(-_EJ1(\?O,8Y'5]&9\O%]=JW;YJ->]TMO&3 +MUW0O>4K#;_1LB0M"2)(89D*IVLG-0=09=D.?N@!8^15(J,.O%"N5XG;T:=]U +MW"WV<%9HYM;QMB!+Y"WJQHK6!K:^WW/3,V*>OSZ"6BLCN=38I2D'=Y:$6$(:)"SOK,X#:Q[ +M+:)P*%QZF^?P"D*K7+,D3[+;EK-FHG=U,%,@9&1F0,#/U#$`.FFE[,JK"!;O +M:9GS/GY-9C;[R4!XZB(Z7S3,MV8K7!X,$95GI;Z8J?DZ'P>+Y7?/6?7?`%9* +M`^02!IR^$4LLMO"VFI?+^O'W_728W=<'7?#F4``8K;#,EEEHL;,OS_V0!U'X +MYR=^^ALB"$9<.8A)%`^@O/])`I]DQ+I`.X^K==RM9DILN(F?W,LG(DP5'`39 +M$54$10]$AH`8>^6;0K'NX(6U0;O<1<#[O)=MYKUGIFC`-RI-]Z5NE8I*`7N\ +MP.=_L@H!(;5?#6K\UD`25NI!)WMYH^/Y7=]5%:<=$_ZZM,#Q$C&]ER8U+I;GC=BY\)=H@!G: +M*::N"G;4X5`'0PN6Y<5VGN=;P,')31=0`V9$D"%)UM2:R&$8"]5YMORU$"HS +M/7UO=R$Q$,I:0QD5]=7*Y2''F17^;O;,JK@Z,(C62SN+OL]]M(NSD4%Q[B&2 +M&2JIK]V"1%2$IU5[:31T2H]L.3$83K6I3-D=3N=JFGTF`V`>"N?&!Q.>X?6?KJ..`4;;$P#0"V.W"?M+'?RZ%:A<*Y@_/`-1 +M!U]#N0@!1Z5JU84FUAMJ`C_Y")13(2'H+#8C>@3]R@@4/L(:^!\1'5FJ5""% +M5/?77,VOVZ+Z7SJ,D9`S`Z>`8PI`;JTREAX/[GX:)_=[$[<-,U(C#>L,/.[I +MXST?5M/GS,HN_X!^9_R3$X5;-TNB<<6FZ7C9DRXX^PX2A78UNM=M?^U9U/:- +M.BGXEFIAAS7^1P98&8F<.(/@68-LRLL`6'LGE>BHD.V)--&1CAQ`5<*>UII3 +M;XKW@2D6QLG#4MJX-TGPEENNNFN2Z:E*I0*&>SH,:=!$0,`E+UVIY/I['V)F +M%@TN]]O*>QD]2OR:[I]7UK/;V/8Z=%Z6_I_^M7'7]#2N#>(0,!RGW+Y'6]6^ +MP*;^-[NI.7#\YE(OUB-8VVHLD2-)U):CBZ/3>2,X&+^D\COQG4]".VQ-`W7L +M&77M;=\/N2ZO?FUO7_2QWP=O&YIZ')R88;Z]NHM#E7[*!USJT=0I/%4I7'3FT[A+(F7#4WU'Y>'8F5', +MIRIO=[CWCAV69]2KI4GO%JIWS)^:?)DSJ +M'!)&7"9$,C'XF[0&Z6. +MIL,Y:JX1*?TR(3\U!)1HCQ-A0C]'W]I+W2GJ-3&NB;I6+UGQV/_$[UUM(?(AT56-55502B4 +MK>G@+3QZ44!S.&(-9,W;..KZW'+.G,;]92Q-69=O$!?631=T6+'<.,GG:6HO +M!D':\:*DSJ#RL!`2PQ-1MFA4%)53Q+;RJYJKXF(=))L0%:%@`Z!5,1MX"Z2B-3Z.V,[R[:(T5:)0 +MKAA$^LR-1M)C@J+XG7_)Z4'N0%P/NY;N#UJ-%#I>^=G!W5S=*O369O/^]VVE +M'%CECI^"]&+I:WL02,K2))",3$77FCNYG&8Q=)IICOX>P-YY?.6.L(MY9V/B +ME2H0;X3J';+6J>JVK4?RX$EV>\C9^KQXJ]W#QE#/"+:C`S6M#WP;.FX0[8/V +MZ^JNNY/B3]F!6S""+$0S3"]]@-4YZ6, +M.VB_>LTJJK`0(?B!@B#?>N)(N>\E4J@,._BEVJQH9UZGF6D$'Z#F]QO]_?IQ +MD076O?U[W!?)[*^XF<8A0H4U;M^"K7K0:I7F-^'G-9I]G:Z/9;9T``*$C`%! +M2;9@IRZ9_ORUU7;3?U+.EI<'D\[?+[=5MCM.-MU1[19N^%0*[>MOVF$EIN!E +M4)@+'!I4N40H0,$69!5%!8+)39(%1#]OD];SUTGE,O9K;7LG-Q;^V%>5+&P4 +MF&C+VR7:33*+2SR5DKOJ]'B=NGV/CQ4C&@D`8:(C&#;%REE^6Q>SZ/&Z9V[X'(8^BP +M_?G0U6+-"Q/,W-I6=R$@*MV07$R:%`Y:XT2B=!LL*]WAE43PQ%#1*?<.L^]< +M-!U=/D6T79D]QDY5_#6A71[3:$)$M&(8KHX:0`$1M!JM;9N=-:UG-K9MG6EI +M"VFV_U;S6E2[>$MRX9RAE#RTU@:[M1(^/X[-(XL#+X!!=EV9,%11E[0.WL^? +M_Y^OYWVR$\,1T)*#`4`%O&**@W(KLFW59#[ +M9&;C5/=5^%MKY3,.9S65O+I#`7MA0O([NRNY6NW(=8FU2HZ^$:)+Y_1R6\G] +M[PJKY*'40F!3\;NY>'NI:'J'6_D#X[#">A'G"C&;=-WNHY9KDTO6PYR>C?;) +M@:F(];UJ![&U]?D*$^!#YF>;0CS;"`_!!@%[DM=CSW8"K\A.2,L$@U'2C9>- +M5U575S2TLO.YZ/4(,'1GA&">8.($J#2U]5>*=:;XW/)_3D;UA-IM=$O)'&1V +M^`2*P^&2C`L,NI&@8270C`)Y9+P&O3Y;2__9DF=-^6E20`RC"8,D#)O!-F/* +M=K*U3"@::!=GY60I$QD',R(TZH1S]9!40-03/9=02"G/IC.QOAE:2+WQDMB4 +M%PUB9.PWWK@TS-F9G%HC0/J((+8(+ED28-HK)E2K*%,8QHO/_G_O\=@_EYWD +MWF8O)Q,9\+A,1=91HR-U

K7WK^Q#N@,&K&/#80>J*$8\G+,<`%BB,$D8@9F)-945F%4)"HG$G(=$Y[Z@6L,"]6]YI8:0M@9F4>JJIJH +M+;X`!(-#C"%NV-BP]W:.DD*#HJ.@HZ7.I73:LUN0G.$QK%!%!T,=KE4U,%4(NLA`W +M(=)+=M10:LDP9%I8I6GL5##!R;6-CTXFMM%DU1VUG<$1#/A?V.-PXIC*\2O= +M[,8=GI0@A@8Y&9@QLJG<>A.I5XL,<-VPI<7W%.XOO1## +M;):P\/79[M>6Y+$S%&118"CL#8B6L#.9HV7GX`"HZQ&EV0^,HIZD%SC3>X$E +MH4&V0J1-&J(P3OTEA4BYS9>D;V&&$WB2`-%6T".>F5<.I +M8L3-XI&_Q4^P%0"07]E9EMV!;<&-(VN/"#I`R^,@`5)H;,><7Q;+GTD=B +M`V+"<<"JMZY5JF.>NF$:&PXB6?`9-&=S&ERO,W0UR0;N$=?-'D;YZW%+FCQU +M=*Y>NRA"2[[KA8EF;_-=)FLIG`M=*(<)M$\U%D>N#0=N-5;Z2*DP"T9$1F"> +M(X152$R3EWXM--C#,5S%E**K76.*W%^I;$O]+8VF.6^ZR#5R61E0S,VK[RQM +M7=L"9>=^]K7H10F33U0JZH93NDD5(O@22#V(M=041?=BK)1%QG0,*JA$\`1* +M]GSC6*)"I:+F.E!F&-=64T,:>\Y*0$-R@;1!A.^BNH)7]^EC4F$OSULI!%J@ +MH@>8Y/3UQE()$44V`.&-IM`V$I85S"6`T\[9:&^P,HV>X16A[4I1N,?DM+1[ +MCIQ<"]=BB@$4CR8D@`B(.1``F<[G,Y$_S2)RS0,*3'QM?T:9Q?(U_1QQLG9Y +M>8S2S((#CDN/YUA)=61F['.V:"P6[/I$7AJ_E +M,21@U*X.$6W:IM'75C&!M-H!M#30AL#6-IO4J0->7T"JO+-ULS,XAIZ.(VSW +M+$+H9G0F30-I<*N.9XG*DD(NM&F;F"A`A>TEZX4BCEZA17:T&7(HD+= +ME9L`,-P9DD`$DAD<;X43%3,PB*0Q@%C,@F.L%%=5B,*#?F'&'GE(#,XVK8-C +M:`>?"V:6=OC"=>5",XU\^4`M2!;%4JV2%'=C@UE+K'P,/)W>S;!`4@0D,P"%T!/8%JOEJ$58`J;,#4,AMC;:8$T$!)I4F_,[D+YA0V"19 +M4D8UEQ(+!BTC(P8KB)_!$Y]E`5,\1*A`Q11=(!R?EH(BI7!`%A&1((!QKJA/ +M!MT(QC)R8R:T`"N9NGE%*$%=6PPE`()2&]1)R,.;=MP4J>^B:0.3A7&BEG+9 +MYF#;#8(IM!)KP85"ABP515%5B**\[J^!="W'!=JO+Q4%0>F[;:RF +M^WU6;_GRVY#D^OFGDO5A-"FJ5C37(Z95Y=0JBJGVL..V%W@61Z:"IXVX?;*A +M6\XAKU*F2D@F0"Q'2(2`\08UB^U]YL'NZ*)JW]"RYCB;U=S"<2EP+&689, +M)&JJKJMCURP6,1@ZAD1$1$``\(`E9&+=K5NV_R>85'/^FVXP5V&ON2G03L:#C.+,)EBMYTS[M-_Y!*X$F-D-?<]=X4WUL\JN7'<&"=IUNFD5! +M"/6'D.?C(^=%^9R`)4GE,Y#JIN&&;EW&A0TK&M.)18\?:!RN)([P%E%<()W2 +M^ND/$6-[M7U1G[UDX7.K8\YLL<_/3.KB*EO[;JKT1XLJN(%K2AYZ.SD\LM`: +M)RT%&#?Y!_Q_T'*;9T0\/O]JT-.PO'!$8&CE_^+N2*<*$A<,;Q^```` +` +end --- gcc-4.3-4.3.4.orig/debian/patches/pr29015.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr29015.dpatch @@ -0,0 +1,120 @@ +#! /bin/sh -e + +# DP: ada/29015: Do not ICE on incomplete type whose underlying type is known + +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 && autoconf2.59 + ;; + -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 + +From: Samuel Tardieu + +When an incomplete type is used in an instantiation, GNAT correctly +rejects it if its use is premature. However, if the Underlying_Type is +present, GNAT assumes that the use is not premature and tries to use +the type Full_View unconditionally. + +In some cases, the Underlying_Type may be known even if the type is +incomplete. In the following example, compiling incomplete2.adb will +analyze incomplete1.ads. In incomplete2.ads, there is only a "limited +with" on Incomplete1. At G instantiation time, the type Incomplete1.T +has no Full_View but its Underlying_Type is known. + +This patch checks the full view instead of the underlying type, giving +the following error message: + +% gcc -c -gnatv incomplete2.adb +==============Error messages for source file: incomplete2.ads + 7. package I1 is new G (Incomplete1.T); + | + >>> premature use of incomplete type + >>> instantiation abandoned + + +instead of a bug box. + + gcc/ada/ + PR ada/29015 + * sem_ch12.adb (Instantiate_Type): Check whether the full view of + the type is known instead of the underlying type. + + gcc/testsuite/ + PR ada/29015 + * gnat.dg/incomplete1.ads, gnat.dg/incomplete2.ads, + gnat.dg/incomplete2.adb: New. +--- + + gcc/ada/sem_ch12.adb | 2 +- + gcc/testsuite/gnat.dg/incomplete1.ads | 3 +++ + gcc/testsuite/gnat.dg/incomplete2.adb | 4 ++++ + gcc/testsuite/gnat.dg/incomplete2.ads | 8 ++++++++ + 4 files changed, 16 insertions(+), 1 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/incomplete1.ads + create mode 100644 gcc/testsuite/gnat.dg/incomplete2.adb + create mode 100644 gcc/testsuite/gnat.dg/incomplete2.ads + + +diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb +index 45fa18b..a50b09f 100644 +--- a/gcc/ada/sem_ch12.adb ++++ b/gcc/ada/sem_ch12.adb +@@ -9918,7 +9918,7 @@ package body Sem_Ch12 is + Ekind (Root_Type (Act_T)) = E_Incomplete_Type) + then + if Is_Class_Wide_Type (Act_T) +- or else No (Underlying_Type (Act_T)) ++ or else No (Full_View (Act_T)) + then + Error_Msg_N ("premature use of incomplete type", Actual); + Abandon_Instantiation (Actual); +diff --git a/gcc/testsuite/gnat.dg/incomplete1.ads b/gcc/testsuite/gnat.dg/incomplete1.ads +new file mode 100644 +index 0000000..3490033 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/incomplete1.ads +@@ -0,0 +1,3 @@ ++package Incomplete1 is ++ type T is null record; ++end Incomplete1; +diff --git a/gcc/testsuite/gnat.dg/incomplete2.adb b/gcc/testsuite/gnat.dg/incomplete2.adb +new file mode 100644 +index 0000000..19c8360 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/incomplete2.adb +@@ -0,0 +1,4 @@ ++-- { dg-do compile } ++-- { dg-excess-errors "instantiation abandoned" } ++with Incomplete1; ++package body Incomplete2 is end Incomplete2; +diff --git a/gcc/testsuite/gnat.dg/incomplete2.ads b/gcc/testsuite/gnat.dg/incomplete2.ads +new file mode 100644 +index 0000000..21f2d2b +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/incomplete2.ads +@@ -0,0 +1,8 @@ ++limited with Incomplete1; ++package Incomplete2 is ++ pragma Elaborate_Body; ++ generic ++ type T is private; ++ package G is end G; ++ package I1 is new G (Incomplete1.T); -- { dg-error "premature use" } ++end Incomplete2; --- gcc-4.3-4.3.4.orig/debian/patches/rename-info-files.dpatch +++ gcc-4.3-4.3.4/debian/patches/rename-info-files.dpatch @@ -0,0 +1,710 @@ +#! /bin/sh -e + +# DP: Allow transformations on info file names. Reference the +# DP: transformed info file names in the texinfo files. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +gcc/ChangeLog: + +2004-02-17 Matthias Klose + + * Makefile.in: Allow transformations on info file names. + Define MAKEINFODEFS, macros to pass transformated info file + names to makeinfo. + * doc/cpp.texi: Use macros defined in MAKEINFODEFS for references. + * doc/cppinternals.texi: Likewise. + * doc/extend.texi: Likewise. + * doc/gcc.texi: Likewise. + * doc/gccint.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/libgcc.texi: Likewise. + * doc/makefile.texi: Likewise. + * doc/passes.texi: Likewise. + * doc/sourcebuild.texi: Likewise. + * doc/standards.texi: Likewise. + * doc/trouble.texi: Likewise. + +gcc/fortran/ChangeLog: + * Make-lang.in: Allow transformations on info file names. + Pass macros of transformated info file defined in MAKEINFODEFS + names to makeinfo. + * gfortran.texi: Use macros defined in MAKEINFODEFS for references. + +gcc/java/ChangeLog: + * Make-lang.in: Allow transformations on info file names. + Pass macros of transformated info file defined in MAKEINFODEFS + names to makeinfo. + * gcj.texi: Use macros defined in MAKEINFODEFS for references. + +gcc/treelang/ChangeLog: + * Make-lang.in: Allow transformations on info file names. + Pass macros of transformated info file defined in MAKEINFODEFS + names to makeinfo. + Define TREELANG_MAKEINFODEFS macros to pass transformated info file + names to makeinfo. + * treelang.texi: Use macros defined in MAKEINFO_DEFS for references. + + +Index: libgomp/libgomp.texi +=================================================================== +--- libgomp/libgomp.texi.orig 2007-10-29 12:36:42.000000000 +0100 ++++ libgomp/libgomp.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -32,7 +32,7 @@ texts being (a) (see below), and with th + @ifinfo + @dircategory GNU Libraries + @direntry +-* libgomp: (libgomp). GNU OpenMP runtime library ++* @value{fnlibgomp}: (@value{fnlibgomp}). GNU OpenMP runtime library + @end direntry + + This manual documents the GNU implementation of the OpenMP API for +Index: libgomp/Makefile.am +=================================================================== +--- libgomp/Makefile.am.orig 2007-12-12 12:01:26.000000000 +0100 ++++ libgomp/Makefile.am 2008-02-08 16:27:44.000000000 +0100 +@@ -91,16 +91,19 @@ endif + + all-local: $(STAMP_GENINSRC) + +-stamp-geninsrc: libgomp.info +- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info ++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)') ++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info + @touch $@ + +-libgomp.info: $(STAMP_BUILD_INFO) ++libgomp.info: $(INFO_LIBGOMP_NAME).info ++ cp $(INFO_LIBGOMP_NAME).info libgomp.info ++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO) + + stamp-build-info: libgomp.texi +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi + @touch $@ + + +-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info ++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info + MAINTAINERCLEANFILES = $(srcdir)/libgomp.info +Index: libgomp/Makefile.in +=================================================================== +--- libgomp/Makefile.in.orig 2008-01-08 17:45:56.000000000 +0100 ++++ libgomp/Makefile.in 2008-02-08 16:27:44.000000000 +0100 +@@ -316,7 +316,8 @@ info_TEXINFOS = libgomp.texi + + # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO]) + @BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info +-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info ++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)') ++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info + MAINTAINERCLEANFILES = $(srcdir)/libgomp.info + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +@@ -1079,15 +1080,16 @@ install-pdf: $(PDFS) + done + + all-local: $(STAMP_GENINSRC) +- +-stamp-geninsrc: libgomp.info +- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info ++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info + @touch $@ + +-libgomp.info: $(STAMP_BUILD_INFO) ++libgomp.info: $(INFO_LIBGOMP_NAME).info ++ cp $(INFO_LIBGOMP_NAME).info libgomp.info ++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO) + + stamp-build-info: libgomp.texi +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi + @touch $@ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +Index: gcc/doc/cpp.texi +=================================================================== +--- gcc/doc/cpp.texi.orig 2008-02-04 11:28:51.000000000 +0100 ++++ gcc/doc/cpp.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -52,7 +52,7 @@ This manual contains no Invariant Sectio + @ifinfo + @dircategory Software development + @direntry +-* Cpp: (cpp). The GNU C preprocessor. ++* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor. + @end direntry + @end ifinfo + +Index: gcc/doc/cppinternals.texi +=================================================================== +--- gcc/doc/cppinternals.texi.orig 2007-03-11 13:17:34.000000000 +0100 ++++ gcc/doc/cppinternals.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -7,7 +7,7 @@ + @ifinfo + @dircategory Software development + @direntry +-* Cpplib: (cppinternals). Cpplib internals. ++* @value{fncppint}: (@value{fncppint}). Cpplib internals. + @end direntry + @end ifinfo + +Index: gcc/doc/extend.texi +=================================================================== +--- gcc/doc/extend.texi.orig 2008-02-04 11:28:51.000000000 +0100 ++++ gcc/doc/extend.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -11497,7 +11497,7 @@ want to write code that checks whether t + test for the GNU compiler the same way as for C programs: check for a + predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to + test specifically for GNU C++ (@pxref{Common Predefined Macros,, +-Predefined Macros,cpp,The GNU C Preprocessor}). ++Predefined Macros,@value{fncpp},The GNU C Preprocessor}). + + @menu + * Volatiles:: What constitutes an access to a volatile object. +Index: gcc/doc/gcc.texi +=================================================================== +--- gcc/doc/gcc.texi.orig 2008-01-24 17:57:55.000000000 +0100 ++++ gcc/doc/gcc.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -65,8 +65,8 @@ included in the section entitled ``GNU F + @ifnottex + @dircategory Software development + @direntry +-* gcc: (gcc). The GNU Compiler Collection. +-* g++: (gcc). The GNU C++ compiler. ++* @value{fngcc}: (@value{fngcc}). The GNU Compiler Collection. ++* @value{fngxx}: (@value{fngcc}). The GNU C++ compiler. + @end direntry + This file documents the use of the GNU compilers. + @sp 1 +@@ -126,7 +126,7 @@ version @value{version-GCC}. + The internals of the GNU compilers, including how to port them to new + targets and some information about how to write front ends for new + languages, are documented in a separate manual. @xref{Top,, +-Introduction, gccint, GNU Compiler Collection (GCC) Internals}. ++Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}. + + @menu + * G++ and GCC:: You can compile C or C++ programs. +Index: gcc/doc/gccint.texi +=================================================================== +--- gcc/doc/gccint.texi.orig 2007-10-29 14:31:38.000000000 +0100 ++++ gcc/doc/gccint.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -51,7 +51,7 @@ included in the section entitled ``GNU F + @ifnottex + @dircategory Software development + @direntry +-* gccint: (gccint). Internals of the GNU Compiler Collection. ++* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection. + @end direntry + This file documents the internals of the GNU compilers. + @sp 1 +@@ -83,7 +83,7 @@ write front ends for new languages. It + @value{VERSION_PACKAGE} + @end ifset + version @value{version-GCC}. The use of the GNU compilers is documented in a +-separate manual. @xref{Top,, Introduction, gcc, Using the GNU ++separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU + Compiler Collection (GCC)}. + + This manual is mainly a reference manual rather than a tutorial. It +Index: gcc/doc/invoke.texi +=================================================================== +--- gcc/doc/invoke.texi.orig 2008-02-07 12:10:09.000000000 +0100 ++++ gcc/doc/invoke.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -7456,7 +7456,7 @@ One of the standard libraries bypassed b + @option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or special + needs for some languages. +-(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler ++(@xref{Interface,,Interfacing to GCC Output,@value{fngccint},GNU Compiler + Collection (GCC) Internals}, + for more discussion of @file{libgcc.a}.) + In most cases, you need @file{libgcc.a} even when you want to avoid +@@ -7464,7 +7464,7 @@ other standard libraries. In other word + or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well. + This ensures that you have no unresolved references to internal GCC + library subroutines. (For example, @samp{__main}, used to ensure C++ +-constructors will be called; @pxref{Collect2,,@code{collect2}, gccint, ++constructors will be called; @pxref{Collect2,,@code{collect2}, @value{fngccint}, + GNU Compiler Collection (GCC) Internals}.) + + @item -pie +@@ -15215,7 +15215,7 @@ Note that you can also specify places to + @option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These + take precedence over places specified using environment variables, which + in turn take precedence over those specified by the configuration of GCC@. +-@xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint, ++@xref{Driver,, Controlling the Compilation Driver @file{gcc}, @value{fngccint}, + GNU Compiler Collection (GCC) Internals}. + + @table @env +@@ -15370,7 +15370,7 @@ the headers it contains change. + + A precompiled header file will be searched for when @code{#include} is + seen in the compilation. As it searches for the included file +-(@pxref{Search Path,,Search Path,cpp,The C Preprocessor}) the ++(@pxref{Search Path,,Search Path,@value{fncpp},The C Preprocessor}) the + compiler looks for a precompiled header in each directory just before it + looks for the include file in that directory. The name searched for is + the name specified in the @code{#include} with @samp{.gch} appended. If +Index: gcc/doc/libgcc.texi +=================================================================== +--- gcc/doc/libgcc.texi.orig 2007-10-29 14:31:38.000000000 +0100 ++++ gcc/doc/libgcc.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -24,7 +24,7 @@ that needs them. + GCC will also generate calls to C library routines, such as + @code{memcpy} and @code{memset}, in some cases. The set of routines + that GCC may possibly use is documented in @ref{Other +-Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}. ++Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}. + + These routines take arguments and return values of a specific machine + mode, not a specific C type. @xref{Machine Modes}, for an explanation +Index: gcc/doc/makefile.texi +=================================================================== +--- gcc/doc/makefile.texi.orig 2008-02-04 11:28:51.000000000 +0100 ++++ gcc/doc/makefile.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -139,7 +139,7 @@ regardless of how it itself was compiled + @item profiledbootstrap + Builds a compiler with profiling feedback information. For more + information, see +-@ref{Building,,Building with profile feedback,gccinstall,Installing GCC}. ++@ref{Building,,Building with profile feedback,@value{fngccinstall},Installing GCC}. + + @item restrap + Restart a bootstrap, so that everything that was not built with +Index: gcc/doc/passes.texi +=================================================================== +--- gcc/doc/passes.texi.orig 2008-02-04 11:28:51.000000000 +0100 ++++ gcc/doc/passes.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -191,7 +191,7 @@ rid of it. This pass is located in @fil + @item Mudflap declaration registration + + If mudflap (@pxref{Optimize Options,,-fmudflap -fmudflapth +--fmudflapir,gcc,Using the GNU Compiler Collection (GCC)}) is ++-fmudflapir,@value{fngcc},Using the GNU Compiler Collection (GCC)}) is + enabled, we generate code to register some variable declarations with + the mudflap runtime. Specifically, the runtime tracks the lifetimes of + those variable declarations that have their addresses taken, or whose +Index: gcc/doc/standards.texi +=================================================================== +--- gcc/doc/standards.texi.orig 2007-12-12 12:01:27.000000000 +0100 ++++ gcc/doc/standards.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -230,8 +230,8 @@ HTML format. + GNAT Reference Manual}, for information on standard + conformance and compatibility of the Ada compiler. + +-@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details ++@xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details + of standards supported by GNU Fortran. + +-@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj}, ++@xref{Compatibility,,Compatibility with the Java Platform, @value{fngcj}, GNU gcj}, + for details of compatibility between @command{gcj} and the Java Platform. +Index: gcc/java/Make-lang.in +=================================================================== +--- gcc/java/Make-lang.in.orig 2008-02-07 12:10:09.000000000 +0100 ++++ gcc/java/Make-lang.in 2008-02-08 16:27:44.000000000 +0100 +@@ -127,11 +127,23 @@ java.tags: force + etags --include TAGS.sub --include ../TAGS.sub + + +-java.info: doc/gcj.info ++TEXI_GCJ_FILES = java/gcj.texi \ ++ $(gcc_docdir)/include/gpl.texi $(gcc_docdir)/include/funding.texi \ ++ $(gcc_docdir)/include/fdl.texi $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi ++INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)') + +-java.srcinfo: doc/gcj.info ++java.info: doc/$(INFO_GCJ_NAME).info ++ ++java.srcinfo: doc/$(INFO_GCJ_NAME).info + -cp -p $^ $(srcdir)/doc + ++doc/$(INFO_GCJ_NAME).info: $(TEXI_GCJ_FILES) ++ if test "x$(BUILD_INFO)" = xinfo; then \ ++ rm -f $(@)*; \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) \ ++ -I$(gcc_docdir)/include -I$(srcdir)/f -o$@ $<; \ ++ fi ++ + java.dvi: doc/gcj.dvi + + JAVA_PDFFILES = doc/gcj.pdf +@@ -187,8 +199,9 @@ java.uninstall: + -rm -rf $(DESTDIR)$(man1dir)/gij$(man1ext) + -rm -rf $(DESTDIR)$(man1dir)/jv-convert$(man1ext) + -rm -rf $(DESTDIR)$(man1dir)/gcj-dbtool$(man1ext) ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCJ_NAME).info* + +-java.install-info: $(DESTDIR)$(infodir)/gcj.info ++java.install-info: $(DESTDIR)$(infodir)/$(INFO_GCJ_NAME).info + + java.install-pdf: $(JAVA_PDFFILES) + @$(NORMAL_INSTALL) +Index: gcc/java/gcj.texi +=================================================================== +--- gcc/java/gcj.texi.orig 2007-12-12 12:01:27.000000000 +0100 ++++ gcc/java/gcj.texi 2008-02-08 17:19:48.000000000 +0100 +@@ -56,21 +56,21 @@ man page gfdl(7). + @format + @dircategory Software development + @direntry +-* Gcj: (gcj). Ahead-of-time compiler for the Java language ++* @value{fngcj}: (@value{fngcj}). Ahead-of-time compiler for the Java language + @end direntry + + @dircategory Individual utilities + @direntry +-* jcf-dump: (gcj)Invoking jcf-dump. ++* jcf-dump: (@value{fngcj}) Invoking jcf-dump. + Print information about Java class files +-* gij: (gcj)Invoking gij. GNU interpreter for Java bytecode +-* gcj-dbtool: (gcj)Invoking gcj-dbtool. ++* gij: (@value{fngcj}) Invoking gij. GNU interpreter for Java bytecode ++* gcj-dbtool: (@value{fngcj}) Invoking gcj-dbtool. + Tool for manipulating class file databases. +-* jv-convert: (gcj)Invoking jv-convert. ++* jv-convert: (@value{fngcj}) Invoking jv-convert. + Convert file from one encoding to another +-* grmic: (gcj)Invoking grmic. ++* grmic: (@value{fngcj}) Invoking grmic. + Generate stubs for Remote Method Invocation. +-* gc-analyze: (gcj)Invoking gc-analyze. ++* gc-analyze: (@value{fngcj}) Invoking gc-analyze. + Analyze Garbage Collector (GC) memory dumps. + @end direntry + @end format +@@ -152,7 +152,7 @@ and the Info entries for @file{gcj} and + + As @command{gcj} is just another front end to @command{gcc}, it supports many + of the same options as gcc. @xref{Option Summary, , Option Summary, +-gcc, Using the GNU Compiler Collection (GCC)}. This manual only documents the ++@value{fngcc}, Using the GNU Compiler Collection (GCC)}. This manual only documents the + options specific to @command{gcj}. + + @c man end +Index: gcc/fortran/Make-lang.in +=================================================================== +--- gcc/fortran/Make-lang.in.orig 2008-02-07 12:10:11.000000000 +0100 ++++ gcc/fortran/Make-lang.in 2008-02-08 16:27:44.000000000 +0100 +@@ -112,7 +112,8 @@ fortran.tags: force + cd $(srcdir)/fortran; etags -o TAGS.sub *.c *.h; \ + etags --include TAGS.sub --include ../TAGS.sub + +-fortran.info: doc/gfortran.info doc/gfc-internals.info ++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)') ++fortran.info: doc/$(INFO_FORTRAN_NAME).info + fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi + fortran.html: $(build_htmldir)/gfortran/index.html + +@@ -154,10 +155,10 @@ GFORTRAN_TEXI = \ + $(srcdir)/doc/include/gcc-common.texi \ + gcc-vers.texi + +-doc/gfortran.info: $(GFORTRAN_TEXI) ++doc/$(INFO_FORTRAN_NAME).info: $(GFORTRAN_TEXI) + if [ x$(BUILD_INFO) = xinfo ]; then \ + rm -f doc/gfortran.info-*; \ +- $(MAKEINFO) -I $(srcdir)/doc/include -I $(srcdir)/fortran \ ++ $(MAKEINFO) $(MAKEINFODEFS) -I $(srcdir)/doc/include -I $(srcdir)/fortran \ + -o $@ $<; \ + else true; fi + +@@ -225,7 +226,7 @@ fortran.install-common: install-finclude + fi ; \ + fi + +-fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info ++fortran.install-info: $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info + + fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext) + +@@ -243,7 +244,7 @@ fortran.uninstall: + rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \ + rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \ + rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \ +- rm -rf $(DESTDIR)$(infodir)/gfortran.info* ++ rm -rf $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info* + + # + # Clean hooks: +Index: gcc/fortran/gfortran.texi +=================================================================== +--- gcc/fortran/gfortran.texi.orig 2008-01-25 16:49:43.000000000 +0100 ++++ gcc/fortran/gfortran.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -102,7 +102,7 @@ texts being (a) (see below), and with th + @ifinfo + @dircategory Software development + @direntry +-* gfortran: (gfortran). The GNU Fortran Compiler. ++* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler. + @end direntry + This file documents the use and the internals of + the GNU Fortran compiler, (@command{gfortran}). +Index: gcc/treelang/Make-lang.in +=================================================================== +--- gcc/treelang/Make-lang.in.orig 2008-02-07 12:10:11.000000000 +0100 ++++ gcc/treelang/Make-lang.in 2008-02-08 16:27:44.000000000 +0100 +@@ -153,9 +153,12 @@ treelang.tags: force + cd $(srcdir)/treelang; etags -o TAGS.sub *.y *.l *.c *.h; \ + etags --include TAGS.sub --include ../TAGS.sub + +-treelang.info: doc/treelang.info ++INFO_TREELANG_NAME = $(shell echo treelang|sed '$(program_transform_name)') ++TREELANG_MAKEINFODEFS = -D 'fntreelang $(INFO_TREELANG_NAME)' + +-treelang.srcinfo: doc/treelang.info ++treelang.info: doc/$(INFO_TREELANG_NAME).info ++ ++treelang.srcinfo: doc/$(INFO_TREELANG_NAME).info + -cp -p $^ $(srcdir)/doc + + treelang.dvi: doc/treelang.dvi +@@ -171,8 +174,8 @@ TEXI_TREELANG_FILES = treelang/treelang. + $(gcc_docdir)/include/funding.texi \ + gcc-vers.texi + +-doc/treelang.info: $(TEXI_TREELANG_FILES) +- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir)/include -o $@ $< ++doc/$(INFO_TREELANG_NAME).info: $(TEXI_TREELANG_FILES) ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(TREELANG_MAKEINFODEFS) -I $(gcc_docdir)/include -o $@ $< + + doc/treelang.dvi: $(TEXI_TREELANG_FILES) + $(TEXI2DVI) -I $(abs_docdir)/include -o $@ $< +@@ -210,7 +213,7 @@ treelang.install.common.done: installdi + $(STAMP) treelang.install.common.done + + # We might not be able to build the info files +-treelang.install-info: $(DESTDIR)$(infodir)/treelang.info ++treelang.install-info: $(DESTDIR)$(infodir)/$(INFO_TREELANG_NAME).info + + treelang.install-pdf: $(TREELANG_PDFFILES) + @$(NORMAL_INSTALL) +@@ -233,6 +236,7 @@ treelang.uninstall: + echo -rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \ + rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \ + done ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_TREELANG_NAME).info* + -rm treelang.install.common.done + + # +Index: gcc/treelang/treelang.texi +=================================================================== +--- gcc/treelang/treelang.texi.orig 2007-10-29 14:33:20.000000000 +0100 ++++ gcc/treelang/treelang.texi 2008-02-08 16:27:44.000000000 +0100 +@@ -107,7 +107,7 @@ texts being (a) (see below), and with th + @ifnottex + @dircategory Software development + @direntry +-* treelang: (treelang). The GNU Treelang compiler. ++* @value{fntreelang}: (@value{fntreelang}). The GNU Treelang compiler. + @end direntry + @ifset INTERNALS + @ifset USING +@@ -260,7 +260,7 @@ James A. Morrison. + @item + The packaging and compiler portions of GNU Treelang are based largely + on the GCC compiler. +-@xref{Contributors,,Contributors to GCC,GCC,Using and Maintaining GCC}, ++@xref{Contributors,,Contributors to GCC,@value{fngcc},Using and Maintaining GCC}, + for more information. + + @item +@@ -880,7 +880,7 @@ files and accepts Treelang-specific comm + command-line options that are designed to cater to Treelang users + but apply to other languages as well. + +-@xref{G++ and GCC,,Programming Languages Supported by GCC,GCC,Using ++@xref{G++ and GCC,,Programming Languages Supported by GCC,@value{fngcc},Using + the GNU Compiler Collection (GCC)}, + for information on the way different languages are handled + by the GCC compiler (@code{gcc}). +Index: gcc/Makefile.in +=================================================================== +--- gcc/Makefile.in.orig 2008-02-08 16:27:44.000000000 +0100 ++++ gcc/Makefile.in 2008-02-08 17:18:23.000000000 +0100 +@@ -3617,8 +3617,27 @@ stmp-install-fixproto: fixproto + + doc: $(BUILD_INFO) $(GENERATED_MANPAGES) gccbug + +-INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \ +- doc/gccinstall.info doc/cppinternals.info ++INFO_CPP_NAME = $(shell echo cpp|sed '$(program_transform_name)') ++INFO_GCC_NAME = $(shell echo gcc|sed '$(program_transform_name)') ++INFO_GXX_NAME = $(shell echo g++|sed '$(program_transform_name)') ++INFO_GCCINT_NAME = $(shell echo gccint|sed '$(program_transform_name)') ++INFO_GCCINSTALL_NAME = $(shell echo gccinstall|sed '$(program_transform_name)') ++INFO_CPPINT_NAME = $(shell echo cppinternals|sed '$(program_transform_name)') ++ ++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)') ++INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)') ++ ++INFOFILES = doc/$(INFO_CPP_NAME).info doc/$(INFO_GCC_NAME).info \ ++ doc/$(INFO_GCCINT_NAME).info \ ++ doc/$(INFO_GCCINSTALL_NAME).info doc/$(INFO_CPPINT_NAME).info ++ ++MAKEINFODEFS = -D 'fncpp $(INFO_CPP_NAME)' -D 'fngcc $(INFO_GCC_NAME)' \ ++ -D 'fngxx $(INFO_GXX_NAME)' \ ++ -D 'fngccint $(INFO_GCCINT_NAME)' \ ++ -D 'fngccinstall $(INFO_GCCINSTALL_NAME)' \ ++ -D 'fncppint $(INFO_CPPINT_NAME)' \ ++ -D 'fngfortran $(INFO_FORTRAN_NAME)' \ ++ -D 'fngcj $(INFO_GCJ_NAME)' + + info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo + +@@ -3668,21 +3687,41 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE) + # patterns. To use them, put each of the specific targets with its + # specific dependencies but no build commands. + +-doc/cpp.info: $(TEXI_CPP_FILES) +-doc/gcc.info: $(TEXI_GCC_FILES) +-doc/gccint.info: $(TEXI_GCCINT_FILES) +-doc/cppinternals.info: $(TEXI_CPPINT_FILES) +- ++# Generic entry to handle info files, which are not renamed (currently Ada) + doc/%.info: %.texi + if [ x$(BUILD_INFO) = xinfo ]; then \ + $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \ + -I $(gcc_docdir)/include -o $@ $<; \ + fi + ++doc/$(INFO_CPP_NAME).info: $(TEXI_CPP_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ ++doc/$(INFO_GCC_NAME).info: $(TEXI_GCC_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ ++doc/$(INFO_GCCINT_NAME).info: $(TEXI_GCCINT_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ ++doc/$(INFO_CPPINT_NAME).info: $(TEXI_CPPINT_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ + # Duplicate entry to handle renaming of gccinstall.info +-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES) ++doc/$(INFO_GCCINSTALL_NAME).info: $(TEXI_GCCINSTALL_FILES) + if [ x$(BUILD_INFO) = xinfo ]; then \ +- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ + -I $(gcc_docdir)/include -o $@ $<; \ + fi + +@@ -3990,11 +4029,11 @@ install-driver: installdirs xgcc$(exeext + # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir + # to do the install. + install-info:: doc installdirs \ +- $(DESTDIR)$(infodir)/cpp.info \ +- $(DESTDIR)$(infodir)/gcc.info \ +- $(DESTDIR)$(infodir)/cppinternals.info \ +- $(DESTDIR)$(infodir)/gccinstall.info \ +- $(DESTDIR)$(infodir)/gccint.info \ ++ $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info \ + lang.install-info + + $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs +@@ -4195,8 +4234,11 @@ uninstall: lang.uninstall + -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext) + -rm -rf $(DESTDIR)$(man1dir)/protoize$(man1ext) + -rm -rf $(DESTDIR)$(man1dir)/unprotoize$(man1ext) +- -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info* +- -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info* + # + # These targets are for the dejagnu testsuites. The file site.exp + # contains global variables that all the testsuites will use. +Index: gcc/doc/install.texi +=================================================================== +--- gcc/doc/install.texi.orig 2008-01-30 11:21:55.000000000 +0100 ++++ gcc/doc/install.texi 2008-02-08 16:29:13.000000000 +0100 +@@ -96,7 +96,7 @@ Free Documentation License}''. + @end ifinfo + @dircategory Software development + @direntry +-* gccinstall: (gccinstall). Installing the GNU Compiler Collection. ++* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection. + @end direntry + + @c Part 3 Titlepage and Copyright +Index: gcc/ada/gnat-style.texi +=================================================================== +--- gcc/ada/gnat-style.texi.orig 2007-10-29 12:59:35.000000000 +0100 ++++ gcc/ada/gnat-style.texi 2008-02-08 17:15:59.000000000 +0100 +@@ -31,7 +31,7 @@ + + @dircategory Software development + @direntry +-* gnat-style: (gnat-style). GNAT Coding Style ++* gnat-style: (gnat-style-4.3). GNAT Coding Style + @end direntry + + @macro syntax{element} +Index: gcc/ada/gnat_rm.texi +=================================================================== +--- gcc/ada/gnat_rm.texi.orig 2008-01-02 11:19:07.000000000 +0100 ++++ gcc/ada/gnat_rm.texi 2008-02-08 17:15:12.000000000 +0100 +@@ -30,7 +30,7 @@ + + @dircategory GNU Ada tools + @direntry +-* GNAT Reference Manual: (gnat_rm). Reference Manual for GNU Ada tools. ++* GNAT Reference Manual: (gnat_rm-4.3). Reference Manual for GNU Ada tools. + @end direntry + + @copying +Index: gcc/ada/gnat_ugn.texi +=================================================================== +--- gcc/ada/gnat_ugn.texi.orig 2008-01-02 11:19:08.000000000 +0100 ++++ gcc/ada/gnat_ugn.texi 2008-02-08 17:15:37.000000000 +0100 +@@ -96,7 +96,7 @@ + + @ifset unw + @set PLATFORM +-@set FILE gnat_ugn_unw ++@set FILE gnat_ugn_unw-4.3 + @end ifset + + @ifset vms --- gcc-4.3-4.3.4.orig/debian/patches/pr16087.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr16087.dpatch @@ -0,0 +1,103 @@ +#! /bin/sh -e + +# DP: PR ada/16087: Accept statically matching constraint in full view + +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 && autoconf2.59 + ;; + -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 + +ada/16087: Accept statically matching constraint in full view + +From: Samuel Tardieu + +RM 7.3(13): If the ancestor subtype of a private extension has constrained +discriminants, then the parent subtype of the full view shall impose a +statically matching constraint on those discriminants. + +The attached test case will compile without error, instead of saying that +the constraint on T2 is not conformant. + + gcc/ada/ + PR ada/16087 + * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching + constraint expressions. + + gcc/testsuite/ + PR ada/16087 + * gnat.dg/specs/statically_matching.ads: New. +--- + + gcc/ada/sem_ch3.adb | 17 +++++++++++++---- + gcc/testsuite/gnat.dg/statically_matching.ads | 7 +++++++ + 2 files changed, 20 insertions(+), 4 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/statically_matching.ads + + +diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb +index 1936daf..bf17071 100644 +--- a/gcc/ada/sem_ch3.adb ++++ b/gcc/ada/sem_ch3.adb +@@ -6162,8 +6162,8 @@ package body Sem_Ch3 is + and then Has_Private_Declaration (Derived_Type) + and then Present (Discriminant_Constraint (Derived_Type)) + then +- -- Verify that constraints of the full view conform to those +- -- given in partial view. ++ -- Verify that constraints of the full view statically match ++ -- those given in the partial view. + + declare + C1, C2 : Elmt_Id; +@@ -6172,9 +6172,18 @@ package body Sem_Ch3 is + C1 := First_Elmt (New_Discrs); + C2 := First_Elmt (Discriminant_Constraint (Derived_Type)); + while Present (C1) and then Present (C2) loop +- if not +- Fully_Conformant_Expressions (Node (C1), Node (C2)) ++ ++ if Fully_Conformant_Expressions (Node (C1), Node (C2)) ++ or else ++ (Is_OK_Static_Expression (Node (C1)) ++ and then ++ Is_OK_Static_Expression (Node (C2)) ++ and then ++ Expr_Value (Node (C1)) = Expr_Value (Node (C2))) + then ++ null; ++ ++ else + Error_Msg_N ( + "constraint not conformant to previous declaration", + Node (C1)); +diff --git a/gcc/testsuite/gnat.dg/statically_matching.ads b/gcc/testsuite/gnat.dg/statically_matching.ads +new file mode 100644 +index 0000000..de2ba1b +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/statically_matching.ads +@@ -0,0 +1,7 @@ ++package Statically_Matching is ++ type T1(b: boolean) is tagged null record; ++ type T2 is new T1(b => false) with private; ++private ++ F: constant boolean := false; ++ type T2 is new T1(b => F) with null record; -- OK ++end Statically_Matching; --- gcc-4.3-4.3.4.orig/debian/patches/sparc-biarch.dpatch +++ gcc-4.3-4.3.4/debian/patches/sparc-biarch.dpatch @@ -0,0 +1,80 @@ +#! /bin/sh -e +# 10_newpatch.dpatch by +# updated for 4.0, 4.1, 4.2 by Matthias Klose +# +# DP: Enable biarch support for the 32bit sparc compiler + +if [ $# -eq 3 ] && [ "$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 -p0 < $0 + cd ${dir}libcpp && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + cd ${dir}libcpp && autoconf2.59 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- gcc/config/sparc/linux64.h.orig 2006-06-04 13:09:21.857528428 -0300 ++++ gcc/config/sparc/linux64.h 2006-06-04 13:11:15.385012057 -0300 +@@ -54,8 +54,8 @@ + + MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128) + #endif + +-#undef ASM_CPU_DEFAULT_SPEC +-#define ASM_CPU_DEFAULT_SPEC "-Av9a" ++#undef ASM_CPU64_DEFAULT_SPEC ++#define ASM_CPU64_DEFAULT_SPEC "-Av9a" + + /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add + the GNU/Linux magical crtbegin.o file (see crtstuff.c) which +--- gcc/config.gcc.orig 2006-06-04 13:09:21.882530957 -0300 ++++ gcc/config.gcc 2006-06-04 13:14:13.577036688 -0300 +@@ -315,6 +315,7 @@ + ;; + sparc*-*-*) + cpu_type=sparc ++ need_64bit_hwint=yes + ;; + s390*-*-*) + cpu_type=s390 +@@ -2105,9 +2106,16 @@ + use_fixproto=yes + ;; + sparc-*-linux*) # SPARC's running GNU/Linux, libc6 ++ # If cpu is specified, assume we want a 32/64 compiler ++ if test x$with_cpu = x; then + tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm" ++ else ++ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h" ++ extra_options="${extra_options} sparc/long-double-switch.opt" ++ tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" ++ fi + ;; + sparc-*-rtems*) + tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h" +--- libcpp/configure.ac~ 2006-01-18 22:52:36.862072128 +0100 ++++ libcpp/configure.ac 2006-08-15 14:48:00.484137064 +0200 +@@ -124,7 +124,7 @@ + powerpc*-*-* | \ + rs6000*-*-* | \ + s390*-*-* | \ +- sparc64*-*-* | ultrasparc-*-freebsd* | \ ++ sparc*-*-* | ultrasparc-*-freebsd* | \ + sparcv9-*-solaris2* | \ + sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9]* | \ + sh[123456789l]*-*-*) --- gcc-4.3-4.3.4.orig/debian/patches/cpu-default-i486.dpatch +++ gcc-4.3-4.3.4/debian/patches/cpu-default-i486.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh -e + +# DP: set default 32bit ix86 architecture to i486 + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/config/i386/i386.c~ 2007-06-28 13:23:31.000000000 +0200 ++++ gcc/config/i386/i386.c 2007-06-28 13:26:33.000000000 +0200 +@@ -1953,7 +1953,7 @@ + "-mtune=generic instead as appropriate."); + + if (!ix86_arch_string) +- ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386"; ++ ix86_arch_string = TARGET_64BIT ? "x86-64" : "i486"; + else + ix86_arch_specified = 1; + --- gcc-4.3-4.3.4.orig/debian/patches/gdc-fix-build-arm.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-fix-build-arm.dpatch @@ -0,0 +1,54 @@ +#! /bin/sh -e + +# gdc-fix-build-arm.dpatch by Iain Buclaw +# DP: Fix gdc build on armel, exclude C_TARGET_OBJS from borrowed objs. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/d/d-gcc-includes.h 2010-03-20 13:01:54.000000000 +0000 ++++ gcc/d/d-gcc-includes.h 2010-04-09 19:12:06.106850115 +0100 +@@ -29,7 +29,11 @@ + + // hack needed to prevent inclusion of the generated insn-flags.h + // which defines some inline functions that use C prototypes.... ++// because some archs depend on this header for EH routines, ++// only do this if EH_RETURN_HANDLER_RTX is already defined. ++#ifdef EH_RETURN_HANDLER_RTX + #define GCC_INSN_FLAGS_H ++#endif + + // Conflicting definitions between stdio.h and libiberty.h over the throw() + #define HAVE_DECL_ASPRINTF 1 +--- gcc/d/Make-lang.in 2010-03-20 13:08:30.000000000 +0000 ++++ gcc/d/Make-lang.in 2010-04-09 19:13:00.119848346 +0100 +@@ -237,7 +237,7 @@ + else + ifeq ($(D_gcc_main_ver),4.3) + D_GLUE_OBJS += d/d-c-stubs.cglue.o +- D_BORROWED_C_OBJS += stub-objc.o prefix.o $(C_TARGET_OBJS) ++ D_BORROWED_C_OBJS += stub-objc.o prefix.o + D_EXTRA_LIBS += $(GMPLIBS) + D_DRIVER_OBJS += opts-common.o gcc-options.o + endif --- gcc-4.3-4.3.4.orig/debian/patches/libobjc-armel.dpatch +++ gcc-4.3-4.3.4/debian/patches/libobjc-armel.dpatch @@ -0,0 +1,334 @@ +#! /bin/sh -e + +# DP: Add libobjc support for armel. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +ChangeLog (libobjc-arm-eabi-support) + + * configure.ac (arm*-*-linux-gnueabi): Don't disable building + of libobjc for ARM EABI Linux. + * configure: Regenerate. + + libobjc/ + * exception.c (__objc_exception_class): Initialise as constant + array for ARM EABI. Change macro to static const for non-ARM EABI. + (ObjcException): Add note about structure layout. Remove landingPad + and handlerSwitchValue for ARM EABI. + (get_ttype_entry): Add __ARM_EABI_UNWINDER__ version + of function. + (CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases. + (PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add + ARM EABI unwinding support. + (objc_exception_throw): Use memcpy to initialise exception class. + +--- .pc/libobjc-arm-eabi-support/configure.ac 2008-04-23 14:26:40.000000000 -0700 ++++ configure.ac 2008-04-23 14:30:17.000000000 -0700 +@@ -538,7 +538,6 @@ case "${target}" in + ;; + arm*-*-linux-gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" +- noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in + no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" + esac +--- configure~ 2008-02-02 04:29:30.000000000 +0100 ++++ configure 2008-04-24 11:46:43.789081484 +0200 +@@ -2251,7 +2251,6 @@ + ;; + arm*-*-linux-gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" +- noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in + no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" + esac +--- .pc/libobjc-arm-eabi-support/libobjc/exception.c 2008-04-23 14:26:33.000000000 -0700 ++++ libobjc/exception.c 2008-04-23 14:32:36.000000000 -0700 +@@ -31,16 +31,25 @@ Boston, MA 02110-1301, USA. */ + #include "unwind-pe.h" + + ++#ifdef __ARM_EABI_UNWINDER__ ++ ++const _Unwind_Exception_Class __objc_exception_class ++ = {'G', 'N', 'U', 'C', 'O', 'B', 'J', 'C'}; ++ ++#else ++ + /* This is the exception class we report -- "GNUCOBJC". */ +-#define __objc_exception_class \ +- ((((((((_Unwind_Exception_Class) 'G' \ +- << 8 | (_Unwind_Exception_Class) 'N') \ +- << 8 | (_Unwind_Exception_Class) 'U') \ +- << 8 | (_Unwind_Exception_Class) 'C') \ +- << 8 | (_Unwind_Exception_Class) 'O') \ +- << 8 | (_Unwind_Exception_Class) 'B') \ +- << 8 | (_Unwind_Exception_Class) 'J') \ +- << 8 | (_Unwind_Exception_Class) 'C') ++static const _Unwind_Exception_Class __objc_exception_class ++ = ((((((((_Unwind_Exception_Class) 'G' ++ << 8 | (_Unwind_Exception_Class) 'N') ++ << 8 | (_Unwind_Exception_Class) 'U') ++ << 8 | (_Unwind_Exception_Class) 'C') ++ << 8 | (_Unwind_Exception_Class) 'O') ++ << 8 | (_Unwind_Exception_Class) 'B') ++ << 8 | (_Unwind_Exception_Class) 'J') ++ << 8 | (_Unwind_Exception_Class) 'C'); ++ ++#endif + + /* This is the object that is passed around by the Objective C runtime + to represent the exception in flight. */ +@@ -50,12 +59,18 @@ struct ObjcException + /* This bit is needed in order to interact with the unwind runtime. */ + struct _Unwind_Exception base; + +- /* The actual object we want to throw. */ ++ /* The actual object we want to throw. Note: must come immediately after ++ unwind header. */ + id value; + ++#ifdef __ARM_EABI_UNWINDER__ ++ /* Note: we use the barrier cache defined in the unwind control block for ++ ARM EABI. */ ++#else + /* Cache some internal unwind data between phase 1 and phase 2. */ + _Unwind_Ptr landingPad; + int handlerSwitchValue; ++#endif + }; + + +@@ -106,6 +121,24 @@ parse_lsda_header (struct _Unwind_Contex + return p; + } + ++#ifdef __ARM_EABI_UNWINDER__ ++ ++static Class ++get_ttype_entry (struct lsda_header_info *info, _uleb128_t i) ++{ ++ _Unwind_Ptr ptr; ++ ++ ptr = (_Unwind_Ptr) (info->TType - (i * 4)); ++ ptr = _Unwind_decode_target2 (ptr); ++ ++ if (ptr) ++ return objc_get_class ((const char *) ptr); ++ else ++ return 0; ++} ++ ++#else ++ + static Class + get_ttype_entry (struct lsda_header_info *info, _Unwind_Word i) + { +@@ -122,6 +155,8 @@ get_ttype_entry (struct lsda_header_info + return 0; + } + ++#endif ++ + /* Like unto the method of the same name on Object, but takes an id. */ + /* ??? Does this bork the meta-type system? Can/should we look up an + isKindOf method on the id? */ +@@ -150,12 +185,32 @@ isKindOf (id value, Class target) + #define PERSONALITY_FUNCTION __gnu_objc_personality_v0 + #endif + ++#ifdef __ARM_EABI_UNWINDER__ ++ ++#define CONTINUE_UNWINDING \ ++ do \ ++ { \ ++ if (__gnu_unwind_frame(ue_header, context) != _URC_OK) \ ++ return _URC_FAILURE; \ ++ return _URC_CONTINUE_UNWIND; \ ++ } \ ++ while (0) ++ ++_Unwind_Reason_Code ++PERSONALITY_FUNCTION (_Unwind_State state, ++ struct _Unwind_Exception *ue_header, ++ struct _Unwind_Context *context) ++#else ++ ++#define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND ++ + _Unwind_Reason_Code + PERSONALITY_FUNCTION (int version, + _Unwind_Action actions, + _Unwind_Exception_Class exception_class, + struct _Unwind_Exception *ue_header, + struct _Unwind_Context *context) ++#endif + { + struct ObjcException *xh = (struct ObjcException *) ue_header; + +@@ -165,19 +220,65 @@ PERSONALITY_FUNCTION (int version, + const unsigned char *p; + _Unwind_Ptr landing_pad, ip; + int handler_switch_value; +- int saw_cleanup = 0, saw_handler; ++ int saw_cleanup = 0, saw_handler, foreign_exception; + void *return_object; ++ int ip_before_insn = 0; ++ ++#ifdef __ARM_EABI_UNWINDER__ ++ _Unwind_Action actions; ++ ++ switch (state & _US_ACTION_MASK) ++ { ++ case _US_VIRTUAL_UNWIND_FRAME: ++ actions = _UA_SEARCH_PHASE; ++ break; ++ ++ case _US_UNWIND_FRAME_STARTING: ++ actions = _UA_CLEANUP_PHASE; ++ if (!(state & _US_FORCE_UNWIND) ++ && ue_header->barrier_cache.sp == _Unwind_GetGR (context, 13)) ++ actions |= _UA_HANDLER_FRAME; ++ break; ++ ++ case _US_UNWIND_FRAME_RESUME: ++ CONTINUE_UNWINDING; ++ break; ++ ++ default: ++ abort(); ++ } ++ actions |= state & _US_FORCE_UNWIND; + ++ /* TODO: Foreign exceptions need some attention (e.g. rethrowing doesn't ++ work). */ ++ foreign_exception = 0; ++ ++ /* The dwarf unwinder assumes the context structure holds things like the ++ function and LSDA pointers. The ARM implementation caches these in ++ the exception header (UCB). To avoid rewriting everything we make the ++ virtual IP register point at the UCB. */ ++ ip = (_Unwind_Ptr) ue_header; ++ _Unwind_SetGR (context, 12, ip); ++ ++#else /* !__ARM_EABI_UNWINDER. */ + /* Interface version check. */ + if (version != 1) + return _URC_FATAL_PHASE1_ERROR; ++ ++ foreign_exception = (exception_class != __objc_exception_class); ++#endif + + /* Shortcut for phase 2 found handler for domestic exception. */ + if (actions == (_UA_CLEANUP_PHASE | _UA_HANDLER_FRAME) +- && exception_class == __objc_exception_class) ++ && !foreign_exception) + { ++#ifdef __ARM_EABI_UNWINDER__ ++ handler_switch_value = (int) ue_header->barrier_cache.bitpattern[1]; ++ landing_pad = (_Unwind_Ptr) ue_header->barrier_cache.bitpattern[3]; ++#else + handler_switch_value = xh->handlerSwitchValue; + landing_pad = xh->landingPad; ++#endif + goto install_context; + } + +@@ -186,12 +287,18 @@ PERSONALITY_FUNCTION (int version, + + /* If no LSDA, then there are no handlers or cleanups. */ + if (! language_specific_data) +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + /* Parse the LSDA header. */ + p = parse_lsda_header (context, language_specific_data, &info); + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); ++#ifdef HAVE_GETIPINFO ++ ip = _Unwind_GetIPInfo (context, &ip_before_insn); ++#else + ip = _Unwind_GetIP (context) - 1; ++#endif ++ if (!ip_before_insn) ++ --ip; + landing_pad = 0; + action_record = 0; + handler_switch_value = 0; +@@ -250,7 +357,7 @@ PERSONALITY_FUNCTION (int version, + /* If ip is not present in the table, C++ would call terminate. */ + /* ??? As with Java, it's perhaps better to tweek the LSDA to + that no-action is mapped to no-entry. */ +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + found_something: + saw_cleanup = 0; +@@ -287,8 +394,7 @@ PERSONALITY_FUNCTION (int version, + + /* During forced unwinding, we only run cleanups. With a + foreign exception class, we have no class info to match. */ +- else if ((actions & _UA_FORCE_UNWIND) +- || exception_class != __objc_exception_class) ++ else if ((actions & _UA_FORCE_UNWIND) || foreign_exception) + ; + + else if (ar_filter > 0) +@@ -318,18 +424,24 @@ PERSONALITY_FUNCTION (int version, + } + + if (! saw_handler && ! saw_cleanup) +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + if (actions & _UA_SEARCH_PHASE) + { + if (!saw_handler) +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + /* For domestic exceptions, we cache data from phase 1 for phase 2. */ +- if (exception_class == __objc_exception_class) ++ if (!foreign_exception) + { ++#ifdef __ARM_EABI_UNWINDER__ ++ ue_header->barrier_cache.sp = _Unwind_GetGR (context, 13); ++ ue_header->barrier_cache.bitpattern[1] = (_uw) handler_switch_value; ++ ue_header->barrier_cache.bitpattern[3] = (_uw) landing_pad; ++#else + xh->handlerSwitchValue = handler_switch_value; + xh->landingPad = landing_pad; ++#endif + } + return _URC_HANDLER_FOUND; + } +@@ -361,7 +473,9 @@ void + objc_exception_throw (id value) + { + struct ObjcException *header = calloc (1, sizeof (*header)); +- header->base.exception_class = __objc_exception_class; ++ ++ memcpy (&header->base.exception_class, &__objc_exception_class, ++ sizeof (__objc_exception_class)); + header->base.exception_cleanup = __objc_exception_cleanup; + header->value = value; + + --- gcc-4.3-4.3.4.orig/debian/patches/ada-libgnatprj.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-libgnatprj.dpatch @@ -0,0 +1,4815 @@ +#! /bin/sh -e + +# DP: - Introduce a new shared library named libgnatprj, containing +# DP: the GNAT project file manager licensed under the pure GPL, for +# DP: use in GNAT tools, GLADE and GPS. Link the GNAT tools against +# DP: this new library. + +# This patch seems large, but the hunks in Makefile.in are actually +# generated from Makefile.def using autogen. + +# !!! Must be applied after ada-libgnatvsn.dpatch + +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 -p0 < $0 + cd ${dir} && autoreconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/ada/config-lang.in +=================================================================== +--- gcc/ada/config-lang.in.orig ++++ gcc/ada/config-lang.in +@@ -34,8 +34,8 @@ + + outputs=ada/Makefile + +-target_libs="target-libada target-libgnatvsn" +-lang_dirs="libada libgnatvsn gnattools" ++target_libs="target-libada target-libgnatvsn target-libgnatprj" ++lang_dirs="libada libgnatvsn libgnatprj gnattools" + + # Ada will not work until the front end starts emitting GIMPLE trees. + build_by_default=no +Index: gnattools/Makefile.in +=================================================================== +--- gnattools/Makefile.in.orig ++++ gnattools/Makefile.in +@@ -35,13 +35,13 @@ + target_noncanonical=@target_noncanonical@ + + CFLAGS=-O2 -Wall +-INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc + ADA_CFLAGS=-O2 -gnatn +-ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn ++ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn -I../libgnatprj + LIB_VERSION=$(strip $(shell grep ' Library_Version :' \ + ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) + ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION) + ADA_LIBS += -L../libgnatvsn -lgnatvsn ++ADA_LIBS += -L../libgnatprj -lgnatprj + + # We will use the just-built compiler to compile and link everything. + GCC=../gcc/xgcc -B../gcc/ +@@ -66,74 +66,18 @@ + + # Since we don't have gnatmake, we must specify the full list of + # object files necessary to build gnatmake and gnatlink. +-# TODO: remove from these lists the objects that are part of +-# libgnatprj. + GNATLINK_OBJS = \ +-ali.o \ +-butil.o \ +-fmap.o \ + gnatlink.o \ + indepsw.o \ +-osint.o \ +-prefix.o \ +-rident.o \ +-sdefault.o \ +-stylesw.o \ +-switch.o \ +-targparm.o \ + validsw.o + + GNATMAKE_OBJS = \ +-ali-util.o \ +-ali.o \ +-binderr.o \ +-butil.o \ +-err_vars.o \ +-erroutc.o \ +-errutil.o \ +-fmap.o \ + fname-sf.o \ +-fname-uf.o \ + gnatmake.o \ + make.o \ + makeusg.o \ +-makeutl.o \ +-mlib-fil.o \ + mlib-prj.o \ +-mlib-tgt.o \ +-mlib-tgt-specific.o \ +-mlib-utl.o \ +-mlib.o \ + osint-m.o \ +-osint.o \ +-prefix.o \ +-prj-attr-pm.o \ +-prj-attr.o \ +-prj-com.o \ +-prj-dect.o \ +-prj-env.o \ +-prj-err.o \ +-prj-ext.o \ +-prj-nmsc.o \ +-prj-pars.o \ +-prj-part.o \ +-prj-proc.o \ +-prj-strt.o \ +-prj-tree.o \ +-prj-util.o \ +-prj.o \ +-rident.o \ +-scng.o \ +-sdefault.o \ +-sfn_scan.o \ +-sinput-c.o \ +-sinput-p.o \ +-styleg.o \ +-stylesw.o \ +-switch-m.o \ +-switch.o \ +-targparm.o \ +-tempdir.o \ + usage.o \ + validsw.o \ + $(EXTRA_GNATMAKE_OBJS) +@@ -175,11 +119,6 @@ + for file in $(BODIES) $(SPECS); do \ + $(LN_S) -f $$file .; \ + done +- rm -f sdefault.adb; $(LN_S) ../gcc/ada/sdefault.adb . +- $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ +- rm -f $(word 1,$(subst <, ,$(PAIR)));\ +- $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \ +- $(word 1,$(subst <, ,$(PAIR)));) + touch $@ + + gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so +@@ -192,19 +131,16 @@ + vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc + vpath %.h @srcdir@/../gcc/ada + +-# Because the just-built gcc is a host tool like us, we can use some +-# of its object files, e.g. prefix.o. +-vpath prefix.o ../gcc +- + # gnatlink + +-gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o ++gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o + $(GCC) -o $@ $^ \ ++ ../libgnatprj/libgnatprj.a \ + ../libgnatvsn/libgnatvsn.a \ + ../gcc/ada/rts/libgnat.a \ + ../libiberty/libiberty.a + +-gnatlink: $(GNATLINK_OBJS) b_gnatl.o link.o ++gnatlink: $(GNATLINK_OBJS) b_gnatl.o + $(GCC) -o $@ $^ $(ADA_LIBS) ../libiberty/libiberty.a + + b_gnatl.o: b_gnatl.c adaint.h +@@ -215,13 +151,14 @@ + + # gnatmake + +-gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o ++gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o + $(GCC) -o $@ $(ADA_CFLAGS) $^ \ ++ ../libgnatprj/libgnatprj.a \ + ../libgnatvsn/libgnatvsn.a \ + ../gcc/ada/rts/libgnat.a \ + ../libiberty/libiberty.a + +-gnatmake: $(GNATMAKE_OBJS) b_gnatm.o link.o ++gnatmake: $(GNATMAKE_OBJS) b_gnatm.o + $(GCC) -o $@ $(ADA_CFLAGS) $^ $(ADA_LIBS) ../libiberty/libiberty.a + + b_gnatm.o: b_gnatm.c adaint.h +@@ -231,19 +168,11 @@ + ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali + + # Other tools +-gnatkr: +- if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi +- ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \ +- --GCC="$(GCC)" \ +- --GNATBIND=../gcc/gnatbind +- ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \ +- --GCC="$(GCC) $(ADA_INCLUDES)" +- + gnat: gnatcmd + cp -lp $< $@ + +-gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref gprmake: \ +-link.o prefix.o ++gnatbind gnatchop gnatclean gnatcmd gnatfind gnatkr gnatls gnatname gnatprep \ ++gnatxref gprmake: + if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi + ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \ + --GCC="$(GCC)" \ +@@ -252,29 +181,19 @@ + ../libiberty/libiberty.a \ + --GCC="$(GCC) $(ADA_INCLUDES)" + +-gnatbl: gnatbl.c link.o prefix.o ++gnatbl: gnatbl.c + $(GCC) -o $@ $< $(CFLAGS) \ + -I../gcc -I@srcdir@/../gcc/config -I@srcdir@/../gcc \ + -I@srcdir@/../include \ + $(filter-out %.c,$^) \ + $(ADA_LIBS) ../libiberty/libiberty.a + +-# Force compiling sdefault.adb, not .ads, to produce sdefault.o +-sdefault.o: sdefault.adb +- +-sdefault.adb: stamp-gnattools-sources +- + %.o: %.adb + $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES) + + %.o: %.ads + $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES) + +-%.o: %.c +- $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES) +- +-prefix.o: +- + # Other + # ----- + +Index: libgnatprj/configure +=================================================================== +--- /dev/null ++++ libgnatprj/configure +@@ -0,0 +1,3141 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.61. ++# ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, ++# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++ ++ ++# PATH needs CR ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++# Support unset when possible. ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++as_nl=' ++' ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ { (exit 1); exit 1; } ++fi ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++for as_var in ENV MAIL MAILPATH ++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ ++ LC_TELEPHONE LC_TIME ++do ++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then ++ eval $as_var=C; export $as_var ++ else ++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ ++# Name of the executable. ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# CDPATH. ++$as_unset CDPATH ++ ++ ++if test "x$CONFIG_SHELL" = x; then ++ if (eval ":") 2>/dev/null; then ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ ++ if test $as_have_required = yes && (eval ": ++(as_func_return () { ++ (exit \$1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test \$exitcode = 0) || { (exit 1); exit 1; } ++ ++( ++ as_lineno_1=\$LINENO ++ as_lineno_2=\$LINENO ++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && ++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ++") 2> /dev/null; then ++ : ++else ++ as_candidate_shells= ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ case $as_dir in ++ /*) ++ for as_base in sh bash ksh sh5; do ++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base" ++ done;; ++ esac ++done ++IFS=$as_save_IFS ++ ++ ++ for as_shell in $as_candidate_shells $SHELL; do ++ # Try only shells that exist, to save several forks. ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { ("$as_shell") 2> /dev/null <<\_ASEOF ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++: ++_ASEOF ++}; then ++ CONFIG_SHELL=$as_shell ++ as_have_required=yes ++ if { "$as_shell" 2> /dev/null <<\_ASEOF ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++: ++(as_func_return () { ++ (exit $1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = "$1" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test $exitcode = 0) || { (exit 1); exit 1; } ++ ++( ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } ++ ++_ASEOF ++}; then ++ break ++fi ++ ++fi ++ ++ done ++ ++ if test "x$CONFIG_SHELL" != x; then ++ for as_var in BASH_ENV ENV ++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++ done ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} ++fi ++ ++ ++ if test $as_have_required = no; then ++ echo This script requires a shell more modern than all the ++ echo shells that I found on your system. Please install a ++ echo modern shell, or manually run the script under such a ++ echo shell if you do have one. ++ { (exit 1); exit 1; } ++fi ++ ++ ++fi ++ ++fi ++ ++ ++ ++(eval "as_func_return () { ++ (exit \$1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test \$exitcode = 0") || { ++ echo No shell found that supports shell functions. ++ echo Please tell autoconf@gnu.org about your system, ++ echo including any error possibly output before this ++ echo message ++} ++ ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line after each line using $LINENO; the second 'sed' ++ # does the real work. The second script uses 'N' to pair each ++ # line-number line with the line containing $LINENO, and appends ++ # trailing '-' during substitution so that $LINENO is not a special ++ # case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # scripts with optimization help from Paolo Bonzini. Blame Lee ++ # E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in ++-n*) ++ case `echo 'x\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ *) ECHO_C='\c';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir ++fi ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -p'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -p' ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' ++else ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' ++fi ++as_executable_p=$as_test_x ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++ ++exec 7<&0 &1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++SHELL=${CONFIG_SHELL-/bin/sh} ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++ ++ac_unique_file="Makefile.in" ++ac_subst_vars='SHELL ++PATH_SEPARATOR ++PACKAGE_NAME ++PACKAGE_TARNAME ++PACKAGE_VERSION ++PACKAGE_STRING ++PACKAGE_BUGREPORT ++exec_prefix ++prefix ++program_transform_name ++bindir ++sbindir ++libexecdir ++datarootdir ++datadir ++sysconfdir ++sharedstatedir ++localstatedir ++includedir ++oldincludedir ++docdir ++infodir ++htmldir ++dvidir ++pdfdir ++psdir ++libdir ++localedir ++mandir ++DEFS ++ECHO_C ++ECHO_N ++ECHO_T ++LIBS ++build_alias ++host_alias ++target_alias ++INSTALL_PROGRAM ++INSTALL_SCRIPT ++INSTALL_DATA ++build ++build_cpu ++build_vendor ++build_os ++host ++host_cpu ++host_vendor ++host_os ++target ++target_cpu ++target_vendor ++target_os ++target_noncanonical ++LN_S ++x_ada_cflags ++default_gnattools_target ++TOOLS_TARGET_PAIRS ++LIBOBJS ++LTLIBOBJS' ++ac_subst_files='' ++ ac_precious_vars='build_alias ++host_alias ++target_alias' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=\$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *) ac_optarg=yes ;; ++ esac ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; ++ ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` ++ eval enable_$ac_feature=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; ++ ++ -enable-* | --enable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` ++ eval enable_$ac_feature=\$ac_optarg ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` ++ eval with_$ac_package=\$ac_optarg ;; ++ ++ -without-* | --without-*) ++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` ++ eval with_$ac_package=no ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) { echo "$as_me: error: unrecognized option: $ac_option ++Try \`$0 --help' for more information." >&2 ++ { (exit 1); exit 1; }; } ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 ++ { (exit 1); exit 1; }; } ++ eval $ac_envvar=\$ac_optarg ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ { echo "$as_me: error: missing argument to $ac_option" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ ++# Be sure to have absolute directory names. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir ++do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; } ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. ++ If a cross compiler is detected then cross compile mode will be used." >&2 ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ { echo "$as_me: error: Working directory cannot be determined" >&2 ++ { (exit 1); exit 1; }; } ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ { echo "$as_me: error: pwd does not report name of working directory" >&2 ++ { (exit 1); exit 1; }; } ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$0" || ++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$0" : 'X\(//\)[^/]' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++echo X"$0" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 ++ { (exit 1); exit 1; }; } ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++ --target=TARGET configure for building compilers for TARGET [HOST] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++_ACEOF ++ac_status=$? ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || continue ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.61 ++ ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, ++2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.61. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ echo "PATH: $as_dir" ++done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *\'*) ++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; ++ 2) ++ ac_configure_args1="$ac_configure_args1 '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ ac_configure_args="$ac_configure_args '$ac_arg'" ++ ;; ++ esac ++ done ++done ++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } ++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ cat <<\_ASBOX ++## ---------------- ## ++## Cache variables. ## ++## ---------------- ## ++_ASBOX ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 ++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ *) $as_unset $ac_var ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ cat <<\_ASBOX ++## ----------------- ## ++## Output variables. ## ++## ----------------- ## ++_ASBOX ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ cat <<\_ASBOX ++## ------------------- ## ++## File substitutions. ## ++## ------------------- ## ++_ASBOX ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ echo "$ac_var='\''$ac_val'\''" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ cat <<\_ASBOX ++## ----------- ## ++## confdefs.h. ## ++## ----------- ## ++_ASBOX ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ echo "$as_me: caught signal $ac_signal" ++ echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer explicitly selected file to automatically selected ones. ++if test -n "$CONFIG_SITE"; then ++ set x "$CONFIG_SITE" ++elif test "x$prefix" != xNONE; then ++ set x "$prefix/share/config.site" "$prefix/etc/config.site" ++else ++ set x "$ac_default_prefix/share/config.site" \ ++ "$ac_default_prefix/etc/config.site" ++fi ++shift ++for ac_site_file ++do ++ if test -r "$ac_site_file"; then ++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 ++echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special ++ # files actually), so we avoid doing that. ++ if test -f "$cache_file"; then ++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5 ++echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5 ++echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 ++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 ++echo "$as_me: former value: $ac_old_val" >&2;} ++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 ++echo "$as_me: current value: $ac_new_val" >&2;} ++ ac_cache_corrupted=: ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 ++echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 ++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ ++ ++ ++ ++# Start of actual configure tests ++ ++ac_aux_dir= ++for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 ++echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } ++if test -z "$INSTALL"; then ++if test "${ac_cv_path_install+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in ++ ./ | .// | /cC/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++done ++IFS=$as_save_IFS ++ ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ echo "$as_me:$LINENO: result: $INSTALL" >&5 ++echo "${ECHO_T}$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 ++echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} ++ { (exit 1); exit 1; }; } ++ ++{ echo "$as_me:$LINENO: checking build system type" >&5 ++echo $ECHO_N "checking build system type... $ECHO_C" >&6; } ++if test "${ac_cv_build+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 ++echo "$as_me: error: cannot guess build type; you must specify one" >&2;} ++ { (exit 1); exit 1; }; } ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 ++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 ++echo "${ECHO_T}$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 ++echo "$as_me: error: invalid value of canonical build" >&2;} ++ { (exit 1); exit 1; }; };; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ echo "$as_me:$LINENO: checking host system type" >&5 ++echo $ECHO_N "checking host system type... $ECHO_C" >&6; } ++if test "${ac_cv_host+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 ++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 ++echo "${ECHO_T}$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 ++echo "$as_me: error: invalid value of canonical host" >&2;} ++ { (exit 1); exit 1; }; };; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++{ echo "$as_me:$LINENO: checking target system type" >&5 ++echo $ECHO_N "checking target system type... $ECHO_C" >&6; } ++if test "${ac_cv_target+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "x$target_alias" = x; then ++ ac_cv_target=$ac_cv_host ++else ++ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || ++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 ++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5 ++echo "${ECHO_T}$ac_cv_target" >&6; } ++case $ac_cv_target in ++*-*-*) ;; ++*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 ++echo "$as_me: error: invalid value of canonical target" >&2;} ++ { (exit 1); exit 1; }; };; ++esac ++target=$ac_cv_target ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_target ++shift ++target_cpu=$1 ++target_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++target_os=$* ++IFS=$ac_save_IFS ++case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac ++ ++ ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- ++ ++# Autoconf M4 include file defining utility macros for complex Canadian ++# cross builds. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++#### ++# _NCN_TOOL_PREFIXES: Some stuff that oughtta be done in AC_CANONICAL_SYSTEM ++# or AC_INIT. ++# These demand that AC_CANONICAL_SYSTEM be called beforehand. ++ ++#### ++# NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path]) ++# Like plain AC_CHECK_TOOLS, but require prefix if build!=host. ++ ++ ++#### ++# NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path]) ++# Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target. ++ ++ ++ ++# Backported from Autoconf 2.5x; can go away when and if ++# we switch. Put the OS path separator in $PATH_SEPARATOR. ++ ++ ++ ++ ++# ACX_HAVE_GCC_FOR_TARGET ++# Check if the variable GCC_FOR_TARGET really points to a GCC binary. ++ ++ ++# ACX_CHECK_INSTALLED_TARGET_TOOL(VAR, PROG) ++# Searching for installed target binutils. We need to take extra care, ++# else we may find the wrong assembler, linker, etc., and lose. ++# ++# First try --with-build-time-tools, if specified. ++# ++# For build != host, we ask the installed GCC for the name of the tool it ++# uses, and accept it if it is an absolute path. This is because the ++# only good choice for a compiler is the same GCC version that is being ++# installed (or we couldn't make target libraries), and we assume that ++# on the host system we'll have not only the same GCC version, but also ++# the same binutils version. ++# ++# For build == host, search the same directories that the installed ++# compiler will search. We used to do this for the assembler, linker, ++# and nm only; for simplicity of configuration, however, we extend this ++# criterion to tools (such as ar and ranlib) that are never invoked by ++# the compiler, to avoid mismatches. ++# ++# Also note we have to check MD_EXEC_PREFIX before checking the user's path ++# if build == target. This makes the most sense only when bootstrapping, ++# but we also do so when build != host. In this case, we hope that the ++# build and host systems will have similar contents of MD_EXEC_PREFIX. ++# ++# If we do not find a suitable binary, then try the user's path. ++ ++ ++### ++# AC_PROG_CPP_WERROR ++# Used for autoconf 2.5x to force AC_PREPROC_IFELSE to reject code which ++# triggers warnings from the preprocessor. Will be in autoconf 2.58. ++# For now, using this also overrides header checks to use only the ++# preprocessor (matches 2.13 behavior; matching 2.58's behavior is a ++# bit harder from here). ++# Eventually autoconf will default to checking headers with the compiler ++# instead, and we'll have to do this differently. ++ ++# AC_PROG_CPP_WERROR ++ ++# Test for GNAT. ++# We require the gnatbind program, and a compiler driver that ++# understands Ada. We use the user's CC setting, already found. ++# ++# Sets the shell variable have_gnat to yes or no as appropriate, and ++# substitutes GNATBIND and GNATMAKE. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ case ${build_alias} in ++ "") build_noncanonical=${build} ;; ++ *) build_noncanonical=${build_alias} ;; ++esac ++ ++ case ${host_alias} in ++ "") host_noncanonical=${build_noncanonical} ;; ++ *) host_noncanonical=${host_alias} ;; ++esac ++ ++ case ${target_alias} in ++ "") target_noncanonical=${host_noncanonical} ;; ++ *) target_noncanonical=${target_alias} ;; ++esac ++ ++ ++ ++ ++# Need to pass this down for now :-P ++{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 ++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } ++else ++ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 ++echo "${ECHO_T}no, using $LN_S" >&6; } ++fi ++ ++ ++# Determine x_ada_cflags ++case $host in ++ hppa*) x_ada_cflags=-mdisable-indexing ;; ++ *) x_ada_cflags= ;; ++esac ++ ++ ++# Determine what to build for 'gnattools' ++if test $build = $target ; then ++ # Note that build=target is almost certainly the wrong test; FIXME ++ default_gnattools_target="gnattools-native" ++else ++ default_gnattools_target="gnattools-cross" ++fi ++ ++ ++# Target-specific stuff (defaults) ++TOOLS_TARGET_PAIRS= ++ ++ ++# Per-target case statement ++# ------------------------- ++case "${target}" in ++ alpha*-dec-vx*) # Unlike all other Vxworks ++ ;; ++ m68k*-wrs-vx* \ ++ | powerpc*-wrs-vxworks \ ++ | sparc*-wrs-vx* \ ++ | *86-wrs-vxworks \ ++ | xscale*-wrs-vx* \ ++ | xscale*-wrs-coff \ ++ | mips*-wrs-vx*) ++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adbconfcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 ++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ *) $as_unset $ac_var ;; ++ esac ;; ++ esac ++ done ++ ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes (double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \). ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ test "x$cache_file" != "x/dev/null" && ++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5 ++echo "$as_me: updating cache $cache_file" >&6;} ++ cat confcache >$cache_file ++ else ++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 ++echo "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++# Transform confdefs.h into DEFS. ++# Protect against shell expansion while executing Makefile rules. ++# Protect against Makefile macro expansion. ++# ++# If the first sed substitution is executed (which looks for macros that ++# take arguments), then branch to the quote section. Otherwise, ++# look for a macro that doesn't take arguments. ++ac_script=' ++t clear ++:clear ++s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g ++t quote ++s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g ++t quote ++b any ++:quote ++s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g ++s/\[/\\&/g ++s/\]/\\&/g ++s/\$/$$/g ++H ++:any ++${ ++ g ++ s/^\n// ++ s/\n/ /g ++ p ++} ++' ++DEFS=`sed -n "$ac_script" confdefs.h` ++ ++ ++ac_libobjs= ++ac_ltlibobjs= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++ ++: ${CONFIG_STATUS=./config.status} ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 ++echo "$as_me: creating $CONFIG_STATUS" >&6;} ++cat >$CONFIG_STATUS <<_ACEOF ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++SHELL=\${CONFIG_SHELL-$SHELL} ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++ ++ ++# PATH needs CR ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++# Support unset when possible. ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++as_nl=' ++' ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ { (exit 1); exit 1; } ++fi ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++for as_var in ENV MAIL MAILPATH ++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++done ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ ++ LC_TELEPHONE LC_TIME ++do ++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then ++ eval $as_var=C; export $as_var ++ else ++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ ++# Name of the executable. ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# CDPATH. ++$as_unset CDPATH ++ ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line after each line using $LINENO; the second 'sed' ++ # does the real work. The second script uses 'N' to pair each ++ # line-number line with the line containing $LINENO, and appends ++ # trailing '-' during substitution so that $LINENO is not a special ++ # case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # scripts with optimization help from Paolo Bonzini. Blame Lee ++ # E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in ++-n*) ++ case `echo 'x\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ *) ECHO_C='\c';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir ++fi ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -p'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -p' ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' ++else ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' ++fi ++as_executable_p=$as_test_x ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++exec 6>&1 ++ ++# Save the log message, to keep $[0] and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.61. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF ++# Files that config.status was made for. ++config_files="$ac_config_files" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++ac_cs_usage="\ ++\`$as_me' instantiates files from templates according to the ++current configuration. ++ ++Usage: $0 [OPTIONS] [FILE]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ -q, --quiet do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ ++Configuration files: ++$config_files ++ ++Report bugs to ." ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.61, ++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" ++ ++Copyright (C) 2006 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++# If no file are specified by the user, then we need to provide default ++# value. By we need to know if files were specified by the user. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=*) ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ echo "$ac_cs_version"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ CONFIG_FILES="$CONFIG_FILES $ac_optarg" ++ ac_need_defaults=false;; ++ --he | --h | --help | --hel | -h ) ++ echo "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) { echo "$as_me: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&2 ++ { (exit 1); exit 1; }; } ;; ++ ++ *) ac_config_targets="$ac_config_targets $1" ++ ac_need_defaults=false ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++if \$ac_cs_recheck; then ++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 ++ CONFIG_SHELL=$SHELL ++ export CONFIG_SHELL ++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ echo "$ac_log" ++} >&5 ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++ ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ ++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 ++echo "$as_me: error: invalid argument: $ac_config_target" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ++ trap 'exit_status=$? ++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ++' 0 ++ trap '{ (exit 1); exit 1; }' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -n "$tmp" && test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || ++{ ++ echo "$me: cannot create a temporary directory in ." >&2 ++ { (exit 1); exit 1; } ++} ++ ++# ++# Set up the sed scripts for CONFIG_FILES section. ++# ++ ++# No need to generate the scripts if there are no CONFIG_FILES. ++# This happens for instance when ./config.status config.h ++if test -n "$CONFIG_FILES"; then ++ ++_ACEOF ++ ++ ++ ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ cat >conf$$subs.sed <<_ACEOF ++SHELL!$SHELL$ac_delim ++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim ++PACKAGE_NAME!$PACKAGE_NAME$ac_delim ++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim ++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim ++PACKAGE_STRING!$PACKAGE_STRING$ac_delim ++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim ++exec_prefix!$exec_prefix$ac_delim ++prefix!$prefix$ac_delim ++program_transform_name!$program_transform_name$ac_delim ++bindir!$bindir$ac_delim ++sbindir!$sbindir$ac_delim ++libexecdir!$libexecdir$ac_delim ++datarootdir!$datarootdir$ac_delim ++datadir!$datadir$ac_delim ++sysconfdir!$sysconfdir$ac_delim ++sharedstatedir!$sharedstatedir$ac_delim ++localstatedir!$localstatedir$ac_delim ++includedir!$includedir$ac_delim ++oldincludedir!$oldincludedir$ac_delim ++docdir!$docdir$ac_delim ++infodir!$infodir$ac_delim ++htmldir!$htmldir$ac_delim ++dvidir!$dvidir$ac_delim ++pdfdir!$pdfdir$ac_delim ++psdir!$psdir$ac_delim ++libdir!$libdir$ac_delim ++localedir!$localedir$ac_delim ++mandir!$mandir$ac_delim ++DEFS!$DEFS$ac_delim ++ECHO_C!$ECHO_C$ac_delim ++ECHO_N!$ECHO_N$ac_delim ++ECHO_T!$ECHO_T$ac_delim ++LIBS!$LIBS$ac_delim ++build_alias!$build_alias$ac_delim ++host_alias!$host_alias$ac_delim ++target_alias!$target_alias$ac_delim ++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim ++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim ++INSTALL_DATA!$INSTALL_DATA$ac_delim ++build!$build$ac_delim ++build_cpu!$build_cpu$ac_delim ++build_vendor!$build_vendor$ac_delim ++build_os!$build_os$ac_delim ++host!$host$ac_delim ++host_cpu!$host_cpu$ac_delim ++host_vendor!$host_vendor$ac_delim ++host_os!$host_os$ac_delim ++target!$target$ac_delim ++target_cpu!$target_cpu$ac_delim ++target_vendor!$target_vendor$ac_delim ++target_os!$target_os$ac_delim ++target_noncanonical!$target_noncanonical$ac_delim ++LN_S!$LN_S$ac_delim ++x_ada_cflags!$x_ada_cflags$ac_delim ++default_gnattools_target!$default_gnattools_target$ac_delim ++TOOLS_TARGET_PAIRS!$TOOLS_TARGET_PAIRS$ac_delim ++LIBOBJS!$LIBOBJS$ac_delim ++LTLIBOBJS!$LTLIBOBJS$ac_delim ++_ACEOF ++ ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 59; then ++ break ++ elif $ac_last_try; then ++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 ++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} ++ { (exit 1); exit 1; }; } ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` ++if test -n "$ac_eof"; then ++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ++ ac_eof=`expr $ac_eof + 1` ++fi ++ ++cat >>$CONFIG_STATUS <<_ACEOF ++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end ++_ACEOF ++sed ' ++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g ++s/^/s,@/; s/!/@,|#_!!_#|/ ++:n ++t n ++s/'"$ac_delim"'$/,g/; t ++s/$/\\/; p ++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ++' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF ++:end ++s/|#_!!_#|//g ++CEOF$ac_eof ++_ACEOF ++ ++ ++# VPATH may cause trouble with some makes, so we remove $(srcdir), ++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=/{ ++s/:*\$(srcdir):*/:/ ++s/:*\${srcdir}:*/:/ ++s/:*@srcdir@:*/:/ ++s/^\([^=]*=[ ]*\):*/\1/ ++s/:*$// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++fi # test -n "$CONFIG_FILES" ++ ++ ++for ac_tag in :F $CONFIG_FILES ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 ++echo "$as_me: error: Invalid tag $ac_tag." >&2;} ++ { (exit 1); exit 1; }; };; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 ++echo "$as_me: error: cannot find input file: $ac_f" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++ ac_file_inputs="$ac_file_inputs $ac_f" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input="Generated from "`IFS=: ++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ fi ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$tmp/stdin";; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ { as_dir="$ac_dir" ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 ++echo "$as_me: error: cannot create directory $as_dir" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ ++case `sed -n '/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p ++' $ac_file_inputs` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF ++ sed "$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s&@configure_input@&$configure_input&;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && ++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined." >&5 ++echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined." >&2;} ++ ++ rm -f "$tmp/stdin" ++ case $ac_file in ++ -) cat "$tmp/out"; rm -f "$tmp/out";; ++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; ++ esac ++ ;; ++ ++ ++ ++ esac ++ ++done # for ac_tag ++ ++ ++{ (exit 0); exit 0; } ++_ACEOF ++chmod +x $CONFIG_STATUS ++ac_clean_files=$ac_clean_files_save ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || { (exit 1); exit 1; } ++fi ++ +Index: libgnatprj/Makefile.in +=================================================================== +--- /dev/null ++++ libgnatprj/Makefile.in +@@ -0,0 +1,177 @@ ++# Makefile for libgnatprj. ++# Copyright (c) 2006 Ludovic Brenta ++# ++# 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 of the License, 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, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++# Default target; must be first. ++all: libgnatprj ++ ++.SUFFIXES: ++ ++CPUS := $(shell getconf _NPROCESSORS_ONLN) ++LIB_VERSION := $(strip $(shell grep ' Library_Version :' \ ++ @srcdir@/../gcc/ada/gnatvsn.ads | \ ++ sed -e 's/.*"\(.*\)".*/\1/')) ++GCC:=../gcc/xgcc -B../gcc/ ++LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts ++LIBGNATVSN := -I../libgnatvsn ++CFLAGS := -g -O2 ++ADAFLAGS := -g -O2 -gnatn ++BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER) ++DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE) ++DATESTAMP := $(shell cat @srcdir@/../gcc/DATESTAMP) ++TOOLS_TARGET_PAIRS := @TOOLS_TARGET_PAIRS@ ++LN_S := @LN_S@ ++ ++ifneq (@build@,@host@) ++ CFLAGS += -b @host@ ++endif ++ ++.PHONY: libgnatprj install ++libgnatprj: libgnatprj.so.$(LIB_VERSION) libgnatprj.a ++ ++# Here we list one file per Ada unit: the body file if the unit has a ++# body, the spec file otherwise. ++PRJ_SOURCES := ali.adb ali-util.adb butil.adb binderr.adb errout.adb \ ++erroutc.adb errutil.adb err_vars.ads fname-uf.adb fmap.adb impunit.adb \ ++lib-util.adb makeutl.adb mlib.adb mlib-fil.adb mlib-tgt.adb \ ++mlib-tgt-specific.adb mlib-utl.adb osint.adb osint-c.adb prj.adb prj-attr.adb \ ++prj-attr-pm.adb prj-com.ads prj-dect.adb prj-env.adb prj-err.adb prj-ext.adb \ ++prj-nmsc.adb prj-pars.adb prj-part.adb prj-pp.adb prj-proc.adb prj-strt.adb \ ++prj-tree.adb prj-util.adb rident.ads scng.adb sfn_scan.adb sinfo-cn.adb \ ++sinput-c.adb sinput-p.adb style.ads styleg.adb styleg-c.adb stylesw.adb \ ++switch.adb switch-m.adb targparm.adb tempdir.adb ++ ++# Source files generated in build/gcc/ada, not src/gcc/ada. ++GENERATED_SOURCES := sdefault.adb ++ ++SOURCES := $(PRJ_SOURCES) $(GENERATED_SOURCES) ++ ++OBJECTS := $(patsubst %.ads,%.o,$(SOURCES:.adb=.o)) ++ ++# Add some object files compiled from C sources. prefix.o requires ++# some objects from libiberty. ++OBJECTS += concat.o link.o prefix.o xexit.o xmalloc.o xstrdup.o ++ ++vpath %.c @srcdir@/../gcc/ada ++ ++libgnatprj.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS)) ++ : # Make libgnatprj.so ++ $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \ ++ -L../gcc/ada/rts -lgnat-$(LIB_VERSION) \ ++ -L../libgnatvsn -lgnatvsn ++ $(LN_S) -f libgnatprj.so.$(LIB_VERSION) libgnatprj.so ++ chmod a=r obj-shared/*.ali ++# Make the .ali files, but not the .o files, visible to the gnat tools. ++ cp -lp obj-shared/*.ali . ++ ++$(addprefix obj-shared/,$(OBJECTS)): | stamp-libgnatprj-sources obj-shared ++ ++obj-shared/%.o: %.adb ++ $(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ ++ ++obj-shared/%.o: %.ads ++ $(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ ++ ++obj-shared/%.o: %.c ++ $(GCC) -c -fPIC $(CFLAGS) -I@srcdir@/../gcc $< -o $@ ++ ++obj-shared/prefix.o: @srcdir@/../gcc/prefix.c ++ $(GCC) -c -fPIC $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \ ++ -I@srcdir@/../gcc -I@srcdir@/../include -I../gcc -I../libiberty \ ++ $< -o $@ ++ ++obj-shared/%.o: @srcdir@/../libiberty/%.c ++ $(GCC) -c -fPIC $(CFLAGS) \ ++ -I@srcdir@/../libiberty -I@srcdir@/../include $< -o $@ ++ ++obj-shared: ++ -mkdir $@ ++ ++libgnatprj.a: $(addprefix obj-static/,$(OBJECTS)) ++ : # Make libgnatprj.a ++ ar rc $@ $^ ++ ranlib $@ ++ ++$(addprefix obj-static/,$(OBJECTS)): | stamp-libgnatprj-sources obj-static ++ ++obj-static/%.o: %.adb ++ $(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ ++ ++obj-static/%.o: %.ads ++ $(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ ++ ++obj-static/%.o: %.c ++ $(GCC) -c $(CFLAGS) -I@srcdir@/../gcc $< -o $@ ++ ++obj-static/prefix.o: @srcdir@/../gcc/prefix.c ++ $(GCC) -c $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \ ++ -I@srcdir@/../gcc -I@srcdir@/../include -I../gcc -I../libiberty \ ++ $< -o $@ ++ ++obj-static/%.o: @srcdir@/../libiberty/%.c ++ $(GCC) -c -fPIC $(CFLAGS) \ ++ -I@srcdir@/../libiberty -I@srcdir@/../include $< -o $@ ++ ++obj-static: ++ -mkdir $@ ++ ++$(SOURCES): stamp-libgnatprj-sources ++ ++stamp-libgnatprj-sources: ++ for file in $(PRJ_SOURCES); do \ ++ ads=$$(echo $$file | sed 's/\.adb/.ads/'); \ ++ if [ -f @srcdir@/../gcc/ada/$$file -a ! -L $$file ] ; then $(LN_S) @srcdir@/../gcc/ada/$$file .; fi; \ ++ if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) @srcdir@/../gcc/ada/$$ads .; fi; \ ++ done ++ for file in $(GENERATED_SOURCES); do \ ++ ads=$$(echo $$file | sed 's/\.adb/.ads/'); \ ++ if [ -f ../gcc/ada/$$file -a ! -L $$file ] ; then $(LN_S) ../gcc/ada/$$file .; fi; \ ++ if [ -f ../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) ../gcc/ada/$$ads .; \ ++ else \ ++ if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) @srcdir@/../gcc/ada/$$ads .; fi; \ ++ fi; \ ++ done ++ $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ ++ rm -f $(word 1,$(subst <, ,$(PAIR)));\ ++ $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \ ++ $(word 1,$(subst <, ,$(PAIR)));) ++ touch $@ ++ ++# Generate a list of source files (.ads and .adb) to install. Almost ++# all of them are in src/gcc/ada, but some are generated during build ++# and are in build/gcc/ada. ++BODIES := $(filter %.adb,$(PRJ_SOURCES)) ++SPECS := $(filter %.ads,$(PRJ_SOURCES)) $(patsubst %.adb,%.ads,$(BODIES) $(GENERATED_SOURCES)) ++SOURCES_TO_INSTALL := \ ++$(addprefix @srcdir@/../gcc/ada/,$(SPECS) $(BODIES)) \ ++$(addprefix ../gcc/ada/,$(GENERATED_SOURCES)) ++ ++install: libgnatprj ++ $(INSTALL_DATA) libgnatprj.a $(DESTDIR)$(prefix)/lib ++ $(INSTALL_DATA) libgnatprj.so.$(LIB_VERSION) $(DESTDIR)$(prefix)/lib ++ cd $(DESTDIR)$(prefix)/lib; \ ++ ln -sf libgnatprj.so.$(LIB_VERSION) libgnatprj.so ++ mkdir -p $(DESTDIR)$(prefix)/share/ada/adainclude/gnatprj ++ $(INSTALL_DATA) $(SOURCES_TO_INSTALL) \ ++ $(DESTDIR)$(prefix)/share/ada/adainclude/gnatprj ++ mkdir -p $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj ++ $(INSTALL) -m 0444 obj-shared/*.ali \ ++ $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj ++ chmod a=r $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj/*.ali ++ ++.PHONY: clean ++clean: ++ rm -rf *.ali obj-static obj-shared libgnatprj* *.adb *.ads stamp* +Index: Makefile.def +=================================================================== +--- Makefile.def.orig ++++ Makefile.def +@@ -130,6 +130,13 @@ + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++host_modules= { module= libgnatprj; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + host_modules= { module= gnattools; no_check=true; + missing= info; + missing= dvi; +@@ -175,6 +182,13 @@ + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++target_modules = { module= libgnatprj; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + target_modules = { module= libgomp; lib_path=.libs; }; + + // These are (some of) the make targets to be done in each subdirectory. +@@ -346,7 +360,10 @@ + + dependencies = { module=all-gnattools; on=all-libada; }; + dependencies = { module=all-gnattools; on=all-libgnatvsn; }; ++dependencies = { module=all-gnattools; on=all-libgnatprj; }; + dependencies = { module=all-libgnatvsn; on=all-libada; }; ++dependencies = { module=all-libgnatprj; on=all-libada; }; ++dependencies = { module=all-libgnatprj; on=all-libgnatvsn; }; + + dependencies = { module=configure-mpfr; on=all-gmp; }; + +Index: Makefile.in +=================================================================== +--- Makefile.in.orig ++++ Makefile.in +@@ -699,6 +699,7 @@ + maybe-configure-utils \ + maybe-configure-libada \ + maybe-configure-libgnatvsn \ ++ maybe-configure-libgnatprj \ + maybe-configure-gnattools + .PHONY: configure-target + configure-target: \ +@@ -723,6 +724,7 @@ + maybe-configure-target-rda \ + maybe-configure-target-libada \ + maybe-configure-target-libgnatvsn \ ++ maybe-configure-target-libgnatprj \ + maybe-configure-target-libgomp + + # The target built for a native non-bootstrap build. +@@ -852,6 +854,7 @@ + all-host: maybe-all-utils + all-host: maybe-all-libada + all-host: maybe-all-libgnatvsn ++all-host: maybe-all-libgnatprj + all-host: maybe-all-gnattools + + .PHONY: all-target +@@ -879,6 +882,7 @@ + all-target: maybe-all-target-rda + all-target: maybe-all-target-libada + all-target: maybe-all-target-libgnatvsn ++all-target: maybe-all-target-libgnatprj + all-target: maybe-all-target-libgomp + + # Do a target for all the subdirectories. A ``make do-X'' will do a +@@ -968,6 +972,7 @@ + info-host: maybe-info-utils + info-host: maybe-info-libada + info-host: maybe-info-libgnatvsn ++info-host: maybe-info-libgnatprj + info-host: maybe-info-gnattools + + .PHONY: info-target +@@ -993,6 +998,7 @@ + info-target: maybe-info-target-rda + info-target: maybe-info-target-libada + info-target: maybe-info-target-libgnatvsn ++info-target: maybe-info-target-libgnatprj + info-target: maybe-info-target-libgomp + + .PHONY: do-dvi +@@ -1077,6 +1083,7 @@ + dvi-host: maybe-dvi-utils + dvi-host: maybe-dvi-libada + dvi-host: maybe-dvi-libgnatvsn ++dvi-host: maybe-dvi-libgnatprj + dvi-host: maybe-dvi-gnattools + + .PHONY: dvi-target +@@ -1102,6 +1109,7 @@ + dvi-target: maybe-dvi-target-rda + dvi-target: maybe-dvi-target-libada + dvi-target: maybe-dvi-target-libgnatvsn ++dvi-target: maybe-dvi-target-libgnatprj + dvi-target: maybe-dvi-target-libgomp + + .PHONY: do-pdf +@@ -1186,6 +1194,7 @@ + pdf-host: maybe-pdf-utils + pdf-host: maybe-pdf-libada + pdf-host: maybe-pdf-libgnatvsn ++pdf-host: maybe-pdf-libgnatprj + pdf-host: maybe-pdf-gnattools + + .PHONY: pdf-target +@@ -1211,6 +1220,7 @@ + pdf-target: maybe-pdf-target-rda + pdf-target: maybe-pdf-target-libada + pdf-target: maybe-pdf-target-libgnatvsn ++pdf-target: maybe-pdf-target-libgnatprj + pdf-target: maybe-pdf-target-libgomp + + .PHONY: do-html +@@ -1295,6 +1305,7 @@ + html-host: maybe-html-utils + html-host: maybe-html-libada + html-host: maybe-html-libgnatvsn ++html-host: maybe-html-libgnatprj + html-host: maybe-html-gnattools + + .PHONY: html-target +@@ -1320,6 +1331,7 @@ + html-target: maybe-html-target-rda + html-target: maybe-html-target-libada + html-target: maybe-html-target-libgnatvsn ++html-target: maybe-html-target-libgnatprj + html-target: maybe-html-target-libgomp + + .PHONY: do-TAGS +@@ -1404,6 +1416,7 @@ + TAGS-host: maybe-TAGS-utils + TAGS-host: maybe-TAGS-libada + TAGS-host: maybe-TAGS-libgnatvsn ++TAGS-host: maybe-TAGS-libgnatprj + TAGS-host: maybe-TAGS-gnattools + + .PHONY: TAGS-target +@@ -1429,6 +1442,7 @@ + TAGS-target: maybe-TAGS-target-rda + TAGS-target: maybe-TAGS-target-libada + TAGS-target: maybe-TAGS-target-libgnatvsn ++TAGS-target: maybe-TAGS-target-libgnatprj + TAGS-target: maybe-TAGS-target-libgomp + + .PHONY: do-install-info +@@ -1513,6 +1527,7 @@ + install-info-host: maybe-install-info-utils + install-info-host: maybe-install-info-libada + install-info-host: maybe-install-info-libgnatvsn ++install-info-host: maybe-install-info-libgnatprj + install-info-host: maybe-install-info-gnattools + + .PHONY: install-info-target +@@ -1538,6 +1553,7 @@ + install-info-target: maybe-install-info-target-rda + install-info-target: maybe-install-info-target-libada + install-info-target: maybe-install-info-target-libgnatvsn ++install-info-target: maybe-install-info-target-libgnatprj + install-info-target: maybe-install-info-target-libgomp + + .PHONY: do-install-pdf +@@ -1622,6 +1638,7 @@ + install-pdf-host: maybe-install-pdf-utils + install-pdf-host: maybe-install-pdf-libada + install-pdf-host: maybe-install-pdf-libgnatvsn ++install-pdf-host: maybe-install-pdf-libgnatprj + install-pdf-host: maybe-install-pdf-gnattools + + .PHONY: install-pdf-target +@@ -1647,6 +1664,7 @@ + install-pdf-target: maybe-install-pdf-target-rda + install-pdf-target: maybe-install-pdf-target-libada + install-pdf-target: maybe-install-pdf-target-libgnatvsn ++install-pdf-target: maybe-install-pdf-target-libgnatprj + install-pdf-target: maybe-install-pdf-target-libgomp + + .PHONY: do-install-html +@@ -1731,6 +1749,7 @@ + install-html-host: maybe-install-html-utils + install-html-host: maybe-install-html-libada + install-html-host: maybe-install-html-libgnatvsn ++install-html-host: maybe-install-html-libgnatprj + install-html-host: maybe-install-html-gnattools + + .PHONY: install-html-target +@@ -1756,6 +1775,7 @@ + install-html-target: maybe-install-html-target-rda + install-html-target: maybe-install-html-target-libada + install-html-target: maybe-install-html-target-libgnatvsn ++install-html-target: maybe-install-html-target-libgnatprj + install-html-target: maybe-install-html-target-libgomp + + .PHONY: do-installcheck +@@ -1840,6 +1860,7 @@ + installcheck-host: maybe-installcheck-utils + installcheck-host: maybe-installcheck-libada + installcheck-host: maybe-installcheck-libgnatvsn ++installcheck-host: maybe-installcheck-libgnatprj + installcheck-host: maybe-installcheck-gnattools + + .PHONY: installcheck-target +@@ -1865,6 +1886,7 @@ + installcheck-target: maybe-installcheck-target-rda + installcheck-target: maybe-installcheck-target-libada + installcheck-target: maybe-installcheck-target-libgnatvsn ++installcheck-target: maybe-installcheck-target-libgnatprj + installcheck-target: maybe-installcheck-target-libgomp + + .PHONY: do-mostlyclean +@@ -1949,6 +1971,7 @@ + mostlyclean-host: maybe-mostlyclean-utils + mostlyclean-host: maybe-mostlyclean-libada + mostlyclean-host: maybe-mostlyclean-libgnatvsn ++mostlyclean-host: maybe-mostlyclean-libgnatprj + mostlyclean-host: maybe-mostlyclean-gnattools + + .PHONY: mostlyclean-target +@@ -1974,6 +1997,7 @@ + mostlyclean-target: maybe-mostlyclean-target-rda + mostlyclean-target: maybe-mostlyclean-target-libada + mostlyclean-target: maybe-mostlyclean-target-libgnatvsn ++mostlyclean-target: maybe-mostlyclean-target-libgnatprj + mostlyclean-target: maybe-mostlyclean-target-libgomp + + .PHONY: do-clean +@@ -2058,6 +2082,7 @@ + clean-host: maybe-clean-utils + clean-host: maybe-clean-libada + clean-host: maybe-clean-libgnatvsn ++clean-host: maybe-clean-libgnatprj + clean-host: maybe-clean-gnattools + + .PHONY: clean-target +@@ -2083,6 +2108,7 @@ + clean-target: maybe-clean-target-rda + clean-target: maybe-clean-target-libada + clean-target: maybe-clean-target-libgnatvsn ++clean-target: maybe-clean-target-libgnatprj + clean-target: maybe-clean-target-libgomp + + .PHONY: do-distclean +@@ -2167,6 +2193,7 @@ + distclean-host: maybe-distclean-utils + distclean-host: maybe-distclean-libada + distclean-host: maybe-distclean-libgnatvsn ++distclean-host: maybe-distclean-libgnatprj + distclean-host: maybe-distclean-gnattools + + .PHONY: distclean-target +@@ -2192,6 +2219,7 @@ + distclean-target: maybe-distclean-target-rda + distclean-target: maybe-distclean-target-libada + distclean-target: maybe-distclean-target-libgnatvsn ++distclean-target: maybe-distclean-target-libgnatprj + distclean-target: maybe-distclean-target-libgomp + + .PHONY: do-maintainer-clean +@@ -2276,6 +2304,7 @@ + maintainer-clean-host: maybe-maintainer-clean-utils + maintainer-clean-host: maybe-maintainer-clean-libada + maintainer-clean-host: maybe-maintainer-clean-libgnatvsn ++maintainer-clean-host: maybe-maintainer-clean-libgnatprj + maintainer-clean-host: maybe-maintainer-clean-gnattools + + .PHONY: maintainer-clean-target +@@ -2301,6 +2330,7 @@ + maintainer-clean-target: maybe-maintainer-clean-target-rda + maintainer-clean-target: maybe-maintainer-clean-target-libada + maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn ++maintainer-clean-target: maybe-maintainer-clean-target-libgnatprj + maintainer-clean-target: maybe-maintainer-clean-target-libgomp + + +@@ -2439,6 +2469,7 @@ + maybe-check-utils \ + maybe-check-libada \ + maybe-check-libgnatvsn \ ++ maybe-check-libgnatprj \ + maybe-check-gnattools + + .PHONY: check-target +@@ -2464,6 +2495,7 @@ + maybe-check-target-rda \ + maybe-check-target-libada \ + maybe-check-target-libgnatvsn \ ++ maybe-check-target-libgnatprj \ + maybe-check-target-libgomp + + do-check: +@@ -2574,6 +2606,7 @@ + maybe-install-utils \ + maybe-install-libada \ + maybe-install-libgnatvsn \ ++ maybe-install-libgnatprj \ + maybe-install-gnattools + + .PHONY: install-host +@@ -2649,6 +2682,7 @@ + maybe-install-utils \ + maybe-install-libada \ + maybe-install-libgnatvsn \ ++ maybe-install-libgnatprj \ + maybe-install-gnattools + + .PHONY: install-target +@@ -2674,6 +2708,7 @@ + maybe-install-target-rda \ + maybe-install-target-libada \ + maybe-install-target-libgnatvsn \ ++ maybe-install-target-libgnatprj \ + maybe-install-target-libgomp + + uninstall: +@@ -39562,6 +39597,327 @@ + + + ++.PHONY: configure-libgnatprj maybe-configure-libgnatprj ++maybe-configure-libgnatprj: ++@if gcc-bootstrap ++configure-libgnatprj: stage_current ++@endif gcc-bootstrap ++@if libgnatprj ++maybe-configure-libgnatprj: configure-libgnatprj ++configure-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ test ! -f $(HOST_SUBDIR)/libgnatprj/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgnatprj ; \ ++ $(HOST_EXPORTS) \ ++ echo Configuring in $(HOST_SUBDIR)/libgnatprj; \ ++ cd "$(HOST_SUBDIR)/libgnatprj" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(HOST_SUBDIR)/libgnatprj/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ srcdiroption="--srcdir=$${topdir}/libgnatprj"; \ ++ libsrcdir="$$s/libgnatprj"; \ ++ $(SHELL) $${libsrcdir}/configure \ ++ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ ++ --target=${target_alias} $${srcdiroption} \ ++ || exit 1 ++@endif libgnatprj ++ ++ ++ ++ ++ ++.PHONY: all-libgnatprj maybe-all-libgnatprj ++maybe-all-libgnatprj: ++@if gcc-bootstrap ++all-libgnatprj: stage_current ++@endif gcc-bootstrap ++@if libgnatprj ++TARGET-libgnatprj=all ++maybe-all-libgnatprj: all-libgnatprj ++all-libgnatprj: configure-libgnatprj ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libgnatprj)) ++@endif libgnatprj ++ ++ ++ ++ ++.PHONY: check-libgnatprj maybe-check-libgnatprj ++maybe-check-libgnatprj: ++@if libgnatprj ++maybe-check-libgnatprj: check-libgnatprj ++ ++check-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: install-libgnatprj maybe-install-libgnatprj ++maybe-install-libgnatprj: ++@if libgnatprj ++maybe-install-libgnatprj: install-libgnatprj ++ ++install-libgnatprj: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(FLAGS_TO_PASS) install) ++ ++@endif libgnatprj ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-libgnatprj info-libgnatprj ++maybe-info-libgnatprj: ++@if libgnatprj ++maybe-info-libgnatprj: info-libgnatprj ++ ++# libgnatprj doesn't support info. ++info-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: maybe-dvi-libgnatprj dvi-libgnatprj ++maybe-dvi-libgnatprj: ++@if libgnatprj ++maybe-dvi-libgnatprj: dvi-libgnatprj ++ ++# libgnatprj doesn't support dvi. ++dvi-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: maybe-pdf-libgnatprj pdf-libgnatprj ++maybe-pdf-libgnatprj: ++@if libgnatprj ++maybe-pdf-libgnatprj: pdf-libgnatprj ++ ++pdf-libgnatprj: \ ++ configure-libgnatprj ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing pdf in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++.PHONY: maybe-html-libgnatprj html-libgnatprj ++maybe-html-libgnatprj: ++@if libgnatprj ++maybe-html-libgnatprj: html-libgnatprj ++ ++# libgnatprj doesn't support html. ++html-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: maybe-TAGS-libgnatprj TAGS-libgnatprj ++maybe-TAGS-libgnatprj: ++@if libgnatprj ++maybe-TAGS-libgnatprj: TAGS-libgnatprj ++ ++# libgnatprj doesn't support TAGS. ++TAGS-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: maybe-install-info-libgnatprj install-info-libgnatprj ++maybe-install-info-libgnatprj: ++@if libgnatprj ++maybe-install-info-libgnatprj: install-info-libgnatprj ++ ++# libgnatprj doesn't support install-info. ++install-info-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: maybe-install-pdf-libgnatprj install-pdf-libgnatprj ++maybe-install-pdf-libgnatprj: ++@if libgnatprj ++maybe-install-pdf-libgnatprj: install-pdf-libgnatprj ++ ++install-pdf-libgnatprj: \ ++ configure-libgnatprj \ ++ pdf-libgnatprj ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing install-pdf in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-pdf) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++.PHONY: maybe-install-html-libgnatprj install-html-libgnatprj ++maybe-install-html-libgnatprj: ++@if libgnatprj ++maybe-install-html-libgnatprj: install-html-libgnatprj ++ ++install-html-libgnatprj: \ ++ configure-libgnatprj \ ++ html-libgnatprj ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing install-html in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-html) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++.PHONY: maybe-installcheck-libgnatprj installcheck-libgnatprj ++maybe-installcheck-libgnatprj: ++@if libgnatprj ++maybe-installcheck-libgnatprj: installcheck-libgnatprj ++ ++# libgnatprj doesn't support installcheck. ++installcheck-libgnatprj: ++ ++@endif libgnatprj ++ ++.PHONY: maybe-mostlyclean-libgnatprj mostlyclean-libgnatprj ++maybe-mostlyclean-libgnatprj: ++@if libgnatprj ++maybe-mostlyclean-libgnatprj: mostlyclean-libgnatprj ++ ++mostlyclean-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing mostlyclean in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++.PHONY: maybe-clean-libgnatprj clean-libgnatprj ++maybe-clean-libgnatprj: ++@if libgnatprj ++maybe-clean-libgnatprj: clean-libgnatprj ++ ++clean-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing clean in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++.PHONY: maybe-distclean-libgnatprj distclean-libgnatprj ++maybe-distclean-libgnatprj: ++@if libgnatprj ++maybe-distclean-libgnatprj: distclean-libgnatprj ++ ++distclean-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing distclean in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++.PHONY: maybe-maintainer-clean-libgnatprj maintainer-clean-libgnatprj ++maybe-maintainer-clean-libgnatprj: ++@if libgnatprj ++maybe-maintainer-clean-libgnatprj: maintainer-clean-libgnatprj ++ ++maintainer-clean-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatprj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing maintainer-clean in libgnatprj" ; \ ++ (cd $(HOST_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++@endif libgnatprj ++ ++ ++ + .PHONY: configure-gnattools maybe-configure-gnattools + maybe-configure-gnattools: + @if gcc-bootstrap +@@ -49480,6 +49836,345 @@ + + + ++.PHONY: configure-target-libgnatprj maybe-configure-target-libgnatprj ++maybe-configure-target-libgnatprj: ++@if gcc-bootstrap ++configure-target-libgnatprj: stage_current ++@endif gcc-bootstrap ++@if target-libgnatprj ++maybe-configure-target-libgnatprj: configure-target-libgnatprj ++configure-target-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ echo "Checking multilib configuration for libgnatprj..."; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatprj ; \ ++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatprj/multilib.tmp 2> /dev/null ; \ ++ if test -r $(TARGET_SUBDIR)/libgnatprj/multilib.out; then \ ++ if cmp -s $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; then \ ++ rm -f $(TARGET_SUBDIR)/libgnatprj/multilib.tmp; \ ++ else \ ++ rm -f $(TARGET_SUBDIR)/libgnatprj/Makefile; \ ++ mv $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; \ ++ fi; \ ++ else \ ++ mv $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; \ ++ fi; \ ++ test ! -f $(TARGET_SUBDIR)/libgnatprj/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatprj ; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo Configuring in $(TARGET_SUBDIR)/libgnatprj; \ ++ cd "$(TARGET_SUBDIR)/libgnatprj" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(TARGET_SUBDIR)/libgnatprj/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ srcdiroption="--srcdir=$${topdir}/libgnatprj"; \ ++ libsrcdir="$$s/libgnatprj"; \ ++ rm -f no-such-file || : ; \ ++ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ ++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ ++ --target=${target_alias} $${srcdiroption} \ ++ || exit 1 ++@endif target-libgnatprj ++ ++ ++ ++ ++ ++.PHONY: all-target-libgnatprj maybe-all-target-libgnatprj ++maybe-all-target-libgnatprj: ++@if gcc-bootstrap ++all-target-libgnatprj: stage_current ++@endif gcc-bootstrap ++@if target-libgnatprj ++TARGET-target-libgnatprj=all ++maybe-all-target-libgnatprj: all-target-libgnatprj ++all-target-libgnatprj: configure-target-libgnatprj ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgnatprj)) ++@endif target-libgnatprj ++ ++ ++ ++ ++ ++.PHONY: check-target-libgnatprj maybe-check-target-libgnatprj ++maybe-check-target-libgnatprj: ++@if target-libgnatprj ++maybe-check-target-libgnatprj: check-target-libgnatprj ++ ++# Dummy target for uncheckable module. ++check-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: install-target-libgnatprj maybe-install-target-libgnatprj ++maybe-install-target-libgnatprj: ++@if target-libgnatprj ++maybe-install-target-libgnatprj: install-target-libgnatprj ++ ++install-target-libgnatprj: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++ ++@endif target-libgnatprj ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-target-libgnatprj info-target-libgnatprj ++maybe-info-target-libgnatprj: ++@if target-libgnatprj ++maybe-info-target-libgnatprj: info-target-libgnatprj ++ ++# libgnatprj doesn't support info. ++info-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-dvi-target-libgnatprj dvi-target-libgnatprj ++maybe-dvi-target-libgnatprj: ++@if target-libgnatprj ++maybe-dvi-target-libgnatprj: dvi-target-libgnatprj ++ ++# libgnatprj doesn't support dvi. ++dvi-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-pdf-target-libgnatprj pdf-target-libgnatprj ++maybe-pdf-target-libgnatprj: ++@if target-libgnatprj ++maybe-pdf-target-libgnatprj: pdf-target-libgnatprj ++ ++pdf-target-libgnatprj: \ ++ configure-target-libgnatprj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing pdf in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-html-target-libgnatprj html-target-libgnatprj ++maybe-html-target-libgnatprj: ++@if target-libgnatprj ++maybe-html-target-libgnatprj: html-target-libgnatprj ++ ++# libgnatprj doesn't support html. ++html-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-TAGS-target-libgnatprj TAGS-target-libgnatprj ++maybe-TAGS-target-libgnatprj: ++@if target-libgnatprj ++maybe-TAGS-target-libgnatprj: TAGS-target-libgnatprj ++ ++# libgnatprj doesn't support TAGS. ++TAGS-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-install-info-target-libgnatprj install-info-target-libgnatprj ++maybe-install-info-target-libgnatprj: ++@if target-libgnatprj ++maybe-install-info-target-libgnatprj: install-info-target-libgnatprj ++ ++# libgnatprj doesn't support install-info. ++install-info-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-install-pdf-target-libgnatprj install-pdf-target-libgnatprj ++maybe-install-pdf-target-libgnatprj: ++@if target-libgnatprj ++maybe-install-pdf-target-libgnatprj: install-pdf-target-libgnatprj ++ ++install-pdf-target-libgnatprj: \ ++ configure-target-libgnatprj \ ++ pdf-target-libgnatprj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-pdf) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-install-html-target-libgnatprj install-html-target-libgnatprj ++maybe-install-html-target-libgnatprj: ++@if target-libgnatprj ++maybe-install-html-target-libgnatprj: install-html-target-libgnatprj ++ ++install-html-target-libgnatprj: \ ++ configure-target-libgnatprj \ ++ html-target-libgnatprj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-html in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-html) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-installcheck-target-libgnatprj installcheck-target-libgnatprj ++maybe-installcheck-target-libgnatprj: ++@if target-libgnatprj ++maybe-installcheck-target-libgnatprj: installcheck-target-libgnatprj ++ ++# libgnatprj doesn't support installcheck. ++installcheck-target-libgnatprj: ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-mostlyclean-target-libgnatprj mostlyclean-target-libgnatprj ++maybe-mostlyclean-target-libgnatprj: ++@if target-libgnatprj ++maybe-mostlyclean-target-libgnatprj: mostlyclean-target-libgnatprj ++ ++mostlyclean-target-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-clean-target-libgnatprj clean-target-libgnatprj ++maybe-clean-target-libgnatprj: ++@if target-libgnatprj ++maybe-clean-target-libgnatprj: clean-target-libgnatprj ++ ++clean-target-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-distclean-target-libgnatprj distclean-target-libgnatprj ++maybe-distclean-target-libgnatprj: ++@if target-libgnatprj ++maybe-distclean-target-libgnatprj: distclean-target-libgnatprj ++ ++distclean-target-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++.PHONY: maybe-maintainer-clean-target-libgnatprj maintainer-clean-target-libgnatprj ++maybe-maintainer-clean-target-libgnatprj: ++@if target-libgnatprj ++maybe-maintainer-clean-target-libgnatprj: maintainer-clean-target-libgnatprj ++ ++maintainer-clean-target-libgnatprj: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatprj" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatprj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++@endif target-libgnatprj ++ ++ ++ ++ ++ + .PHONY: configure-target-libgomp maybe-configure-target-libgomp + maybe-configure-target-libgomp: + @if gcc-bootstrap +@@ -52030,6 +52725,7 @@ + configure-target-rda: stage_last + configure-target-libada: stage_last + configure-target-libgnatvsn: stage_last ++configure-target-libgnatprj: stage_last + configure-target-libgomp: stage_last + @endif gcc-bootstrap + +@@ -52055,6 +52751,7 @@ + configure-target-rda: maybe-all-gcc + configure-target-libada: maybe-all-gcc + configure-target-libgnatvsn: maybe-all-gcc ++configure-target-libgnatprj: maybe-all-gcc + configure-target-libgomp: maybe-all-gcc + @endif gcc-no-bootstrap + +@@ -52310,7 +53007,10 @@ + all-fixincludes: maybe-all-libiberty + all-gnattools: maybe-all-libada + all-gnattools: maybe-all-libgnatvsn ++all-gnattools: maybe-all-libgnatprj + all-libgnatvsn: maybe-all-libada ++all-libgnatprj: maybe-all-libada ++all-libgnatprj: maybe-all-libgnatvsn + configure-mpfr: maybe-all-gmp + + configure-stage1-mpfr: maybe-all-stage1-gmp +@@ -52749,6 +53449,7 @@ + configure-target-rda: maybe-all-target-libgcc + configure-target-libada: maybe-all-target-libgcc + configure-target-libgnatvsn: maybe-all-target-libgcc ++configure-target-libgnatprj: maybe-all-target-libgcc + configure-target-libgomp: maybe-all-target-libgcc + @endif gcc-no-bootstrap + +@@ -52793,6 +53494,8 @@ + + configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss + ++configure-target-libgnatprj: maybe-all-target-newlib maybe-all-target-libgloss ++ + configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss + + +Index: configure.ac +=================================================================== +--- configure.ac.orig ++++ configure.ac +@@ -155,7 +155,7 @@ + + # these libraries are used by various programs built for the host environment + # +-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada libgnatvsn" ++host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada libgnatvsn libgnatprj" + + # these tools are built for the host environment + # Note, the powerpc-eabi build depends on sim occurring before gdb in order to +@@ -186,7 +186,8 @@ + ${libgcj} \ + target-libobjc \ + target-libada \ +- target-libgnatvsn" ++ target-libgnatvsn \ ++ target-libgnatprj" + + # these tools are built using the target libraries, and are intended to + # run only in the target environment +@@ -264,7 +265,7 @@ + + # Similarly, some are only suitable for cross toolchains. + # Remove these if host=target. +-cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn" ++cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn target-libgnatprj" + + case $is_cross_compiler in + no) skipdirs="${skipdirs} ${cross_only}" ;; +@@ -341,7 +342,7 @@ + ENABLE_LIBADA=$enableval, + ENABLE_LIBADA=yes) + if test "${ENABLE_LIBADA}" != "yes" ; then +- noconfigdirs="$noconfigdirs libgnatvsn gnattools" ++ noconfigdirs="$noconfigdirs libgnatvsn libgnatprj gnattools" + fi + + AC_ARG_ENABLE(libssp, +Index: libgnatprj/configure.ac +=================================================================== +--- /dev/null ++++ libgnatprj/configure.ac +@@ -0,0 +1,147 @@ ++# Configure script for libada. ++# Copyright 2003, 2004 Free Software Foundation, Inc. ++# ++# 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 of the License, 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, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++AC_INIT ++AC_PREREQ([2.59]) ++ ++AC_CONFIG_SRCDIR([Makefile.in]) ++ ++# Start of actual configure tests ++ ++AC_PROG_INSTALL ++ ++AC_CANONICAL_BUILD ++AC_CANONICAL_HOST ++AC_CANONICAL_TARGET ++ ++sinclude(../config/acx.m4) ++ACX_NONCANONICAL_TARGET ++ ++# Need to pass this down for now :-P ++AC_PROG_LN_S ++ ++# Determine x_ada_cflags ++case $host in ++ hppa*) x_ada_cflags=-mdisable-indexing ;; ++ *) x_ada_cflags= ;; ++esac ++AC_SUBST([x_ada_cflags]) ++ ++# Determine what to build for 'gnattools' ++if test $build = $target ; then ++ # Note that build=target is almost certainly the wrong test; FIXME ++ default_gnattools_target="gnattools-native" ++else ++ default_gnattools_target="gnattools-cross" ++fi ++AC_SUBST([default_gnattools_target]) ++ ++# Target-specific stuff (defaults) ++TOOLS_TARGET_PAIRS= ++AC_SUBST(TOOLS_TARGET_PAIRS) ++ ++# Per-target case statement ++# ------------------------- ++case "${target}" in ++ alpha*-dec-vx*) # Unlike all other Vxworks ++ ;; ++ m68k*-wrs-vx* \ ++ | powerpc*-wrs-vxworks \ ++ | sparc*-wrs-vx* \ ++ | *86-wrs-vxworks \ ++ | xscale*-wrs-vx* \ ++ | xscale*-wrs-coff \ ++ | mips*-wrs-vx*) ++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + set -x + uudecode class-files.tar.bz2.uue + tar -xv -f class-files.tar.bz2 -C $dir + rm -f class-files.tar.bz2 + ;; + -unpatch) + echo "cannot undo patch $(basename $0)" + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +#! /bin/sh + +dir=gcc-4_3-branch +tag=gcc_4_3_1_release +branch=gcc-4_3-branch + +tmplist=files$$ + +svn diff --summarize \ + svn://gcc.gnu.org/svn/gcc/tags/$tag \ + svn://gcc.gnu.org/svn/gcc/branches/$branch \ + | grep '\.class$' > $tmplist + +sed -n '/^[AM].*\.class$/s,.*/'$tag'/\(.*\),\1,p' $tmplist \ + > neworchanged.list +sed -n '/^[D].*\.class$/s,.*/'$tag'/\(.*\),\1,p' $tmplist \ + > removed.list +sed -n '/^[^ADM].*\.class$/s,.*/'$tag'/\(.*\),\1,p' $tmplist \ + > unknown.list + +echo "new or changed: $(wc -l neworchanged.list | cut '-d ' -f1), removed $(wc -l removed.list | cut '-d ' -f1): , unknown: $(wc -l unknown.list | cut '-d ' -f1)" +tar -c -j -f class-files.tar.bz2 -C $dir -T neworchanged.list +uuencode class-files.tar.bz2 class-files.tar.bz2 > class-files.tar.bz2.uue + +rm -f $tmplist neworchanged.list removed.list unknown.list + --- gcc-4.3-4.3.4.orig/debian/patches/pr22255.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr22255.dpatch @@ -0,0 +1,95 @@ +#! /bin/sh -e + +# DP: PR ada/22255: Reset on shared file causes Use_Error. + +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 && autoconf2.59 + ;; + -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 + +gcc/ada/ + +From: sam + +PR ada/22255 + * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed. + + gcc/testsuite/ + PR ada/22255 + * gnat.dg/test_direct_io.adb: New file. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132708 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/s-fileio.adb | 16 +++++++++------- + gcc/testsuite/gnat.dg/test_direct_io.adb | 15 +++++++++++++++ + 2 files changed, 24 insertions(+), 7 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/test_direct_io.adb + + +diff --git a/gcc/ada/s-fileio.adb b/gcc/ada/s-fileio.adb +index a56877e..4a8393c 100644 +--- a/gcc/ada/s-fileio.adb ++++ b/gcc/ada/s-fileio.adb +@@ -1074,13 +1074,15 @@ package body System.File_IO is + begin + Check_File_Open (File); + +- -- Change of mode not allowed for shared file or file with no name +- -- or file that is not a regular file, or for a system file. +- +- if File.Shared_Status = Yes +- or else File.Name'Length <= 1 +- or else File.Is_System_File +- or else not File.Is_Regular_File ++ -- Change of mode not allowed for shared file or file with no name or ++ -- file that is not a regular file, or for a system file. Note that we ++ -- allow the "change" of mode if it is not in fact doing a change. ++ ++ if Mode /= File.Mode ++ and then (File.Shared_Status = Yes ++ or else File.Name'Length <= 1 ++ or else File.Is_System_File ++ or else not File.Is_Regular_File) + then + raise Use_Error; + +diff --git a/gcc/testsuite/gnat.dg/test_direct_io.adb b/gcc/testsuite/gnat.dg/test_direct_io.adb +new file mode 100644 +index 0000000..0eb8aa2 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/test_direct_io.adb +@@ -0,0 +1,15 @@ ++-- { dg-do run } ++with Ada.Direct_IO; ++ ++procedure Test_Direct_IO is ++ ++ package BDIO is new Ada.Direct_IO (Boolean); ++ use BDIO; ++ ++ FD : File_Type; ++ ++begin ++ Create (FD, Form => "shared=yes"); ++ Reset (FD); ++ Close (FD); ++end Test_Direct_IO; --- gcc-4.3-4.3.4.orig/debian/patches/armel-atomic-builtins.dpatch +++ gcc-4.3-4.3.4/debian/patches/armel-atomic-builtins.dpatch @@ -0,0 +1,350 @@ +#! /bin/sh -e + +# DP: Atomic builtins using kernel helpers for ARM Linux/EABI. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +This patch implements the atomic builtins described at: + + http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Atomic-Builtins.html + +for ARM EABI Linux. This implementation uses the kernel helpers +__kernel_cmpxchg and __kernel_dmb, and so should work on any +architecture which supports those. (More-efficient versions are possible +using ldrex/strex on architectures >=v6, but those are not written yet.) + +Atomic operations are provided for data sizes of 1, 2 and 4 bytes (but +not 8 bytes). The implementation uses actual functions +(__sync_fetch_and_add_2, etc.) rather than expanding code inline. + +Tested with cross to arm-none-linux-gnueabi, and with some additional +hand-written tests which hopefully exercised the atomicity of the +operations sufficiently. + +OK for mainline? + +Julian + +ChangeLog + + gcc/ + * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add + config/arm/linux-atomic.c. + * config/arm/linux-atomic.c: New. + +Index: gcc/config/arm/linux-atomic.c +=================================================================== +--- gcc/config/arm/linux-atomic.c (revision 0) ++++ gcc/config/arm/linux-atomic.c (revision 0) +@@ -0,0 +1,280 @@ ++/* Linux-specific atomic operations for ARM EABI. ++ Copyright (C) 2008 Free Software Foundation, Inc. ++ Contributed by CodeSourcery. ++ ++This file is part of GCC. ++ ++GCC 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 into combinations with other programs, ++and to distribute those combinations 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 a combine ++executable.) ++ ++GCC 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 GCC; see the file COPYING. If not, write to the Free ++Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ++02110-1301, USA. */ ++ ++/* Kernel helper for compare-and-exchange. */ ++typedef int (__kernel_cmpxchg_t) (int oldval, int newval, int *ptr); ++#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0) ++ ++/* Kernel helper for memory barrier. */ ++typedef void (__kernel_dmb_t) (void); ++#define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0) ++ ++/* Note: we implement byte, short and int versions of atomic operations using ++ the above kernel helpers, but there is no support for "long long" (64-bit) ++ operations as yet. */ ++ ++#define HIDDEN __attribute__ ((visibility ("hidden"))) ++ ++#ifdef __ARMEL__ ++#define INVERT_MASK_1 0 ++#define INVERT_MASK_2 0 ++#else ++#define INVERT_MASK_1 24 ++#define INVERT_MASK_2 16 ++#endif ++ ++#define MASK_1 0xffu ++#define MASK_2 0xffffu ++ ++#define FETCH_AND_OP_WORD(OP, PFX_OP, INF_OP) \ ++ int HIDDEN \ ++ __sync_fetch_and_##OP##_4 (int *ptr, int val) \ ++ { \ ++ int failure, tmp; \ ++ \ ++ do { \ ++ tmp = *ptr; \ ++ failure = __kernel_cmpxchg (tmp, PFX_OP tmp INF_OP val, ptr); \ ++ } while (failure != 0); \ ++ \ ++ return tmp; \ ++ } ++ ++FETCH_AND_OP_WORD (add, , +) ++FETCH_AND_OP_WORD (sub, , -) ++FETCH_AND_OP_WORD (or, , |) ++FETCH_AND_OP_WORD (and, , &) ++FETCH_AND_OP_WORD (xor, , ^) ++FETCH_AND_OP_WORD (nand, ~, &) ++ ++#define NAME_oldval(OP, WIDTH) __sync_fetch_and_##OP##_##WIDTH ++#define NAME_newval(OP, WIDTH) __sync_##OP##_and_fetch_##WIDTH ++ ++/* Implement both __sync__and_fetch and __sync_fetch_and_ for ++ subword-sized quantities. */ ++ ++#define SUBWORD_SYNC_OP(OP, PFX_OP, INF_OP, TYPE, WIDTH, RETURN) \ ++ TYPE HIDDEN \ ++ NAME##_##RETURN (OP, WIDTH) (TYPE *ptr, TYPE val) \ ++ { \ ++ int *wordptr = (int *) ((unsigned int) ptr & ~3); \ ++ unsigned int mask, shift, oldval, newval; \ ++ int failure; \ ++ \ ++ shift = (((unsigned int) ptr & 3) << 3) ^ INVERT_MASK_##WIDTH; \ ++ mask = MASK_##WIDTH << shift; \ ++ \ ++ do { \ ++ oldval = *wordptr; \ ++ newval = ((PFX_OP ((oldval & mask) >> shift) \ ++ INF_OP (unsigned int) val) << shift) & mask; \ ++ newval |= oldval & ~mask; \ ++ failure = __kernel_cmpxchg (oldval, newval, wordptr); \ ++ } while (failure != 0); \ ++ \ ++ return (RETURN & mask) >> shift; \ ++ } ++ ++SUBWORD_SYNC_OP (add, , +, short, 2, oldval) ++SUBWORD_SYNC_OP (sub, , -, short, 2, oldval) ++SUBWORD_SYNC_OP (or, , |, short, 2, oldval) ++SUBWORD_SYNC_OP (and, , &, short, 2, oldval) ++SUBWORD_SYNC_OP (xor, , ^, short, 2, oldval) ++SUBWORD_SYNC_OP (nand, ~, &, short, 2, oldval) ++ ++SUBWORD_SYNC_OP (add, , +, char, 1, oldval) ++SUBWORD_SYNC_OP (sub, , -, char, 1, oldval) ++SUBWORD_SYNC_OP (or, , |, char, 1, oldval) ++SUBWORD_SYNC_OP (and, , &, char, 1, oldval) ++SUBWORD_SYNC_OP (xor, , ^, char, 1, oldval) ++SUBWORD_SYNC_OP (nand, ~, &, char, 1, oldval) ++ ++#define OP_AND_FETCH_WORD(OP, PFX_OP, INF_OP) \ ++ int HIDDEN \ ++ __sync_##OP##_and_fetch_4 (int *ptr, int val) \ ++ { \ ++ int tmp, failure; \ ++ \ ++ do { \ ++ tmp = *ptr; \ ++ failure = __kernel_cmpxchg (tmp, PFX_OP tmp INF_OP val, ptr); \ ++ } while (failure != 0); \ ++ \ ++ return PFX_OP tmp INF_OP val; \ ++ } ++ ++OP_AND_FETCH_WORD (add, , +) ++OP_AND_FETCH_WORD (sub, , -) ++OP_AND_FETCH_WORD (or, , |) ++OP_AND_FETCH_WORD (and, , &) ++OP_AND_FETCH_WORD (xor, , ^) ++OP_AND_FETCH_WORD (nand, ~, &) ++ ++SUBWORD_SYNC_OP (add, , +, short, 2, newval) ++SUBWORD_SYNC_OP (sub, , -, short, 2, newval) ++SUBWORD_SYNC_OP (or, , |, short, 2, newval) ++SUBWORD_SYNC_OP (and, , &, short, 2, newval) ++SUBWORD_SYNC_OP (xor, , ^, short, 2, newval) ++SUBWORD_SYNC_OP (nand, ~, &, short, 2, newval) ++ ++SUBWORD_SYNC_OP (add, , +, char, 1, newval) ++SUBWORD_SYNC_OP (sub, , -, char, 1, newval) ++SUBWORD_SYNC_OP (or, , |, char, 1, newval) ++SUBWORD_SYNC_OP (and, , &, char, 1, newval) ++SUBWORD_SYNC_OP (xor, , ^, char, 1, newval) ++SUBWORD_SYNC_OP (nand, ~, &, char, 1, newval) ++ ++int HIDDEN ++__sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval) ++{ ++ int actual_oldval, fail; ++ ++ while (1) ++ { ++ actual_oldval = *ptr; ++ ++ if (oldval != actual_oldval) ++ return actual_oldval; ++ ++ fail = __kernel_cmpxchg (actual_oldval, newval, ptr); ++ ++ if (!fail) ++ return oldval; ++ } ++} ++ ++#define SUBWORD_VAL_CAS(TYPE, WIDTH) \ ++ TYPE HIDDEN \ ++ __sync_val_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \ ++ TYPE newval) \ ++ { \ ++ int *wordptr = (int *)((unsigned int) ptr & ~3), fail; \ ++ unsigned int mask, shift, actual_oldval, actual_newval; \ ++ \ ++ shift = (((unsigned int) ptr & 3) << 3) ^ INVERT_MASK_##WIDTH; \ ++ mask = MASK_##WIDTH << shift; \ ++ \ ++ while (1) \ ++ { \ ++ actual_oldval = *wordptr; \ ++ \ ++ if (((actual_oldval & mask) >> shift) != (unsigned int) oldval) \ ++ return (actual_oldval & mask) >> shift; \ ++ \ ++ actual_newval = (actual_oldval & ~mask) \ ++ | (((unsigned int) newval << shift) & mask); \ ++ \ ++ fail = __kernel_cmpxchg (actual_oldval, actual_newval, \ ++ wordptr); \ ++ \ ++ if (!fail) \ ++ return oldval; \ ++ } \ ++ } ++ ++SUBWORD_VAL_CAS (short, 2) ++SUBWORD_VAL_CAS (char, 1) ++ ++typedef unsigned char bool; ++ ++bool HIDDEN ++__sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval) ++{ ++ int failure = __kernel_cmpxchg (oldval, newval, ptr); ++ return (failure == 0); ++} ++ ++#define SUBWORD_BOOL_CAS(TYPE, WIDTH) \ ++ bool HIDDEN \ ++ __sync_bool_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \ ++ TYPE newval) \ ++ { \ ++ TYPE actual_oldval \ ++ = __sync_val_compare_and_swap_##WIDTH (ptr, oldval, newval); \ ++ return (oldval == actual_oldval); \ ++ } ++ ++SUBWORD_BOOL_CAS (short, 2) ++SUBWORD_BOOL_CAS (char, 1) ++ ++void HIDDEN ++__sync_synchronize (void) ++{ ++ __kernel_dmb (); ++} ++ ++int HIDDEN ++__sync_lock_test_and_set_4 (int *ptr, int val) ++{ ++ int failure, oldval; ++ ++ do { ++ oldval = *ptr; ++ failure = __kernel_cmpxchg (oldval, val, ptr); ++ } while (failure != 0); ++ ++ return oldval; ++} ++ ++#define SUBWORD_TEST_AND_SET(TYPE, WIDTH) \ ++ TYPE HIDDEN \ ++ __sync_lock_test_and_set_##WIDTH (TYPE *ptr, TYPE val) \ ++ { \ ++ int failure; \ ++ unsigned int oldval, newval, shift, mask; \ ++ int *wordptr = (int *) ((unsigned int) ptr & ~3); \ ++ \ ++ shift = (((unsigned int) ptr & 3) << 3) ^ INVERT_MASK_##WIDTH; \ ++ mask = MASK_##WIDTH << shift; \ ++ \ ++ do { \ ++ oldval = *wordptr; \ ++ newval = (oldval & ~mask) \ ++ | (((unsigned int) val << shift) & mask); \ ++ failure = __kernel_cmpxchg (oldval, newval, wordptr); \ ++ } while (failure != 0); \ ++ \ ++ return (oldval & mask) >> shift; \ ++ } ++ ++SUBWORD_TEST_AND_SET (short, 2) ++SUBWORD_TEST_AND_SET (char, 1) ++ ++#define SYNC_LOCK_RELEASE(TYPE, WIDTH) \ ++ void HIDDEN \ ++ __sync_lock_release_##WIDTH (TYPE *ptr) \ ++ { \ ++ *ptr = 0; \ ++ __kernel_dmb (); \ ++ } ++ ++SYNC_LOCK_RELEASE (int, 4) ++SYNC_LOCK_RELEASE (short, 2) ++SYNC_LOCK_RELEASE (char, 1) +Index: gcc/config/arm/t-linux-eabi +=================================================================== +--- gcc/config/arm/t-linux-eabi (revision 136167) ++++ gcc/config/arm/t-linux-eabi (working copy) +@@ -12,3 +12,5 @@ LIB1ASMFUNCS := $(filter-out _dvmd_tls,$ + # Multilib the standard Linux files. Don't include crti.o or crtn.o, + # which are provided by glibc. + EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ++ ++LIB2FUNCS_STATIC_EXTRA += $(srcdir)/config/arm/linux-atomic.c + + --- gcc-4.3-4.3.4.orig/debian/patches/ada-nobiarch-check.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-nobiarch-check.dpatch @@ -0,0 +1,41 @@ +#! /bin/sh -e + +# DP: For biarch builds, disable the gnat testsuite for the non-default +# architecture (no biarch support in gnat yet). + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/Makefile.in~ 2008-10-18 23:01:52.000000000 +0200 ++++ gcc/Makefile.in 2008-10-19 18:16:38.000000000 +0200 +@@ -4312,7 +4312,11 @@ + TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \ + export TCL_LIBRARY ; fi ; \ + GCC_EXEC_PREFIX="$(libdir)/gcc/" ; export GCC_EXEC_PREFIX ; \ +- $(RUNTEST) --tool $* $(RUNTESTFLAGS)) ++ if [ "$*" = gnat ]; then \ ++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed 's/,-m[36][24]//;s/,-mabi=n32//'`"; \ ++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \ ++ fi; \ ++ $(RUNTEST) --tool $* $$runtestflags) + + check-consistency: testsuite/site.exp + -rootme=`${PWD_COMMAND}`; export rootme; \ --- gcc-4.3-4.3.4.orig/debian/patches/pr17985.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr17985.dpatch @@ -0,0 +1,103 @@ +#! /bin/sh -e + +# DP: PR ada/17985: GNAT accepts extension aggregate where expected type is not extension + +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 && autoconf2.59 + ;; + -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 + +gcc/ada/ + +From: sam + +PR ada/17985 + * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of + itself. + + gcc/testsuite/ + PR ada/17985 + * gnat.dg/ancestor_type.ads, gnat.dg/ancestor_type.adb: New test. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134244 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_aggr.adb | 4 +++- + gcc/testsuite/gnat.dg/ancestor_type.adb | 13 +++++++++++++ + gcc/testsuite/gnat.dg/ancestor_type.ads | 13 +++++++++++++ + 3 files changed, 29 insertions(+), 1 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/ancestor_type.adb + create mode 100644 gcc/testsuite/gnat.dg/ancestor_type.ads + + +diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb +index f6ae6e5..38888b3 100644 +--- a/gcc/ada/sem_aggr.adb ++++ b/gcc/ada/sem_aggr.adb +@@ -1997,7 +1997,9 @@ package body Sem_Aggr is + Imm_Type := Etype (Base_Type (Imm_Type)); + end loop; + +- if Etype (Imm_Type) /= Base_Type (A_Type) then ++ if Etype (Imm_Type) /= Base_Type (A_Type) ++ or else Base_Type (Typ) = Base_Type (A_Type) ++ then + Error_Msg_NE ("expect ancestor type of &", A, Typ); + return False; + else +diff --git a/gcc/testsuite/gnat.dg/ancestor_type.adb b/gcc/testsuite/gnat.dg/ancestor_type.adb +new file mode 100644 +index 0000000..b5e9e2c +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/ancestor_type.adb +@@ -0,0 +1,13 @@ ++-- { dg-do compile } ++ ++package body Ancestor_Type is ++ ++ package body B is ++ function make return T is ++ begin ++ return (T with n => 0); -- { dg-error "expect ancestor" } ++ end make; ++ ++ end B; ++ ++end Ancestor_Type; +diff --git a/gcc/testsuite/gnat.dg/ancestor_type.ads b/gcc/testsuite/gnat.dg/ancestor_type.ads +new file mode 100644 +index 0000000..2ed1f19 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/ancestor_type.ads +@@ -0,0 +1,13 @@ ++package Ancestor_Type is ++ ++ type T is tagged private; ++ ++ package B is ++ function make return T; ++ end B; ++ ++private ++ type T is tagged record ++ n: Natural; ++ end record; ++end Ancestor_Type; --- gcc-4.3-4.3.4.orig/debian/patches/mips-triarch.dpatch +++ gcc-4.3-4.3.4/debian/patches/mips-triarch.dpatch @@ -0,0 +1,61 @@ +#! /bin/sh -e + +# DP: Patch author: Stuart Anderson +# DP: Upstream status: Not submitted +# DP: Description: add full tri-arch support. Include linux64.h also fix up +# DP: Description: the directory names so that o32 is the default and follow +# DP: Description: the glibc convention for 32 & 64 bit names + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- src/gcc/config/mips/linux64.h 2007-08-02 12:49:31.000000000 +0200 ++++ src/gcc/config/mips/linux64.h 2008-03-14 14:33:41.000000000 +0100 +@@ -24,7 +24,7 @@ + #define DRIVER_SELF_SPECS \ + NO_SHARED_SPECS \ + " %{!EB:%{!EL:%(endian_spec)}}" \ +-" %{!mabi=*: -mabi=n32}" ++" %{!mabi=*: -mabi=32}" + + #undef SUBTARGET_ASM_SPEC + #define SUBTARGET_ASM_SPEC "\ +--- src/gcc/config/mips/t-linux64 2006-06-06 14:51:24.000000000 +0200 ++++ src/gcc/config/mips/t-linux64 2008-03-14 14:26:21.000000000 +0100 +@@ -1,5 +1,5 @@ + MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 +-MULTILIB_DIRNAMES = n32 32 64 ++MULTILIB_DIRNAMES = n32 . 64 + MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64 + + EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o +--- src/gcc/config.gcc 2008-01-29 17:28:10.000000000 +0100 ++++ src/gcc/config.gcc 2008-03-14 14:26:21.000000000 +0100 +@@ -1680,7 +1680,8 @@ + test x$with_llsc != x || with_llsc=yes + ;; + mips*-*-linux*) # Linux MIPS, either endian. +- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h" ++ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h" ++ tmake_file="${tmake_file} mips/t-linux64" + case ${target} in + mipsisa32r2*) + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33" --- gcc-4.3-4.3.4.orig/debian/patches/multiarch-include-trunk.dpatch +++ gcc-4.3-4.3.4/debian/patches/multiarch-include-trunk.dpatch @@ -0,0 +1,138 @@ +#! /bin/sh -e + +# DP: biarch-include.dpatch +# DP: +# DP: Adds biarch include directories +# DP: /usr/local/include/-linux-gnu +# DP: /usr/include/-linux-gnu +# DP: to the system include paths, depending on 32/64 bit mode. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/cppdefault.c +=================================================================== +--- gcc/cppdefault.c (revision 112832) ++++ gcc/cppdefault.c (working copy) +@@ -60,6 +60,7 @@ + #endif + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ ++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, + #endif + #ifdef PREFIX_INCLUDE_DIR +@@ -83,6 +84,7 @@ + #endif + #ifdef STANDARD_INCLUDE_DIR + /* /usr/include comes dead last. */ ++ { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 2 }, + { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 0 }, + #endif + { 0, 0, 0, 0, 0, 0 } +Index: gcc/incpath.c +=================================================================== +--- gcc/incpath.c (revision 112832) ++++ gcc/incpath.c (working copy) +@@ -30,6 +30,7 @@ + #include "intl.h" + #include "c-incpath.h" + #include "cppdefault.h" ++#include "errors.h" + + /* Windows does not natively support inodes, and neither does MSDOS. + Cygwin's emulation can generate non-unique inodes, so don't use it. +@@ -121,6 +121,31 @@ + } + } + ++struct multiarch_mapping ++{ ++ const char *const multilib; ++ const char *const multiarch; ++}; ++ ++const struct multiarch_mapping multiarch_mappings[] ++= { ++#include "multiarch.inc" ++ { 0, 0 } ++}; ++ ++static const char* ++multilib_to_multiarch (const char *imultilib) ++{ ++ const struct multiarch_mapping *p; ++ ++ for (p = multiarch_mappings; p->multiarch; p++) ++ { ++ if (!strcmp(p->multilib, imultilib ? imultilib : "")) ++ return p->multiarch; ++ } ++ internal_error("no multiarch mapping for multilib (%s)\n", imultilib); ++} ++ + /* Append the standard include chain defined in cppdefault.c. */ + static void + add_standard_paths (const char *sysroot, const char *iprefix, +@@ -128,6 +153,7 @@ + { + const struct default_include *p; + size_t len; ++ const char *multiarch; + + if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0) + { +@@ -146,8 +172,15 @@ + if (!strncmp (p->fname, cpp_GCC_INCLUDE_DIR, len)) + { + char *str = concat (iprefix, p->fname + len, NULL); +- if (p->multilib && imultilib) ++ if (p->multilib == 1 && imultilib) + str = concat (str, dir_separator_str, imultilib, NULL); ++ if (p->multilib == 2) ++ { ++ multiarch = multilib_to_multiarch (imultilib); ++ if (!multiarch) ++ continue; ++ str = concat (str, dir_separator_str, multiarch, NULL); ++ } + add_path (str, SYSTEM, p->cxx_aware, false); + } + } +@@ -166,9 +199,17 @@ + else + str = update_path (p->fname, p->component); + +- if (p->multilib && imultilib) ++ if (p->multilib == 1 && imultilib) + str = concat (str, dir_separator_str, imultilib, NULL); + ++ if (p->multilib == 2) ++ { ++ multiarch = multilib_to_multiarch (imultilib); ++ if (!multiarch) ++ continue; ++ str = concat (str, dir_separator_str, multiarch, NULL); ++ } ++ + add_path (str, SYSTEM, p->cxx_aware, false); + } + } --- gcc-4.3-4.3.4.orig/debian/patches/gcc-pascal-lang.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-pascal-lang.dpatch @@ -0,0 +1,726 @@ +#! /bin/sh -e + +# DP: Add pascal options and specs for the gcc driver. + +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 -p0 < $0 + ln -sf p ${dir}/gcc/pascal + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -urN gcc.orig/p/lang.opt gcc/p/lang.opt +--- gcc.orig/p/lang.opt 1970-01-01 01:00:00.000000000 +0100 ++++ gcc/p/lang.opt 2006-03-03 20:17:49.000000000 +0100 +@@ -0,0 +1,635 @@ ++; This file was generated automatically by mk-lang_opt. ++; DO NOT CHANGE THIS FILE MANUALLY! ++; ++; Options for the Pascal front end. ++; Copyright (C) 2004-2006 Free Software Foundation, Inc. ++; ++; This file is part of GNU Pascal. ++; ++; GNU Pascal 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 Pascal 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 Pascal; see the file COPYING. If not, write to the ++; Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++; 02111-1307, USA. ++ ++; See c.opt for a description of this file's format. ++ ++; Please try to keep this file in ASCII collating order. ++ ++Language ++Pascal ++ ++A ++Pascal ++Ignored ++ ++D ++Pascal Joined Separate ++-D[=] Define a with as its value. If just is given, is taken to be 1 ++ ++E ++Pascal ++Preprocess only ++ ++H ++Pascal ++Print the name of include files as they are used ++ ++I ++Pascal Joined Separate ++-I

Add to the end of the main include path. ++ ++M ++Pascal ++Generate make dependencies ++ ++MM ++Pascal ++Like -M but ignore system header files ++ ++P ++Pascal ++Do not generate #line directives ++ ++U ++Pascal Joined Separate ++-U Undefine ++ ++Wabsolute ++Pascal ++Warn about variables at absolute adresses and `absolute' variable with non-constant addresses (default) ++ ++Wall ++Pascal ++ ++ ++Wcomment ++Pascal ++ ++ ++Wdynamic-arrays ++Pascal ++Warn about arrays whose size is determined at run time (including array slices) ++ ++Werror ++Pascal ++ ++ ++Wfloat-equal ++Pascal ++Warn about `=' and `<>' comparisons of real numbers ++ ++Widentifier-case ++Pascal ++Warn about an identifier written with varying case ++ ++Widentifier-case-local ++Pascal ++Warn about an identifier written with varying case within one program/module/unit ++ ++Wimplicit-abstract ++Pascal ++Warn when an object type not declared `abstract' contains an abstract method (default) ++ ++Wimplicit-io ++Pascal ++Warn when `Input' or `Output' are used implicitly ++ ++Winherited-abstract ++Pascal ++Warn when an abstract object type inherits from a non-abstract one (default) ++ ++Winterface-file-name ++Pascal ++Warn when a unit/module interface differs from the file name ++ ++Wlocal-external ++Pascal ++Warn about local `external' declarations ++ ++Wmissing-declarations ++Pascal ++ ++ ++Wmissing-prototypes ++Pascal ++ ++ ++Wmixed-comments ++Pascal ++Warn about mixed comments like `{ ... *)' ++ ++Wnear-far ++Pascal ++Warn about use of useless `near' or `far' directives (default) ++ ++Wnested-comments ++Pascal ++Warn about nested comments like `{ { } }' ++ ++Wobject-assignment ++Pascal ++Warn when when assigning objects or declaring them as value parameters or function results (default) ++ ++Wpointer-arith ++Pascal ++ ++ ++Wsemicolon ++Pascal ++Warn about a semicolon after `then', `else' or `do' (default) ++ ++Wtyped-const ++Pascal ++Warn about misuse of typed constants as initialized variables (default) ++ ++Wundef ++Pascal ++ ++ ++Wunderscore ++Pascal ++Warn about double/leading/trailing underscores in identifiers ++ ++Wwarnings ++Pascal ++Enable warnings (same as `{$W+}') ++ ++Wwrite-strings ++Pascal ++ ++ ++famtmpfile= ++Pascal Joined RejectNegative ++(Internal switch used for automake) ++ ++fassertions ++Pascal ++Enable assertion checking (default) ++ ++fautobuild ++Pascal ++Automatically compile all units/modules/`{$L ...}' files and link the object files provided ++ ++fautolink ++Pascal ++Automatically link object files provided by units/modules or `{$L ...}' (default) ++ ++fautomake ++Pascal ++Automatically compile changed units/modules/`{$L ...}' files and link the object files provided ++ ++fautomake-g++= ++Pascal Joined RejectNegative ++Set the C++ compiler invoked by automake ++ ++fautomake-gcc= ++Pascal Joined RejectNegative ++Set the C compiler invoked by automake ++ ++fautomake-gpc= ++Pascal Joined RejectNegative ++Set the Pascal compiler invoked by automake ++ ++fbig-endian ++Pascal RejectNegative ++Tell GPC that the system is big-endian (for those targets where it can vary) ++ ++fborland-objects ++Pascal RejectNegative ++Choose Borland object model ++ ++fborland-pascal ++Pascal RejectNegative ++Try to emulate Borland Pascal, version 7.0 ++ ++fcase-value-checking ++Pascal ++Cause a runtime error if a `case' matches no branch (default in ISO Pascal modes) ++ ++fcidefine= ++Pascal Joined RejectNegative ++Define a case-insensitive macro ++ ++fclassic-pascal ++Pascal RejectNegative ++Reject anything besides ISO 7185 Pascal ++ ++fclassic-pascal-level-0 ++Pascal RejectNegative ++Reject conformant arrays and anything besides ISO 7185 Pascal ++ ++fcsdefine= ++Pascal Joined RejectNegative ++Define a case-sensitive macro ++ ++fcstrings-as-strings ++Pascal ++Treat CStrings as strings ++ ++fdebug-automake ++Pascal RejectNegative ++(For GPC developers.) Give additional information about the actions of automake ++ ++fdebug-gpi ++Pascal RejectNegative ++(For GPC developers.) Show what is written to and read from GPI files (huge output!) ++ ++fdebug-source ++Pascal ++Output the source while it is processed to standard error ++ ++fdebug-tree= ++Pascal Joined RejectNegative ++(For GPC developers.) Show the internal representation of a given tree node (name or address) ++ ++fdelphi ++Pascal RejectNegative ++Try to emulate Borland Pascal, version 7.0, with some Delphi extensions ++ ++fdelphi-comments ++Pascal ++Allow Delphi style `//' comments (default) ++ ++fdelphi-method-shadowing ++Pascal ++Redefining methods silently shadows old definition (default in `--delphi') ++ ++fdisable-debug-info ++Pascal RejectNegative ++Inhibit `-g' options (temporary work-around, this option may disappear in the future) ++ ++fdisable-default-paths ++Pascal RejectNegative ++Do not add a default path to the unit and object path ++ ++fdisable-keyword= ++Pascal Joined RejectNegative ++Disable a keyword, independently of dialect defaults ++ ++fdisable-predefined-identifier= ++Pascal Joined RejectNegative ++Disable a predefined identifier, independently of dialect defaults ++ ++fdouble-quoted-strings ++Pascal ++Allow strings enclosed in \"\" (default) ++ ++fenable-keyword= ++Pascal Joined RejectNegative ++Enable a keyword, independently of dialect defaults ++ ++fenable-predefined-identifier= ++Pascal Joined RejectNegative ++Enable a predefined identifier, independently of dialect defaults ++ ++fexact-compare-strings ++Pascal ++Do not blank-pad strings for comparisons ++ ++fexecutable-file-name ++Pascal RejectNegative ++Derive output file name from main source file name ++ ++fexecutable-file-name= ++Pascal Joined RejectNegative ++Specify the name of the output file ++ ++fexecutable-path ++Pascal ++`--no-executable-path': Create the executable file in the directory where the main source is (default) ++ ++fexecutable-path= ++Pascal Joined RejectNegative ++Path where to create the executable file ++ ++fextended-pascal ++Pascal RejectNegative ++Reject anything besides ISO 10206 Extended Pascal ++ ++fextended-syntax ++Pascal ++same as `--ignore-function-results --pointer-arithmetic --cstrings-as-strings -Wno-absolute' (same as `{$X+}') ++ ++ffield-widths ++Pascal ++Use default field widths in write statements ++ ++ffield-widths= ++Pascal Joined RejectNegative ++Specify as a colon-separated list the default field widths in write statements for Integer, Real, Boolean, LongInt, LongReal ++ ++fgnu-objects ++Pascal RejectNegative ++Reset object model to default state ++ ++fgnu-pascal ++Pascal RejectNegative ++Undo the effect of previous dialect options, allow all features again ++ ++fgpc-main= ++Pascal Joined RejectNegative ++External name for the program's entry point (default: `main') ++ ++fgpi-destination-path= ++Pascal Joined RejectNegative ++(Internal switch used for automake) ++ ++fignore-function-results ++Pascal ++Do not complain when a function is called like a procedure ++ ++fignore-garbage-after-dot ++Pascal ++Ignore anything after the terminating `.' (default in `--borland-pascal') ++ ++fignore-packed ++Pascal ++Ignore `packed' in the source code (default in `--borland-pascal') ++ ++fimplementation-only ++Pascal RejectNegative ++Do not produce a GPI file; only compile the implementation part ++ ++fimplicit-result ++Pascal ++Enable implicit `Result' for functions (default only in `--delphi') ++ ++finit-modules= ++Pascal Joined RejectNegative ++Initialize the named modules in addition to those imported regularly; kind of a kludge ++ ++finterface-only ++Pascal RejectNegative ++Compile only the interface part of a unit/module and exit (creates `.gpi' file, no `.o' file) ++ ++fio-checking ++Pascal ++Check I/O operations automatically (same as `{$I+}') (default) ++ ++fiso-goto-restrictions ++Pascal ++Do not allow jumps into structured instructions (default) ++ ++flittle-endian ++Pascal RejectNegative ++Tell GPC that the system is little-endian (for those targets where it can vary) ++ ++flongjmp-all-nonlocal-labels ++Pascal ++Use `longjmp' for all nonlocal labels (default for Darwin/PPC) ++ ++fmac-objects ++Pascal RejectNegative ++Choose Mac object model ++ ++fmac-pascal ++Pascal RejectNegative ++Support (some features of) traditional Macintosh Pascal compilers ++ ++fmacros ++Pascal ++Expand macros (default except with `--ucsd-pascal', `--borland-pascal' or `--delphi') ++ ++fmaximum-field-alignment= ++Pascal Joined RejectNegative ++Set the maximum field alignment in bits if `pack-struct' is in effect ++ ++fmethods-always-virtual ++Pascal ++Make all methods virtual (default in `--mac-pascal') ++ ++fmixed-comments ++Pascal ++Allow comments like `{ ... *)' as required in ISO Pascal (default in ISO 7185/10206 Pascal mode) ++ ++fnested-comments ++Pascal ++Allow nested comments like `{ { } }' and `(* (* *) *)' ++ ++fnonlocal-exit ++Pascal ++Allow non-local `Exit' statements (default in `--ucsd-pascal' and `--mac-pascal') ++ ++fobject-checking ++Pascal ++Check for valid objects on virtual method calls (default) ++ ++fobject-destination-path ++Pascal ++`--no-object-destination-path': Create additional object files (e.g. of C files, not Pascal units) in the current directory (default) ++ ++fobject-destination-path= ++Pascal Joined RejectNegative ++Path where to create additional object files (e.g. of C files, not Pascal units) ++ ++fobject-pascal ++Pascal RejectNegative ++Reject anything besides (the implemented parts of) ANSI draft Object Pascal ++ ++fobject-path ++Pascal ++`--no-object-path': Forget about directories where to look for additional object (and source) files ++ ++fobject-path= ++Pascal Joined RejectNegative ++Directories where to look for additional object (and source) files ++ ++fobjects-are-references ++Pascal ++Turn objects into references (default in `--mac-pascal') ++ ++fobjects-require-override ++Pascal ++Require override directive for objects (default in `--mac-pascal') ++ ++fooe-objects ++Pascal RejectNegative ++Choose OOE object model ++ ++fpascal-sc ++Pascal RejectNegative ++Be strict about the implemented Pascal-SC extensions ++ ++fpedantic ++Pascal ++Reject everything not allowed in some dialect, e.g. redefinition of its keywords ++ ++fpointer-arithmetic ++Pascal ++Enable pointer arithmetic ++ ++fpointer-checking ++Pascal ++Validate pointers before dereferencing ++ ++fpointer-checking-user-defined ++Pascal ++Use user-defined procedure for validating pointers ++ ++fpreprocessed ++Pascal RejectNegative ++Treat the input file as already preprocessed ++ ++fprint-needed-options ++Pascal RejectNegative ++Print the needed options ++ ++fprogress-bar ++Pascal ++Output number of processed lines while compiling ++ ++fprogress-messages ++Pascal ++Output source file names and line numbers while compiling ++ ++fpropagate-units ++Pascal ++Automalically export all imported identifiers from a unit ++ ++frange-and-object-checking ++Pascal ++Same as `--range-checking --object-checking', same as `{$R+}' ++ ++frange-checking ++Pascal ++Do automatic range checks (default) ++ ++fread-base-specifier ++Pascal ++In read statements, allow input base specifier `n#' (default) ++ ++fread-hex ++Pascal ++In read statements, allow hexadecimal input with `$' (default) ++ ++fread-white-space ++Pascal ++In read statements, require whitespace after numbers ++ ++fsetlimit= ++Pascal Joined RejectNegative ++Define the range for `set of Integer' etc. ++ ++fshort-circuit ++Pascal ++Guarantee short-circuit Boolean evaluation (default; same as `{$B-}') ++ ++fstack-checking ++Pascal ++Enable stack checking (same as `{$S+}') ++ ++fstandard-pascal ++Pascal RejectNegative ++Synonym for `--classic-pascal' ++ ++fstandard-pascal-level-0 ++Pascal RejectNegative ++Synonym for `--classic-pascal-level-0' ++ ++fsun-pascal ++Pascal RejectNegative ++Support (a few features of) Sun Pascal ++ ++ftransparent-file-names ++Pascal ++Derive external file names from variable names ++ ++ftruncate-strings ++Pascal ++Truncate strings being assigned to other strings of too short capacity ++ ++ftyped-address ++Pascal ++Make the result of the address operator typed (same as `{$T+}', default) ++ ++fucsd-pascal ++Pascal RejectNegative ++Try to emulate UCSD Pascal ++ ++funit-destination-path ++Pascal ++`--no-unit-destination-path': Create object and GPI files of Pascal units in the current directory (default) ++ ++funit-destination-path= ++Pascal Joined RejectNegative ++Path where to create object and GPI files of Pascal units ++ ++funit-path ++Pascal ++`--no-unit-path': Forget about directories where to look for unit/module sources ++ ++funit-path= ++Pascal Joined RejectNegative ++Directories where to look for unit/module sources ++ ++fuses= ++Pascal Joined RejectNegative ++Add an implicit `uses' clause ++ ++fvax-pascal ++Pascal RejectNegative ++Support (a few features of) VAX Pascal ++ ++fwrite-capital-exponent ++Pascal ++Write real exponents with a capital `E' ++ ++fwrite-clip-strings ++Pascal ++In write statements, truncate strings exceeding their field width (`Write (SomeLongString : 3)') ++ ++fwrite-real-blank ++Pascal ++Output a blank in front of positive reals in exponential form (default) ++ ++idirafter ++Pascal Joined Separate ++`-idirafter ' Add to the end of the system include path ++ ++imacros ++Pascal Joined Separate ++-imacros Accept definition of macros in ++ ++include ++Pascal Joined Separate ++-include Include the contents of before other files ++ ++iprefix ++Pascal Joined Separate ++-iprefix Specify as a prefix for next two options ++ ++isystem ++Pascal Joined Separate ++-isystem Add to the start of the system include path ++ ++iwithprefix ++Pascal Joined Separate ++-iwithprefix Add to the end of the system include path ++ ++iwithprefixbefore ++Pascal Joined Separate ++-iwithprefixbefore Add to the end of the main include path ++ ++nostdinc ++Pascal ++Do not search standard system include directories (those specified with -isystem will still be used) ++ ++remap ++Pascal ++Remap file names when including files ++ ++v ++Pascal ++Enable verbose output ++ ++; This comment is to ensure we retain the blank line above. +diff -urN gcc.orig/p/lang-specs.h gcc/p/lang-specs.h +--- gcc.orig/p/lang-specs.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc/p/lang-specs.h 2006-03-25 02:53:09.000000000 +0100 +@@ -0,0 +1,46 @@ ++/*Definitions for specs for Pascal. ++ ++ Copyright (C) 1997-2006 Free Software Foundation, Inc. ++ ++ Authors: Peter Gerwinski ++ Frank Heckenbach ++ ++ This file is part of GNU Pascal. ++ ++ GNU Pascal 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 Pascal 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 Pascal; see the file COPYING. If not, write to the ++ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++ 02111-1307, USA. */ ++ ++#include "p/p-version.h" ++ ++/* This is the contribution to the `default_compilers' array for Pascal. */ ++ {".pas", "@Pascal", 0}, ++ {".p", "@Pascal", 0}, ++ {".pp", "@Pascal", 0}, ++ {".dpr", "@Pascal", 0}, ++ {"@Pascal", ++ "gpc1 %{E:-E %{!M:%(cpp_unique_options) %1 %{m*} %{f*&W*&pedantic*} %{w} " ++ "%(cpp_debug_options) %{O*}}}" ++ "%{M:%(cpp_unique_options) %1 %{m*} %{f*&W*&pedantic*} %{w}" ++ "%(cpp_debug_options) %{O*}}" ++ "%{!E:%{!M:%{save-temps:-E %(cpp_unique_options) %1 %{m*} " ++ "%{f*&W*&pedantic*} %{w} %{O*} -o %b.i \n\ ++ gpc1 -fpreprocessed %b.i} %{!save-temps:%(cpp_unique_options)} \ ++ %(cc1_options)\ ++ %{!famtmpfile*:%eInternal GPC problem: internal option `--amtmpfile' not given}\ ++ %{!fsyntax-only:%(invoke_as)}}}", 0}, ++ {"@Preprocessed-Pascal", ++ "%{!M:%{!MM:%{!E:gpc1 -fpreprocessed %i %(cc1_options)\ ++ %{!famtmpfile*:%eInternal GPC problem: internal option `--amtmpfile' not given}\ ++ %{!fsyntax-only:%(invoke_as)} }}}", 0}, +diff -urN gcc.orig/p/p-version.h gcc/p/p-version.h +--- gcc.orig/p/p-version.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc/p/p-version.h 2006-03-25 02:53:09.000000000 +0100 +@@ -0,0 +1,7 @@ ++/* Generated automatically by the Makefile. ++ DO NOT CHANGE THIS FILE MANUALLY! */ ++ ++#define GPC_MAJOR "2" ++#define GPC_MINOR "1" ++#define GPC_VERSION_STRING "20060325" ++#define GPC_RELEASE_STRING GPC_VERSION_STRING --- gcc-4.3-4.3.4.orig/debian/patches/libjava-armel-ldflags.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-armel-ldflags.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# DP: Adjust libjava extra_ldflags for armel. + +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 -p0 < $0 + cd ${dir}libjava && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}libjava/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libjava/configure.ac~ 2008-01-14 15:45:26.698717101 +0100 ++++ libjava/configure.ac 2008-01-14 15:47:37.460689616 +0100 +@@ -807,7 +807,7 @@ + # Some of the ARM unwinder code is actually in libstdc++. We + # could in principle replicate it in libgcj, but it's better to + # have a dependency on libstdc++. +- extra_ldflags='-L$(here)/../libstdc++-v3/src/.libs -lstdc++' ++ extra_ldflags='-L$(here)/../libstdc++-v3/src -L$(here)/../libstdc++-v3/src/.libs -lstdc++' + LIBSTDCXXSPEC=-lstdc++ + LIBGCJTESTSPEC="-L`${PWDCMD-pwd}`/.libs -L`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -rpath `${PWDCMD-pwd}`/.libs:`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -lstdc++" + ;; --- gcc-4.3-4.3.4.orig/debian/patches/gcc-hash-style-both.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-hash-style-both.dpatch @@ -0,0 +1,163 @@ +#! /bin/sh -e + +# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc) + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2006-07-11 Jakub Jelinek + + * config/i386/linux.h (LINK_SPEC): Add --hash-style=both. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, + LINK_ARCH64_SPEC): Likewise. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + +--- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200 ++++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200 +@@ -39,7 +39,7 @@ + + #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +--- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200 ++++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -77,7 +77,7 @@ + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +--- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200 ++++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -132,7 +132,7 @@ + + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!ibcs: \ +--- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200 ++++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200 +@@ -166,7 +166,7 @@ + { "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} \ ++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -175,7 +175,7 @@ + %{static:-static}}} \ + " + +-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -256,7 +256,7 @@ + #else /* !SPARC_BI_ARCH */ + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ ++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +--- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200 ++++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -108,7 +108,7 @@ + { "dynamic_linker", LINUX_DYNAMIC_LINKER } + + #undef LINK_SPEC +-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +--- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200 ++++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200 +@@ -65,7 +65,7 @@ + #endif + + #undef LINK_SPEC +-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ ++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100 ++++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -40,7 +40,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC "--hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200 ++++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200 +@@ -901,7 +901,7 @@ + #define LINUX_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}" + +--- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200 ++++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200 +@@ -354,11 +354,11 @@ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) + + +-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}" + +-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}" + --- gcc-4.3-4.3.4.orig/debian/patches/libjava-stacktrace.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-stacktrace.dpatch @@ -0,0 +1,70 @@ +#! /bin/sh -e + +# DP: libgcj: Lookup source file name and line number in separated +# DP: debug files found in /usr/lib/debug + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- libjava/stacktrace.cc.orig 2006-06-16 13:54:07.078577632 +0200 ++++ libjava/stacktrace.cc 2006-06-16 13:56:08.032189888 +0200 +@@ -20,6 +20,11 @@ + #endif + + #include ++#include ++#include ++#ifdef HAVE_UNISTD_H ++#include ++#endif + + #include + #include +@@ -222,6 +227,28 @@ + finder->lookup (binaryName, (jlong) offset); + *sourceFileName = finder->getSourceFile(); + *lineNum = finder->getLineNum(); ++ if (*lineNum == -1 && info.file_name[0] == '/') ++ { ++ const char *debugPrefix = "/usr/lib/debug"; ++ char *debugPath = (char *) malloc (strlen(debugPrefix) ++ + strlen(info.file_name) ++ + 2); ++ ++ if (debugPath) ++ { ++ strcpy (debugPath, debugPrefix); ++ strcat (debugPath, info.file_name); ++ //printf ("%s: 0x%x\n", debugPath, offset); ++ if (!access (debugPath, R_OK)) ++ { ++ binaryName = JvNewStringUTF (debugPath); ++ finder->lookup (binaryName, (jlong) offset); ++ *sourceFileName = finder->getSourceFile(); ++ *lineNum = finder->getLineNum(); ++ } ++ free (debugPath); ++ } ++ } + if (*lineNum == -1 && NameFinder::showRaw()) + { + gnu::gcj::runtime::StringBuffer *t = --- gcc-4.3-4.3.4.orig/debian/patches/arm-unbreak-eabi-armv4t.dpatch +++ gcc-4.3-4.3.4/debian/patches/arm-unbreak-eabi-armv4t.dpatch @@ -0,0 +1,36 @@ +#! /bin/sh -e + +# DP: Fix armv4t build on ARM + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- src/gcc/config/arm/linux-eabi.h.orig 2007-11-24 12:37:38.000000000 +0000 ++++ src/gcc/config/arm/linux-eabi.h 2007-11-24 12:39:41.000000000 +0000 +@@ -44,7 +44,7 @@ + The ARM10TDMI core is the default for armv5t, so set + SUBTARGET_CPU_DEFAULT to achieve this. */ + #undef SUBTARGET_CPU_DEFAULT +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi + + /* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ --- gcc-4.3-4.3.4.orig/debian/patches/libjava-nobiarch-check.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-nobiarch-check.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +# DP: For biarch builds, disable the testsuite for the non-default architecture +# DP: for runtime libraries, which are not built by default (libjava). + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libjava/testsuite/Makefile.in~ 2005-09-29 23:53:39.213898000 +0200 ++++ libjava/testsuite/Makefile.in 2005-09-29 23:55:33.382541760 +0200 +@@ -346,12 +346,14 @@ + + + check-DEJAGNU: site.exp ++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed 's/,-m[36][24]//;s/,-mabi=n32//'`"; \ ++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \ + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + l='$(DEJATOOL)'; for tool in $$l; do \ +- $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ ++ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $$runtestflags; \ + done; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi --- gcc-4.3-4.3.4.orig/debian/patches/ada-mips.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-mips.dpatch @@ -0,0 +1,428 @@ +#! /bin/sh -e + +# DP: add support (tasking, sjlj, ...) for mips architecture + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +Index: gcc/ada/Makefile.in +=================================================================== +--- gcc/ada/Makefile.in.orig 2008-05-05 17:33:35.960809179 +0200 ++++ gcc/ada/Makefile.in 2008-05-05 17:33:35.996809462 +0200 +@@ -1362,6 +1362,34 @@ + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out mips linux%,$(arch) $(osys))),) ++ LIBGNAT_TARGET_PAIRS = \ ++ a-intnam.ads" (Left, Right : Address) return Boolean; ++ function ">=" (Left, Right : Address) return Boolean; ++ function "=" (Left, Right : Address) return Boolean; ++ ++ pragma Import (Intrinsic, "<"); ++ pragma Import (Intrinsic, "<="); ++ pragma Import (Intrinsic, ">"); ++ pragma Import (Intrinsic, ">="); ++ pragma Import (Intrinsic, "="); ++ ++ -- Other System-Dependent Declarations ++ ++ type Bit_Order is (High_Order_First, Low_Order_First); ++ Default_Bit_Order : constant Bit_Order := High_Order_First; ++ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning ++ ++ -- Priority-related Declarations (RM D.1) ++ ++ Max_Priority : constant Positive := 30; ++ Max_Interrupt_Priority : constant Positive := 31; ++ ++ subtype Any_Priority is Integer range 0 .. 31; ++ subtype Priority is Any_Priority range 0 .. 30; ++ subtype Interrupt_Priority is Any_Priority range 31 .. 31; ++ ++ Default_Priority : constant Priority := 15; ++ ++private ++ ++ type Address is mod Memory_Size; ++ Null_Address : constant Address := 0; ++ ++ -------------------------------------- ++ -- System Implementation Parameters -- ++ -------------------------------------- ++ ++ -- These parameters provide information about the target that is used ++ -- by the compiler. They are in the private part of System, where they ++ -- can be accessed using the special circuitry in the Targparm unit ++ -- whose source should be consulted for more detailed descriptions ++ -- of the individual switch values. ++ ++ AAMP : constant Boolean := False; ++ Backend_Divide_Checks : constant Boolean := False; ++ Backend_Overflow_Checks : constant Boolean := False; ++ Command_Line_Args : constant Boolean := True; ++ Compiler_System_Version : constant Boolean := False; ++ Configurable_Run_Time : constant Boolean := False; ++ Denorm : constant Boolean := True; ++ Duration_32_Bits : constant Boolean := False; ++ Exit_Status_Supported : constant Boolean := True; ++ Fractional_Fixed_Ops : constant Boolean := False; ++ Frontend_Layout : constant Boolean := False; ++ Functions_Return_By_DSP : constant Boolean := False; ++ Machine_Overflows : constant Boolean := False; ++ Machine_Rounds : constant Boolean := True; ++ OpenVMS : constant Boolean := False; ++ Preallocated_Stacks : constant Boolean := False; ++ Signed_Zeros : constant Boolean := True; ++ Stack_Check_Default : constant Boolean := False; ++ Stack_Check_Probes : constant Boolean := False; ++ Support_64_Bit_Divides : constant Boolean := True; ++ Support_Aggregates : constant Boolean := True; ++ Support_Composite_Assign : constant Boolean := True; ++ Support_Composite_Compare : constant Boolean := True; ++ Support_Long_Shifts : constant Boolean := True; ++ Suppress_Standard_Library : constant Boolean := False; ++ Use_Ada_Main_Program_Name : constant Boolean := False; ++ ZCX_By_Default : constant Boolean := True; ++ GCC_ZCX_Support : constant Boolean := True; ++ Front_End_ZCX_Support : constant Boolean := False; ++ ++ -- Obsolete entries, to be removed eventually (bootstrap issues!) ++ ++ High_Integrity_Mode : constant Boolean := False; ++ Long_Shifts_Inlined : constant Boolean := True; ++ ++end System; --- gcc-4.3-4.3.4.orig/debian/patches/pr38292.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr38292.dpatch @@ -0,0 +1,55 @@ +#! /bin/sh -e + +# DP: Fix PR gcov-profile/38292, taken from the trunk + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +gcc/ + +2009-02-04 Jakub Jelinek + + PR tree-optimization/38977 + PR gcov-profile/38292 + * calls.c (special_function_p): Disregard __builtin_ + prefix. + +Index: gcc/calls.c +=================================================================== +--- gcc/calls.c (revision 143936) ++++ gcc/calls.c (revision 143937) +@@ -498,10 +498,14 @@ + && ! strcmp (name, "__builtin_alloca")))) + flags |= ECF_MAY_BE_ALLOCA; + +- /* Disregard prefix _, __ or __x. */ ++ /* Disregard prefix _, __, __x or __builtin_. */ + if (name[0] == '_') + { +- if (name[1] == '_' && name[2] == 'x') ++ if (name[1] == '_' ++ && name[2] == 'b' ++ && !strncmp (name + 3, "uiltin_", 7)) ++ tname += 10; ++ else if (name[1] == '_' && name[2] == 'x') + tname += 3; + else if (name[1] == '_') + tname += 2; --- gcc-4.3-4.3.4.orig/debian/patches/hurd-pthread.dpatch +++ gcc-4.3-4.3.4/debian/patches/hurd-pthread.dpatch @@ -0,0 +1,205 @@ +#! /bin/sh -e + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# Fix pthread support in boehm-gc + +--- gcc/config.gcc.orig 2009-02-07 14:05:00.000000000 +0000 ++++ gcc/config.gcc 2009-02-07 14:05:10.478631000 +0000 +@@ -490,6 +490,9 @@ + # GNU tools are the only tools. + gas=yes + gnu_ld=yes ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + # These details are the same as for Linux. + # But here we need a little extra magic. + tmake_file="t-slibgcc-elf-ver t-linux t-gnu" +--- boehm-gc/pthread_support.c.orig 2009-02-07 22:27:11.828527000 +0000 ++++ boehm-gc/pthread_support.c 2009-02-07 22:27:18.279505000 +0000 +@@ -885,7 +885,7 @@ + GC_nprocs = pthread_num_processors_np(); + # endif + # if defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS) \ +- || defined(GC_SOLARIS_PTHREADS) ++ || defined(GC_SOLARIS_PTHREADS) || defined(GC_GNU_THREADS) + GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN); + if (GC_nprocs <= 0) GC_nprocs = 1; + # endif +--- boehm-gc/include/gc_config_macros.h.orig 2009-02-07 22:25:08.240177000 +0000 ++++ boehm-gc/include/gc_config_macros.h 2009-02-07 22:28:40.648347000 +0000 +@@ -6,7 +6,8 @@ + || defined(GC_SOLARIS_PTHREADS) \ + || defined(GC_HPUX_THREADS) \ + || defined(GC_AIX_THREADS) \ +- || defined(GC_LINUX_THREADS)) ++ || defined(GC_LINUX_THREADS) \ ++ || defined(GC_GNU_THREADS)) + # define _REENTRANT + /* Better late than never. This fails if system headers that */ + /* depend on this were previously included. */ +@@ -21,7 +22,8 @@ + defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \ + defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \ + defined(GC_AIX_THREADS) || \ +- (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) ++ (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \ ++ defined(GC_GNU_THREADS) + # define GC_PTHREADS + # endif + +--- boehm-gc/threadlibs.c.orig 2009-02-07 22:34:42.429201000 +0000 ++++ boehm-gc/threadlibs.c 2009-02-07 22:34:49.530544000 +0000 +@@ -12,7 +12,8 @@ + # endif + # if defined(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \ + || defined(GC_SOLARIS_PTHREADS) \ +- || defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) ++ || defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) \ ++ || defined(GC_GNU_THREADS) + printf("-lpthread\n"); + # endif + # if defined(GC_FREEBSD_THREADS) +--- boehm-gc/configure.ac.orig 2009-02-07 22:30:12.000000000 +0000 ++++ boehm-gc/configure.ac 2009-02-07 22:35:31.717091000 +0000 +@@ -172,6 +172,11 @@ + AM_CPPFLAGS="$AM_CPPFLAGS -pthread" + THREADLIBS=-pthread + ;; ++ *-*-gnu*) ++ AC_DEFINE(GC_GNU_THREADS,1,[support GNU threads]) ++ AC_DEFINE(_REENTRANT) ++ AC_DEFINE(THREAD_LOCAL_ALLOC) ++ ;; + *-*-solaris*) + AC_DEFINE(GC_SOLARIS_PTHREADS,1,[support for Solaris pthreads]) + # Need to use alternate thread library, otherwise gctest hangs +--- boehm-gc/configure.orig 2009-02-07 22:32:34.000000000 +0000 ++++ boehm-gc/configure 2009-02-07 22:35:28.065650000 +0000 +@@ -5489,6 +5489,20 @@ + AM_CPPFLAGS="$AM_CPPFLAGS -pthread" + THREADLIBS=-pthread + ;; ++ *-*-gnu*) ++cat >>confdefs.h <<\_ACEOF ++#define GC_GNU_THREADS 1 ++_ACEOF ++ ++ cat >>confdefs.h <<\_ACEOF ++#define _REENTRANT 1 ++_ACEOF ++ ++cat >>confdefs.h <<\_ACEOF ++#define THREAD_LOCAL_ALLOC 1 ++_ACEOF ++ ++ ;; + *-*-solaris*) + + cat >>confdefs.h <<\_ACEOF +--- boehm-gc/os_dep.c.orig 2009-02-07 22:37:20.000000000 +0000 ++++ boehm-gc/os_dep.c 2009-02-07 22:37:40.000000000 +0000 +@@ -312,7 +312,7 @@ + /* for recent Linux versions. This seems to be the easiest way to */ + /* cover all versions. */ + +-# ifdef LINUX ++# if defined(LINUX) || defined(HURD) + /* Some Linux distributions arrange to define __data_start. Some */ + /* define data_start as a weak symbol. The latter is technically */ + /* broken, since the user program may define data_start, in which */ +@@ -331,7 +331,7 @@ + { + extern ptr_t GC_find_limit(); + +-# ifdef LINUX ++# if defined(LINUX) || defined(HURD) + /* Try the easy approaches first: */ + if ((ptr_t)__data_start != 0) { + GC_data_start = (ptr_t)(__data_start); +--- boehm-gc/include/private/gcconfig.h.orig 2009-02-07 22:29:18.000000000 +0000 ++++ boehm-gc/include/private/gcconfig.h 2009-02-07 22:41:24.598684000 +0000 +@@ -1316,8 +1316,9 @@ + # define OS_TYPE "HURD" + # define STACK_GROWS_DOWN + # define HEURISTIC2 +- extern int __data_start[]; +-# define DATASTART ( (ptr_t) (__data_start)) ++# define SIG_SUSPEND SIGUSR1 ++# define SIG_THR_RESTART SIGUSR2 ++# define SEARCH_FOR_DATA_START + extern int _end[]; + # define DATAEND ( (ptr_t) (_end)) + /* # define MPROTECT_VDB Not quite working yet? */ +@@ -2153,7 +2154,8 @@ + # if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \ + || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \ + || defined(DGUX) || defined(BSD) || defined(SUNOS4) \ +- || defined(_AIX) || defined(DARWIN) || defined(OSF1) ++ || defined(_AIX) || defined(DARWIN) || defined(OSF1) \ ++ || defined(HURD) + # define UNIX_LIKE /* Basic Unix-like system calls work. */ + # endif + +@@ -2209,7 +2211,7 @@ + # define CACHE_LINE_SIZE 32 /* Wild guess */ + # endif + +-# if defined(LINUX) || defined(__GLIBC__) ++# if defined(LINUX) || defined(HURD) || defined(__GLIBC__) + # define REGISTER_LIBRARIES_EARLY + /* We sometimes use dl_iterate_phdr, which may acquire an internal */ + /* lock. This isn't safe after the world has stopped. So we must */ +@@ -2244,6 +2246,9 @@ + # if defined(GC_AIX_THREADS) && !defined(_AIX) + --> inconsistent configuration + # endif ++# if defined(GC_GNU_THREADS) && !defined(HURD) ++ --> inconsistent configuration ++# endif + # if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32) + --> inconsistent configuration + # endif +--- boehm-gc/include/gc_config.h.in.orig 2009-02-08 01:51:09.707191000 +0000 ++++ boehm-gc/include/gc_config.h.in 2009-02-08 01:54:06.298757000 +0000 +@@ -33,6 +33,9 @@ + /* include support for gcj */ + #undef GC_GCJ_SUPPORT + ++/* support GNU/Hurd threads */ ++#undef GC_GNU_THREADS ++ + /* enables support for HP/UX 11 pthreads */ + #undef GC_HPUX_THREADS + +--- boehm-gc/specific.c.orig 2009-02-08 03:44:40.833287000 +0000 ++++ boehm-gc/specific.c 2009-02-08 03:44:50.865199000 +0000 +@@ -13,7 +13,7 @@ + + #include "private/gc_priv.h" /* For GC_compare_and_exchange, GC_memory_barrier */ + +-#if defined(GC_LINUX_THREADS) ++#if defined(GC_LINUX_THREADS) || defined(GC_GNU_THREADS) + + #include "private/specific.h" + --- gcc-4.3-4.3.4.orig/debian/patches/gcc-ice-apport.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-ice-apport.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +# DP: Report an ICE to apport (if apport is available +# DP: and the environment variable GCC_NOAPPORT is not set) + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/gcc.c~ 2007-08-05 22:17:07.000000000 +0200 ++++ gcc/gcc.c 2007-08-12 15:03:16.000000000 +0200 +@@ -6119,6 +6119,15 @@ + { + notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n", + temp_filenames[attempt * 2]); ++ if (!getenv ("GCC_NOAPPORT") ++ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK)) ++ { ++ char *cmd = xmalloc (50 + strlen (temp_filenames[attempt * 2]) + strlen (new_argv[0])); ++ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s", ++ new_argv[0], temp_filenames[attempt * 2]); ++ system (cmd); ++ free (cmd); ++ } + /* Make sure it is not deleted. */ + free (temp_filenames[attempt * 2]); + temp_filenames[attempt * 2] = NULL; --- gcc-4.3-4.3.4.orig/debian/patches/gdc-fix-build.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-fix-build.dpatch @@ -0,0 +1,56 @@ +#! /bin/sh -e + +# gdc-fix-build.dpatch by Arthur Loiret +# DP: Fix libphobos build on non-biarched 64 bit systems. +# DP: Updated for gdc-4.3 by Iain Buclaw + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/d/d-gcc-includes.h 2010-03-01 17:18:05.000000000 +0000 ++++ gcc/d/d-gcc-includes.h 2010-03-02 12:24:20.808081019 +0000 +@@ -37,6 +37,23 @@ + #include "config.h" + #include "system.h" + ++/* Those are used in TARGET_OS_CPP_BUILTINS in some gcc/config//.c ++ (alpha, mips, arm and a few others) for some builtin_defines such ++ __LANGUAGE_C_PLUS_PLUS but are defined in c-common.h. */ ++#ifndef c_dialect_cxx ++# define c_dialect_cxx() 0 ++#endif ++#ifndef c_dialect_objc ++# define c_dialect_objc() 0 ++#endif ++ ++/* Even if they are defined in d-apple-gcc.c and d-c-stubs.c, they are also ++ used in config/mips (as in config/darwin), so as we don't /need/ them, ++ better to define an empty macro here. */ ++#ifndef builtin_define_with_value ++# define builtin_define_with_value(macro, expansion, is_str) ++#endif ++ + /* Before gcc 4.0, was included before defining bool. In 4.0, + it is always defined as "unsigned char" unless __cplusplus. Have to make + sure the "bool" under c++ is the same so that structs are laid out --- gcc-4.3-4.3.4.orig/debian/patches/pr39431.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr39431.dpatch @@ -0,0 +1,176 @@ +#! /bin/sh -e + +# DP: Proposed patch for PR target/39431 + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +On i[56]86 with -m32 -O2 -fpic and -march=i586 and higher +sync_double_compare_and_swap{,_cc}di_pic insn patterns need %eax, %edx, %ecx +and one of %esi or %edi registers and a memory address. In addition to +this, %esp is reserved, %ebp is as well if frame pointer is needed and %ebx +is used as PIC pointer. On i386 a valid memory address though may require +one or two registers, if it requires just one, we still can reload it, +but if it is a base + index{,*scale}, there aren't enough registers to +allocate. + +The following patch fixes it by requiring that when -fpic the +sync_double_compare_and_swap{,_cc}di_pic patterns use a memory address +that either needs at most one register, or one or both of the registers +is %esp or %ebp. + +Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? + +2008-03-12 Jakub Jelinek + + PR target/39431 + * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New + predicate. + * config/i386/sync.md (sync_compare_and_swap, + sync_compare_and_swap_cc): For DImode with -m32 -fpic check + if operands[1] is cmpxchg8b_pic_memory_operand, if not force address + into a register. + (sync_double_compare_and_swapdi_pic, + sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be + cmpxchg8b_pic_memory_operand instead of just memory_operand. + + * gcc.target/i386/pr39431.c: New test. + +--- gcc/config/i386/predicates.md.jj 2009-02-20 14:56:00.000000000 +0100 ++++ gcc/config/i386/predicates.md 2009-03-12 10:29:46.000000000 +0100 +@@ -887,6 +887,34 @@ + return parts.disp != NULL_RTX; + }) + ++;; Returns 1 if OP is memory operand which will need zero or ++;; one register at most, not counting stack pointer or frame pointer. ++(define_predicate "cmpxchg8b_pic_memory_operand" ++ (match_operand 0 "memory_operand") ++{ ++ struct ix86_address parts; ++ int ok; ++ ++ ok = ix86_decompose_address (XEXP (op, 0), &parts); ++ gcc_assert (ok); ++ if (parts.base == NULL_RTX ++ || parts.base == arg_pointer_rtx ++ || parts.base == frame_pointer_rtx ++ || parts.base == hard_frame_pointer_rtx ++ || parts.base == stack_pointer_rtx) ++ return 1; ++ ++ if (parts.index == NULL_RTX ++ || parts.index == arg_pointer_rtx ++ || parts.index == frame_pointer_rtx ++ || parts.index == hard_frame_pointer_rtx ++ || parts.index == stack_pointer_rtx) ++ return 1; ++ ++ return 0; ++}) ++ ++ + ;; Returns 1 if OP is memory operand that cannot be represented + ;; by the modRM array. + (define_predicate "long_memory_operand" +--- gcc/config/i386/sync.md.jj 2009-02-20 15:15:05.000000000 +0100 ++++ gcc/config/i386/sync.md 2009-03-12 10:30:50.000000000 +0100 +@@ -1,5 +1,5 @@ + ;; GCC machine description for i386 synchronization instructions. +-;; Copyright (C) 2005, 2006, 2007 ++;; Copyright (C) 2005, 2006, 2007, 2009 + ;; Free Software Foundation, Inc. + ;; + ;; This file is part of GCC. +@@ -82,8 +82,15 @@ + low = force_reg (hmode, low); + high = force_reg (hmode, high); + if (mode == DImode) +- emit_insn (gen_sync_double_compare_and_swapdi +- (operands[0], operands[1], operands[2], low, high)); ++ { ++ if (flag_pic && !cmpxchg8b_pic_memory_operand (operands[1], DImode)) ++ operands[1] = replace_equiv_address (operands[1], ++ force_reg (Pmode, ++ XEXP (operands[1], ++ 0))); ++ emit_insn (gen_sync_double_compare_and_swapdi ++ (operands[0], operands[1], operands[2], low, high)); ++ } + else if (mode == TImode) + emit_insn (gen_sync_double_compare_and_swapti + (operands[0], operands[1], operands[2], low, high)); +@@ -131,7 +138,7 @@ + ;; are just esi and edi. + (define_insn "*sync_double_compare_and_swapdi_pic" + [(set (match_operand:DI 0 "register_operand" "=A") +- (match_operand:DI 1 "memory_operand" "+m")) ++ (match_operand:DI 1 "cmpxchg8b_pic_memory_operand" "+m")) + (set (match_dup 1) + (unspec_volatile:DI + [(match_dup 1) +@@ -173,8 +180,15 @@ + low = force_reg (hmode, low); + high = force_reg (hmode, high); + if (mode == DImode) +- emit_insn (gen_sync_double_compare_and_swap_ccdi +- (operands[0], operands[1], operands[2], low, high)); ++ { ++ if (flag_pic && !cmpxchg8b_pic_memory_operand (operands[1], DImode)) ++ operands[1] = replace_equiv_address (operands[1], ++ force_reg (Pmode, ++ XEXP (operands[1], ++ 0))); ++ emit_insn (gen_sync_double_compare_and_swap_ccdi ++ (operands[0], operands[1], operands[2], low, high)); ++ } + else if (mode == TImode) + emit_insn (gen_sync_double_compare_and_swap_ccti + (operands[0], operands[1], operands[2], low, high)); +@@ -224,7 +238,7 @@ + ;; operand 3. + (define_insn "*sync_double_compare_and_swap_ccdi_pic" + [(set (match_operand:DI 0 "register_operand" "=A") +- (match_operand:DI 1 "memory_operand" "+m")) ++ (match_operand:DI 1 "cmpxchg8b_pic_memory_operand" "+m")) + (set (match_dup 1) + (unspec_volatile:DI + [(match_dup 1) +--- gcc/testsuite/gcc.target/i386/pr39431.c.jj 2009-03-12 10:11:25.000000000 +0100 ++++ gcc/testsuite/gcc.target/i386/pr39431.c 2009-03-12 10:11:36.000000000 +0100 +@@ -0,0 +1,15 @@ ++/* PR target/39431 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++/* { dg-options "-O2 -march=i686 -fpic" { target { ilp32 && fpic } } } */ ++ ++extern void bar (char *, int); ++ ++int ++foo (long long *p, long long oldv, long long *q, int n) ++{ ++ char buf[n]; ++ bar (buf, n); ++ p[256 + n] = __sync_val_compare_and_swap (p + n, oldv, oldv + 6); ++ return __sync_bool_compare_and_swap (q + n, oldv, oldv + 8); ++} + + Jakub --- gcc-4.3-4.3.4.orig/debian/patches/pr18680.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr18680.dpatch @@ -0,0 +1,97 @@ +#! /bin/sh -e + +# DP: PR ada/18680: pragma Linker_Section problems + +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 && autoconf2.59 + ;; + -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 + +2008-04-14 Samuel Tardieu + +From: sam + +Robert Dewar + + gcc/ada/ + PR ada/18680 + * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to + apply pragma Linker_Section on type. + + gcc/testsuite/ + PR ada/18680 + * gnat.dg/specs/linker_section.ads: New. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134266 138bc75d-0d04-0410-961f-82ee72b054a4 +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134280 138bc75d-0d04-0410-961f-82ee72b054a4 + +2008-04-14 Robert Dewar + + gcc/ada/ + * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error + to every non-object and change error message. + + gcc/testsuite/ + * gnat.dg/specs/linker_section.ads: Check for more error conditions. +--- + + gcc/ada/sem_prag.adb | 6 ++++++ + gcc/testsuite/gnat.dg/specs/linker_section.ads | 13 +++++++++++++ + 2 files changed, 19 insertions(+), 0 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/linker_section.ads + + +diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb +index 8dce4de..f6a6a01 100644 +--- a/gcc/ada/sem_prag.adb ++++ b/gcc/ada/sem_prag.adb +@@ -8093,6 +8093,12 @@ package body Sem_Prag is + Check_Arg_Is_Library_Level_Local_Name (Arg1); + Check_Arg_Is_Static_Expression (Arg2, Standard_String); + ++ -- This pragma applies only to objects ++ ++ if not Is_Object (Entity (Expression (Arg1))) then ++ Error_Pragma_Arg ("pragma% applies only to objects", Arg1); ++ end if; ++ + -- The only processing required is to link this item on to the + -- list of rep items for the given entity. This is accomplished + -- by the call to Rep_Item_Too_Late (when no error is detected +diff --git a/gcc/testsuite/gnat.dg/specs/linker_section.ads b/gcc/testsuite/gnat.dg/specs/linker_section.ads +new file mode 100644 +index 0000000..73e89aa +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/linker_section.ads +@@ -0,0 +1,13 @@ ++package Linker_Section is ++ Data1 : constant String := "12345678901234567"; ++ pragma Linker_Section (Entity => Data1, ++ Section => ".eeprom"); ++ type EEPROM_String is new String; ++ pragma Linker_Section (Entity => EEPROM_String, -- { dg-error "objects" } ++ Section => ".eeprom"); ++ Data2 : constant EEPROM_String := "12345678901234567"; ++ package Inner is end; ++ pragma Linker_Section (Entity => Inner, -- { dg-error "objects" } ++ Section => ".eeprom"); ++end Linker_Section; ++ --- gcc-4.3-4.3.4.orig/debian/patches/gcc-hash-style-gnu.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-hash-style-gnu.dpatch @@ -0,0 +1,163 @@ +#! /bin/sh -e + +# DP: Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc) + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2006-07-11 Jakub Jelinek + + * config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, + LINK_ARCH64_SPEC): Likewise. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + +--- gcc/config/alpha/linux-elf.h.orig 2007-09-01 15:49:36.997832511 +0200 ++++ gcc/config/alpha/linux-elf.h 2007-09-01 15:49:48.538006592 +0200 +@@ -39,7 +39,7 @@ + + #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +--- gcc/config/s390/linux.h.orig 2007-09-01 15:49:36.997832511 +0200 ++++ gcc/config/s390/linux.h 2007-09-01 15:49:48.548006743 +0200 +@@ -77,7 +77,7 @@ + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +--- gcc/config/sparc/linux.h.orig 2007-09-01 15:49:36.997832511 +0200 ++++ gcc/config/sparc/linux.h 2007-09-01 15:49:48.548006743 +0200 +@@ -132,7 +132,7 @@ + + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu -Y P,/usr/lib %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!ibcs: \ +--- gcc/config/sparc/linux64.h.orig 2007-09-01 15:49:36.997832511 +0200 ++++ gcc/config/sparc/linux64.h 2007-09-01 15:49:48.548006743 +0200 +@@ -166,7 +166,7 @@ + { "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} \ ++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=gnu -Y P,/usr/lib %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -175,7 +175,7 @@ + %{static:-static}}} \ + " + +-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=gnu -Y P,/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -256,7 +256,7 @@ + #else /* !SPARC_BI_ARCH */ + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ ++#define LINK_SPEC "-m elf64_sparc --hash-style=gnu -Y P,/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +--- gcc/config/i386/linux.h.orig 2007-09-01 15:49:37.007832662 +0200 ++++ gcc/config/i386/linux.h 2007-09-01 15:49:48.548006743 +0200 +@@ -108,7 +108,7 @@ + { "dynamic_linker", LINUX_DYNAMIC_LINKER } + + #undef LINK_SPEC +-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +--- gcc/config/i386/linux64.h.orig 2007-09-01 15:49:37.007832662 +0200 ++++ gcc/config/i386/linux64.h 2007-09-01 15:50:49.068919687 +0200 +@@ -65,7 +65,7 @@ + #endif + + #undef LINK_SPEC +-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ ++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/ia64/linux.h.orig 2007-09-01 15:49:37.007832662 +0200 ++++ gcc/config/ia64/linux.h 2007-09-01 15:49:48.548006743 +0200 +@@ -40,7 +40,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC "--hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/rs6000/sysv4.h.orig 2007-09-01 15:49:37.007832662 +0200 ++++ gcc/config/rs6000/sysv4.h 2007-09-01 15:49:48.548006743 +0200 +@@ -901,7 +901,7 @@ + #define LINUX_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}" + +--- gcc/config/rs6000/linux64.h.orig 2007-09-01 15:49:37.007832662 +0200 ++++ gcc/config/rs6000/linux64.h 2007-09-01 15:49:48.548006743 +0200 +@@ -354,11 +354,11 @@ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) + + +-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}" + +-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}" + --- gcc-4.3-4.3.4.orig/debian/patches/ada-gnatvsn.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-gnatvsn.dpatch @@ -0,0 +1,46 @@ +#! /bin/sh -e + +# DP: proposed patch for PR ada/27194. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- orig/gnatvsn.adb 2005-07-01 03:29:17.000000000 +0200 ++++ gcc/ada/gnatvsn.adb 2006-04-18 10:00:05.100002000 +0200 +@@ -54,12 +54,13 @@ + ------------------------- + + function Gnat_Version_String return String is +- NUL_Pos : Positive := 1; ++ NUL_Pos : Positive := Version_String'Last; + begin +- loop +- exit when Version_String (NUL_Pos) = ASCII.NUL; +- +- NUL_Pos := NUL_Pos + 1; ++ for J in Version_String'Range loop ++ if Version_String (J) = ASCII.NUL then ++ NUL_Pos := J; ++ exit; ++ end if; + end loop; + + return Version_String (1 .. NUL_Pos - 1); --- gcc-4.3-4.3.4.orig/debian/patches/gcc-build-id.dpatch +++ gcc-4.3-4.3.4/debian/patches/gcc-build-id.dpatch @@ -0,0 +1,139 @@ +#! /bin/sh -e + +# DP: Link with --build-id when the linker supports it + +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 -p0 < $0 + cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/configure.ac +=================================================================== +--- gcc/configure.ac (revision 146981) ++++ gcc/configure.ac (working copy) +@@ -3510,6 +3510,41 @@ + ;; + esac + ++AC_CACHE_CHECK(linker --build-id support, ++ gcc_cv_ld_buildid, ++ [gcc_cv_ld_buildid=no ++ if test $in_tree_ld = yes ; then ++ if test "$gcc_cv_gld_major_version" -eq 2 -a \ ++ "$gcc_cv_gld_minor_version" -ge 18 -o \ ++ "$gcc_cv_gld_major_version" -gt 2 \ ++ && test $in_tree_ld_is_elf = yes; then ++ gcc_cv_ld_buildid=yes ++ fi ++ elif test x$gcc_cv_ld != x; then ++ if $gcc_cv_ld --help 2>/dev/null | grep build-id > /dev/null; then ++ gcc_cv_ld_buildid=yes ++ fi ++ fi]) ++if test x"$gcc_cv_ld_buildid" = xyes; then ++ AC_DEFINE(HAVE_LD_BUILDID, 1, ++ [Define if your linker supports --build-id.]) ++fi ++ ++AC_ARG_ENABLE(linker-build-id, ++[ --enable-linker-build-id ++ compiler will always pass --build-id to linker], ++[], ++enable_linker_build_id=no) ++ ++if test x"$enable_linker_build_id" = xyes; then ++ if test x"$gcc_cv_ld_buildid" = xyes; then ++ AC_DEFINE(ENABLE_LD_BUILDID, 1, ++ [Define if gcc should always pass --build-id to linker.]) ++ else ++ AC_MSG_WARN(--build-id is not supported by your linker; --enable-linker-build-id ignored) ++ fi ++fi ++ + AC_CACHE_CHECK(linker --sysroot support, + gcc_cv_ld_sysroot, + [gcc_cv_ld_sysroot=no +Index: gcc/gcc.c +=================================================================== +--- gcc/gcc.c (revision 146981) ++++ gcc/gcc.c (working copy) +@@ -730,6 +730,13 @@ + #endif + #endif + ++#ifndef LINK_BUILDID_SPEC ++# if defined(HAVE_LD_BUILDID) && defined(ENABLE_LD_BUILDID) ++# define LINK_BUILDID_SPEC "%{!r:--build-id} " ++# endif ++#endif ++ ++ + /* -u* was put back because both BSD and SysV seem to support it. */ + /* %{static:} simply prevents an error message if the target machine + doesn't handle -static. */ +@@ -1844,9 +1851,16 @@ + asm_spec = XOBFINISH (&obstack, const char *); + } + #endif +-#ifdef LINK_EH_SPEC ++ ++#if defined LINK_EH_SPEC || defined LINK_BUILDID_SPEC ++# ifdef LINK_BUILDID_SPEC ++ /* Prepend LINK_BUILDID_SPEC to whatever link_spec we had before. */ ++ obstack_grow (&obstack, LINK_BUILDID_SPEC, sizeof(LINK_BUILDID_SPEC) - 1); ++# endif ++# ifdef LINK_EH_SPEC + /* Prepend LINK_EH_SPEC to whatever link_spec we had before. */ + obstack_grow (&obstack, LINK_EH_SPEC, sizeof(LINK_EH_SPEC) - 1); ++# endif + obstack_grow0 (&obstack, link_spec, strlen (link_spec)); + link_spec = XOBFINISH (&obstack, const char *); + #endif +Index: gcc/config.in +=================================================================== +--- gcc/config.in (revision 146981) ++++ gcc/config.in (working copy) +@@ -101,6 +101,12 @@ + #endif + + ++/* Define if gcc should always pass --build-id to linker. */ ++#ifndef USED_FOR_TARGET ++#undef ENABLE_LD_BUILDID ++#endif ++ ++ + /* Define to 1 if translation of program messages to the user's native + language is requested. */ + #ifndef USED_FOR_TARGET +@@ -1025,6 +1031,12 @@ + #endif + + ++/* Define if your linker supports --build-id. */ ++#ifndef USED_FOR_TARGET ++#undef HAVE_LD_BUILDID ++#endif ++ ++ + /* Define if your linker supports --demangle option. */ + #ifndef USED_FOR_TARGET + #undef HAVE_LD_DEMANGLE --- gcc-4.3-4.3.4.orig/debian/patches/libjava-extra-cflags.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-extra-cflags.dpatch @@ -0,0 +1,819 @@ +#! /bin/sh -e + +# DP: libjava/classpath: Set and use EXTRA_CFLAGS. + +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 -p0 < $0 + cd ${dir}libjava/classpath \ + && AUTOM4TE=autom4te2.59 aclocal-1.9 -I m4 -I ../.. -I ../../config \ + && autoconf2.59 -I m4 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + rm -f ${dir}libjava/classpath/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-06-11 Andrew Haley + + * native/jawt/Makefile.am, + native/fdlibm/Makefile.am, + native/jni/java-util/Makefile.am, + native/jni/gstreamer-peer/Makefile.am, + native/jni/native-lib/Makefile.am, + native/jni/gconf-peer/Makefile.am, + native/jni/gtk-peer/Makefile.am, + native/jni/xmlj/Makefile.am, + native/jni/midi-alsa/Makefile.am, + native/jni/java-nio/Makefile.am, + native/jni/midi-dssi/Makefile.am, + native/jni/classpath/Makefile.am, + native/jni/java-io/Makefile.am, + native/jni/java-lang/Makefile.am, + native/jni/java-net/Makefile.am (AM_CFLAGS): Add @EXTRA_CFLAGS@. + * configure.ac (EXTRA_CFLAGS): New macro. + + * lib/Makefile.am (resources): Add .svn. + +Index: libjava/classpath/Makefile.in +=================================================================== +--- libjava/classpath/Makefile.in (revision 137216) ++++ libjava/classpath/Makefile.in (working copy) +@@ -183,6 +183,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/native/jni/classpath/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/classpath/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/classpath/Makefile.in (working copy) +@@ -153,6 +153,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -340,7 +341,9 @@ + + AM_LDFLAGS = @CLASSPATH_CONVENIENCE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/classpath/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/classpath/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/classpath/Makefile.am (working copy) +@@ -8,4 +8,5 @@ + + AM_LDFLAGS = @CLASSPATH_CONVENIENCE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/midi-dssi/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/midi-dssi/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/midi-dssi/Makefile.in (working copy) +@@ -164,6 +164,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -354,7 +355,7 @@ + # No STRICT_WARNING_CFLAGS here as we use dlsym to load the address of + # a function,and ISO C prohibits casting void pointers, like those returned + # by dlsym, to function pointers. +-AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @EXTRA_CFLAGS@ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/midi-dssi/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/midi-dssi/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/midi-dssi/Makefile.am (working copy) +@@ -12,4 +12,4 @@ + # No STRICT_WARNING_CFLAGS here as we use dlsym to load the address of + # a function,and ISO C prohibits casting void pointers, like those returned + # by dlsym, to function pointers. +-AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/Makefile.in (working copy) +@@ -143,6 +143,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/native/jni/gstreamer-peer/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/gstreamer-peer/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/gstreamer-peer/Makefile.in (working copy) +@@ -163,6 +163,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -359,7 +360,8 @@ + # gstreamer contain broken prototypes (by design). + AM_CFLAGS = @WARNING_CFLAGS@ -Wno-write-strings -Wno-missing-field-initializers \ + @ERROR_CFLAGS@ -Wno-unused-parameter @GSTREAMER_BASE_CFLAGS@ \ +- @GDK_CFLAGS@ @GSTREAMER_CFLAGS@ @GSTREAMER_PLUGINS_BASE_CFLAGS@ ++ @GDK_CFLAGS@ @GSTREAMER_CFLAGS@ @GSTREAMER_PLUGINS_BASE_CFLAGS@ \ ++ @EXTRA_CFLAGS@ + + all: all-am + +Index: libjava/classpath/native/jni/gstreamer-peer/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/gstreamer-peer/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/gstreamer-peer/Makefile.am (working copy) +@@ -19,4 +19,5 @@ + # gstreamer contain broken prototypes (by design). + AM_CFLAGS = @WARNING_CFLAGS@ -Wno-write-strings -Wno-missing-field-initializers \ + @ERROR_CFLAGS@ -Wno-unused-parameter @GSTREAMER_BASE_CFLAGS@ \ +- @GDK_CFLAGS@ @GSTREAMER_CFLAGS@ @GSTREAMER_PLUGINS_BASE_CFLAGS@ ++ @GDK_CFLAGS@ @GSTREAMER_CFLAGS@ @GSTREAMER_PLUGINS_BASE_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/gconf-peer/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/gconf-peer/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/gconf-peer/Makefile.in (working copy) +@@ -162,6 +162,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -346,7 +347,9 @@ + libgconfpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version + AM_LDFLAGS = @CLASSPATH_MODULE@ @GCONF_LIBS@ @GDK_LIBS@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @GCONF_CFLAGS@ @GDK_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @GCONF_CFLAGS@ @GDK_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/gconf-peer/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/gconf-peer/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/gconf-peer/Makefile.am (working copy) +@@ -10,4 +10,5 @@ + + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ + +-AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @GCONF_CFLAGS@ @GDK_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @GCONF_CFLAGS@ @GDK_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/java-io/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/java-io/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/java-io/Makefile.in (working copy) +@@ -164,6 +164,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -352,7 +353,9 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/java-io/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/java-io/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/java-io/Makefile.am (working copy) +@@ -9,4 +9,5 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/native-lib/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/native-lib/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/native-lib/Makefile.in (working copy) +@@ -153,6 +153,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -342,7 +343,9 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/native-lib/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/native-lib/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/native-lib/Makefile.am (working copy) +@@ -9,4 +9,5 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/java-util/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/java-util/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/java-util/Makefile.in (working copy) +@@ -161,6 +161,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -343,7 +344,9 @@ + libjavautil_la_SOURCES = java_util_VMTimeZone.c + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/java-util/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/java-util/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/java-util/Makefile.am (working copy) +@@ -4,4 +4,6 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ +Index: libjava/classpath/native/jni/java-lang/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/java-lang/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/java-lang/Makefile.in (working copy) +@@ -178,6 +178,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -371,7 +372,9 @@ + libjavalangmanagement_la_SOURCES = gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/java-lang/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/java-lang/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/java-lang/Makefile.am (working copy) +@@ -16,4 +16,5 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/midi-alsa/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/midi-alsa/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/midi-alsa/Makefile.in (working copy) +@@ -164,6 +164,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -351,7 +352,9 @@ + libgjsmalsa_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ `pkg-config --cflags-only-I alsa` +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ `pkg-config --cflags-only-other alsa` ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ `pkg-config --cflags-only-other alsa` \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/midi-alsa/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/midi-alsa/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/midi-alsa/Makefile.am (working copy) +@@ -9,4 +9,5 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ `pkg-config --cflags-only-I alsa` +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ `pkg-config --cflags-only-other alsa` ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ `pkg-config --cflags-only-other alsa` \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/java-nio/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/java-nio/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/java-nio/Makefile.in (working copy) +@@ -172,6 +172,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -371,7 +372,9 @@ + EXTRA_DIST = javanio.c + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/java-nio/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/java-nio/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/java-nio/Makefile.am (working copy) +@@ -20,4 +20,5 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/java-net/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/java-net/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/java-net/Makefile.in (working copy) +@@ -174,6 +174,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -372,7 +373,9 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ ++ + all: all-am + + .SUFFIXES: +Index: libjava/classpath/native/jni/java-net/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/java-net/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/java-net/Makefile.am (working copy) +@@ -22,4 +22,5 @@ + + AM_LDFLAGS = @CLASSPATH_MODULE@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ ++ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/jni/xmlj/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/xmlj/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/xmlj/Makefile.in (working copy) +@@ -163,6 +163,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -363,7 +364,9 @@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ + + # Don't enable ERROR flags. Code isn't warning free yet. +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @XML_CFLAGS@ @XSLT_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @XML_CFLAGS@ \ ++ @XSLT_CFLAGS@ @EXTRA_CFLAGS@ ++ + EXTRA_DIST = BUGS + all: all-am + +Index: libjava/classpath/native/jni/xmlj/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/xmlj/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/xmlj/Makefile.am (working copy) +@@ -22,6 +22,7 @@ + AM_CPPFLAGS = @CLASSPATH_INCLUDES@ + + # Don't enable ERROR flags. Code isn't warning free yet. +-AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @XML_CFLAGS@ @XSLT_CFLAGS@ ++AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @XML_CFLAGS@ \ ++ @XSLT_CFLAGS@ @EXTRA_CFLAGS@ + + EXTRA_DIST = BUGS +Index: libjava/classpath/native/jni/qt-peer/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/qt-peer/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/qt-peer/Makefile.in (working copy) +@@ -179,6 +179,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/native/jni/gtk-peer/Makefile.in +=================================================================== +--- libjava/classpath/native/jni/gtk-peer/Makefile.in (revision 137216) ++++ libjava/classpath/native/jni/gtk-peer/Makefile.in (working copy) +@@ -200,6 +200,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -438,7 +439,7 @@ + # headers contain broken prototypes (by design, see gtkitemfactory.h). + AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ \ + @GTK_CFLAGS@ @FREETYPE2_CFLAGS@ @PANGOFT2_CFLAGS@ \ +- @X_CFLAGS@ ++ @X_CFLAGS@ @EXTRA_CFLAGS@ + + all: all-am + +Index: libjava/classpath/native/jni/gtk-peer/Makefile.am +=================================================================== +--- libjava/classpath/native/jni/gtk-peer/Makefile.am (revision 137216) ++++ libjava/classpath/native/jni/gtk-peer/Makefile.am (working copy) +@@ -58,4 +58,4 @@ + # headers contain broken prototypes (by design, see gtkitemfactory.h). + AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ \ + @GTK_CFLAGS@ @FREETYPE2_CFLAGS@ @PANGOFT2_CFLAGS@ \ +- @X_CFLAGS@ ++ @X_CFLAGS@ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/Makefile.in +=================================================================== +--- libjava/classpath/native/Makefile.in (revision 137216) ++++ libjava/classpath/native/Makefile.in (working copy) +@@ -143,6 +143,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/native/jawt/Makefile.in +=================================================================== +--- libjava/classpath/native/jawt/Makefile.in (revision 137216) ++++ libjava/classpath/native/jawt/Makefile.in (working copy) +@@ -162,6 +162,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -350,7 +351,7 @@ + # Just the WARNING_CFLAGS. We cannot use the strict flags since the gtk + # headers contain broken prototypes (by design, see gtkitemfactory.h). + AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ \ +- @GTK_CFLAGS@ @PANGOFT2_CFLAGS@ ++ @GTK_CFLAGS@ @PANGOFT2_CFLAGS@ @EXTRA_CFLAGS@ + + all: all-am + +Index: libjava/classpath/native/jawt/Makefile.am +=================================================================== +--- libjava/classpath/native/jawt/Makefile.am (revision 137216) ++++ libjava/classpath/native/jawt/Makefile.am (working copy) +@@ -10,4 +10,4 @@ + # Just the WARNING_CFLAGS. We cannot use the strict flags since the gtk + # headers contain broken prototypes (by design, see gtkitemfactory.h). + AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ \ +- @GTK_CFLAGS@ @PANGOFT2_CFLAGS@ ++ @GTK_CFLAGS@ @PANGOFT2_CFLAGS@ @EXTRA_CFLAGS@ +Index: libjava/classpath/native/fdlibm/Makefile.in +=================================================================== +--- libjava/classpath/native/fdlibm/Makefile.in (revision 137216) ++++ libjava/classpath/native/fdlibm/Makefile.in (working copy) +@@ -162,6 +162,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -400,6 +401,7 @@ + namespace.h + + AM_LDFLAGS = @CLASSPATH_CONVENIENCE@ ++AM_CFLAGS = @EXTRA_CFLAGS@ + all: all-am + + .SUFFIXES: +@@ -702,9 +704,7 @@ + uninstall-info-am + + +-# We just want the standard flags for fdlibm since it is an upstream lib +-# and our normal -pedantic -Wall -Werror breaks this lib. So no AM_CFLAGS. +-# We also don't need extra includes, so no AM_CPPFLAGS either. ++# We don't need extra includes, so no AM_CPPFLAGS. + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +Index: libjava/classpath/native/fdlibm/Makefile.am +=================================================================== +--- libjava/classpath/native/fdlibm/Makefile.am (revision 137216) ++++ libjava/classpath/native/fdlibm/Makefile.am (working copy) +@@ -60,6 +60,6 @@ + + AM_LDFLAGS = @CLASSPATH_CONVENIENCE@ + +-# We just want the standard flags for fdlibm since it is an upstream lib +-# and our normal -pedantic -Wall -Werror breaks this lib. So no AM_CFLAGS. +-# We also don't need extra includes, so no AM_CPPFLAGS either. ++AM_CFLAGS = @EXTRA_CFLAGS@ ++ ++# We don't need extra includes, so no AM_CPPFLAGS. +Index: libjava/classpath/native/plugin/Makefile.in +=================================================================== +--- libjava/classpath/native/plugin/Makefile.in (revision 137216) ++++ libjava/classpath/native/plugin/Makefile.in (working copy) +@@ -161,6 +161,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/resource/Makefile.in +=================================================================== +--- libjava/classpath/resource/Makefile.in (revision 137216) ++++ libjava/classpath/resource/Makefile.in (working copy) +@@ -146,6 +146,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/scripts/Makefile.in +=================================================================== +--- libjava/classpath/scripts/Makefile.in (revision 137216) ++++ libjava/classpath/scripts/Makefile.in (working copy) +@@ -136,6 +136,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/tools/Makefile.in +=================================================================== +--- libjava/classpath/tools/Makefile.in (revision 137216) ++++ libjava/classpath/tools/Makefile.in (working copy) +@@ -238,6 +238,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/configure.ac +=================================================================== +--- libjava/classpath/configure.ac (revision 137216) ++++ libjava/classpath/configure.ac (working copy) +@@ -503,6 +503,12 @@ + WARNING_CFLAGS='-W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long' + AC_SUBST(WARNING_CFLAGS) + ++ dnl CFLAGS that are used for all native code. We want to compile ++ dnl everything with unwinder data so that backtrace() will always ++ dnl work. ++ EXTRA_CFLAGS='-fexceptions -fasynchronous-unwind-tables' ++ AC_SUBST(EXTRA_CFLAGS) ++ + dnl Strict warning flags which not every module uses. + dnl Should probably be configurable. + STRICT_WARNING_CFLAGS='-Wstrict-prototypes -pedantic' +Index: libjava/classpath/doc/Makefile.in +=================================================================== +--- libjava/classpath/doc/Makefile.in (revision 137216) ++++ libjava/classpath/doc/Makefile.in (working copy) +@@ -160,6 +160,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/doc/api/Makefile.in +=================================================================== +--- libjava/classpath/doc/api/Makefile.in (revision 137216) ++++ libjava/classpath/doc/api/Makefile.in (working copy) +@@ -137,6 +137,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/lib/Makefile.in +=================================================================== +--- libjava/classpath/lib/Makefile.in (revision 137216) ++++ libjava/classpath/lib/Makefile.in (working copy) +@@ -140,6 +140,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +@@ -555,7 +556,7 @@ + if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ + cp $(top_srcdir)/resource/$$p $$p; \ + done +- @list=`cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name \*\.in -prune -o -type f -print`; for p in $$list; do \ ++ @list=`cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name .svn -prune -o -name \*\.in -prune -o -type f -print`; for p in $$list; do \ + dirname=`dirname $$p`; \ + if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ + cp $(top_srcdir)/resource/$$p $$p; \ +Index: libjava/classpath/lib/Makefile.am +=================================================================== +--- libjava/classpath/lib/Makefile.am (revision 137216) ++++ libjava/classpath/lib/Makefile.am (working copy) +@@ -96,7 +96,7 @@ + if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ + cp $(top_srcdir)/resource/$$p $$p; \ + done +- @list=`cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name \*\.in -prune -o -type f -print`; for p in $$list; do \ ++ @list=`cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name .svn -prune -o -name \*\.in -prune -o -type f -print`; for p in $$list; do \ + dirname=`dirname $$p`; \ + if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ + cp $(top_srcdir)/resource/$$p $$p; \ +Index: libjava/classpath/external/Makefile.in +=================================================================== +--- libjava/classpath/external/Makefile.in (revision 137216) ++++ libjava/classpath/external/Makefile.in (working copy) +@@ -144,6 +144,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/external/sax/Makefile.in +=================================================================== +--- libjava/classpath/external/sax/Makefile.in (revision 137216) ++++ libjava/classpath/external/sax/Makefile.in (working copy) +@@ -135,6 +135,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/external/w3c_dom/Makefile.in +=================================================================== +--- libjava/classpath/external/w3c_dom/Makefile.in (revision 137216) ++++ libjava/classpath/external/w3c_dom/Makefile.in (working copy) +@@ -135,6 +135,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/external/jsr166/Makefile.in +=================================================================== +--- libjava/classpath/external/jsr166/Makefile.in (revision 137216) ++++ libjava/classpath/external/jsr166/Makefile.in (working copy) +@@ -135,6 +135,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/external/relaxngDatatype/Makefile.in +=================================================================== +--- libjava/classpath/external/relaxngDatatype/Makefile.in (revision 137216) ++++ libjava/classpath/external/relaxngDatatype/Makefile.in (working copy) +@@ -135,6 +135,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/include/Makefile.in +=================================================================== +--- libjava/classpath/include/Makefile.in (revision 137216) ++++ libjava/classpath/include/Makefile.in (working copy) +@@ -136,6 +136,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ +Index: libjava/classpath/examples/Makefile.in +=================================================================== +--- libjava/classpath/examples/Makefile.in (revision 137216) ++++ libjava/classpath/examples/Makefile.in (working copy) +@@ -146,6 +146,7 @@ + ERROR_CFLAGS = @ERROR_CFLAGS@ + EXAMPLESDIR = @EXAMPLESDIR@ + EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ + FASTJAR = @FASTJAR@ + FGREP = @FGREP@ + FIND = @FIND@ --- gcc-4.3-4.3.4.orig/debian/patches/ada-gcc-name.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-gcc-name.dpatch @@ -0,0 +1,87 @@ +#! /bin/sh -e + +# DP: use gcc-4.3 instead of gcc as the command name. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/ada/comperr.adb +=================================================================== +--- gcc/ada/comperr.adb.orig 2007-09-10 18:53:41.000000000 +0200 ++++ gcc/ada/comperr.adb 2007-12-05 00:15:52.596687382 +0100 +@@ -330,7 +330,7 @@ + End_Line; + + Write_Str +- ("| Include the exact gcc or gnatmake command " & ++ ("| Include the exact gcc-4.3 or gnatmake command " & + "that you entered."); + End_Line; + +Index: gcc/ada/gnatlink.adb +=================================================================== +--- gcc/ada/gnatlink.adb.orig 2007-10-19 15:14:33.000000000 +0200 ++++ gcc/ada/gnatlink.adb 2007-12-05 00:15:52.596687382 +0100 +@@ -137,7 +137,7 @@ + -- This table collects the arguments to be passed to compile the binder + -- generated file. + +- Gcc : String_Access := Program_Name ("gcc"); ++ Gcc : String_Access := Program_Name ("gcc-4.3"); + + Read_Mode : constant String := "r" & ASCII.Nul; + +@@ -1368,7 +1368,8 @@ + end if; + + Write_Line (" --GCC=comp Use comp as the compiler"); +- Write_Line (" --LINK=nam Use 'nam' for the linking rather than 'gcc'"); ++ Write_Line (" --LINK=nam Use 'nam' for the linking rather " & ++ "than 'gcc-4.3'"); + Write_Eol; + Write_Line (" [non-Ada-objects] list of non Ada object files"); + Write_Line (" [linker-options] other options for the linker"); +Index: gcc/ada/make.adb +=================================================================== +--- gcc/ada/make.adb.orig 2007-10-19 15:14:33.000000000 +0200 ++++ gcc/ada/make.adb 2007-12-05 00:15:52.604687208 +0100 +@@ -662,7 +662,7 @@ + -- Compiler, Binder & Linker Data and Subprograms -- + ---------------------------------------------------- + +- Gcc : String_Access := Program_Name ("gcc"); ++ Gcc : String_Access := Program_Name ("gcc-4.3"); + Gnatbind : String_Access := Program_Name ("gnatbind"); + Gnatlink : String_Access := Program_Name ("gnatlink"); + -- Default compiler, binder, linker programs +Index: gcc/ada/gnatchop.adb +=================================================================== +--- gcc/ada/gnatchop.adb.orig 2007-10-19 15:14:33.000000000 +0200 ++++ gcc/ada/gnatchop.adb 2007-12-05 00:15:52.612687034 +0100 +@@ -44,7 +44,7 @@ + Config_File_Name : constant String_Access := new String'("gnat.adc"); + -- The name of the file holding the GNAT configuration pragmas + +- Gcc : String_Access := new String'("gcc"); ++ Gcc : String_Access := new String'("gcc-4.3"); + -- May be modified by switch --GCC= + + Gcc_Set : Boolean := False; --- gcc-4.3-4.3.4.orig/debian/patches/deb-protoize.dpatch +++ gcc-4.3-4.3.4/debian/patches/deb-protoize.dpatch @@ -0,0 +1,47 @@ +#! /bin/sh -e + +# DP: build protoize/unprotoize binaries + +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $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 -p0 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/Makefile.in.orig 2007-09-06 21:31:39.864036975 +0200 ++++ gcc/Makefile.in 2007-09-06 21:33:57.836118252 +0200 +@@ -137,7 +137,7 @@ + + # Selection of languages to be made. + CONFIG_LANGUAGES = @all_selected_languages@ +-LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES) ++LANGUAGES = c proto gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES) + + # Various ways of specifying flags for compilations: + # CFLAGS is for the user to override to, e.g., do a cross build with -O2. +@@ -3280,14 +3280,14 @@ + protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h + (SHLIB_LINK='$(SHLIB_LINK)'; \ +- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ ++ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Wno-error \ + $(DRIVER_DEFINES) \ + $(srcdir)/protoize.c $(OUTPUT_OPTION)) + + unprotoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) \ + $(SYSTEM_H) coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h + (SHLIB_LINK='$(SHLIB_LINK)'; \ +- $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ ++ $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Wno-error \ + $(DRIVER_DEFINES) \ + $(srcdir)/protoize.c $(OUTPUT_OPTION)) + --- gcc-4.3-4.3.4.orig/debian/patches/alpha-ieee-doc.dpatch +++ gcc-4.3-4.3.4/debian/patches/alpha-ieee-doc.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +# DP: #212912 +# DP: on alpha-linux, make -mieee default and add -mieee-disable switch +# DP: to turn default off (doc patch) + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- src/gcc/doc/invoke.texi~ 2005-09-29 20:00:57.638380128 +0200 ++++ src/gcc/doc/invoke.texi 2005-09-30 22:23:22.922502992 +0200 +@@ -7670,6 +7670,13 @@ + values such as not-a-number and plus/minus infinity. Other Alpha + compilers call this option @option{-ieee_with_no_inexact}. + ++DEBIAN SPECIFIC: This option is on by default, unless ++@option{-ffinite-math-only} (which is part of the @option{-ffast-math} ++set) is specified, because the software functions in the GNU libc math ++libraries generate denormalized numbers, NaNs, and infs (all of which ++will cause a programs to SIGFPE when it attempts to use the results without ++@option{-mieee}). ++ + @item -mieee-with-inexact + @opindex mieee-with-inexact + This is like @option{-mieee} except the generated code also maintains --- gcc-4.3-4.3.4.orig/debian/patches/ignore-comp-fail.dpatch +++ gcc-4.3-4.3.4/debian/patches/ignore-comp-fail.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# DP: Ignore the bootstrap comparision failure + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- Makefile.in.orig 2010-03-21 10:30:52.162335871 +0000 ++++ Makefile.in 2010-03-21 10:31:07.772335843 +0000 +@@ -50544,7 +50544,9 @@ + if [ -f .bad_compare ]; then \ + echo "Bootstrap comparison failure!"; \ + cat .bad_compare; \ +- exit 1; \ ++ echo ""; \ ++ echo "Ignore the comparision failure!"; \ ++ true; \ + else \ + echo Comparison successful.; \ + fi ; \ --- gcc-4.3-4.3.4.orig/debian/patches/sparc-force-v9.dpatch +++ gcc-4.3-4.3.4/debian/patches/sparc-force-v9.dpatch @@ -0,0 +1,41 @@ +#! /bin/sh -e + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# DP: On sparc default to v9 in 32bit mode + +--- gcc/config.gcc~ 2009-10-18 03:09:56.000000000 +0200 ++++ gcc/config.gcc 2009-10-21 14:44:57.000000000 +0200 +@@ -3156,6 +3156,13 @@ + ;; + esac + ++ # setting this directly fails to build a biarch defaulting to 32bit ++ case "$target" in sparc-*-linux*) ++ if test "$option" = cpu && test "$val" = v7; then ++ val=v9 ++ fi ++ esac ++ + if test "x$t" = x + then + t="{ \"$option\", \"$val\" }" --- gcc-4.3-4.3.4.orig/debian/patches/ada-libgnatvsn.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-libgnatvsn.dpatch @@ -0,0 +1,1598 @@ +#! /bin/sh -e + +# DP: - Introduce a new shared library named libgnatvsn, containing +# DP: common components of GNAT under the GNAT-Modified GPL, for +# DP: use in GNAT tools, ASIS, GLADE and GPS. Link the gnat tools +# DP: against this new library. + +# This patch seems large, but the hunks in Makefile.in are actually +# generated from Makefile.def using autogen. + +# !!! Must be applied after ada-link-lib.dpatch + +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 -p0 < $0 + cd ${dir} && autoreconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/ada/config-lang.in +=================================================================== +--- gcc/ada/config-lang.in.orig ++++ gcc/ada/config-lang.in +@@ -34,8 +34,8 @@ + + outputs=ada/Makefile + +-target_libs="target-libada" +-lang_dirs="libada gnattools" ++target_libs="target-libada target-libgnatvsn" ++lang_dirs="libada libgnatvsn gnattools" + + # Ada will not work until the front end starts emitting GIMPLE trees. + build_by_default=no +Index: gnattools/Makefile.in +=================================================================== +--- gnattools/Makefile.in.orig ++++ gnattools/Makefile.in +@@ -37,10 +35,11 @@ + CFLAGS=-O2 -Wall + INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc + ADA_CFLAGS=-O2 -gnatn +-ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I@srcdir@/../gcc/ada ++ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn + LIB_VERSION=$(strip $(shell grep ' Library_Version :' \ +- @srcdir@/../gcc/ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) ++ ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) + ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION) ++ADA_LIBS += -L../libgnatvsn -lgnatvsn + + # We will use the just-built compiler to compile and link everything. + GCC=../gcc/xgcc -B../gcc/ +@@ -66,62 +65,34 @@ + # Since we don't have gnatmake, we must specify the full list of + # object files necessary to build gnatmake and gnatlink. + # TODO: remove from these lists the objects that are part of +-# libgnatvsn and libgnatprj. ++# libgnatprj. + GNATLINK_OBJS = \ + ali.o \ +-alloc.o \ + butil.o \ +-casing.o \ +-csets.o \ +-debug.o \ + fmap.o \ +-fname.o \ + gnatlink.o \ +-gnatvsn.o \ +-hostparm.o \ + indepsw.o \ +-namet.o \ +-opt.o \ + osint.o \ +-output.o \ + prefix.o \ + rident.o \ + sdefault.o \ +-snames.o \ + stylesw.o \ + switch.o \ +-table.o \ + targparm.o \ +-tree_io.o \ +-types.o \ +-validsw.o \ +-version.o \ +-widechar.o ++validsw.o + + GNATMAKE_OBJS = \ + ali-util.o \ + ali.o \ +-alloc.o \ +-atree.o \ + binderr.o \ + butil.o \ +-casing.o \ +-csets.o \ +-debug.o \ +-einfo.o\ +-elists.o \ + err_vars.o \ + erroutc.o \ + errutil.o \ + fmap.o \ + fname-sf.o \ + fname-uf.o \ +-fname.o \ + gnatmake.o \ +-gnatvsn.o \ +-hostparm.o \ +-krunch.o \ +-lib.o \ + make.o \ + makeusg.o \ + makeutl.o \ +@@ -131,12 +102,8 @@ + mlib-tgt-specific.o \ + mlib-utl.o \ + mlib.o \ +-namet.o \ +-nlists.o \ +-opt.o \ + osint-m.o \ + osint.o \ +-output.o \ + prefix.o \ + prj-attr-pm.o \ + prj-attr.o \ +@@ -154,47 +121,59 @@ + prj-util.o \ + prj.o \ + rident.o \ +-scans.o \ + scng.o \ + sdefault.o \ + sfn_scan.o \ +-sinfo.o \ + sinput-c.o \ + sinput-p.o \ +-sinput.o \ +-snames.o \ +-stand.o \ +-stringt.o \ + styleg.o \ + stylesw.o \ + switch-m.o \ + switch.o \ +-table.o \ + targparm.o \ + tempdir.o \ +-tree_io.o \ +-types.o \ +-uintp.o \ +-uname.o \ +-urealp.o \ + usage.o \ + validsw.o \ +-version.o \ +-widechar.o \ + $(EXTRA_GNATMAKE_OBJS) + ++ ++EXTRA_TOOLS_OBJS = \ ++bcheck.o \ ++binde.o \ ++bindgen.o \ ++bindusg.o \ ++clean.o \ ++gprep.o \ ++makegpr.o \ ++osint-b.o \ ++osint-l.o \ ++prep.o \ ++prj-makr.o \ ++prj-pp.o \ ++switch-b.o \ ++vms_conv.o \ ++vms_data.o \ ++xr_tabls.o \ ++xref_lib.o ++ ++OBJECTS = $(GNATLINK_OBJS) $(GNATMAKE_OBJS) $(EXTRA_TOOLS_OBJS) ++ + # Makefile targets + # ---------------- + + .PHONY: gnattools gnattools-native gnattools-cross regnattools + gnattools: @default_gnattools_target@ + +-# Build directory for the tools. Let's copy the target-dependent +-# sources using the same mechanism as for gnatlib. The other sources are +-# accessed using the vpath directive. ++BODIES := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.adb,$(f)))) ++SPECS := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.ads,$(f)))) ++ ++$(notdir $(SPECS) $(BODIES)): stamp-gnattools-sources + + stamp-gnattools-sources: +- $(LN_S) ../gcc/ada/sdefault.adb . ++ for file in $(BODIES) $(SPECS); do \ ++ $(LN_S) -f $$file .; \ ++ done ++ rm -f sdefault.adb; $(LN_S) ../gcc/ada/sdefault.adb . + $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ + rm -f $(word 1,$(subst <, ,$(PAIR)));\ + $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \ +@@ -202,6 +181,7 @@ + touch $@ + + gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so ++gnattools-native: ../libgnatvsn/libgnatvsn.so + gnattools-native: stamp-gnattools-sources + gnattools-native: $(TOOLS) gnatbl + +@@ -209,18 +189,16 @@ + + vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc + vpath %.h @srcdir@/../gcc/ada +-vpath %.adb .:@srcdir@/../gcc/ada +-vpath %.ads @srcdir@/../gcc/ada + + # Because the just-built gcc is a host tool like us, we can use some +-# of its object files, e.g. prefix.o and version.o. ++# of its object files, e.g. prefix.o. + vpath prefix.o ../gcc +-vpath version.o ../gcc + + # gnatlink + + gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o + $(GCC) -o $@ $^ \ ++ ../libgnatvsn/libgnatvsn.a \ + ../gcc/ada/rts/libgnat.a \ + ../libiberty/libiberty.a + +@@ -237,6 +215,7 @@ + + gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o + $(GCC) -o $@ $(ADA_CFLAGS) $^ \ ++ ../libgnatvsn/libgnatvsn.a \ + ../gcc/ada/rts/libgnat.a \ + ../libiberty/libiberty.a + +@@ -250,7 +229,8 @@ + ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali + + # Other tools +-gnatkr: version.o ++gnatkr: ++ if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi + ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \ + --GCC="$(GCC)" \ + --GNATBIND=../gcc/gnatbind +@@ -261,7 +241,8 @@ + cp -lp $< $@ + + gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref gprmake: \ +-link.o version.o prefix.o ++link.o prefix.o ++ if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi + ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \ + --GCC="$(GCC)" \ + --GNATBIND=../gcc/gnatbind +@@ -269,7 +250,7 @@ + ../libiberty/libiberty.a \ + --GCC="$(GCC) $(ADA_INCLUDES)" + +-gnatbl: gnatbl.c link.o version.o prefix.o ++gnatbl: gnatbl.c link.o prefix.o + $(GCC) -o $@ $< $(CFLAGS) \ + -I../gcc -I@srcdir@/../gcc/config -I@srcdir@/../gcc \ + -I@srcdir@/../include \ +@@ -290,6 +271,8 @@ + %.o: %.c + $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES) + ++prefix.o: ++ + # Other + # ----- + +@@ -325,13 +308,15 @@ + install-html: + + # Cleaning rules. ++.PHONY: mostlyclean clean distclean ++ + mostlyclean: + $(RM) gnatmake gnatlink $(TOOLS) gnatbl *.o *.ali + +-clean: ++clean: mostlyclean + $(RM) *.ads *.adb stamp-gnattools-sources + +-distclean: ++distclean: clean + $(RM) Makefile config.status config.log + + maintainer-clean: +Index: libgnatvsn/configure +=================================================================== +--- /dev/null ++++ libgnatvsn/configure +@@ -0,0 +1,43 @@ ++#!/bin/sh ++ ++# Minimal configure script for libgnatvsn. We're only interested in ++# a few parameters. ++ ++for arg in $*; do ++ case ${arg} in ++ --build=*) ++ build=`expr ${arg} : '--build=\(.\+\)'`;; ++ --host=*) ++ host=`expr ${arg} : '--host=\(.\+\)'`;; ++ --target=*) ++ target=`expr ${arg} : '--target=\(.\+\)'`;; ++ --prefix=*) ++ prefix=`expr ${arg} : '--prefix=\(.\+\)'`;; ++ --srcdir=*) ++ srcdir=`expr ${arg} : '--srcdir=\(.\+\)'`;; ++ --with-pkgversion=*) ++ pkgversion=`expr ${arg} : '--with-pkgversion=\(.\+\)'`;; ++ --with-bugurl=*) ++ bugurl=`expr ${arg} : '--with-bugurl=\(.\+\)'`;; ++ *) ++ echo "Warning: ignoring option: ${arg}" ++ esac ++done ++ ++echo "build: ${build}" | tee config.log ++echo "host: ${host}" | tee -a config.log ++echo "target: ${target}" | tee -a config.log ++echo "prefix: ${prefix}" | tee -a config.log ++echo "srcdir: ${srcdir}" | tee -a config.log ++echo "pkgversion: ${pkgversion}" | tee -a config.log ++echo "bugurl: ${bugurl}" | tee -a config.log ++ ++echo "Creating Makefile..." | tee -a config.log ++sed -e "s,@build@,${build},g" \ ++ -e "s,@host@,${host},g" \ ++ -e "s,@target@,${target},g" \ ++ -e "s,@prefix@,${prefix},g" \ ++ -e "s,@srcdir@,${srcdir},g" \ ++ -e "s,@PKGVERSION@,${pkgversion},g" \ ++ -e "s,@REPORT_BUGS_TO@,${bugurl},g" \ ++ < ${srcdir}/Makefile.in > Makefile +Index: libgnatvsn/Makefile.in +=================================================================== +--- /dev/null ++++ libgnatvsn/Makefile.in +@@ -0,0 +1,147 @@ ++# Makefile for libgnatvsn. ++# Copyright (c) 2006 Ludovic Brenta ++# ++# 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 of the License, 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, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++# Default target; must be first. ++all: libgnatvsn ++ ++.SUFFIXES: ++ ++CPUS := $(shell getconf _NPROCESSORS_ONLN) ++LIB_VERSION := $(strip $(shell grep ' Library_Version :' \ ++ @srcdir@/../gcc/ada/gnatvsn.ads | \ ++ sed -e 's/.*"\(.*\)".*/\1/')) ++GCC:=../gcc/xgcc -B../gcc/ ++LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts ++CFLAGS := -g -O2 -gnatn ++BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER) ++DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE) ++DATESTAMP := $(shell cat @srcdir@/../gcc/DATESTAMP) ++ ++# For use in version.c - double quoted strings, with appropriate ++# surrounding punctuation and spaces, and with the datestamp and ++# development phase collapsed to the empty string in release mode ++# (i.e. if DEVPHASE_c is empty). The space immediately after the ++# comma in the $(if ...) constructs is significant - do not remove it. ++BASEVER_s := "\"$(BASEVER)\"" ++DEVPHASE_s := "\"$(if $(DEVPHASE), ($(DEVPHASE)))\"" ++DATESTAMP_s := "\"$(if $(DEVPHASE), $(DATESTAMP))\"" ++PKGVERSION_s:= "\"@PKGVERSION@\"" ++BUGURL_s := "\"@REPORT_BUGS_TO@\"" ++ ++ifneq (@build@,@host@) ++ CFLAGS += -b @host@ ++endif ++ ++.PHONY: libgnatvsn install ++libgnatvsn: libgnatvsn.so.$(LIB_VERSION) libgnatvsn.a ++ ++VSN_SOURCES := alloc.ads atree.adb casing.adb csets.adb debug.adb einfo.adb \ ++elists.adb fname.adb gnatvsn.adb hostparm.ads krunch.adb lib.adb namet.adb \ ++nlists.adb opt.adb output.adb repinfo.adb scans.adb sinfo.adb sinput.adb \ ++snames.adb stand.adb stringt.adb table.adb tree_in.adb tree_io.adb types.adb \ ++uintp.adb uname.adb urealp.adb widechar.adb ++ ++VSN_SEPARATES := lib-list.adb lib-sort.adb ++ ++OBJECTS=$(patsubst %.ads,%.o,$(VSN_SOURCES:.adb=.o)) version.o ++ ++vpath %.c @srcdir@/../gcc ++ ++libgnatvsn.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS)) ++ : # Make libgnatvsn.so ++ $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \ ++ -L../gcc/ada/rts -lgnat-$(LIB_VERSION) ++ ln -s libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so ++ chmod a=r obj-shared/*.ali ++# Make the .ali files, but not the .o files, visible to the gnat tools. ++ cp -lp obj-shared/*.ali . ++ ++$(addprefix obj-shared/,$(OBJECTS)): | stamp-libgnatvsn-sources obj-shared ++ ++obj-shared/%.o: %.adb ++ $(GCC) -c -fPIC $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@ ++ ++obj-shared/%.o: %.ads ++ $(GCC) -c -fPIC $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@ ++ ++obj-shared/version.o: version.c ++ $(GCC) -c -fPIC -g -O2 \ ++ -DBASEVER=$(BASEVER_s) \ ++ -DDATESTAMP=$(DATESTAMP_s) \ ++ -DDEVPHASE=$(DEVPHASE_s) \ ++ -DPKGVERSION=$(PKGVERSION_s) \ ++ -DBUGURL=$(BUGURL_s) \ ++ -DREVISION= \ ++ $(realpath $<) -o $@ ++ ++obj-shared: ++ -mkdir $@ ++ ++libgnatvsn.a: $(addprefix obj-static/,$(OBJECTS)) ++ : # Make libgnatvsn.a ++ ar rc $@ $^ ++ ranlib $@ ++ ++$(addprefix obj-static/,$(OBJECTS)): | stamp-libgnatvsn-sources obj-static ++ ++obj-static/%.o: %.adb ++ $(GCC) -c $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@ ++ ++obj-static/%.o: %.ads ++ $(GCC) -c $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@ ++ ++obj-static/version.o: version.c ++ $(GCC) -c -g -O2 \ ++ -DBASEVER=$(BASEVER_s) \ ++ -DDATESTAMP=$(DATESTAMP_s) \ ++ -DDEVPHASE=$(DEVPHASE_s) \ ++ -DPKGVERSION=$(PKGVERSION_s) \ ++ -DBUGURL=$(BUGURL_s) \ ++ -DREVISION= \ ++ $< -o $@ ++ ++obj-static: ++ -mkdir $@ ++ ++$(VSN_SOURCES) $(VSN_SEPARATES): stamp-libgnatvsn-sources ++ ++stamp-libgnatvsn-sources: ++ for file in $(VSN_SOURCES) $(VSN_SEPARATES); do \ ++ ads=$$(echo $$file | sed 's/\.adb/.ads/'); \ ++ if [ -f @srcdir@/../gcc/ada/$$file -a ! -L $$file ] ; then ln -s @srcdir@/../gcc/ada/$$file .; fi; \ ++ if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then ln -s @srcdir@/../gcc/ada/$$ads .; fi; \ ++ done ++ touch $@ ++ ++install: libgnatvsn ++ $(INSTALL_DATA) libgnatvsn.a $(DESTDIR)$(prefix)/lib ++ $(INSTALL_DATA) libgnatvsn.so.$(LIB_VERSION) $(DESTDIR)$(prefix)/lib ++ cd $(DESTDIR)$(prefix)/lib; \ ++ ln -sf libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so ++ mkdir -p $(DESTDIR)$(prefix)/share/ada/adainclude/gnatvsn ++ $(INSTALL_DATA) \ ++ $(addprefix @srcdir@/../gcc/ada/,$(VSN_SOURCES) $(VSN_SEPARATES)) \ ++ $(addprefix @srcdir@/../gcc/ada/,$(patsubst %.adb,%.ads,$(filter %.adb,$(VSN_SOURCES)))) \ ++ $(DESTDIR)$(prefix)/share/ada/adainclude/gnatvsn ++ mkdir -p $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn ++ $(INSTALL) -m 0444 obj-shared/*.ali \ ++ $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn ++ chmod a=r $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn/*.ali ++ ++.PHONY: clean ++clean: ++ rm -rf *.ali obj-static obj-shared libgnatvsn* *.adb *.ads stamp* +Index: Makefile.def +=================================================================== +--- Makefile.def.orig ++++ Makefile.def +@@ -123,6 +123,13 @@ + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++host_modules= { module= libgnatvsn; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + host_modules= { module= gnattools; no_check=true; + missing= info; + missing= dvi; +@@ -161,6 +168,13 @@ + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++target_modules = { module= libgnatvsn; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + target_modules = { module= libgomp; lib_path=.libs; }; + + // These are (some of) the make targets to be done in each subdirectory. +@@ -331,6 +345,8 @@ + dependencies = { module=all-fixincludes; on=all-libiberty; }; + + dependencies = { module=all-gnattools; on=all-libada; }; ++dependencies = { module=all-gnattools; on=all-libgnatvsn; }; ++dependencies = { module=all-libgnatvsn; on=all-libada; }; + + dependencies = { module=configure-mpfr; on=all-gmp; }; + +Index: Makefile.in +=================================================================== +--- Makefile.in.orig ++++ Makefile.in +@@ -698,6 +698,7 @@ + maybe-configure-libtermcap \ + maybe-configure-utils \ + maybe-configure-libada \ ++ maybe-configure-libgnatvsn \ + maybe-configure-gnattools + .PHONY: configure-target + configure-target: \ +@@ -721,6 +722,7 @@ + maybe-configure-target-qthreads \ + maybe-configure-target-rda \ + maybe-configure-target-libada \ ++ maybe-configure-target-libgnatvsn \ + maybe-configure-target-libgomp + + # The target built for a native non-bootstrap build. +@@ -849,6 +851,7 @@ + all-host: maybe-all-libtermcap + all-host: maybe-all-utils + all-host: maybe-all-libada ++all-host: maybe-all-libgnatvsn + all-host: maybe-all-gnattools + + .PHONY: all-target +@@ -875,6 +878,7 @@ + all-target: maybe-all-target-qthreads + all-target: maybe-all-target-rda + all-target: maybe-all-target-libada ++all-target: maybe-all-target-libgnatvsn + all-target: maybe-all-target-libgomp + + # Do a target for all the subdirectories. A ``make do-X'' will do a +@@ -963,6 +967,7 @@ + info-host: maybe-info-libtermcap + info-host: maybe-info-utils + info-host: maybe-info-libada ++info-host: maybe-info-libgnatvsn + info-host: maybe-info-gnattools + + .PHONY: info-target +@@ -987,6 +992,7 @@ + info-target: maybe-info-target-qthreads + info-target: maybe-info-target-rda + info-target: maybe-info-target-libada ++info-target: maybe-info-target-libgnatvsn + info-target: maybe-info-target-libgomp + + .PHONY: do-dvi +@@ -1070,6 +1076,7 @@ + dvi-host: maybe-dvi-libtermcap + dvi-host: maybe-dvi-utils + dvi-host: maybe-dvi-libada ++dvi-host: maybe-dvi-libgnatvsn + dvi-host: maybe-dvi-gnattools + + .PHONY: dvi-target +@@ -1094,6 +1101,7 @@ + dvi-target: maybe-dvi-target-qthreads + dvi-target: maybe-dvi-target-rda + dvi-target: maybe-dvi-target-libada ++dvi-target: maybe-dvi-target-libgnatvsn + dvi-target: maybe-dvi-target-libgomp + + .PHONY: do-pdf +@@ -1177,6 +1185,7 @@ + pdf-host: maybe-pdf-libtermcap + pdf-host: maybe-pdf-utils + pdf-host: maybe-pdf-libada ++pdf-host: maybe-pdf-libgnatvsn + pdf-host: maybe-pdf-gnattools + + .PHONY: pdf-target +@@ -1201,6 +1210,7 @@ + pdf-target: maybe-pdf-target-qthreads + pdf-target: maybe-pdf-target-rda + pdf-target: maybe-pdf-target-libada ++pdf-target: maybe-pdf-target-libgnatvsn + pdf-target: maybe-pdf-target-libgomp + + .PHONY: do-html +@@ -1284,6 +1294,7 @@ + html-host: maybe-html-libtermcap + html-host: maybe-html-utils + html-host: maybe-html-libada ++html-host: maybe-html-libgnatvsn + html-host: maybe-html-gnattools + + .PHONY: html-target +@@ -1308,6 +1319,7 @@ + html-target: maybe-html-target-qthreads + html-target: maybe-html-target-rda + html-target: maybe-html-target-libada ++html-target: maybe-html-target-libgnatvsn + html-target: maybe-html-target-libgomp + + .PHONY: do-TAGS +@@ -1391,6 +1403,7 @@ + TAGS-host: maybe-TAGS-libtermcap + TAGS-host: maybe-TAGS-utils + TAGS-host: maybe-TAGS-libada ++TAGS-host: maybe-TAGS-libgnatvsn + TAGS-host: maybe-TAGS-gnattools + + .PHONY: TAGS-target +@@ -1415,6 +1428,7 @@ + TAGS-target: maybe-TAGS-target-qthreads + TAGS-target: maybe-TAGS-target-rda + TAGS-target: maybe-TAGS-target-libada ++TAGS-target: maybe-TAGS-target-libgnatvsn + TAGS-target: maybe-TAGS-target-libgomp + + .PHONY: do-install-info +@@ -1498,6 +1512,7 @@ + install-info-host: maybe-install-info-libtermcap + install-info-host: maybe-install-info-utils + install-info-host: maybe-install-info-libada ++install-info-host: maybe-install-info-libgnatvsn + install-info-host: maybe-install-info-gnattools + + .PHONY: install-info-target +@@ -1522,6 +1537,7 @@ + install-info-target: maybe-install-info-target-qthreads + install-info-target: maybe-install-info-target-rda + install-info-target: maybe-install-info-target-libada ++install-info-target: maybe-install-info-target-libgnatvsn + install-info-target: maybe-install-info-target-libgomp + + .PHONY: do-install-pdf +@@ -1605,6 +1621,7 @@ + install-pdf-host: maybe-install-pdf-libtermcap + install-pdf-host: maybe-install-pdf-utils + install-pdf-host: maybe-install-pdf-libada ++install-pdf-host: maybe-install-pdf-libgnatvsn + install-pdf-host: maybe-install-pdf-gnattools + + .PHONY: install-pdf-target +@@ -1629,6 +1646,7 @@ + install-pdf-target: maybe-install-pdf-target-qthreads + install-pdf-target: maybe-install-pdf-target-rda + install-pdf-target: maybe-install-pdf-target-libada ++install-pdf-target: maybe-install-pdf-target-libgnatvsn + install-pdf-target: maybe-install-pdf-target-libgomp + + .PHONY: do-install-html +@@ -1712,6 +1730,7 @@ + install-html-host: maybe-install-html-libtermcap + install-html-host: maybe-install-html-utils + install-html-host: maybe-install-html-libada ++install-html-host: maybe-install-html-libgnatvsn + install-html-host: maybe-install-html-gnattools + + .PHONY: install-html-target +@@ -1736,6 +1755,7 @@ + install-html-target: maybe-install-html-target-qthreads + install-html-target: maybe-install-html-target-rda + install-html-target: maybe-install-html-target-libada ++install-html-target: maybe-install-html-target-libgnatvsn + install-html-target: maybe-install-html-target-libgomp + + .PHONY: do-installcheck +@@ -1819,6 +1839,7 @@ + installcheck-host: maybe-installcheck-libtermcap + installcheck-host: maybe-installcheck-utils + installcheck-host: maybe-installcheck-libada ++installcheck-host: maybe-installcheck-libgnatvsn + installcheck-host: maybe-installcheck-gnattools + + .PHONY: installcheck-target +@@ -1843,6 +1864,7 @@ + installcheck-target: maybe-installcheck-target-qthreads + installcheck-target: maybe-installcheck-target-rda + installcheck-target: maybe-installcheck-target-libada ++installcheck-target: maybe-installcheck-target-libgnatvsn + installcheck-target: maybe-installcheck-target-libgomp + + .PHONY: do-mostlyclean +@@ -1926,6 +1948,7 @@ + mostlyclean-host: maybe-mostlyclean-libtermcap + mostlyclean-host: maybe-mostlyclean-utils + mostlyclean-host: maybe-mostlyclean-libada ++mostlyclean-host: maybe-mostlyclean-libgnatvsn + mostlyclean-host: maybe-mostlyclean-gnattools + + .PHONY: mostlyclean-target +@@ -1950,6 +1973,7 @@ + mostlyclean-target: maybe-mostlyclean-target-qthreads + mostlyclean-target: maybe-mostlyclean-target-rda + mostlyclean-target: maybe-mostlyclean-target-libada ++mostlyclean-target: maybe-mostlyclean-target-libgnatvsn + mostlyclean-target: maybe-mostlyclean-target-libgomp + + .PHONY: do-clean +@@ -2033,6 +2057,7 @@ + clean-host: maybe-clean-libtermcap + clean-host: maybe-clean-utils + clean-host: maybe-clean-libada ++clean-host: maybe-clean-libgnatvsn + clean-host: maybe-clean-gnattools + + .PHONY: clean-target +@@ -2057,6 +2082,7 @@ + clean-target: maybe-clean-target-qthreads + clean-target: maybe-clean-target-rda + clean-target: maybe-clean-target-libada ++clean-target: maybe-clean-target-libgnatvsn + clean-target: maybe-clean-target-libgomp + + .PHONY: do-distclean +@@ -2140,6 +2166,7 @@ + distclean-host: maybe-distclean-libtermcap + distclean-host: maybe-distclean-utils + distclean-host: maybe-distclean-libada ++distclean-host: maybe-distclean-libgnatvsn + distclean-host: maybe-distclean-gnattools + + .PHONY: distclean-target +@@ -2164,6 +2191,7 @@ + distclean-target: maybe-distclean-target-qthreads + distclean-target: maybe-distclean-target-rda + distclean-target: maybe-distclean-target-libada ++distclean-target: maybe-distclean-target-libgnatvsn + distclean-target: maybe-distclean-target-libgomp + + .PHONY: do-maintainer-clean +@@ -2247,6 +2275,7 @@ + maintainer-clean-host: maybe-maintainer-clean-libtermcap + maintainer-clean-host: maybe-maintainer-clean-utils + maintainer-clean-host: maybe-maintainer-clean-libada ++maintainer-clean-host: maybe-maintainer-clean-libgnatvsn + maintainer-clean-host: maybe-maintainer-clean-gnattools + + .PHONY: maintainer-clean-target +@@ -2271,6 +2300,7 @@ + maintainer-clean-target: maybe-maintainer-clean-target-qthreads + maintainer-clean-target: maybe-maintainer-clean-target-rda + maintainer-clean-target: maybe-maintainer-clean-target-libada ++maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn + maintainer-clean-target: maybe-maintainer-clean-target-libgomp + + +@@ -2408,6 +2438,7 @@ + maybe-check-libtermcap \ + maybe-check-utils \ + maybe-check-libada \ ++ maybe-check-libgnatvsn \ + maybe-check-gnattools + + .PHONY: check-target +@@ -2432,6 +2463,7 @@ + maybe-check-target-qthreads \ + maybe-check-target-rda \ + maybe-check-target-libada \ ++ maybe-check-target-libgnatvsn \ + maybe-check-target-libgomp + + do-check: +@@ -2541,6 +2573,7 @@ + maybe-install-libtermcap \ + maybe-install-utils \ + maybe-install-libada \ ++ maybe-install-libgnatvsn \ + maybe-install-gnattools + + .PHONY: install-host +@@ -2615,6 +2648,7 @@ + maybe-install-libtermcap \ + maybe-install-utils \ + maybe-install-libada \ ++ maybe-install-libgnatvsn \ + maybe-install-gnattools + + .PHONY: install-target +@@ -2639,6 +2673,7 @@ + maybe-install-target-qthreads \ + maybe-install-target-rda \ + maybe-install-target-libada \ ++ maybe-install-target-libgnatvsn \ + maybe-install-target-libgomp + + uninstall: +@@ -39206,6 +39241,327 @@ + + + ++.PHONY: configure-libgnatvsn maybe-configure-libgnatvsn ++maybe-configure-libgnatvsn: ++@if gcc-bootstrap ++configure-libgnatvsn: stage_current ++@endif gcc-bootstrap ++@if libgnatvsn ++maybe-configure-libgnatvsn: configure-libgnatvsn ++configure-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ test ! -f $(HOST_SUBDIR)/libgnatvsn/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgnatvsn ; \ ++ $(HOST_EXPORTS) \ ++ echo Configuring in $(HOST_SUBDIR)/libgnatvsn; \ ++ cd "$(HOST_SUBDIR)/libgnatvsn" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(HOST_SUBDIR)/libgnatvsn/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ srcdiroption="--srcdir=$${topdir}/libgnatvsn"; \ ++ libsrcdir="$$s/libgnatvsn"; \ ++ $(SHELL) $${libsrcdir}/configure \ ++ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ ++ --target=${target_alias} $${srcdiroption} \ ++ || exit 1 ++@endif libgnatvsn ++ ++ ++ ++ ++ ++.PHONY: all-libgnatvsn maybe-all-libgnatvsn ++maybe-all-libgnatvsn: ++@if gcc-bootstrap ++all-libgnatvsn: stage_current ++@endif gcc-bootstrap ++@if libgnatvsn ++TARGET-libgnatvsn=all ++maybe-all-libgnatvsn: all-libgnatvsn ++all-libgnatvsn: configure-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libgnatvsn)) ++@endif libgnatvsn ++ ++ ++ ++ ++.PHONY: check-libgnatvsn maybe-check-libgnatvsn ++maybe-check-libgnatvsn: ++@if libgnatvsn ++maybe-check-libgnatvsn: check-libgnatvsn ++ ++check-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: install-libgnatvsn maybe-install-libgnatvsn ++maybe-install-libgnatvsn: ++@if libgnatvsn ++maybe-install-libgnatvsn: install-libgnatvsn ++ ++install-libgnatvsn: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(FLAGS_TO_PASS) install) ++ ++@endif libgnatvsn ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-libgnatvsn info-libgnatvsn ++maybe-info-libgnatvsn: ++@if libgnatvsn ++maybe-info-libgnatvsn: info-libgnatvsn ++ ++# libgnatvsn doesn't support info. ++info-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-dvi-libgnatvsn dvi-libgnatvsn ++maybe-dvi-libgnatvsn: ++@if libgnatvsn ++maybe-dvi-libgnatvsn: dvi-libgnatvsn ++ ++# libgnatvsn doesn't support dvi. ++dvi-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-pdf-libgnatvsn pdf-libgnatvsn ++maybe-pdf-libgnatvsn: ++@if libgnatvsn ++maybe-pdf-libgnatvsn: pdf-libgnatvsn ++ ++pdf-libgnatvsn: \ ++ configure-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing pdf in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-html-libgnatvsn html-libgnatvsn ++maybe-html-libgnatvsn: ++@if libgnatvsn ++maybe-html-libgnatvsn: html-libgnatvsn ++ ++# libgnatvsn doesn't support html. ++html-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-TAGS-libgnatvsn TAGS-libgnatvsn ++maybe-TAGS-libgnatvsn: ++@if libgnatvsn ++maybe-TAGS-libgnatvsn: TAGS-libgnatvsn ++ ++# libgnatvsn doesn't support TAGS. ++TAGS-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-install-info-libgnatvsn install-info-libgnatvsn ++maybe-install-info-libgnatvsn: ++@if libgnatvsn ++maybe-install-info-libgnatvsn: install-info-libgnatvsn ++ ++# libgnatvsn doesn't support install-info. ++install-info-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-install-pdf-libgnatvsn install-pdf-libgnatvsn ++maybe-install-pdf-libgnatvsn: ++@if libgnatvsn ++maybe-install-pdf-libgnatvsn: install-pdf-libgnatvsn ++ ++install-pdf-libgnatvsn: \ ++ configure-libgnatvsn \ ++ pdf-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing install-pdf in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-pdf) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-install-html-libgnatvsn install-html-libgnatvsn ++maybe-install-html-libgnatvsn: ++@if libgnatvsn ++maybe-install-html-libgnatvsn: install-html-libgnatvsn ++ ++install-html-libgnatvsn: \ ++ configure-libgnatvsn \ ++ html-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing install-html in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-html) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-installcheck-libgnatvsn installcheck-libgnatvsn ++maybe-installcheck-libgnatvsn: ++@if libgnatvsn ++maybe-installcheck-libgnatvsn: installcheck-libgnatvsn ++ ++# libgnatvsn doesn't support installcheck. ++installcheck-libgnatvsn: ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-mostlyclean-libgnatvsn mostlyclean-libgnatvsn ++maybe-mostlyclean-libgnatvsn: ++@if libgnatvsn ++maybe-mostlyclean-libgnatvsn: mostlyclean-libgnatvsn ++ ++mostlyclean-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing mostlyclean in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-clean-libgnatvsn clean-libgnatvsn ++maybe-clean-libgnatvsn: ++@if libgnatvsn ++maybe-clean-libgnatvsn: clean-libgnatvsn ++ ++clean-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing clean in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-distclean-libgnatvsn distclean-libgnatvsn ++maybe-distclean-libgnatvsn: ++@if libgnatvsn ++maybe-distclean-libgnatvsn: distclean-libgnatvsn ++ ++distclean-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing distclean in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++.PHONY: maybe-maintainer-clean-libgnatvsn maintainer-clean-libgnatvsn ++maybe-maintainer-clean-libgnatvsn: ++@if libgnatvsn ++maybe-maintainer-clean-libgnatvsn: maintainer-clean-libgnatvsn ++ ++maintainer-clean-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ for flag in $(EXTRA_HOST_FLAGS) ; do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ echo "Doing maintainer-clean in libgnatvsn" ; \ ++ (cd $(HOST_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++@endif libgnatvsn ++ ++ ++ + .PHONY: configure-gnattools maybe-configure-gnattools + maybe-configure-gnattools: + @if gcc-bootstrap +@@ -48785,6 +49141,345 @@ + + + ++.PHONY: configure-target-libgnatvsn maybe-configure-target-libgnatvsn ++maybe-configure-target-libgnatvsn: ++@if gcc-bootstrap ++configure-target-libgnatvsn: stage_current ++@endif gcc-bootstrap ++@if target-libgnatvsn ++maybe-configure-target-libgnatvsn: configure-target-libgnatvsn ++configure-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ echo "Checking multilib configuration for libgnatvsn..."; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn ; \ ++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp 2> /dev/null ; \ ++ if test -r $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \ ++ if cmp -s $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \ ++ rm -f $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp; \ ++ else \ ++ rm -f $(TARGET_SUBDIR)/libgnatvsn/Makefile; \ ++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \ ++ fi; \ ++ else \ ++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \ ++ fi; \ ++ test ! -f $(TARGET_SUBDIR)/libgnatvsn/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn ; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo Configuring in $(TARGET_SUBDIR)/libgnatvsn; \ ++ cd "$(TARGET_SUBDIR)/libgnatvsn" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(TARGET_SUBDIR)/libgnatvsn/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ srcdiroption="--srcdir=$${topdir}/libgnatvsn"; \ ++ libsrcdir="$$s/libgnatvsn"; \ ++ rm -f no-such-file || : ; \ ++ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ ++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ ++ --target=${target_alias} $${srcdiroption} \ ++ || exit 1 ++@endif target-libgnatvsn ++ ++ ++ ++ ++ ++.PHONY: all-target-libgnatvsn maybe-all-target-libgnatvsn ++maybe-all-target-libgnatvsn: ++@if gcc-bootstrap ++all-target-libgnatvsn: stage_current ++@endif gcc-bootstrap ++@if target-libgnatvsn ++TARGET-target-libgnatvsn=all ++maybe-all-target-libgnatvsn: all-target-libgnatvsn ++all-target-libgnatvsn: configure-target-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgnatvsn)) ++@endif target-libgnatvsn ++ ++ ++ ++ ++ ++.PHONY: check-target-libgnatvsn maybe-check-target-libgnatvsn ++maybe-check-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-check-target-libgnatvsn: check-target-libgnatvsn ++ ++# Dummy target for uncheckable module. ++check-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: install-target-libgnatvsn maybe-install-target-libgnatvsn ++maybe-install-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-target-libgnatvsn: install-target-libgnatvsn ++ ++install-target-libgnatvsn: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++ ++@endif target-libgnatvsn ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-target-libgnatvsn info-target-libgnatvsn ++maybe-info-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-info-target-libgnatvsn: info-target-libgnatvsn ++ ++# libgnatvsn doesn't support info. ++info-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-dvi-target-libgnatvsn dvi-target-libgnatvsn ++maybe-dvi-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-dvi-target-libgnatvsn: dvi-target-libgnatvsn ++ ++# libgnatvsn doesn't support dvi. ++dvi-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-pdf-target-libgnatvsn pdf-target-libgnatvsn ++maybe-pdf-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-pdf-target-libgnatvsn: pdf-target-libgnatvsn ++ ++pdf-target-libgnatvsn: \ ++ configure-target-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing pdf in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-html-target-libgnatvsn html-target-libgnatvsn ++maybe-html-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-html-target-libgnatvsn: html-target-libgnatvsn ++ ++# libgnatvsn doesn't support html. ++html-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-TAGS-target-libgnatvsn TAGS-target-libgnatvsn ++maybe-TAGS-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-TAGS-target-libgnatvsn: TAGS-target-libgnatvsn ++ ++# libgnatvsn doesn't support TAGS. ++TAGS-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-install-info-target-libgnatvsn install-info-target-libgnatvsn ++maybe-install-info-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-info-target-libgnatvsn: install-info-target-libgnatvsn ++ ++# libgnatvsn doesn't support install-info. ++install-info-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-install-pdf-target-libgnatvsn install-pdf-target-libgnatvsn ++maybe-install-pdf-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-pdf-target-libgnatvsn: install-pdf-target-libgnatvsn ++ ++install-pdf-target-libgnatvsn: \ ++ configure-target-libgnatvsn \ ++ pdf-target-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-pdf) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-install-html-target-libgnatvsn install-html-target-libgnatvsn ++maybe-install-html-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-html-target-libgnatvsn: install-html-target-libgnatvsn ++ ++install-html-target-libgnatvsn: \ ++ configure-target-libgnatvsn \ ++ html-target-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-html in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-html) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-installcheck-target-libgnatvsn installcheck-target-libgnatvsn ++maybe-installcheck-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-installcheck-target-libgnatvsn: installcheck-target-libgnatvsn ++ ++# libgnatvsn doesn't support installcheck. ++installcheck-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-mostlyclean-target-libgnatvsn mostlyclean-target-libgnatvsn ++maybe-mostlyclean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-mostlyclean-target-libgnatvsn: mostlyclean-target-libgnatvsn ++ ++mostlyclean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-clean-target-libgnatvsn clean-target-libgnatvsn ++maybe-clean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-clean-target-libgnatvsn: clean-target-libgnatvsn ++ ++clean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-distclean-target-libgnatvsn distclean-target-libgnatvsn ++maybe-distclean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-distclean-target-libgnatvsn: distclean-target-libgnatvsn ++ ++distclean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-maintainer-clean-target-libgnatvsn maintainer-clean-target-libgnatvsn ++maybe-maintainer-clean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-maintainer-clean-target-libgnatvsn: maintainer-clean-target-libgnatvsn ++ ++maintainer-clean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatvsn" ; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++ ++ ++ ++ + .PHONY: configure-target-libgomp maybe-configure-target-libgomp + maybe-configure-target-libgomp: + @if gcc-bootstrap +@@ -51334,6 +52029,7 @@ + configure-target-qthreads: stage_last + configure-target-rda: stage_last + configure-target-libada: stage_last ++configure-target-libgnatvsn: stage_last + configure-target-libgomp: stage_last + @endif gcc-bootstrap + +@@ -51358,6 +52054,7 @@ + configure-target-qthreads: maybe-all-gcc + configure-target-rda: maybe-all-gcc + configure-target-libada: maybe-all-gcc ++configure-target-libgnatvsn: maybe-all-gcc + configure-target-libgomp: maybe-all-gcc + @endif gcc-no-bootstrap + +@@ -51612,6 +52309,8 @@ + all-stagefeedback-libcpp: maybe-all-stagefeedback-intl + all-fixincludes: maybe-all-libiberty + all-gnattools: maybe-all-libada ++all-gnattools: maybe-all-libgnatvsn ++all-libgnatvsn: maybe-all-libada + configure-mpfr: maybe-all-gmp + + configure-stage1-mpfr: maybe-all-stage1-gmp +@@ -52049,6 +52748,7 @@ + configure-target-qthreads: maybe-all-target-libgcc + configure-target-rda: maybe-all-target-libgcc + configure-target-libada: maybe-all-target-libgcc ++configure-target-libgnatvsn: maybe-all-target-libgcc + configure-target-libgomp: maybe-all-target-libgcc + @endif gcc-no-bootstrap + +@@ -52091,6 +52791,8 @@ + + configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss + ++configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss ++ + configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss + + +Index: configure.ac +=================================================================== +--- configure.ac.orig ++++ configure.ac +@@ -155,7 +155,7 @@ + + # these libraries are used by various programs built for the host environment + # +-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada" ++host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada libgnatvsn" + + # these tools are built for the host environment + # Note, the powerpc-eabi build depends on sim occurring before gdb in order to +@@ -185,7 +185,8 @@ + target-boehm-gc \ + ${libgcj} \ + target-libobjc \ +- target-libada" ++ target-libada \ ++ target-libgnatvsn" + + # these tools are built using the target libraries, and are intended to + # run only in the target environment +@@ -263,7 +264,7 @@ + + # Similarly, some are only suitable for cross toolchains. + # Remove these if host=target. +-cross_only="target-libgloss target-newlib target-opcodes target-libada" ++cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn" + + case $is_cross_compiler in + no) skipdirs="${skipdirs} ${cross_only}" ;; +@@ -340,7 +341,7 @@ + ENABLE_LIBADA=$enableval, + ENABLE_LIBADA=yes) + if test "${ENABLE_LIBADA}" != "yes" ; then +- noconfigdirs="$noconfigdirs gnattools" ++ noconfigdirs="$noconfigdirs libgnatvsn gnattools" + fi + + AC_ARG_ENABLE(libssp, --- gcc-4.3-4.3.4.orig/debian/patches/cross-fixes.dpatch +++ gcc-4.3-4.3.4/debian/patches/cross-fixes.dpatch @@ -0,0 +1,129 @@ +#! /bin/sh -e + +# DP: Fix the linker error when creating an xcc for ia64 + +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 && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + cd ${dir}gcc && autoconf2.59 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/ia64/fde-glibc.c gcc-4.0.0.new/gcc/config/ia64/fde-glibc.c +--- gcc-4.0.0.orig/gcc/config/ia64/fde-glibc.c 2003-11-02 18:35:20.000000000 +0100 ++++ gcc-4.0.0.new/gcc/config/ia64/fde-glibc.c 2005-05-15 02:42:27.675247674 +0200 +@@ -31,6 +31,7 @@ + #ifndef _GNU_SOURCE + #define _GNU_SOURCE 1 + #endif ++#ifndef inhibit_libc + #include "config.h" + #include + #include +@@ -162,3 +163,5 @@ _Unwind_FindTableEntry (void *pc, unsign + + return data.ret; + } ++ ++#endif +diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/ia64/unwind-ia64.c gcc-4.0.0.new/gcc/config/ia64/unwind-ia64.c +--- gcc-4.0.0.orig/gcc/config/ia64/unwind-ia64.c 2005-04-06 05:50:36.000000000 +0200 ++++ gcc-4.0.0.new/gcc/config/ia64/unwind-ia64.c 2005-05-15 02:43:10.842199954 +0200 +@@ -30,7 +30,7 @@ + This exception does not however invalidate any other reasons why + the executable file might be covered by the GNU General Public License. */ + +- ++#ifndef inhibit_libc + #include "tconfig.h" + #include "tsystem.h" + #include "coretypes.h" +@@ -2404,3 +2404,4 @@ alias (_Unwind_SetIP); + #endif + + #endif ++#endif +diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/sh/linux-unwind.h gcc-4.0.0.new/gcc/config/sh/linux-unwind.h +--- gcc-4.0.0.orig/gcc/config/sh/linux-unwind.h 2005-02-11 02:12:57.000000000 +0100 ++++ gcc-4.0.0.new/gcc/config/sh/linux-unwind.h 2005-05-15 02:44:31.000000000 +0200 +@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */ + /* Do code reading to identify a signal frame, and set the frame + state data appropriately. See unwind-dw2.c for the structs. */ + ++#ifndef inhibit_libc + #include + #include + #include "insn-constants.h" +@@ -169,3 +170,4 @@ sh_fallback_frame_state (struct _Unwind_ + return _URC_NO_REASON; + } + #endif /* defined (__SH5__) */ ++#endif +diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/unwind-compat.c gcc-4.0.0.new/gcc/unwind-compat.c +--- gcc-4.0.0.orig/gcc/unwind-compat.c 2004-09-04 02:15:40.000000000 +0200 ++++ gcc-4.0.0.new/gcc/unwind-compat.c 2005-05-15 02:41:17.000000000 +0200 +@@ -29,6 +29,7 @@ + 02110-1301, USA. */ + + #if defined (USE_GAS_SYMVER) && defined (USE_LIBUNWIND_EXCEPTIONS) ++#ifndef inhibit_libc + #include "tconfig.h" + #include "tsystem.h" + #include "unwind.h" +@@ -204,3 +205,4 @@ _Unwind_SetIP (struct _Unwind_Context *c + } + symver (_Unwind_SetIP, GCC_3.0); + #endif ++#endif +diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/unwind-generic.h gcc-4.0.0.new/gcc/unwind-generic.h +--- gcc-4.0.0.orig/gcc/unwind-generic.h 2004-11-30 09:15:39.000000000 +0100 ++++ gcc-4.0.0.new/gcc/unwind-generic.h 2005-05-15 02:38:33.000000000 +0200 +@@ -202,6 +202,7 @@ extern _Unwind_Reason_Code _Unwind_SjLj_ + compatible with the standard ABI for IA-64, we inline these. */ + + #ifdef __ia64__ ++#ifndef inhibit_libc + #include + + static inline _Unwind_Ptr +@@ -220,6 +221,7 @@ _Unwind_GetTextRelBase (struct _Unwind_C + + /* @@@ Retrieve the Backing Store Pointer of the given context. */ + extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *); ++#endif + #else + extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *); + extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *); +diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.new/gcc/config/alpha/linux-unwind.h gcc-4.0.0.new2/gcc/config/alpha/linux-unwind.h +--- gcc-4.0.0.new/gcc/config/alpha/linux-unwind.h 2005-02-11 02:12:54.000000000 +0100 ++++ gcc-4.0.0.new2/gcc/config/alpha/linux-unwind.h 2005-05-15 05:09:16.000000000 +0200 +@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */ + /* Do code reading to identify a signal frame, and set the frame + state data appropriately. See unwind-dw2.c for the structs. */ + ++#ifndef inhibit_libc + #include + #include + +@@ -80,3 +81,5 @@ alpha_fallback_frame_state (struct _Unwi + fs->retaddr_column = 64; + return _URC_NO_REASON; + } ++ ++#endif --- gcc-4.3-4.3.4.orig/debian/patches/link-libs.dpatch +++ gcc-4.3-4.3.4/debian/patches/link-libs.dpatch @@ -0,0 +1,157 @@ +#! /bin/sh -e + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/config/t-slibgcc-elf-ver.orig 2006-10-03 18:16:53.094898500 +0200 ++++ gcc/config/t-slibgcc-elf-ver 2006-10-03 18:17:40.061833750 +0200 +@@ -14,6 +14,7 @@ + SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ + -Wl,--soname=$(SHLIB_SONAME) \ + -Wl,--version-script=$(SHLIB_MAP) \ ++ -Wl,-O1 \ + -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ + $(SHLIB_OBJS) $(SHLIB_LC) && \ + rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ +--- libstdc++-v3/src/Makefile.am.orig 2006-10-03 18:16:53.186904250 +0200 ++++ libstdc++-v3/src/Makefile.am 2006-10-03 18:17:40.121837500 +0200 +@@ -185,6 +185,7 @@ + libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD) + + libstdc___la_LDFLAGS = \ ++ -Wl,-O1 \ + -version-info $(libtool_VERSION) ${version_arg} -lm + + # Use special rules for the deprecated source files so that they find +--- libstdc++-v3/src/Makefile.in.orig 2006-10-03 18:16:53.206905500 +0200 ++++ libstdc++-v3/src/Makefile.in 2006-10-03 18:17:40.137838500 +0200 +@@ -387,6 +387,7 @@ + + libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD) + libstdc___la_LDFLAGS = \ ++ -Wl,-O1 \ + -version-info $(libtool_VERSION) ${version_arg} -lm + + +--- libobjc/Makefile.in.orig 2006-10-03 18:16:53.098898750 +0200 ++++ libobjc/Makefile.in 2006-10-03 18:17:40.061833750 +0200 +@@ -276,11 +276,13 @@ + libobjc$(libext).la: $(OBJS) + $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \ + -rpath $(toolexeclibdir) \ ++ -Wl,-O1 \ + -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc) + + libobjc_gc$(libext).la: $(OBJS_GC) + $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \ + -rpath $(toolexeclibdir) \ ++ -Wl,-O1 \ + -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc) + + # +--- libgfortran/Makefile.am.orig 2006-10-03 18:16:53.102899000 +0200 ++++ libgfortran/Makefile.am 2006-10-03 18:18:59.566802500 +0200 +@@ -7,7 +7,7 @@ + gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) + + toolexeclib_LTLIBRARIES = libgfortran.la +-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) ++libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) -Wl,-O1 + + myexeclib_LTLIBRARIES = libgfortranbegin.la + myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) +--- libgfortran/Makefile.in.orig 2006-10-03 18:16:53.106899250 +0200 ++++ libgfortran/Makefile.in 2006-10-03 18:19:17.543926000 +0200 +@@ -359,7 +359,7 @@ + ACLOCAL_AMFLAGS = -I ../config + gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) + toolexeclib_LTLIBRARIES = libgfortran.la +-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) ++libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) -Wl,-O1 + myexeclib_LTLIBRARIES = libgfortranbegin.la + myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) + libgfortranbegin_la_SOURCES = fmain.c +--- libmudflap/Makefile.am.orig 2006-10-03 18:16:53.182904000 +0200 ++++ libmudflap/Makefile.am 2006-10-03 18:17:40.117837250 +0200 +@@ -34,7 +34,7 @@ + mf-hooks2.c + libmudflap_la_LIBADD = + libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD) +-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` ++libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1 + + clean-local: + rm -f pth/*.o pth/*.lo +--- libmudflap/Makefile.in.orig 2006-10-03 18:16:53.182904000 +0200 ++++ libmudflap/Makefile.in 2006-10-03 18:17:40.121837500 +0200 +@@ -241,7 +241,7 @@ + + libmudflap_la_LIBADD = + libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD) +-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` ++libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1 + libmudflapth_la_SOURCES = + libmudflapth_la_LIBADD = \ + pth/mf-runtime.lo \ +--- libffi/Makefile.am.orig 2006-10-03 18:16:53.098898750 +0200 ++++ libffi/Makefile.am 2006-10-03 18:17:40.061833750 +0200 +@@ -154,7 +154,7 @@ + + AM_CFLAGS = -Wall -g -fexceptions + +-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` ++libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1 + + AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src + AM_CCASFLAGS = $(AM_CPPFLAGS) +--- libffi/Makefile.in.orig 2006-10-03 18:16:53.102899000 +0200 ++++ libffi/Makefile.in 2006-10-03 18:17:40.065834000 +0200 +@@ -436,7 +436,7 @@ + libffi_convenience_la_SOURCES = $(libffi_la_SOURCES) + nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES) + AM_CFLAGS = -Wall -g -fexceptions +-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` ++libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1 + AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src + AM_CCASFLAGS = $(AM_CPPFLAGS) + all: fficonfig.h +--- libjava/Makefile.am.orig 2006-10-03 18:16:53.130900750 +0200 ++++ libjava/Makefile.am 2006-10-03 18:17:40.093835750 +0200 +@@ -97,7 +97,7 @@ + GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \ + $(LDFLAGS) -o $@ + LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \ +- $(LDFLAGS) $(extra_ldflags_libjava) -o $@ ++ $(LDFLAGS) $(extra_ldflags_libjava) -Wl,-O1 -o $@ + + GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@ + +--- libjava/Makefile.in.orig 2006-10-03 18:16:53.162902750 +0200 ++++ libjava/Makefile.in 2006-10-03 18:17:40.117837250 +0200 +@@ -733,7 +733,7 @@ + $(LDFLAGS) -o $@ + + LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \ +- $(LDFLAGS) $(extra_ldflags_libjava) -o $@ ++ $(LDFLAGS) $(extra_ldflags_libjava) -Wl,-O1 -o $@ + + WARNINGS = -Wextra -Wall + AM_CXXFLAGS = \ --- gcc-4.3-4.3.4.orig/debian/patches/mudflap-nocheck.dpatch +++ gcc-4.3-4.3.4/debian/patches/mudflap-nocheck.dpatch @@ -0,0 +1,36 @@ +#! /bin/sh -e + +# DP: Disable running the libmudflap testsuite. Getting killed on alpha. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- libmudflap/testsuite/Makefile.in~ 2005-09-23 18:33:47.000000000 +0200 ++++ libmudflap/testsuite/Makefile.in 2006-03-25 20:31:45.044903808 +0100 +@@ -218,6 +218,8 @@ + + + check-DEJAGNU: site.exp ++ @echo target $@ disabled for Debian build. ++check-DEJAGNU-disabled: site.exp + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ --- gcc-4.3-4.3.4.orig/debian/patches/pr30827.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr30827.dpatch @@ -0,0 +1,104 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: PR ada/30827: GNAT.compiler_version problem for official releases + +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 && autoconf2.59 + ;; + -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 + +# append the patch here and adjust the -p? flag in the patch calls. + +diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb +index d344959..36d7f13 100644 +--- a/gcc/ada/bindgen.adb ++++ b/gcc/ada/bindgen.adb +@@ -2249,17 +2249,19 @@ package body Bindgen is + WBI (" gnat_exit_status : Integer;"); + WBI (" pragma Import (C, gnat_exit_status);"); + end if; +- +- -- Generate the GNAT_Version and Ada_Main_Program_Name info only +- -- for the main program. Otherwise, it can lead under some +- -- circumstances to a symbol duplication during the link (for +- -- instance when a C program uses 2 Ada libraries) + end if; + ++ -- Generate the GNAT_Version and Ada_Main_Program_Name info only for ++ -- the main program. Otherwise, it can lead under some circumstances ++ -- to a symbol duplication during the link (for instance when a C ++ -- program uses two Ada libraries). Also zero terminate the string ++ -- so that its end can be found reliably at run time. ++ + WBI (""); + WBI (" GNAT_Version : constant String :="); + WBI (" ""GNAT Version: " & +- Gnat_Version_String & """;"); ++ Gnat_Version_String & ++ """ & ASCII.NUL;"); + WBI (" pragma Export (C, GNAT_Version, ""__gnat_version"");"); + + WBI (""); +diff --git a/gcc/ada/g-comver.adb b/gcc/ada/g-comver.adb +index 2a0d120..ae3bf3b 100644 +--- a/gcc/ada/g-comver.adb ++++ b/gcc/ada/g-comver.adb +@@ -53,15 +53,18 @@ package body GNAT.Compiler_Version is + + function Version return String is + begin +- -- Search for terminating right paren ++ -- Search for terminating right paren or NUL ending the string + + for J in Ver_Prefix'Length + 1 .. GNAT_Version'Last loop + if GNAT_Version (J) = ')' then + return GNAT_Version (Ver_Prefix'Length + 1 .. J); + end if; ++ if GNAT_Version (J) = Character'Val (0) then ++ return GNAT_Version (Ver_Prefix'Length + 1 .. J - 1); ++ end if; + end loop; + +- -- This should not happen (no right paren found) ++ -- This should not happen (no right paren or NUL found) + + return GNAT_Version; + end Version; +diff --git a/gcc/testsuite/gnat.dg/test_version.adb b/gcc/testsuite/gnat.dg/test_version.adb +new file mode 100644 +index 0000000..d7fa297 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/test_version.adb +@@ -0,0 +1,13 @@ ++-- { dg-do run } ++with GNAT.Compiler_Version; ++procedure Test_Version is ++ package Vsn is new GNAT.Compiler_Version; ++ use Vsn; ++ X : constant String := Version; ++begin ++ if X'Length = 46 then ++ -- 46 = Ver_Len_Max + Ver_Prefix ++ -- actual version should be shorter than this ++ raise Program_Error; ++ end if; ++end Test_Version; --- gcc-4.3-4.3.4.orig/debian/patches/alpha-no-ev4-directive.dpatch +++ gcc-4.3-4.3.4/debian/patches/alpha-no-ev4-directive.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/config/alpha/alpha.c +=================================================================== +--- gcc/config/alpha/alpha.c (revision 115263) ++++ gcc/config/alpha/alpha.c (working copy) +@@ -9372,7 +9372,7 @@ + fputs ("\t.set nomacro\n", asm_out_file); + if (TARGET_SUPPORT_ARCH | TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX) + { +- const char *arch; ++ const char *arch = NULL; + + if (alpha_cpu == PROCESSOR_EV6 || TARGET_FIX || TARGET_CIX) + arch = "ev6"; +@@ -9382,10 +9382,9 @@ + arch = "ev56"; + else if (alpha_cpu == PROCESSOR_EV5) + arch = "ev5"; +- else +- arch = "ev4"; + +- fprintf (asm_out_file, "\t.arch %s\n", arch); ++ if (arch) ++ fprintf (asm_out_file, "\t.arch %s\n", arch); + } + } + #endif --- gcc-4.3-4.3.4.orig/debian/patches/pr37447-revert.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr37447-revert.dpatch @@ -0,0 +1,359 @@ +#! /bin/sh -e + +# DP: Revert fix for PR middle-end/37447 (r141077). + +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 -R -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +gcc/ + +2008-10-12 Richard Henderson + + PR middle-end/37447 + * Makefile.in (reload1.o): Depend on EMIT_RTL_H. + * alias.c (value_addr_p, stack_addr_p): Remove. + (nonoverlapping_memrefs_p): Remove IRA special case. + * emit-rtl.c (get_spill_slot_decl, set_mem_attrs_for_spill): New. + * emit-rtl.h (set_mem_attrs_for_spill): Declare. + * reload1.c (alter_reg): Use it. + +Index: gcc/alias.c +=================================================================== +--- gcc/alias.c (revision 141076) ++++ gcc/alias.c (revision 141077) +@@ -1983,34 +1983,6 @@ + return GEN_INT (ioffset); + } + +-/* The function returns nonzero if X is an address containg VALUE. */ +-static int +-value_addr_p (rtx x) +-{ +- if (GET_CODE (x) == VALUE) +- return 1; +- if (GET_CODE (x) == PLUS && GET_CODE (XEXP (x, 0)) == VALUE) +- return 1; +- return 0; +-} +- +-/* The function returns nonzero if X is a stack address. */ +-static int +-stack_addr_p (rtx x) +-{ +- if (x == hard_frame_pointer_rtx || x == frame_pointer_rtx +- || x == arg_pointer_rtx || x == stack_pointer_rtx) +- return 1; +- if (GET_CODE (x) == PLUS +- && (XEXP (x, 0) == hard_frame_pointer_rtx +- || XEXP (x, 0) == frame_pointer_rtx +- || XEXP (x, 0) == arg_pointer_rtx +- || XEXP (x, 0) == stack_pointer_rtx) +- && CONSTANT_P (XEXP (x, 1))) +- return 1; +- return 0; +-} +- + /* Return nonzero if we can determine the exprs corresponding to memrefs + X and Y and they do not overlap. */ + +@@ -2020,27 +1992,9 @@ + tree exprx = MEM_EXPR (x), expry = MEM_EXPR (y); + rtx rtlx, rtly; + rtx basex, basey; +- rtx x_addr, y_addr; + rtx moffsetx, moffsety; + HOST_WIDE_INT offsetx = 0, offsety = 0, sizex, sizey, tem; + +- if (flag_ira && optimize && reload_completed) +- { +- /* We need this code for IRA because of stack slot sharing. RTL +- in decl can be different than RTL used in insns. It is a +- safe code although it can be conservative sometime. */ +- x_addr = canon_rtx (get_addr (XEXP (x, 0))); +- y_addr = canon_rtx (get_addr (XEXP (y, 0))); +- +- if (value_addr_p (x_addr) || value_addr_p (y_addr)) +- return 0; +- +- if (stack_addr_p (x_addr) && stack_addr_p (y_addr) +- && memrefs_conflict_p (SIZE_FOR_MODE (y), y_addr, +- SIZE_FOR_MODE (x), x_addr, 0)) +- return 0; +- } +- + /* Unless both have exprs, we can't tell anything. */ + if (exprx == 0 || expry == 0) + return 0; +Index: gcc/emit-rtl.c +=================================================================== +--- gcc/emit-rtl.c (revision 141076) ++++ gcc/emit-rtl.c (revision 141077) +@@ -2138,6 +2138,65 @@ + return new_rtx; + } + ++/* A fake decl that is used as the MEM_EXPR of spill slots. */ ++static GTY(()) tree spill_slot_decl; ++ ++static tree ++get_spill_slot_decl (void) ++{ ++ tree d = spill_slot_decl; ++ rtx rd; ++ ++ if (d) ++ return d; ++ ++ d = build_decl (VAR_DECL, get_identifier ("%sfp"), void_type_node); ++ DECL_ARTIFICIAL (d) = 1; ++ DECL_IGNORED_P (d) = 1; ++ TREE_USED (d) = 1; ++ TREE_THIS_NOTRAP (d) = 1; ++ spill_slot_decl = d; ++ ++ rd = gen_rtx_MEM (BLKmode, frame_pointer_rtx); ++ MEM_NOTRAP_P (rd) = 1; ++ MEM_ATTRS (rd) = get_mem_attrs (new_alias_set (), d, const0_rtx, ++ NULL_RTX, 0, BLKmode); ++ SET_DECL_RTL (d, rd); ++ ++ return d; ++} ++ ++/* Given MEM, a result from assign_stack_local, fill in the memory ++ attributes as appropriate for a register allocator spill slot. ++ These slots are not aliasable by other memory. We arrange for ++ them all to use a single MEM_EXPR, so that the aliasing code can ++ work properly in the case of shared spill slots. */ ++ ++void ++set_mem_attrs_for_spill (rtx mem) ++{ ++ alias_set_type alias; ++ rtx addr, offset; ++ tree expr; ++ ++ expr = get_spill_slot_decl (); ++ alias = MEM_ALIAS_SET (DECL_RTL (expr)); ++ ++ /* We expect the incoming memory to be of the form: ++ (mem:MODE (plus (reg sfp) (const_int offset))) ++ with perhaps the plus missing for offset = 0. */ ++ addr = XEXP (mem, 0); ++ offset = const0_rtx; ++ if (GET_CODE (addr) == PLUS ++ && GET_CODE (XEXP (addr, 1)) == CONST_INT) ++ offset = XEXP (addr, 1); ++ ++ MEM_ATTRS (mem) = get_mem_attrs (alias, expr, offset, ++ MEM_SIZE (mem), MEM_ALIGN (mem), ++ GET_MODE (mem)); ++ MEM_NOTRAP_P (mem) = 1; ++} ++ + /* Return a newly created CODE_LABEL rtx with a unique label number. */ + + rtx +Index: gcc/emit-rtl.h +=================================================================== +--- gcc/emit-rtl.h (revision 141076) ++++ gcc/emit-rtl.h (revision 141077) +@@ -35,6 +35,9 @@ + /* Set the size for MEM to SIZE. */ + extern void set_mem_size (rtx, rtx); + ++/* Set the attributes for MEM appropriate for a spill slot. */ ++extern void set_mem_attrs_for_spill (rtx); ++ + /* Return a memory reference like MEMREF, but with its address changed to + ADDR. The caller is asserting that the actual piece of memory pointed + to is the same, just the form of the address is being changed, such as +Index: gcc/Makefile.in +=================================================================== +--- gcc/Makefile.in (revision 141076) ++++ gcc/Makefile.in (revision 141077) +@@ -2868,7 +2868,7 @@ + $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) hard-reg-set.h insn-config.h \ + $(BASIC_BLOCK_H) $(RECOG_H) output.h $(FUNCTION_H) $(TOPLEV_H) $(TM_P_H) \ + addresses.h except.h $(TREE_H) $(REAL_H) $(FLAGS_H) $(MACHMODE_H) \ +- $(OBSTACK_H) $(DF_H) $(TARGET_H) dse.h ira.h ++ $(OBSTACK_H) $(DF_H) $(TARGET_H) $(EMIT_RTL_H) ira.h + rtlhooks.o : rtlhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ + rtlhooks-def.h $(EXPR_H) $(RECOG_H) + postreload.o : postreload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ +Index: gcc/reload1.c +=================================================================== +--- gcc/reload1.c (revision 141076) ++++ gcc/reload1.c (revision 141077) +@@ -47,7 +47,7 @@ + #include "ira.h" + #include "df.h" + #include "target.h" +-#include "dse.h" ++#include "emit-rtl.h" + + /* This file contains the reload pass of the compiler, which is + run after register allocation has been done. It checks that +@@ -2150,22 +2150,25 @@ + && (reg_equiv_invariant[i] == 0 || reg_equiv_init[i] == 0) + && reg_equiv_memory_loc[i] == 0) + { +- rtx x; ++ rtx x = NULL_RTX; + enum machine_mode mode = GET_MODE (regno_reg_rtx[i]); + unsigned int inherent_size = PSEUDO_REGNO_BYTES (i); + unsigned int inherent_align = GET_MODE_ALIGNMENT (mode); + unsigned int total_size = MAX (inherent_size, reg_max_ref_width[i]); + unsigned int min_align = reg_max_ref_width[i] * BITS_PER_UNIT; + int adjust = 0; +- bool shared_p = false; + + if (flag_ira && optimize) +- /* Mark the spill for IRA. */ +- SET_REGNO_REG_SET (&spilled_pseudos, i); +- x = (dont_share_p || ! flag_ira || ! optimize +- ? NULL_RTX : ira_reuse_stack_slot (i, inherent_size, total_size)); ++ { ++ /* Mark the spill for IRA. */ ++ SET_REGNO_REG_SET (&spilled_pseudos, i); ++ if (!dont_share_p) ++ x = ira_reuse_stack_slot (i, inherent_size, total_size); ++ } ++ + if (x) +- shared_p = true; ++ ; ++ + /* Each pseudo reg has an inherent size which comes from its own mode, + and a total size which provides room for paradoxical subregs + which refer to the pseudo reg in wider modes. +@@ -2174,10 +2177,9 @@ + enough inherent space and enough total space. + Otherwise, we allocate a new slot, making sure that it has no less + inherent space, and no less total space, then the previous slot. */ +- else if (from_reg == -1 || (! dont_share_p && flag_ira && optimize)) ++ else if (from_reg == -1 || (!dont_share_p && flag_ira && optimize)) + { + rtx stack_slot; +- alias_set_type alias_set = new_alias_set (); + + /* No known place to spill from => no slot to reuse. */ + x = assign_stack_local (mode, total_size, +@@ -2186,12 +2188,11 @@ + + stack_slot = x; + ++ /* Cancel the big-endian correction done in assign_stack_local. ++ Get the address of the beginning of the slot. This is so we ++ can do a big-endian correction unconditionally below. */ + if (BYTES_BIG_ENDIAN) + { +- /* Cancel the big-endian correction done in assign_stack_local. +- Get the address of the beginning of the slot. +- This is so we can do a big-endian correction unconditionally +- below. */ + adjust = inherent_size - total_size; + if (adjust) + stack_slot +@@ -2201,10 +2202,6 @@ + adjust); + } + +- /* Nothing can alias this slot except this pseudo. */ +- set_mem_alias_set (x, alias_set); +- dse_record_singleton_alias_set (alias_set, mode); +- + if (! dont_share_p && flag_ira && optimize) + /* Inform IRA about allocation a new stack slot. */ + ira_mark_new_stack_slot (stack_slot, i, total_size); +@@ -2217,6 +2214,7 @@ + >= inherent_size) + && MEM_ALIGN (spill_stack_slot[from_reg]) >= min_align) + x = spill_stack_slot[from_reg]; ++ + /* Allocate a bigger slot. */ + else + { +@@ -2241,27 +2239,11 @@ + || total_size > inherent_size ? -1 : 0); + stack_slot = x; + +- /* All pseudos mapped to this slot can alias each other. */ +- if (spill_stack_slot[from_reg]) +- { +- alias_set_type alias_set +- = MEM_ALIAS_SET (spill_stack_slot[from_reg]); +- set_mem_alias_set (x, alias_set); +- dse_invalidate_singleton_alias_set (alias_set); +- } +- else +- { +- alias_set_type alias_set = new_alias_set (); +- set_mem_alias_set (x, alias_set); +- dse_record_singleton_alias_set (alias_set, mode); +- } +- ++ /* Cancel the big-endian correction done in assign_stack_local. ++ Get the address of the beginning of the slot. This is so we ++ can do a big-endian correction unconditionally below. */ + if (BYTES_BIG_ENDIAN) + { +- /* Cancel the big-endian correction done in assign_stack_local. +- Get the address of the beginning of the slot. +- This is so we can do a big-endian correction unconditionally +- below. */ + adjust = GET_MODE_SIZE (mode) - total_size; + if (adjust) + stack_slot +@@ -2284,31 +2266,9 @@ + wrong mode, make a new stack slot. */ + x = adjust_address_nv (x, GET_MODE (regno_reg_rtx[i]), adjust); + +- /* If we have a decl for the original register, set it for the +- memory. If this is a shared MEM, make a copy. */ +- if (shared_p) +- { +- x = copy_rtx (x); +- set_mem_attrs_from_reg (x, regno_reg_rtx[i]); +- } +- else if (REG_EXPR (regno_reg_rtx[i]) +- && DECL_P (REG_EXPR (regno_reg_rtx[i]))) +- { +- rtx decl = DECL_RTL_IF_SET (REG_EXPR (regno_reg_rtx[i])); ++ /* Set all of the memory attributes as appropriate for a spill. */ ++ set_mem_attrs_for_spill (x); + +- /* We can do this only for the DECLs home pseudo, not for +- any copies of it, since otherwise when the stack slot +- is reused, nonoverlapping_memrefs_p might think they +- cannot overlap. */ +- if (decl && REG_P (decl) && REGNO (decl) == (unsigned) i) +- { +- if (from_reg != -1 && spill_stack_slot[from_reg] == x) +- x = copy_rtx (x); +- +- set_mem_attrs_from_reg (x, regno_reg_rtx[i]); +- } +- } +- + /* Save the stack slot for later. */ + reg_equiv_memory_loc[i] = x; + } --- gcc-4.3-4.3.4.orig/debian/patches/gdc-4.3.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-4.3.dpatch @@ -0,0 +1,617 @@ +#! /bin/sh -e + +# gdc-4.3.dpatch by David Friedman +# DP: Patches the GCC Directory for D. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +*** gcc-orig/config/i386/i386.c 2008-05-21 04:54:15.000000000 -0400 +--- gcc/config/i386/i386.c 2008-07-24 10:45:17.000000000 -0400 +*************** +*** 6150,6155 **** +--- 6150,6160 ---- + frame->red_zone_size = 0; + frame->to_allocate -= frame->red_zone_size; + frame->stack_pointer_offset -= frame->red_zone_size; ++ ++ if (cfun->naked) ++ /* As above, skip return address */ ++ frame->stack_pointer_offset = UNITS_PER_WORD; ++ + #if 0 + fprintf (stderr, "\n"); + fprintf (stderr, "nregs: %ld\n", (long)frame->nregs); +*************** +*** 22880,22886 **** + output_set_got (tmp, NULL_RTX); + + xops[1] = tmp; +! output_asm_insn ("mov{l}\t{%0@GOT(%1), %1|%1, %0@GOT[%1]}", xops); + output_asm_insn ("jmp\t{*}%1", xops); + } + } +--- 22885,22891 ---- + output_set_got (tmp, NULL_RTX); + + xops[1] = tmp; +! output_asm_insn ("mov{l}\t{%a0@GOT(%1), %1|%1, %a0@GOT[%1]}", xops); + output_asm_insn ("jmp\t{*}%1", xops); + } + } +*** gcc-orig/config/rs6000/rs6000.c 2008-05-09 13:13:30.000000000 -0400 +--- gcc/config/rs6000/rs6000.c 2008-07-24 10:48:26.000000000 -0400 +*************** +*** 16929,16935 **** + C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9. + Java is 13. Objective-C is 14. Objective-C++ isn't assigned + a number, so for now use 9. */ +! if (! strcmp (language_string, "GNU C")) + i = 0; + else if (! strcmp (language_string, "GNU F77") + || ! strcmp (language_string, "GNU F95")) +--- 16929,16936 ---- + C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9. + Java is 13. Objective-C is 14. Objective-C++ isn't assigned + a number, so for now use 9. */ +! if (! strcmp (language_string, "GNU C") +! || ! strcmp (language_string, "GNU D")) + i = 0; + else if (! strcmp (language_string, "GNU F77") + || ! strcmp (language_string, "GNU F95")) +*** gcc-orig/dwarf2out.c 2008-04-28 05:50:31.000000000 -0400 +--- gcc/dwarf2out.c 2008-07-24 11:03:16.000000000 -0400 +*************** +*** 5540,5546 **** + + return (lang == DW_LANG_C || lang == DW_LANG_C89 || lang == DW_LANG_ObjC + || lang == DW_LANG_C99 +! || lang == DW_LANG_C_plus_plus || lang == DW_LANG_ObjC_plus_plus); + } + + /* Return TRUE if the language is C++. */ +--- 5540,5547 ---- + + return (lang == DW_LANG_C || lang == DW_LANG_C89 || lang == DW_LANG_ObjC + || lang == DW_LANG_C99 +! || lang == DW_LANG_C_plus_plus || lang == DW_LANG_ObjC_plus_plus +! || lang == DW_LANG_D); + } + + /* Return TRUE if the language is C++. */ +*************** +*** 13024,13029 **** +--- 13025,13032 ---- + language = DW_LANG_ObjC; + else if (strcmp (language_string, "GNU Objective-C++") == 0) + language = DW_LANG_ObjC_plus_plus; ++ else if (strcmp (language_string, "GNU D") == 0) ++ language = DW_LANG_D; + else + language = DW_LANG_C89; + +*************** +*** 14165,14171 **** + + /* For local statics lookup proper context die. */ + if (TREE_STATIC (decl) && decl_function_context (decl)) +! context_die = lookup_decl_die (DECL_CONTEXT (decl)); + + /* If we are in terse mode, don't generate any DIEs to represent any + variable declarations or definitions. */ +--- 14168,14174 ---- + + /* For local statics lookup proper context die. */ + if (TREE_STATIC (decl) && decl_function_context (decl)) +! context_die = lookup_decl_die (decl_function_context (decl)); + + /* If we are in terse mode, don't generate any DIEs to represent any + variable declarations or definitions. */ +*** gcc-orig/expr.c 2008-03-11 10:16:25.000000000 -0400 +--- gcc/expr.c 2008-07-24 11:03:56.000000000 -0400 +*************** +*** 9205,9210 **** +--- 9205,9215 ---- + represent. */ + return const0_rtx; + ++ case STATIC_CHAIN_EXPR: ++ case STATIC_CHAIN_DECL: ++ /* Lowered by tree-nested.c */ ++ gcc_unreachable (); ++ + case EXC_PTR_EXPR: + return get_exception_pointer (cfun); + +*** gcc-orig/function.c 2008-02-15 04:55:36.000000000 -0500 +--- gcc/function.c 2008-07-24 11:14:14.000000000 -0400 +*************** +*** 3057,3063 **** + FUNCTION_ARG_ADVANCE (all.args_so_far, data.promoted_mode, + data.passed_type, data.named_arg); + +! assign_parm_adjust_stack_rtl (&data); + + if (assign_parm_setup_block_p (&data)) + assign_parm_setup_block (&all, parm, &data); +--- 3057,3064 ---- + FUNCTION_ARG_ADVANCE (all.args_so_far, data.promoted_mode, + data.passed_type, data.named_arg); + +! if (!cfun->naked) +! assign_parm_adjust_stack_rtl (&data); + + if (assign_parm_setup_block_p (&data)) + assign_parm_setup_block (&all, parm, &data); +*************** +*** 3072,3078 **** + + /* Output all parameter conversion instructions (possibly including calls) + now that all parameters have been copied out of hard registers. */ +! emit_insn (all.first_conversion_insn); + + /* If we are receiving a struct value address as the first argument, set up + the RTL for the function result. As this might require code to convert +--- 3073,3080 ---- + + /* Output all parameter conversion instructions (possibly including calls) + now that all parameters have been copied out of hard registers. */ +! if (!cfun->naked) +! emit_insn (all.first_conversion_insn); + + /* If we are receiving a struct value address as the first argument, set up + the RTL for the function result. As this might require code to convert +*************** +*** 3202,3207 **** +--- 3204,3212 ---- + struct assign_parm_data_all all; + tree fnargs, parm, stmts = NULL; + ++ if (cfun->naked) ++ return NULL; ++ + assign_parms_initialize_all (&all); + fnargs = assign_parms_augmented_arg_list (&all); + +*************** +*** 4275,4285 **** + tree parm = cfun->static_chain_decl; + rtx local = gen_reg_rtx (Pmode); + +- set_decl_incoming_rtl (parm, static_chain_incoming_rtx, false); + SET_DECL_RTL (parm, local); + mark_reg_pointer (local, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (parm)))); + +! emit_move_insn (local, static_chain_incoming_rtx); + } + + /* If the function receives a non-local goto, then store the +--- 4280,4294 ---- + tree parm = cfun->static_chain_decl; + rtx local = gen_reg_rtx (Pmode); + + SET_DECL_RTL (parm, local); + mark_reg_pointer (local, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (parm)))); + +! if (! cfun->custom_static_chain) +! { +! set_decl_incoming_rtl (parm, static_chain_incoming_rtx, false); +! emit_move_insn (local, static_chain_incoming_rtx); +! } +! /* else, the static chain will be set in the main body */ + } + + /* If the function receives a non-local goto, then store the +*************** +*** 5174,5179 **** +--- 5183,5191 ---- + #endif + edge_iterator ei; + ++ if (cfun->naked) ++ return; ++ + #ifdef HAVE_prologue + if (HAVE_prologue) + { +*** gcc-orig/function.h 2008-01-26 12:18:35.000000000 -0500 +--- gcc/function.h 2008-07-24 11:15:42.000000000 -0400 +*************** +*** 463,468 **** +--- 463,476 ---- + + /* Nonzero if pass_tree_profile was run on this function. */ + unsigned int after_tree_profile : 1; ++ ++ /* Nonzero if static chain is initialized by something other than ++ static_chain_incoming_rtx. */ ++ unsigned int custom_static_chain : 1; ++ ++ /* Nonzero if no code should be generated for prologues, copying ++ parameters, etc. */ ++ unsigned int naked : 1; + }; + + /* If va_list_[gf]pr_size is set to this, it means we don't know how +*** gcc-orig/gcc.c 2008-03-02 17:55:19.000000000 -0500 +--- gcc/gcc.c 2008-07-24 11:25:08.000000000 -0400 +*************** +*** 129,134 **** +--- 129,137 ---- + /* Flag set to nonzero if an @file argument has been supplied to gcc. */ + static bool at_file_supplied; + ++ /* Flag set by drivers needing Pthreads. */ ++ int need_pthreads; ++ + /* Flag saying to pass the greatest exit code returned by a sub-process + to the calling program. */ + static int pass_exit_codes; +*************** +*** 365,370 **** +--- 368,376 ---- + static const char *version_compare_spec_function (int, const char **); + static const char *include_spec_function (int, const char **); + static const char *print_asm_header_spec_function (int, const char **); ++ ++ extern const char *d_all_sources_spec_function (int, const char **); ++ extern const char *d_output_prefix_spec_function (int, const char **); + + /* The Specs Language + +*************** +*** 472,477 **** +--- 478,484 ---- + assembler has done its job. + %D Dump out a -L option for each directory in startfile_prefixes. + If multilib_dir is set, extra entries are generated with it affixed. ++ %N Output the currently selected multilib directory name. + %l process LINK_SPEC as a spec. + %L process LIB_SPEC as a spec. + %G process LIBGCC_SPEC as a spec. +*************** +*** 917,922 **** +--- 924,931 ---- + #endif + #endif + ++ #define GCC_SPEC_FORMAT_4 1 ++ + /* Record the mapping from file suffixes for compilation specs. */ + + struct compiler +*************** +*** 1635,1640 **** +--- 1644,1653 ---- + { "version-compare", version_compare_spec_function }, + { "include", include_spec_function }, + { "print-asm-header", print_asm_header_spec_function }, ++ #ifdef D_USE_EXTRA_SPEC_FUNCTIONS ++ { "d-all-sources", d_all_sources_spec_function }, ++ { "d-output-prefix", d_output_prefix_spec_function }, ++ #endif + #ifdef EXTRA_SPEC_FUNCTIONS + EXTRA_SPEC_FUNCTIONS + #endif +*************** +*** 3974,3979 **** +--- 3987,3995 ---- + } + } + ++ if (need_pthreads) ++ n_switches++; ++ + if (save_temps_flag && use_pipes) + { + /* -save-temps overrides -pipe, so that temp files are produced */ +*************** +*** 4280,4285 **** +--- 4296,4313 ---- + infiles[0].name = "help-dummy"; + } + ++ if (need_pthreads) ++ { ++ switches[n_switches].part1 = "pthread"; ++ switches[n_switches].args = 0; ++ switches[n_switches].live_cond = 0; ++ /* Do not print an error if there is not expansion for -pthread. */ ++ switches[n_switches].validated = 1; ++ switches[n_switches].ordering = 0; ++ ++ n_switches++; ++ } ++ + switches[n_switches].part1 = 0; + infiles[n_infiles].name = 0; + } +*************** +*** 5240,5245 **** +--- 5268,5284 ---- + return value; + break; + ++ case 'N': ++ if (multilib_dir) ++ { ++ arg_going = 1; ++ obstack_grow (&obstack, "-fmultilib-dir=", ++ strlen ("-fmultilib-dir=")); ++ obstack_grow (&obstack, multilib_dir, ++ strlen (multilib_dir)); ++ } ++ break; ++ + /* Here we define characters other than letters and digits. */ + + case '{': +*** gcc-orig/gcc.h 2007-07-26 04:37:01.000000000 -0400 +--- gcc/gcc.h 2008-07-24 11:26:34.000000000 -0400 +*************** +*** 37,43 **** + || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \ + || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \ + || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \ +! || (CHAR) == 'B' || (CHAR) == 'b') + + /* This defines which multi-letter switches take arguments. */ + +--- 37,43 ---- + || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \ + || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \ + || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \ +! || (CHAR) == 'B' || (CHAR) == 'b' || (CHAR) == 'J') + + /* This defines which multi-letter switches take arguments. */ + +*** gcc-orig/gimplify.c 2008-05-07 04:00:36.000000000 -0400 +--- gcc/gimplify.c 2008-07-24 14:40:20.000000000 -0400 +*************** +*** 5701,5706 **** +--- 5701,5712 ---- + } + break; + ++ case STATIC_CHAIN_EXPR: ++ /* The argument is used as information only. No need to gimplify */ ++ case STATIC_CHAIN_DECL: ++ ret = GS_ALL_DONE; ++ break; ++ + case TREE_LIST: + gcc_unreachable (); + +*** gcc-orig/tree-dump.c 2008-02-13 06:15:51.000000000 -0500 +--- gcc/tree-dump.c 2008-07-24 12:44:35.000000000 -0400 +*************** +*** 646,651 **** +--- 646,655 ---- + } + break; + ++ case STATIC_CHAIN_EXPR: ++ dump_child ("func", TREE_OPERAND (t, 0)); ++ break; ++ + case CONSTRUCTOR: + { + unsigned HOST_WIDE_INT cnt; +*** gcc-orig/tree-gimple.c 2007-12-13 16:49:09.000000000 -0500 +--- gcc/tree-gimple.c 2008-07-24 12:46:41.000000000 -0400 +*************** +*** 74,79 **** +--- 74,81 ---- + case VECTOR_CST: + case OBJ_TYPE_REF: + case ASSERT_EXPR: ++ case STATIC_CHAIN_EXPR: /* not sure if this is right...*/ ++ case STATIC_CHAIN_DECL: + return true; + + default: +*************** +*** 147,153 **** + || TREE_CODE (t) == WITH_SIZE_EXPR + /* These are complex lvalues, but don't have addresses, so they + go here. */ +! || TREE_CODE (t) == BIT_FIELD_REF); + } + + /* Return true if T is a GIMPLE condition. */ +--- 149,158 ---- + || TREE_CODE (t) == WITH_SIZE_EXPR + /* These are complex lvalues, but don't have addresses, so they + go here. */ +! || TREE_CODE (t) == BIT_FIELD_REF +! /* This is an lvalue because it will be replaced with the real +! static chain decl. */ +! || TREE_CODE (t) == STATIC_CHAIN_DECL); + } + + /* Return true if T is a GIMPLE condition. */ +*** gcc-orig/tree-nested.c 2008-05-29 07:35:05.000000000 -0400 +--- gcc/tree-nested.c 2008-08-03 10:20:22.000000000 -0400 +*************** +*** 300,305 **** +--- 300,306 ---- + if (!decl) + { + tree type; ++ enum tree_code code; + + type = get_frame_type (info->outer); + type = build_pointer_type (type); +*************** +*** 815,820 **** +--- 816,823 ---- + + if (info->context == target_context) + { ++ /* might be doing something wrong to need the following line.. */ ++ get_frame_type (info); + x = build_addr (info->frame_decl, target_context); + } + else +*************** +*** 1640,1645 **** +--- 1643,1652 ---- + if (DECL_NO_STATIC_CHAIN (decl)) + break; + ++ /* Don't use a trampoline for a static reference. */ ++ if (TREE_STATIC (t)) ++ break; ++ + /* Lookup the immediate parent of the callee, as that's where + we need to insert the trampoline. */ + for (i = info; i->context != target_context; i = i->outer) +*************** +*** 1714,1719 **** +--- 1721,1734 ---- + } + break; + ++ case STATIC_CHAIN_EXPR: ++ *tp = get_static_chain (info, TREE_OPERAND (t, 0), &wi->tsi); ++ break; ++ ++ case STATIC_CHAIN_DECL: ++ *tp = get_chain_decl (info); ++ break; ++ + case RETURN_EXPR: + case GIMPLE_MODIFY_STMT: + case WITH_SIZE_EXPR: +*************** +*** 1889,1897 **** + { + annotate_all_with_locus (&stmt_list, + DECL_SOURCE_LOCATION (context)); +! append_to_statement_list (BIND_EXPR_BODY (DECL_SAVED_TREE (context)), +! &stmt_list); +! BIND_EXPR_BODY (DECL_SAVED_TREE (context)) = stmt_list; + } + + /* If a chain_decl was created, then it needs to be registered with +--- 1904,1937 ---- + { + annotate_all_with_locus (&stmt_list, + DECL_SOURCE_LOCATION (context)); +! /* If the function has a custom static chain, chain_field must +! be set after the static chain. */ +! if (DECL_STRUCT_FUNCTION (root->context)->custom_static_chain) +! { +! /* Should use walk_function instead. */ +! tree_stmt_iterator i = +! tsi_start ( BIND_EXPR_BODY (DECL_SAVED_TREE (context))); +! int found = 0; +! while (!tsi_end_p (i)) +! { +! tree t = tsi_stmt (i); +! if (TREE_CODE (t) == GIMPLE_MODIFY_STMT && +! GIMPLE_STMT_OPERAND (t, 0) == root->chain_decl) +! { +! tsi_link_after (& i, stmt_list, TSI_SAME_STMT); +! found = 1; +! break; +! } +! tsi_next (& i); +! } +! gcc_assert (found); +! } +! else +! { +! append_to_statement_list (BIND_EXPR_BODY (DECL_SAVED_TREE (context)), +! &stmt_list); +! BIND_EXPR_BODY (DECL_SAVED_TREE (context)) = stmt_list; +! } + } + + /* If a chain_decl was created, then it needs to be registered with +*** gcc-orig/tree-pretty-print.c 2008-01-27 11:48:54.000000000 -0500 +--- gcc/tree-pretty-print.c 2008-07-24 14:31:32.000000000 -0400 +*************** +*** 1251,1256 **** +--- 1251,1266 ---- + pp_string (buffer, " [tail call]"); + break; + ++ case STATIC_CHAIN_EXPR: ++ pp_string (buffer, "<>"); ++ break; ++ ++ case STATIC_CHAIN_DECL: ++ pp_string (buffer, "<>"); ++ break; ++ + case WITH_CLEANUP_EXPR: + NIY; + break; +*** gcc-orig/tree-sra.c 2008-02-12 13:35:05.000000000 -0500 +--- gcc/tree-sra.c 2008-07-24 14:34:07.000000000 -0400 +*************** +*** 262,267 **** +--- 262,269 ---- + case RECORD_TYPE: + { + bool saw_one_field = false; ++ tree last_offset = size_zero_node; ++ tree cmp; + + for (t = TYPE_FIELDS (type); t ; t = TREE_CHAIN (t)) + if (TREE_CODE (t) == FIELD_DECL) +*************** +*** 271,276 **** +--- 273,283 ---- + && (tree_low_cst (DECL_SIZE (t), 1) + != TYPE_PRECISION (TREE_TYPE (t)))) + goto fail; ++ /* Reject aliased fields created by GDC for anonymous unions. */ ++ cmp = fold_binary_to_constant (LE_EXPR, boolean_type_node, ++ DECL_FIELD_OFFSET (t), last_offset); ++ if (cmp == NULL_TREE || tree_expr_nonzero_p (cmp)) ++ goto fail; + + saw_one_field = true; + } +*** gcc-orig/tree.def 2007-10-29 07:05:04.000000000 -0400 +--- gcc/tree.def 2008-07-24 14:34:32.000000000 -0400 +*************** +*** 539,544 **** +--- 539,551 ---- + arguments to the call. */ + DEFTREECODE (CALL_EXPR, "call_expr", tcc_vl_exp, 3) + ++ /* Operand 0 is the FUNC_DECL of the outer function for ++ which the static chain is to be computed. */ ++ DEFTREECODE (STATIC_CHAIN_EXPR, "static_chain_expr", tcc_expression, 1) ++ ++ /* Represents a function's static chain. It can be used as an lvalue. */ ++ DEFTREECODE (STATIC_CHAIN_DECL, "static_chain_decl", tcc_expression, 0) ++ + /* Specify a value to compute along with its corresponding cleanup. + Operand 0 is the cleanup expression. + The cleanup is executed by the first enclosing CLEANUP_POINT_EXPR, --- gcc-4.3-4.3.4.orig/debian/patches/pr40134.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr40134.dpatch @@ -0,0 +1,68 @@ +#! /bin/sh -e + +# DP: Proposed patch for PR target/40134. + +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 -p2 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p2 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: libgcc/config/arm/t-linux +=================================================================== +--- a/src/libgcc/config/arm/t-linux (revision 0) ++++ b/src/libgcc/config/arm/t-linux (revision 0) +@@ -0,0 +1,26 @@ ++# Override SHLIB_LINK and SHLIB_INSTALL to use linker script ++# libgcc_s.so. ++SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ ++ -Wl,--soname=@shlib_base_name@.so.1 \ ++ -Wl,--version-script=@shlib_map_file@ \ ++ -o @multilib_dir@/@shlib_base_name@.so.1.tmp @multilib_flags@ \ ++ @shlib_objs@ -lc && \ ++ rm -f @multilib_dir@/@shlib_base_name@.so && \ ++ if [ -f @multilib_dir@/@shlib_base_name@.so.1 ]; then \ ++ mv -f @multilib_dir@/@shlib_base_name@.so.1 \ ++ @multilib_dir@/@shlib_base_name@.so.1.backup; \ ++ else true; fi && \ ++ mv @multilib_dir@/@shlib_base_name@.so.1.tmp \ ++ @multilib_dir@/@shlib_base_name@.so.1 && \ ++ (echo "/* GNU ld script"; \ ++ echo " Use the shared library, but some functions are only in"; \ ++ echo " the static library. */"; \ ++ echo "GROUP ( @shlib_base_name@.so.1 libgcc.a )" \ ++ ) > @multilib_dir@/@shlib_base_name@.so ++SHLIB_INSTALL = \ ++ $(mkinstalldirs) $(DESTDIR)$(slibdir)@shlib_slibdir_qual@; \ ++ $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so.1 \ ++ $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so.1; \ ++ rm -f $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \ ++ $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \ ++ $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so +Index: libgcc/config.host +=================================================================== +--- a/src/libgcc/config.host (revision 149205) ++++ b/src/libgcc/config.host (working copy) +@@ -203,6 +203,7 @@ + arm*-*-netbsd*) + ;; + arm*-*-linux*) # ARM GNU/Linux with ELF ++ tmake_file="arm/t-linux" + ;; + arm*-*-uclinux*) # ARM ucLinux + ;; --- gcc-4.3-4.3.4.orig/debian/patches/gdc-arm-unwind_ptr.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-arm-unwind_ptr.dpatch @@ -0,0 +1,51 @@ +#! /bin/sh -e + +# gdc-arm-unwind_ptr.dpatch by Arthur Loiret +# DP: Fix build on arm. + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/d/phobos/gcc/deh.d 2007-11-07 11:51:41.000000000 +0100 ++++ gcc/d/phobos/gcc/deh.d 2007-11-07 11:51:54.000000000 +0100 +@@ -254,7 +254,7 @@ + ubyte *p; + ubyte *action_record; + //int handler_switch_value; +- _Unwind_Ptr /*landing_pad, */ip; ++ _Unwind_Ptr landing_pad, ip; + Phase1Info phase1; + + static if (Use_ARM_EABI_Unwinder) +--- gcc/d/phobos2/gcc/deh.d 2007-11-07 18:05:26.000000000 +0100 ++++ gcc/d/phobos2/gcc/deh.d 2007-11-07 18:05:55.000000000 +0100 +@@ -254,7 +254,7 @@ + ubyte *p; + ubyte *action_record; + //int handler_switch_value; +- _Unwind_Ptr /*landing_pad, */ip; ++ _Unwind_Ptr landing_pad, ip; + Phase1Info phase1; + + static if (Use_ARM_EABI_Unwinder) --- gcc-4.3-4.3.4.orig/debian/patches/pr35020.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr35020.dpatch @@ -0,0 +1,320 @@ +#! /bin/sh -e + +# DP: Fix PR libjava/35020, taken from the trunk. + +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 -p0 < $0 + uudecode $0 + tar -xv -f pr35020-classes.tgz -C ${dir} + rm -f pr35020-classes.tgz + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-05-22 Andrew Haley + + PR libgcj/35020 + * java/lang/Class.java (getSimpleName): Replace incorrect use of + String.lastIndexOf(String, int) with String.substring. + * testsuite/libjava.lang/PR35020.java: New file. + * testsuite/libjava.lang/PR35020.out: New file. + +2008-05-22 Andrew Haley + + PR libgcj/35020 + * java/lang/Class.java (getSimpleName): Import from GNU Classpath. + +Index: libjava/testsuite/libjava.lang/PR35020.java +=================================================================== +--- libjava/testsuite/libjava.lang/PR35020.java (revision 0) ++++ libjava/testsuite/libjava.lang/PR35020.java (revision 135801) +@@ -0,0 +1,21 @@ ++public class PR35020 ++{ ++ class inner ++ { ++ } ++ public static void main(String[] args) ++ { ++ System.out.println(inner.class.getSimpleName()); ++ System.out.println(PR35020.class.getSimpleName()); ++ System.out.println(Class.class.getSimpleName()); ++ System.out.println((new int[7]).getClass().getSimpleName()); ++ System.out.println((new Object[1][1][1][1][1][1][1][1]).getClass().getSimpleName()); ++ System.out.println((new java.security.PrivilegedAction() ++ { ++ public Object run() { ++ return null; ++ } ++ }).getClass().getSimpleName()); ++ } ++} ++ +Index: libjava/testsuite/libjava.lang/PR35020.out +=================================================================== +--- libjava/testsuite/libjava.lang/PR35020.out (revision 0) ++++ libjava/testsuite/libjava.lang/PR35020.out (revision 135801) +@@ -0,0 +1,6 @@ ++inner ++PR35020 ++Class ++int[] ++Object[][][][][][][][] ++ +Index: libjava/java/lang/Class.java +=================================================================== +--- libjava/java/lang/Class.java (revision 135770) ++++ libjava/java/lang/Class.java (revision 135801) +@@ -1075,22 +1075,29 @@ + */ + public String getSimpleName() + { +- StringBuffer sb = new StringBuffer(); +- Class klass = this; +- int arrayCount = 0; +- while (klass.isArray()) ++ if (isAnonymousClass()) ++ return ""; ++ if (isArray()) + { +- klass = klass.getComponentType(); +- ++arrayCount; ++ return getComponentType().getSimpleName() + "[]"; + } +- if (! klass.isAnonymousClass()) ++ String fullName = getName(); ++ int pos = fullName.lastIndexOf("$"); ++ if (pos == -1) ++ pos = 0; ++ else + { +- String fullName = klass.getName(); +- sb.append(fullName, fullName.lastIndexOf(".") + 1, fullName.length()); ++ ++pos; ++ while (Character.isDigit(fullName.charAt(pos))) ++ ++pos; ++ fullName = fullName.substring(pos); + } +- while (arrayCount-- > 0) +- sb.append("[]"); +- return sb.toString(); ++ ++ int packagePos = fullName.lastIndexOf("."); ++ if (packagePos == -1) ++ return fullName; ++ else ++ return fullName.substring(packagePos + 1); + } + + /** + +begin-base64 644 pr35020-classes.tgz +H4sIAE24O0gAA7w6C3hU1Zn/f2+SmUwO5AUEwmtEhCSTkARCEBIDIQQcTGIk +CZao1ZvJTTJmHnEeINpaQW3RPuzal+/XugW76iJrkyAK+Cht1e0+anfbrlpf +261rH2ut3dZttf9/7p2ZOzM3JHX3a/jIPfec//zv1zk3Af/A5dpurdYX0KLR +MS02UhvwD9TKqYAWGq5t4/lVchU+6k8d/TQ2NPCzft3aOvle17jaeNataVy9 +bh3U19fVN65bs3pd41qoW82A4K77yBT/jJ94NKZF3G4YDI+GTwdHYENDfwmG +/rI/z33w+HF61CtdDlAQCjMs74AchKLU5PkDl+u+mAPyEOalZiP6UICma3v3 +jukOcCIsy15rDYXCMS2mD7YH9KAeIhwuhOXZcNv0kB7x+7bo5HMRLeYPhxwg +EOZISH+4todWtYD/Km0goCPkNftD/lgLglpRuRMhpy08qLtAhWIBs2A2ydPh +D+ld8eCAHuk1dpR0hH1aYKdGWOjdnMyJjfijCMUdGeI3kZjp8CShuWdeJnBz +b29TC+0oZJYkj7qcR3AO+UPyHcHVfqVPH2OxSLeLEEpTSHpHIuE9Bm7HUDjS +pQVpdFaFhUxPLOIPDTdVZrHpADeCO2O2KxzbGo6HBpMUEfJ7/MMhLRaPEOaK +mWBurmKJGm1As3jI5soFxL+AFbCStDWsx+RsR1gb1CPeUEyPkE4QFlRkbTRA +5PZKAYuhCuEcGw76p9iXzQgJLjOYodKSbFTkSGTkgB5B2PR/oWSoy5WQVSfb +z6movMiGoTKbad7NQq8R0ABryR2DOjtuq8+nR6NtI7pvlDy1wlu5k4HWCTgb +6kgav6nKbUmiDtiQcKx4zB+obY1EtL0d/mjMBeuhmDefI6AFNtJm4tSINH0w +yfHcin4bll3QCm0O2JxIBynMUQFboJ1UqEWZCPusdbuRMhK6ktsYjHx2WyKs +5WRbOMAJgPyU2fQK2A7nMdLBwdaA9JMOO9imyn4WqFNAF5yPMIsE6omP6RGf +EXml2d7VxOgvELADekidURmVlD28PN0nYCdcSPEXC0vROErsZLGZc8Au0qed +qXMCUitzO2wswt4SZX7NTFFhB9SchZS9bHZ6RCFUVUwfk6bjkhF5dzg4Fg5R +LuasRiGarSvDnyUlSlixSNwXCxOlNRXZclr3JnK5ZRPph0gsTcF0hXvivpFO +PTYStmaopmzUzMQ02JOpN51TUuiy9Diz44wddjqgRGiOCghAkMLXGjhpBM/M +iB57ivPs9yPMtws+wwwrpsdsABZZkG/164FBhJppkn0ClwQnW5G/Lsm0lVyz +mKo4kwxJv8hekwZaVuCVAuJAcbV4CmEMSIqkSy3YDS+xz80z80QDQ1M60wm0 +bTNBO5UXmpidMMsF18J+B+xLa5gMdAKug+spmelXxLWATLE2SaXfCZ+mXqHZ +F5A9jQsG4QC3MTdmwCfMJ8vAZwVcBVdTFglKPowKl6NFholKblCL+UYQyk+n +kJIshUTZOrbGsdEicZJocmjO9LZVNux6p3Y3VtxXBXyNE7JzRIuOGF0cwm0C +vgRfdkEUDlAJH2JgQ8DcIYPQgtN4UH6CnyijulfAfbCbOLeUS2PVAX9N8Wwt +TqFRffBcYqNHp4p5P1fM+8HLSA4KOMQ1l6uM7GCGNCrNvHyBA/42gSWbG4bo +c8AjZIrT+bwa1WNJmbJ54VrhT1JFQD/99xrtRrfmG9WGdfYUq57NaRl5EwIm +4SjVNgI3tDgnDda0E4MeE/AEPGmY2UTRHY4YUb9imkySRHMCnnLASeLItgQJ +eAyeRlg5DbaUAM8yum+l6XhnZ1r9U3zUJpRNWfEEtwap9ndhNuXN8aEh7up2 +Ml/ZeaXfRkzSPieqRCbJT45Zjd8T8DzHZl7QXC5IwZL9llacJsa8laZlk+DM +f2d40E+uz3WmgF536NFwPOLTucxNqceQHqvt29EhDftvAn7IhhURc2c3nfjZ +VD8W8O/wA8PiPXujMT2YwM2rLwt4kVeT28w0E5KPvIBpgFILS61R4kLXqFRW +Ts0aHee8obF4zACVPvOmgP+A1ykKshhJYGSo/xTwGrzOeeMtAf/FeSMvoIeG +WZZr4ecCfgG/5JZ+RIu0xoyemVrX/05znoTJ/QHinbf9WsC78BuKj4g+FtB8 +siFqa7N17WvhtwL+B35HwLu1QFw/fygjLtJ73vTNv4ID/Ot/BfwB/sgN7tiY +Hhrk0mlDzORPbvuQdlDET1vLs3aiIlDl0HfGwsYiiYC5AvPQQT4bjQ9E5Sxn +D6+tk6tjo8OGO3IESf+bW2HXBXM7awGaZ9s977Q99TXXmE2cwx81m29qy/up +mtJ7NMqRS2fjrZFwkDNXdtXv50OVbdXu58QZ9VKXpIXYrgX8YuZR+dYd8Qfp +yL6b30L6nhRkeoZMdPq4IO2wbYDTiZ8TZLI/cuDCdCg6sQxrAeMwZ+micisq +SW4ixbk2Eo4Zx5ot4aDmD9XJ/tXgIKr74hF/bG9tJlCTEXiZ0y48A8904LL0 +bkRGlMDleJZR+XtMrJ1aiNJsRFZ+qwOkLzflw7O4UmAFVlIpG8ug2K1Hgn4y +FEtVnsl0cq3JhR6scWA1OcGUhASuwlpq53186LXiXVwxNWLZEGG9wMW4hBld +I7AB6RhdFg+NhsJ7QpkaIvNMr1olSu628DQqIf1mKoLZ2CBwLhbyqFngHCx0 +You1fLuduIkzFPuom+JkUI/6qQEjP9dlne2JUZmizuJZbBO4BQslyJAWD8Qy +QPLhBG4VuA3PJReS6DIA+A4s1VB0amNNBbgdOxxIh+tZaQsCO7GLgm6Yu5Dp +0pk5lY/duMOBF1DlSK1tDocDuhYS2IO9lH17d/S1k492ZAE08U3dfpbgQoEf +YwnKo9JB22zkYLB+gRcx2Lwxoy3IAHHiJQjAgJcKvIwBFxn4um3BGXCAteuj +rEo5gp95UVNpJdmyctIcEdR1XU5pgjikFnBQv5JzPxcYLy8HOKcGOe957ROp +w9zHQUAKvwIp5Iqll3da7noyGn4jwRn3PhjjzumbLtwNEw7ck6Z3U0zGvVfg +VXxwKDEiyJTfRJ67Z8TP5wKrSRKNFjmpFu2JD5j3J8tncKdAe9qb+zZkK6wl +Ox339jW12FybeeQ8i7dPYBEWO/A6Ml4GVBupLpk4XbgfikmUUYNPm8vYPllM +cnwaX76U2bkz5V0meZPAUj6dqeGBy43Dc3soHpSnakrrhDyPSp0Je7PAL3I0 +5vmjDOTEW2gsewA+ZeCXBbwAV/PoqwK/hrdSiFE5NPTulze7aQ1v8m48CZAs +kS68He904B0I86fqEQXehXczK6Hd4VFCvd5Gxqkv4tIr2r3kDXaXWnh/2jeB +9kgkHHHiAxSpLL6b+qTRqNuQv6LSbfS5LrwPDjjxIOXNPlmz3bGwW5MiuuUu +6VsOfJCwpFDviFMJDepJAzuRDlTLe0d0E72J3B0bieh73FrIradc4RA+TAdl +fCTjDiz7pjp5xU4aduBhBE+2cr2kTp+s5b10jNZjllrNoZ2vp95rbGw55fYm +2Wr07A3FRvSYn3KNoL7G+CgikcmrS39wLCC7a/ahSYFH2dm4AQqFQ3uD4XhU +OjcvHhM42ygwTwq4DM7n0QmB43DUiU9R3broEic+Qywv57z0LU5bp6a4R/C6 +8Dv4nAO/m/Y1oo2aZ80X41r8PL4gu7It/mG/bKfbKvud+D1Cvoq/bcQDAeM8 +oI6FKVpcY4kTY9Q4T7SHfIFwNHVRUJY2Z738OqNiultELkwzvAsssZJJHNAW +2e5Ou9eQXFoOityYmR+lvJbT90L7KxK+SpWZ4iWBP4SjDnyFnHI4FK+14TmN +ULcWoerkwpfxVfbl1zJKsJFpbW+BaMsbAt/EHxv8J5lkVqJ8q+Cn3h3HEKo7 +Zs5IU5rg1iv1clsVGnITK28L/Dm+ZZ4kk9uMG2ae4xGRIIeJ6cZ96ZR6THx0 +a+Jr4Wmhsm7JDUdooST2Ttptpt1m5vxdgb/AXxqBaA3MhtPXQC0JWpvaRSy3 +Nrdu2DAtnF2NbOUaSb/ZjX4n8Pf4vnEHn9omK3OaRuyxF+Af8AMH/jHt5t0W +VOCH/P1kdmrRMFlhasIM38Ih/qhoVdAZM9BGgWZlftn0rHMjYqFhU+BbZZir +9HQo+YlGSDazfGFGDa1LccrPXYoQyixWovXW3aJMglMKhVKkFHMOi1OKO9um +lM6okjKqUqHM4X6iwBcOxeg4ED1P3+tQ5qX5oEVmb2iEQiym85WRMl8oC5DY +KLXWhu6IHtVDMca9UOAtyiL+TGD9ntaW+hxWAFvhAv7V51BySJygNpZs9Ky6 +Ic2hRv/5HnGU/u9OqjgTI8K27O3Zn6Sm9/Qmm9u55KF/vS3x5hlhld+yNKqQ +fp8WMIunUi2UKjjKo1VCqeUyOssfNZrsRA1V6gXcIiunskYoDQxDNVl+7zd9 +fZYv8YnMqHAu44tsgsbZQlnPfrXE3q9SH7nzyIJ0dstwLLP3nYGM8iOnco7A +3+B7CGs/Eg6HsinttCB3Lq93KRuVzVxxbnUpW5StDqU94ajJY7H5AZq8OcKW +iQhlm0KHKzEY7o74d/sD+rA+mEqTltN0YrHV/FRrd1+0fCb9MGm+R14CbvVz +E+0y/iqJNyLc29xrd/Y4bQCnVS07BjL+WMUOJvsPVZqSt5rWP1Lhq2dvKGS6 +nR6FeqC4hBzIBQcdVgsAYAco/OcqNF9Ib+3At3wAuVUTUPQoDVQood8uAgIY +po1+KKWRMIBgDsyl57y0mTIgd4H5hBIwBxZI1OW0lkPPhZgPi2EJYUvMLIUz +aKTAMqKxGM5MW2GGWogDpu2qyvFMwPJJqDgs4ZmrPEnzBsnRPAMKPFAt/7bI +BTXEG0p6VTb0VtG4FupoZLzXS2rbaYSSmjoBq0kHjYczdPD3JONjFh24snTg +MnRA0Gdn4X+YcKn03HgM1u+agKYOT1XOODRPwqaTsHUczr2wahw6OqtPQYmn +moin5j2eceh+EqjF7j0JH0sxVU5KAHgCnPAkqfw4CXuCCJ4kwk9JJt0GOZNJ +J6yDfriI2FxMCr+Y5hTJuKG8jSbjBtQlpDyEj8NKMmMJPS+VZl0h35GbfsJi +iKbhPhgAn0XJg+bKEI2HYSSpBL9UwnmmkgsMJZMCLs/QMjogF50WLRdkabnA +9LR9EJqSdEuW/lOkc5i0SrrPJF1FpD0zIs3OuTGphTCNAqeRNUEwS9YWIrhx +hgQDEEwSHCMzXAERS3RF6X8cdpuhnE16TybpASLtmyHpOOyVHnAVXE3z++AT +9FSz1P5JSfqQzDEAjZJ0yTXkvJ+6HUTJDTy4DcQxGNxF0fyZE1Xs5jd11Xzb +MleT4nIJZSnA/cTl9VCGN4AbPwMr8QB48EZowJsk51UGJZNzHn2OUgDK0edh +F/G0knj6AtxMOFNyNZpyIXwR/ko+b0nzaIU//mao9kukbMUyw5JeYwb0EsOX +OUy/MgG3dlZLiaIs0e0nqlMSzaP0AXicJDoBhXgSSvEpWIRPW2J1SVKSJXCH +lKSQ/t0Jd5mxavC/xIxVhLuTBs9KXvdk2vv7RPfFGSav+5J43zat6TsG91PS +esBIWnsSyelvOGl9vVNtOQhlnurFq4luaul6FRdXH7/vw7c4sXXVcGKrSQNg +jT34JHxjHB46CQ+nGK4iVgBfAie+DPPxFViMP4Fl+CqsoWczvgat+Dq04xvQ +i29KgRpYsZQJEonuIvg7OCwT3VZ4VLrBUhofofytQquZ/KwO4Usq9DH4pik4 +m5sTo5t0ubzDcwoKPSTG+CQ8Pg7HD5vDSXgmxXUJKwrfITX/GvLxXZiL71mq +k9vkLhcWwin4NlFJ0XcnHfIQZa2EI9ZT6v0OfJfmy+n5nFx/3gzAF2YUgOq0 +ATgO/3D6AFTOgFzlTChTloNboQKgrASPUgENSuWfEYD/OEUAKvBP8M9Srn8x +A/H70COfk3BU2uNF+IFpj+sJF9MqryI+/7WTrcKcO6sn4UeHa0iQlzICTfkU +5CnXQoGyDwqV/TBHuc7CcXmS43J4RXKcRzM/oZFCaa8QXiULWTkuT3rIa/D6 +9By9ITn6aSZHdxBHdxJHdxFHdxNH9/w/cKTwh3WToyNEhdPIdrL0z+6GLR7K ++28X1d4DDaa/dlbLBc8x+NWu6qJVRbXj8M4kvDcBv+fh+7Ttg3HEjoOQ78kZ +x5wOT6Y3PAAO5etQrByCBcqD5BHfgM3KI3Cu8qgliW1PSrLdlGQBVFJFr05L +YtsTPo/5yNEOWIBC2r4rlYxxFq3PxkIJV4TFyfkSei8lC/D8HHN9rvmch2Vm +qs4jyPkUPcaeRajwFzq2Ii6lp6GzTxOsTL2T6OYwd3mO4IpxrKqawDrO5I4j +uPpwdYYe1DWQozaAU10Lheo6mKOuh/nqBlikNtsk8xwox0ZcR/TmgAvPxrX2 +yZy/lJs8xWk/r9VXjeP628DJ1jvMNqP3ptsgvxTPOQh5pbjRsB0vG5ZLsTmb +WVDPBYfqBaFut+T9+qy8X59koZVUKFmgsFdktXIY6Y/0MImbH/I8hu2nwOPZ +1fU0D5nwUfQqwF3rrOojeP449tU881DNMwdhac0zJ47gzjSQAhOE8ew6BRrj +MT1zQ04pXrwgR2aoYl5GY9dBOIvfFuQYrwty0mBvB0f1qQ9fy6beRdRNzF0E +XCPxFh3BjyfRuumlxnipsUAZGH+awaz2EPnSfFgD62W1aZTP9dAkn5dRjZmQ +0feYfE6QHSeShthP3gDqpZCrapCvDsAslaqNOkj+MgQr1GGoUkeggd6b1QB4 +1SB0qiHoU8fgYvUKuEyNgl+NQUyNw351L3xBvQq+on4CHlA/CYfUa+AIwTyu +7oen1evgBfV6+JF6AN5Qb4SfqZ+F36qfg/fVz6Oi3iyN38KHBeqtzSpEsTAo +q9AKakN0HCJze+G4OfLTmDNPDjwNm+TIknkkjjLZLjyRzDwXmie1sqqiVeM4 +3LxQuRccpNLDVerCcRxNHdtkkVRJy+od5Jd3QpF6l6VIlkliQCFWhCEq10iz +DbDWJHKLWdjcFKrsTuV/aufaw2rK2vha++zd6X45xyndG1OpTvd0JLppijqd +RGEiNGgMkkuFeTDkTgkRXzERCZEpdIpQRIwZlBmXSZRqyHW+oSm30ay1zz6n +cxLffDPfN3/t3/PU3vvstdd617vW+3vfd6+9t6MDqnwmMopEHF1oOTpJYbIU +zu9KXWXGmo+MdS8y1v1Al1MA+JwDwIhzEFhyDinRr5WCtKzgArplEsVm2GwJ +VEobqsOFKvRrpbCZRfAredwPF9NyTmNCBx6KGOCSbKBVDpdGl8LlFQ7d7bMG +SVWLdHBVSQc8hSQ8FPUKmECh65yR/BxciVkTroLhivZX0+1PZto3RHTGdxBK +4RolGYTdZbiDxqEBTclGJRkMFTIYwlT4uUqwYqjoeRrUVLS8jm65GWkNXy9G +HU/PAkEOfLiRgzNXuClMWAYzhRAdcaQwqxLuKBpdDnOj+XB3KdxTwezn4/2w +crgP7RcIS+HBCkRpHDSIHwNr1C28dUV8jreD4DdMN0RAB3XjKZpSz9DgPkeD +2wasOe3AhvMCuHJeATfOG2Rdb4EPCcEnJAGC0HiHkFwlphYz3eUDA1iMYhUI +fNCQH4ZHVDouVnisDYynOcpsS/AW7UjlDI6OZVM1GSmiNIsxBSk8ngUsGB4/ +IYWnZPTNh5UMe2PGChPy4RkpPOtjhkxInYOI3nw5ARHdo/9CM+TPy+D57M7f +0C72z3x4CZX1NUdlKWGR0JyMRT93jXAwMED+RwS4ZH+gRXoBHukNnMhBwJ30 +Ad4kymBJP6SSwWAIGQhCyU+ABG0/JYPAeHIo+JwMAdPJUDCDDFOyk2RGVe4g +EF6hnbs3GAhrkMXgtFsP1tJBdpfSkhVKu6qSY0H4A8pG5O78Gjq+Dm/gkBAv +XtHK/AnWMXa/EbWMh8mecYdoDlFFyD/fwn4JO8f8onJ4OxqFYbABRTiwqZu3 +JtEAkCgCJrcDA/JrICBzgAm5E1iTuUpzwJ7pmAHKOH6mO2aNWPIevK/ire0V +k78VPmDEK2TE85ENsBqPg4d6QDbQx+46G2g48BAFUVBF5DBVkR92iWwLNJDI +VUjks0CTrAYW5HlgRX4LbMiLwJ78DjiTl4AXeVlJdB9GdBuF6F49iO6jEP0J +fKqw21/oLixiumCuEJFzEv5bVcRn3aJZsgFQZCPQIO8CXbIZ9CZblEQyV2Q7 +cpF69yCSuUKkNpQryUVqp0U6h47V0dYTSpAaO8Kdor25p0RqHBG1F5gacwWU +uzeJo4LXEAjzgZoxKVlOQQElUMvtbOkerpHPAEE+RxptA6bkb8CWbEeabAMe +ZIdS+uip4DxPRGEC2vd4EJDAXMoFzgSHwDoyBboEReDA31DRWU8FK6MrCTXF +lVyck+NVNIYU4lFp3KWcckI9upTQDHOQElrR3tQpEUkn0MaUubtE6Ej3yVFK +6NIJtIBkEmgUs4Q50heonRJRHBG5F7gaqwlI93An+gpvrtCYKyV42cDQmMsn +BFLCKAtood+c6KpIKCAFVG7nFUf6LuP5TqlQSphIHB2PEeYQnIRvjhEWBKgk +LLt054ulprhAnVIHZpQGsENbN0oTiCgtMIDSBcMofTCaMgDTKR5IRMeLKG2w +FJ1bSQlAKmVI63Yo1j/IUaTmWwgrFFtCYAa0iT60bkUgAiWY+G7kMGBN/8ZB +4YQZSjgF6NpUwCdsUOIpmzYyDspR3KvEtfVFtdF1oLSUYMrbY83jZRjGRFuY +8CReZqLWNP8SQhzv98Z8LHyXiQmnLID8N+HKlLNUKXcJlUOVnOoq7p4NNGVk +T8mIvEuPzvheO+UDuJQf0KP8AZ8KQLoMBC5UEOhPBYOB1BCkxxAQR4WCKZRY +yYziGb3poXTLkzaj/ijpEtF7XWYULzcjvNjI9HgiPQsB4qBSor/cot8oJ3R0 +JEaNBRQVAzSocUCXGq8UAegrDFiL8CZIlfb05ek7XoSi2zVGqRljvsRAuv0Y +JgbRRvEHMagaUcVBFHPJ26Zv3lMzldrTVlifNmN9hirnjOTnCF/sTPDzKZg3 +8OIZvXWhXbA6fvaJ0cBAJonSKSf8opEWAsqIwNHFQB6I0jfFqPVAm9qqlBzp +wFQiBItJhNKdETOdCiMk9DWQ8AMs/heI/zPv/1u7/a0vAHz4/X9XN/d+nt3f +/3dzZ9///0cgf/8fWNPv/7+7PvyBLwBYfHi9V/Z2hDX9VOWfXOVVvM7/Zx+T +ZF7510CsoaON/JQ6fqRYTxvFbvrybwL8d58A4HdfW7d2ww+ZzElOeM/bAJoo +pDLhAuOeP3rQTWJtFLiYvftQKGk3Bkv6/jVuvW4PsnHBR+9+qwFXrtl9sRnf +x8YETAGoz8MKAoAmcw3MovTisxfjIjQdhCXIT5QCXRk7GwD5eiu6GjE0Zmv5 +AgUfuQL8uwC5hq5aZAsfR1GELwVGsEi1FmoTCmA291ALB8WfuKQFsAT4Lp0V +6IPySprl6XIs/p+Q839SXGJSYvLUpDgX5hdn2WPhIzw8ER2jaTjnr7fxH/gf +teCqyv9u/T1c3Vn+/ycQIeaQmvRedWypl/IZDWTdkqCoAKeQ8GCXkVEagPPx +HtFQ/DdyPgnaUK6Ir8UWrE5f+6WNvQ0eMXf010v5WklAeEhwUGSUsyS4x2qe +S77/Lkzs5FyrI3ZyuPz9lSMjXH/0aJzjHCpxDJHUJhccHWG3bGjrlnuZhnvz +Z82GQLVZ8wzhs4eIJ0agQF0HNSufsXTA0mN7M4ZLZvKG9/JZT1SlRaZG1Fwf +Fl+4ZMzOdcK0bba2EtsSg8CrPzpbtFETPDz6VcU2ucwp1MreN/t+tWXcII+0 +God5syvu/O7VcWJCRcVbUHPmUMrmJbNffN7xZeLeqVZOG/w2WU6uyny789fj +8/Jf5fq3r2hPfjEidv+YR5p5HSv3XjzDCzM1nkyNMntyYFnxjcjTY39KzPQ/ +bdy+51ZmSnqTdZZuw6ONSx5YP6oL+3LEa+Lnh8UeE25pcJ7o1ZUcWmNqZ2IX +A6+99NLMnDJJYEOYpK/5pt+M61XVHw0MbBc+KNGp7/Vp+NwZ0xpGp6zwrBcV +hV94nrLgkNm6+PrT47boRd2svXPsgG7ekAsHrtV1VjrWDzlXyUlpWnpSZDFx +2facIfZbz2cWpCakvlgweZLWempOvcnuxrNCrWZrvf0aBy37Nr157bdw8eBR +nRZ1hyNWhUyLc12t5hw7qvKh9vmACSev1lbcDHk0N+rCLL9dDuMLvaz4Hqs0 +L4j6hNQ2l0aappkcXSqKrPB/mvgmfviU5rxKz2kLxviXh01v8h6VcW9Y2q7S +TS4XjC7y67Mbx7esPVYuSnxePW/60kvR28Nb+hYc++7lzH2W4xofOHpyS84l ++6fvDNuctb9musF135QBdo2r283XbvXf0WgsbX4bfHDbQa4wsmW+Q9z1J2Bx +t5kyKaFvmxjNlFaIMznFTJEHtz3OlXERY8VEQK+3waP73/C89H1CTaSeycbs +tsnkR9TpURl3xcOavVsveGsdKR/cWZCz1OIV/H1f6+PjQ/vNuhdT8UvMqcW+ +FSBp1hd9qiJ6D0p2qbv/pDldY1mu+33xnWdl2VKL84l3V9o+0x4S0k8/IS/u +RZ3JF8c25/xr7bclpqET3Fpc9mTcFQRKa83cei9a3Mdx8vCjn01clvt4qI3F +rnOftk7xbScDr/067um6si3FO9TWzbLlrNx1xKJgyGbvXbolwT+89DO1Kcy1 +nDq6/mLvhL1FR8o2ZN+xu/Gcsz+/o8/2l3x+sppHYXHxqkUPyxozbj5at9Xv +cVUEf5/RzIkN9jZJDc0BVsTRgOYNLa1LjHl1604Q0eOupiU9beFcX5AhfVCa +cZinHbrlwuHRQTc/yer3telY+9NTQzd8NnN6ku+aqLdWHvbuqdOaZuwOrqvU +nTt7Q9vY4prXlOpgDEj48SIXDQSyZxQHdA3GVBy8fGBARkZIxFX+vbZvzRvH +jzR91HEpUG/k6epvNjXtsVIPCNrTIYlJEmf7Z7yqGLS68bRl43peg3PAhvOX +L2/r/9i0/fX951qVBnNJs8G/PH3b4uibvuq4XZRNo8GurIWZzTGGV5pvJeUf +XlkzY3yST5rGV1dfXYk+UbMiwVnjbuuw29t4J0Je5i3U3xKYVKPTuMtocOyK +xvS03B2tg2873ttfYBGXLTxjZe+RNSxuj6RhbU70tPrOPs+aGnNjorKOX60W +SH8I3JR9a/qk7JbDh0Y6FQXpF6bUFOvFbt197A3VK8h2x2cLyS0v2rO+PnOX +WPr7snkr9ZbPrB/Q6jG38EbQ2d5jLGIFnIETjpSl6xzg3bCVpkyIEEPCiPM+ +4tZh9vTBkwC8VaJxSqbSkfMx9eM63kfgsjpwAJaXMki5DhU6/0B1qsSsoxAv +L+UI9juqNP2BelTNVrme2wR414g/UJPqnFOuaRoJep6BKrVR+Dk/FElTACUK +oJT6qz6XBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsWLFiwYMGCBQsW +LFiwYMHi7+APRvHkTwB4AAA= +==== --- gcc-4.3-4.3.4.orig/debian/patches/pr34466.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr34466.dpatch @@ -0,0 +1,98 @@ +#! /bin/sh -e + +# DP: PR ada/34466: s-tasinf.ads:81:42: "cpu_set_t" not declared in "OS_Interface" + +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 && autoconf2.59 + ;; + -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 + +PR ada/34466 + +From: danglin + +* s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for + sysconf call. + (bit_field): New packed boolean type used by cpu_set_t. + (cpu_set_t): New type corresponding to the C type with + the same name. Note that on the Ada side we use a bit + field array for the affinity mask. There is not need + for the C macro for setting individual bit. + (pthread_setaffinity_np): New imported routine. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131457 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + + gcc/ada/sem_ch13.adb | 6 +++++- + gcc/testsuite/gnat.dg/specs/pr34799.ads | 19 +++++++++++++++++++ + 2 files changed, 24 insertions(+), 1 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/pr34799.ads + + +diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb +index 33a55a8..2b58c12 100644 +--- a/gcc/ada/sem_ch13.adb ++++ b/gcc/ada/sem_ch13.adb +@@ -2747,7 +2747,10 @@ package body Sem_Ch13 is + -- We are only interested in the case where there is at least one + -- unrepped component, and at least half the components have rep + -- clauses. We figure that if less than half have them, then the +- -- partial rep clause is really intentional. ++ -- partial rep clause is really intentional. If the component ++ -- type has no underlying type set at this point (as for a generic ++ -- formal type), we don't know enough to give a warning on the ++ -- component. + + if Num_Unrepped_Components > 0 + and then Num_Unrepped_Components < Num_Repped_Components +@@ -2756,6 +2759,7 @@ package body Sem_Ch13 is + while Present (Comp) loop + if No (Component_Clause (Comp)) + and then Comes_From_Source (Comp) ++ and then Present (Underlying_Type (Etype (Comp))) + and then (Is_Scalar_Type (Underlying_Type (Etype (Comp))) + or else Size_Known_At_Compile_Time + (Underlying_Type (Etype (Comp)))) +diff --git a/gcc/testsuite/gnat.dg/specs/pr34799.ads b/gcc/testsuite/gnat.dg/specs/pr34799.ads +new file mode 100644 +index 0000000..7d06049 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/pr34799.ads +@@ -0,0 +1,19 @@ ++-- { dg-do compile } ++-- { dg-options "-gnatwa" } ++ ++package PR34799 is ++ generic ++ type Custom_T is private; ++ package Handler is ++ type Storage_T is record ++ A : Boolean; ++ B : Boolean; ++ C : Custom_T; ++ end record; ++ ++ for Storage_T use record ++ A at 0 range 0..0; ++ B at 1 range 0..0; ++ end record; ++ end Handler; ++end PR34799; --- gcc-4.3-4.3.4.orig/debian/patches/libjava-realloc-leak.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-realloc-leak.dpatch @@ -0,0 +1,79 @@ +#! /bin/sh -e + +# DP: Don't leak upon failed realloc (taken from the trunk). + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +libjava/ + +2008-03-10 Jim Meyering + + Don't leak upon failed realloc. + * gnu/classpath/natSystemProperties.cc + (SystemProperties::insertSystemProperties): + +libjava/classpath/ + +2008-03-10 Jim Meyering + + Don't leak upon failed realloc. + * native/jni/classpath/jcl.c (JCL_realloc): Upon failed realloc, + free the original buffer before throwing the exception. + +Index: libjava/classpath/native/jni/classpath/jcl.c +=================================================================== +--- libjava/classpath/native/jni/classpath/jcl.c (revision 133093) ++++ libjava/classpath/native/jni/classpath/jcl.c (revision 133094) +@@ -1,5 +1,5 @@ + /* jcl.c +- Copyright (C) 1998, 2005, 2006 Free Software Foundation, Inc. ++ Copyright (C) 1998, 2005, 2006, 2008 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + +@@ -152,9 +152,11 @@ + JNIEXPORT void *JNICALL + JCL_realloc (JNIEnv * env, void *ptr, size_t size) + { ++ void *orig_ptr = ptr; + ptr = realloc (ptr, size); + if (ptr == 0) + { ++ free (orig_ptr); + JCL_ThrowException (env, "java/lang/OutOfMemoryError", + "malloc() failed."); + return NULL; +Index: libjava/gnu/classpath/natSystemProperties.cc +=================================================================== +--- libjava/gnu/classpath/natSystemProperties.cc (revision 133093) ++++ libjava/gnu/classpath/natSystemProperties.cc (revision 133094) +@@ -270,7 +270,10 @@ + if (errno != ERANGE) + break; + buflen = 2 * buflen; ++ char *orig_buf = buffer; + buffer = (char *) realloc (buffer, buflen); ++ if (buffer == NULL) ++ free (orig_buf); + } + if (buffer != NULL) + free (buffer); --- gcc-4.3-4.3.4.orig/debian/patches/pr30740.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr30740.dpatch @@ -0,0 +1,75 @@ +#! /bin/sh -e + +# DP: PR ada/30740: Do not optimize X*(2**Y) in a modular context + +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 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +ada: Do not optimize X*(2**Y) in a modular context + +From: Samuel Tardieu + +Compiled and regtested on i686-pc-linux-gnu. + + gcc/ada/ + PR ada/30740 + * exp_ch4.adb (Expand_N_Op_Expon): Do not optimize X*(2**Y) into + Left_Shift(X, Y) if in a modular context. + + gcc/testsuite/ + PR ada/30740 + * gnat.dg/modular.adb: New test. + +diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb +index c1b88be..9b5f998 100644 +--- a/gcc/ada/exp_ch4.adb ++++ b/gcc/ada/exp_ch4.adb +@@ -5474,6 +5474,8 @@ package body Exp_Ch4 is + begin + if (Nkind (P) = N_Op_Multiply + and then ++ not Is_Modular_Integer_Type (Typ) ++ and then + ((Is_Integer_Type (Etype (L)) and then R = N) + or else + (Is_Integer_Type (Etype (R)) and then L = N)) +diff --git a/gcc/testsuite/gnat.dg/modular.adb b/gcc/testsuite/gnat.dg/modular.adb +new file mode 100644 +index 0000000..1eff333 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/modular.adb +@@ -0,0 +1,16 @@ ++-- { dg-do run } ++with Ada.Text_IO; ++procedure Modular is ++ type T1 is mod 9; ++ package T1_IO is new Ada.Text_IO.Modular_IO(T1); ++ X: T1 := 8; ++ J1: constant := 5; ++begin ++ for J2 in 5..5 loop ++ pragma Assert(X*(2**J1) = X*(2**J2)); ++ if X*(2**J1) /= X*(2**J2) then ++ Ada.Text_IO.Put_Line("Failed"); ++ raise Program_Error; ++ end if; ++ end loop; ++end Modular; --- gcc-4.3-4.3.4.orig/debian/patches/hppa-atomic-builtins.dpatch +++ gcc-4.3-4.3.4/debian/patches/hppa-atomic-builtins.dpatch @@ -0,0 +1,385 @@ +#! /bin/sh -e + +# DP: Atomic builtins using kernel helpers for parisc. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2008-11-23 Helge Deller + + * pa/linux-atomic.c (EBUSY): Define if not _LP64. + (__kernel_cmpxchg): Return -EBUSY if the kernel LWS call + succeeded and lws_ret is not equal to oldval. + +2008-10-13 Matthias Klose + + * config/pa/linux-atomic.c: Work around missing header file + for hppa64-linux-gnu targets. + +2008-09-07 Helge Deller + + * pa/linux-atomic.c: New file. + * pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define. + * pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define. + +Index: gcc/config/pa/linux-atomic.c +=================================================================== +--- gcc/config/pa/linux-atomic.c (revision 0) ++++ gcc/config/pa/linux-atomic.c (revision 0) +@@ -0,0 +1,314 @@ ++/* Linux-specific atomic operations for PA Linux. ++ Copyright (C) 2008 Free Software Foundation, Inc. ++ Based on code contributed by CodeSourcery for ARM EABI Linux. ++ Modifications for PA Linux by Helge Deller ++ ++This file is part of GCC. ++ ++GCC 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 into combinations with other programs, ++and to distribute those combinations 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 a combine ++executable.) ++ ++GCC 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 GCC; see the file COPYING. If not, write to the Free ++Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ++02110-1301, USA. */ ++ ++/* FIXME: work around build failure for hppa64-linux-gnu target. */ ++#ifndef _LP64 ++#include ++#else ++#define EFAULT 14 ++#define EBUSY 16 ++#define ENOSYS 251 ++#endif ++ ++/* All PA-RISC implementations supported by linux have strongly ++ ordered loads and stores. Only cache flushes and purges can be ++ delayed. The data cache implementations are all globally ++ coherent. Thus, there is no need to synchonize memory accesses. ++ ++ GCC automatically issues a asm memory barrier when it encounters ++ a __sync_synchronize builtin. Thus, we do not need to define this ++ builtin. ++ ++ We implement byte, short and int versions of each atomic operation ++ using the kernel helper defined below. There is no support for ++ 64-bit operations yet. */ ++ ++/* A privileged instruction to crash a userspace program with SIGILL. */ ++#define ABORT_INSTRUCTION asm ("iitlbp %r0,(%sr0, %r0)") ++ ++/* Determine kernel LWS function call (0=32-bit, 1=64-bit userspace). */ ++#define LWS_CAS (sizeof(unsigned long) == 4 ? 0 : 1) ++ ++/* Kernel helper for compare-and-exchange a 32-bit value. */ ++static inline long ++__kernel_cmpxchg (int oldval, int newval, int *mem) ++{ ++ register unsigned long lws_mem asm("r26") = (unsigned long) (mem); ++ register long lws_ret asm("r28"); ++ register long lws_errno asm("r21"); ++ register int lws_old asm("r25") = oldval; ++ register int lws_new asm("r24") = newval; ++ asm volatile ( "ble 0xb0(%%sr2, %%r0) \n\t" ++ "ldi %5, %%r20 \n\t" ++ : "=r" (lws_ret), "=r" (lws_errno), "=r" (lws_mem), ++ "=r" (lws_old), "=r" (lws_new) ++ : "i" (LWS_CAS), "2" (lws_mem), "3" (lws_old), "4" (lws_new) ++ : "r1", "r20", "r22", "r23", "r29", "r31", "memory" ++ ); ++ if (__builtin_expect (lws_errno == -EFAULT || lws_errno == -ENOSYS, 0)) ++ ABORT_INSTRUCTION; ++ ++ /* If the kernel LWS call succeeded (lws_errno == 0), lws_ret contains ++ the old value from memory. If this value is equal to OLDVAL, the ++ new value was written to memory. If not, return -EBUSY. */ ++ if (!lws_errno && lws_ret != oldval) ++ lws_errno = -EBUSY; ++ ++ return lws_errno; ++} ++ ++#define HIDDEN __attribute__ ((visibility ("hidden"))) ++ ++/* Big endian masks */ ++#define INVERT_MASK_1 24 ++#define INVERT_MASK_2 16 ++ ++#define MASK_1 0xffu ++#define MASK_2 0xffffu ++ ++#define FETCH_AND_OP_WORD(OP, PFX_OP, INF_OP) \ ++ int HIDDEN \ ++ __sync_fetch_and_##OP##_4 (int *ptr, int val) \ ++ { \ ++ int failure, tmp; \ ++ \ ++ do { \ ++ tmp = *ptr; \ ++ failure = __kernel_cmpxchg (tmp, PFX_OP tmp INF_OP val, ptr); \ ++ } while (failure != 0); \ ++ \ ++ return tmp; \ ++ } ++ ++FETCH_AND_OP_WORD (add, , +) ++FETCH_AND_OP_WORD (sub, , -) ++FETCH_AND_OP_WORD (or, , |) ++FETCH_AND_OP_WORD (and, , &) ++FETCH_AND_OP_WORD (xor, , ^) ++FETCH_AND_OP_WORD (nand, ~, &) ++ ++#define NAME_oldval(OP, WIDTH) __sync_fetch_and_##OP##_##WIDTH ++#define NAME_newval(OP, WIDTH) __sync_##OP##_and_fetch_##WIDTH ++ ++/* Implement both __sync__and_fetch and __sync_fetch_and_ for ++ subword-sized quantities. */ ++ ++#define SUBWORD_SYNC_OP(OP, PFX_OP, INF_OP, TYPE, WIDTH, RETURN) \ ++ TYPE HIDDEN \ ++ NAME##_##RETURN (OP, WIDTH) (TYPE *ptr, TYPE val) \ ++ { \ ++ int *wordptr = (int *) ((unsigned long) ptr & ~3); \ ++ unsigned int mask, shift, oldval, newval; \ ++ int failure; \ ++ \ ++ shift = (((unsigned long) ptr & 3) << 3) ^ INVERT_MASK_##WIDTH; \ ++ mask = MASK_##WIDTH << shift; \ ++ \ ++ do { \ ++ oldval = *wordptr; \ ++ newval = ((PFX_OP ((oldval & mask) >> shift) \ ++ INF_OP (unsigned int) val) << shift) & mask; \ ++ newval |= oldval & ~mask; \ ++ failure = __kernel_cmpxchg (oldval, newval, wordptr); \ ++ } while (failure != 0); \ ++ \ ++ return (RETURN & mask) >> shift; \ ++ } ++ ++SUBWORD_SYNC_OP (add, , +, short, 2, oldval) ++SUBWORD_SYNC_OP (sub, , -, short, 2, oldval) ++SUBWORD_SYNC_OP (or, , |, short, 2, oldval) ++SUBWORD_SYNC_OP (and, , &, short, 2, oldval) ++SUBWORD_SYNC_OP (xor, , ^, short, 2, oldval) ++SUBWORD_SYNC_OP (nand, ~, &, short, 2, oldval) ++ ++SUBWORD_SYNC_OP (add, , +, char, 1, oldval) ++SUBWORD_SYNC_OP (sub, , -, char, 1, oldval) ++SUBWORD_SYNC_OP (or, , |, char, 1, oldval) ++SUBWORD_SYNC_OP (and, , &, char, 1, oldval) ++SUBWORD_SYNC_OP (xor, , ^, char, 1, oldval) ++SUBWORD_SYNC_OP (nand, ~, &, char, 1, oldval) ++ ++#define OP_AND_FETCH_WORD(OP, PFX_OP, INF_OP) \ ++ int HIDDEN \ ++ __sync_##OP##_and_fetch_4 (int *ptr, int val) \ ++ { \ ++ int tmp, failure; \ ++ \ ++ do { \ ++ tmp = *ptr; \ ++ failure = __kernel_cmpxchg (tmp, PFX_OP tmp INF_OP val, ptr); \ ++ } while (failure != 0); \ ++ \ ++ return PFX_OP tmp INF_OP val; \ ++ } ++ ++OP_AND_FETCH_WORD (add, , +) ++OP_AND_FETCH_WORD (sub, , -) ++OP_AND_FETCH_WORD (or, , |) ++OP_AND_FETCH_WORD (and, , &) ++OP_AND_FETCH_WORD (xor, , ^) ++OP_AND_FETCH_WORD (nand, ~, &) ++ ++SUBWORD_SYNC_OP (add, , +, short, 2, newval) ++SUBWORD_SYNC_OP (sub, , -, short, 2, newval) ++SUBWORD_SYNC_OP (or, , |, short, 2, newval) ++SUBWORD_SYNC_OP (and, , &, short, 2, newval) ++SUBWORD_SYNC_OP (xor, , ^, short, 2, newval) ++SUBWORD_SYNC_OP (nand, ~, &, short, 2, newval) ++ ++SUBWORD_SYNC_OP (add, , +, char, 1, newval) ++SUBWORD_SYNC_OP (sub, , -, char, 1, newval) ++SUBWORD_SYNC_OP (or, , |, char, 1, newval) ++SUBWORD_SYNC_OP (and, , &, char, 1, newval) ++SUBWORD_SYNC_OP (xor, , ^, char, 1, newval) ++SUBWORD_SYNC_OP (nand, ~, &, char, 1, newval) ++ ++int HIDDEN ++__sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval) ++{ ++ int actual_oldval, fail; ++ ++ while (1) ++ { ++ actual_oldval = *ptr; ++ ++ if (oldval != actual_oldval) ++ return actual_oldval; ++ ++ fail = __kernel_cmpxchg (actual_oldval, newval, ptr); ++ ++ if (!fail) ++ return oldval; ++ } ++} ++ ++#define SUBWORD_VAL_CAS(TYPE, WIDTH) \ ++ TYPE HIDDEN \ ++ __sync_val_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \ ++ TYPE newval) \ ++ { \ ++ int *wordptr = (int *)((unsigned long) ptr & ~3), fail; \ ++ unsigned int mask, shift, actual_oldval, actual_newval; \ ++ \ ++ shift = (((unsigned long) ptr & 3) << 3) ^ INVERT_MASK_##WIDTH; \ ++ mask = MASK_##WIDTH << shift; \ ++ \ ++ while (1) \ ++ { \ ++ actual_oldval = *wordptr; \ ++ \ ++ if (((actual_oldval & mask) >> shift) != (unsigned int) oldval) \ ++ return (actual_oldval & mask) >> shift; \ ++ \ ++ actual_newval = (actual_oldval & ~mask) \ ++ | (((unsigned int) newval << shift) & mask); \ ++ \ ++ fail = __kernel_cmpxchg (actual_oldval, actual_newval, \ ++ wordptr); \ ++ \ ++ if (!fail) \ ++ return oldval; \ ++ } \ ++ } ++ ++SUBWORD_VAL_CAS (short, 2) ++SUBWORD_VAL_CAS (char, 1) ++ ++typedef unsigned char bool; ++ ++bool HIDDEN ++__sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval) ++{ ++ int failure = __kernel_cmpxchg (oldval, newval, ptr); ++ return (failure == 0); ++} ++ ++#define SUBWORD_BOOL_CAS(TYPE, WIDTH) \ ++ bool HIDDEN \ ++ __sync_bool_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \ ++ TYPE newval) \ ++ { \ ++ TYPE actual_oldval \ ++ = __sync_val_compare_and_swap_##WIDTH (ptr, oldval, newval); \ ++ return (oldval == actual_oldval); \ ++ } ++ ++SUBWORD_BOOL_CAS (short, 2) ++SUBWORD_BOOL_CAS (char, 1) ++ ++int HIDDEN ++__sync_lock_test_and_set_4 (int *ptr, int val) ++{ ++ int failure, oldval; ++ ++ do { ++ oldval = *ptr; ++ failure = __kernel_cmpxchg (oldval, val, ptr); ++ } while (failure != 0); ++ ++ return oldval; ++} ++ ++#define SUBWORD_TEST_AND_SET(TYPE, WIDTH) \ ++ TYPE HIDDEN \ ++ __sync_lock_test_and_set_##WIDTH (TYPE *ptr, TYPE val) \ ++ { \ ++ int failure; \ ++ unsigned int oldval, newval, shift, mask; \ ++ int *wordptr = (int *) ((unsigned long) ptr & ~3); \ ++ \ ++ shift = (((unsigned long) ptr & 3) << 3) ^ INVERT_MASK_##WIDTH; \ ++ mask = MASK_##WIDTH << shift; \ ++ \ ++ do { \ ++ oldval = *wordptr; \ ++ newval = (oldval & ~mask) \ ++ | (((unsigned int) val << shift) & mask); \ ++ failure = __kernel_cmpxchg (oldval, newval, wordptr); \ ++ } while (failure != 0); \ ++ \ ++ return (oldval & mask) >> shift; \ ++ } ++ ++SUBWORD_TEST_AND_SET (short, 2) ++SUBWORD_TEST_AND_SET (char, 1) ++ ++#define SYNC_LOCK_RELEASE(TYPE, WIDTH) \ ++ void HIDDEN \ ++ __sync_lock_release_##WIDTH (TYPE *ptr) \ ++ { \ ++ *ptr = 0; \ ++ } ++ ++SYNC_LOCK_RELEASE (int, 4) ++SYNC_LOCK_RELEASE (short, 2) ++SYNC_LOCK_RELEASE (char, 1) +Index: gcc/config/pa/t-linux64 +=================================================================== +--- gcc/config/pa/t-linux64 (revision 142273) ++++ gcc/config/pa/t-linux64 (working copy) +@@ -8,5 +8,7 @@ + # Actually, hppa64 is always PIC but adding -fPIC does no harm. + CRTSTUFF_T_CFLAGS_S = -fPIC + ++LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/pa/linux-atomic.c ++ + # Compile libgcc2.a as PIC. + TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1 +Index: gcc/config/pa/t-linux +=================================================================== +--- gcc/config/pa/t-linux (revision 142273) ++++ gcc/config/pa/t-linux (working copy) +@@ -9,6 +9,7 @@ + TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DLINUX=1 + + LIB2FUNCS_EXTRA=fptr.c ++LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/pa/linux-atomic.c + + fptr.c: $(srcdir)/config/pa/fptr.c + rm -f fptr.c --- gcc-4.3-4.3.4.orig/debian/patches/hurd-changes.dpatch +++ gcc-4.3-4.3.4/debian/patches/hurd-changes.dpatch @@ -0,0 +1,72 @@ +#! /bin/sh -e + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# DP: Traditional GNU systems don't have a /usr directory. However, Debian +# DP: systems do, and we support both having a /usr -> . symlink, and having a +# DP: /usr directory like the other ports. So this patch should NOT go +# DP: upstream. +# DP: +# DP: Define MAXPATHLEN and PATH_MAX. + +--- gcc/config/gnu.h.orig 2004-07-05 21:49:20.000000000 +0200 ++++ gcc/config/gnu.h 2006-12-10 12:28:45.000000000 +0100 +@@ -6,7 +6,8 @@ + + /* Standard include directory. In GNU, "/usr" is a four-letter word. */ + #undef STANDARD_INCLUDE_DIR +-#define STANDARD_INCLUDE_DIR "/include" ++/* Overriden for Debian GNU/Hurd. */ ++#define STANDARD_INCLUDE_DIR "/usr/include" + + /* The system headers under GNU are C++-aware. */ + #define NO_IMPLICIT_EXTERN_C +--- gcc/config/t-gnu.orig 2004-01-10 07:40:24.000000000 +0100 ++++ gcc/config/t-gnu 2006-12-10 12:28:45.000000000 +0100 +@@ -1,2 +1,2 @@ + # In GNU, "/usr" is a four-letter word. +-NATIVE_SYSTEM_HEADER_DIR = /include ++NATIVE_SYSTEM_HEADER_DIR = /usr/include +--- gcc/tlink.c.orig 2005-06-25 04:02:01.000000000 +0200 ++++ gcc/tlink.c 2006-12-10 12:28:45.000000000 +0100 +@@ -34,6 +34,10 @@ + + #define MAX_ITERATIONS 17 + ++#ifndef MAXPATHLEN ++#define MAXPATHLEN 4096 ++#endif ++ + /* Defined in the automatically-generated underscore.c. */ + extern int prepends_underscore; + +--- boehm-gc/dyn_load.c.orig 2007-08-13 09:10:48.215678000 +0200 ++++ boehm-gc/dyn_load.c 2007-08-13 09:11:09.743969000 +0200 +@@ -26,7 +26,7 @@ + * None of this is safe with dlclose and incremental collection. + * But then not much of anything is safe in the presence of dlclose. + */ +-#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE) ++#if (defined(__linux__) || defined(__GLIBC__) || defined(__GNU__)) && !defined(_GNU_SOURCE) + /* Can't test LINUX, since this must be define before other includes */ + # define _GNU_SOURCE + #endif --- gcc-4.3-4.3.4.orig/debian/patches/gfortran-armel-updates.dpatch +++ gcc-4.3-4.3.4/debian/patches/gfortran-armel-updates.dpatch @@ -0,0 +1,354 @@ +#! /bin/sh -e + +# DP: ARM EABI (armel) Fortran support patches + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +ChangeLog (enum-size-warning) + + gcc/testsuite/ + * gfortran.dg/enum_10.f90: Use -Wl,--no-enum-size-warning on + arm*-*-linux*eabi. + +ChangeLog (line-endings) + + gcc/testsuite/ + * gfortran.dg/fmt_l.f90: Modify dg-output regexp to allow it to + match lines ending with CRLF. + +ChangeLog (nested-function-alignment) + + gcc/ + * config/arm/arm.c: (arm_compute_static_chain_stack_bytes): New + function. + (arm_compute_initial_elimination_offset): Use it. + (arm_compute_save_reg_mask): Include static chain save slot when + calculating alignment. + (arm_get_frame_offsets): Ditto. + +ChangeLog (r12) + + gcc/ + * config/arm/arm.c: (thumb1_compute_save_reg_mask): Ensure we + have a low register saved that we can use to decrement the stack + when the stack decrement could be too big for an immediate value + in a single insn. + (thumb1_expand_prologue): Avoid using r12 for stack decrement. + +Index: gcc/testsuite/gfortran.dg/enum_10.f90 +=================================================================== +*** gcc/testsuite/gfortran.dg/enum_10.f90 (revision 197947) +--- gcc/testsuite/gfortran.dg/enum_10.f90 (working copy) +*************** +*** 1,6 **** +--- 1,7 ---- + ! { dg-do run } + ! { dg-additional-sources enum_10.c } + ! { dg-options "-fshort-enums -w" } ++ ! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } + ! Make sure short enums are indeed interoperable with the + ! corresponding C type. + +Index: gcc/testsuite/gfortran.dg/fmt_l.f90 +=================================================================== +--- gcc/testsuite/gfortran.dg/fmt_l.f90 (revision 197947) ++++ gcc/testsuite/gfortran.dg/fmt_l.f90 (working copy) +@@ -51,35 +51,35 @@ + if (l8 .neqv. .false.) call abort + + end program test_l +-! { dg-output "At line 14 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 15 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 19 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 20 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 24 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 25 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 29 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 30 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 34 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 35 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 39 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 40 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 44 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 45 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 49 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } +-! { dg-output "At line 50 of file.*" } +-! { dg-output "Fortran runtime warning: Positive width required in format\n" } ++! { dg-output "At line 14 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 15 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 19 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 20 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 24 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 25 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 29 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 30 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 34 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 35 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 39 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 40 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 44 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 45 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 49 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } ++! { dg-output "At line 50 of file.*\n" } ++! { dg-output "Fortran runtime warning: Positive width required in format.\r?\n" } +Index: gcc/config/arm/arm.c +=================================================================== +--- gcc/config/arm/arm.c (revision 206067) ++++ gcc/config/arm/arm.c (working copy) +@@ -62,6 +62,7 @@ const struct attribute_spec arm_attribut + void (*arm_lang_output_object_attributes_hook)(void); + + /* Forward function declarations. */ ++static int arm_compute_static_chain_stack_bytes (void); + static arm_stack_offsets *arm_get_frame_offsets (void); + static void arm_add_gc_roots (void); + static int arm_gen_constant (enum rtx_code, enum machine_mode, rtx, +@@ -10753,6 +10754,24 @@ arm_compute_save_reg0_reg12_mask (void) + } + + ++/* Compute the number of bytes used to store the static chain register on the ++ stack, above the stack frame. We need to know this accurately to get the ++ alignment of the rest of the stack frame correct. */ ++ ++static int arm_compute_static_chain_stack_bytes (void) ++{ ++ unsigned long func_type = arm_current_func_type (); ++ int static_chain_stack_bytes = 0; ++ ++ if (frame_pointer_needed && TARGET_ARM && ++ IS_NESTED (func_type) && ++ df_regs_ever_live_p (3) && current_function_pretend_args_size == 0) ++ static_chain_stack_bytes = 4; ++ ++ return static_chain_stack_bytes; ++} ++ ++ + /* Compute a bit mask of which registers need to be + saved on the stack for the current function. */ + +@@ -10804,7 +10823,9 @@ arm_compute_save_reg_mask (void) + + if (TARGET_REALLY_IWMMXT + && ((bit_count (save_reg_mask) +- + ARM_NUM_INTS (current_function_pretend_args_size)) % 2) != 0) ++ + ARM_NUM_INTS (current_function_pretend_args_size + ++ arm_compute_static_chain_stack_bytes()) ++ ) % 2) != 0) + { + /* The total number of registers that are going to be pushed + onto the stack is odd. We need to ensure that the stack +@@ -11926,7 +11947,13 @@ thumb_force_lr_save (void) + from the soft frame pointer to the hard frame pointer. + + SFP may point just inside the local variables block to ensure correct +- alignment. */ ++ alignment. ++ ++ FIXME: Under some circumstances arm_expand_prologue() may save the static ++ chain register on the stack before the normal function prologue. For ++ historical reasons all our offsets are wrong in this case, and ++ arm_compute_static_chain_stack_bytes is used to compensate. ++ arm_compute_initial_elimination_offset uses the same correction. */ + + + /* Calculate stack offsets. These are used to calculate register elimination +@@ -12032,9 +12059,11 @@ arm_get_frame_offsets (void) + if (ARM_DOUBLEWORD_ALIGN) + { + /* Ensure SP remains doubleword aligned. */ +- if (offsets->outgoing_args & 7) ++ if ((offsets->outgoing_args + ++ arm_compute_static_chain_stack_bytes()) & 7) + offsets->outgoing_args += 4; +- gcc_assert (!(offsets->outgoing_args & 7)); ++ gcc_assert (!((offsets->outgoing_args + ++ arm_compute_static_chain_stack_bytes()) & 7)); + } + + return offsets; +@@ -12069,14 +12098,9 @@ arm_compute_initial_elimination_offset ( + return offsets->soft_frame - offsets->saved_args; + + case ARM_HARD_FRAME_POINTER_REGNUM: +- /* If there is no stack frame then the hard +- frame pointer and the arg pointer coincide. */ +- if (offsets->frame == offsets->saved_regs) +- return 0; +- /* FIXME: Not sure about this. Maybe we should always return 0 ? */ +- return (frame_pointer_needed +- && cfun->static_chain_decl != NULL +- && ! cfun->machine->uses_anonymous_args) ? 4 : 0; ++ /* This is only non-zero in the case where the static chain register ++ is stored above the frame. */ ++ return arm_compute_static_chain_stack_bytes(); + + case STACK_POINTER_REGNUM: + /* If nothing has been pushed on the stack at all +@@ -12347,6 +12371,8 @@ arm_expand_prologue (void) + insn = emit_set_insn (gen_rtx_REG (SImode, 3), ip_rtx); + else if (args_to_push == 0) + { ++ gcc_assert(arm_compute_static_chain_stack_bytes() == 4); ++ + rtx dwarf; + + insn = gen_rtx_PRE_DEC (SImode, stack_pointer_rtx); +Index: gcc/config/arm/arm.c +=================================================================== +--- gcc/config/arm/arm.c (revision 206069) ++++ gcc/config/arm/arm.c (working copy) +@@ -10910,6 +10910,26 @@ thumb1_compute_save_reg_mask (void) + mask |= 1 << reg; + } + ++ /* The 504 below is 8 bytes less than 512 because there are two possible ++ alignment words. We can't tell here if they will be present or not so we ++ have to play it safe and assume that they are. */ ++ if ((CALLER_INTERWORKING_SLOT_SIZE + ++ ROUND_UP_WORD (get_frame_size ()) + ++ current_function_outgoing_args_size) >= 504) ++ { ++ /* This is the same as the code in thumb1_expand_prologue() which ++ determines which register to use for stack decrement. */ ++ for (reg = LAST_ARG_REGNUM + 1; reg <= LAST_LO_REGNUM; reg++) ++ if (mask & (1 << reg)) ++ break; ++ ++ if (reg > LAST_LO_REGNUM) ++ { ++ /* Make sure we have a register available for stack decrement. */ ++ mask |= 1 << LAST_LO_REGNUM; ++ } ++ } ++ + return mask; + } + +@@ -16787,62 +16807,25 @@ thumb1_expand_prologue (void) + been pushed at the start of the prologue and so we can corrupt + it now. */ + for (regno = LAST_ARG_REGNUM + 1; regno <= LAST_LO_REGNUM; regno++) +- if (live_regs_mask & (1 << regno) +- && !(frame_pointer_needed +- && (regno == THUMB_HARD_FRAME_POINTER_REGNUM))) ++ if (live_regs_mask & (1 << regno)) + break; + +- if (regno > LAST_LO_REGNUM) /* Very unlikely. */ +- { +- rtx spare = gen_rtx_REG (SImode, IP_REGNUM); ++ gcc_assert(regno <= LAST_LO_REGNUM); + +- /* Choose an arbitrary, non-argument low register. */ +- reg = gen_rtx_REG (SImode, LAST_LO_REGNUM); ++ reg = gen_rtx_REG (SImode, regno); + +- /* Save it by copying it into a high, scratch register. */ +- emit_insn (gen_movsi (spare, reg)); +- /* Add a USE to stop propagate_one_insn() from barfing. */ +- emit_insn (gen_prologue_use (spare)); ++ emit_insn (gen_movsi (reg, GEN_INT (- amount))); + +- /* Decrement the stack. */ +- emit_insn (gen_movsi (reg, GEN_INT (- amount))); +- insn = emit_insn (gen_addsi3 (stack_pointer_rtx, +- stack_pointer_rtx, reg)); +- RTX_FRAME_RELATED_P (insn) = 1; +- dwarf = gen_rtx_SET (VOIDmode, stack_pointer_rtx, +- plus_constant (stack_pointer_rtx, +- -amount)); +- RTX_FRAME_RELATED_P (dwarf) = 1; +- REG_NOTES (insn) +- = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, dwarf, +- REG_NOTES (insn)); +- +- /* Restore the low register's original value. */ +- emit_insn (gen_movsi (reg, spare)); +- +- /* Emit a USE of the restored scratch register, so that flow +- analysis will not consider the restore redundant. The +- register won't be used again in this function and isn't +- restored by the epilogue. */ +- emit_insn (gen_prologue_use (reg)); +- } +- else +- { +- reg = gen_rtx_REG (SImode, regno); +- +- emit_insn (gen_movsi (reg, GEN_INT (- amount))); +- +- insn = emit_insn (gen_addsi3 (stack_pointer_rtx, +- stack_pointer_rtx, reg)); +- RTX_FRAME_RELATED_P (insn) = 1; +- dwarf = gen_rtx_SET (VOIDmode, stack_pointer_rtx, +- plus_constant (stack_pointer_rtx, +- -amount)); +- RTX_FRAME_RELATED_P (dwarf) = 1; +- REG_NOTES (insn) +- = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, dwarf, +- REG_NOTES (insn)); +- } ++ insn = emit_insn (gen_addsi3 (stack_pointer_rtx, ++ stack_pointer_rtx, reg)); ++ RTX_FRAME_RELATED_P (insn) = 1; ++ dwarf = gen_rtx_SET (VOIDmode, stack_pointer_rtx, ++ plus_constant (stack_pointer_rtx, ++ -amount)); ++ RTX_FRAME_RELATED_P (dwarf) = 1; ++ REG_NOTES (insn) ++ = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, dwarf, ++ REG_NOTES (insn)); + } + } + --- gcc-4.3-4.3.4.orig/debian/patches/pr35965.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr35965.dpatch @@ -0,0 +1,54 @@ +#! /bin/sh -e + +# DP: Fix PIC + -fstack-protector (PR target/35965) + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +gcc/ + * config/arm/arm.c (require_pic_register): Only set + cfun->machine->pic_reg once per function. + +Index: gcc/config/arm/arm.c +=================================================================== +--- gcc/config/arm/arm.c (revision 137103) ++++ gcc/config/arm/arm.c (working copy) +@@ -3394,7 +3394,8 @@ require_pic_register (void) + gcc_assert (can_create_pseudo_p ()); + if (arm_pic_register != INVALID_REGNUM) + { +- cfun->machine->pic_reg = gen_rtx_REG (Pmode, arm_pic_register); ++ if (!cfun->machine->pic_reg) ++ cfun->machine->pic_reg = gen_rtx_REG (Pmode, arm_pic_register); + + /* Play games to avoid marking the function as needing pic + if we are being called as part of the cost-estimation +@@ -3406,7 +3407,8 @@ require_pic_register (void) + { + rtx seq; + +- cfun->machine->pic_reg = gen_reg_rtx (Pmode); ++ if (!cfun->machine->pic_reg) ++ cfun->machine->pic_reg = gen_reg_rtx (Pmode); + + /* Play games to avoid marking the function as needing pic + if we are being called as part of the cost-estimation + --- gcc-4.3-4.3.4.orig/debian/patches/svn-updates.dpatch +++ gcc-4.3-4.3.4/debian/patches/svn-updates.dpatch @@ -0,0 +1,8378 @@ +#! /bin/sh -e + +# DP: updates from the 4.3 branch upto 20100410. + +last_updated() +{ + cat > ${dir}LAST_UPDATED <&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p2 < $0 + last_updated + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p2 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_4_3_4_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch \ +# | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \ +# | awk '/^Index:.*\.class/ {skip=1; next} /^Index:.*\.texi/ {skip=1; next} /^Index:/ { skip=0 } skip==0' + +Index: libgomp/ChangeLog +=================================================================== +--- a/src/libgomp/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libgomp/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,15 @@ ++2009-08-19 Tobias Burnus ++ ++ PR fortran/41102 ++ omp_lib.h.in: Fix -std=f95 errors. ++ ++2009-08-14 Uros Bizjak ++ ++ Backport from mainline: ++ 2008-12-26 Uros Bizjak ++ ++ * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: libgomp/testsuite/libgomp.c/atomic-6.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/atomic-6.c (.../tags/gcc_4_3_4_release) ++++ b/src/libgomp/testsuite/libgomp.c/atomic-6.c (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + /* PR middle-end/36106 */ + /* { dg-options "-O2" } */ ++/* { dg-options "-O2 -mieee" { target alpha*-*-* } } */ + /* { dg-options "-O2 -march=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ + + #ifdef __i386__ +Index: libgomp/omp_lib.h.in +=================================================================== +--- a/src/libgomp/omp_lib.h.in (.../tags/gcc_4_3_4_release) ++++ b/src/libgomp/omp_lib.h.in (.../branches/gcc-4_3-branch) +@@ -38,16 +38,16 @@ + external omp_set_num_threads + + external omp_get_dynamic, omp_get_nested +- logical*4 omp_get_dynamic, omp_get_nested ++ logical(4) omp_get_dynamic, omp_get_nested + external omp_test_lock, omp_in_parallel +- logical*4 omp_test_lock, omp_in_parallel ++ logical(4) omp_test_lock, omp_in_parallel + + external omp_get_max_threads, omp_get_num_procs +- integer*4 omp_get_max_threads, omp_get_num_procs ++ integer(4) omp_get_max_threads, omp_get_num_procs + external omp_get_num_threads, omp_get_thread_num +- integer*4 omp_get_num_threads, omp_get_thread_num ++ integer(4) omp_get_num_threads, omp_get_thread_num + external omp_test_nest_lock +- integer*4 omp_test_nest_lock ++ integer(4) omp_test_nest_lock + + external omp_get_wtick, omp_get_wtime + double precision omp_get_wtick, omp_get_wtime +Index: libdecnumber/decCommon.c +=================================================================== +--- a/src/libdecnumber/decCommon.c (.../tags/gcc_4_3_4_release) ++++ b/src/libdecnumber/decCommon.c (.../branches/gcc-4_3-branch) +@@ -1094,6 +1094,7 @@ + return 10; + } /* decFloatRadix */ + ++#if (DECCHECK || DECTRACE) + /* ------------------------------------------------------------------ */ + /* decFloatShow -- printf a decFloat in hexadecimal and decimal */ + /* df is the decFloat to show */ +@@ -1120,6 +1121,7 @@ + printf(">%s> %s [big-endian] %s\n", tag, hexbuf, buff); + return; + } /* decFloatShow */ ++#endif + + /* ------------------------------------------------------------------ */ + /* decFloatToBCD -- get sign, exponent, and BCD8 from a decFloat */ +Index: libdecnumber/ChangeLog +=================================================================== +--- a/src/libdecnumber/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libdecnumber/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,9 @@ ++2009-08-13 Janis Johnson ++ ++ PR c/41046 ++ * decCommon.c ( decFloatShow): Define function only for DECCHECK ++ or DECTRACE. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: gcc/DATESTAMP +=================================================================== +--- a/src/gcc/DATESTAMP (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/DATESTAMP (.../branches/gcc-4_3-branch) +@@ -1 +1 @@ +-20090804 ++20100410 +Index: gcc/rtlanal.c +=================================================================== +--- a/src/gcc/rtlanal.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/rtlanal.c (.../branches/gcc-4_3-branch) +@@ -4444,8 +4444,16 @@ + known_x, known_mode, known_ret); + + case UMOD: +- /* The result must be <= the second operand. */ +- return cached_num_sign_bit_copies (XEXP (x, 1), mode, ++ /* The result must be <= the second operand. If the second operand ++ has (or just might have) the high bit set, we know nothing about ++ the number of sign bit copies. */ ++ if (bitwidth > HOST_BITS_PER_WIDE_INT) ++ return 1; ++ else if ((nonzero_bits (XEXP (x, 1), mode) ++ & ((HOST_WIDE_INT) 1 << (bitwidth - 1))) != 0) ++ return 1; ++ else ++ return cached_num_sign_bit_copies (XEXP (x, 1), mode, + known_x, known_mode, known_ret); + + case DIV: +Index: gcc/builtins.c +=================================================================== +--- a/src/gcc/builtins.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/builtins.c (.../branches/gcc-4_3-branch) +@@ -8459,15 +8459,18 @@ + } + } + +- /* Optimize pow(pow(x,y),z) = pow(x,y*z). */ ++ /* Optimize pow(pow(x,y),z) = pow(x,y*z) iff x is nonnegative. */ + if (fcode == BUILT_IN_POW + || fcode == BUILT_IN_POWF + || fcode == BUILT_IN_POWL) + { + tree arg00 = CALL_EXPR_ARG (arg0, 0); +- tree arg01 = CALL_EXPR_ARG (arg0, 1); +- tree narg1 = fold_build2 (MULT_EXPR, type, arg01, arg1); +- return build_call_expr (fndecl, 2, arg00, narg1); ++ if (tree_expr_nonnegative_p (arg00)) ++ { ++ tree arg01 = CALL_EXPR_ARG (arg0, 1); ++ tree narg1 = fold_build2 (MULT_EXPR, type, arg01, arg1); ++ return build_call_expr (fndecl, 2, arg00, narg1); ++ } + } + } + +Index: gcc/real.c +=================================================================== +--- a/src/gcc/real.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/real.c (.../branches/gcc-4_3-branch) +@@ -110,6 +110,9 @@ + static void do_fix_trunc (REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *); + + static unsigned long rtd_divmod (REAL_VALUE_TYPE *, REAL_VALUE_TYPE *); ++static void decimal_from_integer (REAL_VALUE_TYPE *); ++static void decimal_integer_string (char *, const REAL_VALUE_TYPE *, ++ size_t); + + static const REAL_VALUE_TYPE * ten_to_ptwo (int); + static const REAL_VALUE_TYPE * ten_to_mptwo (int); +@@ -2146,10 +2149,70 @@ + normalize (r); + } + +- if (mode != VOIDmode) ++ if (DECIMAL_FLOAT_MODE_P (mode)) ++ decimal_from_integer (r); ++ else if (mode != VOIDmode) + real_convert (r, mode, r); + } + ++/* Render R, an integral value, as a floating point constant with no ++ specified exponent. */ ++ ++static void ++decimal_integer_string (char *str, const REAL_VALUE_TYPE *r_orig, ++ size_t buf_size) ++{ ++ int dec_exp, digit, digits; ++ REAL_VALUE_TYPE r, pten; ++ char *p; ++ bool sign; ++ ++ r = *r_orig; ++ ++ if (r.cl == rvc_zero) ++ { ++ strcpy (str, "0."); ++ return; ++ } ++ ++ sign = r.sign; ++ r.sign = 0; ++ ++ dec_exp = REAL_EXP (&r) * M_LOG10_2; ++ digits = dec_exp + 1; ++ gcc_assert ((digits + 2) < (int)buf_size); ++ ++ pten = *real_digit (1); ++ times_pten (&pten, dec_exp); ++ ++ p = str; ++ if (sign) ++ *p++ = '-'; ++ ++ digit = rtd_divmod (&r, &pten); ++ gcc_assert (digit >= 0 && digit <= 9); ++ *p++ = digit + '0'; ++ while (--digits > 0) ++ { ++ times_pten (&r, 1); ++ digit = rtd_divmod (&r, &pten); ++ *p++ = digit + '0'; ++ } ++ *p++ = '.'; ++ *p++ = '\0'; ++} ++ ++/* Convert a real with an integral value to decimal float. */ ++ ++static void ++decimal_from_integer (REAL_VALUE_TYPE *r) ++{ ++ char str[256]; ++ ++ decimal_integer_string (str, r, sizeof (str) - 1); ++ decimal_real_from_string (r, str); ++} ++ + /* Returns 10**2**N. */ + + static const REAL_VALUE_TYPE * +Index: gcc/ChangeLog +=================================================================== +--- a/src/gcc/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,512 @@ ++2010-04-09 John David Anglin ++ ++ Backport from mainline: ++ 2009-12-05 John David Anglin ++ ++ PR ada/41912 ++ * pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame ++ for signal frames. ++ * pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise. ++ ++2010-03-31 Uros Bizjak ++ ++ Backport from mainline: ++ 2010-03-27 Uros Bizjak ++ ++ PR tree-optimization/43528 ++ * stor-layout.c (place_field): Check that constant fits into ++ unsigned HWI when skipping calculation of MS bitfield layout. ++ ++ 2010-03-26 Uros Bizjak ++ ++ PR target/43524 ++ * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: ++ Remove invalid assert and wrong comment. ++ ++2010-03-30 Andreas Krebbel ++ ++ * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic ++ stack check if the mask would be zero. ++ ++2010-03-27 Uros Bizjak ++ ++ PR target/42113 ++ * config/alpha/alpha.md (*cmp_sadd_si): Change mode ++ of scratch register to DImode. Split to DImode comparison operator. ++ Use SImode subreg of scratch register in the multiplication. ++ (*cmp_sadd_sidi): Ditto. ++ (*cmp_ssub_si): Ditto. ++ (*cmp_ssub_sidi): Ditto. ++ ++2010-03-23 Kaz Kojima ++ ++ Backport from mainline: ++ 2010-01-08 DJ Delorie ++ ++ * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler ++ register popping order. ++ ++2010-03-21 John David Anglin ++ ++ PR middle-end/42718 ++ * pa.md (movmemsi): Set align to one if zero. ++ (movmemdi): Likewise. ++ ++2010-03-18 H.J. Lu ++ ++ Backport from mainline: ++ 2010-03-18 Steven Bosscher ++ Eric Botcazou ++ ++ PR rtl-optimization/43360 ++ * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL ++ note if we don't know its invariant status. ++ ++2010-03-02 Uros Bizjak ++ ++ * config/alpha/alpha.c (override_options): Fix -mtune error message. ++ ++2010-02-18 Ulrich Weigand ++ ++ * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call ++ lang_hooks.types_compatible_p instead of comptypes. ++ ++2010-02-17 Mikael Pettersson ++ ++ * config/sparc/gas.h: New file. Restore ++ TARGET_ASM_NAMED_SECTION to its ELF default. ++ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not ++ check !HAVE_GNU_AS. ++ * config/sparc/sparc.c (sparc_elf_asm_named_section): ++ Likewise. Add ATTRIBUTE_UNUSED to prototype. ++ * config.gcc (sparc*-*-linux*): Include sparc/gas.h ++ after sparc/sysv4.h. ++ ++2010-02-16 Paolo Bonzini ++ ++ PR rtl-optimization/41917 ++ * rtlanal.c (num_sign_bit_copies1) : If sign bit of second ++ operand isn't known to be 0, return 1. ++ ++2010-02-04 Richard Guenther ++ ++ PR rtl-optimization/42952 ++ * dse.c (const_or_frame_p): Remove MEM handling. ++ ++2010-01-31 Eric Botcazou ++ ++ PR middle-end/42898 ++ Backport from mainline: ++ 2009-04-23 Eric Botcazou ++ ++ * gimplify.c (gimplify_modify_expr_rhs) : Do not do a direct ++ assignment from the constructor either if the target is volatile. ++ ++2010-01-31 Richard Guenther ++ ++ PR middle-end/42898 ++ * gimplify.c (gimplify_init_constructor): For volatile LHS ++ initialize a temporary. ++ ++2010-01-26 Rainer Orth ++ ++ * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for ++ HAVE_GNU_AS value. ++ * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION): ++ Test for HAVE_GNU_AS value. ++ ++2010-01-25 Christian Bruel ++ ++ PR target/42841 ++ * config/sh/sh.c (find_barrier): Increase length for non delayed ++ conditional branches. ++ (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P. ++ ++2010-01-24 David S. Miller ++ ++ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only ++ define if not using GAS. ++ * config/sparc/sparc.c (sparc_elf_asm_named_section): ++ Likewise. Delete SECTION_MERGE code, which is only applicable ++ when using GAS. ++ ++2010-01-21 Felyza Wishbringer ++ ++ PR bootstrap/42786 ++ * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx ++ cpu types. Add support for *-sse3 cpu types. ++ (x86_64-*-*): Ditto. ++ ++2010-01-20 Richard Guenther ++ ++ PR tree-optimization/41826 ++ * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Avoid ++ access to re-allocated vector fields. ++ ++2010-01-18 Uros Bizjak ++ ++ PR target/42774 ++ * config/alpha/predicates.md (aligned_memory_operand): Return 0 for ++ memory references with unaligned offsets. Remove CQImode handling. ++ (unaligned_memory_operand): Return 1 for memory references with ++ unaligned offsets. Remove CQImode handling. ++ ++2010-01-17 H.J. Lu ++ ++ Backport from mainline: ++ 2010-01-13 Steve Ellcey ++ ++ PR target/42542 ++ * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT ++ for V2SI by subtracting (-(INT MAX) - 1) from both operands to make ++ them signed. ++ ++2010-01-07 H.J. Lu ++ ++ Backport from mainline ++ 2010-01-05 Paolo Bonzini ++ H.J. Lu ++ ++ PR target/42542 ++ * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT ++ for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both ++ operands to make them signed. ++ ++2010-01-07 Uros Bizjak ++ ++ * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM. ++ ++ PR target/42511 ++ * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when ++ note itself is not function_invariant_p. ++ ++2010-01-05 Eric Botcazou ++ ++ PR target/42564 ++ * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete. ++ * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise. ++ (legitimize_tls_address): Likewise. ++ (sparc_tls_referenced_p): Likewise. ++ * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address ++ and adjust calls to legitimize_pic_address. ++ (legitimate_constant_p) Use sparc_tls_referenced_p. ++ (legitimate_pic_operand_p): Likewise. ++ (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P. ++ (sparc_tls_symbol_ref_1): Delete. ++ (sparc_tls_referenced_p): Make static, recognize specific patterns. ++ (legitimize_tls_address): Make static, handle CONST patterns. ++ (legitimize_pic_address): Make static, remove unused parameter and ++ adjust recursive calls. ++ (sparc_legitimize_address): Make static, use sparc_tls_referenced_p ++ and adjust call to legitimize_pic_address. ++ (sparc_output_mi_thunk): Likewise. ++ ++2010-01-02 Uros Bizjak ++ ++ PR target/42448 ++ * config/alpha/predicates.md (aligned_memory_operand): Return false ++ for CQImode. ++ (unaligned_memory_operand): Return true for CQImode. ++ * config/alpha/alpha.c (get_aligned_mem): Assert that location ++ doesn not cross aligned SImode word boundary. ++ ++2009-12-30 Ian Lance Taylor ++ ++ PR middle-end/42099 ++ * expmed.c (expand_divmod): Don't shift HOST_WIDE_INT value more ++ than HOST_BITS_PER_WIDE_INT. ++ ++2009-12-30 Uros Bizjak ++ ++ PR target/42549 ++ * config/i386/mmx.md (*mmx_subv2sf3): Fix insn operand number for ++ alternative 1. ++ ++2009-12-07 Uros Bizjak ++ ++ * config/i386/i386.md (*iorqi_ext_2): Fix insn mnemonic typo. ++ ++2009-11-23 Uros Bizjak ++ ++ PR target/42113 ++ * config/alpha/alpha.md (*cmp_sadd_si): Change mode ++ of scratch register to SImode. ++ (*cmp_sadd_sidi): Ditto. ++ (*cmp_ssub_si): Ditto. ++ (*cmp_ssub_sidi): Ditto. ++ ++2009-11-17 Ulrich Weigand ++ ++ * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC ++ registers in leaf functions if possible. ++ ++2009-11-14 Uros Bizjak ++ ++ * config/i386/predicates.md (call_register_no_elim_operand): ++ New predicate. Reject stack register as valid call operand ++ for 32bit targets. ++ (call_insn_operand): Use call_register_no_elim_operand. ++ ++2009-11-13 Uros Bizjak ++ ++ PR target/41900 ++ (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm" ++ as operand 1 constraint. ++ * config/i386/predicates.md (call_insn_operand): Depend on ++ index_register_operand to avoid %esp register. ++ ++2009-11-13 Uros Bizjak ++ ++ Revert: ++ 2009-11-05 Uros Bizjak ++ ++ PR target/41900 ++ * config/i386/i386.h (ix86_arch_indices) : New. ++ (TARGET_CALL_ESP): New define. ++ * config/i386/i386.c (initial_ix86_tune_features): Initialize ++ X86_ARCH_CALL_ESP. ++ * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, ++ *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, ++ *call_1, *call_value_pop_1 and *call_value_1. Depend on ++ TARGET_CALL_ESP. ++ (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): ++ New patterns, use "lsm" as operand 1 constraint. ++ * config/i386/predicates.md (call_insn_operand): Depend on ++ index_register_operand for !TARGET_CALL_ESP to avoid %esp register. ++ ++2009-11-04 Jason Merrill ++ ++ PR c++/36912 ++ * varasm.c (initializer_constant_valid_p): A PLUS_EXPR ++ or MINUS_EXPR of REAL_TYPE is not a valid constant initializer. ++ (output_constant): Avoid crash after error. ++ ++2009-11-05 Uros Bizjak ++ ++ PR target/41900 ++ * config/i386/i386.h (ix86_arch_indices) : New. ++ (TARGET_CALL_ESP): New define. ++ * config/i386/i386.c (initial_ix86_tune_features): Initialize ++ X86_ARCH_CALL_ESP. ++ * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, ++ *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, ++ *call_1, *call_value_pop_1 and *call_value_1. Depend on ++ TARGET_CALL_ESP. ++ (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): ++ New patterns, use "lsm" as operand 1 constraint. ++ * config/i386/predicates.md (call_insn_operand): Depend on ++ index_register_operand for !TARGET_CALL_ESP to avoid %esp register. ++ ++2009-10-23 John David Anglin ++ ++ Backport from mainline: ++ 2009-08-19 John David Anglin ++ ++ * pa.md (reload_inhi, reload_outhi, reload_inqi, reload_outqi): New ++ patterns. ++ * pa.c (emit_move_sequence): Check if address of operand1 is valid ++ for mode mode of operand0 when doing secondary reload for SAR. ++ ++2009-10-20 John David Anglin ++ ++ Backport from mainline: ++ 2009-10-15 John David Anglin ++ ++ PR target/41702 ++ * pa.md (casesi): Use sign extended index in call to ++ gen_casesi64p. ++ (casesi64p): Update pattern to reflect above. ++ ++2009-10-15 John David Anglin ++ ++ Backport from mainline ++ 2009-09-17 Michael Haubenwallner ++ ++ PR target/40913 ++ * config/pa/t-hpux-shlib: Set soname in libgcc_s.sl. ++ ++2009-10-14 Hans-Peter Nilsson ++ ++ PR target/38948 ++ * config/cris/cris.h (SECONDARY_RELOAD_CLASS): Handle reload ++ requests between special registers. ++ ++2009-10-12 Hans-Peter Nilsson ++ ++ PR target/26515 ++ * config/cris/cris.md (andu): Check that operand 1 is one of the ++ general registers. Fix typo in head comment. ++ ++2009-10-07 Andreas Krebbel ++ ++ * config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and ++ add MASK_HARD_DFP. ++ ++2009-09-30 Uros Bizjak ++ ++ PR target/22093 ++ * config/alpha/alpha.md (unaligned_storehi_be): Force operand ++ of plus RTX into register. ++ ++2009-09-25 Alan Modra ++ ++ * config/rs6000/rs6000.md (load_toc_v4_PIC_3c): Correct POWER ++ form of instruction. ++ ++2009-09-23 Alan Modra ++ ++ PR target/40473 ++ * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't ++ call final to emit non-scheduled prologue, instead insert at entry. ++ ++2009-09-23 Uros Bizjak ++ ++ PR c/39779 ++ * c-typeck.c (build_binary_op) : Check that integer ++ constant is more than zero. ++ ++2009-09-21 Janis Johnson ++ ++ PR c/41049 ++ * real.c decimal_from_integer, decimal_integer_string): New. ++ (real_from_integer): Use them as special case for decimal float. ++ * config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding. ++ (_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td): ++ Do not append zero after the decimal point in string to convert. ++ ++2009-09-18 John David Anglin ++ ++ PR middle-end/41009 ++ Backport from mainline ++ 2009-03-10 Richard Guenther ++ Nathan Froyd ++ ++ PR middle-end/37850 ++ * libgcc2.c (__mulMODE3): Use explicit assignments to form the result. ++ (__divMODE3): Likewise. ++ ++2009-09-15 Uros Bizjak ++ ++ * config/alpha/alpha.md (smaxsf3): Disable for IEEE mode. ++ (sminsf3): Ditto. ++ ++2009-09-12 Gerald Pfeifer ++ ++ * doc/install.texi (avr): Remove obsolete reference site. ++ ++2009-09-10 Peter Bergner ++ ++ Backport from mainline: ++ 2008-09-03 Anton Blanchard ++ ++ * config/rs6000/rs6000.c (rs6000_split_lock_test_and_set): Do not ++ emit memory barrier before operation. ++ ++2009-08-31 Chris Demetriou ++ ++ * config/i386/i386.c (ix86_vectorize_builtin_conversion): Never ++ vectorize if not TARGET_SSE2. ++ ++2009-08-28 Uros Bizjak ++ ++ * global.c (global_alloc): Do not calculate bitmatrix percentages ++ when num_bytes == 0. ++ ++2009-08-28 Uros Bizjak ++ ++ Backport from mainline: ++ 2009-08-26 Uros Bizjak ++ ++ * config/alpha/sync.md: Update comment about unpredictable LL/SC lock ++ clearing by a taken branch. ++ (sync_): Split when epilogue_completed is set, ++ effectively after bbro pass. ++ (sync_nand): Ditto. ++ (sync_old_): Ditto. ++ (sync_old_nand): Ditto. ++ (sync_new_): Dito. ++ (sync_new_nand): Ditto. ++ (sync_compare_and_swap_1): Ditto. ++ (*sync_compare_and_swap): Ditto. ++ (sync_lock_test_and_set_1): Ditto. ++ ("sync_lock_test_and_set): Ditto. ++ ++ 2009-08-25 Uros Bizjak ++ ++ * config/alpha/alpha.md (*cmpdf_ieee_ext[123]): Remove. ++ (*cmpdf_internal): Enable for all ALPHA_FPTM levels. ++ (*movdfcc_ext[1234]): Disable for IEEE mode. ++ ++ 2009-08-16 Uros Bizjak ++ ++ * config/alpha/alpha.c (alpha_end_function): Handle NULL_RTX returned ++ from prev_active_insn. ++ ++2009-08-24 Richard Guenther ++ ++ PR middle-end/41094 ++ * builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to ++ pow(x,y*z) only if x is nonnegative. ++ ++2009-08-23 Uros Bizjak ++ ++ PR target/40718 ++ * config/i386/i386.c (*call_pop_1): Disable for sibling calls. ++ (*call_value_pop_1): Ditto. ++ (*sibcall_pop_1): New insn pattern. ++ (*sibcall_value_pop_1): Ditto. ++ ++2009-08-16 Uros Bizjak ++ ++ Backport from mainline: ++ 2009-08-14 Uros Bizjak ++ ++ PR target/41019 ++ * config/i386/sse.md (SSEMODE124C8): New mode iterator. ++ (vcond): Assert that operation is supported by ++ ix86_expand_fp_vcond. ++ (vcond): Use SSEMODE124C8 instead of SSEMODE124. ++ Assert that operation is supported by ix86_expand_int_vcond. ++ (vcondu): Ditto. ++ ++2009-08-14 Uros Bizjak ++ ++ Backport from mainline: ++ 2009-08-11 Uros Bizjak ++ ++ PR target/8603 ++ * config/alpha/alpha.md (addsi3): Remove expander. ++ (addsi3): Rename from *addsi3_internal insn pattern. ++ (subsi3): Remove expander. ++ (subsi3): Rename from *subsi3_internal insn pattern. ++ ++2009-08-13 Andrey Belevantsev ++ ++ PR rtl-optimization/41033 ++ * alias.c (nonoverlapping_component_refs_p): Punt when strict ++ aliasing is disabled. ++ ++2009-08-05 Uros Bizjak ++ Mikulas Patocka ++ ++ PR target/40906 ++ * config/i386/i386.c (ix86_split_long_move): Fix push of multi-part ++ source operand. ++ ++2009-08-04 Uros Bizjak ++ ++ Backport from mainline: ++ 2009-08-03 Uros Bizjak ++ ++ * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST ++ constants referencing TLS symbols. ++ ++ 2009-07-29 Uros Bizjak ++ ++ PR target/40577 ++ * config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src ++ to DImode when generating insq_le insn. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +@@ -129,7 +643,7 @@ + 2009-06-30 Ira Rosen + + PR tree-optimization/40542 +- * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't ++ * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't + vectorize volatile types. + + 2009-06-29 Richard Guenther +@@ -207,11 +721,11 @@ + arg1. + + 2009-02-03 Jakub Jelinek +- ++ + PR target/35318 + * function.c (match_asm_constraints_1): Skip over + initial optional % in the constraint. +- ++ + 2009-06-19 Richard Guenther + + Backport from mainline: +@@ -502,7 +1016,7 @@ + * c-typeck.c (build_conditional_expr): Emit ObjC warnings + by calling objc_compare_types and surpress warnings about + incompatible C pointers that are compatible ObjC pointers. +- ++ + 2009-04-01 Eric Botcazou + + PR rtl-optimization/39588 +@@ -571,9 +1085,9 @@ + + Backport from mainline: + 2008-12-02 Martin Jambor +- ++ + PR middle-end/37861 +- * tree-ssa-forwprop.c ++ * tree-ssa-forwprop.c + (forward_propagate_addr_into_variable_array_index): Check that the + offset is not computed from a MULT_EXPR if element size is one. + +@@ -729,7 +1243,7 @@ + PR rtl-optimization/39076 + Backport from mainline: + 2008-06-28 Andrew Jenner +- ++ + * regrename.c (build_def_use): Don't copy RTX. + + 2009-02-04 Joseph Myers +@@ -912,7 +1426,7 @@ + + * sched-deps.c (sched_analyze_2)[UNSPEC_VOLATILE]: Flush pending + memory loads and stores. +- ++ + 2009-01-11 Matthias Klose + + PR middle-end/38616 +@@ -1382,7 +1896,7 @@ + 2008-10-17 Andrew MacLeod + + PR tree-optimization/37102 +- * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args ++ * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args + from a node. Check to see if another PHI is dead. + (eliminate_useless_phis): Rename from eliminate_virtual_phis and + remove real PHIs which have no uses. +@@ -1846,7 +2360,7 @@ + + * sched-rgn.c (new_ready): Check if instruction can be + speculatively scheduled before attempting speculation. +- (debug_rgn_dependencies): Remove wrongful assert. ++ (debug_rgn_dependencies): Remove wrongful assert. + + 2008-08-05 Jason Merrill + +Index: gcc/testsuite/gcc.c-torture/execute/20091229-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/20091229-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/20091229-1.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,2 @@ ++long long foo(long long v) { return v / -0x080000000LL; } ++void main() { if (foo(0x080000000LL) != -1) abort(); exit (0); } +Index: gcc/testsuite/gcc.c-torture/execute/pr41917.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr41917.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr41917.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,21 @@ ++/* PR rtl-optimization/41917 */ ++ ++extern void abort (void); ++unsigned int a = 1; ++ ++int ++main (void) ++{ ++ unsigned int b, c, d; ++ ++ if (sizeof (int) != 4 || (int) 0xc7d24b5e > 0) ++ return 0; ++ ++ c = 0xc7d24b5e; ++ d = a | -2; ++ b = (d == 0) ? c : (c % d); ++ if (b != c) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/compile/20000804-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/20000804-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/20000804-1.c (.../branches/gcc-4_3-branch) +@@ -1,8 +1,7 @@ + /* This does not work on m68hc11 or h8300 due to the use of an asm + statement to force a 'long long' (64-bits) to go in a register. */ + /* { dg-do assemble } */ +-/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */ +-/* { dg-skip-if "PIC default" { i?86-*-darwin* } { "*" } { "" } } */ ++/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ilp32 && { ! nonpic } } } { "*" } { "" } } */ + /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */ + /* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */ + +Index: gcc/testsuite/gcc.c-torture/compile/pr39779.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr39779.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr39779.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,5 @@ ++int test (char v1) ++{ ++ v1 >>= 0xdebecced; ++ return v1; ++} +Index: gcc/testsuite/gcc.target/arm/sibcall-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/sibcall-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/arm/sibcall-1.c (.../branches/gcc-4_3-branch) +@@ -30,5 +30,6 @@ + return result; + } + +-/* { dg-final { scan-assembler "\tb\tfunc2\n" } } */ ++/* The PLT marker may appear if the test is run with -fpic/-fPIC. */ ++/* { dg-final { scan-assembler "\tb\tfunc2(\\(PLT\\))?\n" } } */ + +Index: gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + /* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-sysv* powerpc-*-eabi* } } } } */ + /* { dg-options "-O2 -fno-common -G 8 -msdata=sysv" } */ ++/* { dg-require-effective-target nonpic } */ + /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */ + /* { dg-final { scan-assembler-not "\\.section\[ \t\]\\.sdata2," } } */ + /* { dg-final { scan-assembler "sdat@sdarel\\(13\\)" } } */ +Index: gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + /* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-sysv* powerpc-*-eabi* } } } } */ + /* { dg-options "-O2 -fno-common -G 8 -meabi -msdata=eabi" } */ ++/* { dg-require-effective-target nonpic } */ + /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */ + /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata2," } } */ + /* { dg-final { scan-assembler "sdat@sda21\\((13|0)\\)" } } */ +Index: gcc/testsuite/gcc.target/alpha/pr42113.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/alpha/pr42113.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/alpha/pr42113.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++int foo (int a, int b) ++{ ++ int bar = a * sizeof (int); ++ ++ if (b) ++ bar += sizeof (int); ++ ++ return bar; ++} +Index: gcc/testsuite/gcc.target/alpha/pr22093.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/alpha/pr22093.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/alpha/pr22093.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++struct shared_ptr_struct ++{ ++ unsigned long phase : 48; ++ unsigned thread : 16; ++ void *addr; ++} x; ++ ++void foo (void) ++{ ++ x.thread = 2; ++} +Index: gcc/testsuite/gcc.target/alpha/pr42448-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/alpha/pr42448-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/alpha/pr42448-1.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,27 @@ ++/* { dg-do run } */ ++/* { dg-options "-mcpu=21064 -O0" } */ ++ ++extern void abort (void); ++ ++struct S2180 ++{ ++ char t; ++ _Complex char u[2]; ++}; ++ ++struct S2180 s2180; ++ ++int ++main (void) ++{ ++ volatile struct S2180 x; ++ ++ s2180.u[1] = 3 + 4i; ++ ++ x.u[1] = s2180.u[1]; ++ ++ if (x.u[1] != s2180.u[1]) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/alpha/pr42448-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/alpha/pr42448-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/alpha/pr42448-2.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,27 @@ ++/* { dg-do run } */ ++/* { dg-options "-mcpu=21064 -O0" } */ ++ ++extern void abort (void); ++ ++struct S2180 ++{ ++ char t; ++ _Complex char u[4]; ++}; ++ ++struct S2180 s2180; ++ ++int ++main (void) ++{ ++ volatile struct S2180 x; ++ ++ s2180.u[3] = 3 + 4i; ++ ++ x.u[3] = s2180.u[3]; ++ ++ if (x.u[3] != s2180.u[3]) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/alpha/pr42774.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/alpha/pr42774.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/alpha/pr42774.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mcpu=ev4" } */ ++ ++unsigned int ntfs_getinfo(void *p) ++{ ++ char bootsect[8]; ++ ++ __builtin_memcpy(bootsect, p, sizeof bootsect); ++ return *(unsigned short *)(bootsect + 3); ++} +Index: gcc/testsuite/gcc.target/i386/pr41900.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr41900.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr41900.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target ilp32 } */ ++/* { dg-options "-O2 -fomit-frame-pointer -mpreferred-stack-boundary=2" } */ ++ ++int main () ++{ ++ volatile unsigned code = 0xc3; ++ ++ ((void (*)(void)) &code) (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler-not "call\[ \\t\]+\\*%esp" } } */ +Index: gcc/testsuite/gcc.target/i386/pr42542-2a.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-2a.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-2a.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,8 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target sse4 } */ ++/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */ ++ ++#define CHECK_H "sse4_1-check.h" ++#define TEST sse4_1_test ++ ++#include "pr42542-2.c" +Index: gcc/testsuite/gcc.target/i386/pr43528.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr43528.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr43528.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,5 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-mms-bitfields" } */ ++ ++struct S { int i[(1LL << 60) - 1]; }; +Index: gcc/testsuite/gcc.target/i386/pr41019.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr41019.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr41019.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,19 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -msse2 -ftree-vectorize" } */ ++ ++#include "sse2-check.h" ++ ++long long int a[64]; ++ ++void ++sse2_test (void) ++{ ++ int k; ++ ++ for (k = 0; k < 64; k++) ++ a[k] = a[k] != 5 ? 12 : 10; ++ ++ for (k = 0; k < 64; k++) ++ if (a[k] != 12) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/pr42542-2b.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-2b.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-2b.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */ ++ ++#define CHECK_H "sse4_1-check.h" ++#define TEST sse4_1_test ++ ++#include "pr42542-2.c" ++ ++/* { dg-final { scan-assembler "pmaxuw" } } */ ++/* { dg-final { scan-assembler "pminuw" } } */ +Index: gcc/testsuite/gcc.target/i386/pr42542-3a.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-3a.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-3a.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,7 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -msse2 -ftree-vectorize" } */ ++ ++#include "pr42542-3.c" ++ ++/* { dg-final { scan-assembler "pmaxub" } } */ ++/* { dg-final { scan-assembler "pminub" } } */ +Index: gcc/testsuite/gcc.target/i386/pr42549.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42549.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42549.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,37 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -m3dnow" } */ ++ ++#include "mmx-3dnow-check.h" ++ ++#include ++ ++typedef union { ++ float f[2]; ++ __m64 v; ++} vec_t; ++ ++void __attribute__ ((noinline)) ++Butterfly_3 (__m64 * D, __m64 SC) ++{ ++ __m64 T, T1; ++ ++ T = _m_pfmul (D[1], SC); ++ T1 = D[0]; ++ D[0] = _m_pfadd (T1, T); ++ D[1] = _m_pfsub (T1, T); ++} ++ ++void ++mmx_3dnow_test (void) ++{ ++ vec_t D[2] = { { .f = { 2.0f, 3.0f } }, ++ { .f = { 4.0f, 5.0f } } }; ++ ++ const vec_t SC = { .f = { 1.0f, 1.0f } }; ++ ++ Butterfly_3 (&D[0].v, SC.v); ++ _m_femms (); ++ ++ if (D[1].f[0] != -2.0f || D[1].f[1] != -2.0f) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/pr40718.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr40718.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr40718.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,36 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target ilp32 } */ ++/* { dg-options "-O1 -foptimize-sibling-calls" } */ ++ ++void abort (void); ++ ++struct S ++{ ++ void (__attribute__((__stdcall__)) *f) (struct S *); ++ int i; ++}; ++ ++void __attribute__((__stdcall__)) ++foo (struct S *s) ++{ ++ s->i++; ++} ++ ++void __attribute__((__stdcall__)) ++bar (struct S *s) ++{ ++ foo(s); ++ s->f(s); ++} ++ ++int main (void) ++{ ++ struct S s = { foo, 0 }; ++ ++ bar (&s); ++ if (s.i != 2) ++ abort (); ++ ++ return 0; ++} ++ +Index: gcc/testsuite/gcc.target/i386/clobbers.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/clobbers.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/clobbers.c (.../branches/gcc-4_3-branch) +@@ -1,7 +1,6 @@ + /* Test asm clobbers on x86. */ + + /* { dg-do run } */ +-/* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */ + + extern void abort (void); + +@@ -13,11 +12,15 @@ + abort (); + /* On darwin you can't call external functions from non-pic code, + however, clobbering ebx isn't valid in pic code. Instead of +- disabling the whole test, just disable the ebx clobbering part. */ ++ disabling the whole test, just disable the ebx clobbering part. ++ Ditto for any x86 system that is ilp32 && pic. ++ */ + #if !(defined (__MACH__)) ++#if ! defined (__PIC__) || defined (__LP64__) + __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx"); + if (i != 1) + abort (); ++#endif /* ! pic || lp64 */ + #endif + __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx"); + if (i != 1) +Index: gcc/testsuite/gcc.target/i386/pr42542-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-1.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,77 @@ ++/* { dg-do run } */ ++/* { dg-options "-O1 -msse2 -ftree-vectorize" } */ ++ ++#ifndef CHECK_H ++#define CHECK_H "sse2-check.h" ++#endif ++ ++#ifndef TEST ++#define TEST sse2_test ++#endif ++ ++#include CHECK_H ++ ++unsigned int v1[] __attribute__ ((aligned(16))) = ++{ ++ 0x80000000, 1, 0xa0000000, 2, ++ 3, 0xd0000000, 0xf0000000, 0xe0000000 ++}; ++unsigned int v2[] __attribute__ ((aligned(16))) = ++{ ++ 4, 0xb0000000, 5, 0xc0000000, ++ 0xd0000000, 6, 7, 8 ++}; ++ ++unsigned int max[] = ++{ ++ 0x80000000, 0xb0000000, 0xa0000000, 0xc0000000, ++ 0xd0000000, 0xd0000000, 0xf0000000, 0xe0000000 ++}; ++ ++unsigned int min[] = ++{ ++ 4, 1, 5, 2, ++ 3, 6, 7, 8 ++}; ++ ++unsigned int res[8] __attribute__ ((aligned(16))); ++ ++extern void abort (void); ++ ++void ++find_max (void) ++{ ++ int i; ++ ++ for (i = 0; i < 8; i++) ++ res[i] = v1[i] < v2[i] ? v2[i] : v1[i]; ++} ++ ++void ++find_min (void) ++{ ++ int i; ++ ++ for (i = 0; i < 8; i++) ++ res[i] = v1[i] > v2[i] ? v2[i] : v1[i]; ++} ++ ++static void ++TEST (void) ++{ ++ int i; ++ int err = 0; ++ ++ find_max (); ++ for (i = 0; i < 8; i++) ++ if (res[i] != max[i]) ++ err++; ++ ++ find_min (); ++ for (i = 0; i < 8; i++) ++ if (res[i] != min[i]) ++ err++; ++ ++ if (err) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/pr43524.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr43524.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr43524.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,9 @@ ++/* { dg-do compile } */ ++/* { dg-options "-mstack-arg-probe" } */ ++ ++extern void bar (void); ++ ++void foo (int i) ++{ ++ bar (); ++} +Index: gcc/testsuite/gcc.target/i386/pr42542-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-2.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,77 @@ ++/* { dg-do run } */ ++/* { dg-options "-O1 -msse2 -ftree-vectorize" } */ ++ ++#ifndef CHECK_H ++#define CHECK_H "sse2-check.h" ++#endif ++ ++#ifndef TEST ++#define TEST sse2_test ++#endif ++ ++#include CHECK_H ++ ++unsigned short v1[] __attribute__ ((aligned(16))) = ++{ ++ 0x8000, 0x9000, 1, 10, 0xa000, 0xb000, 2, 20, ++ 3, 30, 0xd000, 0xe000, 0xf000, 0xe000, 25, 30 ++}; ++unsigned short v2[] __attribute__ ((aligned(16))) = ++{ ++ 4, 40, 0xb000, 0x8000, 5, 50, 0xc000, 0xf000, ++ 0xd000, 0xa000, 6, 65, 7, 75, 0xe000, 0xc000 ++}; ++ ++unsigned short max[] = ++{ ++ 0x8000, 0x9000, 0xb000, 0x8000, 0xa000, 0xb000, 0xc000, 0xf000, ++ 0xd000, 0xa000, 0xd000, 0xe000, 0xf000, 0xe000, 0xe000, 0xc000 ++}; ++ ++unsigned short min[] = ++{ ++ 4, 40, 1, 10, 5, 50, 2, 20, ++ 3, 30, 6, 65, 7, 75, 25, 30 ++}; ++ ++unsigned short res[16] __attribute__ ((aligned(16))); ++ ++extern void abort (void); ++ ++void ++find_max (void) ++{ ++ int i; ++ ++ for (i = 0; i < 16; i++) ++ res[i] = v1[i] < v2[i] ? v2[i] : v1[i]; ++} ++ ++void ++find_min (void) ++{ ++ int i; ++ ++ for (i = 0; i < 16; i++) ++ res[i] = v1[i] > v2[i] ? v2[i] : v1[i]; ++} ++ ++static void ++TEST (void) ++{ ++ int i; ++ int err = 0; ++ ++ find_max (); ++ for (i = 0; i < 16; i++) ++ if (res[i] != max[i]) ++ err++; ++ ++ find_min (); ++ for (i = 0; i < 16; i++) ++ if (res[i] != min[i]) ++ err++; ++ ++ if (err) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/pr42542-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-3.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-3.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,85 @@ ++/* { dg-do run } */ ++/* { dg-options "-O1 -msse2 -ftree-vectorize" } */ ++ ++#ifndef CHECK_H ++#define CHECK_H "sse2-check.h" ++#endif ++ ++#ifndef TEST ++#define TEST sse2_test ++#endif ++ ++#include CHECK_H ++ ++unsigned char v1[] __attribute__ ((aligned(16))) = ++{ ++ 0x80, 0xd0, 0x90, 0xa0, 1, 15, 10, 15, ++ 0xa0, 0xc0, 0xb0, 0xf0, 2, 25, 20, 35, ++ 3, 34, 30, 36, 0xd0, 0x80, 0xe0, 0xb0, ++ 0xf0, 0xe0, 0xe0, 0x80, 25, 34, 30, 40 ++}; ++unsigned char v2[] __attribute__ ((aligned(16))) = ++{ ++ 4, 44, 40, 48, 0xb0, 0x80, 0x80, 0x90, ++ 5, 55, 50, 51, 0xc0, 0xb0, 0xf0, 0xd0, ++ 0xd0, 0x80, 0xa0, 0xf0, 6, 61, 65, 68, ++ 7, 76, 75, 81, 0xe0, 0xf0, 0xc0, 0x90 ++}; ++ ++unsigned char max[] = ++{ ++ 0x80, 0xd0, 0x90, 0xa0, 0xb0, 0x80, 0x80, 0x90, ++ 0xa0, 0xc0, 0xb0, 0xf0, 0xc0, 0xb0, 0xf0, 0xd0, ++ 0xd0, 0x80, 0xa0, 0xf0, 0xd0, 0x80, 0xe0, 0xb0, ++ 0xf0, 0xe0, 0xe0, 0x80, 0xe0, 0xf0, 0xc0, 0x90 ++}; ++ ++unsigned char min[] = ++{ ++ 4, 44, 40, 48, 1, 15, 10, 15, ++ 5, 55, 50, 51, 2, 25, 20, 35, ++ 3, 34, 30, 36, 6, 61, 65, 68, ++ 7, 76, 75, 81, 25, 34, 30, 40 ++}; ++ ++unsigned char res[32] __attribute__ ((aligned(16))); ++ ++extern void abort (void); ++ ++void ++find_max (void) ++{ ++ int i; ++ ++ for (i = 0; i < 32; i++) ++ res[i] = v1[i] < v2[i] ? v2[i] : v1[i]; ++} ++ ++void ++find_min (void) ++{ ++ int i; ++ ++ for (i = 0; i < 32; i++) ++ res[i] = v1[i] > v2[i] ? v2[i] : v1[i]; ++} ++ ++static void ++TEST (void) ++{ ++ int i; ++ int err = 0; ++ ++ find_max (); ++ for (i = 0; i < 32; i++) ++ if (res[i] != max[i]) ++ err++; ++ ++ find_min (); ++ for (i = 0; i < 32; i++) ++ if (res[i] != min[i]) ++ err++; ++ ++ if (err) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/pr42542-1a.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-1a.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-1a.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,8 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target sse4 } */ ++/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */ ++ ++#define CHECK_H "sse4_1-check.h" ++#define TEST sse4_1_test ++ ++#include "pr42542-1.c" +Index: gcc/testsuite/gcc.target/i386/pr40906-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr40906-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr40906-1.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,26 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target ilp32 } */ ++/* { dg-options "-O2 -fomit-frame-pointer -mpush-args -mno-accumulate-outgoing-args" } */ ++ ++void abort (void); ++ ++void __attribute__((noinline)) ++f (long double a) ++{ ++ if (a != 1.23L) ++ abort (); ++} ++ ++int __attribute__((noinline)) ++g (long double b) ++{ ++ f (b); ++ return 0; ++} ++ ++int ++main (void) ++{ ++ g (1.23L); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/mmx-3dnow-check.h +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/mmx-3dnow-check.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/mmx-3dnow-check.h (.../branches/gcc-4_3-branch) +@@ -0,0 +1,21 @@ ++#include ++#include ++ ++#include "cpuid.h" ++ ++static void mmx_3dnow_test (void); ++ ++int ++main () ++{ ++ unsigned int eax, ebx, ecx, edx; ++ ++ if (!__get_cpuid (0x80000001, &eax, &ebx, &ecx, &edx)) ++ return 0; ++ ++ /* Run 3DNow! test only if host has 3DNow! support. */ ++ if (edx & bit_3DNOW) ++ mmx_3dnow_test (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/pr42542-1b.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr42542-1b.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr42542-1b.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -msse4.1 -ftree-vectorize" } */ ++ ++#define CHECK_H "sse4_1-check.h" ++#define TEST sse4_1_test ++ ++#include "pr42542-1.c" ++ ++/* { dg-final { scan-assembler "pmaxud" } } */ ++/* { dg-final { scan-assembler "pminud" } } */ +Index: gcc/testsuite/gcc.target/i386/pr40906-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr40906-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr40906-2.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,26 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target ilp32 } */ ++/* { dg-options "-O2 -fomit-frame-pointer -mpush-args -mno-accumulate-outgoing-args -m128bit-long-double" } */ ++ ++void abort (void); ++ ++void __attribute__((noinline)) ++f (long double a) ++{ ++ if (a != 1.23L) ++ abort (); ++} ++ ++int __attribute__((noinline)) ++g (long double b) ++{ ++ f (b); ++ return 0; ++} ++ ++int ++main (void) ++{ ++ g (1.23L); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/s390/stackcheck1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/s390/stackcheck1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/s390/stackcheck1.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,14 @@ ++/* The automatically chosen stack guard value caused an ICE in that ++ case. */ ++ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mstack-size=4096" } */ ++ ++extern void bar (char *); ++ ++void ++foo () ++{ ++ char a[2500]; ++ bar (a); ++} /* { dg-warning "more than half" } */ +Index: gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s +=================================================================== +--- a/src/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s (.../branches/gcc-4_3-branch) +@@ -42,7 +42,9 @@ + .globl _snapshot_ret + _snapshot_ret: + movq %rdi, _rdi(%rip) ++ subq $8, %rsp + call *_callthis(%rip) ++ addq $8, %rsp + movq %rax, _rax(%rip) + movq %rdx, _rdx(%rip) + movdqu %xmm0, _xmm_regs+0(%rip) +Index: gcc/testsuite/gcc.target/ia64/pr42542-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/ia64/pr42542-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/ia64/pr42542-1.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,68 @@ ++/* { dg-do run } */ ++/* { dg-options "-O1 -ftree-vectorize" } */ ++ ++unsigned int v1[] __attribute__ ((aligned(16))) = ++{ ++ 0x80000000, 1, 0xa0000000, 2, ++ 3, 0xd0000000, 0xf0000000, 0xe0000000 ++}; ++unsigned int v2[] __attribute__ ((aligned(16))) = ++{ ++ 4, 0xb0000000, 5, 0xc0000000, ++ 0xd0000000, 6, 7, 8 ++}; ++ ++unsigned int max[] = ++{ ++ 0x80000000, 0xb0000000, 0xa0000000, 0xc0000000, ++ 0xd0000000, 0xd0000000, 0xf0000000, 0xe0000000 ++}; ++ ++unsigned int min[] = ++{ ++ 4, 1, 5, 2, ++ 3, 6, 7, 8 ++}; ++ ++unsigned int res[8] __attribute__ ((aligned(16))); ++ ++extern void abort (void); ++ ++void ++find_max (void) ++{ ++ int i; ++ ++ for (i = 0; i < 8; i++) ++ res[i] = v1[i] < v2[i] ? v2[i] : v1[i]; ++} ++ ++void ++find_min (void) ++{ ++ int i; ++ ++ for (i = 0; i < 8; i++) ++ res[i] = v1[i] > v2[i] ? v2[i] : v1[i]; ++} ++ ++int main (void) ++{ ++ int i; ++ int err = 0; ++ ++ find_max (); ++ for (i = 0; i < 8; i++) ++ if (res[i] != max[i]) ++ err++; ++ ++ find_min (); ++ for (i = 0; i < 8; i++) ++ if (res[i] != min[i]) ++ err++; ++ ++ if (err) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/ia64/pr42542-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/ia64/pr42542-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/ia64/pr42542-2.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,68 @@ ++/* { dg-do run } */ ++/* { dg-options "-O1 -ftree-vectorize" } */ ++ ++unsigned short v1[] __attribute__ ((aligned(16))) = ++{ ++ 0x8000, 0x9000, 1, 10, 0xa000, 0xb000, 2, 20, ++ 3, 30, 0xd000, 0xe000, 0xf000, 0xe000, 25, 30 ++}; ++unsigned short v2[] __attribute__ ((aligned(16))) = ++{ ++ 4, 40, 0xb000, 0x8000, 5, 50, 0xc000, 0xf000, ++ 0xd000, 0xa000, 6, 65, 7, 75, 0xe000, 0xc000 ++}; ++ ++unsigned short max[] = ++{ ++ 0x8000, 0x9000, 0xb000, 0x8000, 0xa000, 0xb000, 0xc000, 0xf000, ++ 0xd000, 0xa000, 0xd000, 0xe000, 0xf000, 0xe000, 0xe000, 0xc000 ++}; ++ ++unsigned short min[] = ++{ ++ 4, 40, 1, 10, 5, 50, 2, 20, ++ 3, 30, 6, 65, 7, 75, 25, 30 ++}; ++ ++unsigned short res[16] __attribute__ ((aligned(16))); ++ ++extern void abort (void); ++ ++void ++find_max (void) ++{ ++ int i; ++ ++ for (i = 0; i < 16; i++) ++ res[i] = v1[i] < v2[i] ? v2[i] : v1[i]; ++} ++ ++void ++find_min (void) ++{ ++ int i; ++ ++ for (i = 0; i < 16; i++) ++ res[i] = v1[i] > v2[i] ? v2[i] : v1[i]; ++} ++ ++int main (void) ++{ ++ int i; ++ int err = 0; ++ ++ find_max (); ++ for (i = 0; i < 16; i++) ++ if (res[i] != max[i]) ++ err++; ++ ++ find_min (); ++ for (i = 0; i < 16; i++) ++ if (res[i] != min[i]) ++ err++; ++ ++ if (err) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/ia64/pr42542-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/ia64/pr42542-3.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.target/ia64/pr42542-3.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,76 @@ ++/* { dg-do run } */ ++/* { dg-options "-O1 -ftree-vectorize" } */ ++ ++unsigned char v1[] __attribute__ ((aligned(16))) = ++{ ++ 0x80, 0xd0, 0x90, 0xa0, 1, 15, 10, 15, ++ 0xa0, 0xc0, 0xb0, 0xf0, 2, 25, 20, 35, ++ 3, 34, 30, 36, 0xd0, 0x80, 0xe0, 0xb0, ++ 0xf0, 0xe0, 0xe0, 0x80, 25, 34, 30, 40 ++}; ++unsigned char v2[] __attribute__ ((aligned(16))) = ++{ ++ 4, 44, 40, 48, 0xb0, 0x80, 0x80, 0x90, ++ 5, 55, 50, 51, 0xc0, 0xb0, 0xf0, 0xd0, ++ 0xd0, 0x80, 0xa0, 0xf0, 6, 61, 65, 68, ++ 7, 76, 75, 81, 0xe0, 0xf0, 0xc0, 0x90 ++}; ++ ++unsigned char max[] = ++{ ++ 0x80, 0xd0, 0x90, 0xa0, 0xb0, 0x80, 0x80, 0x90, ++ 0xa0, 0xc0, 0xb0, 0xf0, 0xc0, 0xb0, 0xf0, 0xd0, ++ 0xd0, 0x80, 0xa0, 0xf0, 0xd0, 0x80, 0xe0, 0xb0, ++ 0xf0, 0xe0, 0xe0, 0x80, 0xe0, 0xf0, 0xc0, 0x90 ++}; ++ ++unsigned char min[] = ++{ ++ 4, 44, 40, 48, 1, 15, 10, 15, ++ 5, 55, 50, 51, 2, 25, 20, 35, ++ 3, 34, 30, 36, 6, 61, 65, 68, ++ 7, 76, 75, 81, 25, 34, 30, 40 ++}; ++ ++unsigned char res[32] __attribute__ ((aligned(16))); ++ ++extern void abort (void); ++ ++void ++find_max (void) ++{ ++ int i; ++ ++ for (i = 0; i < 32; i++) ++ res[i] = v1[i] < v2[i] ? v2[i] : v1[i]; ++} ++ ++void ++find_min (void) ++{ ++ int i; ++ ++ for (i = 0; i < 32; i++) ++ res[i] = v1[i] > v2[i] ? v2[i] : v1[i]; ++} ++ ++int main (void) ++{ ++ int i; ++ int err = 0; ++ ++ find_max (); ++ for (i = 0; i < 32; i++) ++ if (res[i] != max[i]) ++ err++; ++ ++ find_min (); ++ for (i = 0; i < 32; i++) ++ if (res[i] != min[i]) ++ err++; ++ ++ if (err) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/builtins-config.h +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/builtins-config.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/builtins-config.h (.../branches/gcc-4_3-branch) +@@ -13,8 +13,8 @@ + /* PA HP-UX doesn't have the entire C99 runtime. */ + #elif defined(__sgi) + /* Irix6 doesn't have the entire C99 runtime. */ +-#elif defined(__FreeBSD__) && (__FreeBSD__ < 9) +-/* FreeBSD up to version 8 lacks support for cexp and friends. */ ++#elif defined(__FreeBSD__) ++/* FreeBSD up to at least version 8 lacks support for cexp and friends. */ + #elif defined(__netware__) + /* NetWare doesn't have the entire C99 runtime. */ + #elif defined(__vxworks) +Index: gcc/testsuite/gcc.dg/pr41033.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr41033.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/pr41033.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,24 @@ ++/* { dg-options "-O1 -fno-strict-aliasing" } */ ++/* PR rtl-optimization/41033 */ ++ ++struct X { ++ int i; ++ int j; ++}; ++ ++int foo(struct X *p, struct X *q) ++{ ++ p->j = 1; ++ q->i = 0; ++ return p->j; ++} ++ ++extern void abort (void); ++ ++int main() ++{ ++ struct X x; ++ if (foo (&x, (struct X *)&x.j) != 0) ++ abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/20020919-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/20020919-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/20020919-1.c (.../branches/gcc-4_3-branch) +@@ -8,7 +8,7 @@ + You must be this tall ---> fit two long longs in asm-declared registers + to enter this amusement. */ + +-/* { dg-do compile { target alpha-*-* cris-*-* crisv32-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */ ++/* { dg-do compile { target alpha*-*-* cris-*-* crisv32-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */ + /* { dg-options "-O2" } */ + + /* Constructed examples; input/output (same register), output, input, and +Index: gcc/testsuite/gcc.dg/builtins-10.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/builtins-10.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/builtins-10.c (.../branches/gcc-4_3-branch) +@@ -25,7 +25,7 @@ + link_error (); + + if (pow(pow(x,4.0),0.25) != x) +- link_error (); ++ /* XFAIL. PR41098. */; + } + + void test2(double x, double y, double z) +@@ -42,7 +42,7 @@ + if (pow(sqrt(x),y) != pow(x,y*0.5)) + link_error (); + +- if (pow(pow(x,y),z) != pow(x,y*z)) ++ if (pow(pow(fabs(x),y),z) != pow(fabs(x),y*z)) + link_error (); + } + +Index: gcc/testsuite/gcc.dg/pr31866.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr31866.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/pr31866.c (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + /* PR tree-optimization/31866 */ +-/* { dg-do compile { target alpha-*-* cris-*-* crisv32-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */ ++/* { dg-do compile { target alpha*-*-* cris-*-* crisv32-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */ + /* { dg-options "-O2" } */ + + #if defined (__alpha__) +Index: gcc/testsuite/gcc.dg/torture/pr42952.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr42952.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr42952.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,19 @@ ++/* { dg-do run } */ ++/* { dg-options "-fno-tree-ccp -fno-tree-fre" } */ ++ ++extern void abort (void); ++ ++static int g[1]; ++ ++static int * const p = &g[0]; ++static int * const q = &g[0]; ++ ++int main(void) ++{ ++ g[0] = 1; ++ *p = 0; ++ *p = *q; ++ if (g[0] != 0) ++ abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr38948.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr38948.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr38948.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,101 @@ ++/* { dg-options "-fno-tree-sra" } */ ++/* { dg-options "-fno-tree-sra -march=v32" { target cris-*-* } } */ ++typedef unsigned char byte; ++typedef unsigned int uint; ++typedef int bool; ++typedef struct gs_const_string_s ++{ ++ const byte *data; ++} ++gs_const_string; ++struct gs_matrix_s ++{ ++ float xx, xy, yx, yy, tx, ty; ++}; ++typedef struct gs_matrix_s gs_matrix; ++typedef long fixed; ++typedef struct gs_fixed_point_s ++{ ++ fixed x, y; ++} ++gs_fixed_point; ++typedef struct gs_matrix_fixed_s ++{ ++ int x; ++} ++gs_matrix_fixed; ++static int ++append_simple (const byte * glyph, const gs_matrix_fixed * pmat, void * ppath) ++{ ++ int numContours = ++ (int) (((((uint) ((glyph)[0]) << 8) + (glyph)[1]) ^ 0x8000) - 0x8000); ++ const byte *pends = glyph + 10; ++ int code = 0; ++ { ++ uint i = 0; ++ uint np = 0; ++ gs_fixed_point pt = {0}; ++ uint reps = 0; ++ for (i = 0, np = 0; i < numContours; ++i) ++ { ++ bool move = ((bool) 1); ++ uint last_point = ++ (((uint) ((pends + i * 2)[0]) << 8) + (pends + i * 2)[1]); ++ int off_curve = 0; ++ gs_fixed_point cpoints[3]; ++ for (; np <= last_point; --reps, ++np) ++ { ++ if (move) ++ { ++ cpoints[0] = pt; ++ move = ((bool) 0); ++ } ++ else ++ { ++ switch (off_curve++) ++ { ++ default: ++ cpoints[2].x = ((cpoints[1].x + pt.x) / 2); ++ cpoints[2].y = ((cpoints[1].y + pt.y) / 2); ++ code = ++ gx_path_add_curve_notes (ppath, ++ ((cpoints[0].x + ++ 2 * cpoints[1].x) / 3), ++ ((cpoints[0].y + ++ 2 * cpoints[1].y) / 3), ++ ((2 * cpoints[1].x + ++ cpoints[2].x) / 3), ++ ((2 * cpoints[1].y + ++ cpoints[2].y) / 3), ++ cpoints[2].x, cpoints[2].y, ++ 0); ++ cpoints[0] = cpoints[2]; ++ case 0: ++ cpoints[1] = pt; ++ } ++ } ++ } ++ } ++ } ++} ++int ++append_outline (uint glyph_index, const gs_matrix_fixed *pmat, void *ppath) ++{ ++ gs_const_string glyph_string = {0}; ++ int numContours = 0; ++ numContours = ++ (int) (((((uint) ((glyph_string.data)[0]) << 8) + ++ (glyph_string.data)[1]) ^ 0x8000) - 0x8000); ++ if (numContours >= 0) ++ return append_simple (glyph_string.data, pmat, ppath); ++ { ++ uint flags = 0; ++ do ++ { ++ gs_matrix_fixed mat = {0}; ++ gs_matrix scale_mat = {0}; ++ gs_matrix_multiply (&scale_mat, (const gs_matrix *) &mat, (gs_matrix *) & mat); ++ } ++ while (flags & 32); ++ } ++} +Index: gcc/testsuite/gcc.dg/torture/pr26515.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr26515.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr26515.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,27 @@ ++/* { dg-options "-march=v10" { target cris*-*-* } } */ ++struct i ++{ ++ long long i_size; ++ struct a *i_mapping; ++}; ++struct p ++{ ++ struct a *mapping; ++ long index; ++}; ++extern void b (struct p*, unsigned); ++extern void u (struct p*); ++void ++block_page_mkwrite (struct i *i, struct p *p) ++{ ++ unsigned end = 0; ++ long long size = 0; ++ size = i->i_size; ++ if ((p->mapping != i->i_mapping)) ++ goto out_unlock; ++ if (((p->index + 1) << 13) > size) ++ end = size & ~(~(((1UL) << 13) - 1)); ++ b (p, end); ++out_unlock: ++ u (p); ++} +Index: gcc/testsuite/gcc.dg/torture/pr43360.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr43360.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr43360.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,20 @@ ++/* { dg-do run } */ ++ ++int l_5_5_2 = 4; ++int g_3[1][1]; ++ ++void func_1 (void) ++{ ++ for (g_3[0][0] = 1; g_3[0][0] < 8; g_3[0][0] += 7) { ++ int *l_6 = &g_3[0][0]; ++ *l_6 = l_5_5_2; ++ } ++} ++ ++int main (void) ++{ ++ func_1 (); ++ if (g_3[0][0] != 11) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/type-generic-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/type-generic-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/type-generic-1.c (.../branches/gcc-4_3-branch) +@@ -2,7 +2,7 @@ + without any fast-math flags. */ + + /* { dg-do run } */ +-/* { dg-options "-mieee" { target sh*-*-* } } */ ++/* { dg-options "-mieee" { target alpha*-*-* sh*-*-* } } */ + /* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */ + + #include "../tg-tests.h" +Index: gcc/testsuite/gcc.dg/torture/pr42898-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr42898-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr42898-2.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,26 @@ ++/* { dg-do compile } */ ++/* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */ ++/* { dg-options "-fdump-tree-optimized" } */ ++ ++struct hardware { ++ int parm1:8; ++ int :4; ++ int parm2:4; ++ int parm3:15; ++ int parm4:1; ++}; ++ ++const struct hardware h = { ++ .parm1=42, ++ .parm2=13, ++ .parm3=11850, ++ .parm4=1, ++}; ++ ++void f1(volatile struct hardware *ptr) ++{ ++ *ptr = h; ++} ++ ++/* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */ ++/* { dg-final { cleanup-tree-dump "optimized" } } */ +Index: gcc/testsuite/gcc.dg/torture/pr42898.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr42898.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr42898.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,24 @@ ++/* { dg-do compile } */ ++/* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */ ++/* { dg-options "-fdump-tree-optimized" } */ ++ ++struct hardware { ++ int parm1:8; ++ int :4; ++ int parm2:4; ++ int parm3:15; ++ int parm4:1; ++}; ++ ++void f1(volatile struct hardware *ptr) ++{ ++ *ptr=(struct hardware) { ++ .parm1=42, ++ .parm2=13, ++ .parm3=11850, ++ .parm4=1, ++ }; ++} ++ ++/* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */ ++/* { dg-final { cleanup-tree-dump "optimized" } } */ +Index: gcc/testsuite/gcc.dg/torture/builtin-power-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/builtin-power-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/builtin-power-1.c (.../branches/gcc-4_3-branch) +@@ -77,9 +77,9 @@ + /* Test pow(pow(x,y),z) -> pow(x,y*z). */ + #define POW_POW \ + extern void link_failure_pow_pow(void); \ +- if (pow(pow(d1, d2), d3) != pow(d1,d2*d3) \ +- || powf(powf(f1,f2),f3) != powf(f1,f2*f3) \ +- || powl(powl(ld1,ld2),ld3) != powl(ld1,ld2*ld3)) \ ++ if (pow(pow(fabs(d1), d2), d3) != pow(fabs(d1),d2*d3) \ ++ || powf(powf(fabs(f1),f2),f3) != powf(fabs(f1),f2*f3) \ ++ || powl(powl(fabs(ld1),ld2),ld3) != powl(fabs(ld1),ld2*ld3)) \ + link_failure_pow_pow() + + POW_POW; +Index: gcc/testsuite/gcc.dg/torture/pr41094.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr41094.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr41094.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,19 @@ ++/* { dg-do run } */ ++/* { dg-options "-ffast-math" } */ ++ ++#include ++ ++extern void abort (void); ++ ++double foo(void) ++{ ++ double x = -4.0; ++ return pow (x * x, 0.25); ++} ++ ++int main() ++{ ++ if (foo() != 2.0) ++ abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/tree-ssa/loop-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/loop-3.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/loop-3.c (.../branches/gcc-4_3-branch) +@@ -2,9 +2,8 @@ + Target is restricted to x86 type architectures, so that we may + assume something about memory addressing modes. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-fpic" "-fPIC" } { "" } } */ +-/* { dg-options "-O1 -fno-pic -fno-PIC -fdump-tree-optimized" } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && nonpic } } } */ ++/* { dg-options "-O1 -fdump-tree-optimized" } */ + + int arr_base[100]; + +Index: gcc/testsuite/gcc.dg/tls/opt-15.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tls/opt-15.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/tls/opt-15.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,24 @@ ++/* PR target/42564 */ ++/* This used to ICE on the SPARC because of an unrecognized TLS pattern. */ ++ ++/* { dg-do compile } */ ++/* { dg-options "-O -fPIC" } */ ++/* { dg-require-effective-target tls_native } */ ++/* { dg-require-effective-target fpic } */ ++ ++extern void *memset(void *s, int c, __SIZE_TYPE__ n); ++ ++struct S1 { int i; }; ++ ++struct S2 ++{ ++ int ver; ++ struct S1 s; ++}; ++ ++static __thread struct S2 m; ++ ++void init(void) ++{ ++ memset(&m.s, 0, sizeof(m.s)); ++} +Index: gcc/testsuite/gcc.dg/ipa/ipa-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-1.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining" } */ +-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ + + #include + int g (int b, int c) +Index: gcc/testsuite/gcc.dg/ipa/ipa-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-2.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining" } */ +-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ + + #include + int g (int b, int c) +Index: gcc/testsuite/gcc.dg/ipa/ipa-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-3.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-3.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining" } */ +-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ + + + /* Double constants. */ +Index: gcc/testsuite/gcc.dg/ipa/ipa-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-4.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-4.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp" } */ +-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ + + #include + int g (int b, int c) +Index: gcc/testsuite/gcc.dg/ipa/ipa-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-5.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-5.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining" } */ +-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ + + /* Float & short constants. */ + +Index: gcc/testsuite/gcc.dg/ipa/ipa-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-7.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-7.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining" } */ +-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ + + #include + void send_addr (int *); +Index: gcc/testsuite/gcc.dg/dfp/pr41049.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/dfp/pr41049.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/dfp/pr41049.c (.../branches/gcc-4_3-branch) +@@ -0,0 +1,571 @@ ++/* { dg-options "-std=gnu99" } */ ++ ++/* The preferred exponent of the result of a conversion from an ++ integral type to a decimal float type is zero. A conversion at ++ either compile time or runtime should not change the number of ++ trailing zeroes. */ ++ ++int failures; ++ ++#ifdef DBG ++extern int printf (const char *, ...); ++#define FAILURE { printf ("failed at line %d\n", __LINE__); failures++; } ++#define FINISH if (failures != 0) __builtin_abort (); return 0; ++#else ++#define FAILURE __builtin_abort (); ++#define FINISH return 0; ++#endif ++ ++#define PASTE2(A,B) A ## B ++#define PASTE(A,B) PASTE2(A,B) ++ ++#define TESTVAL_NEG(VAL,SUF,SIZE) \ ++ x = PASTE(PASTE(VAL,.),SUF); \ ++ si = VAL; \ ++ sll = PASTE(VAL,LL); \ ++ a = si; \ ++ b = sll; \ ++ c = VAL; \ ++ d = PASTE(VAL,LL); \ ++ if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&c,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&d,SIZE) != 0)) \ ++ FAILURE ++ ++#define TESTVAL_NEG_BIG(VAL,SUF,SIZE) \ ++ x = PASTE(PASTE(VAL,.),SUF); \ ++ sll = PASTE(VAL,LL); \ ++ a = sll; \ ++ b = PASTE(VAL,LL); \ ++ if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0)) \ ++ FAILURE ++ ++#define TESTVAL_NONNEG(VAL,SUF,SIZE) \ ++ x = PASTE(PASTE(VAL,.),SUF); \ ++ si = VAL; \ ++ ui = VAL; \ ++ sll = PASTE(VAL,LL); \ ++ ull = PASTE(VAL,ULL); \ ++ a = si; \ ++ b = sll; \ ++ c = ui; \ ++ d = ull; \ ++ e = VAL; \ ++ f = VAL; \ ++ g = PASTE(VAL,LL); \ ++ h = PASTE(VAL,ULL); \ ++ if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&c,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&d,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&e,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&f,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&g,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&x, (void *)&h,SIZE) != 0)) \ ++ FAILURE ++ ++#define TESTVAL_NONNEG_BIG(VAL,SUF,SIZE) \ ++ x = PASTE(PASTE(VAL,.),SUF); \ ++ sll = PASTE(VAL,LL); \ ++ ull = PASTE(VAL,ULL); \ ++ b = sll; \ ++ d = ull; \ ++ f = PASTE(VAL,LL); \ ++ g = PASTE(VAL,ULL); \ ++ if ((__builtin_memcmp ((void *)&x, (void *)&b, SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&d, (void *)&d,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&f, (void *)&d,SIZE) != 0) \ ++ || (__builtin_memcmp ((void *)&g, (void *)&d,SIZE) != 0)) \ ++ FAILURE ++ ++#undef SUFFIX ++#define SUFFIX DF ++#undef TYPE ++#define TYPE _Decimal32 ++ ++void ++zeroes_32 (void) ++{ ++ volatile TYPE x, a, b, c, d, e, f, g, h; ++ volatile int si; ++ volatile unsigned int ui; ++ volatile long long sll; ++ volatile unsigned long long ull; ++ ++ TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE)); ++ ++ TESTVAL_NEG (0, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE)); ++} ++ ++void ++round_32 (void) ++{ ++ volatile TYPE x, a, b, c, d, e, f, g, h; ++ volatile int si; ++ volatile unsigned int ui; ++ volatile long long sll; ++ volatile unsigned long long ull; ++ ++ TESTVAL_NONNEG (10000049, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000050, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000051, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000001, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000002, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000003, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000004, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000049, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000051, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000006, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000007, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000008, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000009, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000010, SUFFIX, sizeof (TYPE)); ++ ++ TESTVAL_NEG (-10000049, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000050, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000051, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000001, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000002, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000003, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000004, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000049, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000051, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000006, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000007, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000008, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000009, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000010, SUFFIX, sizeof (TYPE)); ++} ++ ++#undef SUFFIX ++#define SUFFIX DD ++#undef TYPE ++#define TYPE _Decimal64 ++ ++void ++zeroes_64 (void) ++{ ++ volatile TYPE x, a, b, c, d, e, f, g, h; ++ volatile int si; ++ volatile unsigned int ui; ++ volatile long long sll; ++ volatile unsigned long long ull; ++ ++ TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE)); ++ ++ TESTVAL_NEG (0, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE)); ++} ++ ++void ++round_64 (void) ++{ ++ volatile TYPE x, a, b, c, d, e, f, g, h; ++ volatile int si; ++ volatile unsigned int ui; ++ volatile long long sll; ++ volatile unsigned long long ull; ++ ++ TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000001, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000002, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000003, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000004, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000049, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000051, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000006, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000007, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000008, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000009, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000010, SUFFIX, sizeof (TYPE)); ++ ++ TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000001, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000002, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000003, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000004, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000049, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000051, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000006, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000007, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000008, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000009, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000010, SUFFIX, sizeof (TYPE)); ++} ++ ++#undef SUFFIX ++#define SUFFIX DL ++#undef TYPE ++#define TYPE _Decimal128 ++ ++void ++zeroes_128 (void) ++{ ++ volatile TYPE x, a, b, c, d, e, f, g, h; ++ volatile int si; ++ volatile unsigned int ui; ++ volatile long long sll; ++ volatile unsigned long long ull; ++ ++ TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE)); ++ ++ TESTVAL_NEG (0, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE)); ++ TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE)); ++} ++ ++ ++int ++main () ++{ ++ zeroes_32 (); ++ zeroes_64 (); ++ zeroes_128 (); ++ round_32 (); ++ round_64 (); ++ ++ FINISH ++} +Index: gcc/testsuite/gcc.dg/ssp-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ssp-1.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gcc.dg/ssp-1.c (.../branches/gcc-4_3-branch) +@@ -4,7 +4,7 @@ + + #include + +-static void ++void + __stack_chk_fail (void) + { + exit (0); /* pass */ +Index: gcc/testsuite/ChangeLog +=================================================================== +--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,364 @@ ++2010-04-06 Jakub Jelinek ++ ++ * gcc.target/s390/stackcheck1.c: Add dg-warning. ++ ++2010-03-31 Uros Bizjak ++ ++ Backport from mainline: ++ 2010-03-27 Uros Bizjak ++ ++ PR tree-optimization/43528 ++ * gcc.target/i386/pr43528.c: New test. ++ ++ 2010-03-26 Uros Bizjak ++ ++ PR target/43524 ++ * gcc.target/i386/pr43524.c: New test. ++ ++2010-03-30 Andreas Krebbel ++ ++ * gcc.target/s390/stackcheck1.c: New testcase. ++ ++2010-03-21 Kaveh R. Ghazi ++ ++ * gcc.target/powerpc/ppc-sdata-1.c: Require nonpic. ++ * gcc.target/powerpc/ppc-sdata-2.c: Likewise. ++ ++2010-03-18 H.J. Lu ++ ++ Backport from mainline: ++ 2010-03-18 H.J. Lu ++ ++ PR rtl-optimization/43360 ++ * gcc.dg/torture/pr43360.c: New. ++ ++2010-03-12 Kaveh R. Ghazi ++ ++ * gcc.target/arm/sibcall-1.c: Allow PLT to appear with pic code. ++ ++2010-03-10 Kaveh R. Ghazi ++ ++ Backport: ++ 2008-12-12 Uros Bizjak ++ ++ PR testsuite/38163 ++ * gcc.dg/tree-ssa/loop-3.c: Compile only on nonpic x86 targets. ++ Remove dg-skip-if directive. ++ ++2010-03-10 Kaveh R. Ghazi ++ ++ * g++.old-deja/g++.pt/asm1.C: Don't detect pic via looking for the ++ -fpic/-fPIC flags. ++ * g++.old-deja/g++.pt/asm2.C: Likewise. ++ * gcc.c-torture/compile/20000804-1.c: Likewise. ++ * gcc.target/i386/clobbers.c: Likewise. ++ ++2010-03-05 Kaveh R. Ghazi ++ ++ Backport: ++ 2009-10-15 Kaveh R. Ghazi ++ * lib/target-supports.exp (add_options_for_bind_pic_locally): New. ++ ++ 2009-10-16 Kaveh R. Ghazi ++ * g++.dg/other/first-global.C: Use dg-add-options bind_pic_locally. ++ * g++.dg/parse/attr-externally-visible-1.C: Likewise. ++ * g++.dg/tree-ssa/nothrow-1.C: Likewise. ++ * gcc.dg/ipa/ipa-1.c: Likewise. ++ * gcc.dg/ipa/ipa-2.c: Likewise. ++ * gcc.dg/ipa/ipa-3.c: Likewise. ++ * gcc.dg/ipa/ipa-4.c: Likewise. ++ * gcc.dg/ipa/ipa-5.c: Likewise. ++ * gcc.dg/ipa/ipa-7.c: Likewise. ++ ++2010-02-16 Paolo Bonzini ++ ++ * gcc.c-torture/execute/pr41917.c: New test. ++ ++2010-02-04 Jerry DeLisle ++ ++ PR libfortran/42901 ++ * gfortran.dg/namelist_60.f90: New test. ++ * gfortran.dg/namelist_59.f90: New test. ++ * gcc/testsuite/gfortran.dg/namelist_47.f90: Update test. ++ * gcc/testsuite/gfortran.dg/namelist_40.f90: Update test. ++ ++2010-02-04 Richard Guenther ++ ++ PR rtl-optimization/42952 ++ * gcc.dg/torture/pr42952.c: New testcase. ++ ++2010-01-31 Eric Botcazou ++ ++ PR middle-end/42898 ++ * gcc.dg/torture/pr42898-2.c: New test. ++ ++2010-01-31 Richard Guenther ++ ++ * gcc.dg/torture/pr42898.c: Skip -O0. ++ ++2010-01-31 Richard Guenther ++ ++ PR middle-end/42898 ++ * gcc.dg/torture/pr42898.c: New testcase. ++ ++2010-01-18 Uros Bizjak ++ ++ PR target/42774 ++ * gcc.target/alpha/pr42774.c: New test. ++ ++2010-01-17 H.J. Lu ++ ++ Backport from mainline: ++ 2010-01-13 Steve Ellcey ++ ++ PR target/42542 ++ * gcc.target/ia64/pr42542-1.c: New. ++ * gcc.target/ia64/pr42542-2.c: New. ++ * gcc.target/ia64/pr42542-3.c: New. ++ ++2010-01-07 H.J. Lu ++ ++ Backport from mainline ++ 2010-01-05 H.J. Lu ++ ++ PR target/42542 ++ * gcc.target/i386/pr42542-1.c: New. ++ * gcc.target/i386/pr42542-1a.c: Likewise. ++ * gcc.target/i386/pr42542-1b.c: Likewise. ++ * gcc.target/i386/pr42542-2.c: Likewise. ++ * gcc.target/i386/pr42542-2a.c: Likewise. ++ * gcc.target/i386/pr42542-2b.c: Likewise. ++ * gcc.target/i386/pr42542-3.c: Likewise. ++ * gcc.target/i386/pr42542-3a.c: Likewise. ++ ++2010-01-05 Eric Botcazou ++ ++ * gcc.dg/tls/opt-15.c: New test. ++ ++2009-12-30 Ian Lance Taylor ++ ++ PR middle-end/42099 ++ * gcc.c-torture/execute/20091229-1.c: New test. ++ ++2009-12-30 Uros Bizjak ++ ++ PR target/42549 ++ * gcc.target/i386/mmx-3dnow-check.h: New file. ++ * gcc.target/i386/pr42549.c: New test. ++ ++2009-12-23 Thomas Koenig ++ ++ PR libfortran/PR42422 ++ * gfortran.dg/list_read_10.f90: New test. ++ ++2009-11-23 Uros Bizjak ++ ++ PR target/42113 ++ * gcc.target/alpha/pr42113.c: New test. ++ ++2009-11-20 Jerry DeLisle ++ ++ PR libgfortran/42090 ++ * gfortran.dg/direct_io_11.f90: New test. ++ ++2009-11-13 Jason Merrill ++ ++ PR c++/21008, DR 515 ++ * g++.dg/template/inherit4.C: New. ++ * g++.dg/lookup/scoped8.C: Adjust. ++ ++2009-11-12 Jason Merrill ++ ++ PR c++/37037 ++ * g++.dg/template/typedef21.C: New. ++ ++2009-11-09 Jason Merrill ++ ++ PR c++/41972 ++ * g++.dg/template/ref4.C: New. ++ ++2009-11-04 Jason Merrill ++ ++ PR c++/36912 ++ * g++.dg/init/static-init2.C: New. ++ ++2009-11-05 Uros Bizjak ++ ++ PR target/41900 ++ * gcc.target/i386/pr41900.c: New test. ++ ++2009-11-04 Jason Merrill ++ ++ PR c++/35067 ++ * g++.dg/abi/thunk5.C: New. ++ ++2009-11-04 Dodji Seketeli ++ ++ Revert fix for PR c++/37093 ++ * g++.dg/other/ptrmem10.C: Revert. ++ * g++.dg/other/ptrmem11.C: Likewise. ++ ++2009-10-28 Jason Merrill ++ ++ PR c++/41876 ++ * g++.dg/parse/eh-decl.C: New. ++ ++2009-11-03 Dodji Seketeli ++ ++ PR c++/37093 ++ * g++.dg/other/ptrmem10.C: New test. ++ * g++.dg/other/ptrmem11.C: Likewise. ++ ++2009-10-14 Hans-Peter Nilsson ++ ++ PR target/38948 ++ * gcc.dg/torture/pr38948.c: New test. ++ ++2009-10-12 Hans-Peter Nilsson ++ ++ PR target/26515 ++ * gcc.dg/torture/pr26515.c: New test. ++ ++2009-10-05 Tobias Burnus ++ ++ PR fortran/41479 ++ * gfortran.dg/intent_out_5.f90: New test. ++ ++2009-10-01 Tobias Burnus ++ ++ PR fortran/41515 ++ * gfortran.dg/parameter_array_init_5.f90: New test. ++ ++2009-09-30 Uros Bizjak ++ ++ PR target/22093 ++ * gcc.target/alpha/pr22093.c: New test. ++ ++2009-09-23 Uros Bizjak ++ ++ PR c/39779 ++ * gcc.c-torture/compile/pr39779.c: New test. ++ ++2009-09-21 Janis Johnson ++ ++ PR c/41049 ++ * gcc.dg/dfp/pr41049.c: New test. ++ ++2009-09-18 Jack Howarth ++ ++ PR testsuite/41288 ++ * gcc.target/x86_64/abi/asm-support-darwin.s (snapshot_ret): Preserve ++ stack alignment. ++ ++2009-09-16 Uros Bizjak ++ ++ * gfortran.dg/default_format_denormal_2.f90: Add ieee options. ++ * gfortran.dg/default_format_denormal_1.f90: Ditto. Remove ++ alpha*-*-* target from XFAIL list. ++ ++2009-08-31 Gerald Pfeifer ++ ++ * gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Do not define ++ for FreeBSD. ++ ++2009-08-28 Uros Bizjak ++ ++ * gfortran.dg/default_format_1.f90: Add -mieee for alpha*-*-* targets. ++ * gfortran.dg/boz_12.f90: Ditto. ++ ++2009-08-28 Uros Bizjak ++ ++ Backport from mainline: ++ 2009-08-17 Uros Bizjak ++ ++ * lib/target-supports.exp ++ (check_effective_target_vect_cmdline_needed): Add alpha to the list ++ of targets that do not need command line argument to enable SIMD. ++ ++2009-08-24 Richard Guenther ++ ++ PR middle-end/41094 ++ * gcc.dg/torture/pr41094.c: New testcase. ++ * gcc.dg/torture/builtin-power-1.c: Adjust. ++ * gcc.dg/builtins-10.c: Likewise. ++ ++2009-08-23 Tobias Burnus ++ ++ PR fortran/40851 ++ * gfortran.dg/derived_init_3.f90: New test. ++ ++2009-08-23 Uros Bizjak ++ ++ PR target/40718 ++ * gcc.target/i386/pr40718.c: New test. ++ ++2009-08-16 Uros Bizjak ++ ++ Backport from mainline: ++ 2009-08-14 Uros Bizjak ++ ++ PR target/41019 ++ * gcc.target/i386/pr41019.c: New test. ++ ++2009-08-16 Paul Thomas ++ ++ PR fortran/40847 ++ * gfortran.dg/transfer_resolve_1.f90 : New test. ++ ++2009-08-14 Uros Bizjak ++ ++ Backport from mainline: ++ 2008-12-10 Uros Bizjak ++ ++ * gcc.dg/20020919-1.c: Correct target selector to alpha*-*-*. ++ * gcc.dg/pr31866.c: Ditto. ++ * gcc.dg/torture/type-generic-1.c: Add -mieee for alpha*-*-* targets. ++ * g++.dg/torture/type-generic-1.C: Ditto. ++ * gfortran.dg/boz_9.f90: Ditto. ++ * gfortran.dg/init_flag_3.f90: Ditto. ++ * gfortran.dg/init_flag_4.f90: Ditto. ++ * gfortran.dg/init_flag_5.f90: Ditto. ++ * gfortran.dg/integer_exponentiation_1.f90: Ditto. ++ * gfortran.dg/integer_exponentiation_5.F90: Ditto. ++ * gfortran.dg/isnan_1.f90: Ditto. ++ * gfortran.dg/nan_1.f90: Ditto. ++ * gfortran.dg/nan_2.f90: Ditto. ++ * gfortran.dg/nan_3.f90: Ditto. ++ * gfortran.dg/nan_4.f90: Ditto. ++ * gfortran.dg/namelist_42.f90: Ditto. ++ * gfortran.dg/namelist_43.f90: Ditto. ++ * gfortran.dg/nearest_1.f90: Ditto. ++ * gfortran.dg/nearest_2.f90: Ditto. ++ * gfortran.dg/nearest_3.f90: Ditto. ++ * gfortran.dg/real_const_3.f90: Ditto. ++ * gfortran.dg/transfer_simplify_2.f90: Ditto. ++ ++ * gfortran.dg/default_format_denormal_1.f90: XFAIL on alpha. ++ ++2009-08-13 Richard Guenther ++ ++ PR rtl-optimization/41033 ++ * gcc.dg/pr41033.c: New test. ++ ++2009-08-10 Kaveh R. Ghazi ++ ++ Backport: ++ 2009-04-30 Adam Nemet ++ ++ * gcc.dg/ssp-1.c (__stack_chk_fail): Remove static. ++ ++2009-08-05 Uros Bizjak ++ Mikulas Patocka ++ ++ PR target/40906 ++ * gcc.target/i386/pr40906-1.c: New test. ++ * gcc.target/i386/pr40906-2.c: Ditto. ++ ++2009-08-04 Dodji Seketeli ++ ++ PR debug/39706 ++ * g++.dg/debug/dwarf2/pubnames-1.C: New test. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +@@ -150,7 +511,7 @@ + * gcc.c-torture/compile/pr40204.c: New test. + + 2009-02-03 Jakub Jelinek +- ++ + PR target/35318 + * gcc.c-torture/compile/pr35318.c: New test. + +@@ -364,7 +725,7 @@ + + PR objc/27377 + * objc.dg/conditional-1.m: New tests. +- ++ + 2009-04-01 Eric Botcazou + + * gcc.c-torture/compile/20090401-1.c: New test. +@@ -1885,7 +2246,7 @@ + * gcc.dg/builtins-1.c: SPU does not support __builtin_inff. + * gcc.dg/builtin-inf-1.c: SPU does not support __builtin_inff. + Check for error instead of warning "does not support infinity". +- * gcc.dg/builtins-43.c: Disable "float" Inf/Nan tests on SPU. ++ * gcc.dg/builtins-43.c: Disable "float" Inf/Nan tests on SPU. + * gcc.dg/builtins-44.c: Likewise. + * gcc.dg/builtins-45.c: Likewise. + * gcc.dg/torture/builtin-math-2.c: Likewise. +@@ -2071,7 +2432,7 @@ + + PR rtl-optimization/36111 + * gcc.dg/pr36111.c: New test. +- ++ + 2008-06-06 Joseph Myers + + * lib/target-supports.exp (check_effective_target_powerpc_spu): +@@ -2815,7 +3176,7 @@ + + PR c++/35338 + * g++.dg/other/error25.C: New. +- ++ + 2008-03-05 Release Manager + + * GCC 4.3.0 released. +@@ -3202,7 +3563,7 @@ + + * lib/target-supports.exp (check_effective_target_hard_float): Remove + special case for xtensa-*-*. +- ++ + 2008-02-05 Francois-Xavier Coudert + + PR fortran/35037 +@@ -3764,7 +4125,7 @@ + + PR libfortran/34795 + * gfortran.dg/inquire_13.f90: New test. +- ++ + PR libfortran/34659 + * gfortran.dg/continuation_9.f90: New test. + +@@ -3826,7 +4187,8 @@ + + 2008-01-18 Tobias Burnus + +- * gfortran.dg/large_real_kind_form_io_1.f90: Enlarge string for internal I/O. ++ * gfortran.dg/large_real_kind_form_io_1.f90: Enlarge string ++ for internal I/O. + + 2008-01-18 Jonathan Wakely + +@@ -3972,7 +4334,7 @@ + * gfortran.dg/argument_checking_14.f90: New. + + 2008-01-15 Thomas Koenig +- ++ + PR libfortran/34671 + * gfortran.dg/anyallcount_1.f90: New test. + +@@ -4017,7 +4379,7 @@ + PR c++/34052 + * g++.dg/cpp0x/vt-34052.C: New. + * g++.dg/template/ttp26.C: New. +- ++ + 2008-01-14 Eric Botcazou + + * gnat.dg/rep_clause2.ad[sb]: New test. +@@ -4028,7 +4390,7 @@ + PR c++/24924 + * g++.dg/cpp/pedantic-errors.C: Delete. + * g++.dg/cpp/permissive.C: Delete. +- ++ + 2008-01-14 Eric Botcazou + + * gcc.c-torture/compile/20080114-1.c: New test. +@@ -4558,7 +4920,7 @@ + + 2007-12-18 Douglas Gregor + Jakub Jelinek +- ++ + PR c++/32565 + PR c++/33943 + PR c++/33965 +@@ -4592,7 +4954,7 @@ + + 2007-12-17 Dorit Nuzman + +- * gcc.dg/tree-ssa/gen-vect-2.c: Change verbosity level to 4. ++ * gcc.dg/tree-ssa/gen-vect-2.c: Change verbosity level to 4. + * gcc.dg/tree-ssa/gen-vect-32.c: Likewise + * gcc.dg/tree-ssa/gen-vect-25.c: Likewise + * gcc.dg/tree-ssa/gen-vect-26.c: Likewise +@@ -4620,7 +4982,7 @@ + PR fortran/34427 + * gfortran.dg/namelist_42.f90: Update. + * gfortran.dg/namelist_43.f90: New. +- ++ + 2007-12-16 Tobias Burnus + + PR fortran/34495 +@@ -4656,8 +5018,7 @@ + + 2007-12-16 Danny Smith + +- * gcc.target/i386/fastcall-1.c: (f4): Change return type to +- void. ++ * gcc.target/i386/fastcall-1.c: (f4): Change return type to void. + + 2007-12-16 Jakub Jelinek + +@@ -4742,9 +5103,9 @@ + + 2007-12-13 Olga Golovanevsky + +- * gcc.dg/struct/struct-reorg.exp: Replace +- DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS. +- ++ * gcc.dg/struct/struct-reorg.exp: Replace ++ DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS. ++ + 2007-12-13 Thomas Koenig + + PR libfortran/34370 +@@ -4765,7 +5126,7 @@ + + 2007-12-13 Olga Golovanevsky + +- * gcc.dg/struct: New directory with tests ++ * gcc.dg/struct: New directory with tests + for struct-reorg optimizaion. + * gcc.dg/struct/struct-reorg.exp: New script. + * gcc.dg/struct/wo_prof_array_through_pointer.c: New test. +@@ -4962,7 +5323,7 @@ + PR ada/34173 + * gnat.dg/unc_memops.ad[sb]: Support for ... + * gnat.dg/unc_memfree.adb: New test. +- ++ + 2007-12-06 Sebastian Pop + + * gfortran.dg/ltrans-7.f90: New. +@@ -5057,10 +5418,10 @@ + * g++.dg/cpp0x/variadic-ttp.C: New. + + 2007-12-04 Manuel Lopez-Ibanez +- ++ + * gcc.dg/parse-decl-after-if.c: New. + * gcc.dg/20031223-1.c: Adjust. +- ++ + 2007-12-04 Douglas Gregor + + PR c++/33509 +@@ -5240,13 +5601,13 @@ + * gfortran.dg/mvbits_3.f90: New. + + 2007-11-28 Bob Wilson +- ++ + * lib/target-supports.exp (check_effective_target_mips_soft_float): + Delete. + (check_effective_target_hard_float): New. + * gcc.dg/var-expand1.c: Skip for targets without FPU instructions. + * gcc.dg/pr30957-1.c: Likewise. +- ++ + 2007-11-28 Samuel Tardieu + + PR ada/15804 +@@ -5437,11 +5798,11 @@ + + 2007-11-23 Mark Mitchell + Manuel Lopez-Ibanez +- ++ + PR c++/5310 + * g++.dg/warn/pr5310.C: New. + * g++.dg/warn/pr33160.C: New. +- ++ + 2007-11-23 Richard Guenther + Michael Matz + +@@ -5600,10 +5961,10 @@ + + PR fortran/33317 + * gfortran.dg/optional_dim_2.f90: New test. +- ++ + PR fortran/34139 + * gfortran.dg/subref_array_pointer_2.f90: Update test condition. +- ++ + 2007-11-18 Jakub Jelinek + + PR rtl-optimization/34132 +@@ -5883,9 +6244,9 @@ + + PR middle-end/33826 + * gcc.dg/pr33826.c: New. +- * gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on ++ * gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on + recursive functions being marked pure or const. +- ++ + 2007-11-08 Tobias Burnus + + PR fortran/33917 +@@ -5954,7 +6315,7 @@ + PR c++/33977 + PR c++/33886 + * g++.dg/other/canon-array.C: New. +- ++ + 2007-11-06 Douglas Gregor + + * g++.dg/parser/crash36.C: Tweak expected errors. +@@ -6015,7 +6376,7 @@ + + PR c++/33939 + * g++.dg/cpp0x/variadic-rref.C: New. +- ++ + 2007-11-05 Manuel Lopez-Ibanez + + * g++dg/warn/pointer-integer-comparison.C: New. +@@ -6045,7 +6406,7 @@ + + 2007-11-03 Dorit Nuzman + +- * gfortran.dg/vect/no-vfa-pr32377.f90: Remove xfail. ++ * gfortran.dg/vect/no-vfa-pr32377.f90: Remove xfail. + + 2007-11-03 Francois-Xavier Coudert + +@@ -6057,7 +6418,7 @@ + PR c/29062 + * gcc.dg/20031223-1.c: Adjust error output. + * gcc.dg/parse-decl-after-label.c: New. +- ++ + 2007-11-03 Jerry DeLisle + + PR libfortran/24685 +@@ -6224,12 +6585,12 @@ + * gfortran.dg/interface_19.f90: New. + * gfortran.dg/interface_20.f90: New. + * gfortran.dg/interface_21.f90: New. +- ++ + 2007-10-31 Sebastian Pop + + PR tree-optimization/32377 + * gfortran.dg/vect/pr32377.f90: New. +- ++ + 2007-10-31 Richard Guenther + + PR middle-end/33779 +@@ -6245,7 +6606,7 @@ + + PR c++/19531 + * g++.dg/opt/nrv8.C: New. +- ++ + 2007-10-30 Jakub Jelinek + + PR c++/33709 +@@ -6423,7 +6784,7 @@ + PR c++/30659 + * g++.dg/template/crash71.C: New. + +-2007-10-28 Tobias Schlüter ++2007-10-28 Tobias Schl�ter + + PR fortran/32147 + * gfortran.dg/module_md5_1.f90: Update hash-value. +@@ -6492,7 +6853,7 @@ + 2007-10-26 Douglas Gregor + + * g++.dg/cpp0x/pr33839.C: New. +- ++ + 2007-10-26 Jakub Jelinek + + PR c++/33744 +@@ -6579,7 +6940,7 @@ + * g++.dg/vect/pr33860a.cc: New test. + + 2007-10-23 Tehila Meyzels +- Revital Eres ++ Revital Eres + + * gcc.dg/sms-2.c: New testcase. + +@@ -6882,7 +7243,7 @@ + + * gfortran.dg/bounds_check_10.f90: Fix testcase. + +-2007-10-13 Tobias Schlüter ++2007-10-13 Tobias Schl�ter + Paul Thomas + + PR fortran/33254 +@@ -6945,7 +7306,7 @@ + * gcc.dg/pr33645-1.c: New test. + * gcc.dg/pr33645-2.c: New test. + * gcc.dg/pr33645-3.c: New test. +- ++ + PR c++/32121 + * g++.dg/ext/label4.C: Adjust error regexp. + * g++.dg/ext/label6.C: Adjust error regexp. +@@ -6983,7 +7344,7 @@ + + PR fortran/33500 + * gfortran.fortran-torture/compile/logical-1.f90: New testcase. +- ++ + 2007-10-10 Francois-Xavier Coudert + + PR testsuite/33391 +@@ -7024,7 +7385,7 @@ + PR tree-optimization/33572 + * g++.dg/torture/pr33572.C: Replace with complete test. + +-2007-10-08 Tobias Schlüter ++2007-10-08 Tobias Schl�ter + + PR fortran/33689 + * gfortran.dg/spec_expr_5.f90: New. +@@ -7056,7 +7417,7 @@ + PR libfortran/33683 + * gfortran.dg/gamma_5.f90: New test case + +-2007-10-07 Tobias Schlüter ++2007-10-07 Tobias Schl�ter + + PR fortran/20851 + * initialization_1.f90: Fix dg-error annotations. +@@ -7093,7 +7454,7 @@ + PR tree-optimization/33572 + * g++.dg/torture/pr33572.C: New. + +-2007-10-06 Tobias Schlüter ++2007-10-06 Tobias Schl�ter + + PR fortran/25076 + * gfortran.dg/forall_11.f90: New. +@@ -7153,7 +7514,7 @@ + PR tree-optimization/33627 + * g++.dg/torture/pr33627.C: New testcase. + +-2007-10-04 Tobias Schlüter ++2007-10-04 Tobias Schl�ter + + PR fortran/33626 + * gfortran.dg/parens_6.f90: New. +@@ -7193,7 +7554,7 @@ + * gfortran.dg/default_format_1.f90: XFAIL on ppc-darwin. + * gfortran.dg/default_format_2.f90: XFAIL on ppc-darwin. + +-2007-10-03 Tobias Schlüter ++2007-10-03 Tobias Schl�ter + + PR fortran/33198 + * gfortran.dg/common_errors_1.f90: New. +@@ -7314,7 +7675,7 @@ + * gcc.target/i386/sse5-convert.c: Fix target selector and rename to... + * gcc.target/i386/pr33524.c: ...this. + +-2007-09-28 Tobias Schlüter ++2007-09-28 Tobias Schl�ter + + PR fortran/33354 + * gfortran.dg/minmaxloc_4.f90: New. +@@ -7356,7 +7717,7 @@ + PR middle-end/7003 + * gcc.target/powerpc/gcse-1.c: New test. + +-2007-09-27 Tobias Schlüter ++2007-09-27 Tobias Schl�ter + + * gfortran.dg/array_initializer_3.f90: Adapt error annotations for + fixed capitalizations. +@@ -7458,7 +7819,7 @@ + PR c++/14688 + * g++.dg/inherit/override_attribs.C: New file. + +-2007-09-23 Tobias Schlüter ++2007-09-23 Tobias Schl�ter + + PR fortran/33269 + * io.c (check_format_string): Move NULL and constant checks into +@@ -7884,7 +8245,7 @@ + * gcc.dg/sibcall-4.c: As for gcc.dg/sibcall-3.c. + * gcc.dg/tree-ssa/ssa-fre-3.c: Require !mips64. + +-2007-09-20 Tobias Schlüter ++2007-09-20 Tobias Schl�ter + + * gfortran.dg/g77/19981216-0.f: Remove dg-warning annotation. + * gfortran.dg/io_constraints_1.f90: Make a -std=f95 test. Add +@@ -8191,8 +8552,7 @@ + * gcc.target/i386/i386.exp (check_effective_target_sse5): Check + whether the SSE5 instructions can be generated. + +- * gcc.target/i386/sse5-check.h: New. Add support for +- SSE5 tests. ++ * gcc.target/i386/sse5-check.h: New. Add support for SSE5 tests. + + * gcc.target/i386/sse-12.c: Include bmmintrin.h instead of + ammintrin.h, and turn on -msse5 option instead of -msse4a. +@@ -8212,11 +8572,11 @@ + * gcc.dg/pr32338-2.c: New test. + + 2007-09-12 Bob Wilson +- ++ + * lib/target-supports.exp (check_effective_target_sync_int_long): + Revert change to add xtensa. + (check_effective_target_sync_char_short): Likewise. +- ++ + 2007-09-12 Olivier Hainque + + * gnat.dg/packed_subtype.adb: New test. +@@ -8275,7 +8635,7 @@ + 2007-09-11 Christopher D. Rickett + + PR fortran/33040 +- * gfortran.dg/c_ptr_tests_11.f03: New test case. ++ * gfortran.dg/c_ptr_tests_11.f03: New test case. + + 2007-09-11 Jakub Jelinek + +@@ -8304,7 +8664,7 @@ + + 2007-09-10 Harsha Jagasia + +- * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: ++ * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: + Change dg-final to expect 1 non-profitable loop and + 3 profitable loops. + * gcc.dg/vect/costmodel/x86-64/costmodel-vect-31.c: +@@ -8313,8 +8673,8 @@ + * gcc.dg/vect/costmodel/x86-64/costmodel-fast-math-vect-pr29925.c: + Change dg-final to expect 1 profitable loop. + * gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c: +- Change dg-final to expect 1 profitable loop. +- ++ Change dg-final to expect 1 profitable loop. ++ + 2007-09-10 Richard Sandiford + + * gcc.target/mips/call-saved-1.c: New test. +@@ -8386,7 +8746,7 @@ + gcc.dg/vect/no-scevccp-slp-30.c, gcc.dg/vect/no-scevccp-slp-31.c, + gcc.dg/vect/no-math-errno-slp-32.c, gcc.dg/vect/slp-33.c, + gcc.dg/vect/slp-34.c, gcc.dg/vect/slp-35.c, gcc.dg/vect/slp-36.c, +- gcc.dg/vect/slp-37.c, gcc.dg/vect/vect-vfa-slp.c, ++ gcc.dg/vect/slp-37.c, gcc.dg/vect/vect-vfa-slp.c, + gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c, + gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: New testcases. + * gcc.dg/vect/vect-vfa-03.c: Change the test to prevent SLP. +@@ -8462,7 +8822,7 @@ + now obsolete simplification. + + 2007-09-07 Dorit Nuzman +- ++ + PR tree-optimization/33299 + * gfortran.dg/vect/vect.exp: Compile some tests with -ffast-math. + * gfortran.dg/vect/fast-math-pr33299.f90: New test. +@@ -9057,7 +9417,7 @@ + * gcc.target/cris/builtin_clz_v0.c: New testcase. + * gcc.target/cris/builtin_clz_v3.c: New testcase. + +-2007-09-02 Tobias Schlüuter ++2007-09-02 Tobias Schl�uter + + * gfortran.dg/substr_6.f90: New test. + +@@ -9108,7 +9468,7 @@ + 2007-08-31 Olivier Hainque + + * gnat.dg/test_oalign.adb, oalign[12].ads: New test. +- ++ + 2007-08-31 David Edelsohn + Revital Eres + +@@ -9334,7 +9694,7 @@ + 2007-08-27 Daniel Berlin + + PR tree-optimization/33173 +- ++ + * gcc.c-torture/compile/pr33173.c: New. + + 2007-08-27 H.J. Lu +@@ -9532,7 +9892,7 @@ + include multiple kinds for SHAPE parameter within a single + namespace. + * gfortran.dg/c_f_pointer_shape_tests_2_driver.c: Ditto. +- * gfortran.dg/c_f_pointer_shape_tests_3.f03: New test case. ++ * gfortran.dg/c_f_pointer_shape_tests_3.f03: New test case. + + 2007-08-22 Janus Weil + +@@ -9542,7 +9902,7 @@ + 2007-08-21 Christian Bruel + + * gcc.dg/fold-sub.c: New test. +- ++ + 2007-08-22 Uros Bizjak + + * gcc.dg/20000724-1.c, gcc.dg/980312-1.c, gcc.dg/980313-1.c, +@@ -10106,7 +10466,7 @@ + + 2007-08-07 Dorit Nuzman + +- * gcc.dg/vect/vect-28.c: Fix test to not expect peeling on ++ * gcc.dg/vect/vect-28.c: Fix test to not expect peeling on + !vector_alignment_reachable targets. + * gcc.dg/vect/vect-33.c: Likewise. + * gcc.dg/vect/vect-42.c: Likewise. +@@ -10128,8 +10488,8 @@ + * gfortran.dg/vect-3.f90: Likewise. + * gfortran.dg/vect-4.f90: Likewise. + * gfortran.dg/vect-5.f90: Likewise. +- * lib/target-supports.exp (check_effective_target_natural_alignment): +- Return false for darwin. ++ * lib/target-supports.exp (check_effective_target_natural_alignment): ++ Return false for darwin. + (check_effective_target_vector_alignment_reachable_for_double): New. + + 2007-08-07 Andreas Krebbel +@@ -10283,7 +10643,7 @@ + + PR c++/30851 + * g++.dg/parse/asm3.C: Likewise. +- ++ + 2007-08-02 Rask Ingemann Lambertsen + + * gcc.dg/tree-ssa/gen-vect-2.c: Use "char" for vector elements if +@@ -10711,7 +11071,7 @@ + (check_effective_target_vector_alignment_reachable): New. + * config/spu/spu.c (spu_vector_alignment_reachable): New. + (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define. +- * * gcc.dg/vect/pr25413a.c: Use vector_alignment_reachable target ++ * * gcc.dg/vect/pr25413a.c: Use vector_alignment_reachable target + check. + * gcc.dg/vect/pr25413.c: Likewise. + * gcc.dg/vect/pr31699.c: Likewise. +@@ -10721,7 +11081,7 @@ + PR fortran/30814 + * gfortran.dg/pack_bounds_1.f90: New test case. + +-2007-07-23  Daniel Franke   ++2007-07-23 �Daniel Franke � + + PR fortran/31639 + * gfortran.dg/initialization_9.f90: New test. +@@ -10732,7 +11092,7 @@ + PR fortran/32800 + * gfortran.dg/bind_c_usage_8.f03: New test case. + * gfortran.dg/c_f_pointer_tests_2.f03: Ditto. +- * gfortran.dg/c_ptr_tests_5.f03: Updated expected error message. ++ * gfortran.dg/c_ptr_tests_5.f03: Updated expected error message. + + 2007-07-23 Richard Sandiford + +@@ -10815,7 +11175,7 @@ + + PR fortran/32823 + * gfortran.dg/int_2.f90: New test. +- ++ + 2007-07-21 Rask Ingemann Lambertsen + + * gcc.dg/inline-23.c: Use pointer sized type for cast from pointer. +@@ -10855,11 +11215,11 @@ + test inputs. + + 2007-07-18 Bob Wilson +- ++ + * lib/target-supports.exp (check_effective_target_sync_int_long): + Enable for xtensa. + (check_effective_target_sync_char_short): Likewise. +- ++ + 2007-07-18 Kaveh R. Ghazi + + * gcc.dg/pr28796-2.c: Add more cases. +@@ -10928,7 +11288,7 @@ + + PR fortran/32242 + * gfortran.dg/pr32242.f90: New test. +- ++ + 2007-07-16 Sandra Loosemore + David Ung + +@@ -11015,7 +11375,7 @@ + and dfcgt patterns. + * gcc.target/spu/intrinsics-2.c: New. Test intrinsics for + V2DFmode comparison and test special values. +- * lib/target-supports.exp: Switch on test for V2DFmode ++ * lib/target-supports.exp: Switch on test for V2DFmode + vector conditional expression. + + 2007-07-13 Richard Guenther +@@ -11273,9 +11633,9 @@ + * gcc.target/ia64/fpreg-1.c: Likewise. + * gcc.target/m68k/interrupt_thread-2.c: Likewise. + * gcc.target/m68k/interrupt_thread-3.c: Likewise. +- +-2007-07-12  Daniel Franke   + ++2007-07-12 �Daniel Franke � ++ + PR fortran/31639 + * gfortran.dg/func_decl_4.f90: New test. + +@@ -11414,7 +11774,7 @@ + PR testsuite/25241 + * gcc.dg/pch/counter-2.c: Match every message with its appropriate + directive. +- ++ + 2007-07-10 Paul Thomas + + PR fortran/32157 +@@ -11817,7 +12177,7 @@ + * g++.dg/gomp/pr31748.C: New test. + + 2007-07-02 Ira Rosen +- ++ + PR tree-optimization/32230 + * gcc.dg/vect/pr32230.c: New test. + +@@ -12016,7 +12376,7 @@ + 2007-06-29 Douglas Gregor + + * g++.dg/other/canon-31724.C: New. +- ++ + 2007-06-29 Jan Hubicka + + PR middle-end/32372 +@@ -12112,7 +12472,7 @@ + 2007-06-24 Jerry DeLisle + + * gfortran.dg/secnds-1.f: Revise test to reduce random errors. +- ++ + 2007-06-24 Jerry DeLisle + + PR fortran/32456 +@@ -12196,7 +12556,7 @@ + 2007-06-21 Christian Bruel + + * gcc.dg/attr-isr.c: Test delay slot content. +- ++ + 2007-06-20 Jerry DeLisle + + PR fortran/32361 +@@ -12272,7 +12632,7 @@ + 2007-06-18 Kenneth Zadeck + + * gcc.c-torture/compile/pr32355.c: New testcase. +- ++ + 2007-06-18 Uros Bizjak + + PR tree-optimization/32383 +@@ -12286,7 +12646,7 @@ + 2007-06-17 Kenneth Zadeck + + * gcc.c-torture/compile/pr32349.c: New testcase. +- ++ + 2007-06-17 Eric Botcazou + + * gcc.target/sparc/align.c: Use 'unsigned char' as element type. +@@ -12382,8 +12742,8 @@ + 2007-06-14 Dorit Nuzman + + PR target/32274 +- * gcc.dg/vect/pr32224.c: Fix. +- ++ * gcc.dg/vect/pr32224.c: Fix. ++ + 2007-06-13 Eric Christopher + + * gcc.target/i386/ssefn-1.c: Add -march=i386. +@@ -12806,7 +13166,7 @@ + + * gcc.dg/tree-ssa/prefetch-6.c: New test. + +-2007-05-29 Tobias Schlüter ++2007-05-29 Tobias Schl�ter + + * gfortran.dg/sizeof.f90: New. + +@@ -13639,7 +13999,7 @@ + PR tree-optimization/31885 + * gcc.dg/tree-ssa/loop-29.c: New test. + +-2007-05-10 Dominique d'Humières ++2007-05-10 Dominique d'Humi�res + + * assumed_dummy_1.f90: Fix dg directive. + * char_initialiser_actual.f90: Likewise. +@@ -14313,7 +14673,7 @@ + + * gcc.dg/cpp/_Pragma6.c: Skip on fido-*-* and m68k-*-*. + +-2007-04-17 Tobias Schlüter ++2007-04-17 Tobias Schl�ter + + PR fortran/31144 + * gfortran.dg/module_naming_1.f90: New. +@@ -14416,7 +14776,7 @@ + PR fortran/31550 + * gfortran.dg/used_types_16.f90: New test. + +-2007-04-13 Tobias Schlüter ++2007-04-13 Tobias Schl�ter + + PR fortran/18937 + * gfortran.dg/goto_2.f90: New. +@@ -14446,7 +14806,7 @@ + * gfortran.dg/c_by_val.c: Use GCC extensions instead of including + . + +-2007-04-12 Tobias Schlüter ++2007-04-12 Tobias Schl�ter + + PR fortran/31250 + * gfortran.dg/char_length_2.f90: New. +@@ -15014,7 +15374,7 @@ + PR fortran/31193 + * gfortran.dg/transfer_array_intrinsic_3.f90: New test. + +-2007-03-22 Tobias Schlüter ++2007-03-22 Tobias Schl�ter + + PR fortran/20897 + * gfortran.dg/derived_name_1.f90: New. +@@ -16178,7 +16538,7 @@ + * gcc.target/ia64/builtin-popcount-1.c: New test case. + * gcc.target/ia64/builtin-popcount-2.c: Likewise. + +-2007-02-11 Tobias Schlüter ++2007-02-11 Tobias Schl�ter + + PR fortran/30478 + * gfortran.dg/enum_4.f90: Update error message checks. +@@ -17432,7 +17792,7 @@ + PR target/29248 + * gcc.dg/rs6000-leaf.c: New. + +-2006-12-20 Tobias Schlüter ++2006-12-20 Tobias Schl�ter + + PR fortran/25392 + * gfortran.dg/f2c_8.f90: New test. +@@ -17755,7 +18115,7 @@ + * gcc.c-torture/compile/vector-2.c: New test. + * gcc.c-torture/compile/vector-3.c: New test. + +-2006-12-12 Tobias Schlüter ++2006-12-12 Tobias Schl�ter + + * lib/fortran-torture.exp: Update copyright years. Remove + obsolete comment. Test -ftree-vectorize where it makes sense. +@@ -21551,7 +21911,7 @@ + + * gnat.dg/string_slice.adb: New test. + +-2006-07-01 Tobias Schlüter ++2006-07-01 Tobias Schl�ter + + PR fortran/19259 + * gfortran.dg/semicolon_fixed.c: New. +@@ -22830,7 +23190,7 @@ + PR tree-optimization/27409 + * gcc.dg/torture/pr27409.c: New testcase. + +-2006-05-07 Tobias Schlüter ++2006-05-07 Tobias Schl�ter + + PR fortran/27457 + * gfortran.dg/select_6.f90: New. +@@ -24379,7 +24739,7 @@ + PR fortran/25045 + * optional_dim.f90: New test. + +-2006-02-14 Tobias Schlüter ++2006-02-14 Tobias Schl�ter + + PR fortran/26277 + * gfortran.dg/label_4.f90: New. +@@ -24469,7 +24829,7 @@ + + gfortran.dg/null_1.f90: New test. + +-2006-02-10 Tobias Schlüter ++2006-02-10 Tobias Schl�ter + + PR fortran/14771 + * gfortran.dg/parens_4.f90: New. +@@ -24479,7 +24839,7 @@ + + * gcc.dg/pr23372-1.c: Remove empty file. + +-2006-02-09 Tobias Schlüter ++2006-02-09 Tobias Schl�ter + Paul Thomas + + PR fortran/14771 +@@ -24573,7 +24933,7 @@ + * gcc.dg/gomp/critical-3.c: Call cleanup-tree-dump. + * gcc.dg/tree-ssa/pr23382.c: Ditto. + +-2006-02-07 Tobias Schlüter ++2006-02-07 Tobias Schl�ter + + PR fortran/25577 + * gfortran.dg/mvbits_1.f90: New. +@@ -24993,7 +25353,7 @@ + * gcc.target/i386/20060125-1.c: New test case. + * gcc.target/i386/20060125-2.c: New test case. + +-2006-01-25 Tobias Schlüter ++2006-01-25 Tobias Schl�ter + + PR fortran/18540 + * gfortran.dg/goto_1.f: New. +Index: gcc/testsuite/g++.old-deja/g++.pt/asm1.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/asm1.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/asm1.C (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } } +-// We'd use ebx with -fpic/-fPIC, so skip. +-// { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } ++// We'd use ebx with 32-bit pic code, so skip. ++// { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } + // Origin: "Weidmann, Nicholas" + + template int foo(int v) +Index: gcc/testsuite/g++.old-deja/g++.pt/asm2.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/asm2.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/asm2.C (.../branches/gcc-4_3-branch) +@@ -1,7 +1,7 @@ + // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } } + // { dg-require-effective-target ilp32 } +-// We'd use ebx with -fpic/-fPIC, so skip. +-// { dg-skip-if "" { *-*-* } { "-fpic" "-fPIC" } { "" } } ++// We'd use ebx with 32-bit pic code, so require nonpic. ++// { dg-require-effective-target nonpic } + // Origin: "Weidmann, Nicholas" + + typedef void (function_ptr)(int); +Index: gcc/testsuite/g++.dg/other/first-global.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/first-global.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/other/first-global.C (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-fpie" { target { ! nonpic } } } */ ++/* { dg-add-options bind_pic_locally } */ + /* { dg-final { scan-assembler "_GLOBAL__I(_|_65535_0_)foobar" } } */ + + struct foo { foo (); }; +Index: gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C (.../branches/gcc-4_3-branch) +@@ -1,6 +1,7 @@ + /* { dg-do compile } */ + /* { dg-options "-O1 -fdump-tree-cfg" } */ +-/* { dg-skip-if "" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ ++/* { dg-add-options bind_pic_locally } */ ++ + double a; + void t() + { +Index: gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,14 @@ ++// Contributed by Dodji Seketeli ++// Origin PR debug/39706 ++// { dg-options "-g -dA" } ++// { dg-do compile } ++// { dg-final { scan-assembler-times ".debug_pubnames" 1 } } ++// { dg-final { scan-assembler-times "\"main\".*external name" 1 } } ++// { dg-final { scan-assembler-times "\"ns::ns_x.*external name" 1 } } ++// { dg-final { scan-assembler-times "\"y::y_x.*external name" 1 } } ++ ++namespace ns { int ns_x; } ++class y { public: static int y_x; }; ++int y::y_x; ++int main() { return ns::ns_x; } ++ +Index: gcc/testsuite/g++.dg/lookup/scoped8.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/lookup/scoped8.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/lookup/scoped8.C (.../branches/gcc-4_3-branch) +@@ -14,3 +14,5 @@ + { + int foo() { return A::i; } // { dg-error "this location" } + }; ++ ++template struct B<0>; +Index: gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + // { dg-do compile } + // { dg-options "-O3 -fwhole-program" } +-// { dg-options "-O3 -fwhole-program -fpie" { target { ! nonpic } } } ++// { dg-add-options bind_pic_locally } + // { dg-final { scan-assembler "foo1" } } + // { dg-final { scan-assembler "foo2" } } + // { dg-final { scan-assembler "foo3" } } +Index: gcc/testsuite/g++.dg/parse/eh-decl.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/parse/eh-decl.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/parse/eh-decl.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,8 @@ ++// PR c++/41876 ++ ++struct A; ++ ++void foo() ++{ ++ try {} catch(int A) {} ++} +Index: gcc/testsuite/g++.dg/abi/thunk5.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/abi/thunk5.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/abi/thunk5.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,13 @@ ++// PR c++/35067 ++// The thunks should be weak even on targets without one-only support. ++// { dg-require-weak "" } ++// { dg-final { scan-assembler "weak.*ZTv" } } ++ ++struct A ++{ ++ virtual ~A() { } ++}; ++ ++struct B: virtual A { }; ++ ++B b; +Index: gcc/testsuite/g++.dg/init/static-init2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/init/static-init2.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/init/static-init2.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,3 @@ ++// PR c++/36912 ++// { dg-options -frounding-math } ++const double c = .1, d = c+1; +Index: gcc/testsuite/g++.dg/torture/type-generic-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/type-generic-1.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/torture/type-generic-1.C (.../branches/gcc-4_3-branch) +@@ -2,7 +2,7 @@ + without any fast-math flags. */ + + /* { dg-do run } */ +-/* { dg-options "-mieee" { target sh*-*-* } } */ ++/* { dg-options "-mieee" { target alpha*-*-* sh*-*-* } } */ + /* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */ + + #include "../../gcc.dg/tg-tests.h" +Index: gcc/testsuite/g++.dg/template/inherit4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/inherit4.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/template/inherit4.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,14 @@ ++// PR c++/21008, DR 515 ++ ++struct A { ++ int foo_; ++}; ++template struct B: public A { }; ++template struct C: B { ++ int foo() { ++ return A::foo_; // #1 ++ } ++}; ++int f(C* p) { ++ return p->foo(); ++} +Index: gcc/testsuite/g++.dg/template/ref4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/ref4.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/template/ref4.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,12 @@ ++// PR c++/41972 ++ ++struct X { ++ static const double x; ++}; ++template ++ class Foo { }; ++template ++struct Y { ++ typedef Foo type; ++}; ++ +Index: gcc/testsuite/g++.dg/template/typedef21.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/typedef21.C (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/g++.dg/template/typedef21.C (.../branches/gcc-4_3-branch) +@@ -0,0 +1,11 @@ ++// PR c++/37037 ++ ++typedef void F(void); ++template struct S ++{ ++ static F f; ++}; ++template class S; ++template void S::f(void) ++{} ++ +Index: gcc/testsuite/lib/target-supports.exp +=================================================================== +--- a/src/gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_3-branch) +@@ -1086,7 +1086,8 @@ + verbose "check_effective_target_vect_cmdline_needed: using cached result" 2 + } else { + set et_vect_cmdline_needed_saved 1 +- if { [istarget ia64-*-*] ++ if { [istarget alpha*-*-*] ++ || [istarget ia64-*-*] + || (([istarget x86_64-*-*] || [istarget i?86-*-*]) + && [check_effective_target_lp64]) + || ([istarget powerpc*-*-*] +@@ -2355,6 +2356,28 @@ + return $flags + } + ++# Add to FLAGS the flags needed to enable functions to bind locally ++# when using pic/PIC passes in the testsuite. ++ ++proc add_options_for_bind_pic_locally { flags } { ++ if {[check_no_compiler_messages using_pic2 assembly { ++ #if __PIC__ != 2 ++ #error FOO ++ #endif ++ }]} { ++ return "$flags -fPIE" ++ } ++ if {[check_no_compiler_messages using_pic1 assembly { ++ #if __PIC__ != 1 ++ #error FOO ++ #endif ++ }]} { ++ return "$flags -fpie" ++ } ++ ++ return $flags ++} ++ + # Return 1 if the target provides a full C99 runtime. + + proc check_effective_target_c99_runtime { } { +Index: gcc/testsuite/gfortran.dg/nearest_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nearest_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nearest_1.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + ! { dg-do run } + ! { dg-options "-O0 -ffloat-store" } ++! { dg-options "-O0 -ffloat-store -mieee" { target alpha*-*-* } } + ! PR fortran/27021 + ! Original code submitted by Dominique d'Humieres + ! Converted to Dejagnu for the testsuite by Steven G. Kargl +Index: gcc/testsuite/gfortran.dg/default_format_denormal_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90 (.../branches/gcc-4_3-branch) +@@ -7,6 +7,8 @@ + ! wide enough and have enough precision, by checking that values can + ! be written and read back. + ! ++! { dg-options "-mieee" { target alpha*-*-* } } ++ + include "default_format_2.inc" + + program main +Index: gcc/testsuite/gfortran.dg/nearest_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nearest_2.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nearest_2.f90 (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + ! { dg-do run } + ! { dg-options "-fno-range-check" } +-! { dg-options "-fno-range-check -mieee" { target sh*-*-* } } ++! { dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34192 + ! +Index: gcc/testsuite/gfortran.dg/namelist_40.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_40.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_40.f90 (.../branches/gcc-4_3-branch) +@@ -47,7 +47,7 @@ + end subroutine writenml + + end program namelist_40 +-! { dg-output "Multiple sub-objects with non-zero rank in namelist object x(\n|\r\n|\r)" } ++! { dg-output "Multiple sub-objects with non-zero rank in namelist object x%m%ch(\n|\r\n|\r)" } + ! { dg-output "Missing colon in substring qualifier for namelist variable x%m%ch(\n|\r\n|\r)" } + ! { dg-output "Substring out of range for namelist variable x%m%ch(\n|\r\n|\r)" } + ! { dg-output "Bad character in substring qualifier for namelist variable x%m%ch(\n|\r\n|\r)" } +Index: gcc/testsuite/gfortran.dg/nearest_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nearest_3.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nearest_3.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! { dg-options "-pedantic-errors -mieee" { target sh*-*-* } } ++! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34209 + ! +Index: gcc/testsuite/gfortran.dg/namelist_42.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_42.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_42.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! { dg-options "-mieee" { target sh*-*-* } } ++! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34427 + ! +Index: gcc/testsuite/gfortran.dg/nan_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nan_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nan_1.f90 (.../branches/gcc-4_3-branch) +@@ -2,7 +2,7 @@ + ! as arguments + ! + ! { dg-do run } +-! { dg-options "-pedantic-errors -mieee" { target sh*-*-* } } ++! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } } + ! + module aux2 + interface isnan +Index: gcc/testsuite/gfortran.dg/namelist_60.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_60.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_60.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,27 @@ ++! { dg-do run } ++! PR42901 Reading array of structures from namelist ++! Test case derived from the reporters test case. ++program test_nml ++type field_descr ++ integer number ++end type ++type fsetup ++ type (field_descr), dimension(3) :: vel ! 3 velocity components ++end type ++type (fsetup) field_setup ++namelist /nl_setup/ field_setup ++field_setup%vel%number = 0 ++! write(*,nml=nl_setup) ++open(10, status="scratch") ++write(10,'(a)') "&nl_setup" ++write(10,'(a)') " field_setup%vel(1)%number= 3," ++write(10,'(a)') " field_setup%vel(2)%number= 9," ++write(10,'(a)') " field_setup%vel(3)%number= 27," ++write(10,'(a)') "/" ++rewind(10) ++read(10,nml=nl_setup) ++if (field_setup%vel(1)%number .ne. 3) call abort ++if (field_setup%vel(2)%number .ne. 9) call abort ++if (field_setup%vel(3)%number .ne. 27) call abort ++! write(*,nml=nl_setup) ++end program test_nml +Index: gcc/testsuite/gfortran.dg/namelist_43.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_43.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_43.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! { dg-options "-mieee" { target sh*-*-* } } ++! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34427 + ! +Index: gcc/testsuite/gfortran.dg/nan_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nan_2.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nan_2.f90 (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + ! { dg-do run } + ! { dg-options "-fno-range-check -pedantic" } +-! { dg-options "-fno-range-check -pedantic -mieee" { target sh*-*-* } } ++! { dg-options "-fno-range-check -pedantic -mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34333 + ! +Index: gcc/testsuite/gfortran.dg/nan_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nan_3.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nan_3.f90 (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + ! { dg-do run } + ! { dg-options "-fno-range-check" } +-! { dg-options "-fno-range-check -mieee" { target sh*-*-* } } ++! { dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34319 + ! +Index: gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90 (.../branches/gcc-4_3-branch) +@@ -1,4 +1,5 @@ + ! { dg-do run } ++! { dg-options "-pedantic -mieee" { target alpha*-*-* } } + ! PR 30981 - this used to go into an endless loop during execution. + program test + a = 3.0 +Index: gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,26 @@ ++! { dg-do run } ++! ++! PR fortran/41515 ++! Contributed by ros@rzg.mpg.de. ++! ++! Before, the "parm' string array was never initialized. ++! ++Module BUG3 ++contains ++ Subroutine SR ++ character(3) :: parm(5) ++ character(20) :: str ++ parameter(parm=(/'xo ','yo ','ag ','xr ','yr '/)) ++ ++ str = 'XXXXXXXXXXXXXXXXXXXX' ++ if(str /='XXXXXXXXXXXXXXXXXXXX') call abort() ++ write(str,*) parm ++ if(str /= ' xo yo ag xr yr') call abort() ++ end subroutine SR ++end Module BUG3 ++! ++program TEST ++ use bug3 ++ call sr ++end program TEST ++! { dg-final { cleanup-modules "bug3" } } +Index: gcc/testsuite/gfortran.dg/init_flag_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + ! { dg-do run } + ! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan" } +-! { dg-options "-mieee -finit-integer=-1 -finit-logical=false -finit-real=nan" { target sh*-*-* } } ++! { dg-options "-mieee -finit-integer=-1 -finit-logical=false -finit-real=nan" { target alpha*-*-* sh*-*-* } } + + program init_flag_3 + call real_test +Index: gcc/testsuite/gfortran.dg/transfer_simplify_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/transfer_simplify_2.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/transfer_simplify_2.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + ! { dg-do run } + ! { dg-options "-O2" } ++! { dg-options "-O2 -mieee" { target alpha*-*-* } } + ! Tests the fix for the meta-bug PR31237 (TRANSFER intrinsic) + ! Exercises gfc_simplify_transfer a random walk through types and shapes + ! and compares its results with the middle-end version that operates on +Index: gcc/testsuite/gfortran.dg/isnan_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/isnan_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/isnan_1.f90 (.../branches/gcc-4_3-branch) +@@ -1,7 +1,7 @@ + ! Test for the ISNAN intrinsic + ! + ! { dg-do run } +-! { dg-options "-pedantic-errors -mieee" { target sh*-*-* } } ++! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } } + ! + implicit none + real :: x +Index: gcc/testsuite/gfortran.dg/nan_4.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/nan_4.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/nan_4.f90 (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + ! { dg-do compile } + ! { dg-options "-std=gnu" } +-! { dg-options "-std=gnu -mieee" { target sh*-*-* } } ++! { dg-options "-std=gnu -mieee" { target alpha*-*-* sh*-*-* } } + ! + ! PR fortran/34398. + ! +Index: gcc/testsuite/gfortran.dg/init_flag_4.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/init_flag_4.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/init_flag_4.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + ! { dg-do run } + ! { dg-options "-finit-real=inf" } ++! { dg-options "-finit-real=inf -mieee" { target alpha*-*-* } } */ + + program init_flag_4 + call real_test +Index: gcc/testsuite/gfortran.dg/derived_init_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/derived_init_3.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/derived_init_3.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,34 @@ ++! { dg-do run } ++! ++! PR fortran/40851 ++! ++! Make sure the an INTENT(OUT) dummy is not initialized ++! when it is a pointer. ++! ++! Contributed by Juergen Reuter . ++! ++program main ++ ++ type :: string ++ character,dimension(:),allocatable :: chars ++ end type string ++ ++ type :: string_container ++ type(string) :: string ++ end type string_container ++ ++ type(string_container), target :: tgt ++ type(string_container), pointer :: ptr ++ ++ ptr => tgt ++ call set_ptr (ptr) ++ if (associated(ptr)) call abort() ++ ++contains ++ ++ subroutine set_ptr (ptr) ++ type(string_container), pointer, intent(out) :: ptr ++ ptr => null () ++ end subroutine set_ptr ++ ++end program main +Index: gcc/testsuite/gfortran.dg/default_format_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/default_format_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/default_format_1.f90 (.../branches/gcc-4_3-branch) +@@ -1,4 +1,5 @@ + ! { dg-do run } ++! { dg-options "-mieee" { target alpha*-*-* } } + ! Test XFAILed on Darwin because the system's printf() lacks + ! proper support for denormals. + ! +Index: gcc/testsuite/gfortran.dg/init_flag_5.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/init_flag_5.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/init_flag_5.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + ! { dg-do run } + ! { dg-options "-finit-real=-inf" } ++! { dg-options "-finit-real=-inf -mieee" { target alpha*-*-* } } */ + + program init_flag_5 + call real_test +Index: gcc/testsuite/gfortran.dg/namelist_47.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_47.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_47.f90 (.../branches/gcc-4_3-branch) +@@ -45,7 +45,7 @@ + end subroutine writenml + + end program namelist_47 +-! { dg-output "Multiple sub-objects with non-zero rank in namelist object x(\n|\r\n|\r)" } ++! { dg-output "Multiple sub-objects with non-zero rank in namelist object x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" } + ! { dg-output "Missing colon in substring qualifier for namelist variable x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" } + ! { dg-output "Substring out of range for namelist variable x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" } + ! { dg-output "Bad character in substring qualifier for namelist variable x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" } +Index: gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + ! { dg-do run } + ! { dg-options "-fno-range-check" } ++! { dg-options "-fno-range-check -mieee" { target alpha*-*-* } } */ + module mod_check + implicit none + +Index: gcc/testsuite/gfortran.dg/namelist_59.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_59.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_59.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,26 @@ ++! { dg-do run } ++! PR41192 NAMELIST input with just a comment ("&NAME ! comment \") error ++program cmdline ++! comment by itself causes error in gfortran ++ call process(' ') ++ call process('i=10 , j=20 k=30 ! change all three values') ++ call process(' ') ++ call process('! change no values')! before patch this failed. ++end program cmdline ++ ++subroutine process(string) ++ implicit none ++ character(len=*) :: string ++ character(len=132) :: lines(3) ++ character(len=255) :: message ++ integer :: i=1,j=2,k=3 ++ integer ios ++ namelist /cmd/ i,j,k ++ save cmd ++ lines(1)='&cmd' ++ lines(2)=string ++ lines(3)='/' ++ ++ read(lines,nml=cmd,iostat=ios,iomsg=message) ++ if (ios.ne.0) call abort ++end subroutine process +Index: gcc/testsuite/gfortran.dg/intent_out_5.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/intent_out_5.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/intent_out_5.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,27 @@ ++! { dg-do run} ++! ++! PR fortran/41479 ++! ++! Contributed by Juergen Reuter. ++! ++program main ++ type :: container_t ++ integer :: n = 42 ++ ! if the following line is omitted, the problem disappears ++ integer, dimension(:), allocatable :: a ++ end type container_t ++ ++ type(container_t) :: container ++ ++ if (container%n /= 42) call abort() ++ if (allocated(container%a)) call abort() ++ container%n = 1 ++ allocate(container%a(50)) ++ call init (container) ++ if (container%n /= 42) call abort() ++ if (allocated(container%a)) call abort() ++contains ++ subroutine init (container) ++ type(container_t), intent(out) :: container ++ end subroutine init ++end program main +Index: gcc/testsuite/gfortran.dg/transfer_resolve_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/transfer_resolve_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/transfer_resolve_1.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,21 @@ ++! { dg-do run } ++! PR40847 - an error in gfc_resolve_transfer caused the character length ++! of 'mold' to be set incorrectly. ++! ++! Contributed by Joost VandeVondele ++! ++program test_elemental ++ ++if (any (transfer_size((/0.,0./),(/'a','b'/)) .ne. [4 ,4])) call abort ++ ++contains ++ ++ elemental function transfer_size (source, mold) ++ real, intent(in) :: source ++ character(*), intent(in) :: mold ++ integer :: transfer_size ++ transfer_size = SIZE(TRANSFER(source, (/mold/))) ++ return ++ end function transfer_size ++ ++end program test_elemental +Index: gcc/testsuite/gfortran.dg/boz_9.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/boz_9.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/boz_9.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,6 @@ + ! { dg-do run } + ! { dg-options "-fno-range-check" } ++! { dg-options "-fno-range-check -mieee" { target alpha*-*-* } } + ! + ! PR fortran/34342 + ! +Index: gcc/testsuite/gfortran.dg/real_const_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/real_const_3.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/real_const_3.f90 (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + !{ dg-do run } + !{ dg-options "-fno-range-check" } +-!{ dg-options "-fno-range-check -mieee" { target sh*-*-* } } ++!{ dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } } + ! PR19310 and PR19904, allow disabling range check during compile. + ! Contributed by Jerry DeLisle + program main +Index: gcc/testsuite/gfortran.dg/list_read_10.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/list_read_10.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/list_read_10.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,14 @@ ++! { dg-do run } ++! PR 42422 - read with a repeat specifyer following a separator ++program main ++ integer, dimension(10) :: i1, i2 ++ ++ i1 = 0 ++ i2 = (/ 1, 2, 3, 5, 5, 5, 5, 0, 0, 0 /) ++ open (10,file="pr42422.dat") ++ write (10,'(A)') ' 1 2 3 4*5 /' ++ rewind 10 ++ read (10,*) i1 ++ if (any(i1 /= i2)) call abort ++ close (10,status="delete") ++end program main +Index: gcc/testsuite/gfortran.dg/boz_12.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/boz_12.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/boz_12.f90 (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +- ++! { dg-options "-mieee" { target alpha*-*-* } } + ! PR fortran/36214 + ! For BOZ-initialization of floats, the precision used to be wrong sometimes. + +Index: gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../branches/gcc-4_3-branch) +@@ -6,6 +6,8 @@ + ! wide enough and have enough precision, by checking that values can + ! be written and read back. + ! ++! { dg-options "-mieee" { target alpha*-*-* } } ++ + include "default_format_1.inc" + + program main +Index: gcc/testsuite/gfortran.dg/direct_io_11.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/direct_io_11.f90 (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/testsuite/gfortran.dg/direct_io_11.f90 (.../branches/gcc-4_3-branch) +@@ -0,0 +1,55 @@ ++! { dg-do run } ++! PR42090 Problems reading partial records in formatted direct access files ++! Test case from PR, prepared by Jerry DeLisle ++program da_good_now ++ implicit none ++ real :: a, b ++ ++ a = 1.111111111 ++ b = 2.222222222 ++ ++ open( 10, file = 't.dat', form = 'formatted', access = 'direct', recl = 12 ) ++ write( 10, rec = 1, fmt = '( f6.4, /, f6.4 )' ) a, b ++ close( 10 ) ++ ++ a = -1.0 ++ b = -1.0 ++ ++ open( 10, file = 't.dat', form = 'formatted', access = 'direct', recl = 12 ) ++ ++ read( 10, rec = 1, fmt = '( f6.4, /, f6.4 )' ) a, b ++ !write( *, '( "partial record 1", t25, 2( f6.4, 1x ) )' ) a, b ++ a = -1.0 ++ b = -1.0 ++ ++ read( 10, rec = 1, fmt = '( f6.4 )' ) a, b ++ !write( *, '( "partial record 2", t25, 2( f6.4, 1x ) )' ) a, b ++ if (a /= 1.1111 .and. b /= 2.2222) call abort() ++ a = -1.0 ++ b = -1.0 ++ ++ read( 10, rec = 1, fmt = '( f12.4, /, f12.4 )' ) a, b ++ !write( *, '( "full record 1", t25, 2( f6.4, 1x ) )' ) a, b ++ if (a /= 1.1111 .and. b /= 2.2222) call abort() ++ a = -1.0 ++ b = -1.0 ++ ++ read( 10, rec = 1, fmt = '( f12.4 )' ) a, b ++ !write( *, '( "full record 2", t25, 2( f6.4, 1x ) )' ) a, b ++ if (a /= 1.1111 .and. b /= 2.2222) call abort() ++ a = -1.0 ++ b = -1.0 ++ ++ read( 10, rec = 1, fmt = '( f6.4, 6x, /, f6.4, 6x )' ) a, b ++ !write( *, '( "full record with 6x", t25, 2( f6.4, 1x ) )' ) a, b ++ if (a /= 1.1111 .and. b /= 2.2222) call abort() ++ a = -1.0 ++ b = -1.0 ++ ++ read( 10, rec = 1, fmt = '( f6.4 )' ) a ++ read( 10, rec = 2, fmt = '( f6.4 )' ) b ++ !write( *, '( "record at a time", t25, 2( f6.4, 1x ) )' ) a, b ++ if (a /= 1.1111 .and. b /= 2.2222) call abort() ++ ++ close( 10, status="delete") ++end program da_good_now +Index: gcc/cp/decl.c +=================================================================== +--- a/src/gcc/cp/decl.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/cp/decl.c (.../branches/gcc-4_3-branch) +@@ -8635,7 +8635,9 @@ + tree decls = NULL_TREE; + tree args; + +- for (args = TYPE_ARG_TYPES (type); args; args = TREE_CHAIN (args)) ++ for (args = TYPE_ARG_TYPES (type); ++ args && args != void_list_node; ++ args = TREE_CHAIN (args)) + { + tree decl = cp_build_parm_decl (NULL_TREE, TREE_VALUE (args)); + +Index: gcc/cp/method.c +=================================================================== +--- a/src/gcc/cp/method.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/cp/method.c (.../branches/gcc-4_3-branch) +@@ -381,7 +381,7 @@ + DECL_VISIBILITY (thunk_fndecl) = DECL_VISIBILITY (function); + DECL_VISIBILITY_SPECIFIED (thunk_fndecl) + = DECL_VISIBILITY_SPECIFIED (function); +- if (DECL_ONE_ONLY (function)) ++ if (DECL_ONE_ONLY (function) || DECL_WEAK (function)) + make_decl_one_only (thunk_fndecl); + + if (flag_syntax_only) +Index: gcc/cp/error.c +=================================================================== +--- a/src/gcc/cp/error.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/cp/error.c (.../branches/gcc-4_3-branch) +@@ -2195,7 +2195,10 @@ + return decl_as_string (decl, TFF_DECL_SPECIFIERS); + + reinit_cxx_pp (); +- if (v == 1 && DECL_CLASS_SCOPE_P (decl)) ++ if (v == 1 ++ && (DECL_CLASS_SCOPE_P (decl) ++ || (DECL_NAMESPACE_SCOPE_P (decl) ++ && CP_DECL_CONTEXT (decl) != global_namespace))) + { + dump_type (CP_DECL_CONTEXT (decl), TFF_PLAIN_IDENTIFIER); + pp_cxx_colon_colon (cxx_pp); +Index: gcc/cp/ChangeLog +=================================================================== +--- a/src/gcc/cp/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/cp/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,51 @@ ++2009-11-13 Jason Merrill ++ ++ PR c++/21008, DR 515 ++ * semantics.c (finish_non_static_data_member): Don't check ++ derivation in a template. ++ ++2009-11-12 Jason Merrill ++ ++ PR c++/37037 ++ * decl.c (grokdeclarator): Don't generate a void PARM_DECL. ++ ++2009-11-09 Jason Merrill ++ ++ PR c++/41972 ++ * parser.c (cp_parser_template_argument): Accept SCOPE_REF around ++ VAR_DECL. ++ ++2009-11-04 Jason Merrill ++ ++ PR c++/35067 ++ * method.c (use_thunk): Check DECL_WEAK as well as ++ DECL_ONE_ONLY. ++ ++2009-11-04 Dodji Seketeli ++ ++ Revert fix for PR c++/37093 ++ * pt.c (check_valid_ptrmem_cst_expr): Revert my previous change. ++ (convert_nontype_argument): Likewise. ++ ++2009-11-03 Jason Merrill ++ ++ PR c++/41876 ++ * parser.c (cp_parser_exception_declaration): Pass true to ++ is_condition parm of cp_parser_type_specifier_seq. ++ ++2009-11-03 Dodji Seketeli ++ ++ PR c++/37093 ++ * pt.c (check_valid_ptrmem_cst_expr): New function. ++ (convert_nontype_argument): Use it to output an error for ++ illegal pointer to member expressions used as template arguments. ++ ++2009-08-04 Dodji Seketeli ++ ++ PR debug/39706 ++ * error.c (lang_decl_name): Print qualified names for decls ++ in namespace scope. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: gcc/cp/semantics.c +=================================================================== +--- a/src/gcc/cp/semantics.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/cp/semantics.c (.../branches/gcc-4_3-branch) +@@ -1449,6 +1449,14 @@ + + return build_min (COMPONENT_REF, type, object, decl, NULL_TREE); + } ++ /* If PROCESSING_TEMPLATE_DECL is nonzero here, then ++ QUALIFYING_SCOPE is also non-null. Wrap this in a SCOPE_REF ++ for now. */ ++ else if (processing_template_decl) ++ return build_qualified_name (TREE_TYPE (decl), ++ qualifying_scope, ++ DECL_NAME (decl), ++ /*template_p=*/false); + else + { + tree access_type = TREE_TYPE (object); +@@ -1468,15 +1476,6 @@ + } + } + +- /* If PROCESSING_TEMPLATE_DECL is nonzero here, then +- QUALIFYING_SCOPE is also non-null. Wrap this in a SCOPE_REF +- for now. */ +- if (processing_template_decl) +- return build_qualified_name (TREE_TYPE (decl), +- qualifying_scope, +- DECL_NAME (decl), +- /*template_p=*/false); +- + perform_or_defer_access_check (TYPE_BINFO (access_type), decl, + decl); + +Index: gcc/cp/parser.c +=================================================================== +--- a/src/gcc/cp/parser.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/cp/parser.c (.../branches/gcc-4_3-branch) +@@ -10296,18 +10296,26 @@ + cp_parser_abort_tentative_parse (parser); + else + { ++ tree probe; ++ + if (TREE_CODE (argument) == INDIRECT_REF) + { + gcc_assert (REFERENCE_REF_P (argument)); + argument = TREE_OPERAND (argument, 0); + } + +- if (TREE_CODE (argument) == VAR_DECL) ++ /* If we're in a template, we represent a qualified-id referring ++ to a static data member as a SCOPE_REF even if the scope isn't ++ dependent so that we can check access control later. */ ++ probe = argument; ++ if (TREE_CODE (probe) == SCOPE_REF) ++ probe = TREE_OPERAND (probe, 1); ++ if (TREE_CODE (probe) == VAR_DECL) + { + /* A variable without external linkage might still be a + valid constant-expression, so no error is issued here + if the external-linkage check fails. */ +- if (!address_p && !DECL_EXTERNAL_LINKAGE_P (argument)) ++ if (!address_p && !DECL_EXTERNAL_LINKAGE_P (probe)) + cp_parser_simulate_error (parser); + } + else if (is_overloaded_fn (argument)) +@@ -15741,7 +15749,7 @@ + = "types may not be defined in exception-declarations"; + + /* Parse the type-specifier-seq. */ +- cp_parser_type_specifier_seq (parser, /*is_condition=*/false, ++ cp_parser_type_specifier_seq (parser, /*is_declaration=*/true, + &type_specifiers); + /* If it's a `)', then there is no declarator. */ + if (cp_lexer_next_token_is (parser->lexer, CPP_CLOSE_PAREN)) +Index: gcc/global.c +=================================================================== +--- a/src/gcc/global.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/global.c (.../branches/gcc-4_3-branch) +@@ -458,15 +458,23 @@ + num_bytes = CEIL (num_bits, 8); + fprintf (dump_file, "## Standard triangular bitmatrix size: "); + fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bits, ", num_bits); +- fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes [%.2f%%]\n", +- num_bytes, 100.0 * ((double) actual_bytes / (double) num_bytes)); ++ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes ", num_bytes); ++ if (num_bytes > 0) ++ fprintf (dump_file, "[%.2f%%]\n", ++ 100.0 * ((double) actual_bytes / (double) num_bytes)); ++ else ++ fprintf (dump_file, "[--%%]\n"); + + num_bits = (HOST_WIDE_INT) max_allocno * (HOST_WIDE_INT) max_allocno; + num_bytes = CEIL (num_bits, 8); + fprintf (dump_file, "## Square bitmatrix size: "); + fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bits, ", num_bits); +- fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes [%.2f%%]\n", +- num_bytes, 100.0 * ((double) actual_bytes / (double) num_bytes)); ++ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes ", num_bytes); ++ if (num_bytes > 0) ++ fprintf (dump_file, "[%.2f%%]\n", ++ 100.0 * ((double) actual_bytes / (double) num_bytes)); ++ else ++ fprintf (dump_file, "[--%%]\n"); + } + + /* Calculate amount of usage of each hard reg by pseudos +Index: gcc/ifcvt.c +=================================================================== +--- a/src/gcc/ifcvt.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/ifcvt.c (.../branches/gcc-4_3-branch) +@@ -4014,7 +4014,8 @@ + if (! note) + continue; + set = single_set (insn); +- if (!set || !function_invariant_p (SET_SRC (set))) ++ if (!set || !function_invariant_p (SET_SRC (set)) ++ || !function_invariant_p (XEXP (note, 0))) + remove_note (insn, note); + } while (insn != end && (insn = NEXT_INSN (insn))); + +@@ -4092,7 +4093,12 @@ + + #ifdef IFCVT_MULTIPLE_DUMPS + if (dump_file && cond_exec_changed_p) +- print_rtl_with_bb (dump_file, get_insns ()); ++ { ++ if (dump_flags & TDF_SLIM) ++ print_rtl_slim_with_bb (dump_file, get_insns (), dump_flags); ++ else ++ print_rtl_with_bb (dump_file, get_insns ()); ++ } + #endif + } + while (cond_exec_changed_p); +Index: gcc/libgcc2.c +=================================================================== +--- a/src/gcc/libgcc2.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/libgcc2.c (.../branches/gcc-4_3-branch) +@@ -1830,6 +1830,7 @@ + CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d) + { + MTYPE ac, bd, ad, bc, x, y; ++ CTYPE res; + + ac = a * c; + bd = b * d; +@@ -1886,7 +1887,9 @@ + } + } + +- return x + I * y; ++ __real__ res = x; ++ __imag__ res = y; ++ return res; + } + #endif /* complex multiply */ + +@@ -1897,6 +1900,7 @@ + CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d) + { + MTYPE denom, ratio, x, y; ++ CTYPE res; + + /* ??? We can get better behavior from logarithmic scaling instead of + the division. But that would mean starting to link libgcc against +@@ -1942,7 +1946,9 @@ + } + } + +- return x + I * y; ++ __real__ res = x; ++ __imag__ res = y; ++ return res; + } + #endif /* complex divide */ + +Index: gcc/dse.c +=================================================================== +--- a/src/gcc/dse.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/dse.c (.../branches/gcc-4_3-branch) +@@ -964,9 +964,6 @@ + { + switch (GET_CODE (x)) + { +- case MEM: +- return MEM_READONLY_P (x); +- + case CONST: + case CONST_INT: + case CONST_DOUBLE: +Index: gcc/fortran/decl.c +=================================================================== +--- a/src/gcc/fortran/decl.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/fortran/decl.c (.../branches/gcc-4_3-branch) +@@ -5759,6 +5759,7 @@ + gfc_symbol *sym; + gfc_expr *init; + match m; ++ try t; + + m = gfc_match_symbol (&sym, 0); + if (m == MATCH_NO) +@@ -5800,19 +5801,9 @@ + goto cleanup; + } + +- if (sym->ts.type == BT_CHARACTER +- && sym->ts.cl != NULL +- && sym->ts.cl->length != NULL +- && sym->ts.cl->length->expr_type == EXPR_CONSTANT +- && init->expr_type == EXPR_CONSTANT +- && init->ts.type == BT_CHARACTER +- && init->ts.kind == 1) +- gfc_set_constant_character_len ( +- mpz_get_si (sym->ts.cl->length->value.integer), init, false); ++ t = add_init_expr_to_sym (sym->name, &init, &gfc_current_locus); ++ return (t == SUCCESS) ? MATCH_YES : MATCH_ERROR; + +- sym->value = init; +- return MATCH_YES; +- + cleanup: + gfc_free_expr (init); + return m; +Index: gcc/fortran/ChangeLog +=================================================================== +--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,28 @@ ++2009-10-05 Tobias Burnus ++ ++ PR fortran/41479 ++ * trans-decl.c (init_intent_out_dt): Call gfc_init_default_dt ++ for all derived types with initializers. ++ ++2009-10-01 Tobias Burnus ++ ++ PR fortran/41515 ++ * decl.c (do_parm): Call add_init_expr_to_sym. ++ ++2009-08-16 Paul Thomas ++ ++ PR fortran/40847 ++ * iresolve.c (gfc_resolve_transfer): Correct error in 'mold' ++ character length for case where length expresson is NULL. ++ ++2009-08-16 Tobias Burnus ++ ++ PR fortran/40851 ++ * resolve.c (resolve_symbol): Do not initialize pointer ++ * derived-types. ++ * trans-decl.c (init_intent_out_dt): Ditto. ++ (generate_local_decl): No need to set attr.referenced for DT pointers. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: gcc/fortran/resolve.c +=================================================================== +--- a/src/gcc/fortran/resolve.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/fortran/resolve.c (.../branches/gcc-4_3-branch) +@@ -8268,7 +8268,7 @@ + if ((!a->save && !a->dummy && !a->pointer + && !a->in_common && !a->use_assoc + && !(a->function && sym != sym->result)) +- || (a->dummy && a->intent == INTENT_OUT)) ++ || (a->dummy && a->intent == INTENT_OUT && !a->pointer)) + apply_default_init (sym); + } + } +Index: gcc/fortran/iresolve.c +=================================================================== +--- a/src/gcc/fortran/iresolve.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/fortran/iresolve.c (.../branches/gcc-4_3-branch) +@@ -2317,9 +2317,19 @@ + /* TODO: Make this do something meaningful. */ + static char transfer0[] = "__transfer0", transfer1[] = "__transfer1"; + +- if (mold->ts.type == BT_CHARACTER && !mold->ts.cl->length +- && !(mold->expr_type == EXPR_VARIABLE && mold->symtree->n.sym->attr.dummy)) +- mold->ts.cl->length = gfc_int_expr (mold->value.character.length); ++ if (mold->ts.type == BT_CHARACTER ++ && !mold->ts.cl->length ++ && gfc_is_constant_expr (mold)) ++ { ++ int len; ++ if (mold->expr_type == EXPR_CONSTANT) ++ mold->ts.cl->length = gfc_int_expr (mold->value.character.length); ++ else ++ { ++ len = mold->value.constructor->expr->value.character.length; ++ mold->ts.cl->length = gfc_int_expr (len); ++ } ++ } + + f->ts = mold->ts; + +Index: gcc/fortran/trans-decl.c +=================================================================== +--- a/src/gcc/fortran/trans-decl.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/fortran/trans-decl.c (.../branches/gcc-4_3-branch) +@@ -2604,9 +2604,10 @@ + gfc_init_block (&fnblock); + for (f = proc_sym->formal; f; f = f->next) + if (f->sym && f->sym->attr.intent == INTENT_OUT +- && f->sym->ts.type == BT_DERIVED) ++ && !f->sym->attr.pointer ++ && f->sym->ts.type == BT_DERIVED) + { +- if (f->sym->ts.derived->attr.alloc_comp) ++ if (f->sym->ts.derived->attr.alloc_comp && !f->sym->value) + { + tmp = gfc_deallocate_alloc_comp (f->sym->ts.derived, + f->sym->backend_decl, +@@ -2618,9 +2619,7 @@ + + gfc_add_expr_to_block (&fnblock, tmp); + } +- +- if (!f->sym->ts.derived->attr.alloc_comp +- && f->sym->value) ++ else if (f->sym->value) + body = gfc_init_default_dt (f->sym, body); + } + +@@ -3025,6 +3024,7 @@ + automatic lengths. */ + if (sym->attr.dummy && !sym->attr.referenced + && sym->ts.type == BT_DERIVED ++ && !sym->attr.pointer + && sym->ts.derived->attr.alloc_comp + && sym->attr.intent == INTENT_OUT) + { +Index: gcc/stor-layout.c +=================================================================== +--- a/src/gcc/stor-layout.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/stor-layout.c (.../branches/gcc-4_3-branch) +@@ -1117,11 +1117,12 @@ + until we see a bitfield (and come by here again) we just skip + calculating it. */ + if (DECL_SIZE (field) != NULL +- && host_integerp (TYPE_SIZE (TREE_TYPE (field)), 0) +- && host_integerp (DECL_SIZE (field), 0)) ++ && host_integerp (TYPE_SIZE (TREE_TYPE (field)), 1) ++ && host_integerp (DECL_SIZE (field), 1)) + { +- HOST_WIDE_INT bitsize = tree_low_cst (DECL_SIZE (field), 1); +- HOST_WIDE_INT typesize ++ unsigned HOST_WIDE_INT bitsize ++ = tree_low_cst (DECL_SIZE (field), 1); ++ unsigned HOST_WIDE_INT typesize + = tree_low_cst (TYPE_SIZE (TREE_TYPE (field)), 1); + + if (typesize < bitsize) +Index: gcc/alias.c +=================================================================== +--- a/src/gcc/alias.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/alias.c (.../branches/gcc-4_3-branch) +@@ -1881,6 +1881,9 @@ + { + const_tree fieldx, fieldy, typex, typey, orig_y; + ++ if (!flag_strict_aliasing) ++ return false; ++ + do + { + /* The comparison has to be done at a common type, since we don't +Index: gcc/c-typeck.c +=================================================================== +--- a/src/gcc/c-typeck.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/c-typeck.c (.../branches/gcc-4_3-branch) +@@ -8425,6 +8425,7 @@ + unsigned_arg = TYPE_UNSIGNED (TREE_TYPE (op0)); + + if (TYPE_PRECISION (TREE_TYPE (arg0)) < TYPE_PRECISION (result_type) ++ && tree_int_cst_sgn (op1) > 0 + /* We can shorten only if the shift count is less than the + number of bits in the smaller type size. */ + && compare_tree_int (op1, TYPE_PRECISION (TREE_TYPE (arg0))) < 0 +Index: gcc/gimplify.c +=================================================================== +--- a/src/gcc/gimplify.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/gimplify.c (.../branches/gcc-4_3-branch) +@@ -3314,6 +3314,21 @@ + } + } + ++ /* If the target is volatile and we have non-zero elements ++ initialize the target from a temporary. */ ++ if (TREE_THIS_VOLATILE (object) ++ && !TREE_ADDRESSABLE (type) ++ && num_nonzero_elements > 0) ++ { ++ tree temp = create_tmp_var (TYPE_MAIN_VARIANT (type), NULL); ++ TREE_OPERAND (*expr_p, 0) = temp; ++ *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p), ++ *expr_p, ++ build2 (MODIFY_EXPR, void_type_node, ++ object, temp)); ++ return GS_OK; ++ } ++ + if (notify_temp_creation) + return GS_OK; + +@@ -3551,11 +3566,14 @@ + switch (TREE_CODE (*from_p)) + { + case VAR_DECL: +- /* If we're assigning from a constant constructor, move the +- constructor expression to the RHS of the MODIFY_EXPR. */ ++ /* If we're assigning from a read-only variable initialized with ++ a constructor, do the direct assignment from the constructor, ++ but only if neither source nor target are volatile since this ++ latter assignment might end up being done on a per-field basis. */ + if (DECL_INITIAL (*from_p) + && TREE_READONLY (*from_p) + && !TREE_THIS_VOLATILE (*from_p) ++ && !TREE_THIS_VOLATILE (*to_p) + && TREE_CODE (DECL_INITIAL (*from_p)) == CONSTRUCTOR) + { + tree old_from = *from_p; +Index: gcc/expmed.c +=================================================================== +--- a/src/gcc/expmed.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/expmed.c (.../branches/gcc-4_3-branch) +@@ -4136,7 +4136,8 @@ + else if (d == -1) + quotient = expand_unop (compute_mode, neg_optab, op0, + tquotient, 0); +- else if (abs_d == (unsigned HOST_WIDE_INT) 1 << (size - 1)) ++ else if (HOST_BITS_PER_WIDE_INT >= size ++ && abs_d == (unsigned HOST_WIDE_INT) 1 << (size - 1)) + { + /* This case is not handled correctly below. */ + quotient = emit_store_flag (tquotient, EQ, op0, op1, +Index: gcc/loop-invariant.c +=================================================================== +--- a/src/gcc/loop-invariant.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/loop-invariant.c (.../branches/gcc-4_3-branch) +@@ -1203,14 +1203,16 @@ + emit_insn_after (gen_move_insn (dest, reg), inv->insn); + reorder_insns (inv->insn, inv->insn, BB_END (preheader)); + +- /* If there is a REG_EQUAL note on the insn we just moved, and +- insn is in a basic block that is not always executed, the note +- may no longer be valid after we move the insn. +- Note that uses in REG_EQUAL notes are taken into account in +- the computation of invariants. Hence it is safe to retain the +- note even if the note contains register references. */ +- if (! inv->always_executed +- && (note = find_reg_note (inv->insn, REG_EQUAL, NULL_RTX))) ++ /* If there is a REG_EQUAL note on the insn we just moved, and the ++ insn is in a basic block that is not always executed or the note ++ contains something for which we don't know the invariant status, ++ the note may no longer be valid after we move the insn. Note that ++ uses in REG_EQUAL notes are taken into account in the computation ++ of invariants, so it is safe to retain the note even if it contains ++ register references for which we know the invariant status. */ ++ if ((note = find_reg_note (inv->insn, REG_EQUAL, NULL_RTX)) ++ && (!inv->always_executed ++ || !check_maybe_invariant (XEXP (note, 0)))) + remove_note (inv->insn, note); + } + else +Index: gcc/varasm.c +=================================================================== +--- a/src/gcc/varasm.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/varasm.c (.../branches/gcc-4_3-branch) +@@ -4232,6 +4232,10 @@ + + case POINTER_PLUS_EXPR: + case PLUS_EXPR: ++ /* Any valid floating-point constants will have been folded by now; ++ with -frounding-math we hit this with addition of two constants. */ ++ if (TREE_CODE (endtype) == REAL_TYPE) ++ return NULL_TREE; + if (! INTEGRAL_TYPE_P (endtype) + || TYPE_PRECISION (endtype) >= POINTER_SIZE) + { +@@ -4256,6 +4260,8 @@ + break; + + case MINUS_EXPR: ++ if (TREE_CODE (endtype) == REAL_TYPE) ++ return NULL_TREE; + if (! INTEGRAL_TYPE_P (endtype) + || TYPE_PRECISION (endtype) >= POINTER_SIZE) + { +@@ -4417,8 +4423,8 @@ + case REAL_TYPE: + if (TREE_CODE (exp) != REAL_CST) + error ("initializer for floating value is not a floating constant"); +- +- assemble_real (TREE_REAL_CST (exp), TYPE_MODE (TREE_TYPE (exp)), align); ++ else ++ assemble_real (TREE_REAL_CST (exp), TYPE_MODE (TREE_TYPE (exp)), align); + break; + + case COMPLEX_TYPE: +Index: gcc/config.gcc +=================================================================== +--- a/src/gcc/config.gcc (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config.gcc (.../branches/gcc-4_3-branch) +@@ -1165,14 +1165,14 @@ + # FIXME: -m64 for i[34567]86-*-* should be allowed just + # like -m32 for x86_64-*-*. + case X"${with_cpu}" in +- Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx) ++ Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) + ;; + X) + with_cpu=generic + ;; + *) + echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 +- echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2 ++ echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 + exit 1 + ;; + esac +@@ -1297,14 +1297,14 @@ + # FIXME: -m64 for i[34567]86-*-* should be allowed just + # like -m32 for x86_64-*-*. + case X"${with_cpu}" in +- Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx) ++ Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) + ;; + X) + with_cpu=generic + ;; + *) + echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 +- echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2 ++ echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 + exit 1 + ;; + esac +@@ -2342,7 +2342,7 @@ + use_fixproto=yes + ;; + sparc-*-linux*) # SPARC's running GNU/Linux, libc6 +- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h" ++ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h sparc/linux.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm" + ;; +@@ -2476,7 +2476,7 @@ + need_64bit_hwint=yes + ;; + sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux +- tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h" ++ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h sparc/linux64.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" + ;; +@@ -2708,7 +2708,10 @@ + amdfam10-*|barcelona-*) + with_cpu=amdfam10 + ;; +- k8-*|opteron-*|athlon_64-*) ++ k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) ++ with_cpu=k8-sse3 ++ ;; ++ k8-*|opteron-*|athlon64-*|athlon_fx-*) + with_cpu=k8 + ;; + athlon_xp-*|athlon_mp-*|athlon_4-*) +@@ -2754,7 +2757,10 @@ + amdfam10-*|barcelona-*) + with_cpu=amdfam10 + ;; +- k8-*|opteron-*|athlon_64-*) ++ k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) ++ with_cpu=k8-sse3 ++ ;; ++ k8-*|opteron-*|athlon64-*|athlon_fx-*) + with_cpu=k8 + ;; + nocona-*) +@@ -3036,7 +3042,7 @@ + esac + # OK + ;; +- "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic) ++ "" | amdfam10 | barcelona | k8-sse3 | opteron-sse3 | athlon64-sse3 | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic) + # OK + ;; + *) +Index: gcc/tree-ssa-structalias.c +=================================================================== +--- a/src/gcc/tree-ssa-structalias.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/tree-ssa-structalias.c (.../branches/gcc-4_3-branch) +@@ -2657,7 +2657,7 @@ + get_constraint_for_ptr_offset (tree ptr, tree offset, + VEC (ce_s, heap) **results) + { +- struct constraint_expr *c; ++ struct constraint_expr c; + unsigned int j, n; + unsigned HOST_WIDE_INT rhsunitoffset, rhsoffset; + +@@ -2708,13 +2708,13 @@ + for (j = 0; j < n; j++) + { + varinfo_t curr; +- c = VEC_index (ce_s, *results, j); +- curr = get_varinfo (c->var); ++ c = *VEC_index (ce_s, *results, j); ++ curr = get_varinfo (c.var); + +- if (c->type == ADDRESSOF ++ if (c.type == ADDRESSOF + && !curr->is_full_var) + { +- varinfo_t temp, curr = get_varinfo (c->var); ++ varinfo_t temp, curr = get_varinfo (c.var); + + /* Search the sub-field which overlaps with the + pointed-to offset. As we deal with positive offsets +@@ -2750,15 +2750,17 @@ + c2.offset = 0; + VEC_safe_push (ce_s, heap, *results, &c2); + } +- c->var = temp->id; +- c->offset = 0; ++ c.var = temp->id; ++ c.offset = 0; + } +- else if (c->type == ADDRESSOF ++ else if (c.type == ADDRESSOF + /* If this varinfo represents a full variable just use it. */ + && curr->is_full_var) +- c->offset = 0; ++ c.offset = 0; + else +- c->offset = rhsoffset; ++ c.offset = rhsoffset; ++ ++ VEC_replace (ce_s, *results, j, &c); + } + } + +Index: gcc/config/alpha/predicates.md +=================================================================== +--- a/src/gcc/config/alpha/predicates.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/alpha/predicates.md (.../branches/gcc-4_3-branch) +@@ -439,9 +439,11 @@ + (match_code "mem")) + { + rtx base; ++ int offset; + + if (MEM_ALIGN (op) >= 32) + return 1; ++ + op = XEXP (op, 0); + + /* LEGITIMIZE_RELOAD_ADDRESS creates (plus (plus reg const_hi) const_lo) +@@ -449,14 +451,29 @@ + if (reload_in_progress + && GET_CODE (op) == PLUS + && GET_CODE (XEXP (op, 0)) == PLUS) +- base = XEXP (XEXP (op, 0), 0); ++ { ++ base = XEXP (XEXP (op, 0), 0); ++ offset = INTVAL (XEXP (op, 1)); ++ } + else + { + if (! memory_address_p (mode, op)) + return 0; +- base = (GET_CODE (op) == PLUS ? XEXP (op, 0) : op); ++ if (GET_CODE (op) == PLUS) ++ { ++ base = XEXP (op, 0); ++ offset = INTVAL (XEXP (op, 1)); ++ } ++ else ++ { ++ base = op; ++ offset = 0; ++ } + } + ++ if (offset % GET_MODE_SIZE (mode)) ++ return 0; ++ + return (GET_CODE (base) == REG && REGNO_POINTER_ALIGN (REGNO (base)) >= 32); + }) + +@@ -467,9 +484,11 @@ + (match_code "mem")) + { + rtx base; ++ int offset; + + if (MEM_ALIGN (op) >= 32) + return 0; ++ + op = XEXP (op, 0); + + /* LEGITIMIZE_RELOAD_ADDRESS creates (plus (plus reg const_hi) const_lo) +@@ -477,14 +496,29 @@ + if (reload_in_progress + && GET_CODE (op) == PLUS + && GET_CODE (XEXP (op, 0)) == PLUS) +- base = XEXP (XEXP (op, 0), 0); ++ { ++ base = XEXP (XEXP (op, 0), 0); ++ offset = INTVAL (XEXP (op, 1)); ++ } + else + { + if (! memory_address_p (mode, op)) + return 0; +- base = (GET_CODE (op) == PLUS ? XEXP (op, 0) : op); ++ if (GET_CODE (op) == PLUS) ++ { ++ base = XEXP (op, 0); ++ offset = INTVAL (XEXP (op, 1)); ++ } ++ else ++ { ++ base = op; ++ offset = 0; ++ } + } + ++ if (offset % GET_MODE_SIZE (mode)) ++ return 1; ++ + return (GET_CODE (base) == REG && REGNO_POINTER_ALIGN (REGNO (base)) < 32); + }) + +Index: gcc/config/alpha/alpha.c +=================================================================== +--- a/src/gcc/config/alpha/alpha.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/alpha/alpha.c (.../branches/gcc-4_3-branch) +@@ -391,7 +391,7 @@ + break; + } + if (! cpu_table [i].name) +- error ("bad value %qs for -mcpu switch", alpha_tune_string); ++ error ("bad value %qs for -mtune switch", alpha_tune_string); + } + + /* Do some sanity checks on the above options. */ +@@ -1456,6 +1456,10 @@ + else + offset = disp & 3; + ++ /* The location should not cross aligned word boundary. */ ++ gcc_assert (offset + GET_MODE_SIZE (GET_MODE (ref)) ++ <= GET_MODE_SIZE (SImode)); ++ + /* Access the entire aligned word. */ + *paligned_mem = widen_memory_access (ref, SImode, -offset); + +@@ -2051,11 +2055,22 @@ + + switch (GET_CODE (x)) + { +- case CONST: + case LABEL_REF: + case HIGH: + return true; + ++ case CONST: ++ if (GET_CODE (XEXP (x, 0)) == PLUS ++ && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT) ++ x = XEXP (XEXP (x, 0), 0); ++ else ++ return true; ++ ++ if (GET_CODE (x) != SYMBOL_REF) ++ return true; ++ ++ /* FALLTHRU */ ++ + case SYMBOL_REF: + /* TLS symbols are never valid. */ + return SYMBOL_REF_TLS_MODEL (x) == 0; +@@ -3541,7 +3556,7 @@ + emit_insn (gen_insll_le (insl, gen_lowpart (SImode, src), addr)); + break; + case 8: +- emit_insn (gen_insql_le (insl, src, addr)); ++ emit_insn (gen_insql_le (insl, gen_lowpart (DImode, src), addr)); + break; + } + } +@@ -8248,7 +8263,7 @@ + insn = get_last_insn (); + if (!INSN_P (insn)) + insn = prev_active_insn (insn); +- if (GET_CODE (insn) == CALL_INSN) ++ if (insn && GET_CODE (insn) == CALL_INSN) + output_asm_insn (get_insn_template (CODE_FOR_nop, NULL), NULL); + + #if TARGET_ABI_OSF +Index: gcc/config/alpha/sync.md +=================================================================== +--- a/src/gcc/config/alpha/sync.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/alpha/sync.md (.../branches/gcc-4_3-branch) +@@ -62,11 +62,8 @@ + [(set_attr "type" "st_c")]) + + ;; The Alpha Architecture Handbook says that it is UNPREDICTABLE whether +-;; the lock is cleared by a TAKEN branch. If we were to honor that, it +-;; would mean that we could not expand a ll/sc sequence until after the +-;; final basic-block reordering pass. Fortunately, it appears that no +-;; Alpha implementation ever built actually clears the lock on branches, +-;; taken or not. ++;; the lock is cleared by a TAKEN branch. This means that we can not ++;; expand a ll/sc sequence until after the final basic-block reordering pass. + + (define_insn_and_split "sync_" + [(set (match_operand:I48MODE 0 "memory_operand" "+m") +@@ -77,7 +74,7 @@ + (clobber (match_scratch:I48MODE 2 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_atomic_op (, operands[0], operands[1], +@@ -95,7 +92,7 @@ + (clobber (match_scratch:I48MODE 2 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_atomic_op (NOT, operands[0], operands[1], +@@ -115,7 +112,7 @@ + (clobber (match_scratch:I48MODE 3 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_atomic_op (, operands[1], operands[2], +@@ -135,7 +132,7 @@ + (clobber (match_scratch:I48MODE 3 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_atomic_op (NOT, operands[1], operands[2], +@@ -156,7 +153,7 @@ + (clobber (match_scratch:I48MODE 3 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_atomic_op (, operands[1], operands[2], +@@ -177,7 +174,7 @@ + (clobber (match_scratch:I48MODE 3 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_atomic_op (NOT, operands[1], operands[2], +@@ -212,7 +209,7 @@ + (clobber (match_scratch:DI 6 "=X,&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_compare_and_swap_12 (mode, operands[0], operands[1], +@@ -249,7 +246,7 @@ + (clobber (match_scratch:I48MODE 4 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_compare_and_swap (operands[0], operands[1], operands[2], +@@ -280,7 +277,7 @@ + (clobber (match_scratch:DI 4 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_lock_test_and_set_12 (mode, operands[0], operands[1], +@@ -299,7 +296,7 @@ + (clobber (match_scratch:I48MODE 3 "=&r"))] + "" + "#" +- "reload_completed" ++ "epilogue_completed" + [(const_int 0)] + { + alpha_split_lock_test_and_set (operands[0], operands[1], +Index: gcc/config/alpha/alpha.md +=================================================================== +--- a/src/gcc/config/alpha/alpha.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/alpha/alpha.md (.../branches/gcc-4_3-branch) +@@ -255,16 +255,7 @@ + (sign_extend:DI (match_dup 1)))] + "") + +-;; Don't say we have addsi3 if optimizing. This generates better code. We +-;; have the anonymous addsi3 pattern below in case combine wants to make it. +-(define_expand "addsi3" +- [(set (match_operand:SI 0 "register_operand" "") +- (plus:SI (match_operand:SI 1 "reg_or_0_operand" "") +- (match_operand:SI 2 "add_operand" "")))] +- "! optimize" +- "") +- +-(define_insn "*addsi_internal" ++(define_insn "addsi3" + [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") + (plus:SI (match_operand:SI 1 "reg_or_0_operand" "%rJ,rJ,rJ,rJ") + (match_operand:SI 2 "add_operand" "rI,O,K,L")))] +@@ -618,14 +609,7 @@ + "" + "subqv $31,%1,%0") + +-(define_expand "subsi3" +- [(set (match_operand:SI 0 "register_operand" "") +- (minus:SI (match_operand:SI 1 "reg_or_0_operand" "") +- (match_operand:SI 2 "reg_or_8bit_operand" "")))] +- "! optimize" +- "") +- +-(define_insn "*subsi_internal" ++(define_insn "subsi3" + [(set (match_operand:SI 0 "register_operand" "=r") + (minus:SI (match_operand:SI 1 "reg_or_0_operand" "rJ") + (match_operand:SI 2 "reg_or_8bit_operand" "rI")))] +@@ -3715,24 +3699,12 @@ + (match_operator:DF 1 "alpha_fp_comparison_operator" + [(match_operand:DF 2 "reg_or_0_operand" "fG") + (match_operand:DF 3 "reg_or_0_operand" "fG")]))] +- "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" ++ "TARGET_FP" + "cmp%-%C1%/ %R2,%R3,%0" + [(set_attr "type" "fadd") + (set_attr "trap" "yes") + (set_attr "trap_suffix" "su")]) + +-(define_insn "*cmpdf_ieee_ext1" +- [(set (match_operand:DF 0 "register_operand" "=&f") +- (match_operator:DF 1 "alpha_fp_comparison_operator" +- [(float_extend:DF +- (match_operand:SF 2 "reg_or_0_operand" "fG")) +- (match_operand:DF 3 "reg_or_0_operand" "fG")]))] +- "TARGET_FP && alpha_fptm >= ALPHA_FPTM_SU" +- "cmp%-%C1%/ %R2,%R3,%0" +- [(set_attr "type" "fadd") +- (set_attr "trap" "yes") +- (set_attr "trap_suffix" "su")]) +- + (define_insn "*cmpdf_ext1" + [(set (match_operand:DF 0 "register_operand" "=f") + (match_operator:DF 1 "alpha_fp_comparison_operator" +@@ -3745,18 +3717,6 @@ + (set_attr "trap" "yes") + (set_attr "trap_suffix" "su")]) + +-(define_insn "*cmpdf_ieee_ext2" +- [(set (match_operand:DF 0 "register_operand" "=&f") +- (match_operator:DF 1 "alpha_fp_comparison_operator" +- [(match_operand:DF 2 "reg_or_0_operand" "fG") +- (float_extend:DF +- (match_operand:SF 3 "reg_or_0_operand" "fG"))]))] +- "TARGET_FP && alpha_fptm >= ALPHA_FPTM_SU" +- "cmp%-%C1%/ %R2,%R3,%0" +- [(set_attr "type" "fadd") +- (set_attr "trap" "yes") +- (set_attr "trap_suffix" "su")]) +- + (define_insn "*cmpdf_ext2" + [(set (match_operand:DF 0 "register_operand" "=f") + (match_operator:DF 1 "alpha_fp_comparison_operator" +@@ -3769,19 +3729,6 @@ + (set_attr "trap" "yes") + (set_attr "trap_suffix" "su")]) + +-(define_insn "*cmpdf_ieee_ext3" +- [(set (match_operand:DF 0 "register_operand" "=&f") +- (match_operator:DF 1 "alpha_fp_comparison_operator" +- [(float_extend:DF +- (match_operand:SF 2 "reg_or_0_operand" "fG")) +- (float_extend:DF +- (match_operand:SF 3 "reg_or_0_operand" "fG"))]))] +- "TARGET_FP && alpha_fptm >= ALPHA_FPTM_SU" +- "cmp%-%C1%/ %R2,%R3,%0" +- [(set_attr "type" "fadd") +- (set_attr "trap" "yes") +- (set_attr "trap_suffix" "su")]) +- + (define_insn "*cmpdf_ext3" + [(set (match_operand:DF 0 "register_operand" "=f") + (match_operator:DF 1 "alpha_fp_comparison_operator" +@@ -3831,7 +3778,7 @@ + (match_operand:DF 2 "const0_operand" "G,G")]) + (float_extend:DF (match_operand:SF 1 "reg_or_0_operand" "fG,0")) + (match_operand:DF 5 "reg_or_0_operand" "0,fG")))] +- "TARGET_FP" ++ "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" + "@ + fcmov%C3 %R4,%R1,%0 + fcmov%D3 %R4,%R5,%0" +@@ -3846,7 +3793,7 @@ + (match_operand:DF 2 "const0_operand" "G,G")]) + (match_operand:DF 1 "reg_or_0_operand" "fG,0") + (match_operand:DF 5 "reg_or_0_operand" "0,fG")))] +- "TARGET_FP" ++ "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" + "@ + fcmov%C3 %R4,%R1,%0 + fcmov%D3 %R4,%R5,%0" +@@ -3861,7 +3808,7 @@ + (match_operand:DF 2 "const0_operand" "G,G")]) + (match_operand:SF 1 "reg_or_0_operand" "fG,0") + (match_operand:SF 5 "reg_or_0_operand" "0,fG")))] +- "TARGET_FP" ++ "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" + "@ + fcmov%C3 %R4,%R1,%0 + fcmov%D3 %R4,%R5,%0" +@@ -3876,7 +3823,7 @@ + (match_operand:DF 2 "const0_operand" "G,G")]) + (float_extend:DF (match_operand:SF 1 "reg_or_0_operand" "fG,0")) + (match_operand:DF 5 "reg_or_0_operand" "0,fG")))] +- "TARGET_FP" ++ "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" + "@ + fcmov%C3 %R4,%R1,%0 + fcmov%D3 %R4,%R5,%0" +@@ -3915,7 +3862,7 @@ + (set (match_operand:SF 0 "register_operand" "") + (if_then_else:SF (eq (match_dup 3) (match_dup 4)) + (match_dup 1) (match_dup 2)))] +- "TARGET_FP" ++ "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" + { + operands[3] = gen_reg_rtx (DFmode); + operands[4] = CONST0_RTX (DFmode); +@@ -3928,7 +3875,7 @@ + (set (match_operand:SF 0 "register_operand" "") + (if_then_else:SF (ne (match_dup 3) (match_dup 4)) + (match_dup 1) (match_dup 2)))] +- "TARGET_FP" ++ "TARGET_FP && alpha_fptm < ALPHA_FPTM_SU" + { + operands[3] = gen_reg_rtx (DFmode); + operands[4] = CONST0_RTX (DFmode); +@@ -4391,20 +4338,22 @@ + (match_operand:SI 3 "const48_operand" "I") + (const_int 0)) + (match_operand:SI 4 "sext_add_operand" "rIO"))) +- (clobber (match_scratch:SI 5 "=r"))] ++ (clobber (match_scratch:DI 5 "=r"))] + "" + "#" + "" + [(set (match_dup 5) +- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) ++ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) + (set (match_dup 0) +- (plus:SI (mult:SI (match_dup 5) (match_dup 3)) ++ (plus:SI (mult:SI (match_dup 6) (match_dup 3)) + (match_dup 4)))] + { + if (can_create_pseudo_p ()) + operands[5] = gen_reg_rtx (DImode); + else if (reg_overlap_mentioned_p (operands[5], operands[4])) +- operands[5] = operands[0]; ++ operands[5] = gen_lowpart (DImode, operands[0]); ++ ++ operands[6] = gen_lowpart (SImode, operands[5]); + }) + + (define_insn_and_split "*cmp_sadd_sidi" +@@ -4417,20 +4366,22 @@ + (match_operand:SI 3 "const48_operand" "I") + (const_int 0)) + (match_operand:SI 4 "sext_add_operand" "rIO")))) +- (clobber (match_scratch:SI 5 "=r"))] ++ (clobber (match_scratch:DI 5 "=r"))] + "" + "#" + "" + [(set (match_dup 5) +- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) ++ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) + (set (match_dup 0) +- (sign_extend:DI (plus:SI (mult:SI (match_dup 5) (match_dup 3)) ++ (sign_extend:DI (plus:SI (mult:SI (match_dup 6) (match_dup 3)) + (match_dup 4))))] + { + if (can_create_pseudo_p ()) + operands[5] = gen_reg_rtx (DImode); + else if (reg_overlap_mentioned_p (operands[5], operands[4])) + operands[5] = operands[0]; ++ ++ operands[6] = gen_lowpart (SImode, operands[5]); + }) + + (define_insn_and_split "*cmp_ssub_di" +@@ -4467,20 +4418,22 @@ + (match_operand:SI 3 "const48_operand" "I") + (const_int 0)) + (match_operand:SI 4 "reg_or_8bit_operand" "rI"))) +- (clobber (match_scratch:SI 5 "=r"))] ++ (clobber (match_scratch:DI 5 "=r"))] + "" + "#" + "" + [(set (match_dup 5) +- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) ++ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) + (set (match_dup 0) +- (minus:SI (mult:SI (match_dup 5) (match_dup 3)) ++ (minus:SI (mult:SI (match_dup 6) (match_dup 3)) + (match_dup 4)))] + { + if (can_create_pseudo_p ()) + operands[5] = gen_reg_rtx (DImode); + else if (reg_overlap_mentioned_p (operands[5], operands[4])) +- operands[5] = operands[0]; ++ operands[5] = gen_lowpart (DImode, operands[0]); ++ ++ operands[6] = gen_lowpart (SImode, operands[5]); + }) + + (define_insn_and_split "*cmp_ssub_sidi" +@@ -4493,20 +4446,22 @@ + (match_operand:SI 3 "const48_operand" "I") + (const_int 0)) + (match_operand:SI 4 "reg_or_8bit_operand" "rI")))) +- (clobber (match_scratch:SI 5 "=r"))] ++ (clobber (match_scratch:DI 5 "=r"))] + "" + "#" + "" + [(set (match_dup 5) +- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) ++ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) + (set (match_dup 0) +- (sign_extend:DI (minus:SI (mult:SI (match_dup 5) (match_dup 3)) ++ (sign_extend:DI (minus:SI (mult:SI (match_dup 6) (match_dup 3)) + (match_dup 4))))] + { + if (can_create_pseudo_p ()) + operands[5] = gen_reg_rtx (DImode); + else if (reg_overlap_mentioned_p (operands[5], operands[4])) + operands[5] = operands[0]; ++ ++ operands[6] = gen_lowpart (SImode, operands[5]); + }) + + ;; Here are the CALL and unconditional branch insns. Calls on NT and OSF +@@ -6051,7 +6006,7 @@ + (mem:DI (and:DI (match_operand:DI 0 "address_operand" "") + (const_int -8)))) + (set (match_operand:DI 2 "register_operand" "") +- (plus:DI (match_dup 0) (const_int 1))) ++ (plus:DI (match_dup 5) (const_int 1))) + (set (match_dup 3) + (and:DI (not:DI (ashift:DI + (const_int 65535) +@@ -6066,7 +6021,7 @@ + (set (mem:DI (and:DI (match_dup 0) (const_int -8))) + (match_dup 4))] + "WORDS_BIG_ENDIAN" +- "") ++ "operands[5] = force_reg (DImode, operands[0]);") + + ;; Here are the define_expand's for QI and HI moves that use the above + ;; patterns. We have the normal sets, plus the ones that need scratch +Index: gcc/config/s390/tpf.h +=================================================================== +--- a/src/gcc/config/s390/tpf.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/s390/tpf.h (.../branches/gcc-4_3-branch) +@@ -55,7 +55,7 @@ + enable TPF profiling support and the standard backchain by default. */ + #undef TARGET_DEFAULT + #define TARGET_DEFAULT (MASK_TPF_PROFILING | MASK_64BIT | MASK_ZARCH \ +- | MASK_HARD_FLOAT | MASK_BACKCHAIN) ++ | MASK_HARD_DFP | MASK_BACKCHAIN) + + /* Exception handling. */ + +Index: gcc/config/s390/s390.c +=================================================================== +--- a/src/gcc/config/s390/s390.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/s390/s390.c (.../branches/gcc-4_3-branch) +@@ -7357,20 +7357,37 @@ + } + else + { +- HOST_WIDE_INT stack_check_mask = ((s390_stack_size - 1) +- & ~(stack_guard - 1)); +- rtx t = gen_rtx_AND (Pmode, stack_pointer_rtx, +- GEN_INT (stack_check_mask)); +- if (TARGET_64BIT) +- gen_cmpdi (t, const0_rtx); +- else +- gen_cmpsi (t, const0_rtx); ++ /* stack_guard has to be smaller than s390_stack_size. ++ Otherwise we would emit an AND with zero which would ++ not match the test under mask pattern. */ ++ if (stack_guard >= s390_stack_size) ++ { ++ warning (0, "frame size of function %qs is " ++ HOST_WIDE_INT_PRINT_DEC ++ " bytes which is more than half the stack size. " ++ "The dynamic check would not be reliable. " ++ "No check emitted for this function.", ++ current_function_name(), ++ cfun_frame_layout.frame_size); ++ } ++ else ++ { ++ HOST_WIDE_INT stack_check_mask = ((s390_stack_size - 1) ++ & ~(stack_guard - 1)); ++ rtx t = gen_rtx_AND (Pmode, stack_pointer_rtx, ++ GEN_INT (stack_check_mask)); ++ if (TARGET_64BIT) ++ gen_cmpdi (t, const0_rtx); ++ else ++ gen_cmpsi (t, const0_rtx); + +- emit_insn (gen_conditional_trap (gen_rtx_EQ (CCmode, +- gen_rtx_REG (CCmode, +- CC_REGNUM), +- const0_rtx), +- const0_rtx)); ++ emit_insn (gen_conditional_trap ( ++ gen_rtx_EQ (CCmode, ++ gen_rtx_REG (CCmode, ++ CC_REGNUM), ++ const0_rtx), ++ const0_rtx)); ++ } + } + } + +Index: gcc/config/spu/spu.c +=================================================================== +--- a/src/gcc/config/spu/spu.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/spu/spu.c (.../branches/gcc-4_3-branch) +@@ -1614,6 +1614,8 @@ + rtx pic_reg = pic_offset_table_rtx; + if (!reload_completed && !reload_in_progress) + abort (); ++ if (current_function_is_leaf && !df_regs_ever_live_p (LAST_ARG_REGNUM)) ++ pic_reg = gen_rtx_REG (SImode, LAST_ARG_REGNUM); + return pic_reg; + } + +Index: gcc/config/spu/spu-c.c +=================================================================== +--- a/src/gcc/config/spu/spu-c.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/spu/spu-c.c (.../branches/gcc-4_3-branch) +@@ -103,8 +103,7 @@ + if ((!SCALAR_TYPE_P (param_type) + || !SCALAR_TYPE_P (arg_type) + || (all_scalar && p == 0)) +- && !comptypes (TYPE_MAIN_VARIANT (param_type), +- TYPE_MAIN_VARIANT (arg_type))) ++ && !lang_hooks.types_compatible_p (param_type, arg_type)) + break; + } + if (param == void_list_node) +Index: gcc/config/sparc/sparc-protos.h +=================================================================== +--- a/src/gcc/config/sparc/sparc-protos.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/sparc/sparc-protos.h (.../branches/gcc-4_3-branch) +@@ -68,8 +68,6 @@ + extern bool constant_address_p (rtx); + extern bool legitimate_pic_operand_p (rtx); + extern int legitimate_address_p (enum machine_mode, rtx, int); +-extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx); +-extern rtx legitimize_tls_address (rtx); + extern rtx legitimize_address (rtx, rtx, enum machine_mode); + extern void sparc_emit_call_insn (rtx, rtx); + extern void sparc_defer_case_vector (rtx, rtx, int); +@@ -101,7 +99,6 @@ + extern int fp_sethi_p (rtx); + extern int fp_mov_p (rtx); + extern int fp_high_losum_p (rtx); +-extern bool sparc_tls_referenced_p (rtx); + extern int mem_min_alignment (rtx, int); + extern int pic_address_needs_scratch (rtx); + extern int reg_unused_after (rtx, rtx); +Index: gcc/config/sparc/sparc.c +=================================================================== +--- a/src/gcc/config/sparc/sparc.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/sparc/sparc.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* Subroutines for insn-output.c for SPARC. + Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ++ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010 + Free Software Foundation, Inc. + Contributed by Michael Tiemann (tiemann@cygnus.com) + 64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans, +@@ -371,8 +371,9 @@ + static void emit_save_or_restore_regs (int); + static void sparc_asm_function_prologue (FILE *, HOST_WIDE_INT); + static void sparc_asm_function_epilogue (FILE *, HOST_WIDE_INT); +-#ifdef OBJECT_FORMAT_ELF +-static void sparc_elf_asm_named_section (const char *, unsigned int, tree); ++#if defined (OBJECT_FORMAT_ELF) ++static void sparc_elf_asm_named_section (const char *, unsigned int, tree) ++ ATTRIBUTE_UNUSED; + #endif + + static int sparc_adjust_cost (rtx, rtx, rtx, int); +@@ -412,6 +413,9 @@ + static void sparc_va_start (tree, rtx); + static tree sparc_gimplify_va_arg (tree, tree, tree *, tree *); + static bool sparc_vector_mode_supported_p (enum machine_mode); ++static bool sparc_tls_referenced_p (rtx); ++static rtx legitimize_tls_address (rtx); ++static rtx legitimize_pic_address (rtx, rtx); + static bool sparc_pass_by_reference (CUMULATIVE_ARGS *, + enum machine_mode, const_tree, bool); + static int sparc_arg_partial_bytes (CUMULATIVE_ARGS *, +@@ -986,34 +990,17 @@ + /* Fixup TLS cases. */ + if (TARGET_HAVE_TLS + && CONSTANT_P (operands[1]) +- && GET_CODE (operands[1]) != HIGH + && sparc_tls_referenced_p (operands [1])) + { +- rtx sym = operands[1]; +- rtx addend = NULL; +- +- if (GET_CODE (sym) == CONST && GET_CODE (XEXP (sym, 0)) == PLUS) +- { +- addend = XEXP (XEXP (sym, 0), 1); +- sym = XEXP (XEXP (sym, 0), 0); +- } +- +- gcc_assert (SPARC_SYMBOL_REF_TLS_P (sym)); +- +- sym = legitimize_tls_address (sym); +- if (addend) +- { +- sym = gen_rtx_PLUS (mode, sym, addend); +- sym = force_operand (sym, operands[0]); +- } +- operands[1] = sym; ++ operands[1] = legitimize_tls_address (operands[1]); ++ return false; + } +- ++ + /* Fixup PIC cases. */ + if (flag_pic && CONSTANT_P (operands[1])) + { + if (pic_address_needs_scratch (operands[1])) +- operands[1] = legitimize_pic_address (operands[1], mode, 0); ++ operands[1] = legitimize_pic_address (operands[1], NULL_RTX); + + /* VxWorks does not impose a fixed gap between segments; the run-time + gap can be different from the object-file gap. We therefore can't +@@ -1041,10 +1028,8 @@ + if (symbolic_operand (operands[1], mode)) + { + operands[1] = legitimize_pic_address (operands[1], +- mode, +- (reload_in_progress ? +- operands[0] : +- NULL_RTX)); ++ reload_in_progress ++ ? operands[0] : NULL_RTX); + return false; + } + } +@@ -2846,26 +2831,14 @@ + bool + legitimate_constant_p (rtx x) + { +- rtx inner; +- + switch (GET_CODE (x)) + { ++ case CONST: + case SYMBOL_REF: +- /* TLS symbols are not constant. */ +- if (SYMBOL_REF_TLS_MODEL (x)) ++ if (sparc_tls_referenced_p (x)) + return false; + break; + +- case CONST: +- inner = XEXP (x, 0); +- +- /* Offsets of TLS symbols are never valid. +- Discourage CSE from creating them. */ +- if (GET_CODE (inner) == PLUS +- && SPARC_SYMBOL_REF_TLS_P (XEXP (inner, 0))) +- return false; +- break; +- + case CONST_DOUBLE: + if (GET_MODE (x) == VOIDmode) + return true; +@@ -2929,10 +2902,7 @@ + { + if (pic_address_needs_scratch (x)) + return false; +- if (SPARC_SYMBOL_REF_TLS_P (x) +- || (GET_CODE (x) == CONST +- && GET_CODE (XEXP (x, 0)) == PLUS +- && SPARC_SYMBOL_REF_TLS_P (XEXP (XEXP (x, 0), 0)))) ++ if (sparc_tls_referenced_p (x)) + return false; + return true; + } +@@ -2970,7 +2940,7 @@ + && GET_CODE (rs2) != SUBREG + && GET_CODE (rs2) != LO_SUM + && GET_CODE (rs2) != MEM +- && ! SPARC_SYMBOL_REF_TLS_P (rs2) ++ && !(GET_CODE (rs2) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (rs2)) + && (! symbolic_operand (rs2, VOIDmode) || mode == Pmode) + && (GET_CODE (rs2) != CONST_INT || SMALL_INT (rs2))) + || ((REG_P (rs1) +@@ -3010,7 +2980,8 @@ + rs2 = NULL; + imm1 = XEXP (rs1, 1); + rs1 = XEXP (rs1, 0); +- if (! CONSTANT_P (imm1) || SPARC_SYMBOL_REF_TLS_P (rs1)) ++ if (!CONSTANT_P (imm1) ++ || (GET_CODE (rs1) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (rs1))) + return 0; + } + } +@@ -3019,7 +2990,8 @@ + rs1 = XEXP (addr, 0); + imm1 = XEXP (addr, 1); + +- if (! CONSTANT_P (imm1) || SPARC_SYMBOL_REF_TLS_P (rs1)) ++ if (!CONSTANT_P (imm1) ++ || (GET_CODE (rs1) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (rs1))) + return 0; + + /* We can't allow TFmode in 32-bit mode, because an offset greater +@@ -3095,29 +3067,28 @@ + return temp; + } + +-/* Return 1 if *X is a thread-local symbol. */ ++/* Return true if X contains a thread-local symbol. */ + +-static int +-sparc_tls_symbol_ref_1 (rtx *x, void *data ATTRIBUTE_UNUSED) +-{ +- return SPARC_SYMBOL_REF_TLS_P (*x); +-} +- +-/* Return 1 if X contains a thread-local symbol. */ +- +-bool ++static bool + sparc_tls_referenced_p (rtx x) + { + if (!TARGET_HAVE_TLS) + return false; + +- return for_each_rtx (&x, &sparc_tls_symbol_ref_1, 0); ++ if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS) ++ x = XEXP (XEXP (x, 0), 0); ++ ++ if (GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (x)) ++ return true; ++ ++ /* That's all we handle in legitimize_tls_address for now. */ ++ return false; + } + + /* ADDR contains a thread-local SYMBOL_REF. Generate code to compute + this (thread-local) address. */ + +-rtx ++static rtx + legitimize_tls_address (rtx addr) + { + rtx temp1, temp2, temp3, ret, o0, got, insn; +@@ -3241,21 +3212,34 @@ + gcc_unreachable (); + } + ++ else if (GET_CODE (addr) == CONST) ++ { ++ rtx base, offset; ++ ++ gcc_assert (GET_CODE (XEXP (addr, 0)) == PLUS); ++ ++ base = legitimize_tls_address (XEXP (XEXP (addr, 0), 0)); ++ offset = XEXP (XEXP (addr, 0), 1); ++ ++ base = force_operand (base, NULL_RTX); ++ if (!(GET_CODE (offset) == CONST_INT && SMALL_INT (offset))) ++ offset = force_reg (Pmode, offset); ++ ret = gen_rtx_PLUS (Pmode, base, offset); ++ } ++ + else + gcc_unreachable (); /* for now ... */ + + return ret; + } + +- + /* Legitimize PIC addresses. If the address is already position-independent, + we return ORIG. Newly generated position-independent addresses go into a + reg. This is REG if nonzero, otherwise we allocate register(s) as + necessary. */ + +-rtx +-legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED, +- rtx reg) ++static rtx ++legitimize_pic_address (rtx orig, rtx reg) + { + if (GET_CODE (orig) == SYMBOL_REF + /* See the comment in sparc_expand_move. */ +@@ -3322,9 +3306,9 @@ + } + + gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS); +- base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg); +- offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode, +- base == reg ? 0 : reg); ++ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), reg); ++ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), ++ base == reg ? NULL_RTX : reg); + + if (GET_CODE (offset) == CONST_INT) + { +@@ -3376,10 +3360,10 @@ + if (x != orig_x && legitimate_address_p (mode, x, FALSE)) + return x; + +- if (SPARC_SYMBOL_REF_TLS_P (x)) ++ if (sparc_tls_referenced_p (x)) + x = legitimize_tls_address (x); + else if (flag_pic) +- x = legitimize_pic_address (x, mode, 0); ++ x = legitimize_pic_address (x, NULL_RTX); + else if (GET_CODE (x) == PLUS && CONSTANT_ADDRESS_P (XEXP (x, 1))) + x = gen_rtx_PLUS (Pmode, XEXP (x, 0), + copy_to_mode_reg (Pmode, XEXP (x, 1))); +@@ -3388,8 +3372,9 @@ + copy_to_mode_reg (Pmode, XEXP (x, 0))); + else if (GET_CODE (x) == SYMBOL_REF + || GET_CODE (x) == CONST +- || GET_CODE (x) == LABEL_REF) ++ || GET_CODE (x) == LABEL_REF) + x = copy_to_suggested_reg (x, NULL_RTX, Pmode); ++ + return x; + } + +@@ -7802,19 +7787,11 @@ + emit_library_call (fun, LCT_NORMAL, VOIDmode, 1, lab, Pmode); + } + +-#ifdef OBJECT_FORMAT_ELF ++#if defined (OBJECT_FORMAT_ELF) + static void + sparc_elf_asm_named_section (const char *name, unsigned int flags, + tree decl) + { +- if (flags & SECTION_MERGE) +- { +- /* entsize cannot be expressed in this section attributes +- encoding style. */ +- default_elf_asm_named_section (name, flags, decl); +- return; +- } +- + fprintf (asm_out_file, "\t.section\t\"%s\"", name); + + if (!(flags & SECTION_DEBUG)) +@@ -8762,7 +8739,7 @@ + /* Delay emitting the PIC helper function because it needs to + change the section and we are emitting assembly code. */ + load_pic_register (true); /* clobbers %o7 */ +- scratch = legitimize_pic_address (funexp, Pmode, scratch); ++ scratch = legitimize_pic_address (funexp, scratch); + seq = get_insns (); + end_sequence (); + emit_and_preserve (seq, spill_reg, spill_reg2); +Index: gcc/config/sparc/sparc.h +=================================================================== +--- a/src/gcc/config/sparc/sparc.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/sparc/sparc.h (.../branches/gcc-4_3-branch) +@@ -2380,9 +2380,6 @@ + } \ + } while (0) + +-#define SPARC_SYMBOL_REF_TLS_P(RTX) \ +- (GET_CODE (RTX) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (RTX) != 0) +- + #define PRINT_OPERAND_PUNCT_VALID_P(CHAR) \ + ((CHAR) == '#' || (CHAR) == '*' || (CHAR) == '(' \ + || (CHAR) == ')' || (CHAR) == '_' || (CHAR) == '&') +Index: gcc/config/sparc/gas.h +=================================================================== +--- a/src/gcc/config/sparc/gas.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/sparc/gas.h (.../branches/gcc-4_3-branch) +@@ -0,0 +1,6 @@ ++/* Definitions of target machine for GCC, for SPARC ++ using the GNU assembler. */ ++ ++/* Switch into a generic section. */ ++#undef TARGET_ASM_NAMED_SECTION ++#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section +Index: gcc/config/sparc/sysv4.h +=================================================================== +--- a/src/gcc/config/sparc/sysv4.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/sparc/sysv4.h (.../branches/gcc-4_3-branch) +@@ -1,5 +1,5 @@ + /* Target definitions for GNU compiler for SPARC running System V.4 +- Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007 ++ Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2010 + Free Software Foundation, Inc. + Contributed by Ron Guilmette (rfg@monkeys.com). + +Index: gcc/config/i386/i386.md +=================================================================== +--- a/src/gcc/config/i386/i386.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/i386/i386.md (.../branches/gcc-4_3-branch) +@@ -9532,7 +9532,7 @@ + (const_int 8)))) + (clobber (reg:CC FLAGS_REG))] + "(!TARGET_PARTIAL_REG_STALL || optimize_size)" +- "ior{b}\t{%h2, %h0|%h0, %h2}" ++ "or{b}\t{%h2, %h0|%h0, %h2}" + [(set_attr "type" "alu") + (set_attr "length_immediate" "0") + (set_attr "mode" "QI")]) +@@ -14654,6 +14654,10 @@ + ;; checked for calls. This is a bug in the generic code, but it isn't that + ;; easy to fix. Ignore it for now and be prepared to fix things up. + ++;; P6 processors will jump to the address after the decrement when %esp ++;; is used as a call operand, so they will execute return address as a code. ++;; See Pentium Pro errata 70, Pentium 2 errata A33 and Pentium 3 errata E17. ++ + ;; Call subroutine returning no value. + + (define_expand "call_pop" +@@ -14683,26 +14687,31 @@ + [(set_attr "type" "call")]) + + (define_insn "*call_pop_1" +- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "rsm")) ++ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm")) + (match_operand:SI 1 "" "")) + (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) + (match_operand:SI 2 "immediate_operand" "i")))] +- "!TARGET_64BIT" ++ "!TARGET_64BIT && !SIBLING_CALL_P (insn)" + { + if (constant_call_address_operand (operands[0], Pmode)) +- { +- if (SIBLING_CALL_P (insn)) +- return "jmp\t%P0"; +- else +- return "call\t%P0"; +- } +- if (SIBLING_CALL_P (insn)) +- return "jmp\t%A0"; +- else +- return "call\t%A0"; ++ return "call\t%P0"; ++ return "call\t%A0"; + } + [(set_attr "type" "call")]) + ++(define_insn "*sibcall_pop_1" ++ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,c,d,a")) ++ (match_operand:SI 1 "" "")) ++ (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) ++ (match_operand:SI 2 "immediate_operand" "i,i,i,i")))] ++ "!TARGET_64BIT && SIBLING_CALL_P (insn)" ++{ ++ if (constant_call_address_operand (operands[0], Pmode)) ++ return "jmp\t%P0"; ++ return "jmp\t%A0"; ++} ++ [(set_attr "type" "call")]) ++ + (define_expand "call" + [(call (match_operand:QI 0 "" "") + (match_operand 1 "" "")) +@@ -14736,9 +14745,9 @@ + [(set_attr "type" "call")]) + + (define_insn "*call_1" +- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "rsm")) ++ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm")) + (match_operand 1 "" ""))] +- "!SIBLING_CALL_P (insn) && !TARGET_64BIT" ++ "!TARGET_64BIT && !SIBLING_CALL_P (insn)" + { + if (constant_call_address_operand (operands[0], Pmode)) + return "call\t%P0"; +@@ -14749,7 +14758,7 @@ + (define_insn "*sibcall_1" + [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,c,d,a")) + (match_operand 1 "" ""))] +- "SIBLING_CALL_P (insn) && !TARGET_64BIT" ++ "!TARGET_64BIT && SIBLING_CALL_P (insn)" + { + if (constant_call_address_operand (operands[0], Pmode)) + return "jmp\t%P0"; +@@ -14760,7 +14769,7 @@ + (define_insn "*call_1_rex64" + [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm")) + (match_operand 1 "" ""))] +- "!SIBLING_CALL_P (insn) && TARGET_64BIT ++ "TARGET_64BIT && !SIBLING_CALL_P (insn) + && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC" + { + if (constant_call_address_operand (operands[0], Pmode)) +@@ -14772,21 +14781,21 @@ + (define_insn "*call_1_rex64_large" + [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rm")) + (match_operand 1 "" ""))] +- "!SIBLING_CALL_P (insn) && TARGET_64BIT" ++ "TARGET_64BIT && !SIBLING_CALL_P (insn)" + "call\t%A0" + [(set_attr "type" "call")]) + + (define_insn "*sibcall_1_rex64" + [(call (mem:QI (match_operand:DI 0 "constant_call_address_operand" "")) + (match_operand 1 "" ""))] +- "SIBLING_CALL_P (insn) && TARGET_64BIT" ++ "TARGET_64BIT && SIBLING_CALL_P (insn)" + "jmp\t%P0" + [(set_attr "type" "call")]) + + (define_insn "*sibcall_1_rex64_v" + [(call (mem:QI (reg:DI R11_REG)) + (match_operand 0 "" ""))] +- "SIBLING_CALL_P (insn) && TARGET_64BIT" ++ "TARGET_64BIT && SIBLING_CALL_P (insn)" + "jmp\t{*%%}r11" + [(set_attr "type" "call")]) + +@@ -21060,26 +21069,32 @@ + + (define_insn "*call_value_pop_1" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "rsm")) ++ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm")) + (match_operand:SI 2 "" ""))) + (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) + (match_operand:SI 3 "immediate_operand" "i")))] +- "!TARGET_64BIT" ++ "!TARGET_64BIT && !SIBLING_CALL_P (insn)" + { + if (constant_call_address_operand (operands[1], Pmode)) +- { +- if (SIBLING_CALL_P (insn)) +- return "jmp\t%P1"; +- else +- return "call\t%P1"; +- } +- if (SIBLING_CALL_P (insn)) +- return "jmp\t%A1"; +- else +- return "call\t%A1"; ++ return "call\t%P1"; ++ return "call\t%A1"; + } + [(set_attr "type" "callv")]) + ++(define_insn "*sibcall_value_pop_1" ++ [(set (match_operand 0 "" "") ++ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,c,d,a")) ++ (match_operand:SI 2 "" ""))) ++ (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) ++ (match_operand:SI 3 "immediate_operand" "i,i,i,i")))] ++ "SIBLING_CALL_P (insn) && !TARGET_64BIT" ++{ ++ if (constant_call_address_operand (operands[1], Pmode)) ++ return "jmp\t%P1"; ++ return "jmp\t%A1"; ++} ++ [(set_attr "type" "callv")]) ++ + (define_insn "*call_value_0" + [(set (match_operand 0 "" "") + (call (mem:QI (match_operand:SI 1 "constant_call_address_operand" "")) +@@ -21108,9 +21123,9 @@ + + (define_insn "*call_value_1" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "rsm")) ++ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm")) + (match_operand:SI 2 "" "")))] +- "!SIBLING_CALL_P (insn) && !TARGET_64BIT" ++ "!TARGET_64BIT && !SIBLING_CALL_P (insn)" + { + if (constant_call_address_operand (operands[1], Pmode)) + return "call\t%P1"; +@@ -21134,7 +21149,7 @@ + [(set (match_operand 0 "" "") + (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm")) + (match_operand:DI 2 "" "")))] +- "!SIBLING_CALL_P (insn) && TARGET_64BIT ++ "TARGET_64BIT && !SIBLING_CALL_P (insn) + && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC" + { + if (constant_call_address_operand (operands[1], Pmode)) +@@ -21147,7 +21162,7 @@ + [(set (match_operand 0 "" "") + (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rm")) + (match_operand:DI 2 "" "")))] +- "!SIBLING_CALL_P (insn) && TARGET_64BIT" ++ "TARGET_64BIT && !SIBLING_CALL_P (insn)" + "call\t%A1" + [(set_attr "type" "callv")]) + +Index: gcc/config/i386/mmx.md +=================================================================== +--- a/src/gcc/config/i386/mmx.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/i386/mmx.md (.../branches/gcc-4_3-branch) +@@ -226,7 +226,7 @@ + "TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))" + "@ + pfsub\\t{%2, %0|%0, %2} +- pfsubr\\t{%2, %0|%0, %2}" ++ pfsubr\\t{%1, %0|%0, %1}" + [(set_attr "type" "mmxadd") + (set_attr "mode" "V2SF")]) + +Index: gcc/config/i386/predicates.md +=================================================================== +--- a/src/gcc/config/i386/predicates.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/i386/predicates.md (.../branches/gcc-4_3-branch) +@@ -517,6 +517,22 @@ + FIRST_PSEUDO_REGISTER, LAST_VIRTUAL_REGISTER)); + }) + ++;; P6 processors will jump to the address after the decrement when %esp ++;; is used as a call operand, so they will execute return address as a code. ++;; See Pentium Pro errata 70, Pentium 2 errata A33 and Pentium 3 errata E17. ++ ++(define_predicate "call_register_no_elim_operand" ++ (match_operand 0 "register_operand") ++{ ++ if (GET_CODE (op) == SUBREG) ++ op = SUBREG_REG (op); ++ ++ if (!TARGET_64BIT && op == stack_pointer_rtx) ++ return 0; ++ ++ return register_no_elim_operand (op, mode); ++}) ++ + ;; Similarly, but include the stack pointer. This is used to prevent esp + ;; from being used as an index reg. + (define_predicate "index_register_operand" +@@ -545,7 +561,7 @@ + ;; Test for a valid operand for a call instruction. + (define_predicate "call_insn_operand" + (ior (match_operand 0 "constant_call_address_operand") +- (ior (match_operand 0 "register_no_elim_operand") ++ (ior (match_operand 0 "call_register_no_elim_operand") + (match_operand 0 "memory_operand")))) + + ;; Similarly, but for tail calls, in which we cannot allow memory references. +Index: gcc/config/i386/sse.md +=================================================================== +--- a/src/gcc/config/i386/sse.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/i386/sse.md (.../branches/gcc-4_3-branch) +@@ -36,6 +36,10 @@ + (define_mode_iterator SSEMODEF4 [SF DF V4SF V2DF]) + (define_mode_iterator SSEMODEF2P [V4SF V2DF]) + ++;; Modes handled by integer vcond pattern ++(define_mode_iterator SSEMODE124C8 [V16QI V8HI V4SI ++ (V2DI "TARGET_SSE4_2 || TARGET_SSE5")]) ++ + ;; Mapping from integer vector mode to mnemonic suffix + (define_mode_attr ssevecsize [(V16QI "b") (V8HI "w") (V4SI "d") (V2DI "q")]) + +@@ -909,10 +913,9 @@ + (match_operand:V4SF 2 "general_operand" "")))] + "TARGET_SSE" + { +- if (ix86_expand_fp_vcond (operands)) +- DONE; +- else +- FAIL; ++ bool ok = ix86_expand_fp_vcond (operands); ++ gcc_assert (ok); ++ DONE; + }) + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +@@ -4349,35 +4352,33 @@ + (set_attr "mode" "TI")]) + + (define_expand "vcond" +- [(set (match_operand:SSEMODEI 0 "register_operand" "") +- (if_then_else:SSEMODEI ++ [(set (match_operand:SSEMODE124C8 0 "register_operand" "") ++ (if_then_else:SSEMODE124C8 + (match_operator 3 "" +- [(match_operand:SSEMODEI 4 "nonimmediate_operand" "") +- (match_operand:SSEMODEI 5 "nonimmediate_operand" "")]) +- (match_operand:SSEMODEI 1 "general_operand" "") +- (match_operand:SSEMODEI 2 "general_operand" "")))] ++ [(match_operand:SSEMODE124C8 4 "nonimmediate_operand" "") ++ (match_operand:SSEMODE124C8 5 "nonimmediate_operand" "")]) ++ (match_operand:SSEMODE124C8 1 "general_operand" "") ++ (match_operand:SSEMODE124C8 2 "general_operand" "")))] + "TARGET_SSE2" + { +- if (ix86_expand_int_vcond (operands)) +- DONE; +- else +- FAIL; ++ bool ok = ix86_expand_int_vcond (operands); ++ gcc_assert (ok); ++ DONE; + }) + + (define_expand "vcondu" +- [(set (match_operand:SSEMODEI 0 "register_operand" "") +- (if_then_else:SSEMODEI ++ [(set (match_operand:SSEMODE124C8 0 "register_operand" "") ++ (if_then_else:SSEMODE124C8 + (match_operator 3 "" +- [(match_operand:SSEMODEI 4 "nonimmediate_operand" "") +- (match_operand:SSEMODEI 5 "nonimmediate_operand" "")]) +- (match_operand:SSEMODEI 1 "general_operand" "") +- (match_operand:SSEMODEI 2 "general_operand" "")))] ++ [(match_operand:SSEMODE124C8 4 "nonimmediate_operand" "") ++ (match_operand:SSEMODE124C8 5 "nonimmediate_operand" "")]) ++ (match_operand:SSEMODE124C8 1 "general_operand" "") ++ (match_operand:SSEMODE124C8 2 "general_operand" "")))] + "TARGET_SSE2" + { +- if (ix86_expand_int_vcond (operands)) +- DONE; +- else +- FAIL; ++ bool ok = ix86_expand_int_vcond (operands); ++ gcc_assert (ok); ++ DONE; + }) + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Index: gcc/config/i386/i386.c +=================================================================== +--- a/src/gcc/config/i386/i386.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/i386/i386.c (.../branches/gcc-4_3-branch) +@@ -6393,13 +6393,10 @@ + GEN_INT (-allocate), -1); + else + { +- /* Only valid for Win32. */ + rtx eax = gen_rtx_REG (Pmode, AX_REG); + bool eax_live; + rtx t; + +- gcc_assert (!TARGET_64BIT || TARGET_64BIT_MS_ABI); +- + if (TARGET_64BIT_MS_ABI) + eax_live = false; + else +@@ -13418,28 +13415,22 @@ + case V2DImode: + { + rtx t1, t2, mask; ++ rtx (*gen_sub3) (rtx, rtx, rtx); + +- /* Perform a parallel modulo subtraction. */ +- t1 = gen_reg_rtx (mode); +- emit_insn ((mode == V4SImode +- ? gen_subv4si3 +- : gen_subv2di3) (t1, cop0, cop1)); +- +- /* Extract the original sign bit of op0. */ ++ /* Subtract (-(INT MAX) - 1) from both operands to make ++ them signed. */ + mask = ix86_build_signbit_mask (GET_MODE_INNER (mode), + true, false); ++ gen_sub3 = (mode == V4SImode ++ ? gen_subv4si3 : gen_subv2di3); ++ t1 = gen_reg_rtx (mode); ++ emit_insn (gen_sub3 (t1, cop0, mask)); ++ + t2 = gen_reg_rtx (mode); +- emit_insn ((mode == V4SImode +- ? gen_andv4si3 +- : gen_andv2di3) (t2, cop0, mask)); ++ emit_insn (gen_sub3 (t2, cop1, mask)); + +- /* XOR it back into the result of the subtraction. This results +- in the sign bit set iff we saw unsigned underflow. */ +- x = gen_reg_rtx (mode); +- emit_insn ((mode == V4SImode +- ? gen_xorv4si3 +- : gen_xorv2di3) (x, t1, t2)); +- ++ cop0 = t1; ++ cop1 = t2; + code = GT; + } + break; +@@ -13451,6 +13442,8 @@ + emit_insn (gen_rtx_SET (VOIDmode, x, + gen_rtx_US_MINUS (mode, cop0, cop1))); + ++ cop0 = x; ++ cop1 = CONST0_RTX (mode); + code = EQ; + negate = !negate; + break; +@@ -13458,9 +13451,6 @@ + default: + gcc_unreachable (); + } +- +- cop0 = x; +- cop1 = CONST0_RTX (mode); + } + + x = ix86_expand_sse_cmp (operands[0], code, cop0, cop1, +@@ -14052,11 +14042,19 @@ + if (push && MEM_P (operands[1]) + && reg_overlap_mentioned_p (stack_pointer_rtx, operands[1])) + { +- if (nparts == 3) +- part[1][1] = change_address (part[1][1], GET_MODE (part[1][1]), +- XEXP (part[1][2], 0)); +- part[1][0] = change_address (part[1][0], GET_MODE (part[1][0]), +- XEXP (part[1][1], 0)); ++ rtx src_base = XEXP (part[1][nparts - 1], 0); ++ int i; ++ ++ /* Compensate for the stack decrement by 4. */ ++ if (!TARGET_64BIT && nparts == 3 ++ && mode == XFmode && TARGET_128BIT_LONG_DOUBLE) ++ src_base = plus_constant (src_base, 4); ++ ++ /* src_base refers to the stack pointer and is ++ automatically decreased by emitted push. */ ++ for (i = 0; i < nparts; i++) ++ part[1][i] = change_address (part[1][i], ++ GET_MODE (part[1][i]), src_base); + } + + /* We need to do copy in the right order in case an address register +@@ -21521,7 +21519,7 @@ + static tree + ix86_vectorize_builtin_conversion (unsigned int code, tree type) + { +- if (TREE_CODE (type) != VECTOR_TYPE ++ if (!TARGET_SSE2 || TREE_CODE (type) != VECTOR_TYPE + /* There are only conversions from/to signed integers. */ + || TYPE_UNSIGNED (TREE_TYPE (type))) + return NULL_TREE; +Index: gcc/config/sh/sh.c +=================================================================== +--- a/src/gcc/config/sh/sh.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/sh/sh.c (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + /* Output routines for GCC for Renesas / SuperH SH. + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +- 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ++ 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. + Contributed by Steve Chamberlain (sac@cygnus.com). + Improved by Jim Wilson (wilson@cygnus.com). + +@@ -4020,6 +4020,13 @@ + && ! TARGET_SMALLCODE) + new_align = 4; + ++ /* There is a possibility that a bf is transformed into a bf/s by the ++ delay slot scheduler. */ ++ if (JUMP_P (from) && !JUMP_TABLE_DATA_P (from) ++ && get_attr_type (from) == TYPE_CBRANCH ++ && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (from)))) != SEQUENCE) ++ inc += 2; ++ + if (found_si) + { + count_si += inc; +@@ -6713,13 +6720,13 @@ + pop (PR_REG); + } + +- /* Banked registers are poped first to avoid being scheduled in the ++ /* Banked registers are popped first to avoid being scheduled in the + delay slot. RTE switches banks before the ds instruction. */ + if (current_function_interrupt) + { +- for (i = FIRST_BANKED_REG; i <= LAST_BANKED_REG; i++) +- if (TEST_HARD_REG_BIT (live_regs_mask, i)) +- pop (LAST_BANKED_REG - i); ++ for (i = LAST_BANKED_REG; i >= FIRST_BANKED_REG; i--) ++ if (TEST_HARD_REG_BIT (live_regs_mask, i)) ++ pop (i); + + last_reg = FIRST_PSEUDO_REGISTER - LAST_BANKED_REG - 1; + } +@@ -8451,9 +8458,7 @@ + && GET_CODE (PATTERN (insn)) != USE + && GET_CODE (PATTERN (insn)) != CLOBBER) + || GET_CODE (insn) == CALL_INSN +- || (GET_CODE (insn) == JUMP_INSN +- && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC +- && GET_CODE (PATTERN (insn)) != ADDR_VEC)) ++ || (JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn))) + && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE + && get_attr_needs_delay_slot (insn) == NEEDS_DELAY_SLOT_YES) + return 2; +@@ -8461,9 +8466,7 @@ + /* SH2e has a bug that prevents the use of annulled branches, so if + the delay slot is not filled, we'll have to put a NOP in it. */ + if (sh_cpu == CPU_SH2E +- && GET_CODE (insn) == JUMP_INSN +- && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC +- && GET_CODE (PATTERN (insn)) != ADDR_VEC ++ && JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn) + && get_attr_type (insn) == TYPE_CBRANCH + && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE) + return 2; +Index: gcc/config/cris/cris.h +=================================================================== +--- a/src/gcc/config/cris/cris.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/cris/cris.h (.../branches/gcc-4_3-branch) +@@ -642,12 +642,17 @@ + ? GENERAL_REGS : (CLASS)) + + /* We can't move special registers to and from memory in smaller than +- word_mode. */ +-#define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ +- (((CLASS) != SPECIAL_REGS && (CLASS) != MOF_REGS) \ +- || GET_MODE_SIZE (MODE) == 4 \ +- || !MEM_P (X) \ +- ? NO_REGS : GENERAL_REGS) ++ word_mode. We also can't move between special registers. Luckily, ++ -1, as returned by true_regnum for non-sub/registers, is valid as a ++ parameter to our REGNO_REG_CLASS, returning GENERAL_REGS, so we get ++ the effect that any X that isn't a special-register is treated as ++ a non-empty intersection with GENERAL_REGS. */ ++#define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ ++ ((((CLASS) == SPECIAL_REGS || (CLASS) == MOF_REGS) \ ++ && ((GET_MODE_SIZE (MODE) < 4 && MEM_P (X)) \ ++ || !reg_classes_intersect_p (REGNO_REG_CLASS (true_regnum (X)), \ ++ GENERAL_REGS))) \ ++ ? GENERAL_REGS : NO_REGS) + + /* FIXME: Fix regrename.c; it should check validity of replacements, + not just with a silly pass-specific macro. We may miss some +Index: gcc/config/cris/cris.md +=================================================================== +--- a/src/gcc/config/cris/cris.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/cris/cris.md (.../branches/gcc-4_3-branch) +@@ -4903,7 +4903,7 @@ + ;; It should be: + ;; movu.b some_byte,reg_32 + ;; and.b const,reg_32 +-;; but is turns into: ++;; but it turns into: + ;; move.b some_byte,reg_32 + ;; and.d const,reg_32 + ;; Fix it here. +@@ -4920,7 +4920,9 @@ + "REGNO (operands[2]) == REGNO (operands[0]) + && INTVAL (operands[3]) <= 65535 && INTVAL (operands[3]) >= 0 + && !CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'I') +- && !side_effects_p (operands[1])" ++ && !side_effects_p (operands[1]) ++ && (!REG_P (operands[1]) ++ || REGNO (operands[1]) <= CRIS_LAST_GENERAL_REGISTER)" + ;; FIXME: CC0 valid except for M (i.e. CC_NOT_NEGATIVE). + [(set (match_dup 0) (match_dup 4)) + (set (match_dup 5) (match_dup 6))] +Index: gcc/config/ia64/ia64.c +=================================================================== +--- a/src/gcc/config/ia64/ia64.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/ia64/ia64.c (.../branches/gcc-4_3-branch) +@@ -1593,25 +1593,18 @@ + { + rtx t1, t2, mask; + +- /* Perform a parallel modulo subtraction. */ +- t1 = gen_reg_rtx (V2SImode); +- emit_insn (gen_subv2si3 (t1, op0, op1)); +- +- /* Extract the original sign bit of op0. */ +- mask = GEN_INT (-0x80000000); ++ /* Subtract (-(INT MAX) - 1) from both operands to make ++ them signed. */ ++ mask = GEN_INT (0x80000000); + mask = gen_rtx_CONST_VECTOR (V2SImode, gen_rtvec (2, mask, mask)); +- mask = force_reg (V2SImode, mask); +- t2 = gen_reg_rtx (V2SImode); +- emit_insn (gen_andv2si3 (t2, op0, mask)); +- +- /* XOR it back into the result of the subtraction. This results +- in the sign bit set iff we saw unsigned underflow. */ +- x = gen_reg_rtx (V2SImode); +- emit_insn (gen_xorv2si3 (x, t1, t2)); +- ++ mask = force_reg (mode, mask); ++ t1 = gen_reg_rtx (mode); ++ emit_insn (gen_subv2si3 (t1, op0, mask)); ++ t2 = gen_reg_rtx (mode); ++ emit_insn (gen_subv2si3 (t2, op1, mask)); ++ op0 = t1; ++ op1 = t2; + code = GT; +- op0 = x; +- op1 = CONST0_RTX (mode); + } + break; + +Index: gcc/config/rs6000/rs6000.c +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/rs6000/rs6000.c (.../branches/gcc-4_3-branch) +@@ -13811,8 +13811,6 @@ + enum machine_mode mode = GET_MODE (mem); + rtx label, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); + +- emit_insn (gen_memory_barrier ()); +- + label = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); + emit_label (XEXP (label, 0)); + +@@ -16225,6 +16223,8 @@ + + if (! HAVE_prologue) + { ++ rtx prologue; ++ + start_sequence (); + + /* A NOTE_INSN_DELETED is supposed to be at the start and end of +@@ -16244,10 +16244,14 @@ + } + } + ++ prologue = get_insns (); ++ end_sequence (); ++ + if (TARGET_DEBUG_STACK) +- debug_rtx_list (get_insns (), 100); +- final (get_insns (), file, FALSE); +- end_sequence (); ++ debug_rtx_list (prologue, 100); ++ ++ emit_insn_before_noloc (prologue, BB_HEAD (ENTRY_BLOCK_PTR->next_bb), ++ ENTRY_BLOCK_PTR); + } + + rs6000_pic_labelno++; +Index: gcc/config/rs6000/rs6000.md +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/rs6000/rs6000.md (.../branches/gcc-4_3-branch) +@@ -10600,7 +10600,7 @@ + (minus:SI (match_operand:SI 2 "symbol_ref_operand" "s") + (match_operand:SI 3 "symbol_ref_operand" "s"))))] + "TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI != ABI_AIX && flag_pic" +- "{cal|addi} %0,%1,%2-%3@l") ++ "{cal %0,%2-%3@l(%1)|addi %0,%1,%2-%3@l}") + + ;; If the TOC is shared over a translation unit, as happens with all + ;; the kinds of PIC that we support, we need to restore the TOC +Index: gcc/config/dfp-bit.c +=================================================================== +--- a/src/gcc/config/dfp-bit.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/dfp-bit.c (.../branches/gcc-4_3-branch) +@@ -573,7 +573,6 @@ + decContext context; + + decContextDefault (&context, DEC_INIT_DECIMAL128); +- context.round = DEC_ROUND_DOWN; + f64 = *DEC_FLOAT_FROM_INT (&f64, i); + u32.f = *decSingleFromWider (&u32.f, &f64, &context); + if (DFP_EXCEPTIONS_ENABLED && context.status != 0) +@@ -598,7 +597,7 @@ + DFP_INIT_ROUNDMODE (context.round); + + /* Use a C library function to get a floating point string. */ +- sprintf (buf, INT_FMT ".0", CAST_FOR_FMT(i)); ++ sprintf (buf, INT_FMT ".", CAST_FOR_FMT(i)); + /* Convert from the floating point string to a decimal* type. */ + FROM_STRING (&s, buf, &context); + IEEE_TO_HOST (s, &f); +Index: gcc/config/pa/t-hpux-shlib +=================================================================== +--- a/src/gcc/config/pa/t-hpux-shlib (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/pa/t-hpux-shlib (.../branches/gcc-4_3-branch) +@@ -8,6 +8,7 @@ + SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ + + SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ ++ -Wl,+h -Wl,$(SHLIB_SONAME) \ + -o $(SHLIB_DIR)/$(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) && \ + rm -f $(SHLIB_DIR)/$(SHLIB_SONAME) && \ + if [ -f $(SHLIB_DIR)/$(SHLIB_NAME) ]; then \ +Index: gcc/config/pa/linux-unwind.h +=================================================================== +--- a/src/gcc/config/pa/linux-unwind.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/pa/linux-unwind.h (.../branches/gcc-4_3-branch) +@@ -138,6 +138,7 @@ + fs->regs.reg[DWARF_ALT_FRAME_RETURN_COLUMN].loc.offset + = (long) &sc->sc_iaoq[0] - new_cfa; + fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN; ++ fs->signal_frame = 1; + return _URC_NO_REASON; + } + #endif /* inhibit_libc */ +Index: gcc/config/pa/pa.md +=================================================================== +--- a/src/gcc/config/pa/pa.md (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/pa/pa.md (.../branches/gcc-4_3-branch) +@@ -3181,6 +3181,40 @@ + DONE; + }") + ++;; Handle HImode input reloads requiring a general register as a ++;; scratch register. ++(define_expand "reload_inhi" ++ [(set (match_operand:HI 0 "register_operand" "=Z") ++ (match_operand:HI 1 "non_hard_reg_operand" "")) ++ (clobber (match_operand:HI 2 "register_operand" "=&r"))] ++ "" ++ " ++{ ++ if (emit_move_sequence (operands, HImode, operands[2])) ++ DONE; ++ ++ /* We don't want the clobber emitted, so handle this ourselves. */ ++ emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1])); ++ DONE; ++}") ++ ++;; Handle HImode output reloads requiring a general register as a ++;; scratch register. ++(define_expand "reload_outhi" ++ [(set (match_operand:HI 0 "non_hard_reg_operand" "") ++ (match_operand:HI 1 "register_operand" "Z")) ++ (clobber (match_operand:HI 2 "register_operand" "=&r"))] ++ "" ++ " ++{ ++ if (emit_move_sequence (operands, HImode, operands[2])) ++ DONE; ++ ++ /* We don't want the clobber emitted, so handle this ourselves. */ ++ emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1])); ++ DONE; ++}") ++ + (define_insn "" + [(set (match_operand:HI 0 "move_dest_operand" + "=r,r,r,r,r,Q,!*q,!r") +@@ -3305,6 +3339,40 @@ + DONE; + }") + ++;; Handle QImode input reloads requiring a general register as a ++;; scratch register. ++(define_expand "reload_inqi" ++ [(set (match_operand:QI 0 "register_operand" "=Z") ++ (match_operand:QI 1 "non_hard_reg_operand" "")) ++ (clobber (match_operand:QI 2 "register_operand" "=&r"))] ++ "" ++ " ++{ ++ if (emit_move_sequence (operands, QImode, operands[2])) ++ DONE; ++ ++ /* We don't want the clobber emitted, so handle this ourselves. */ ++ emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1])); ++ DONE; ++}") ++ ++;; Handle QImode output reloads requiring a general register as a ++;; scratch register. ++(define_expand "reload_outqi" ++ [(set (match_operand:QI 0 "non_hard_reg_operand" "") ++ (match_operand:QI 1 "register_operand" "Z")) ++ (clobber (match_operand:QI 2 "register_operand" "=&r"))] ++ "" ++ " ++{ ++ if (emit_move_sequence (operands, QImode, operands[2])) ++ DONE; ++ ++ /* We don't want the clobber emitted, so handle this ourselves. */ ++ emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1])); ++ DONE; ++}") ++ + (define_insn "" + [(set (match_operand:QI 0 "move_dest_operand" + "=r,r,r,r,r,Q,!*q,!r") +@@ -3470,7 +3538,7 @@ + + size = INTVAL (operands[2]); + align = INTVAL (operands[3]); +- align = align > 4 ? 4 : align; ++ align = align > 4 ? 4 : (align ? align : 1); + + /* If size/alignment is large, then use the library routines. */ + if (size / align > 16) +@@ -3658,7 +3726,7 @@ + + size = INTVAL (operands[2]); + align = INTVAL (operands[3]); +- align = align > 8 ? 8 : align; ++ align = align > 8 ? 8 : (align ? align : 1); + + /* If size/alignment is large, then use the library routines. */ + if (size / align > 16) +@@ -7497,17 +7565,6 @@ + operands[0] = index; + } + +- /* In 64bit mode we must make sure to wipe the upper bits of the register +- just in case the addition overflowed or we had random bits in the +- high part of the register. */ +- if (TARGET_64BIT) +- { +- rtx index = gen_reg_rtx (DImode); +- +- emit_insn (gen_extendsidi2 (index, operands[0])); +- operands[0] = gen_rtx_SUBREG (SImode, index, 4); +- } +- + if (!INT_5_BITS (operands[2])) + operands[2] = force_reg (SImode, operands[2]); + +@@ -7524,6 +7581,17 @@ + emit_insn (gen_cmpsi (operands[0], operands[2])); + emit_jump_insn (gen_bgtu (operands[4])); + ++ /* In 64bit mode we must make sure to wipe the upper bits of the register ++ just in case the addition overflowed or we had random bits in the ++ high part of the register. */ ++ if (TARGET_64BIT) ++ { ++ rtx index = gen_reg_rtx (DImode); ++ ++ emit_insn (gen_extendsidi2 (index, operands[0])); ++ operands[0] = index; ++ } ++ + if (TARGET_BIG_SWITCH) + { + if (TARGET_64BIT) +@@ -7584,8 +7652,7 @@ + ;;; 64-bit code, 32-bit relative branch table. + (define_insn "casesi64p" + [(set (pc) (mem:DI (plus:DI +- (mult:DI (sign_extend:DI +- (match_operand:SI 0 "register_operand" "r")) ++ (mult:DI (match_operand:DI 0 "register_operand" "r") + (const_int 8)) + (label_ref (match_operand 1 "" ""))))) + (clobber (match_scratch:DI 2 "=&r")) +Index: gcc/config/pa/hpux-unwind.h +=================================================================== +--- a/src/gcc/config/pa/hpux-unwind.h (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/pa/hpux-unwind.h (.../branches/gcc-4_3-branch) +@@ -355,6 +355,7 @@ + + fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN; + UPDATE_FS_FOR_PC (fs, DWARF_ALT_FRAME_RETURN_COLUMN); ++ fs->signal_frame = 1; + + return _URC_NO_REASON; + } +Index: gcc/config/pa/pa.c +=================================================================== +--- a/src/gcc/config/pa/pa.c (.../tags/gcc_4_3_4_release) ++++ b/src/gcc/config/pa/pa.c (.../branches/gcc-4_3-branch) +@@ -1618,7 +1618,7 @@ + /* D might not fit in 14 bits either; for such cases load D into + scratch reg. */ + if (GET_CODE (operand1) == MEM +- && !memory_address_p (Pmode, XEXP (operand1, 0))) ++ && !memory_address_p (GET_MODE (operand0), XEXP (operand1, 0))) + { + /* We are reloading the address into the scratch register, so we + want to make sure the scratch register is a full register. */ +Index: libstdc++-v3/ChangeLog +=================================================================== +--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,20 @@ ++2010-04-09 John David Anglin ++ ++ PR target/43458 ++ * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: ++ Xfail hppa*-*-hpux*. ++ ++2010-02-23 Kaveh R. Ghazi ++ ++ Backport: ++ 2010-01-20 Janis Johnson ++ Paolo Carlini ++ ++ PR libstdc++/21769 ++ * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add. ++ * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: ++ Use it. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc (.../tags/gcc_4_3_4_release) ++++ b/src/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + // 2001-04-06 gdr + +-// Copyright (C) 2001, 2005 Free Software Foundation, Inc. ++// Copyright (C) 2001, 2005, 2010 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -28,9 +28,11 @@ + // the GNU General Public License. + + // { dg-do compile } +-// { dg-xfail-if "" { { *-*-linux* *-*-darwin* } || { uclibc || newlib } } { "*" } { "" } } +-// { dg-excess-errors "" { target { { *-*-linux* *-*-darwin* } || { uclibc || newlib } } } } ++// { dg-add-options no_pch } + ++// { dg-xfail-if "" { { *-*-linux* *-*-darwin* hppa*-*-hpux* } || { uclibc || newlib } } { "*" } { "" } } ++// { dg-excess-errors "" { target { { *-*-linux* *-*-darwin* hppa*-*-hpux* } || { uclibc || newlib } } } } ++ + #include + + void fpclassify() { } +Index: libstdc++-v3/testsuite/lib/dg-options.exp +=================================================================== +--- a/src/libstdc++-v3/testsuite/lib/dg-options.exp (.../tags/gcc_4_3_4_release) ++++ b/src/libstdc++-v3/testsuite/lib/dg-options.exp (.../branches/gcc-4_3-branch) +@@ -1,6 +1,6 @@ + # Handlers for additional dg-xxx keywords in tests. + +-# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. ++# Copyright (C) 2004, 2005, 2006, 2007, 2010 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 +@@ -88,3 +88,8 @@ + } + return + } ++ ++proc add_options_for_no_pch { flags } { ++ # This forces any generated and possibly included PCH to be invalid. ++ return "-D__GLIBCXX__=99999999" ++} +Index: libgfortran/ChangeLog +=================================================================== +--- a/src/libgfortran/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libgfortran/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,19 @@ ++2010-02-04 Jerry DeLisle ++ ++ PR libfortran/42901 ++ * io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up ++ code, and adjust logic to set namelist info pointer correctly for array ++ qualifiers of derived type components. ++ ++2009-11-20 Jerry DeLisle ++ ++ PR libgfortran/42090 ++ Backport from trunk. ++ * io/transfer.c (skip_record): Set bytes_left_subrecord to zero after ++ skipping the remaining bytes in the record. ++ (next_record_r): Call skip_record with the number of bytes_left to be ++ skipped. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: libgfortran/io/list_read.c +=================================================================== +--- a/src/libgfortran/io/list_read.c (.../tags/gcc_4_3_4_release) ++++ b/src/libgfortran/io/list_read.c (.../branches/gcc-4_3-branch) +@@ -297,10 +297,10 @@ + eat_line (st_parameter_dt *dtp) + { + char c; +- if (!is_internal_unit (dtp)) +- do +- c = next_char (dtp); +- while (c != '\n'); ++ ++ do ++ c = next_char (dtp); ++ while (c != '\n'); + } + + +@@ -2522,7 +2522,7 @@ + namelist_info * first_nl = NULL; + namelist_info * root_nl = NULL; + int dim, parsed_rank; +- int component_flag; ++ int component_flag, qualifier_flag; + index_type clow, chigh; + int non_zero_rank_count; + +@@ -2571,11 +2571,12 @@ + break; + } + +- /* Untouch all nodes of the namelist and reset the flag that is set for ++ /* Untouch all nodes of the namelist and reset the flags that are set for + derived type components. */ + + nml_untouch_nodes (dtp); + component_flag = 0; ++ qualifier_flag = 0; + non_zero_rank_count = 0; + + /* Get the object name - should '!' and '\n' be permitted separators? */ +@@ -2657,10 +2658,11 @@ + " for namelist variable %s", nl->var_name); + goto nml_err_ret; + } +- + if (parsed_rank > 0) + non_zero_rank_count++; + ++ qualifier_flag = 1; ++ + c = next_char (dtp); + unget_char (dtp, c); + } +@@ -2685,6 +2687,7 @@ + + root_nl = nl; + component_flag = 1; ++ + c = next_char (dtp); + goto get_name; + } +@@ -2725,15 +2728,6 @@ + unget_char (dtp, c); + } + +- /* If a derived type touch its components and restore the root +- namelist_info if we have parsed a qualified derived type +- component. */ +- +- if (nl->type == GFC_DTYPE_DERIVED) +- nml_touch_nodes (nl); +- if (component_flag && nl->var_rank > 0) +- nl = first_nl; +- + /* Make sure no extraneous qualifiers are there. */ + + if (c == '(') +@@ -2779,9 +2773,24 @@ + goto nml_err_ret; + } + +- if (first_nl != NULL && first_nl->var_rank > 0) +- nl = first_nl; ++ /* If a derived type, touch its components and restore the root ++ namelist_info if we have parsed a qualified derived type ++ component. */ + ++ if (nl->type == GFC_DTYPE_DERIVED) ++ nml_touch_nodes (nl); ++ ++ if (first_nl) ++ { ++ if (first_nl->var_rank == 0) ++ { ++ if (component_flag && qualifier_flag) ++ nl = first_nl; ++ } ++ else ++ nl = first_nl; ++ } ++ + if (nml_read_obj (dtp, nl, 0, pprev_nl, nml_err_msg, nml_err_msg_size, + clow, chigh) == FAILURE) + goto nml_err_ret; +Index: libgfortran/io/transfer.c +=================================================================== +--- a/src/libgfortran/io/transfer.c (.../tags/gcc_4_3_4_release) ++++ b/src/libgfortran/io/transfer.c (.../branches/gcc-4_3-branch) +@@ -2186,6 +2186,8 @@ + only I/O errors. */ + if (sseek (dtp->u.p.current_unit->s, new) == FAILURE) + generate_error (&dtp->common, LIBERROR_OS, NULL); ++ ++ dtp->u.p.current_unit->bytes_left_subrecord = 0; + } + else + { /* Seek by reading data. */ +@@ -2258,7 +2260,7 @@ + + case FORMATTED_DIRECT: + case UNFORMATTED_DIRECT: +- skip_record (dtp, 0); ++ skip_record (dtp, dtp->u.p.current_unit->bytes_left); + break; + + case FORMATTED_STREAM: +Index: libmudflap/ChangeLog +=================================================================== +--- a/src/libmudflap/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libmudflap/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,8 @@ ++2010-03-15 David S. Miller ++ ++ * testsuite/libmudflap.c/pass54-frag.c: Add explicit return from ++ main. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: libmudflap/testsuite/libmudflap.c/pass54-frag.c +=================================================================== +--- a/src/libmudflap/testsuite/libmudflap.c/pass54-frag.c (.../tags/gcc_4_3_4_release) ++++ b/src/libmudflap/testsuite/libmudflap.c/pass54-frag.c (.../branches/gcc-4_3-branch) +@@ -30,4 +30,5 @@ + foo (); + bar (); + __mf_set_options ("-mode-check"); ++ return 0; + } +Index: libffi/ChangeLog +=================================================================== +--- a/src/libffi/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libffi/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,12 @@ ++2009-09-23 Matthias Klose ++ ++ PR libffi/40242, PR libffi/41443 ++ * src/arm/sysv.S (__ARM_ARCH__): Define for processors ++ __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__, ++ __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__. ++ Change the conditionals to __SOFTFP__ || __ARM_EABI__ ++ for -mfloat-abi=softfp to work. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: libffi/src/arm/sysv.S +=================================================================== +--- a/src/libffi/src/arm/sysv.S (.../tags/gcc_4_3_4_release) ++++ b/src/libffi/src/arm/sysv.S (.../branches/gcc-4_3-branch) +@@ -66,11 +66,18 @@ + + #if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ + || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \ +- || defined(__ARM_ARCH_6ZK__) ++ || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \ ++ || defined(__ARM_ARCH_6M__) + # undef __ARM_ARCH__ + # define __ARM_ARCH__ 6 + #endif + ++#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ ++ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) ++# undef __ARM_ARCH__ ++# define __ARM_ARCH__ 7 ++#endif ++ + #if __ARM_ARCH__ >= 5 + # define call_reg(x) blx x + #elif defined (__ARM_ARCH_4T__) +@@ -188,7 +195,7 @@ + + @ return INT + cmp r3, #FFI_TYPE_INT +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + cmpne r3, #FFI_TYPE_FLOAT + #endif + streq r0, [r2] +@@ -196,12 +203,12 @@ + + @ return INT64 + cmp r3, #FFI_TYPE_SINT64 +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + cmpne r3, #FFI_TYPE_DOUBLE + #endif + stmeqia r2, {r0, r1} + +-#ifndef __SOFTFP__ ++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__) + beq LSYM(Lepilogue) + + @ return FLOAT +@@ -244,21 +251,21 @@ + beq .Lretint + + cmp r0, #FFI_TYPE_FLOAT +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + beq .Lretint + #else + beq .Lretfloat + #endif + + cmp r0, #FFI_TYPE_DOUBLE +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + beq .Lretlonglong + #else + beq .Lretdouble + #endif + + cmp r0, #FFI_TYPE_LONGDOUBLE +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + beq .Lretlonglong + #else + beq .Lretlongdouble +@@ -277,7 +284,7 @@ + ldr r1, [sp, #4] + b .Lclosure_epilogue + +-#ifndef __SOFTFP__ ++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__) + .Lretfloat: + ldfs f0, [sp] + b .Lclosure_epilogue +Index: libjava/libltdl/ltdl.c +=================================================================== +--- a/src/libjava/libltdl/ltdl.c (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/libltdl/ltdl.c (.../branches/gcc-4_3-branch) +@@ -2175,7 +2175,8 @@ + static int try_dlopen LT_PARAMS((lt_dlhandle *handle, + const char *filename)); + static int tryall_dlopen LT_PARAMS((lt_dlhandle *handle, +- const char *filename)); ++ const char *filename, ++ const char * useloader)); + static int unload_deplibs LT_PARAMS((lt_dlhandle handle)); + static int lt_argz_insert LT_PARAMS((char **pargz, + size_t *pargz_len, +@@ -2361,9 +2362,10 @@ + } + + static int +-tryall_dlopen (handle, filename) ++tryall_dlopen (handle, filename, useloader) + lt_dlhandle *handle; + const char *filename; ++ const char *useloader; + { + lt_dlhandle cur; + lt_dlloader *loader; +@@ -2430,6 +2432,11 @@ + + while (loader) + { ++ if (useloader && strcmp(loader->loader_name, useloader)) ++ { ++ loader = loader->next; ++ continue; ++ } + lt_user_data data = loader->dlloader_data; + + cur->module = loader->module_open (data, filename); +@@ -2499,7 +2506,7 @@ + error += tryall_dlopen_module (handle, + (const char *) 0, prefix, filename); + } +- else if (tryall_dlopen (handle, filename) != 0) ++ else if (tryall_dlopen (handle, filename, NULL) != 0) + { + ++error; + } +@@ -2520,7 +2527,7 @@ + /* Try to open the old library first; if it was dlpreopened, + we want the preopened version of it, even if a dlopenable + module is available. */ +- if (old_name && tryall_dlopen (handle, old_name) == 0) ++ if (old_name && tryall_dlopen (handle, old_name, "dlpreload") == 0) + { + return 0; + } +@@ -2784,7 +2791,7 @@ + + /* Try to dlopen the file, but do not continue searching in any + case. */ +- if (tryall_dlopen (handle, filename) != 0) ++ if (tryall_dlopen (handle, filename,NULL) != 0) + *handle = 0; + + return 1; +@@ -3072,7 +3079,7 @@ + /* lt_dlclose()ing yourself is very bad! Disallow it. */ + LT_DLSET_FLAG (*phandle, LT_DLRESIDENT_FLAG); + +- if (tryall_dlopen (&newhandle, 0) != 0) ++ if (tryall_dlopen (&newhandle, 0, NULL) != 0) + { + LT_DLFREE (*phandle); + return 1; +@@ -3194,7 +3201,7 @@ + } + #endif + } +- if (!file) ++ else + { + file = fopen (filename, LT_READTEXT_MODE); + } +@@ -3378,7 +3385,7 @@ + #endif + ))) + { +- if (tryall_dlopen (&newhandle, filename) != 0) ++ if (tryall_dlopen (&newhandle, filename, NULL) != 0) + { + newhandle = NULL; + } +Index: libjava/libltdl/configure +=================================================================== +--- a/src/libjava/libltdl/configure (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/libltdl/configure (.../branches/gcc-4_3-branch) +@@ -8587,7 +8587,7 @@ + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + +@@ -12385,7 +12385,7 @@ + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + +@@ -15666,7 +15666,7 @@ + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + +@@ -18152,7 +18152,7 @@ + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + +Index: libjava/libltdl/ChangeLog +=================================================================== +--- a/src/libjava/libltdl/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/libltdl/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,18 @@ ++2009-12-03 Jakub Jelinek ++ ++ * acinclude.m4: Regenerated to pick: ++ 2007-06-22 Ralf Wildenhues ++ ++ * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]: ++ Ignore lines in ld.so.conf starting with 'hwcap '. ++ ++ * configure: Regenerated. ++ ++ 2009-11-24 Peter O'Gorman ++ ++ Backport of libltdl changes from the 2.26b release. ++ * ltdl.c: Backport changes. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: libjava/libltdl/acinclude.m4 +=================================================================== +--- a/src/libjava/libltdl/acinclude.m4 (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/libltdl/acinclude.m4 (.../branches/gcc-4_3-branch) +@@ -1527,7 +1527,7 @@ + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` ++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + +Index: libjava/include/pa-signal.h +=================================================================== +--- a/src/libjava/include/pa-signal.h (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/include/pa-signal.h (.../branches/gcc-4_3-branch) +@@ -12,29 +12,17 @@ + #define JAVA_SIGNAL_H 1 + + #include +-#include + #include + + #define HANDLE_SEGV 1 + #define HANDLE_FPE 1 + +-#define SIGNAL_HANDLER(_name) \ +-static void _Jv_##_name (int _dummy, siginfo_t *_info, void *arg) ++#define SIGNAL_HANDLER(_name) \ ++static void _Jv_##_name (int _dummy __attribute__ ((unused)), \ ++ siginfo_t *_info __attribute__ ((__unused__)), \ ++ void *arg __attribute__ ((__unused__))) + +-#define MAKE_THROW_FRAME(_exception) \ +-do \ +-{ \ +- struct ucontext *uc = (struct ucontext *)arg; \ +- struct sigcontext *sc = &uc->uc_mcontext; \ +- (void)_dummy; \ +- (void)_info; \ +- /* Advance the program counter so that it is after the start \ +- of the instruction: the exception handler expects \ +- the PC to point to the instruction after a call. */ \ +- sc->sc_iaoq[0] = sc->sc_iaoq[1]; \ +- sc->sc_iaoq[1] += 4; \ +-} \ +-while (0) ++#define MAKE_THROW_FRAME(_exception) + + #define INIT_SEGV \ + do \ +Index: libjava/include/hppa-signal.h +=================================================================== +--- a/src/libjava/include/hppa-signal.h (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/include/hppa-signal.h (.../branches/gcc-4_3-branch) +@@ -9,60 +9,41 @@ + Libgcj License. Please consult the file "LIBGCJ_LICENSE" for + details. */ + +-/* This file is really more of a specification. The rest of the system +- should be arranged so that this Just Works. */ +- + #ifndef JAVA_SIGNAL_H +-# define JAVA_SIGNAL_H 1 ++#define JAVA_SIGNAL_H 1 + +-#include + #include +-#include +-#include + +-# define HANDLE_SEGV 1 +-# undef HANDLE_FPE ++#define HANDLE_SEGV 1 ++#define HANDLE_FPE 1 + + #define SIGNAL_HANDLER(_name) \ +- static void _name (int _dummy __attribute__ ((unused)), \ +- siginfo_t *_info __attribute__ ((__unused__)), \ +- void *arg __attribute__ ((__unused__))) ++static void _name (int _dummy __attribute__ ((unused)), \ ++ siginfo_t *_info __attribute__ ((__unused__)), \ ++ void *arg __attribute__ ((__unused__))) + +-#define MAKE_THROW_FRAME(_exception) \ +-do \ +-{ \ +- ucontext_t *_context = (ucontext_t *) arg; \ +- (void)_dummy; \ +- (void)_info; \ +- mcontext_t *mc = &(_context->uc_mcontext); \ +- SetSSReg (mc, ss_pcoq_head, GetSSReg (mc, ss_pcoq_tail)); \ +- SetSSReg (mc, ss_pcsq_head, GetSSReg (mc, ss_pcsq_tail)); \ +- /* This part is not quit right if the head pc was pointing \ +- at a branch. The tail needs to be adjusted to the branch \ +- target if the branch is taken. The tail space register \ +- may need adjustment as well if the branch is an interspace \ +- branch. */ \ +- SetSSReg (mc, ss_pcoq_tail, (GetSSReg (mc, ss_pcoq_tail) + 4)); \ +- \ +- } \ ++#define MAKE_THROW_FRAME(_exception) ++ ++#define INIT_SEGV \ ++do \ ++ { \ ++ struct sigaction sa; \ ++ sa.sa_sigaction = catch_segv; \ ++ sigemptyset (&sa.sa_mask); \ ++ sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ ++ sigaction (SIGSEGV, &sa, NULL); \ ++ } \ + while (0) + +-# define INIT_SEGV \ +- do { \ +- struct sigaction sa; \ +- sa.sa_sigaction = catch_segv; \ +- sigemptyset (&sa.sa_mask); \ +- sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ +- sigaction (SIGSEGV, &sa, NULL); \ +- } while (0) ++#define INIT_FPE \ ++do \ ++ { \ ++ struct sigaction sa; \ ++ sa.sa_sigaction = catch_fpe; \ ++ sigemptyset (&sa.sa_mask); \ ++ sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ ++ sigaction (SIGFPE, &sa, NULL); \ ++ } \ ++while (0) + +-# define INIT_FPE \ +- do { \ +- struct sigaction sa; \ +- sa.sa_sigaction = catch_fpe; \ +- sigemptyset (&sa.sa_mask); \ +- sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ +- sigaction (SIGFPE, &sa, NULL); \ +- } while (0) +- + #endif /* JAVA_SIGNAL_H */ +Index: libjava/ChangeLog +=================================================================== +--- a/src/libjava/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/libjava/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,18 @@ ++2010-04-09 John David Anglin ++ ++ Backport: ++ 2009-12-09 John David Anglin ++ ++ * include/pa-signal.h: Do not include ucontext.h. ++ (SIGNAL_HANDLER): Add __attribute__ ((unused)) to signal handler ++ arguments. ++ (MAKE_THROW_FRAME): Do not adjust program counter. ++ * include/hppa-signal.h: Do not include sys/types.h, sys/syscall.h and ++ unistd.h. ++ (MAKE_THROW_FRAME): Do not adjust program counter. ++ (HANDLE_FPE): Define. ++ (INIT_SEGV, INIT_FPE): Revise indentation. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: maintainer-scripts/ChangeLog +=================================================================== +--- a/src/maintainer-scripts/ChangeLog (.../tags/gcc_4_3_4_release) ++++ b/src/maintainer-scripts/ChangeLog (.../branches/gcc-4_3-branch) +@@ -1,3 +1,8 @@ ++2010-03-31 Joseph Myers ++ ++ * gcc_release (build_tarfiles): Make directories mode 755, not ++ 777. ++ + 2009-08-04 Release Manager + + * GCC 4.3.4 released. +Index: maintainer-scripts/gcc_release +=================================================================== +--- a/src/maintainer-scripts/gcc_release (.../tags/gcc_4_3_4_release) ++++ b/src/maintainer-scripts/gcc_release (.../branches/gcc-4_3-branch) +@@ -9,7 +9,7 @@ + # Contents: + # Script to create a GCC release. + # +-# Copyright (c) 2001, 2002, 2006 Free Software Foundation. ++# Copyright (c) 2001, 2002, 2006, 2010 Free Software Foundation. + # + # This file is part of GCC. + # +@@ -288,8 +288,8 @@ + # The GNU Coding Standards specify that all files should + # world readable. + chmod -R a+r ${SOURCE_DIRECTORY} +- # And that all directories have mode 777. +- find ${SOURCE_DIRECTORY} -type d -exec chmod 777 {} \; ++ # And that all directories have mode 755. ++ find ${SOURCE_DIRECTORY} -type d -exec chmod 755 {} \; + + # Build one huge tarfile for the entire distribution. + build_tarfile gcc-${RELEASE} `basename ${SOURCE_DIRECTORY}` --- gcc-4.3-4.3.4.orig/debian/patches/gdc-pr26885.dpatch +++ gcc-4.3-4.3.4/debian/patches/gdc-pr26885.dpatch @@ -0,0 +1,61 @@ +#! /bin/sh -e + +# gdc-pr26885.dpatch by Arthur Loiret +# DP: Update Make-lang.in for pr26885: use $(GCC_OBJS) instead of gcc.o. +# DP: Updated for gdc-4.3 by Iain Buclaw + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +--- gcc/d/Make-lang.in 2010-03-01 17:18:05.000000000 +0000 ++++ gcc/d/Make-lang.in 2010-03-07 12:25:30.774864274 +0000 +@@ -48,7 +48,7 @@ + # into the C++ rule, but that needs a little bit of work + # to do the right thing within all.cross. + D_DRIVER_NAME = gdc +-D_DRIVER_OBJS = d/d-spec.o d/d-gcc.o version.o prefix.o intl.o ++D_DRIVER_OBJS = d/d-spec.o version.o prefix.o intl.o + D_COMPILER_NAME = cc1d + + D_INSTALL_NAME = $(shell echo $(D_DRIVER_NAME)|sed '$(program_transform_name)') +@@ -176,9 +176,9 @@ + ALL_DMD_COMPILER_FLAGS = $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Id -I$(srcdir)/$(D_dmd_srcdir) -I$(srcdir)/d $(D_EXTRA_DEFINES) $(D_CC_FLAGS) + + # Create the compiler driver for D. +-$(D_DRIVER_NAME)$(exeext): $(D_DRIVER_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS) ++$(D_DRIVER_NAME)$(exeext): $(GCC_OBJS) $(D_DRIVER_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS) + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ +- $(D_DRIVER_OBJS) $(EXTRA_GCC_OBJS) $(LIBS) ++ $(GCC_OBJS) $(D_DRIVER_OBJS) $(EXTRA_GCC_OBJS) $(LIBS) + + # Create a version of the g++ driver which calls the cross-compiler. + $(D_DRIVER_NAME)-cross$(exeext): $(D_DRIVER_NAME)$(exeext) +@@ -239,7 +239,6 @@ + D_GLUE_OBJS += d/d-c-stubs.cglue.o + D_BORROWED_C_OBJS += stub-objc.o prefix.o $(C_TARGET_OBJS) + D_EXTRA_LIBS += $(GMPLIBS) +- D_DRIVER_OBJS += opts-common.o gcc-options.o + endif + endif + endif --- gcc-4.3-4.3.4.orig/debian/patches/config-ml.dpatch +++ gcc-4.3-4.3.4/debian/patches/config-ml.dpatch @@ -0,0 +1,94 @@ +#! /bin/sh -e + +# DP: disable some biarch libraries for biarch builds + +if [ $# -eq 3 ] && [ "$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 -p0 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- config-ml.in.orig 2007-12-01 10:09:04.533972767 +0100 ++++ config-ml.in 2007-12-01 10:21:50.625529084 +0100 +@@ -301,6 +301,11 @@ + done + fi + ;; ++i[34567]86-*-*) ++ case " $multidirs " in ++ *" 64 "*) ac_configure_args="${ac_configure_args} --host=x86_64-linux-gnu" ++ esac ++ ;; + m68*-*-*) + if [ x$enable_softfloat = xno ] + then +@@ -472,9 +477,36 @@ + esac + done + fi ++ case " $multidirs " in ++ *" 64 "*) ac_configure_args="${ac_configure_args} --host=powerpc64-linux-gnu" ++ esac ++ ;; ++s390-*-*) ++ case " $multidirs " in ++ *" 64 "*) ac_configure_args="${ac_configure_args} --host=s390x-linux-gnu" ++ esac + ;; + esac + ++if [ -z "$biarch_multidir_names" ]; then ++ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp" ++ echo "WARNING: biarch_multidir_names is unset. Use default value:" ++ echo " $biarch_multidir_names" ++fi ++ml_srcbase=`basename $ml_realsrcdir` ++old_multidirs="${multidirs}" ++multidirs="" ++for x in ${old_multidirs}; do ++ case " $x " in ++ " 32 "|" n32 "|" 64 " ) ++ case "$biarch_multidir_names" in ++ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;; ++ esac ++ ;; ++ *) multidirs="${multidirs} ${x}" ;; ++ esac ++done ++ + # Remove extraneous blanks from multidirs. + # Tests like `if [ -n "$multidirs" ]' require it. + multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'` +@@ -852,9 +884,20 @@ + fi + fi + ++ ml_configure_args= ++ for arg in ${ac_configure_args} ++ do ++ case $arg in ++ *CC=*) ml_configure_args=${ml_config_env} ;; ++ *CXX=*) ml_configure_args=${ml_config_env} ;; ++ *GCJ=*) ml_configure_args=${ml_config_env} ;; ++ *) ;; ++ esac ++ done ++ + if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ + --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ +- ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then ++ ${ac_configure_args} ${ml_configure_args} ${ml_srcdiroption} ; then + true + else + exit 1 --- gcc-4.3-4.3.4.orig/debian/patches/testsuite-hardening-printf-types.dpatch +++ gcc-4.3-4.3.4/debian/patches/testsuite-hardening-printf-types.dpatch @@ -0,0 +1,662 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: Description: adjust/standardize printf types to avoid -Wformat warnings. +# DP: Author: Kees Cook +# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502 + +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 + +diff -uNrp ../src.orig/gcc/testsuite/g++.dg/ext/align1.C src/gcc/testsuite/g++.dg/ext/align1.C +--- ../src.orig/gcc/testsuite/g++.dg/ext/align1.C 2002-02-06 08:18:33.000000000 -0800 ++++ src/gcc/testsuite/g++.dg/ext/align1.C 2009-03-17 13:40:03.000000000 -0700 +@@ -16,6 +16,7 @@ float f1 __attribute__ ((aligned)); + int + main (void) + { +- printf ("%d %d\n", __alignof (a1), __alignof (f1)); ++ // "%td" is not allowed by ISO C++, so use %p with a void * cast ++ printf ("%p %p\n", (void*)__alignof (a1), (void*)__alignof (f1)); + return (__alignof (a1) < __alignof (f1)); + } +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.law/operators28.C src/gcc/testsuite/g++.old-deja/g++.law/operators28.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.law/operators28.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.law/operators28.C 2009-03-17 13:40:03.000000000 -0700 +@@ -14,7 +14,8 @@ void* new_test::operator new(size_t sz, + { + void *p; + +- printf("%d %d %d\n", sz, count, type); ++ // ISO C++ does not support format size modifier "z", so use a cast ++ printf("%u %d %d\n", (unsigned int)sz, count, type); + + p = new char[sz * count]; + ((new_test *)p)->type = type; +diff -uNrp ../src.orig/gcc/testsuite/gcc.dg/matrix/matrix-2.c src/gcc/testsuite/gcc.dg/matrix/matrix-2.c +--- ../src.orig/gcc/testsuite/gcc.dg/matrix/matrix-2.c 2007-05-28 04:27:34.000000000 -0700 ++++ src/gcc/testsuite/gcc.dg/matrix/matrix-2.c 2009-03-17 17:10:34.000000000 -0700 +@@ -42,7 +42,7 @@ main (int argc, char **argv) + } + for (i = 0; i < ARCHnodes; i++) + for (j = 0; j < 3; j++) +- printf ("%x\n",vel[i][j]); ++ printf ("%p\n",vel[i][j]); + /*if (i!=1 || j!=1)*/ + /*if (i==1 && j==1) + continue; +@@ -83,14 +83,14 @@ mem_init (void) + for (j = 0; j < 3; j++) + { + vel[i][j] = (int *) malloc (ARCHnodes1 * sizeof (int)); +- printf ("%x %d %d\n",vel[i][j], ARCHnodes1, sizeof (int)); ++ printf ("%p %d %d\n",vel[i][j], ARCHnodes1, (int)sizeof (int)); + } + } + for (i = 0; i < ARCHnodes; i++) + { + for (j = 0; j < 3; j++) + { +- printf ("%x\n",vel[i][j]); ++ printf ("%p\n",vel[i][j]); + } + } + +@@ -99,7 +99,7 @@ mem_init (void) + { + for (j = 0; j < 3; j++) + { +- printf ("%x\n",vel[i][j]); ++ printf ("%p\n",vel[i][j]); + /*for (k = 0; k < ARCHnodes1; k++) + { + vel[i][j][k] = d; +diff -uNrp ../src.orig/gcc/testsuite/gcc.dg/packed-vla.c src/gcc/testsuite/gcc.dg/packed-vla.c +--- ../src.orig/gcc/testsuite/gcc.dg/packed-vla.c 2007-09-11 08:08:57.000000000 -0700 ++++ src/gcc/testsuite/gcc.dg/packed-vla.c 2009-03-17 17:00:46.000000000 -0700 +@@ -17,8 +17,8 @@ int func(int levels) + int b[4]; + } __attribute__ ((__packed__)) foo; + +- printf("foo %d\n", sizeof(foo)); +- printf("bar %d\n", sizeof(bar)); ++ printf("foo %d\n", (int)sizeof(foo)); ++ printf("bar %d\n", (int)sizeof(bar)); + + if (sizeof (foo) != sizeof (bar)) + abort (); +diff -uNrp ../src.orig/gcc/testsuite/g++.dg/opt/alias2.C src/gcc/testsuite/g++.dg/opt/alias2.C +--- ../src.orig/gcc/testsuite/g++.dg/opt/alias2.C 2005-04-25 11:28:55.000000000 -0700 ++++ src/gcc/testsuite/g++.dg/opt/alias2.C 2009-03-17 13:40:03.000000000 -0700 +@@ -30,14 +30,14 @@ public: + + + _Deque_base::~_Deque_base() { +- printf ("bb %x %x\n", this, *_M_start._M_node); ++ printf ("bb %p %x\n", this, *_M_start._M_node); + } + + void + _Deque_base::_M_initialize_map() + { + yy = 0x123; +- printf ("aa %x %x\n", this, yy); ++ printf ("aa %p %x\n", this, yy); + + _M_start._M_node = &yy; + _M_start._M_cur = yy; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C 2003-07-01 05:01:44.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C 2009-03-17 13:40:03.000000000 -0700 +@@ -33,7 +33,7 @@ struct VBase + void Offset () const + { + printf ("VBase\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); + } + }; + +@@ -55,8 +55,8 @@ struct VDerived : virtual VBase + void Offset () const + { + printf ("VDerived\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); +- printf (" VDerived::member %d\n", &this->VDerived::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); ++ printf (" VDerived::member %d\n", (int)(&this->VDerived::member - (int *)this)); + } + }; + struct B : virtual VBase +@@ -65,8 +65,8 @@ struct B : virtual VBase + void Offset () const + { + printf ("B\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); +- printf (" B::member %d\n", &this->B::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); ++ printf (" B::member %d\n", (int)(&this->B::member - (int *)this)); + } + }; + struct MostDerived : B, virtual VDerived +@@ -75,10 +75,10 @@ struct MostDerived : B, virtual VDerived + void Offset () const + { + printf ("MostDerived\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); +- printf (" B::member %d\n", &this->B::member - (int *)this); +- printf (" VDerived::member %d\n", &this->VDerived::member - (int *)this); +- printf (" MostDerived::member %d\n", &this->MostDerived::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); ++ printf (" B::member %d\n", (int)(&this->B::member - (int *)this)); ++ printf (" VDerived::member %d\n", (int)(&this->VDerived::member - (int *)this)); ++ printf (" MostDerived::member %d\n", (int)(&this->MostDerived::member - (int *)this)); + } + }; + +@@ -95,10 +95,10 @@ int main () + if (ctorVDerived != &dum.VDerived::member) + return 24; + +- printf (" VBase::member %d\n", &dum.VBase::member - this_); +- printf (" B::member %d\n", &dum.B::member - this_); +- printf (" VDerived::member %d\n", &dum.VDerived::member - this_); +- printf (" MostDerived::member %d\n", &dum.MostDerived::member - this_); ++ printf (" VBase::member %d\n", (int)(&dum.VBase::member - this_)); ++ printf (" B::member %d\n", (int)(&dum.B::member - this_)); ++ printf (" VDerived::member %d\n", (int)(&dum.VDerived::member - this_)); ++ printf (" MostDerived::member %d\n", (int)(&dum.MostDerived::member - this_)); + dum.MostDerived::Offset (); + dum.B::Offset (); + dum.VDerived::Offset (); +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.brendan/template8.C src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.brendan/template8.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C 2009-03-17 13:40:03.000000000 -0700 +@@ -15,6 +15,6 @@ int main(){ + + Double_alignt<20000> heap; + +- printf(" &heap.array[0] = %d, &heap.for_alignt = %d\n", &heap.array[0], &heap.for_alignt); ++ printf(" &heap.array[0] = %p, &heap.for_alignt = %p\n", (void*)&heap.array[0], (void*)&heap.for_alignt); + + } +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C 2007-03-22 12:44:09.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C 2009-03-17 16:08:59.000000000 -0700 +@@ -16,7 +16,7 @@ int main() + } + + catch (E *&e) { +- printf ("address of e is 0x%lx\n", (__SIZE_TYPE__)e); ++ printf ("address of e is %p\n", (void *)e); + return !((__SIZE_TYPE__)e != 5 && e->x == 5); + } + return 2; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.jason/access23.C src/gcc/testsuite/g++.old-deja/g++.jason/access23.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.jason/access23.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.jason/access23.C 2009-03-17 13:40:03.000000000 -0700 +@@ -42,19 +42,19 @@ public: + void DoSomething() { + PUB_A = 0; + Foo::A = 0; +- printf("%x\n",pX); ++ printf("%p\n",pX); + Foo::PUB.A = 0; +- printf("%x\n",PUB.pX); ++ printf("%p\n",PUB.pX); + B = 0; +- printf("%x\n",Foo::pY); ++ printf("%p\n",Foo::pY); + PRT_A = 0; + PRT.B = 0; +- printf("%x\n",Foo::PRT.pY); ++ printf("%p\n",Foo::PRT.pY); + PRV_A = 0; // { dg-error "" } + Foo::C = 0; // { dg-error "" } +- printf("%x\n",pZ); // { dg-error "" } ++ printf("%p\n",pZ); // { dg-error "" } + Foo::PRV.C = 0; // { dg-error "" } +- printf("%x\n",PRV.pZ); // { dg-error "" } ++ printf("%p\n",PRV.pZ); // { dg-error "" } + } + }; + +@@ -64,17 +64,17 @@ int main() + + a.PUB_A = 0; + a.A = 0; +- printf("%x\n",a.pX); ++ printf("%p\n",a.pX); + a.PRT_A = 0; // { dg-error "" } + a.B = 0; // { dg-error "" } +- printf("%x\n",a.pY); // { dg-error "" } ++ printf("%p\n",a.pY); // { dg-error "" } + a.PRV_A = 0; // { dg-error "" } + a.C = 0; // { dg-error "" } +- printf("%x\n",a.pZ); // { dg-error "" } ++ printf("%p\n",a.pZ); // { dg-error "" } + a.PUB.A = 0; +- printf("%x\n",a.PUB.pX); ++ printf("%p\n",a.PUB.pX); + a.PRT.B = 0; // { dg-error "" } +- printf("%x\n",a.PRT.pY); // { dg-error "" } ++ printf("%p\n",a.PRT.pY); // { dg-error "" } + a.PRV.C = 0; // { dg-error "" } +- printf("%x\n",a.PRV.pZ); // { dg-error "" } ++ printf("%p\n",a.PRV.pZ); // { dg-error "" } + } +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.law/cvt8.C src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.law/cvt8.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C 2009-03-17 13:40:03.000000000 -0700 +@@ -20,12 +20,12 @@ struct B { + B::operator const A&() const { + static A a; + a.i = i; +- printf("convert B to A at %x\n", &a); ++ printf("convert B to A at %p\n", (void*)&a); + return a; + } + + void f(A &a) { // { dg-error "" } in passing argument +- printf("A at %x is %d\n", &a, a.i); ++ printf("A at %p is %d\n", (void*)&a, a.i); + } + + int main() { +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/net35.C src/gcc/testsuite/g++.old-deja/g++.mike/net35.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/net35.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/net35.C 2009-03-17 13:40:03.000000000 -0700 +@@ -17,10 +17,10 @@ public: + + int main() { + C c; +- printf("&c.x = %x\n", &c.x); +- printf("&c.B1::x = %x\n", &c.B1::x); +- printf("&c.B2::x = %x\n", &c.B2::x); +- printf("&c.A::x = %x\n", &c.A::x); ++ printf("&c.x = %p\n", (void*)&c.x); ++ printf("&c.B1::x = %p\n", (void*)&c.B1::x); ++ printf("&c.B2::x = %p\n", (void*)&c.B2::x); ++ printf("&c.A::x = %p\n", (void*)&c.A::x); + if (&c.x != &c.B1::x + || &c.x != &c.B2::x + || &c.x != &c.A::x) +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/offset1.C src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/offset1.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C 2009-03-17 13:40:03.000000000 -0700 +@@ -6,7 +6,7 @@ int fail = 0; + class Foo { + public: + virtual void setName() { +- printf("Foo at %x\n", this); ++ printf("Foo at %p\n", (void*)this); + if (vp != (void*)this) + fail = 1; + } +@@ -15,7 +15,7 @@ public: + class Bar : public Foo { + public: + virtual void init(int argc, char **argv) { +- printf("Bar's Foo at %x\n", (Foo*)this); ++ printf("Bar's Foo at %p\n", (void*)(Foo*)this); + vp = (void*)(Foo*)this; + setName(); + } +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p12306.C src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p12306.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C 2009-03-17 13:40:03.000000000 -0700 +@@ -18,7 +18,7 @@ public: + if (ptr2 != &(*this).slist) + fail = 6; + +- if (0) printf("at %x %x\n", (RWSlistIterator*)this, &(*this).slist); ++ if (0) printf("at %p %p\n", (void*)(RWSlistIterator*)this, (void*)&(*this).slist); + } + }; + +@@ -54,14 +54,14 @@ Sim_Event_Manager::Sim_Event_Manager () + void Sim_Event_Manager::post_event () { + ptr1 = (RWSlistIterator*)&last_posted_event_position_; + ptr2 = &((RWSlistIterator*)&last_posted_event_position_)->slist; +- if (0) printf("at %x %x\n", (RWSlistIterator*)&last_posted_event_position_, +- &((RWSlistIterator*)&last_posted_event_position_)->slist); ++ if (0) printf("at %p %p\n", (void*)(RWSlistIterator*)&last_posted_event_position_, ++ (void*)&((RWSlistIterator*)&last_posted_event_position_)->slist); + if (ptr1 != (RWSlistIterator*)&last_posted_event_position_) + fail = 1; + if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist) + fail = 2; +- if (0) printf("at %x ?%x\n", (RWSlistIterator*)&last_posted_event_position_, +- &((RWSlistIterator&)last_posted_event_position_).slist); ++ if (0) printf("at %p ?%p\n", (void*)(RWSlistIterator*)&last_posted_event_position_, ++ (void*)&((RWSlistIterator&)last_posted_event_position_).slist); + if (ptr1 != (RWSlistIterator*)&last_posted_event_position_) + fail = 3; + if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist) +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3579.C src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3579.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C 2009-03-17 13:40:03.000000000 -0700 +@@ -7,26 +7,26 @@ int num_x; + + class Y { + public: +- Y () { printf("Y() this: %x\n", this); } +- ~Y () { printf("~Y() this: %x\n", this); } ++ Y () { printf("Y() this: %p\n", (void*)this); } ++ ~Y () { printf("~Y() this: %p\n", (void*)this); } + }; + + class X { + public: + X () { + ++num_x; +- printf("X() this: %x\n", this); ++ printf("X() this: %p\n", (void*)this); + Y y; + *this = (X) y; + } + +- X (const Y & yy) { printf("X(const Y&) this: %x\n", this); ++num_x; } ++ X (const Y & yy) { printf("X(const Y&) this: %p\n", (void*)this); ++num_x; } + X & operator = (const X & xx) { +- printf("X.op=(X&) this: %x\n", this); ++ printf("X.op=(X&) this: %p\n", (void*)this); + return *this; + } + +- ~X () { printf("~X() this: %x\n", this); --num_x; } ++ ~X () { printf("~X() this: %p\n", (void*)this); --num_x; } + }; + + int main (int, char **) { +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C 2009-03-17 13:40:03.000000000 -0700 +@@ -38,7 +38,7 @@ public: + virtual void xx(int doit) { + --num; + if (ptr != this) +- printf("FAIL\n%x != %x\n", ptr, this); ++ printf("FAIL\n%p != %p\n", ptr, (void*)this); + printf ("C is destructed.\n"); + B::xx (0); + if (doit) A::xx (1); +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C 2009-03-17 13:40:03.000000000 -0700 +@@ -48,7 +48,7 @@ public: + virtual void xx(int doit) { + --num; + if (ptr != this) { +- printf("FAIL\n%x != %x\n", ptr, this); ++ printf("FAIL\n%p != %p\n", ptr, (void*)this); + exit(1); + } + printf ("D is destructed.\n"); +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3708.C src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p3708.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C 2009-03-17 13:40:03.000000000 -0700 +@@ -38,7 +38,7 @@ public: + virtual void xx(int doit) { + --num; + if (ptr != this) +- printf("FAIL\n%x != %x\n", ptr, this); ++ printf("FAIL\n%p != %p\n", ptr, (void*)this); + printf ("C is destructed.\n"); + B::xx (0); + if (doit) A::xx (1); +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p646.C src/gcc/testsuite/g++.old-deja/g++.mike/p646.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p646.C 2006-02-05 01:21:29.000000000 -0800 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p646.C 2009-03-17 13:40:03.000000000 -0700 +@@ -35,20 +35,20 @@ int foo::si = 0; + foo::foo () + { + si++; +- printf ("new foo @ 0x%x; now %d foos\n", this, si); ++ printf ("new foo @ %p; now %d foos\n", (void*)this, si); + } + + foo::foo (const foo &other) + { + si++; +- printf ("another foo @ 0x%x; now %d foos\n", this, si); ++ printf ("another foo @ %p; now %d foos\n", (void*)this, si); + *this = other; + } + + foo::~foo () + { + si--; +- printf ("deleted foo @ 0x%x; now %d foos\n", this, si); ++ printf ("deleted foo @ %p; now %d foos\n", (void*)this, si); + } + + int +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p710.C src/gcc/testsuite/g++.old-deja/g++.mike/p710.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p710.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p710.C 2009-03-17 13:40:03.000000000 -0700 +@@ -30,7 +30,7 @@ class B + virtual ~B() {} + void operator delete(void*,size_t s) + { +- printf("B::delete() %d\n",s); ++ printf("B::delete() %u\n",(unsigned int)s); + } + void operator delete(void*){} + }; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p789a.C src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/p789a.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C 2009-03-17 13:40:03.000000000 -0700 +@@ -13,10 +13,10 @@ struct foo + int x; + foo () { + x = count++; +- printf("this %d = %x\n", x, (void *)this); ++ printf("this %d = %p\n", x, (void *)this); + } + virtual ~foo () { +- printf("this %d = %x\n", x, (void *)this); ++ printf("this %d = %p\n", x, (void *)this); + --count; + } + }; +@@ -31,7 +31,7 @@ int main () + { + for (int j = 0; j < 3; j++) + { +- printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]); ++ printf("&a[%d][%d] = %p\n", i, j, (void *)&array[i][j]); + } + } + // The count should be nine, if not, fail the test. +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C 2009-03-17 13:40:03.000000000 -0700 +@@ -42,7 +42,7 @@ B_table b; + bar jar; + + int main() { +- printf("ptr to B_table=%x, ptr to A_table=%x\n",&b,(A_table*)&b); ++ printf("ptr to B_table=%p, ptr to A_table=%p\n",(void*)&b,(void*)(A_table*)&b); + B_table::B_ti_fn z = &B_table::func1; + int j = 1; + jar.call_fn_fn1(j,(void *)&z); +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/temp.C src/gcc/testsuite/g++.old-deja/g++.mike/temp.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.mike/temp.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.mike/temp.C 2009-03-17 13:40:03.000000000 -0700 +@@ -7,11 +7,11 @@ class T { + public: + T() { + i = 1; +- printf("T() at %x\n", this); ++ printf("T() at %p\n", (void*)this); + } + T(const T& o) { + i = o.i; +- printf("T(const T&) at %x <-- %x\n", this, &o); ++ printf("T(const T&) at %p <-- %p\n", (void*)this, (void*)&o); + } + T operator +(const T& o) { + T r; +@@ -21,7 +21,7 @@ public: + operator int () { + return i; + } +- ~T() { printf("~T() at %x\n", this); } ++ ~T() { printf("~T() at %p\n", (void*)this); } + } s, b; + + int foo() { return getenv("TEST") == 0; } +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.other/temporary1.C src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.other/temporary1.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C 2009-03-17 16:09:42.000000000 -0700 +@@ -5,16 +5,16 @@ int c, d; + class Foo + { + public: +- Foo() { printf("Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++c; } +- Foo(Foo const &) { printf("Foo(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); } +- ~Foo() { printf("~Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++d; } ++ Foo() { printf("Foo() %p\n", (void*)this); ++c; } ++ Foo(Foo const &) { printf("Foo(Foo const &) %p\n", (void*)this); } ++ ~Foo() { printf("~Foo() %p\n", (void*)this); ++d; } + }; + + // Bar creates constructs a temporary Foo() as a default + class Bar + { + public: +- Bar(Foo const & = Foo()) { printf("Bar(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); } ++ Bar(Foo const & = Foo()) { printf("Bar(Foo const &) %p\n", (void*)this); } + }; + + void fakeRef(Bar *) +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.other/virtual8.C src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.other/virtual8.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C 2009-03-17 13:40:03.000000000 -0700 +@@ -4,7 +4,7 @@ extern "C" int printf (const char*, ...) + struct A + { + virtual void f () { +- printf ("%x\n", this); ++ printf ("%p\n", (void*)this); + } + }; + +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C 2009-03-17 13:40:03.000000000 -0700 +@@ -13,7 +13,7 @@ struct S + + template + void f(U u) +- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); } ++ { printf ("In S::f(U)\nsizeof(U) == %d\n", (int)sizeof(u)); } + + int c[16]; + }; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C 2009-03-17 13:40:03.000000000 -0700 +@@ -13,7 +13,7 @@ struct S + + template + void f(U u) +- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); } ++ { printf ("In S::f(U)\nsizeof(U) == %d\n", (int)sizeof(u)); } + + int c[16]; + }; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C 2009-03-17 13:40:03.000000000 -0700 +@@ -6,7 +6,7 @@ template + struct S + { + template +- void f(U u) { printf ("%d\n", sizeof (U)); } ++ void f(U u) { printf ("%d\n", (int)sizeof (U)); } + + int i[4]; + }; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C 2009-03-17 13:40:03.000000000 -0700 +@@ -16,7 +16,7 @@ template + template + void S::f(U u) + { +- printf ("%d\n", sizeof (U)); ++ printf ("%d\n", (int)sizeof (U)); + } + + +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/t39.C src/gcc/testsuite/g++.old-deja/g++.pt/t39.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.pt/t39.C 2006-02-05 01:21:29.000000000 -0800 ++++ src/gcc/testsuite/g++.old-deja/g++.pt/t39.C 2009-03-17 13:40:03.000000000 -0700 +@@ -10,9 +10,9 @@ struct frob { + + template + void frob::print () { +- printf ("this = %08x\n", this); +- printf (" ptr = %08x\n", ptr); +- printf (" values = %x %x %x ...\n", ptr[0], ptr[1], ptr[2]); ++ printf ("this = %p\n", (void*)this); ++ printf (" ptr = %p\n", (void*)ptr); ++ printf (" values = %x %x %x ...\n", (int)ptr[0], (int)ptr[1], (int)ptr[2]); + } + + static int x[10]; +diff -uNrp ../src.orig/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C +--- ../src.orig/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C 2003-04-30 19:02:59.000000000 -0700 ++++ src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C 2009-03-17 13:40:03.000000000 -0700 +@@ -44,15 +44,15 @@ int main() + A * a = new B; + B * b = dynamic_cast(a); + +- printf("%p\n",b); // (*2*) ++ printf("%p\n",(void*)b); // (*2*) + b->print(); + + a = b; +- printf("%p\n",a); ++ printf("%p\n",(void*)a); + a->print(); + + a = a->clone(); +- printf("%p\n",a); ++ printf("%p\n",(void*)a); + a->print(); // (*1*) + + return 0; +diff -uNrp ../src.mar20/gcc/testsuite/gcc.dg/pch/inline-4.c src/gcc/testsuite/gcc.dg/pch/inline-4.c +--- ../src.mar20/gcc/testsuite/gcc.dg/pch/inline-4.c 2009-03-20 09:08:02.000000000 -0700 ++++ src/gcc/testsuite/gcc.dg/pch/inline-4.c 2009-03-20 13:43:53.000000000 -0700 +@@ -1,6 +1,6 @@ + #include "inline-4.h" + extern int printf (const char *, ...); + int main(void) { +- printf (getstring()); ++ printf ("%s", getstring()); + return 0; + } --- gcc-4.3-4.3.4.orig/debian/patches/ada-symbolic-tracebacks.dpatch +++ gcc-4.3-4.3.4/debian/patches/ada-symbolic-tracebacks.dpatch @@ -0,0 +1,346 @@ +#! /bin/sh -e + +# DP: - Enable support for symbolic tracebacks in exceptions (delete the dummy +# DP: convert_addresses from adaint.c, and provide a real one separately.) + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Ported Jürgen Pfeifer's patch to enable symbolic tracebacks on Debian +GNU/Linux. + +The binary distribution of GNAT 3.15p comes with an old version of +binutils that includes a library, libaddr2line.a. This library does +not exist in recent versions of binutils. The patch works around this +by calling /usr/bin/addr2line (still part of binutils) and parsing the +output. See debian/convert_addresses.c for the gory details. + +I have modified convert_addresses.c to not use a shell script anymore; +Debian controls the version of binutils which is installed. Also, I +use execve instead of execle. + +-- +Ludovic Brenta. + +# ' make emacs highlighting happy + +Index: gcc/ada/Makefile.in +=================================================================== +--- gcc/ada/Makefile.in.orig 2008-01-13 22:19:26.000000000 +0100 ++++ gcc/ada/Makefile.in 2008-01-29 11:56:42.178635045 +0100 +@@ -1655,7 +1655,7 @@ + a-nucoar.o a-nurear.o i-forbla.o i-forlap.o s-gearop.o + + GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \ +- $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o ++ $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o convert_addresses.o + + # Default run time files + +@@ -1810,7 +1810,6 @@ + for file in rts/*.ali; do \ + $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ + done +- -$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR) + -cd rts; for file in *$(arext);do \ + $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ + $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \ +@@ -1907,7 +1906,7 @@ + $(GNATRTL_OBJS) + $(RM) rts/libgnat$(arext) rts/libgnarl$(arext) + $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \ +- $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) ++ $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o) + ifneq ($(PREFIX_OBJS),) + $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \ + $(PREFIX_OBJS); +@@ -1940,6 +1939,7 @@ + $(TARGET_LIBGCC2_CFLAGS) \ + -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ ++ g-trasym.o convert_addresses.o \ + $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + $(MISCLIB) -lm + cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ +@@ -2183,6 +2183,7 @@ + sysdep.o : sysdep.c + raise-gcc.o : raise-gcc.c raise.h + raise.o : raise.c raise.h ++convert_addresses.o : convert_addresses.c + vx_stack_info.o : vx_stack_info.c + + gen-soccon: gen-soccon.c gsocket.h +Index: gcc/ada/adaint.c +=================================================================== +--- gcc/ada/adaint.c.orig 2008-01-13 22:19:26.000000000 +0100 ++++ gcc/ada/adaint.c 2008-01-29 11:56:06.614450462 +0100 +@@ -2852,35 +2852,6 @@ + } + #endif + +-#if defined (CROSS_DIRECTORY_STRUCTURE) \ +- || (! ((defined (sparc) || defined (i386)) && defined (sun) \ +- && defined (__SVR4)) \ +- && ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \ +- && ! (defined (linux) && defined (__ia64__)) \ +- && ! defined (__FreeBSD__) \ +- && ! defined (__hpux__) \ +- && ! defined (__APPLE__) \ +- && ! defined (_AIX) \ +- && ! (defined (__alpha__) && defined (__osf__)) \ +- && ! defined (VMS) \ +- && ! defined (__MINGW32__) \ +- && ! (defined (__mips) && defined (__sgi))) +- +-/* Dummy function to satisfy g-trasym.o. See the preprocessor conditional +- just above for a list of native platforms that provide a non-dummy +- version of this procedure in libaddr2line.a. */ +- +-void +-convert_addresses (const char *file_name ATTRIBUTE_UNUSED, +- void *addrs ATTRIBUTE_UNUSED, +- int n_addr ATTRIBUTE_UNUSED, +- void *buf ATTRIBUTE_UNUSED, +- int *len ATTRIBUTE_UNUSED) +-{ +- *len = 0; +-} +-#endif +- + #if defined (_WIN32) + int __gnat_argument_needs_quote = 1; + #else +Index: gcc/ada/convert_addresses.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gcc/ada/convert_addresses.c 2008-01-29 11:56:06.614450462 +0100 +@@ -0,0 +1,157 @@ ++/* ++ Copyright (C) 1999 by Juergen Pfeifer ++ Ada for Linux Team (ALT) ++ ++ Permission is hereby granted, free of charge, to any person obtaining a ++ copy of this software and associated documentation files (the ++ "Software"), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, distribute with modifications, sublicense, and/or sell ++ copies of the Software, and to permit persons to whom the Software is ++ furnished to do so, subject to the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++ IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, ++ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR ++ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ++ THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++ Except as contained in this notice, the name(s) of the above copyright ++ holders shall not be used in advertising or otherwise to promote the ++ sale, use or other dealings in this Software without prior written ++ authorization. ++*/ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define STDIN_FILENO 0 ++#define STDOUT_FILENO 1 ++#define MAX_LINE 1024 ++ ++#define CLOSE1 close(fd1[0]); close(fd1[1]) ++#define CLOSE2 close(fd2[0]); close(fd2[1]) ++#define RESTSIG sigaction(SIGPIPE,&oact,NULL) ++ ++void convert_addresses ++( void* addrs[], ++ int n_addr, ++ char* buf, ++ int* len) ++{ ++ int max_len = *len; ++ pid_t pid = getpid(); ++ pid_t child; ++ ++ struct sigaction act, oact; ++ ++ int fd1[2], fd2[2]; ++ char exe_name[128]; ++ ++ *buf = 0; *len = 0; ++ /* Thanx to the /proc filesystem we can very easily reference our own ++ executable image:-)*/ ++ snprintf(exe_name,sizeof(exe_name),"--exe=/proc/%ld/exe", (long)pid); ++ ++ act.sa_handler = SIG_IGN; ++ sigemptyset(&act.sa_mask); ++ act.sa_flags = 0; ++ if (sigaction(SIGPIPE,&act,&oact) < 0) ++ return; ++ ++ if (pipe(fd1) >= 0) { ++ if (pipe(fd2)>=0) { ++ if ((child = fork()) < 0) { ++ CLOSE1; CLOSE2; RESTSIG; ++ return; ++ } ++ else { ++ if (0==child) { ++ close(fd1[1]); ++ close(fd2[0]); ++ if (fd1[0] != STDIN_FILENO) { ++ if (dup2(fd1[0],STDIN_FILENO) != STDIN_FILENO) { ++ CLOSE1; CLOSE2; ++ } ++ close(fd1[0]); ++ } ++ if (fd2[1] != STDOUT_FILENO) { ++ if (dup2(fd2[1],STDOUT_FILENO) != STDOUT_FILENO) { ++ CLOSE1; CLOSE2; ++ } ++ close(fd2[1]); ++ } ++ { ++ /* As pointed out by Florian Weimer to me, it is a ++ security threat to call the script with a user defined ++ environment and using the path. That would be Trojans ++ pleasure. Therefore we use the absolute path to ++ addr2line and an empty environment. That should be ++ safe. ++ */ ++ char *const argv[] = { "addr2line", ++ exe_name, ++ "--demangle=gnat", ++ "--functions", ++ "--basenames", ++ NULL }; ++ char *const envp[] = { NULL }; ++ if (execve("/usr/bin/addr2line", argv, envp) < 0) { ++ CLOSE1; CLOSE2; ++ } ++ } ++ } ++ else { ++ int i, n; ++ char hex[16]; ++ char line[MAX_LINE + 1]; ++ char *p; ++ char *s = buf; ++ ++ /* Parent context */ ++ close(fd1[0]); ++ close(fd2[1]); ++ ++ for(i=0; i < n_addr; i++) { ++ snprintf(hex,sizeof(hex),"%p\n",addrs[i]); ++ write(fd1[1],hex,strlen(hex)); ++ n = read(fd2[0],line,MAX_LINE); ++ if (n<=0) ++ break; ++ line[n]=0; ++ /* We have approx. 16 additional chars for "%p in " clause. ++ We use this info to prevent a buffer overrun. ++ */ ++ if (n + 16 + (*len) > max_len) ++ break; ++ p = strchr(line,'\n'); ++ if (p) { ++ if (*(p+1)) { ++ *p = 0; ++ *len += snprintf(s, (max_len - (*len)), "%p in %s at %s",addrs[i], line, p+1); ++ } ++ else { ++ *len += snprintf(s, (max_len - (*len)), "%p at %s",addrs[i], line); ++ } ++ s = buf + (*len); ++ } ++ } ++ close(fd1[1]); ++ close(fd2[0]); ++ } ++ } ++ } ++ else { ++ CLOSE1; ++ } ++ } ++ RESTSIG; ++} +Index: gcc/ada/g-trasym.adb +=================================================================== +--- gcc/ada/g-trasym.adb.orig 2007-04-11 10:18:15.000000000 +0200 ++++ gcc/ada/g-trasym.adb 2008-01-29 11:56:06.614450462 +0100 +@@ -32,16 +32,16 @@ + ------------------------------------------------------------------------------ + + -- Run-time symbolic traceback support ++-- This file has been modified by Juergen Pfeifer (31-Dec-1999) for ++-- the purpose to support the Ada for Linux Team implementation of ++-- convert_addresses. This implementation has the advantage to run ++-- on the binutils as they are deployed on Linux. + + with System.Soft_Links; + with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback; + + package body GNAT.Traceback.Symbolic is + +- pragma Linker_Options ("-laddr2line"); +- pragma Linker_Options ("-lbfd"); +- pragma Linker_Options ("-liberty"); +- + package TSL renames System.Soft_Links; + + -- To perform the raw addresses to symbolic form translation we rely on a +@@ -79,9 +79,13 @@ + -- raw addresses provided in ADDRS, looked up in debug information from + -- FILENAME. LEN is filled with the result length. + -- +- -- This procedure is provided by libaddr2line on targets that support +- -- it. A dummy version is in adaint.c for other targets so that build +- -- of shared libraries doesn't generate unresolved symbols. ++ -- This is the ALT Linux specific version adapted to the binutils ++ -- deployed with most Linuxes. These binutils already have an ++ -- addr2line tool that demangles Ada symbolic names, but there are ++ -- version dependant variants for the option names. Therefore our ++ -- implementation spawns a shell script that does normalization of ++ -- the option and then executes addr2line and communicates with it ++ -- through a bidirectional pipe. + -- + -- Note that this procedure is *not* thread-safe. + +@@ -93,8 +97,9 @@ + (c_exename : System.Address) return System.Address; + pragma Import (C, locate_exec_on_path, "__gnat_locate_exec_on_path"); + +- Res : String (1 .. 256 * Traceback'Length); +- Len : Integer; ++ B_Size : constant Integer := 256 * Traceback'Length; ++ Len : Integer := B_Size; ++ Res : String (1 .. B_Size); + + use type System.Address; + --- gcc-4.3-4.3.4.orig/debian/patches/pr35792.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr35792.dpatch @@ -0,0 +1,136 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: PR ada/35792: Illegal program not detected, RM 3.10.1(4/2) + +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 && autoconf2.59 + ;; + -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 + +# append the patch here and adjust the -p? flag in the patch calls. + +ada/35792: Refuse completion of tagged type by task type or protected type + +From: Samuel Tardieu + +If an incomplete_type_declaration includes the reserved word tagged, +then a full_type_declaration that completes it shall declare a tagged +type. + +Without this patch, GNAT detects the error only on T3 (see testcase) +and forgets T1 and T2 full type declarations. Those cases (task type and +protected type) were kept out at the wrong place. + +With this patch, GNAT correctly issues: + + 7. protected type T1 is end T1; + | + >>> full declaration of type "T1" defined at line 4 must be a tagged type + + 8. task type T2; + | + >>> full declaration of type "T2" defined at line 5 must be a tagged type + + 9. type T3 is null record; + | + >>> full declaration of type "T3" defined at line 6 must be tagged + +Tested on Linux/x86. + +2008-04-29 Ed Schonberg + + gcc/ada/ + PR ada/35792 + * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete + tagged type by an untagged protected or task type. + +2008-04-29 Samuel Tardieu + + gcc/testsuite/ + PR ada/35792 + * gnat.dg/specs/tag2.ads: New. +--- + + gcc/ada/sem_ch3.adb | 23 ++++++++++++++++++----- + gcc/testsuite/gnat.dg/specs/tag2.ads | 17 +++++++++++++++++ + 2 files changed, 35 insertions(+), 5 deletions(-) + create mode 100644 gcc/testsuite/gnat.dg/specs/tag2.ads + +diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb +index 920b149..1936daf 100644 +--- a/gcc/ada/sem_ch3.adb ++++ b/gcc/ada/sem_ch3.adb +@@ -12778,13 +12778,26 @@ package body Sem_Ch3 is + if Is_Type (Prev) + and then (Is_Tagged_Type (Prev) + or else Present (Class_Wide_Type (Prev))) +- and then not Nkind_In (N, N_Task_Type_Declaration, +- N_Protected_Type_Declaration) + then +- -- The full declaration is either a tagged record or an +- -- extension otherwise this is an error ++ -- The full declaration is either a tagged type (including ++ -- a synchronized type that implements interfaces) or a ++ -- type extension, otherwise this is an error. ++ ++ if Nkind_In (N, N_Task_Type_Declaration, ++ N_Protected_Type_Declaration) ++ then ++ if No (Interface_List (N)) ++ and then not Error_Posted (N) ++ then ++ Error_Msg_NE ++ ("full declaration of } must be a tagged type ", Id, Prev); ++ end if; ++ ++ elsif Nkind (Type_Definition (N)) = N_Record_Definition then ++ ++ -- Indicate that the previous declaration (tagged incomplete ++ -- or private declaration) requires the same on the full one. + +- if Nkind (Type_Definition (N)) = N_Record_Definition then + if not Tagged_Present (Type_Definition (N)) then + Error_Msg_NE + ("full declaration of } must be tagged", Prev, Id); +diff --git a/gcc/testsuite/gnat.dg/specs/tag2.ads b/gcc/testsuite/gnat.dg/specs/tag2.ads +new file mode 100644 +index 0000000..8431f34 +--- /dev/null ++++ b/gcc/testsuite/gnat.dg/specs/tag2.ads +@@ -0,0 +1,17 @@ ++-- { dg-do compile } ++ ++package tag2 is ++ type I is synchronized interface; ++ type T1 is tagged; ++ type T2 is tagged; ++ type T3 is tagged; -- { dg-error "must be tagged" }; ++ type T4 is tagged; ++ type T5 is tagged; ++ type T6 is tagged; ++ protected type T1 is end T1; -- { dg-error "must be a tagged type" } ++ task type T2; -- { dg-error "must be a tagged type" } ++ type T3 is null record; ++ task type T4 is new I with end; ++ protected type T5 is new I with end; ++ type T6 is tagged null record; ++end tag2; --- gcc-4.3-4.3.4.orig/debian/patches/cell-branch.dpatch +++ gcc-4.3-4.3.4/debian/patches/cell-branch.dpatch @@ -0,0 +1,7944 @@ +#! /bin/sh -e + +# DP: Updates from the cell-4_3-branch up to 20100216 + +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 -p0 < $0 + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: gcc/targhooks.c +=================================================================== +--- gcc/targhooks.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/targhooks.c (.../cell-4_3-branch) (revision 156810) +@@ -691,6 +691,22 @@ + return id; + } + ++const char * ++default_addr_space_name (int addrspace ATTRIBUTE_UNUSED) ++{ ++ gcc_unreachable (); ++} ++ ++rtx (* default_addr_space_conversion_rtl (int from ATTRIBUTE_UNUSED, int to ATTRIBUTE_UNUSED)) (rtx, rtx) ++{ ++ gcc_unreachable (); ++} ++ ++unsigned char default_addr_space_number (const tree ident ATTRIBUTE_UNUSED) ++{ ++ gcc_unreachable (); ++} ++ + bool + default_builtin_vector_alignment_reachable (const_tree type, bool is_packed) + { +Index: gcc/targhooks.h +=================================================================== +--- gcc/targhooks.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/targhooks.h (.../cell-4_3-branch) (revision 156810) +@@ -95,3 +95,6 @@ + extern bool default_handle_c_option (size_t, const char *, int); + extern int default_reloc_rw_mask (void); + extern tree default_mangle_decl_assembler_name (tree, tree); ++extern const char *default_addr_space_name (int); ++extern unsigned char default_addr_space_number (const tree); ++extern rtx (*default_addr_space_conversion_rtl (int, int)) (rtx, rtx); +Index: gcc/tree-pretty-print.c +=================================================================== +--- gcc/tree-pretty-print.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/tree-pretty-print.c (.../cell-4_3-branch) (revision 156810) +@@ -35,6 +35,8 @@ + #include "tree-pass.h" + #include "fixed-value.h" + #include "value-prof.h" ++#include "target.h" ++#include "target-def.h" + + /* Local functions, macros and variables. */ + static int op_prio (const_tree); +@@ -550,6 +552,13 @@ + else if (quals & TYPE_QUAL_RESTRICT) + pp_string (buffer, "restrict "); + ++ if (TYPE_ADDR_SPACE (node)) ++ { ++ const char *as = targetm.addr_space_name (TYPE_ADDR_SPACE (node)); ++ pp_string (buffer, as); ++ pp_space (buffer); ++ } ++ + class = TREE_CODE_CLASS (TREE_CODE (node)); + + if (class == tcc_declaration) +@@ -626,6 +635,13 @@ + if (quals & TYPE_QUAL_RESTRICT) + pp_string (buffer, " restrict"); + ++ if (TYPE_ADDR_SPACE (node)) ++ { ++ const char *as = targetm.addr_space_name (TYPE_ADDR_SPACE (node)); ++ pp_string (buffer, as); ++ pp_space (buffer); ++ } ++ + if (TYPE_REF_CAN_ALIAS_ALL (node)) + pp_string (buffer, " {ref-all}"); + } +Index: gcc/tree.c +=================================================================== +--- gcc/tree.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/tree.c (.../cell-4_3-branch) (revision 156810) +@@ -1415,8 +1415,13 @@ + if (TREE_CODE (expr) != INTEGER_CST) + return 0; + +- prec = (POINTER_TYPE_P (TREE_TYPE (expr)) +- ? POINTER_SIZE : TYPE_PRECISION (TREE_TYPE (expr))); ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (TREE_TYPE (expr))) ++ prec = GET_MODE_BITSIZE (targetm.addr_space_pointer_mode (TYPE_ADDR_SPACE (TREE_TYPE (expr)))); ++ else if (POINTER_TYPE_P (TREE_TYPE (expr))) ++ prec = POINTER_SIZE; ++ else ++ prec = TYPE_PRECISION (TREE_TYPE (expr)); ++ + high = TREE_INT_CST_HIGH (expr); + low = TREE_INT_CST_LOW (expr); + +@@ -1480,8 +1485,12 @@ + if (TREE_CODE (expr) == COMPLEX_CST) + return tree_log2 (TREE_REALPART (expr)); + +- prec = (POINTER_TYPE_P (TREE_TYPE (expr)) +- ? POINTER_SIZE : TYPE_PRECISION (TREE_TYPE (expr))); ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (TREE_TYPE (expr))) ++ prec = GET_MODE_BITSIZE (targetm.addr_space_pointer_mode (TYPE_ADDR_SPACE (TREE_TYPE (expr)))); ++ else if (POINTER_TYPE_P (TREE_TYPE (expr))) ++ prec = POINTER_SIZE; ++ else ++ prec = TYPE_PRECISION (TREE_TYPE (expr)); + + high = TREE_INT_CST_HIGH (expr); + low = TREE_INT_CST_LOW (expr); +@@ -1518,8 +1527,12 @@ + if (TREE_CODE (expr) == COMPLEX_CST) + return tree_log2 (TREE_REALPART (expr)); + +- prec = (POINTER_TYPE_P (TREE_TYPE (expr)) +- ? POINTER_SIZE : TYPE_PRECISION (TREE_TYPE (expr))); ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (TREE_TYPE (expr))) ++ prec = GET_MODE_BITSIZE (targetm.addr_space_pointer_mode (TYPE_ADDR_SPACE (TREE_TYPE (expr)))); ++ else if (POINTER_TYPE_P (TREE_TYPE (expr))) ++ prec = POINTER_SIZE; ++ else ++ prec = TYPE_PRECISION (TREE_TYPE (expr)); + + high = TREE_INT_CST_HIGH (expr); + low = TREE_INT_CST_LOW (expr); +@@ -4172,6 +4185,7 @@ + TYPE_READONLY (type) = (type_quals & TYPE_QUAL_CONST) != 0; + TYPE_VOLATILE (type) = (type_quals & TYPE_QUAL_VOLATILE) != 0; + TYPE_RESTRICT (type) = (type_quals & TYPE_QUAL_RESTRICT) != 0; ++ TYPE_ADDR_SPACE (type) = DECODE_QUAL_ADDR_SPACE (type_quals); + } + + /* Returns true iff CAND is equivalent to BASE with TYPE_QUALS. */ +@@ -4179,7 +4193,7 @@ + bool + check_qualified_type (const_tree cand, const_tree base, int type_quals) + { +- return (TYPE_QUALS (cand) == type_quals ++ return (TYPE_QUALS (CONST_CAST_TREE (cand)) == type_quals + && TYPE_NAME (cand) == TYPE_NAME (base) + /* Apparently this is needed for Objective-C. */ + && TYPE_CONTEXT (cand) == TYPE_CONTEXT (base) +@@ -5478,7 +5492,9 @@ + tree + build_pointer_type (tree to_type) + { +- return build_pointer_type_for_mode (to_type, ptr_mode, false); ++ enum machine_mode mode = targetm.addr_space_pointer_mode ++ (TYPE_ADDR_SPACE (strip_array_types (to_type))); ++ return build_pointer_type_for_mode (to_type, mode, false); + } + + /* Same as build_pointer_type_for_mode, but for REFERENCE_TYPE. */ +@@ -5814,6 +5830,18 @@ + return argtypes; + } + ++/* Recursively examines the array elements of TYPE, until a non-array ++ element type is found. */ ++ ++tree ++strip_array_types (tree type) ++{ ++ while (TREE_CODE (type) == ARRAY_TYPE) ++ type = TREE_TYPE (type); ++ ++ return type; ++} ++ + /* Construct, lay out and return + the type of functions returning type VALUE_TYPE + given arguments of types ARG_TYPES. +Index: gcc/tree.h +=================================================================== +--- gcc/tree.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/tree.h (.../cell-4_3-branch) (revision 156810) +@@ -1115,6 +1115,17 @@ + #define POINTER_TYPE_P(TYPE) \ + (TREE_CODE (TYPE) == POINTER_TYPE || TREE_CODE (TYPE) == REFERENCE_TYPE) + ++/* Nonzero if TYPE is a pointer or reference type qualified as ++ belonging to an address space that is not the generic address ++ space. */ ++#define OTHER_ADDR_SPACE_POINTER_TYPE_P(TYPE) \ ++ (POINTER_TYPE_P (TYPE) && TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (TYPE)))) ++ ++/* Nonzero if TYPE is a pointer or reference type, but does not belong ++ to an address space outside the generic address space. */ ++#define GENERIC_ADDR_SPACE_POINTER_TYPE_P(TYPE) \ ++ (POINTER_TYPE_P (TYPE) && !TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (TYPE)))) ++ + /* Nonzero if this type is a complete type. */ + #define COMPLETE_TYPE_P(NODE) (TYPE_SIZE (NODE) != NULL_TREE) + +@@ -2222,6 +2233,9 @@ + the term. */ + #define TYPE_RESTRICT(NODE) (TYPE_CHECK (NODE)->type.restrict_flag) + ++/* If nonzero, this type is in the extended address space. */ ++#define TYPE_ADDR_SPACE(NODE) (TYPE_CHECK (NODE)->type.address_space) ++ + /* There is a TYPE_QUAL value for each type qualifier. They can be + combined by bitwise-or to form the complete set of qualifiers for a + type. */ +@@ -2231,11 +2245,15 @@ + #define TYPE_QUAL_VOLATILE 0x2 + #define TYPE_QUAL_RESTRICT 0x4 + ++#define ENCODE_QUAL_ADDR_SPACE(NUM) ((NUM & 0xFF) << 8) ++#define DECODE_QUAL_ADDR_SPACE(X) (((X) >> 8) && 0xFF) ++ + /* The set of type qualifiers for this type. */ + #define TYPE_QUALS(NODE) \ + ((TYPE_READONLY (NODE) * TYPE_QUAL_CONST) \ + | (TYPE_VOLATILE (NODE) * TYPE_QUAL_VOLATILE) \ +- | (TYPE_RESTRICT (NODE) * TYPE_QUAL_RESTRICT)) ++ | (TYPE_RESTRICT (NODE) * TYPE_QUAL_RESTRICT) \ ++ | (ENCODE_QUAL_ADDR_SPACE (TYPE_ADDR_SPACE (strip_array_types (NODE))))) + + /* These flags are available for each language front end to use internally. */ + #define TYPE_LANG_FLAG_0(NODE) (TYPE_CHECK (NODE)->type.lang_flag_0) +@@ -2327,6 +2345,8 @@ + unsigned user_align : 1; + + unsigned int align; ++ unsigned char address_space; ++ + tree pointer_to; + tree reference_to; + union tree_type_symtab { +@@ -4062,6 +4082,7 @@ + extern bool tree_expr_nonnegative_warnv_p (tree, bool *); + extern bool may_negate_without_overflow_p (const_tree); + extern tree get_inner_array_type (const_tree); ++extern tree strip_array_types (tree); + + /* Construct various nodes representing fract or accum data types. */ + +Index: gcc/tree-pass.h +=================================================================== +--- gcc/tree-pass.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/tree-pass.h (.../cell-4_3-branch) (revision 156810) +@@ -385,6 +385,7 @@ + extern struct tree_opt_pass pass_rtl_loop_done; + + extern struct tree_opt_pass pass_web; ++extern struct tree_opt_pass pass_split_before_cse2; + extern struct tree_opt_pass pass_cse2; + extern struct tree_opt_pass pass_df_initialize_opt; + extern struct tree_opt_pass pass_df_initialize_no_opt; +Index: gcc/target.h +=================================================================== +--- gcc/target.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/target.h (.../cell-4_3-branch) (revision 156810) +@@ -627,6 +627,21 @@ + /* True if MODE is valid for a pointer in __attribute__((mode("MODE"))). */ + bool (* valid_pointer_mode) (enum machine_mode mode); + ++ /* MODE to use for a pointer into another address space. */ ++ enum machine_mode (* addr_space_pointer_mode) (int); ++ ++ /* Function to map an address space to a descriptive string. */ ++ const char * (* addr_space_name) (int); ++ ++ /* Function to map an address space to a descriptive string. */ ++ unsigned char (* addr_space_number) (const tree); ++ ++ /* Function to return a gen function for the pointer conversion. */ ++ rtx (* (* addr_space_conversion_rtl) (int, int)) (rtx, rtx); ++ ++ /* True if an identifier that is a valid address space. */ ++ bool (* valid_addr_space) (const_tree); ++ + /* True if MODE is valid for the target. By "valid", we mean able to + be manipulated in non-trivial ways. In particular, this means all + the arithmetic is supported. */ +Index: gcc/rtlanal.c +=================================================================== +--- gcc/rtlanal.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/rtlanal.c (.../cell-4_3-branch) (revision 156810) +@@ -266,6 +266,10 @@ + rtx_addr_can_trap_p_1 (const_rtx x, HOST_WIDE_INT offset, HOST_WIDE_INT size, + enum machine_mode mode, bool unaligned_mems) + { ++#ifdef ADDRESSES_NEVER_TRAP ++ /* On some processors, like the SPU, memory accesses never trap. */ ++ return 0; ++#else + enum rtx_code code = GET_CODE (x); + + if (STRICT_ALIGNMENT +@@ -382,6 +386,7 @@ + + /* If it isn't one of the case above, it can cause a trap. */ + return 1; ++#endif + } + + /* Return nonzero if the use of X as an address in a MEM can cause a trap. */ +Index: gcc/final.c +=================================================================== +--- gcc/final.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/final.c (.../cell-4_3-branch) (revision 156810) +@@ -4242,6 +4242,7 @@ + #ifdef STACK_REGS + regstack_completed = 0; + #endif ++ split0_completed = 0; + + /* Clear out the insn_length contents now that they are no + longer valid. */ +Index: gcc/builtins.c +=================================================================== +--- gcc/builtins.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/builtins.c (.../cell-4_3-branch) (revision 156810) +@@ -5153,17 +5153,35 @@ + expand_builtin_expect (tree exp, rtx target) + { + tree arg, c; ++ rtx new_target; + + if (call_expr_nargs (exp) < 2) + return const0_rtx; + arg = CALL_EXPR_ARG (exp, 0); + c = CALL_EXPR_ARG (exp, 1); + +- target = expand_expr (arg, target, VOIDmode, EXPAND_NORMAL); ++ new_target = expand_expr (arg, target, VOIDmode, EXPAND_NORMAL); ++ ++#ifdef HAVE_builtin_expect ++ if (HAVE_builtin_expect) ++ { ++ int icode = CODE_FOR_builtin_expect; ++ enum machine_mode mode1 = insn_data[icode].operand[1].mode; ++ rtx op1 = expand_expr (c, NULL_RTX, VOIDmode, EXPAND_NORMAL); ++ if (GET_MODE (op1) != mode1 && mode1 != VOIDmode ++ && GET_MODE (op1) != VOIDmode) ++ op1 = convert_modes (mode1, GET_MODE (op1), op1, 0); ++ if (!insn_data[icode].operand[1].predicate (op1, mode1) ++ && mode1 != VOIDmode) ++ op1 = copy_to_mode_reg (mode1, op1); ++ emit_insn (gen_builtin_expect (target, op1)); ++ } ++#else + /* When guessing was done, the hints should be already stripped away. */ + gcc_assert (!flag_guess_branch_prob + || optimize == 0 || errorcount || sorrycount); +- return target; ++#endif ++ return new_target; + } + + void +Index: gcc/fold-const.c +=================================================================== +--- gcc/fold-const.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/fold-const.c (.../cell-4_3-branch) (revision 156810) +@@ -64,6 +64,7 @@ + #include "hashtab.h" + #include "langhooks.h" + #include "md5.h" ++#include "target.h" + + /* Nonzero if we are folding constants inside an initializer; zero + otherwise. */ +@@ -205,8 +206,10 @@ + unsigned int prec; + int sign_extended_type; + +- if (POINTER_TYPE_P (type) +- || TREE_CODE (type) == OFFSET_TYPE) ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (type)) ++ prec = GET_MODE_BITSIZE (targetm.addr_space_pointer_mode (TYPE_ADDR_SPACE (type))); ++ else if (POINTER_TYPE_P (type) ++ || TREE_CODE (type) == OFFSET_TYPE) + prec = POINTER_SIZE; + else + prec = TYPE_PRECISION (type); +@@ -2399,7 +2402,9 @@ + if (TREE_TYPE (arg1) == type) + return arg1; + +- if (POINTER_TYPE_P (type) || INTEGRAL_TYPE_P (type)) ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (type)) ++ return NULL_TREE; ++ else if (POINTER_TYPE_P (type) || INTEGRAL_TYPE_P (type)) + { + if (TREE_CODE (arg1) == INTEGER_CST) + return fold_convert_const_int_from_int (type, arg1); +Index: gcc/testsuite/gcc.c-torture/execute/vector-subscript-2.c +=================================================================== +--- gcc/testsuite/gcc.c-torture/execute/vector-subscript-2.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.c-torture/execute/vector-subscript-2.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,66 @@ ++#define vector __attribute__((vector_size(sizeof(int)*4) )) ++ ++/* Check to make sure that we extract and insert the vector at the same ++ location for vector subscripting (with constant indexes) and ++ that vectors layout are the same as arrays. */ ++ ++struct TV4 ++{ ++ vector int v; ++}; ++ ++typedef struct TV4 MYV4; ++ ++static inline MYV4 myfunc2( int x, int y, int z, int w ) ++{ ++ MYV4 temp; ++ temp.v[0] = x; ++ temp.v[1] = y; ++ temp.v[2] = z; ++ temp.v[3] = w; ++ return temp; ++} ++MYV4 val3; ++__attribute__((noinline)) void modify (void) ++{ ++ val3 = myfunc2( 1, 2, 3, 4 ); ++} ++int main( int argc, char* argv[] ) ++{ ++ int a[4]; ++ int i; ++ ++ /* Set up the vector. */ ++ modify(); ++ ++ /* Check the vector via the global variable. */ ++ if (val3.v[0] != 1) ++ __builtin_abort (); ++ if (val3.v[1] != 2) ++ __builtin_abort (); ++ if (val3.v[2] != 3) ++ __builtin_abort (); ++ if (val3.v[3] != 4) ++ __builtin_abort (); ++ ++ vector int a1 = val3.v; ++ ++ /* Check the vector via a local variable. */ ++ if (a1[0] != 1) ++ __builtin_abort (); ++ if (a1[1] != 2) ++ __builtin_abort (); ++ if (a1[2] != 3) ++ __builtin_abort (); ++ if (a1[3] != 4) ++ __builtin_abort (); ++ ++ __builtin_memcpy(a, &val3, sizeof(a)); ++ /* Check the vector via copying it to an array. */ ++ for(i = 0; i < 4; i++) ++ if (a[i] != i+1) ++ __builtin_abort (); ++ ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/execute/vector-subscript-1.c +=================================================================== +--- gcc/testsuite/gcc.c-torture/execute/vector-subscript-1.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.c-torture/execute/vector-subscript-1.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,58 @@ ++#define vector __attribute__((vector_size(sizeof(int)*4) )) ++ ++/* Check to make sure that we extract and insert the vector at the same ++ location for vector subscripting and that vectors layout are the same ++ as arrays. */ ++ ++struct TV4 ++{ ++ vector int v; ++}; ++ ++typedef struct TV4 MYV4; ++static inline int *f(MYV4 *a, int i) ++{ ++ return &(a->v[i]); ++} ++ ++static inline MYV4 myfunc2( int x, int y, int z, int w ) ++{ ++ MYV4 temp; ++ *f(&temp, 0 ) = x; ++ *f(&temp, 1 ) = y; ++ *f(&temp, 2 ) = z; ++ *f(&temp, 3 ) = w; ++ return temp; ++} ++ ++MYV4 val3; ++ ++__attribute__((noinline)) void modify (void) ++{ ++ val3 = myfunc2( 1, 2, 3, 4 ); ++} ++ ++int main( int argc, char* argv[] ) ++{ ++ int a[4]; ++ int i; ++ ++ modify(); ++ ++ if (*f(&val3, 0 ) != 1) ++ __builtin_abort (); ++ if (*f(&val3, 1 ) != 2) ++ __builtin_abort (); ++ if (*f(&val3, 2 ) != 3) ++ __builtin_abort (); ++ if (*f(&val3, 3 ) != 4) ++ __builtin_abort (); ++ ++ __builtin_memcpy(a, &val3, 16); ++ for(i = 0; i < 4; i++) ++ if (a[i] != i+1) ++ __builtin_abort (); ++ ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/altivec-macros.c +=================================================================== +--- gcc/testsuite/gcc.target/powerpc/altivec-macros.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/powerpc/altivec-macros.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,63 @@ ++/* Copyright (C) 2007 Free Software Foundation, Inc. */ ++ ++/* { dg-do preprocess } */ ++/* { dg-options "-maltivec" } */ ++ ++/* Conditional macros should not be expanded by pragmas. */ ++#pragma __vector ++_Pragma ("__vector") ++ ++/* Redefinition of conditional macros. */ ++/* No warning should be generated. */ ++ ++#define __vector __new_vector ++#define __pixel __new_pixel ++#define __bool __new_bool ++#define vector new_vector ++#define pixel new_pixel ++#define bool new_bool ++ ++/* Definition of conditional macros. */ ++/* No warning should be generated. */ ++ ++#undef __vector ++#define __vector __new_vector ++ ++#undef __pixel ++#define __pixel __new_pixel ++ ++#undef __bool ++#define __bool __new_bool ++ ++#undef vector ++#define vector new_vector ++ ++#undef pixel ++#define pixel new_pixel ++ ++#undef bool ++#define bool new_bool ++ ++/* Re-definition of "unconditional" macros. */ ++/* Warnings should be generated as usual. */ ++ ++#define __vector __newer_vector ++#define __pixel __newer_pixel ++#define __bool __newer_bool ++#define vector newer_vector ++#define pixel newer_pixel ++#define bool newer_bool ++ ++/* { dg-warning "redefined" "__vector redefined" { target *-*-* } 44 } */ ++/* { dg-warning "redefined" "__pixel redefined" { target *-*-* } 45 } */ ++/* { dg-warning "redefined" "__bool redefined" { target *-*-* } 46 } */ ++/* { dg-warning "redefined" "vector redefined" { target *-*-* } 47 } */ ++/* { dg-warning "redefined" "pixel redefined" { target *-*-* } 48 } */ ++/* { dg-warning "redefined" "bool redefined" { target *-*-* } 49 } */ ++ ++/* { dg-warning "previous" "prev __vector defn" { target *-*-* } 24 } */ ++/* { dg-warning "previous" "prev __pixel defn" { target *-*-* } 27 } */ ++/* { dg-warning "previous" "prev __bool defn" { target *-*-* } 30 } */ ++/* { dg-warning "previous" "prev vector defn" { target *-*-* } 33 } */ ++/* { dg-warning "previous" "prev pixel defn" { target *-*-* } 36 } */ ++/* { dg-warning "previous" "prev bool defn" { target *-*-* } 39 } */ +Index: gcc/testsuite/gcc.target/powerpc/altivec-26.c +=================================================================== +--- gcc/testsuite/gcc.target/powerpc/altivec-26.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/powerpc/altivec-26.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,11 @@ ++/* { dg-do compile { target powerpc*-*-* } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-maltivec" } */ ++ ++/* A compiler implementing context-sensitive keywords must define this ++ preprocessor macro so that altivec.h does not provide the vector, ++ pixel, etc. macros. */ ++ ++#ifndef __APPLE_ALTIVEC__ ++#error __APPLE_ALTIVEC__ not pre-defined ++#endif +Index: gcc/testsuite/gcc.target/spu/vector.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/vector.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/vector.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,32 @@ ++/* { dg-do compile } */ ++/* { dg-options "" } */ ++ ++#ifndef __VECTOR_KEYWORD_SUPPORTED__ ++#error __VECTOR_KEYWORD_SUPPORTED__ is not defined ++#endif ++ ++/* __vector is expanded unconditionally. */ ++__vector int vi; ++__vector unsigned char vuc; ++__vector signed char vsc; ++__vector unsigned short vus; ++__vector signed short vss; ++__vector unsigned int vui; ++__vector signed int vsi; ++__vector unsigned long long ull; ++__vector signed long long sll; ++__vector float vf; ++__vector double vd; ++ ++/* vector is expanded conditionally, based on the context. */ ++vector int vi; ++vector unsigned char vuc; ++vector signed char vsc; ++vector unsigned short vus; ++vector signed short vss; ++vector unsigned int vui; ++vector signed int vsi; ++vector unsigned long long ull; ++vector signed long long sll; ++vector float vf; ++vector double vd; +Index: gcc/testsuite/gcc.target/spu/cache.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/cache.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/cache.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,220 @@ ++/* Copyright (C) 2008 Free Software Foundation, Inc. ++ ++ 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 of the License, or (at your option) ++ any later version. ++ ++ 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 file; see the file COPYING. If not, write to the Free ++ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ++ 02110-1301, USA. */ ++ ++/* { dg-do run } */ ++/* { dg-options "-mcache-size=8" } */ ++ ++#include ++#include ++#include ++extern void *malloc (__SIZE_TYPE__); ++extern void *memset (void *, int, __SIZE_TYPE__); ++extern void abort (void); ++ ++#ifdef __EA64__ ++#define addr unsigned long long ++#else ++#define addr unsigned long ++#endif ++ ++#ifdef __EA64__ ++#define malloc_ea __malloc_ea64 ++#define memset_ea __memset_ea64 ++#define memcpy_ea __memcpy_ea64 ++ ++typedef unsigned long long size_ea_t; ++ ++__ea void *__malloc_ea64 (size_ea_t); ++__ea void *__memset_ea64 (__ea void *, int, size_ea_t); ++__ea void *__memcpy_ea64 (__ea void *, __ea const void *, size_ea_t); ++#else ++#define malloc_ea __malloc_ea32 ++#define memset_ea __memset_ea32 ++#define memcpy_ea __memcpy_ea32 ++ ++typedef unsigned long size_ea_t; ++ ++__ea void *__malloc_ea32 (size_ea_t size); ++__ea void *__memset_ea32 (__ea void *, int, size_ea_t); ++__ea void *__memcpy_ea32 (__ea void *, __ea const void *, size_ea_t); ++#endif ++ ++static __ea void *bigblock; ++static __ea void *block; ++static int *ls_block; ++ ++extern void __cache_tag_array_size; ++#define CACHE_SIZE (4 * (int) &__cache_tag_array_size) ++#define LINE_SIZE 128 ++ ++void ++init_mem () ++{ ++ bigblock = malloc_ea (CACHE_SIZE + 2 * LINE_SIZE); ++ block = malloc_ea (2 * LINE_SIZE); ++ ls_block = malloc (LINE_SIZE); ++ ++ memset_ea (bigblock, 0, CACHE_SIZE + 2 * LINE_SIZE); ++ memset_ea (block, -1, 2 * LINE_SIZE); ++ memset (ls_block, -1, LINE_SIZE); ++ cache_flush (); ++} ++ ++/* Test 1: Simple cache fetching. */ ++void ++test1 () ++{ ++ addr aligned = ((((addr) block) + LINE_SIZE - 1) & -LINE_SIZE); ++ int *p1 = NULL; ++ int *p2 = NULL; ++ int i = 0; ++ ++ /* First, check if the same addr give the same cache ptr. */ ++ p1 = cache_fetch ((__ea void *) aligned); ++ p2 = cache_fetch ((__ea void *) aligned); ++ ++ if (p1 != p2) ++ abort (); ++ ++ /* Check that the data actually is in the cache. */ ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ { ++ if (p1[i] != -1) ++ abort (); ++ } ++ ++ /* Check returning within the cache line. */ ++ p2 = cache_fetch ((__ea void *) (aligned + sizeof (int))); ++ ++ if (p2 - p1 != 1) ++ abort (); ++ ++ /* Finally, check that fetching an LS pointer returns that pointer. */ ++ p1 = cache_fetch ((__ea char *) ls_block); ++ if (p1 != ls_block) ++ abort (); ++} ++ ++/* Test 2: Eviction testing. */ ++void ++test2 () ++{ ++ addr aligned = ((((addr) block) + LINE_SIZE - 1) & -LINE_SIZE); ++ int *p = NULL; ++ int i = 0; ++ ++ /* First check that clean evictions don't write back. */ ++ p = cache_fetch ((__ea void *) aligned); ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ p[i] = 0; ++ ++ cache_evict ((__ea void *) aligned); ++ memcpy_ea ((__ea char *) ls_block, (__ea void *) aligned, LINE_SIZE); ++ ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ { ++ if (ls_block[i] == 0) ++ abort (); ++ } ++ ++ /* Now check that dirty evictions do write back. */ ++ p = cache_fetch_dirty ((__ea void *) aligned, LINE_SIZE); ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ p[i] = 0; ++ ++ cache_evict ((__ea void *) aligned); ++ memcpy_ea ((__ea char *) ls_block, (__ea void *) aligned, LINE_SIZE); ++ ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ { ++ if (ls_block[i] != 0) ++ abort (); ++ } ++ ++ /* Finally, check that non-atomic writeback only writes dirty bytes. */ ++ ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ { ++ p = cache_fetch_dirty ((__ea void *) (aligned + i * sizeof (int)), ++ (i % 2) * sizeof (int)); ++ p[0] = -1; ++ } ++ ++ cache_evict ((__ea void *) aligned); ++ memcpy_ea ((__ea char *) ls_block, (__ea void *) aligned, LINE_SIZE); ++ ++ for (i = 0; i < LINE_SIZE / sizeof (int); i++) ++ { ++ if ((ls_block[i] == -1) && (i % 2 == 0)) ++ abort (); ++ if ((ls_block[i] == 0) && (i % 2 == 1)) ++ abort (); ++ } ++} ++ ++/* Test LS forced-eviction. */ ++void ++test3 () ++{ ++ addr aligned = ((((addr) bigblock) + LINE_SIZE - 1) & -LINE_SIZE); ++ char *test = NULL; ++ char *ls = NULL; ++ int i = 0; ++ ++ /* Init memory, fill the cache to capacity. */ ++ ls = cache_fetch_dirty ((__ea void *) aligned, LINE_SIZE); ++ for (i = 1; i < (CACHE_SIZE / LINE_SIZE); i++) ++ cache_fetch_dirty ((__ea void *) (aligned + i * LINE_SIZE), LINE_SIZE); ++ ++ memset (ls, -1, LINE_SIZE); ++ test = cache_fetch ((__ea void *) (aligned + CACHE_SIZE)); ++ ++ /* test == ls indicates cache collision. */ ++ if (test != ls) ++ abort (); ++ ++ /* Make sure it actually wrote the cache line. */ ++ for (i = 0; i < LINE_SIZE; i++) ++ { ++ if (ls[i] != 0) ++ abort (); ++ } ++ ++ ls = cache_fetch ((__ea void *) aligned); ++ ++ /* test != ls indicates another entry was evicted. */ ++ if (test == ls) ++ abort (); ++ ++ /* Make sure that the previous eviction actually wrote back. */ ++ for (i = 0; i < LINE_SIZE; i++) ++ { ++ if (ls[i] != 0xFF) ++ abort (); ++ } ++} ++ ++int ++main (int argc, char **argv) ++{ ++ init_mem (); ++ test1 (); ++ test2 (); ++ test3 (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/spu/ea/ea.exp +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/ea.exp (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/ea.exp (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,41 @@ ++# Copyright (C) 2007 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 3 of the License, 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 GCC; see the file COPYING3. If not see ++# . ++ ++# GCC testsuite that uses the `dg.exp' driver. ++ ++# Load support procs. ++load_lib gcc-dg.exp ++ ++# Exit immediately if this isn't a SPU target. ++if { ![istarget spu-*-*] } then { ++ return ++} ++ ++# If a testcase doesn't have special options, use these. ++global DEFAULT_CFLAGS ++if ![info exists DEFAULT_CFLAGS] then { ++ set DEFAULT_CFLAGS "-std=gnu89 -pedantic-errors" ++} ++ ++# Initialize `dg'. ++dg-init ++ ++# Main loop. ++dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ ++ "" $DEFAULT_CFLAGS ++ ++# All done. ++dg-finish +Index: gcc/testsuite/gcc.target/spu/ea/cppdefine32.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/cppdefine32.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/cppdefine32.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,9 @@ ++/* Test default __EA32__ define. */ ++/* { dg-options "-std=gnu89 -pedantic-errors -mea32" } */ ++/* { dg-do compile } */ ++ ++#ifdef __EA32__ ++int x; ++#else ++#error __EA32__ undefined ++#endif +Index: gcc/testsuite/gcc.target/spu/ea/cppdefine64.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/cppdefine64.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/cppdefine64.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,8 @@ ++/* { dg-options "-std=gnu89 -mea64" } */ ++/* { dg-do compile } */ ++ ++#ifdef __EA64__ ++int x; ++#else ++#error __EA64__ undefined ++#endif +Index: gcc/testsuite/gcc.target/spu/ea/compile.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/compile.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/compile.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,85 @@ ++/* Valid __ea declarations. */ ++/* { dg-do compile } */ ++/* { dg-options "-std=gnu99 -pedantic-errors" } */ ++ ++/* Externs. */ ++ ++__ea extern int i1; ++extern __ea int i2; ++extern int __ea i3; ++extern int __ea *ppu; ++ ++/* Pointers. */ ++__ea int *i4p; ++ ++/* Typedefs. */ ++typedef __ea int ea_int_t; ++typedef __ea int *ea_int_star_t; ++ ++/* Structs. */ ++struct st { ++ __ea int *p; ++}; ++ ++/* Variable definitions. */ ++__ea int ii0; ++int *__ea ii1; ++static int __ea ii2; ++ ++void ++f1 () ++{ ++ int *spu; ++ ppu = (ea_int_t *) spu; ++ ppu = (ea_int_star_t) spu; ++} ++ ++void ++f2 () ++{ ++ int *spu; ++ spu = (int *) ppu; ++ ppu = (__ea int *) spu; ++} ++ ++void ++f3 () ++{ ++ int i = sizeof (__ea int); ++} ++ ++__ea int *f4 (void) ++{ ++ return 0; ++} ++ ++int f5 (__ea int *parm) ++{ ++ static __ea int local4; ++ int tmp = local4; ++ local4 = *parm; ++ return tmp; ++} ++ ++static inline __ea void *f6 (__ea void *start) ++{ ++ return 0; ++} ++ ++void f7 (void) ++{ ++ __ea void *s1; ++ auto __ea void *s2; ++} ++ ++__ea int *f8 (__ea int *x) ++{ ++ register __ea int *y = x; ++ __ea int *z = y; ++ return z; ++} ++ ++long long f9 (__ea long long x[2]) ++{ ++ return x[0] + x[1]; ++} +Index: gcc/testsuite/gcc.target/spu/ea/cast1.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/cast1.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/cast1.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,23 @@ ++/* { dg-do run { target spu-*-* } } */ ++/* { dg-options "-std=gnu99" } */ ++ ++extern void abort (void); ++extern unsigned long long __ea_local_store; ++ ++__ea int *ppu; ++int x, *spu = &x, *spu2; ++ ++int ++main (int argc, char **argv) ++{ ++ ppu = (__ea int *) spu; ++ spu2 = (int *) ppu; ++ ++ if ((int) ppu != (int) __ea_local_store + (int) spu) ++ abort (); ++ ++ if (spu != spu2) ++ abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/spu/ea/errors.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/errors.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/errors.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,38 @@ ++/* Invalid __ea declarations. */ ++/* { dg-do compile } */ ++/* { dg-options "-std=gnu99 -pedantic-errors" } */ ++ ++extern __ea void f1 (); /* { dg-error "'__ea' specified for function 'f1'" } */ ++ ++void func () ++{ ++ register __ea int local1; /* { dg-error "'__ea' combined with 'register' qualifier for 'local1'" } */ ++ auto __ea int local2; /* { dg-error "'__ea' combined with 'auto' qualifier for 'local2'" } */ ++ __ea int local3; /* { dg-error "'__ea' specified for auto variable 'local3'" } */ ++ register int *__ea p1; /* { dg-error "'__ea' combined with 'register' qualifier for 'p1'" } */ ++ auto char *__ea p2; /* { dg-error "'__ea' combined with 'auto' qualifier for 'p2'" } */ ++ void *__ea p3; /* { dg-error "'__ea' specified for auto variable 'p3'" } */ ++ register __ea int a1[2]; /* { dg-error "'__ea' combined with 'register' qualifier for 'a1'" } */ ++ auto __ea char a2[1]; /* { dg-error "'__ea' combined with 'auto' qualifier for 'a2'" } */ ++ __ea char a3[5]; /* { dg-error "'__ea' specified for auto variable 'a3'" } */ ++} ++ ++void func2 (__ea int x) /* { dg-error "'__ea' specified for parameter 'x'" } */ ++{ } ++ ++struct st { ++ __ea int x; /* { dg-error "'__ea' specified for structure field 'x'" } */ ++ int *__ea q; /* { dg-error "'__ea' specified for structure field 'q'" } */ ++} s; ++ ++__ea int func3 (int x) { /* { dg-error "'__ea' specified for function 'func3'" } */ ++ return x; ++} ++ ++struct A { int a; }; ++ ++int func4 (int *__ea x) /* { dg-error "'__ea' specified for parameter 'x'" } */ ++{ ++ struct A i = (__ea struct A) { 1 }; /* { dg-error "compound literal qualified by address-space qualifier" } */ ++ return i.a; ++} +Index: gcc/testsuite/gcc.target/spu/ea/options1.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/ea/options1.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/ea/options1.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,5 @@ ++/* Test -mcache-size. */ ++/* { dg-options "-mcache-size=128" } */ ++/* { dg-do compile } */ ++ ++int x; +Index: gcc/testsuite/gcc.target/spu/split0-1.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/split0-1.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/split0-1.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,17 @@ ++/* Make sure there are only 2 loads. */ ++/* { dg-do compile { target spu-*-* } } */ ++/* { dg-options "-O2" } */ ++/* { dg-final { scan-assembler-times "lqd \\$\[0-9\]+,0\\(\\$\[0-9\]+\\)" 1 } } */ ++/* { dg-final { scan-assembler-times "lqd \\$\[0-9\]+,16\\(\\$\[0-9\]+\\)" 1 } } */ ++/* { dg-final { scan-assembler-times "lq\[dx\]" 2 } } */ ++ ++struct __attribute__ ((__aligned__(16))) S { ++ int a, b, c, d; ++ int e, f, g, h; ++}; ++ ++int ++f(struct S *s) ++{ ++ return s->a + s->b + s->c + s->d + s->e + s->f + s->g + s->h; ++} +Index: gcc/testsuite/gcc.target/spu/vector-ansi.c +=================================================================== +--- gcc/testsuite/gcc.target/spu/vector-ansi.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.target/spu/vector-ansi.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,35 @@ ++/* { dg-do compile } */ ++/* { dg-options "-ansi" } */ ++ ++/* This is done by spu_internals.h, but we not include it here to keep ++ down the dependencies. */ ++ ++#ifndef __VECTOR_KEYWORD_SUPPORTED__ ++#define vector __vector ++#endif ++ ++/* __vector is expanded unconditionally by the preprocessor. */ ++__vector int vi; ++__vector unsigned char vuc; ++__vector signed char vsc; ++__vector unsigned short vus; ++__vector signed short vss; ++__vector unsigned int vui; ++__vector signed int vsi; ++__vector unsigned long long ull; ++__vector signed long long sll; ++__vector float vf; ++__vector double vd; ++ ++/* vector is expanded by the define above, regardless of context. */ ++vector int vi; ++vector unsigned char vuc; ++vector signed char vsc; ++vector unsigned short vus; ++vector signed short vss; ++vector unsigned int vui; ++vector signed int vsi; ++vector unsigned long long ull; ++vector signed long long sll; ++vector float vf; ++vector double vd; +Index: gcc/testsuite/gcc.dg/vector-subscript-2.c +=================================================================== +--- gcc/testsuite/gcc.dg/vector-subscript-2.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.dg/vector-subscript-2.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-W -Wall" } */ ++ ++/* Check that subscripting of vectors work with register storage class decls. */ ++ ++#define vector __attribute__((vector_size(16) )) ++ ++ ++float vf(void) ++{ ++ register vector float a; ++ return a[0]; /* { dg-bogus "register" } */ ++} ++ +Index: gcc/testsuite/gcc.dg/vmx/1b-07-ansi.c +=================================================================== +--- gcc/testsuite/gcc.dg/vmx/1b-07-ansi.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.dg/vmx/1b-07-ansi.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,59 @@ ++/* { dg-do compile } */ ++/* { dg-options "-ansi -maltivec" } */ ++ ++#include ++vector char bool _0 ; ++vector bool char _8 ; ++vector char unsigned _56 ; ++vector unsigned char _64 ; ++vector char signed _112 ; ++vector signed char _120 ; ++/* bool is permitted in the predefine method, as it is expanded ++ unconditionally to int. */ ++bool _168 ; ++vector pixel _170 ; ++vector int bool _178 ; ++vector bool int _186 ; ++vector short bool _234 ; ++vector bool short _242 ; ++vector unsigned int _290 ; ++vector int unsigned _298 ; ++vector unsigned short _346 ; ++vector short unsigned _354 ; ++vector signed int _402 ; ++vector int signed _410 ; ++vector signed short _458 ; ++vector short signed _466 ; ++vector int bool _514 ; ++vector int bool _544 ; ++vector int bool _559 ; ++vector bool int _589 ; ++vector int short bool _874 ; ++vector int bool short _889 ; ++vector short int bool _904 ; ++vector short bool int _919 ; ++vector bool int short _934 ; ++vector bool short int _949 ; ++vector unsigned int _1234 ; ++vector int unsigned _1249 ; ++vector unsigned int _1279 ; ++vector int unsigned _1294 ; ++vector unsigned int _1309 ; ++vector int unsigned short _1594 ; ++vector int short unsigned _1609 ; ++vector unsigned int short _1624 ; ++vector unsigned short int _1639 ; ++vector short int unsigned _1654 ; ++vector short unsigned int _1669 ; ++vector signed int _1954 ; ++vector int signed _1969 ; ++vector signed int _1999 ; ++vector int signed _2014 ; ++vector signed int _2029 ; ++vector int signed short _2314 ; ++vector int short signed _2329 ; ++vector signed int short _2344 ; ++vector signed short int _2359 ; ++vector short int signed _2374 ; ++vector short signed int _2389 ; ++vector float _2674 ; +Index: gcc/testsuite/gcc.dg/vmx/1b-07.c +=================================================================== +--- gcc/testsuite/gcc.dg/vmx/1b-07.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/testsuite/gcc.dg/vmx/1b-07.c (.../cell-4_3-branch) (revision 156810) +@@ -6,7 +6,6 @@ + vector unsigned char _64 ; + vector char signed _112 ; + vector signed char _120 ; +-bool _168 ; + vector pixel _170 ; + vector int bool _178 ; + vector bool int _186 ; +Index: gcc/testsuite/gcc.dg/vmx/1b-06-ansi.c +=================================================================== +--- gcc/testsuite/gcc.dg/vmx/1b-06-ansi.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.dg/vmx/1b-06-ansi.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,24 @@ ++/* { dg-do compile } */ ++/* { dg-options "-ansi -maltivec" } */ ++ ++#include ++vector char bool _4 ; ++vector char unsigned _31 ; ++vector char signed _59 ; ++/* bool is permitted in the predefine method, as it is expanded ++ unconditionally to int. */ ++bool _84 ; ++vector pixel _89 ; ++vector int bool _95 ; ++vector short bool _102 ; ++vector unsigned int _122 ; ++vector unsigned short _129 ; ++vector signed int _150 ; ++vector signed short _157 ; ++vector int bool _179 ; ++vector int short bool _186 ; ++vector unsigned int _206 ; ++vector int unsigned short _213 ; ++vector signed int _234 ; ++vector int signed short _241 ; ++vector float _339 ; +Index: gcc/testsuite/gcc.dg/vmx/1b-06.c +=================================================================== +--- gcc/testsuite/gcc.dg/vmx/1b-06.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/testsuite/gcc.dg/vmx/1b-06.c (.../cell-4_3-branch) (revision 156810) +@@ -3,7 +3,6 @@ + vector char bool _4 ; + vector char unsigned _31 ; + vector char signed _59 ; +-bool _84 ; + vector pixel _89 ; + vector int bool _95 ; + vector short bool _102 ; +Index: gcc/testsuite/gcc.dg/array-8.c +=================================================================== +--- gcc/testsuite/gcc.dg/array-8.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/testsuite/gcc.dg/array-8.c (.../cell-4_3-branch) (revision 156810) +@@ -35,7 +35,7 @@ + f().c[0]; + 0[f().c]; + /* Various invalid cases. */ +- c[c]; /* { dg-error "subscripted value is neither array nor pointer" } */ ++ c[c]; /* { dg-error "subscripted value is not an array, a pointer, or a vector" } */ + p[1.0]; /* { dg-error "array subscript is not an integer" } */ + 1.0[a]; /* { dg-error "array subscript is not an integer" } */ + fp[0]; /* { dg-error "subscripted value is pointer to function" } */ +Index: gcc/testsuite/gcc.dg/vector-subscript-1.c +=================================================================== +--- gcc/testsuite/gcc.dg/vector-subscript-1.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/gcc.dg/vector-subscript-1.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,16 @@ ++/* { dg-do compile } */ ++/* { dg-options "-w" } */ ++ ++#define vector __attribute__((vector_size(16) )) ++/* Check that vector[index] works and index[vector] is rejected. */ ++ ++float vf(vector float a) ++{ ++ return 0[a]; /* { dg-error "" } */ ++} ++ ++ ++float fv(vector float a) ++{ ++ return a[0]; ++} +Index: gcc/testsuite/g++.dg/ext/vector-subscript-0.C +=================================================================== +--- gcc/testsuite/g++.dg/ext/vector-subscript-0.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/ext/vector-subscript-0.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,15 @@ ++/* { dg-do compile } */ ++// { dg-options "" } ++ ++#define vector __attribute__((vector_size(16) )) ++ ++template ++static inline int f(vector int a) ++{ ++ return (a[i]); ++} ++int myfunc2( int x, int y, int z, int w ) ++{ ++ vector int temp = (vector int){x, y, z, w}; ++ return f<0>(temp); ++} +Index: gcc/testsuite/g++.dg/ext/vector-subscript-1.C +=================================================================== +--- gcc/testsuite/g++.dg/ext/vector-subscript-1.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/ext/vector-subscript-1.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,16 @@ ++/* { dg-do compile } */ ++/* { dg-options "-w" } */ ++ ++#define vector __attribute__((vector_size(16) )) ++/* Check that vector[index] works and index[vector] is rejected. */ ++ ++float vf(vector float a) ++{ ++ return 0[a]; /* { dg-error "" } */ ++} ++ ++ ++float fv(vector float a) ++{ ++ return a[0]; ++} +Index: gcc/testsuite/g++.dg/ext/vector-subscript-2.C +=================================================================== +--- gcc/testsuite/g++.dg/ext/vector-subscript-2.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/ext/vector-subscript-2.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-W -Wall" } */ ++ ++/* Check that subscripting of vectors work with register storage class decls. */ ++ ++#define vector __attribute__((vector_size(16) )) ++ ++ ++float vf(void) ++{ ++ register vector float a; ++ return a[0]; /* { dg-bogus "register" } */ ++} ++ +Index: gcc/testsuite/g++.dg/torture/vector-subscript-1.C +=================================================================== +--- gcc/testsuite/g++.dg/torture/vector-subscript-1.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/torture/vector-subscript-1.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,60 @@ ++/* { dg-do run } */ ++/* { dg-options "-w" } */ ++#define vector __attribute__((vector_size(sizeof(int)*4) )) ++ ++/* Check to make sure that we extract and insert the vector at the same ++ location for vector subscripting and that vectors layout are the same ++ as arrays. */ ++ ++struct TV4 ++{ ++ vector int v; ++}; ++ ++typedef struct TV4 MYV4; ++static inline int *f(MYV4 *a, int i) ++{ ++ return &(a->v[i]); ++} ++ ++static inline MYV4 myfunc2( int x, int y, int z, int w ) ++{ ++ MYV4 temp; ++ *f(&temp, 0 ) = x; ++ *f(&temp, 1 ) = y; ++ *f(&temp, 2 ) = z; ++ *f(&temp, 3 ) = w; ++ return temp; ++} ++ ++MYV4 val3; ++ ++__attribute__((noinline)) void modify (void) ++{ ++ val3 = myfunc2( 1, 2, 3, 4 ); ++} ++ ++int main( int argc, char* argv[] ) ++{ ++ int a[4]; ++ int i; ++ ++ modify(); ++ ++ if (*f(&val3, 0 ) != 1) ++ __builtin_abort (); ++ if (*f(&val3, 1 ) != 2) ++ __builtin_abort (); ++ if (*f(&val3, 2 ) != 3) ++ __builtin_abort (); ++ if (*f(&val3, 3 ) != 4) ++ __builtin_abort (); ++ ++ __builtin_memcpy(a, &val3, 16); ++ for(i = 0; i < 4; i++) ++ if (a[i] != i+1) ++ __builtin_abort (); ++ ++ ++ return 0; ++} +Index: gcc/testsuite/g++.dg/torture/vector-subscript-2.C +=================================================================== +--- gcc/testsuite/g++.dg/torture/vector-subscript-2.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/torture/vector-subscript-2.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,67 @@ ++/* { dg-do run } */ ++/* { dg-options "-w" } */ ++#define vector __attribute__((vector_size(sizeof(int)*4) )) ++ ++/* Check to make sure that we extract and insert the vector at the same ++ location for vector subscripting (with constant indexes) and ++ that vectors layout are the same as arrays. */ ++ ++struct TV4 ++{ ++ vector int v; ++}; ++typedef TV4 MYV4; ++ ++static inline MYV4 myfunc2( int x, int y, int z, int w ) ++{ ++ MYV4 temp; ++ temp.v[0] = x; ++ temp.v[1] = y; ++ temp.v[2] = z; ++ temp.v[3] = w; ++ return temp; ++} ++MYV4 val3; ++__attribute__((noinline)) void modify (void) ++{ ++ val3 = myfunc2( 1, 2, 3, 4 ); ++} ++int main( int argc, char* argv[] ) ++{ ++ int a[4]; ++ int i; ++ ++ /* Set up the vector. */ ++ modify(); ++ ++ /* Check the vector via the global variable. */ ++ if (val3.v[0] != 1) ++ __builtin_abort (); ++ if (val3.v[1] != 2) ++ __builtin_abort (); ++ if (val3.v[2] != 3) ++ __builtin_abort (); ++ if (val3.v[3] != 4) ++ __builtin_abort (); ++ ++ vector int a1 = val3.v; ++ ++ /* Check the vector via a local variable. */ ++ if (a1[0] != 1) ++ __builtin_abort (); ++ if (a1[1] != 2) ++ __builtin_abort (); ++ if (a1[2] != 3) ++ __builtin_abort (); ++ if (a1[3] != 4) ++ __builtin_abort (); ++ ++ __builtin_memcpy(a, &val3, sizeof(a)); ++ /* Check the vector via copying it to an array. */ ++ for(i = 0; i < 4; i++) ++ if (a[i] != i+1) ++ __builtin_abort (); ++ ++ ++ return 0; ++} +Index: gcc/testsuite/g++.dg/torture/vector-subscript-3.C +=================================================================== +--- gcc/testsuite/g++.dg/torture/vector-subscript-3.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/torture/vector-subscript-3.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,60 @@ ++/* { dg-do run } */ ++/* { dg-options "-w" } */ ++#define vector __attribute__((vector_size(sizeof(int)*4) )) ++ ++/* Check to make sure that we extract and insert the vector at the same ++ location for vector subscripting and that vectors layout are the same ++ as arrays. */ ++ ++struct TV4 ++{ ++ vector int v; ++}; ++ ++typedef struct TV4 MYV4; ++template ++static inline int *f(MYV4 *a) ++{ ++ return &(a->v[i]); ++} ++static inline MYV4 myfunc2( int x, int y, int z, int w ) ++{ ++ MYV4 temp; ++ *f<0>(&temp) = x; ++ *f<1>(&temp) = y; ++ *f<2>(&temp) = z; ++ *f<3>(&temp) = w; ++ return temp; ++} ++ ++MYV4 val3; ++ ++__attribute__((noinline)) void modify (void) ++{ ++ val3 = myfunc2( 1, 2, 3, 4 ); ++} ++ ++int main( int argc, char* argv[] ) ++{ ++ int a[4]; ++ int i; ++ ++ modify(); ++ ++ if (*f<0>(&val3) != 1) ++ __builtin_abort (); ++ if (*f<1>(&val3) != 2) ++ __builtin_abort (); ++ if (*f<2>(&val3) != 3) ++ __builtin_abort (); ++ if (*f<3>(&val3) != 4) ++ __builtin_abort (); ++ ++ __builtin_memcpy(a, &val3, 16); ++ for(i = 0; i < 4; i++) ++ if (a[i] != i+1) ++ __builtin_abort (); ++ ++ ++ return 0; ++} +Index: gcc/testsuite/g++.dg/torture/vector-subscript-4.C +=================================================================== +--- gcc/testsuite/g++.dg/torture/vector-subscript-4.C (.../gcc-4_3-branch) (revision 0) ++++ gcc/testsuite/g++.dg/torture/vector-subscript-4.C (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,68 @@ ++/* { dg-do run } */ ++/* { dg-options "-w" } */ ++#define vector __attribute__((vector_size(sizeof(int)*4) )) ++ ++/* Check to make sure that we extract and insert the vector at the same ++ location for vector subscripting (with constant indexes) and ++ that vectors layout are the same as arrays. */ ++ ++struct TV4 ++{ ++ vector int v; ++}; ++typedef struct TV4 MYV4; ++ ++template ++static inline type myfunc2( int x, int y, int z, int w ) ++{ ++ type temp; ++ temp.v[0] = x; ++ temp.v[1] = y; ++ temp.v[2] = z; ++ temp.v[3] = w; ++ return temp; ++} ++MYV4 val3; ++__attribute__((noinline)) void modify (void) ++{ ++ val3 = myfunc2( 1, 2, 3, 4 ); ++} ++int main( int argc, char* argv[] ) ++{ ++ int a[4]; ++ int i; ++ ++ /* Set up the vector. */ ++ modify(); ++ ++ /* Check the vector via the global variable. */ ++ if (val3.v[0] != 1) ++ __builtin_abort (); ++ if (val3.v[1] != 2) ++ __builtin_abort (); ++ if (val3.v[2] != 3) ++ __builtin_abort (); ++ if (val3.v[3] != 4) ++ __builtin_abort (); ++ ++ vector int a1 = val3.v; ++ ++ /* Check the vector via a local variable. */ ++ if (a1[0] != 1) ++ __builtin_abort (); ++ if (a1[1] != 2) ++ __builtin_abort (); ++ if (a1[2] != 3) ++ __builtin_abort (); ++ if (a1[3] != 4) ++ __builtin_abort (); ++ ++ __builtin_memcpy(a, &val3, sizeof(a)); ++ /* Check the vector via copying it to an array. */ ++ for(i = 0; i < 4; i++) ++ if (a[i] != i+1) ++ __builtin_abort (); ++ ++ ++ return 0; ++} +Index: gcc/testsuite/lib/target-supports.exp +=================================================================== +--- gcc/testsuite/lib/target-supports.exp (.../gcc-4_3-branch) (revision 156795) ++++ gcc/testsuite/lib/target-supports.exp (.../cell-4_3-branch) (revision 156810) +@@ -485,6 +485,41 @@ + }] + } + ++# Return 1 if extended address spaces (__ea) is supported, 0 ++# otherwise. ++# ++# This won't change for different subtargets so cache the result. ++ ++proc check_effective_target_ea {} { ++ global et_ea_saved ++ global tool ++ ++ if [info exists et_ea_saved] { ++ verbose "check_effective_target_ea: using cached result" 2 ++ } else { ++ set et_ea_saved 1 ++ ++ set src ea[pid].c ++ set asm ea[pid].S ++ verbose "check_effective_target_ea: compiling testfile $src" 2 ++ set f [open $src "w"] ++ # Compile a small test program. ++ puts $f "extern __ea int i;\n" ++ close $f ++ ++ # Test for extended address space support on the target. ++ set comp_output \ ++ [${tool}_target_compile $src $asm assembly ""] ++ file delete $src ++ if { [string match "*not supported*" $comp_output] } { ++ set et_ea_saved 0 ++ } ++ remove-build-file $asm ++ } ++ verbose "check_effective_target_ea: returning $et_ea_saved" 2 ++ return $et_ea_saved ++} ++ + # Return 1 if thread local storage (TLS) is supported, 0 otherwise. + # + # This won't change for different subtargets so cache the result. +Index: gcc/cp/typeck.c +=================================================================== +--- gcc/cp/typeck.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/cp/typeck.c (.../cell-4_3-branch) (revision 156810) +@@ -2458,6 +2458,17 @@ + return error_mark_node; + } + ++/* Like cxx_mark_addressable but don't check register qualifier. */ ++static void ++mark_addressable_vector (tree x) ++{ ++ while (handled_component_p (x)) ++ x = TREE_OPERAND (x, 0); ++ if (TREE_CODE (x) != VAR_DECL && TREE_CODE (x) != PARM_DECL) ++ return ; ++ TREE_ADDRESSABLE (x) = 1; ++} ++ + /* This handles expressions of the form "a[i]", which denotes + an array reference. + +@@ -2504,6 +2515,22 @@ + default: + break; + } ++ ++ /* For vector[index], convert the vector to a pointer of the underlying ++ type. */ ++ if (TREE_CODE (TREE_TYPE (array)) == VECTOR_TYPE) ++ { ++ tree type = TREE_TYPE (array); ++ tree type1; ++ /* Mark the vector as addressable but ignore the ++ register storage class. */ ++ mark_addressable_vector (array); ++ type = build_qualified_type (TREE_TYPE (type), TYPE_QUALS (type)); ++ type = build_pointer_type (type); ++ type1 = build_pointer_type (TREE_TYPE (array)); ++ array = build1 (ADDR_EXPR, type1, array); ++ array = convert (type, array); ++ } + + if (TREE_CODE (TREE_TYPE (array)) == ARRAY_TYPE) + { +@@ -6965,7 +6992,7 @@ + type = strip_array_types (CONST_CAST_TREE(type)); + if (type == error_mark_node) + return TYPE_UNQUALIFIED; +- return TYPE_QUALS (type); ++ return TYPE_QUALS (CONST_CAST_TREE (type)); + } + + /* Returns nonzero if the TYPE is const from a C++ perspective: look inside +Index: gcc/cp/decl2.c +=================================================================== +--- gcc/cp/decl2.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/cp/decl2.c (.../cell-4_3-branch) (revision 156810) +@@ -280,6 +280,17 @@ + maybe_retrofit_in_chrg (function); + } + ++/* Like cxx_mark_addressable but don't check register storage class. */ ++static void ++mark_addressable_vector (tree x) ++{ ++ while (handled_component_p (x)) ++ x = TREE_OPERAND (x, 0); ++ if (TREE_CODE (x) != VAR_DECL && TREE_CODE (x) != PARM_DECL) ++ return ; ++ TREE_ADDRESSABLE (x) = 1; ++} ++ + /* Create an ARRAY_REF, checking for the user doing things backwards + along the way. */ + +@@ -316,6 +327,21 @@ + else + { + tree p1, p2, i1, i2; ++ /* For vector[index], convert the vector to a pointer of the underlying ++ type. */ ++ if (TREE_CODE (type) == VECTOR_TYPE) ++ { ++ tree type = TREE_TYPE (array_expr); ++ tree type1; ++ /* Mark the vector as addressable but ignore the ++ register storage class. */ ++ mark_addressable_vector (array_expr); ++ type = build_qualified_type (TREE_TYPE (type), TYPE_QUALS (type)); ++ type = build_pointer_type (type); ++ type1 = build_pointer_type (TREE_TYPE (array_expr)); ++ array_expr = build1 (ADDR_EXPR, type1, array_expr); ++ array_expr = convert (type, array_expr); ++ } + + /* Otherwise, create an ARRAY_REF for a pointer or array type. + It is a little-known fact that, if `a' is an array and `i' is +Index: gcc/tree-ssa-loop-ivopts.c +=================================================================== +--- gcc/tree-ssa-loop-ivopts.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/tree-ssa-loop-ivopts.c (.../cell-4_3-branch) (revision 156810) +@@ -1912,9 +1912,16 @@ + static tree + generic_type_for (tree type) + { +- if (POINTER_TYPE_P (type)) ++ if (GENERIC_ADDR_SPACE_POINTER_TYPE_P (type)) + return unsigned_type_for (type); + ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (type)) ++ { ++ int qual = ENCODE_QUAL_ADDR_SPACE (TYPE_ADDR_SPACE (TREE_TYPE (type))); ++ return build_pointer_type ++ (build_qualified_type (void_type_node, qual)); ++ } ++ + if (TYPE_UNSIGNED (type)) + return type; + +Index: gcc/c-objc-common.c +=================================================================== +--- gcc/c-objc-common.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-objc-common.c (.../cell-4_3-branch) (revision 156810) +@@ -187,6 +187,10 @@ + int + c_types_compatible_p (tree x, tree y) + { ++ if (TYPE_ADDR_SPACE (strip_array_types (x)) ++ != TYPE_ADDR_SPACE (strip_array_types (y))) ++ return false; ++ + return comptypes (TYPE_MAIN_VARIANT (x), TYPE_MAIN_VARIANT (y)); + } + +Index: gcc/c-tree.h +=================================================================== +--- gcc/c-tree.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-tree.h (.../cell-4_3-branch) (revision 156810) +@@ -286,6 +286,8 @@ + BOOL_BITFIELD restrict_p : 1; + /* Whether "_Sat" was specified. */ + BOOL_BITFIELD saturating_p : 1; ++ /* Whether the declaration is in another address space. */ ++ unsigned char address_space; + }; + + /* The various kinds of declarators in C. */ +@@ -516,6 +518,7 @@ + struct c_typespec); + extern struct c_declspecs *declspecs_add_scspec (struct c_declspecs *, tree); + extern struct c_declspecs *declspecs_add_attrs (struct c_declspecs *, tree); ++extern struct c_declspecs *declspecs_add_addrspace (struct c_declspecs *, tree); + extern struct c_declspecs *finish_declspecs (struct c_declspecs *); + + /* in c-objc-common.c */ +Index: gcc/ifcvt.c +=================================================================== +--- gcc/ifcvt.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/ifcvt.c (.../cell-4_3-branch) (revision 156810) +@@ -73,6 +73,10 @@ + + #define NULL_BLOCK ((basic_block) NULL) + ++/* boolean to indicate that aggressive cmov branch elimination ++ should be tried. */ ++static int aggressive_cmov; ++ + /* # of IF-THEN or IF-THEN-ELSE blocks we looked at */ + static int num_possible_if_blocks; + +@@ -104,6 +108,8 @@ + static int cond_exec_find_if_block (ce_if_block_t *); + static int find_if_case_1 (basic_block, edge, edge); + static int find_if_case_2 (basic_block, edge, edge); ++static int block_modifies_live_reg (basic_block, basic_block); ++static int find_andif_orif_block (ce_if_block_t *); + static int find_memory (rtx *, void *); + static int dead_or_predicable (basic_block, basic_block, basic_block, + basic_block, int); +@@ -1492,6 +1498,522 @@ + return FALSE; + } + ++/* Determine if there are instructions within a basic block that ++ will prevent the block from being eliminated by conditional ++ move transformation. */ ++ ++static int ++safe_to_transform_p (basic_block blk) ++{ ++ rtx insn, set; ++ ++ if (!blk) ++ return TRUE; ++ ++ for (insn = BB_HEAD (blk); insn; insn = NEXT_INSN (insn)) ++ { ++ if (active_insn_p (insn)) ++ switch (GET_CODE (insn)) ++ { ++ ++ case JUMP_INSN: ++ break; ++ ++ case INSN: ++ if ((set = single_set (insn))) ++ { ++ if (GET_CODE ((SET_DEST (set))) == MEM) ++ return FALSE; ++ if (!noce_operand_ok (SET_SRC (set))) ++ return FALSE; ++ break; ++ } ++ /* fallthrough */ ++ ++ default: ++ /* Anything else, e.g., calls returns, cannot be handled. */ ++ return FALSE; ++ } ++ if (insn == BB_END (blk)) ++ break; ++ } ++ ++ return TRUE; ++} ++ ++/* Determine if it is cost effective to proceed with aggressive cmov ++ transformation. */ ++ ++static int ++cost_effective_p (int fallthru_cost, int taken_cost, rtx jump_insn) ++{ ++ rtx note; ++ int prob; /* conditional branch probability */ ++ int predicted_cost; ++ int cmov_cost = taken_cost + fallthru_cost; ++ ++ /* Factor in BRANCH costs. There will usually be a jump instruction ++ at the bottom of the fallthru block. The cost of this jump could ++ depend upon architecture specific features, such as hardware ++ branch predicition or insertion of branch hint instructions. ++ If FALLTHRU_BRANCH_COST is undefined, we assume the branch is ++ correctly predicted without additional cost. */ ++ ++#ifdef FALLTHRU_BRANCH_COST ++ fallthru_cost += FALLTHRU_BRANCH_COST; ++#endif ++ ++ taken_cost += BRANCH_COST; /* always mispredicted */ ++ ++ if ((note = find_reg_note (jump_insn, REG_BR_PROB, 0))) ++ { ++ prob = INTVAL (XEXP (note, 0)); ++ predicted_cost = ++ (prob * taken_cost + ++ (REG_BR_PROB_BASE - prob) * fallthru_cost) / REG_BR_PROB_BASE; ++ } ++ else ++ { ++ predicted_cost = taken_cost + fallthru_cost; ++ } ++ ++ return (cmov_cost > predicted_cost) ? FALSE : TRUE; ++} ++ ++/* Throughout the rtx X, replace many registers according to REG_MAP. ++ REG_MAP[R] is the replacement for register R, or 0 for don't replace. ++ NREGS is the length of REG_MAP; regs >= NREGS are not mapped. ++ ++ If X is a SET that modifies register R and R is in EXPOSED_SET, then ++ replace register R with a new pseudo and update REG_MAP[R]. ++ ++ Also check for cases that we don't handle, e.g., stores and ++ instructions with side effects. */ ++ ++static int remap_regs_status; ++static void ++validate_remap_regs_1 (rtx * loc, rtx * reg_map, rtx * reg_map_orig, ++ unsigned int nregs, rtx insn, regset exposed_set) ++{ ++ enum rtx_code code; ++ int i, regno; ++ const char *fmt; ++ rtx x = *loc; ++ ++ if (!x || remap_regs_status < 0) ++ return; ++ ++ code = GET_CODE (x); ++ switch (code) ++ { ++ case SCRATCH: ++ case PC: ++ case CC0: ++ case CONST_INT: ++ case CONST_DOUBLE: ++ case CONST_VECTOR: ++ case CONST: ++ case SYMBOL_REF: ++ case LABEL_REF: ++ return; ++ ++ case REG: ++ /* Verify that the register has an entry before trying to access it. */ ++ regno = REGNO (x); ++ if (REGNO (x) < nregs && reg_map[regno] != 0) ++ validate_change (insn, loc, reg_map[regno], 1); ++ return; ++ ++ case SET: ++ validate_remap_regs_1 (&SET_SRC (x), reg_map, reg_map_orig, nregs, insn, ++ exposed_set); ++ ++ loc = &SET_DEST (x); ++ x = SET_DEST (x); ++ if (GET_CODE (x) == SUBREG) ++ { ++ loc = &SUBREG_REG (x); ++ x = SUBREG_REG (x); ++ } ++ if (GET_CODE (x) == MEM || GET_CODE (x) == STRICT_LOW_PART) ++ { ++ remap_regs_status = -1; ++ return; ++ } ++ if (GET_CODE (x) == REG) ++ { ++ regno = REGNO (x); ++ if (REGNO_REG_SET_P (exposed_set, regno)) ++ { ++ /* Ensure there is a conditional move instruction ++ for registers of this mode. */ ++ if (!can_conditionally_move_p (GET_MODE (x))) ++ { ++ remap_regs_status = -2; ++ return; ++ } ++ reg_map_orig[regno] = x; ++ reg_map[regno] = gen_reg_rtx (GET_MODE (x)); ++ ORIGINAL_REGNO (reg_map[regno]) = regno; ++ validate_change (insn, loc, reg_map[regno], 1); ++ } ++ } ++ else ++ validate_remap_regs_1 (loc, reg_map, reg_map_orig, nregs, insn, ++ exposed_set); ++ return; ++ ++ case CLOBBER: ++ if (GET_CODE (x) == SUBREG) ++ { ++ loc = &SUBREG_REG (x); ++ x = SUBREG_REG (x); ++ } ++ if (GET_CODE (x) == REG && REGNO_REG_SET_P (exposed_set, REGNO (x))) ++ abort (); ++ break; ++ ++ default: ++ break; ++ } ++ ++ fmt = GET_RTX_FORMAT (code); ++ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) ++ { ++ if (fmt[i] == 'e') ++ validate_remap_regs_1 (&XEXP (x, i), reg_map, reg_map_orig, nregs, ++ insn, exposed_set); ++ else if (fmt[i] == 'E') ++ { ++ int j; ++ for (j = 0; j < XVECLEN (x, i); j++) ++ validate_remap_regs_1 (&XVECEXP (x, i, j), reg_map, reg_map_orig, ++ nregs, insn, exposed_set); ++ } ++ } ++} ++ ++static int ++validate_remap_regs (rtx * reg_map, rtx * reg_map_orig, unsigned int nregs, ++ rtx insn, regset exposed_set) ++{ ++ /* REG_NOTES needs to be first because it has no SETs. */ ++ remap_regs_status = 0; ++ validate_remap_regs_1 (®_NOTES (insn), reg_map, reg_map_orig, nregs, ++ insn, exposed_set); ++ validate_remap_regs_1 (&PATTERN (insn), reg_map, reg_map_orig, nregs, insn, ++ exposed_set); ++ return remap_regs_status; ++} ++ ++ ++/* For all instructions in TGT remap registers such that any ++ modification of a register in EXPOSED_SET is instead replaced with a ++ pseudo register and any corresponding references are also updated. ++ The register being replaced is saved in REG_MAP_ORIG and the new ++ pseudo register is stored in REG_MAP. */ ++static int ++remap_instructions (basic_block tgt, rtx * reg_map, rtx * reg_map_orig, ++ int nregs, regset exposed_set) ++{ ++ rtx insn, next_insn, bb_end; ++ int status; ++ ++ next_insn = BB_HEAD (tgt); ++ bb_end = BB_END (tgt); ++ do ++ { ++ insn = next_insn; ++ next_insn = NEXT_INSN (insn); ++ ++ if (GET_CODE (insn) == JUMP_INSN) ++ break; ++ ++ if (GET_CODE (insn) == CALL_INSN) ++ return -3; ++ ++ /* Don't move labels and notes. */ ++ if (GET_CODE (insn) != INSN) ++ continue; ++ ++ if (!noce_operand_ok (PATTERN (insn))) ++ return -4; ++ ++ status = ++ validate_remap_regs (reg_map, reg_map_orig, nregs, insn, exposed_set); ++ if (status < 0) ++ return status; ++ } ++ while (insn != bb_end); ++ return 0; ++} ++ ++/* Move instructions from TGT to the end of HDR (before the jump). ++ HDR is the test block and TGT is either the target block or fallthru ++ block of an if statement. */ ++static int ++hoist_instructions (basic_block hdr, basic_block tgt) ++{ ++ rtx insn, next_insn, bb_end; ++ rtx jump_insn = BB_END (hdr); ++ int n_insns = 0; ++ ++ next_insn = BB_HEAD (tgt); ++ bb_end = BB_END (tgt); ++ do ++ { ++ insn = next_insn; ++ next_insn = NEXT_INSN (insn); ++ ++ if (GET_CODE (insn) == JUMP_INSN) ++ break; ++ ++ /* Don't move labels and notes. */ ++ if (GET_CODE (insn) != INSN) ++ continue; ++ ++ remove_insn (insn); ++ NEXT_INSN (insn) = 0; ++ PREV_INSN (insn) = 0; ++ emit_insn_before (insn, jump_insn); ++ n_insns++; ++ ++ } ++ while (insn != bb_end); ++ return n_insns; ++} ++ ++/* Every REG in X should be marked in EXPOSED_SET. */ ++static void ++mark_regs_in_rtx (rtx x, regset exposed_set) ++{ ++ int i, code; ++ const char *fmt; ++ ++ if (!x) ++ return; ++ ++ code = GET_CODE (x); ++ if (code == REG) ++ { ++ SET_REGNO_REG_SET (exposed_set, REGNO (x)); ++ return; ++ } ++ ++ fmt = GET_RTX_FORMAT (code); ++ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) ++ { ++ if (fmt[i] == 'e') ++ mark_regs_in_rtx (XEXP (x, i), exposed_set); ++ else if (fmt[i] == 'E') ++ { ++ int j; ++ for (j = 0; j < XVECLEN (x, i); j++) ++ mark_regs_in_rtx (XVECEXP (x, i, j), exposed_set); ++ } ++ } ++} ++ ++/* If *PX is a REG and the corresponding entry is set in REG_MAP_ORIG ++ we need to make a copy of the register and change *PX. */ ++static void ++copy_regs_in_rtx (rtx * px, rtx * reg_map_orig, int nregs) ++{ ++ rtx x = *px; ++ int i, code; ++ const char *fmt; ++ ++ if (!x) ++ return; ++ ++ code = GET_CODE (x); ++ if (code == REG) ++ { ++ if (REGNO (x) < (unsigned) nregs && reg_map_orig[REGNO (x)]) ++ { ++ rtx nr = gen_reg_rtx (GET_MODE (x)); ++ emit_move_insn (nr, x); ++ /* We don't check if this replacement is valid because we are ++ working on a copy. */ ++ *px = nr; ++ } ++ return; ++ } ++ ++ fmt = GET_RTX_FORMAT (code); ++ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) ++ { ++ if (fmt[i] == 'e') ++ copy_regs_in_rtx (&XEXP (x, i), reg_map_orig, nregs); ++ else if (fmt[i] == 'E') ++ { ++ int j; ++ for (j = 0; j < XVECLEN (x, i); j++) ++ copy_regs_in_rtx (&XVECEXP (x, i, j), reg_map_orig, nregs); ++ } ++ } ++} ++ ++ ++/* Try to merge blocks and eliminate a conditional branch by converting ++ instructions in the blocks following the branch to conditional move ++ instructions. This routine differs from noce_try_cmove() and ++ noce_try_cmove_arith() in that situations are handled involving ++ assignment to multiple variables and assignment to temporary variables ++ used within either the branch fallthru or branch taken block. */ ++ ++static int ++noce_try_cmove_aggressive (struct noce_if_info *if_info) ++{ ++#if HAVE_conditional_move ++ basic_block hdr = if_info->test_bb; ++ basic_block fallthru = if_info->then_bb; ++ basic_block taken = if_info->else_bb; ++ int fallthru_cost = 0, taken_cost = 0; ++ rtx *reg_map_fallthru = 0, *reg_map_taken = 0, *reg_map_orig = 0, seq; ++ regset exposed_set; ++ int i, nregs, status, n_insns = 0, n_cmovs = 0; ++ ++ /* Ensure the condition in the branch at the end of the header block ++ is conformable to transformation. */ ++ ++ if (!onlyjump_p (if_info->jump)) ++ return FALSE; ++ ++ if (!if_info->cond || (GET_MODE (XEXP (if_info->cond, 0)) == BLKmode)) ++ return FALSE; ++ ++ fallthru_cost = fallthru ? count_bb_insns (fallthru) : 0; ++ taken_cost = taken ? count_bb_insns (taken) : 0; ++ ++ /* Determine if it is cost effective to proceed. */ ++ ++ if (!cost_effective_p (fallthru_cost, taken_cost, if_info->jump)) ++ return FALSE; ++ ++ /* Determine which register we need to replace with pseudos. */ ++ exposed_set = ALLOC_REG_SET (®_obstack); ++ COPY_REG_SET (exposed_set, DF_LR_OUT (if_info->test_bb)); ++ mark_regs_in_rtx (if_info->cond, exposed_set); ++ if (fallthru) ++ IOR_REG_SET (exposed_set, DF_LR_OUT (fallthru)); ++ if (taken) ++ IOR_REG_SET (exposed_set, DF_LR_OUT (taken)); ++ ++ nregs = max_reg_num (); ++ ++ /* Change all register references so that there will be no conflicts ++ when moving the fallthru and taken blocks to the test block. */ ++ status = 0; ++ reg_map_orig = xcalloc (nregs, sizeof (rtx)); ++ if (fallthru) ++ { ++ reg_map_fallthru = xcalloc (nregs, sizeof (rtx)); ++ status = ++ remap_instructions (fallthru, reg_map_fallthru, reg_map_orig, nregs, ++ exposed_set); ++ } ++ if (status >= 0 && taken) ++ { ++ reg_map_taken = xcalloc (nregs, sizeof (rtx)); ++ status = ++ remap_instructions (taken, reg_map_taken, reg_map_orig, nregs, ++ exposed_set); ++ } ++ ++ if (status >= 0) ++ { ++ rtx cond; ++ /* Move taken and fallthru instructions to the test block. */ ++ if (taken) ++ n_insns += hoist_instructions (hdr, taken); ++ if (fallthru) ++ n_insns += hoist_instructions (hdr, fallthru); ++ ++ /* Create the conditional moves. */ ++ start_sequence (); ++ ++ /* When registers used in info.cond are modified in the fallthru ++ or taken blocks we must make a copy to use for the conditional ++ moves. Don't modify the original condition because we could ++ still fail after this point. */ ++ cond = copy_rtx (if_info->cond); ++ copy_regs_in_rtx (&cond, reg_map_orig, nregs); ++ ++ for (i = 0; i < nregs; i++) ++ { ++ enum machine_mode mode; ++ rtx a, b, target; ++ int code; ++ if (reg_map_orig[i]) ++ { ++ target = reg_map_orig[i]; ++ mode = GET_MODE (target); ++ a = target; ++ b = target; ++ if (taken && reg_map_taken[i]) ++ a = reg_map_taken[i]; ++ if (fallthru && reg_map_fallthru[i]) ++ b = reg_map_fallthru[i]; ++ if (a == b) ++ abort (); ++ code = GET_CODE (cond); ++ if (!emit_conditional_move (target, code, ++ XEXP (cond, 0), ++ XEXP (cond, 1), ++ VOIDmode, ++ a, b, ++ mode, ++ (code == LTU || code == GEU ++ || code == LEU || code == GTU))) ++ { ++ status = -6; ++ break; ++ } ++ ++ n_cmovs++; ++ } ++ } ++ seq = get_insns (); ++ end_sequence (); ++ ++ if (status >= 0) ++ { ++ emit_insn_before_setloc (seq, if_info->jump, ++ INSN_LOCATOR (if_info->jump)); ++ ++ if (dump_file) ++ fprintf (dump_file, ++ "%d insn%s hoisted out of if statement and %d cmov insn%s generated.\n", ++ n_insns, (n_insns == 1) ? " was" : "s were", n_cmovs, ++ (n_cmovs == 1) ? " was" : "s were"); ++ if (n_cmovs > 0) ++ { ++ cond_exec_changed_p = TRUE; ++ num_updated_if_blocks++; ++ } ++ ++ } ++ } ++ ++ if (status < 0) ++ cancel_changes (0); ++ else if (!apply_change_group ()) ++ status = -5; ++ ++ ++ CLEAR_REG_SET (exposed_set); ++ free (reg_map_orig); ++ if (reg_map_fallthru) ++ free (reg_map_fallthru); ++ if (reg_map_taken) ++ free (reg_map_taken); ++ return status >= 0 && n_cmovs > 0; ++#else ++ return FALSE; ++#endif ++} ++ + /* For most cases, the simplified condition we found is the best + choice, but this is not the case for the min/max/abs transforms. + For these we wish to know that it is A or B in the condition. */ +@@ -2151,6 +2673,188 @@ + return false; + } + ++/* Given a simple IF-ANDIF-THEN block, attempt to convert it ++ without using conditional execution. Return TRUE if we were ++ successful at converting the block. */ ++ ++static int ++noce_process_andif_orif_block (ce_if_block_t * ce_info, int andif) ++{ ++ basic_block test_bb = ce_info->test_bb; /* Basic block test is in */ ++ basic_block then_bb = ce_info->then_bb; /* Basic block for THEN block */ ++ basic_block else_bb = ce_info->else_bb; /* Basic block for ELSE block */ ++ /* We've found a pattern of the form ++ ++ (1) if (a && b) ... ++ (2) if (a || b) ... ++ ++ Convert it to ++ ++ (1) if ((a) & (b)) ... ++ (2) if ((a) | (b)) ... ++ ++ */ ++ ++ edge e; ++ rtx test_earliest, then_earliest; ++ rtx jump, cond; ++ rtx then_jump, then_cond; ++ rtx note, then_note, set; ++ enum machine_mode mode; ++ HOST_WIDE_INT prob, then_prob; ++ ++ /* If the conditional jump is more than just a conditional jump, ++ then we can not do if-conversion on this block. */ ++ jump = BB_END (test_bb); ++ then_jump = BB_END (then_bb); ++ if (!onlyjump_p (jump) || !onlyjump_p (then_jump)) ++ return FALSE; ++ ++ /* Check that we don't modify anything that is ++ live at the beginning of the ELSE block. */ ++ ++ /* The THEN block should be small enough to merge. */ ++ if (count_bb_insns (then_bb) > BRANCH_COST) ++ return FALSE; ++ ++ if (block_modifies_live_reg (then_bb, else_bb)) ++ return FALSE; ++ if (!safe_to_transform_p (then_bb)) ++ return FALSE; ++ ++ /* Get the mode of jump's condition. The cond return by get_condition ++ might have mode VOIDmode. */ ++ if (!any_condjump_p (jump) || !(set = pc_set (jump))) ++ return FALSE; ++ ++ mode = GET_MODE (XEXP (SET_SRC (set), 0)); ++ if (mode == VOIDmode) ++ return FALSE; ++ ++ /* FIXME: This may be too conservative. valid_at_insn_p can be false? */ ++ /* If this is not a standard conditional jump, we can't parse it. */ ++ cond = get_condition (jump, &test_earliest, 0, true); ++ if (!cond || !test_earliest) ++ return FALSE; ++ ++ then_cond = get_condition (then_jump, &then_earliest, 0, true); ++ if (!then_cond || !then_earliest) ++ return FALSE; ++ ++ /* We must be comparing objects whose modes imply the size. */ ++ if (GET_MODE (XEXP (cond, 0)) == BLKmode ++ || GET_MODE (XEXP (then_cond, 0)) == BLKmode) ++ return FALSE; ++ ++ /* Only merge if both branches are more likely to go to the common ++ destination. When that happens bb reordering can't arrange for ++ both of the branches to fall-thru to the more likely case. By ++ merging the two branches we exchange the cost of a mispredicted ++ branch for the additional tests. ++ This is the most important test because it limits the optimization ++ to cases it is most likely to be a win. But it ignores the cases ++ where this optimization on it's own is not a win but in combination ++ with some other if conversions it would be. */ ++ note = find_reg_note (jump, REG_BR_PROB, NULL_RTX); ++ then_note = find_reg_note (then_jump, REG_BR_PROB, NULL_RTX); ++ prob = note ? INTVAL (XEXP (note, 0)) : REG_BR_PROB_BASE / 2; ++ then_prob = then_note ? INTVAL (XEXP (then_note, 0)) : REG_BR_PROB_BASE / 2; ++ if (prob < REG_BR_PROB_BASE / 2 ++ || (andif ? then_prob < REG_BR_PROB_BASE / 2 : then_prob > ++ REG_BR_PROB_BASE / 2)) ++ return FALSE; ++ ++ ++ { ++ enum rtx_code code; ++ rtx seq_a, seq_b, seq_t; ++ rtx a, b, t; ++ rtx new_jump; ++ ++ start_sequence (); ++ a = gen_reg_rtx (mode); ++ code = GET_CODE (cond); ++ a = emit_store_flag (a, code, XEXP (cond, 0), XEXP (cond, 1), VOIDmode, ++ (code == LTU || code == LEU || code == GEU ++ || code == GTU), 0); ++ seq_a = get_insns (); ++ end_sequence (); ++ ++ if (!a) ++ return FALSE; ++ ++ start_sequence (); ++ b = gen_reg_rtx (mode); ++ code = GET_CODE (then_cond); ++ b = ++ emit_store_flag (b, code, XEXP (then_cond, 0), XEXP (then_cond, 1), ++ VOIDmode, (code == LTU || code == LEU || code == GEU ++ || code == GTU), 0); ++ seq_b = get_insns (); ++ end_sequence (); ++ ++ if (!b) ++ return FALSE; ++ ++ emit_insn_before (seq_a, test_earliest); ++ emit_insn_before (seq_b, then_earliest); ++ ++ start_sequence (); ++ t = gen_reg_rtx (mode); ++ if (andif) ++ emit_insn (gen_rtx_SET (VOIDmode, t, gen_rtx_IOR (mode, a, b))); ++ else ++ emit_insn (gen_rtx_SET ++ (VOIDmode, t, gen_rtx_AND (mode, gen_rtx_NOT (mode, a), b))); ++ emit_cmp_and_jump_insns (t, const0_rtx, NE, 0, mode, 0, ++ JUMP_LABEL (then_jump)); ++ seq_t = get_insns (); ++ new_jump = get_last_insn (); ++ end_sequence (); ++ ++ emit_insn_before (seq_t, then_jump); ++ ++ if (GET_CODE (new_jump) != JUMP_INSN) ++ abort (); ++ JUMP_LABEL (new_jump) = JUMP_LABEL (then_jump); ++ LABEL_NUSES (JUMP_LABEL (new_jump)) += 1; ++ ++ /* Compute the new branch probability. */ ++ then_prob = ((REG_BR_PROB_BASE - prob) * then_prob) / REG_BR_PROB_BASE; ++ if (andif) ++ then_prob += prob; ++ ++ REG_NOTES (new_jump) = gen_rtx_EXPR_LIST (REG_BR_PROB, ++ GEN_INT (then_prob), ++ REG_NOTES (new_jump)); ++ ++ /* We have previously tested that then_bb has exactly two ++ successors. */ ++ gcc_assert (EDGE_COUNT (then_bb->succs) == 2); ++ e = EDGE_SUCC (then_bb, 0); ++ if (e->flags & EDGE_FALLTHRU) ++ { ++ e->probability = REG_BR_PROB_BASE - then_prob; ++ EDGE_SUCC (then_bb, 1)->probability = then_prob; ++ } ++ else ++ { ++ e->probability = then_prob; ++ EDGE_SUCC (then_bb, 1)->probability = REG_BR_PROB_BASE - then_prob; ++ } ++ ++ delete_insn (jump); ++ delete_insn (then_jump); ++ ++ /* Merge the blocks! */ ++ ce_info->else_bb = 0; ++ ce_info->join_bb = 0; ++ merge_if_block (ce_info); ++ } ++ ++ return TRUE; ++} ++ + /* Return whether we can use store speculation for MEM. TOP_BB is the + basic block above the conditional block where we are considering + doing the speculative store. We look for whether MEM is set +@@ -2841,6 +3545,9 @@ + && cond_move_process_if_block (&if_info)) + return TRUE; + ++ if (aggressive_cmov && noce_try_cmove_aggressive (&if_info)) ++ return TRUE; ++ + return FALSE; + } + +@@ -2922,7 +3629,8 @@ + && CALL_P (last) + && SIBLING_CALL_P (last)) + || ((EDGE_SUCC (combo_bb, 0)->flags & EDGE_EH) +- && can_throw_internal (last))); ++ && can_throw_internal (last)) ++ || aggressive_cmov); + } + + /* The JOIN block may have had quite a number of other predecessors too. +@@ -3013,7 +3721,11 @@ + IFCVT_INIT_EXTRA_FIELDS (&ce_info); + #endif + +- if (! reload_completed ++ if (flag_aggressive_cmov ++ && !reload_completed && find_andif_orif_block (&ce_info)) ++ goto success; ++ ++ if (!reload_completed + && noce_find_if_block (test_bb, then_edge, else_edge, pass)) + goto success; + +@@ -3113,6 +3825,77 @@ + return n_insns; + } + ++/* Determine if a given basic block heads a simple IF-ANDIF-THEN or ++ IF-ORIF-THEN block. If so, we'll try to convert the insns to not ++ require the branch. Return TRUE if we were successful at converting ++ the the block. */ ++ ++static int ++find_andif_orif_block (ce_if_block_t * ce_info) ++{ ++ basic_block test_bb = ce_info->test_bb; ++ basic_block then_bb = ce_info->then_bb; ++ basic_block else_bb = ce_info->else_bb; ++ edge then_then_edge; ++ edge then_else_edge; ++ ++ /* The THEN block of an IF-ANDIF-THEN/IF-ORIF-THEN combo must have ++ * exactly one predecessor. */ ++ if (!single_pred_p (then_bb)) ++ return FALSE; ++ ++ /* The THEN block of an IF-THEN combo must have exactly two ++ * successors. */ ++ if (EDGE_COUNT (then_bb->succs) != 2) ++ return FALSE; ++ ++ then_then_edge = EDGE_SUCC (then_bb, 0); ++ then_else_edge = EDGE_SUCC (then_bb, 1); ++ ++ /* Neither edge should be abnormal. */ ++ if ((then_then_edge->flags & EDGE_COMPLEX) ++ || (then_else_edge->flags & EDGE_COMPLEX)) ++ return FALSE; ++ ++ /* The THEN edge is canonically the one that falls through. */ ++ if (then_then_edge->flags & EDGE_FALLTHRU) ++ ; ++ else if (then_else_edge->flags & EDGE_FALLTHRU) ++ { ++ edge e = then_else_edge; ++ then_else_edge = then_then_edge; ++ then_then_edge = e; ++ } ++ else ++ /* Otherwise this must be a multiway branch of some sort. */ ++ return FALSE; ++ ++ /* One of then's successors must point to ELSE. */ ++ if (then_then_edge->dest == else_bb) ++ { ++ if (dump_file) ++ fprintf (dump_file, ++ "\nIF-ORIF-THEN block found, start %d, then %d, else %d, then-then %d\n", ++ test_bb->index, then_bb->index, else_bb->index, ++ then_then_edge->dest->index); ++ num_possible_if_blocks++; ++ return noce_process_andif_orif_block (ce_info, 0); ++ } ++ else if (then_else_edge->dest == else_bb) ++ { ++ if (dump_file) ++ fprintf (dump_file, ++ "\nIF-ANDIF-THEN block found, start %d, then %d, else %d, then-then %d\n", ++ test_bb->index, then_bb->index, else_bb->index, ++ then_then_edge->dest->index); ++ num_possible_if_blocks++; ++ return noce_process_andif_orif_block (ce_info, 1); ++ } ++ else ++ return FALSE; ++ ++} ++ + /* Determine if a given basic block heads a simple IF-THEN or IF-THEN-ELSE + block. If so, we'll try to convert the insns to not require the branch. + Return TRUE if we were successful at converting the block. */ +@@ -3743,6 +4526,52 @@ + return MEM_P (*px); + } + ++/* Return TRUE if insns in MERGE_BB modified registers that are live at ++ the start of ELSE_BB */ ++static int ++block_modifies_live_reg (basic_block merge_bb, basic_block else_bb) ++{ ++ bitmap merge_set, tmp; ++ unsigned fail = 0; ++ rtx insn; ++ ++ /* Collect: MERGE_SET = set of registers set in MERGE_BB */ ++ ++ merge_set = BITMAP_ALLOC (®_obstack); ++ tmp = BITMAP_ALLOC (®_obstack); ++ ++ /* ??? bb->local_set is only valid during calculate_global_regs_live, ++ so we must recompute usage for MERGE_BB. Not so bad, I suppose, ++ since we've already asserted that MERGE_BB is small. */ ++ FOR_BB_INSNS (merge_bb, insn) ++ { ++ if (INSN_P (insn)) ++ { ++ unsigned int uid = INSN_UID (insn); ++ struct df_ref **def_rec; ++ for (def_rec = DF_INSN_UID_DEFS (uid); *def_rec; def_rec++) ++ { ++ struct df_ref *def = *def_rec; ++ bitmap_set_bit (merge_set, DF_REF_REGNO (def)); ++ } ++ } ++ } ++ ++ /* We can perform the transformation if ++ MERGE_SET & df_get_live_in (else_bb) ++ is empty. */ ++ ++ bitmap_and (tmp, df_get_live_in (else_bb), merge_set); ++ fail = bitmap_count_bits (tmp) != 0; ++ ++ FREE_REG_SET (tmp); ++ FREE_REG_SET (merge_set); ++ ++ if (fail) ++ return TRUE; ++ return FALSE; ++} ++ + /* Used by the code above to perform the actual rtl transformations. + Return TRUE if successful. + +@@ -4045,6 +4874,8 @@ + { + basic_block bb; + int pass; ++ int block_num, nblocks; ++ int *worklist; + + if (optimize == 1) + { +@@ -4066,6 +4897,9 @@ + + df_set_flags (DF_LR_RUN_DCE); + ++ aggressive_cmov = (flag_aggressive_cmov ++ && !(HAVE_conditional_execution && reload_completed)); ++ + /* Go through each of the basic blocks looking for things to convert. If we + have conditional execution, we make multiple passes to allow us to handle + IF-THEN{-ELSE} blocks within other IF-THEN{-ELSE} blocks. */ +@@ -4083,13 +4917,35 @@ + fprintf (dump_file, "\n\n========== Pass %d ==========\n", pass); + #endif + +- FOR_EACH_BB (bb) ++ if (aggressive_cmov) + { +- basic_block new_bb; +- while (!df_get_bb_dirty (bb) +- && (new_bb = find_if_header (bb, pass)) != NULL) +- bb = new_bb; ++ /* For aggressive conditional move, walk the basic blocks in ++ post order rather than just normal order. */ ++ worklist = ++ (int *) xmalloc ((n_basic_blocks - NUM_FIXED_BLOCKS) * ++ sizeof (int)); ++ post_order_compute (worklist, false, false); ++ for (block_num = 0, nblocks = n_basic_blocks - NUM_FIXED_BLOCKS; ++ block_num < nblocks; block_num++) ++ { ++ basic_block new_bb; ++ bb = BASIC_BLOCK (worklist[block_num]); ++ while (!df_get_bb_dirty (bb) ++ && (new_bb = find_if_header (bb, pass)) != NULL) ++ bb = new_bb; ++ } ++ free (worklist); + } ++ else ++ { ++ FOR_EACH_BB (bb) ++ { ++ basic_block new_bb; ++ while (!df_get_bb_dirty (bb) ++ && (new_bb = find_if_header (bb, pass)) != NULL) ++ bb = new_bb; ++ } ++ } + + #ifdef IFCVT_MULTIPLE_DUMPS + if (dump_file && cond_exec_changed_p) +@@ -4100,6 +4956,10 @@ + print_rtl_with_bb (dump_file, get_insns ()); + } + #endif ++ if (aggressive_cmov && cond_exec_changed_p) ++ { ++ cleanup_cfg (CLEANUP_NO_INSN_DEL); ++ } + } + while (cond_exec_changed_p); + +Index: gcc/dwarf2out.c +=================================================================== +--- gcc/dwarf2out.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/dwarf2out.c (.../cell-4_3-branch) (revision 156810) +@@ -8914,6 +8914,9 @@ + add_AT_unsigned (mod_type_die, DW_AT_byte_size, + simple_type_size_in_bits (type) / BITS_PER_UNIT); + item_type = TREE_TYPE (type); ++ if (TYPE_ADDR_SPACE (item_type)) ++ add_AT_unsigned (mod_type_die, DW_AT_address_class, ++ TYPE_ADDR_SPACE (strip_array_types (item_type))); + } + else if (code == REFERENCE_TYPE) + { +@@ -8921,6 +8924,9 @@ + add_AT_unsigned (mod_type_die, DW_AT_byte_size, + simple_type_size_in_bits (type) / BITS_PER_UNIT); + item_type = TREE_TYPE (type); ++ if (TYPE_ADDR_SPACE (item_type)) ++ add_AT_unsigned (mod_type_die, DW_AT_address_class, ++ TYPE_ADDR_SPACE (strip_array_types (item_type))); + } + else if (is_subrange_type (type)) + { +Index: gcc/expr.c +=================================================================== +--- gcc/expr.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/expr.c (.../cell-4_3-branch) (revision 156810) +@@ -6904,17 +6904,22 @@ + enum expand_modifier modifier) + { + enum machine_mode rmode; ++ enum machine_mode addrmode; + rtx result; + + /* Target mode of VOIDmode says "whatever's natural". */ + if (tmode == VOIDmode) + tmode = TYPE_MODE (TREE_TYPE (exp)); + ++ addrmode = Pmode; ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (TREE_TYPE (exp))) ++ addrmode = targetm.addr_space_pointer_mode (TYPE_ADDR_SPACE (TREE_TYPE (exp))); ++ + /* We can get called with some Weird Things if the user does silliness + like "(short) &a". In that case, convert_memory_address won't do + the right thing, so ignore the given target mode. */ +- if (tmode != Pmode && tmode != ptr_mode) +- tmode = Pmode; ++ if (tmode != addrmode && tmode != ptr_mode) ++ tmode = addrmode; + + result = expand_expr_addr_expr_1 (TREE_OPERAND (exp, 0), target, + tmode, modifier); +@@ -7154,6 +7159,7 @@ + int ignore; + tree context, subexp0, subexp1; + bool reduce_bit_field = false; ++ rtx (*genfn) (rtx, rtx); + #define REDUCE_BIT_FIELD(expr) (reduce_bit_field && !ignore \ + ? reduce_to_bit_field_precision ((expr), \ + target, \ +@@ -8126,6 +8132,27 @@ + return target; + } + ++ /* Handle casts of pointers to/from address space qualified ++ pointers. */ ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (type) ++ && GENERIC_ADDR_SPACE_POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (exp, 0)))) ++ { ++ rtx reg = gen_reg_rtx (TYPE_MODE (type)); ++ op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, modifier); ++ genfn = targetm.addr_space_conversion_rtl (0, 1); ++ emit_insn (genfn (reg, op0)); ++ return reg; ++ } ++ else if (GENERIC_ADDR_SPACE_POINTER_TYPE_P (type) ++ && (OTHER_ADDR_SPACE_POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (exp, 0))))) ++ { ++ rtx reg = gen_reg_rtx (Pmode); ++ op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, modifier); ++ genfn = targetm.addr_space_conversion_rtl (1, 0); ++ emit_insn (genfn (reg, op0)); ++ return reg; ++ } ++ + if (mode == TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)))) + { + op0 = expand_expr (TREE_OPERAND (exp, 0), target, VOIDmode, +Index: gcc/predict.c +=================================================================== +--- gcc/predict.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/predict.c (.../cell-4_3-branch) (revision 156810) +@@ -1054,7 +1054,13 @@ + && (fndecl = get_callee_fndecl (call)) + && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL + && DECL_FUNCTION_CODE (fndecl) == BUILT_IN_EXPECT +- && call_expr_nargs (call) == 2) ++ && call_expr_nargs (call) == 2 ++#ifdef HAVE_builtin_expect ++ /* When the target provides a builtin_expect rtl pattern ++ keep the calls that aren't constant. */ ++ && TREE_CONSTANT (CALL_EXPR_ARG (call, 1)) ++#endif ++ ) + { + GIMPLE_STMT_OPERAND (stmt, 1) = CALL_EXPR_ARG (call, 0); + update_stmt (stmt); +Index: gcc/recog.c +=================================================================== +--- gcc/recog.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/recog.c (.../cell-4_3-branch) (revision 156810) +@@ -94,6 +94,9 @@ + /* Nonzero after thread_prologue_and_epilogue_insns has run. */ + int epilogue_completed; + ++/* Nonzero after split0 pass has run. */ ++int split0_completed; ++ + /* Initialize data used by the function `recog'. + This must be called once in the compilation of a function + before any insn recognition may be done in the function. */ +@@ -3508,4 +3511,39 @@ + 0 /* letter */ + }; + ++static bool ++gate_handle_split_before_cse2 (void) ++{ ++#ifdef SPLIT_BEFORE_CSE2 ++ return SPLIT_BEFORE_CSE2; ++#else ++ return 0; ++#endif ++} + ++static unsigned int ++rest_of_handle_split_before_cse2 (void) ++{ ++ split_all_insns_noflow (); ++ split0_completed = 1; ++ return 0; ++} ++ ++struct tree_opt_pass pass_split_before_cse2 = ++{ ++ "split0", /* name */ ++ gate_handle_split_before_cse2, /* gate */ ++ rest_of_handle_split_before_cse2, /* execute */ ++ NULL, /* sub */ ++ NULL, /* next */ ++ 0, /* static_pass_number */ ++ 0, /* tv_id */ ++ 0, /* properties_required */ ++ 0, /* properties_provided */ ++ 0, /* properties_destroyed */ ++ 0, /* todo_flags_start */ ++ TODO_dump_func, /* todo_flags_finish */ ++ 0 /* letter */ ++}; ++ ++ +Index: gcc/c-decl.c +=================================================================== +--- gcc/c-decl.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-decl.c (.../cell-4_3-branch) (revision 156810) +@@ -61,6 +61,7 @@ + #include "except.h" + #include "langhooks-def.h" + #include "pointer-set.h" ++#include "targhooks.h" + + /* In grokdeclarator, distinguish syntactic contexts of declarators. */ + enum decl_context +@@ -2925,7 +2926,8 @@ + else if (!declspecs->tag_defined_p + && (declspecs->const_p + || declspecs->volatile_p +- || declspecs->restrict_p)) ++ || declspecs->restrict_p ++ || declspecs->address_space)) + { + if (warned != 1) + pedwarn ("empty declaration with type qualifier " +@@ -2994,7 +2996,8 @@ + + if (!warned && !in_system_header && (declspecs->const_p + || declspecs->volatile_p +- || declspecs->restrict_p)) ++ || declspecs->restrict_p ++ || declspecs->address_space)) + { + warning (0, "useless type qualifier in empty declaration"); + warned = 2; +@@ -3017,7 +3020,8 @@ + { + int quals = ((specs->const_p ? TYPE_QUAL_CONST : 0) + | (specs->volatile_p ? TYPE_QUAL_VOLATILE : 0) +- | (specs->restrict_p ? TYPE_QUAL_RESTRICT : 0)); ++ | (specs->restrict_p ? TYPE_QUAL_RESTRICT : 0) ++ | (ENCODE_QUAL_ADDR_SPACE (specs->address_space))); + gcc_assert (!specs->type + && !specs->decl_attr + && specs->typespec_word == cts_none +@@ -3276,6 +3280,23 @@ + && !flag_no_common) + DECL_COMMON (decl) = 1; + ++ if (TREE_CODE (decl) == VAR_DECL ++ && TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (decl))) ++ && (declspecs->storage_class == csc_static ++ || (declspecs->storage_class == csc_none ++ && !current_function_scope) ++ || (declspecs->storage_class == csc_extern ++ && initialized))) ++ { ++ static tree ea_name; ++ ++ if (!targetm.have_named_sections) ++ error ("%<__ea%> definitions not supported for %qD", decl); ++ if (!ea_name) ++ ea_name = build_string (4, "._ea"); ++ DECL_SECTION_NAME (decl) = ea_name; ++ } ++ + /* Set attributes here so if duplicate decl, will have proper attributes. */ + decl_attributes (&decl, attributes, 0); + +@@ -3983,6 +4004,7 @@ + int constp; + int restrictp; + int volatilep; ++ int addr_space_p; + int type_quals = TYPE_UNQUALIFIED; + const char *name, *orig_name; + tree typedef_type = 0; +@@ -4090,7 +4112,7 @@ + declaration contains the `const'. A third possibility is that + there is a type qualifier on the element type of a typedefed + array type, in which case we should extract that qualifier so +- that c_apply_type_quals_to_decls receives the full list of ++ that c_apply_type_quals_to_decl receives the full list of + qualifiers to work with (C90 is not entirely clear about whether + duplicate qualifiers should be diagnosed in this case, but it + seems most appropriate to do so). */ +@@ -4098,6 +4120,7 @@ + constp = declspecs->const_p + TYPE_READONLY (element_type); + restrictp = declspecs->restrict_p + TYPE_RESTRICT (element_type); + volatilep = declspecs->volatile_p + TYPE_VOLATILE (element_type); ++ addr_space_p = (declspecs->address_space > 0) + (TYPE_ADDR_SPACE (element_type) > 0); + if (pedantic && !flag_isoc99) + { + if (constp > 1) +@@ -4106,16 +4129,79 @@ + pedwarn ("duplicate %"); + if (volatilep > 1) + pedwarn ("duplicate %"); ++ if (addr_space_p > 1) ++ pedwarn ("duplicate %qs", ++ targetm.addr_space_name (TYPE_ADDR_SPACE (element_type))); ++ + } + if (!flag_gen_aux_info && (TYPE_QUALS (element_type))) + type = TYPE_MAIN_VARIANT (type); + type_quals = ((constp ? TYPE_QUAL_CONST : 0) + | (restrictp ? TYPE_QUAL_RESTRICT : 0) +- | (volatilep ? TYPE_QUAL_VOLATILE : 0)); ++ | (volatilep ? TYPE_QUAL_VOLATILE : 0) ++ | (addr_space_p ? ++ ENCODE_QUAL_ADDR_SPACE (declspecs->address_space) : 0)); + + /* Warn about storage classes that are invalid for certain + kinds of declarations (parameters, typenames, etc.). */ + ++ if (((declarator->kind == cdk_pointer ++ && (DECODE_QUAL_ADDR_SPACE (declarator->u.pointer_quals)) != 0) ++ || addr_space_p) ++ && targetm.addr_space_name == default_addr_space_name) ++ { ++ /* A mere warning is sure to result in improper semantics ++ at runtime. Don't bother to allow this to compile. */ ++ error ("extended address space not supported for this target"); ++ return 0; ++ } ++ ++ if (declarator->kind == cdk_pointer ++ ? (DECODE_QUAL_ADDR_SPACE (declarator->u.pointer_quals)) != 0 ++ : addr_space_p) ++ { ++ const char *addrspace_name; ++ ++ addrspace_name = (declspecs->address_space) ++ ? targetm.addr_space_name (declspecs->address_space) ++ : targetm.addr_space_name (DECODE_QUAL_ADDR_SPACE (declarator->u.pointer_quals)); ++ ++ if (decl_context == NORMAL) ++ { ++ if (declarator->kind == cdk_function) ++ error ("%qs specified for function %qs", addrspace_name, name); ++ else ++ { ++ switch (storage_class) ++ { ++ case csc_auto: ++ error ("%qs combined with % qualifier for %qs", addrspace_name, name); ++ break; ++ case csc_register: ++ error ("%qs combined with % qualifier for %qs", addrspace_name, name); ++ break; ++ case csc_none: ++ if (current_function_scope) ++ { ++ error ("%<__ea%> specified for auto variable %qs", name); ++ break; ++ } ++ break; ++ case csc_static: ++ break; ++ case csc_extern: ++ break; ++ case csc_typedef: ++ break; ++ } ++ } ++ } ++ else if (decl_context == PARM && declarator->kind != cdk_array) ++ error ("%qs specified for parameter %qs", addrspace_name, name); ++ else if (decl_context == FIELD) ++ error ("%qs specified for structure field %qs", addrspace_name, name); ++ } ++ + if (funcdef_flag + && (threadp + || storage_class == csc_auto +@@ -4573,9 +4659,15 @@ + /* Merge any constancy or volatility into the target type + for the pointer. */ + +- if (pedantic && TREE_CODE (type) == FUNCTION_TYPE +- && type_quals) +- pedwarn ("ISO C forbids qualified function types"); ++ if (TREE_CODE (type) == FUNCTION_TYPE) ++ { ++ if (pedantic && type_quals) ++ pedwarn ("ISO C forbids qualified function types"); ++ } ++#ifdef TARGET_ALL_EA ++ else if (TARGET_ALL_EA) ++ type_quals |= ENCODE_QUAL_ADDR_SPACE (1); ++#endif + if (type_quals) + type = c_build_qualified_type (type, type_quals); + size_varies = 0; +@@ -4720,6 +4812,13 @@ + tree type_as_written; + tree promoted_type; + ++#ifdef TARGET_ALL_EA ++ if (TARGET_ALL_EA ++ && (POINTER_TYPE_P (type) ++ || TREE_CODE (type) == ARRAY_TYPE)) ++ type_quals |= ENCODE_QUAL_ADDR_SPACE (1); ++#endif ++ + /* A parameter declared as an array of T is really a pointer to T. + One declared as a function is really a pointer to a function. */ + +@@ -4905,6 +5004,14 @@ + /* An uninitialized decl with `extern' is a reference. */ + int extern_ref = !initialized && storage_class == csc_extern; + ++#ifdef TARGET_ALL_EA ++ if (TARGET_ALL_EA ++ && (storage_class == csc_static ++ || storage_class == csc_extern ++ || (storage_class == csc_none && !current_function_scope))) ++ type_quals |= ENCODE_QUAL_ADDR_SPACE (1); ++#endif ++ + type = c_build_qualified_type (type, type_quals); + + /* C99 6.2.2p7: It is invalid (compile-time undefined +@@ -7159,9 +7266,23 @@ + ret->volatile_p = false; + ret->restrict_p = false; + ret->saturating_p = false; ++ ret->address_space = 0; + return ret; + } + ++struct c_declspecs * ++declspecs_add_addrspace (struct c_declspecs *specs, tree addrspace) ++{ ++ specs->non_sc_seen_p = true; ++ specs->declspecs_seen_p = true; ++ ++ if (specs->address_space > 0) ++ pedwarn ("duplicate %qs", targetm.addr_space_name (specs->address_space)); ++ ++ specs->address_space = targetm.addr_space_number (addrspace); ++ return specs; ++} ++ + /* Add the type qualifier QUAL to the declaration specifiers SPECS, + returning SPECS. */ + +Index: gcc/c-pretty-print.c +=================================================================== +--- gcc/c-pretty-print.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-pretty-print.c (.../cell-4_3-branch) (revision 156810) +@@ -29,6 +29,8 @@ + #include "c-tree.h" + #include "tree-iterator.h" + #include "diagnostic.h" ++#include "target.h" ++#include "target-def.h" + + /* The pretty-printer code is primarily designed to closely follow + (GNU) C and C++ grammars. That is to be contrasted with spaghetti +@@ -220,8 +222,12 @@ + const + restrict -- C99 + __restrict__ -- GNU C +- volatile */ ++ address-space-qualifier -- GNU C ++ volatile + ++ address-space-qualifier: ++ identifier -- GNU C */ ++ + void + pp_c_type_qualifier_list (c_pretty_printer *pp, tree t) + { +@@ -240,6 +246,12 @@ + pp_c_cv_qualifier (pp, "volatile"); + if (qualifiers & TYPE_QUAL_RESTRICT) + pp_c_cv_qualifier (pp, flag_isoc99 ? "restrict" : "__restrict__"); ++ ++ if (TYPE_ADDR_SPACE (t)) ++ { ++ const char *as = targetm.addr_space_name (TYPE_ADDR_SPACE (t)); ++ pp_c_identifier (pp, as); ++ } + } + + /* pointer: +Index: gcc/langhooks.c +=================================================================== +--- gcc/langhooks.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/langhooks.c (.../cell-4_3-branch) (revision 156810) +@@ -284,7 +284,7 @@ + int + lhd_tree_dump_type_quals (const_tree t) + { +- return TYPE_QUALS (t); ++ return TYPE_QUALS (CONST_CAST_TREE (t)); + } + + /* lang_hooks.expr_size: Determine the size of the value of an expression T +Index: gcc/print-rtl.c +=================================================================== +--- gcc/print-rtl.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/print-rtl.c (.../cell-4_3-branch) (revision 156810) +@@ -556,6 +556,9 @@ + if (MEM_ALIGN (in_rtx) != 1) + fprintf (outfile, " A%u", MEM_ALIGN (in_rtx)); + ++ if (MEM_ADDR_SPACE (in_rtx)) ++ fprintf (outfile, " AS%u", MEM_ADDR_SPACE (in_rtx)); ++ + fputc (']', outfile); + break; + +Index: gcc/c-typeck.c +=================================================================== +--- gcc/c-typeck.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-typeck.c (.../cell-4_3-branch) (revision 156810) +@@ -930,7 +930,7 @@ + + /* Qualifiers must match. C99 6.7.3p9 */ + +- if (TYPE_QUALS (t1) != TYPE_QUALS (t2)) ++ if (TYPE_QUALS (CONST_CAST_TREE (t1)) != TYPE_QUALS (CONST_CAST_TREE (t2))) + return 0; + + /* Allow for two different type nodes which have essentially the same +@@ -2042,6 +2042,17 @@ + return error_mark_node; + } + ++/* Like c_mark_addressable but don't check register qualifier. */ ++static void ++mark_addressable_vector (tree x) ++{ ++ while (handled_component_p (x)) ++ x = TREE_OPERAND (x, 0); ++ if (TREE_CODE (x) != VAR_DECL && TREE_CODE (x) != PARM_DECL) ++ return ; ++ TREE_ADDRESSABLE (x) = 1; ++} ++ + /* This handles expressions of the form "a[i]", which denotes + an array reference. + +@@ -2049,7 +2060,10 @@ + If A is a variable or a member, we generate a primitive ARRAY_REF. + This avoids forcing the array out of registers, and can work on + arrays that are not lvalues (for example, members of structures returned +- by functions). */ ++ by functions). ++ ++ For vector types, allow vector[i] but not i[vector], and create ++ *(((type*)&vectortype) + i) for the expression. */ + + tree + build_array_ref (tree array, tree index) +@@ -2060,13 +2074,15 @@ + return error_mark_node; + + if (TREE_CODE (TREE_TYPE (array)) != ARRAY_TYPE +- && TREE_CODE (TREE_TYPE (array)) != POINTER_TYPE) ++ && TREE_CODE (TREE_TYPE (array)) != POINTER_TYPE ++ /* Allow vector[index] but not index[vector]. */ ++ && TREE_CODE (TREE_TYPE (array)) != VECTOR_TYPE) + { + tree temp; + if (TREE_CODE (TREE_TYPE (index)) != ARRAY_TYPE + && TREE_CODE (TREE_TYPE (index)) != POINTER_TYPE) + { +- error ("subscripted value is neither array nor pointer"); ++ error ("subscripted value is not an array, a pointer, or a vector"); + return error_mark_node; + } + temp = array; +@@ -2096,6 +2112,22 @@ + index = default_conversion (index); + + gcc_assert (TREE_CODE (TREE_TYPE (index)) == INTEGER_TYPE); ++ ++ /* For vector[index], convert the vector to a pointer of the underlying ++ type. */ ++ if (TREE_CODE (TREE_TYPE (array)) == VECTOR_TYPE) ++ { ++ tree type = TREE_TYPE (array); ++ tree type1; ++ /* Mark the vector as addressable but ignore the ++ register storage class. */ ++ mark_addressable_vector (array); ++ type = build_qualified_type (TREE_TYPE (type), TYPE_QUALS (type)); ++ type = build_pointer_type (type); ++ type1 = build_pointer_type (TREE_TYPE (array)); ++ array = build1 (ADDR_EXPR, type1, array); ++ array = convert (type, array); ++ } + + if (TREE_CODE (TREE_TYPE (array)) == ARRAY_TYPE) + { +@@ -8183,6 +8215,16 @@ + && TREE_CODE (tt1) == FUNCTION_TYPE) + pedwarn ("ISO C forbids comparison of %" + " with function pointer"); ++ ++ /* If this operand is a pointer into another address ++ space, make the result of the comparison such a ++ pointer also. */ ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (type0)) ++ { ++ int qual = ENCODE_QUAL_ADDR_SPACE (TYPE_ADDR_SPACE (TREE_TYPE (type0))); ++ result_type = build_pointer_type ++ (build_qualified_type (void_type_node, qual)); ++ } + } + else if (VOID_TYPE_P (tt1)) + { +@@ -8190,6 +8232,16 @@ + && TREE_CODE (tt0) == FUNCTION_TYPE) + pedwarn ("ISO C forbids comparison of %" + " with function pointer"); ++ ++ /* If this operand is a pointer into another address ++ space, make the result of the comparison such a ++ pointer also. */ ++ if (OTHER_ADDR_SPACE_POINTER_TYPE_P (type1)) ++ { ++ int qual = ENCODE_QUAL_ADDR_SPACE (TYPE_ADDR_SPACE (TREE_TYPE (type1))); ++ result_type = build_pointer_type ++ (build_qualified_type (void_type_node, qual)); ++ } + } + else + /* Avoid warning about the volatile ObjC EH puts on decls. */ +Index: gcc/coretypes.h +=================================================================== +--- gcc/coretypes.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/coretypes.h (.../cell-4_3-branch) (revision 156810) +@@ -60,9 +60,11 @@ + + /* Provide forward struct declaration so that we don't have to include + all of cpplib.h whenever a random prototype includes a pointer. +- Note that the cpp_reader typedef remains part of cpplib.h. */ ++ Note that the cpp_reader and cpp_token typedefs remain part of ++ cpplib.h. */ + + struct cpp_reader; ++struct cpp_token; + + /* The thread-local storage model associated with a given VAR_DECL + or SYMBOL_REF. This isn't used much, but both trees and RTL refer +Index: gcc/emit-rtl.c +=================================================================== +--- gcc/emit-rtl.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/emit-rtl.c (.../cell-4_3-branch) (revision 156810) +@@ -189,7 +189,7 @@ + static hashval_t mem_attrs_htab_hash (const void *); + static int mem_attrs_htab_eq (const void *, const void *); + static mem_attrs *get_mem_attrs (alias_set_type, tree, rtx, rtx, unsigned int, +- enum machine_mode); ++ unsigned char, enum machine_mode); + static hashval_t reg_attrs_htab_hash (const void *); + static int reg_attrs_htab_eq (const void *, const void *); + static reg_attrs *get_reg_attrs (tree, int); +@@ -317,7 +317,7 @@ + + static mem_attrs * + get_mem_attrs (alias_set_type alias, tree expr, rtx offset, rtx size, +- unsigned int align, enum machine_mode mode) ++ unsigned int align, unsigned char addrspace, enum machine_mode mode) + { + mem_attrs attrs; + void **slot; +@@ -337,6 +337,7 @@ + attrs.offset = offset; + attrs.size = size; + attrs.align = align; ++ attrs.addrspace = addrspace; + + slot = htab_find_slot (mem_attrs_htab, &attrs, INSERT); + if (*slot == 0) +@@ -1739,7 +1740,8 @@ + + /* Now set the attributes we computed above. */ + MEM_ATTRS (ref) +- = get_mem_attrs (alias, expr, offset, size, align, GET_MODE (ref)); ++ = get_mem_attrs (alias, expr, offset, size, align, ++ TYPE_ADDR_SPACE (strip_array_types (type)), GET_MODE (ref)); + + /* If this is already known to be a scalar or aggregate, we are done. */ + if (MEM_IN_STRUCT_P (ref) || MEM_SCALAR_P (ref)) +@@ -1767,7 +1769,7 @@ + MEM_ATTRS (mem) + = get_mem_attrs (MEM_ALIAS_SET (mem), REG_EXPR (reg), + GEN_INT (REG_OFFSET (reg)), +- MEM_SIZE (mem), MEM_ALIGN (mem), GET_MODE (mem)); ++ MEM_SIZE (mem), MEM_ALIGN (mem), MEM_ADDR_SPACE (mem), GET_MODE (mem)); + } + + /* Set the alias set of MEM to SET. */ +@@ -1781,17 +1783,27 @@ + #endif + + MEM_ATTRS (mem) = get_mem_attrs (set, MEM_EXPR (mem), MEM_OFFSET (mem), +- MEM_SIZE (mem), MEM_ALIGN (mem), ++ MEM_SIZE (mem), MEM_ALIGN (mem), MEM_ADDR_SPACE (mem), + GET_MODE (mem)); + } + ++/* Set the address space of MEM to ADDRSPACE (target-defined). */ ++ ++void ++set_mem_addr_space (rtx mem, unsigned char addrspace) ++{ ++ MEM_ATTRS (mem) = get_mem_attrs (MEM_ALIAS_SET (mem), MEM_EXPR (mem), ++ MEM_OFFSET (mem), MEM_SIZE (mem), MEM_ALIGN (mem), ++ addrspace, GET_MODE (mem)); ++} ++ + /* Set the alignment of MEM to ALIGN bits. */ + + void + set_mem_align (rtx mem, unsigned int align) + { + MEM_ATTRS (mem) = get_mem_attrs (MEM_ALIAS_SET (mem), MEM_EXPR (mem), +- MEM_OFFSET (mem), MEM_SIZE (mem), align, ++ MEM_OFFSET (mem), MEM_SIZE (mem), align, MEM_ADDR_SPACE (mem), + GET_MODE (mem)); + } + +@@ -1802,7 +1814,7 @@ + { + MEM_ATTRS (mem) + = get_mem_attrs (MEM_ALIAS_SET (mem), expr, MEM_OFFSET (mem), +- MEM_SIZE (mem), MEM_ALIGN (mem), GET_MODE (mem)); ++ MEM_SIZE (mem), MEM_ALIGN (mem), MEM_ADDR_SPACE (mem), GET_MODE (mem)); + } + + /* Set the offset of MEM to OFFSET. */ +@@ -1811,7 +1823,7 @@ + set_mem_offset (rtx mem, rtx offset) + { + MEM_ATTRS (mem) = get_mem_attrs (MEM_ALIAS_SET (mem), MEM_EXPR (mem), +- offset, MEM_SIZE (mem), MEM_ALIGN (mem), ++ offset, MEM_SIZE (mem), MEM_ALIGN (mem), MEM_ADDR_SPACE (mem), + GET_MODE (mem)); + } + +@@ -1821,7 +1833,7 @@ + set_mem_size (rtx mem, rtx size) + { + MEM_ATTRS (mem) = get_mem_attrs (MEM_ALIAS_SET (mem), MEM_EXPR (mem), +- MEM_OFFSET (mem), size, MEM_ALIGN (mem), ++ MEM_OFFSET (mem), size, MEM_ALIGN (mem), MEM_ADDR_SPACE (mem), + GET_MODE (mem)); + } + +@@ -1889,7 +1901,7 @@ + } + + MEM_ATTRS (new) +- = get_mem_attrs (MEM_ALIAS_SET (memref), 0, 0, size, align, mmode); ++ = get_mem_attrs (MEM_ALIAS_SET (memref), 0, 0, size, align, MEM_ADDR_SPACE (memref), mmode); + + return new; + } +@@ -1956,7 +1968,8 @@ + size = plus_constant (MEM_SIZE (memref), -offset); + + MEM_ATTRS (new) = get_mem_attrs (MEM_ALIAS_SET (memref), MEM_EXPR (memref), +- memoffset, size, memalign, GET_MODE (new)); ++ memoffset, size, memalign, MEM_ADDR_SPACE (memref), ++ GET_MODE (new)); + + /* At some point, we should validate that this offset is within the object, + if all the appropriate values are known. */ +@@ -2014,7 +2027,7 @@ + MEM_ATTRS (new) + = get_mem_attrs (MEM_ALIAS_SET (memref), MEM_EXPR (memref), 0, 0, + MIN (MEM_ALIGN (memref), pow2 * BITS_PER_UNIT), +- GET_MODE (new)); ++ MEM_ADDR_SPACE (memref), GET_MODE (new)); + return new; + } + +@@ -2118,7 +2131,7 @@ + /* ??? Maybe use get_alias_set on any remaining expression. */ + + MEM_ATTRS (new) = get_mem_attrs (0, expr, memoffset, GEN_INT (size), +- MEM_ALIGN (new), mode); ++ MEM_ALIGN (new), MEM_ADDR_SPACE (new), mode); + + return new; + } +Index: gcc/emit-rtl.h +=================================================================== +--- gcc/emit-rtl.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/emit-rtl.h (.../cell-4_3-branch) (revision 156810) +@@ -26,6 +26,9 @@ + /* Set the alignment of MEM to ALIGN bits. */ + extern void set_mem_align (rtx, unsigned int); + ++/* Set the address space of MEM to ADDRSPACE. */ ++extern void set_mem_addr_space (rtx, unsigned char); ++ + /* Set the expr for MEM to EXPR. */ + extern void set_mem_expr (rtx, tree); + +Index: gcc/explow.c +=================================================================== +--- gcc/explow.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/explow.c (.../cell-4_3-branch) (revision 156810) +@@ -413,7 +413,8 @@ + { + rtx oldx = x; + +- x = convert_memory_address (Pmode, x); ++ if (MEM_P (x) && !targetm.valid_pointer_mode (GET_MODE (x))) ++ x = convert_memory_address (Pmode, x); + + /* By passing constant addresses through registers + we get a chance to cse them. */ +@@ -483,6 +484,8 @@ + + /* Last resort: copy the value to a register, since + the register is a valid address. */ ++ else if (targetm.valid_pointer_mode (GET_MODE (x))) ++ x = force_reg (GET_MODE (x), x); + else + x = force_reg (Pmode, x); + } +Index: gcc/print-tree.c +=================================================================== +--- gcc/print-tree.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/print-tree.c (.../cell-4_3-branch) (revision 156810) +@@ -29,6 +29,8 @@ + #include "ggc.h" + #include "langhooks.h" + #include "tree-iterator.h" ++#include "target.h" ++#include "target-def.h" + + /* Define the hash table of nodes already seen. + Such nodes are not repeated; brief cross-references are used. */ +@@ -590,6 +592,11 @@ + if (TYPE_RESTRICT (node)) + fputs (" restrict", file); + ++ /* FIXME: Use a target hook here to translate the address space ++ number. */ ++ if (TYPE_ADDR_SPACE (node)) ++ fputs (" __ea", file); ++ + if (TYPE_LANG_FLAG_0 (node)) + fputs (" type_0", file); + if (TYPE_LANG_FLAG_1 (node)) +Index: gcc/common.opt +=================================================================== +--- gcc/common.opt (.../gcc-4_3-branch) (revision 156795) ++++ gcc/common.opt (.../cell-4_3-branch) (revision 156810) +@@ -259,6 +259,10 @@ + fabi-version= + Common Joined UInteger Var(flag_abi_version) Init(2) + ++faggressive-cmov ++Common Report Var(flag_aggressive_cmov) Init(0) ++Perform aggressive speculative branch elimination using cmov instructions ++ + falign-functions + Common Report Var(align_functions,0) + Align the start of functions +Index: gcc/varasm.c +=================================================================== +--- gcc/varasm.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/varasm.c (.../cell-4_3-branch) (revision 156810) +@@ -1250,6 +1250,7 @@ + const char *name = 0; + int reg_number; + rtx x; ++ enum machine_mode addrmode; + + /* Check that we are not being given an automatic variable. */ + gcc_assert (TREE_CODE (decl) != PARM_DECL +@@ -1394,7 +1395,13 @@ + if (use_object_blocks_p () && use_blocks_for_decl_p (decl)) + x = create_block_symbol (name, get_block_for_decl (decl), -1); + else +- x = gen_rtx_SYMBOL_REF (Pmode, name); ++ { ++ addrmode = (TREE_TYPE (decl) == error_mark_node) ++ ? Pmode ++ : targetm.addr_space_pointer_mode ++ (TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (decl)))); ++ x = gen_rtx_SYMBOL_REF (addrmode, name); ++ } + SYMBOL_REF_WEAK (x) = DECL_WEAK (decl); + SET_SYMBOL_REF_DECL (x, decl); + +@@ -6257,6 +6264,13 @@ + return (mode == ptr_mode || mode == Pmode); + } + ++enum machine_mode ++default_addr_space_pointer_mode (int addrspace) ++{ ++ gcc_assert (addrspace == 0); ++ return ptr_mode; ++} ++ + /* Default function to output code that will globalize a label. A + target must define GLOBAL_ASM_OP or provide its own function to + globalize a label. */ +Index: gcc/tree-ssa.c +=================================================================== +--- gcc/tree-ssa.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/tree-ssa.c (.../cell-4_3-branch) (revision 156810) +@@ -973,6 +973,12 @@ + && TYPE_VOLATILE (TREE_TYPE (outer_type))) + return false; + ++ /* Do not lose casts between pointers in different address ++ spaces. */ ++ if (TYPE_ADDR_SPACE (TREE_TYPE (inner_type)) ++ != TYPE_ADDR_SPACE (TREE_TYPE (outer_type))) ++ return false; ++ + /* Do not lose casts between pointers with different + TYPE_REF_CAN_ALIAS_ALL setting or alias sets. */ + if ((TYPE_REF_CAN_ALIAS_ALL (inner_type) +@@ -1070,7 +1076,9 @@ + recursing though. */ + if (POINTER_TYPE_P (inner_type) + && POINTER_TYPE_P (outer_type) +- && TREE_CODE (TREE_TYPE (outer_type)) == VOID_TYPE) ++ && TREE_CODE (TREE_TYPE (outer_type)) == VOID_TYPE ++ && GENERIC_ADDR_SPACE_POINTER_TYPE_P (inner_type) ++ && GENERIC_ADDR_SPACE_POINTER_TYPE_P (outer_type)) + return true; + + return useless_type_conversion_p_1 (outer_type, inner_type); +Index: gcc/target-def.h +=================================================================== +--- gcc/target-def.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/target-def.h (.../cell-4_3-branch) (revision 156810) +@@ -437,6 +437,26 @@ + #define TARGET_VALID_POINTER_MODE default_valid_pointer_mode + #endif + ++#ifndef TARGET_ADDR_SPACE_POINTER_MODE ++#define TARGET_ADDR_SPACE_POINTER_MODE default_addr_space_pointer_mode ++#endif ++ ++#ifndef TARGET_ADDR_SPACE_NAME ++#define TARGET_ADDR_SPACE_NAME default_addr_space_name ++#endif ++ ++#ifndef TARGET_ADDR_SPACE_NUMBER ++#define TARGET_ADDR_SPACE_NUMBER default_addr_space_number ++#endif ++ ++#ifndef TARGET_ADDR_SPACE_CONVERSION_RTL ++#define TARGET_ADDR_SPACE_CONVERSION_RTL default_addr_space_conversion_rtl ++#endif ++ ++#ifndef TARGET_VALID_ADDR_SPACE ++#define TARGET_VALID_ADDR_SPACE hook_bool_const_tree_false ++#endif ++ + #ifndef TARGET_SCALAR_MODE_SUPPORTED_P + #define TARGET_SCALAR_MODE_SUPPORTED_P default_scalar_mode_supported_p + #endif +@@ -750,6 +770,11 @@ + TARGET_MIN_DIVISIONS_FOR_RECIP_MUL, \ + TARGET_MODE_REP_EXTENDED, \ + TARGET_VALID_POINTER_MODE, \ ++ TARGET_ADDR_SPACE_POINTER_MODE, \ ++ TARGET_ADDR_SPACE_NAME, \ ++ TARGET_ADDR_SPACE_NUMBER, \ ++ TARGET_ADDR_SPACE_CONVERSION_RTL, \ ++ TARGET_VALID_ADDR_SPACE, \ + TARGET_SCALAR_MODE_SUPPORTED_P, \ + TARGET_VECTOR_MODE_SUPPORTED_P, \ + TARGET_VECTOR_OPAQUE_P, \ +Index: gcc/rtl.h +=================================================================== +--- gcc/rtl.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/rtl.h (.../cell-4_3-branch) (revision 156810) +@@ -146,6 +146,7 @@ + rtx offset; /* Offset from start of DECL, as CONST_INT. */ + rtx size; /* Size in bytes, as a CONST_INT. */ + unsigned int align; /* Alignment of MEM in bits. */ ++ unsigned char addrspace; /* Address space (0 for generic). */ + } mem_attrs; + + /* Structure used to describe the attributes of a REG in similar way as +@@ -1196,6 +1197,10 @@ + RTX that is always a CONST_INT. */ + #define MEM_OFFSET(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->offset) + ++/* For a MEM rtx, the address space. If 0, the MEM belongs to the ++ generic address space. */ ++#define MEM_ADDR_SPACE(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->addrspace) ++ + /* For a MEM rtx, the size in bytes of the MEM, if known, as an RTX that + is always a CONST_INT. */ + #define MEM_SIZE(RTX) \ +@@ -1996,6 +2001,9 @@ + /* Nonzero after thread_prologue_and_epilogue_insns has run. */ + extern int epilogue_completed; + ++/* Nonzero after the split0 pass has completed. */ ++extern int split0_completed; ++ + /* Set to 1 while reload_as_needed is operating. + Required by some machines to handle any generated moves differently. */ + +Index: gcc/output.h +=================================================================== +--- gcc/output.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/output.h (.../cell-4_3-branch) (revision 156810) +@@ -613,6 +613,7 @@ + extern void default_file_start (void); + extern void file_end_indicate_exec_stack (void); + extern bool default_valid_pointer_mode (enum machine_mode); ++extern enum machine_mode default_addr_space_pointer_mode (int); + + extern void default_elf_asm_output_external (FILE *file, tree, + const char *); +Index: gcc/c-common.c +=================================================================== +--- gcc/c-common.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-common.c (.../cell-4_3-branch) (revision 156810) +@@ -4120,18 +4120,6 @@ + return 1; + } + +-/* Recursively examines the array elements of TYPE, until a non-array +- element type is found. */ +- +-tree +-strip_array_types (tree type) +-{ +- while (TREE_CODE (type) == ARRAY_TYPE) +- type = TREE_TYPE (type); +- +- return type; +-} +- + /* Recursively remove any '*' or '&' operator from TYPE. */ + tree + strip_pointer_operator (tree t) +Index: gcc/c-common.h +=================================================================== +--- gcc/c-common.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-common.h (.../cell-4_3-branch) (revision 156810) +@@ -180,6 +180,8 @@ + CTI_MAX + }; + ++#define C_CPP_HASHNODE(id) \ ++ (&(((struct c_common_identifier *) (id))->node)) + #define C_RID_CODE(id) (((struct c_common_identifier *) (id))->node.rid_code) + + /* Identifier part common to the C front ends. Inherits from +@@ -733,7 +735,6 @@ + extern void c_register_builtin_type (tree, const char*); + extern bool c_promoting_integer_type_p (const_tree); + extern int self_promoting_args_p (const_tree); +-extern tree strip_array_types (tree); + extern tree strip_pointer_operator (tree); + extern tree strip_pointer_or_array_types (tree); + extern HOST_WIDE_INT c_common_to_target_charset (HOST_WIDE_INT); +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config.gcc (.../cell-4_3-branch) (revision 156810) +@@ -2489,7 +2489,7 @@ + spu-*-elf*) + tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h" + tmake_file="spu/t-spu-elf" +- extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h" ++ extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h" + extra_modes=spu/spu-modes.def + c_target_objs="${c_target_objs} spu-c.o" + cxx_target_objs="${cxx_target_objs} spu-c.o" +Index: gcc/passes.c +=================================================================== +--- gcc/passes.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/passes.c (.../cell-4_3-branch) (revision 156810) +@@ -715,6 +715,7 @@ + } + NEXT_PASS (pass_web); + NEXT_PASS (pass_jump_bypass); ++ NEXT_PASS (pass_split_before_cse2); + NEXT_PASS (pass_cse2); + NEXT_PASS (pass_rtl_dse1); + NEXT_PASS (pass_rtl_fwprop_addr); +Index: gcc/c-parser.c +=================================================================== +--- gcc/c-parser.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/c-parser.c (.../cell-4_3-branch) (revision 156810) +@@ -238,6 +238,8 @@ + C_ID_TYPENAME, + /* An identifier declared as an Objective-C class name. */ + C_ID_CLASSNAME, ++ /* An address space identifier. */ ++ C_ID_ADDRSPACE, + /* Not an identifier. */ + C_ID_NONE + } c_id_kind; +@@ -362,6 +364,11 @@ + break; + } + } ++ else if (targetm.valid_addr_space (token->value)) ++ { ++ token->id_kind = C_ID_ADDRSPACE; ++ break; ++ } + else if (c_dialect_objc ()) + { + tree objc_interface_decl = objc_is_class_name (token->value); +@@ -463,6 +470,8 @@ + { + case C_ID_ID: + return false; ++ case C_ID_ADDRSPACE: ++ return true; + case C_ID_TYPENAME: + return true; + case C_ID_CLASSNAME: +@@ -533,6 +542,8 @@ + { + case C_ID_ID: + return false; ++ case C_ID_ADDRSPACE: ++ return true; + case C_ID_TYPENAME: + return true; + case C_ID_CLASSNAME: +@@ -1497,6 +1508,7 @@ + const + restrict + volatile ++ address-space-qualifier + + (restrict is new in C99.) + +@@ -1505,6 +1517,12 @@ + declaration-specifiers: + attributes declaration-specifiers[opt] + ++ type-qualifier: ++ address-space ++ ++ address-space: ++ identifier recognized by the target ++ + storage-class-specifier: + __thread + +@@ -1544,6 +1562,16 @@ + { + tree value = c_parser_peek_token (parser)->value; + c_id_kind kind = c_parser_peek_token (parser)->id_kind; ++ ++ if (kind == C_ID_ADDRSPACE && !c_dialect_objc ()) ++ { ++ declspecs_add_addrspace (specs, c_parser_peek_token (parser)->value); ++ c_parser_consume_token (parser); ++ attrs_ok = true; ++ seen_type = true; ++ continue; ++ } ++ + /* This finishes the specifiers unless a type name is OK, it + is declared as a type name and a type name hasn't yet + been seen. */ +@@ -5603,6 +5631,14 @@ + finish_init (); + maybe_warn_string_init (type, init); + ++ if (type != error_mark_node ++ && TYPE_ADDR_SPACE (strip_array_types (type)) ++ && current_function_decl) ++ { ++ error ("compound literal qualified by address-space qualifier"); ++ type = error_mark_node; ++ } ++ + if (pedantic && !flag_isoc99) + pedwarn ("%HISO C90 forbids compound literals", &start_loc); + expr.value = build_compound_literal (type, init.value); +Index: gcc/config/spu/spu_cache.h +=================================================================== +--- gcc/config/spu/spu_cache.h (.../gcc-4_3-branch) (revision 0) ++++ gcc/config/spu/spu_cache.h (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,41 @@ ++/* Copyright (C) 2008 Free Software Foundation, Inc. ++ ++ 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 of the License, or (at your option) ++ any later version. ++ ++ 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 file; see the file COPYING. If not, write to the Free ++ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ++ 02110-1301, USA. */ ++ ++/* As a special exception, if you include this header file into source files ++ compiled by GCC, this header file does not by itself 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. */ ++ ++#ifndef SPU_CACHEH ++#define SPU_CACHEH ++ ++void *__cache_fetch_dirty (__ea void *ea, int n_bytes_dirty); ++void *__cache_fetch (__ea void *ea); ++void __cache_evict (__ea void *ea); ++void __cache_flush (void); ++void __cache_touch (__ea void *ea); ++ ++#define cache_fetch_dirty(_ea, _n_bytes_dirty) \ ++ __cache_fetch_dirty(_ea, _n_bytes_dirty) ++ ++#define cache_fetch(_ea) __cache_fetch(_ea) ++#define cache_touch(_ea) __cache_touch(_ea) ++#define cache_evict(_ea) __cache_evict(_ea) ++#define cache_flush() __cache_flush() ++ ++#endif +Index: gcc/config/spu/spu-protos.h +=================================================================== +--- gcc/config/spu/spu-protos.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu-protos.h (.../cell-4_3-branch) (revision 156810) +@@ -51,10 +51,12 @@ + extern int iohl_immediate_p (rtx op, enum machine_mode mode); + extern int arith_immediate_p (rtx op, enum machine_mode mode, + HOST_WIDE_INT low, HOST_WIDE_INT high); ++extern bool exp2_immediate_p (rtx op, enum machine_mode mode, int low, ++ int high); + extern int spu_constant_address_p (rtx x); + extern int spu_legitimate_constant_p (rtx x); + extern int spu_legitimate_address (enum machine_mode mode, rtx x, +- int reg_ok_strict); ++ int reg_ok_strict, int for_split); + extern rtx spu_legitimize_address (rtx x, rtx oldx, enum machine_mode mode); + extern int spu_initial_elimination_offset (int from, int to); + extern rtx spu_function_value (const_tree type, const_tree func); +@@ -64,17 +66,16 @@ + tree type, int *pretend_size, + int no_rtl); + extern void spu_conditional_register_usage (void); +-extern int aligned_mem_p (rtx mem); + extern int spu_expand_mov (rtx * ops, enum machine_mode mode); +-extern void spu_split_load (rtx * ops); +-extern void spu_split_store (rtx * ops); +-extern int spu_valid_move (rtx * ops); ++extern int spu_split_load (rtx * ops); ++extern int spu_split_store (rtx * ops); + extern int fsmbi_const_p (rtx x); + extern int cpat_const_p (rtx x, enum machine_mode mode); + extern rtx gen_cpat_const (rtx * ops); + extern void constant_to_array (enum machine_mode mode, rtx x, + unsigned char *arr); + extern rtx array_to_constant (enum machine_mode mode, unsigned char *arr); ++extern rtx spu_gen_exp2 (enum machine_mode mode, rtx x); + extern void spu_allocate_stack (rtx op0, rtx op1); + extern void spu_restore_stack_nonlocal (rtx op0, rtx op1); + extern void spu_restore_stack_block (rtx op0, rtx op1); +Index: gcc/config/spu/predicates.md +=================================================================== +--- gcc/config/spu/predicates.md (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/predicates.md (.../cell-4_3-branch) (revision 156810) +@@ -39,14 +39,14 @@ + (ior (not (match_code "subreg")) + (match_test "valid_subreg (op)")))) + +-(define_predicate "spu_mem_operand" +- (and (match_operand 0 "memory_operand") +- (match_test "reload_in_progress || reload_completed || aligned_mem_p (op)"))) +- + (define_predicate "spu_mov_operand" +- (ior (match_operand 0 "spu_mem_operand") ++ (ior (match_operand 0 "memory_operand") + (match_operand 0 "spu_nonmem_operand"))) + ++(define_predicate "spu_dest_operand" ++ (ior (match_operand 0 "memory_operand") ++ (match_operand 0 "spu_reg_operand"))) ++ + (define_predicate "call_operand" + (and (match_code "mem") + (match_test "(!TARGET_LARGE_MEM && satisfies_constraint_S (op)) +@@ -104,3 +104,13 @@ + (ior (match_test "GET_MODE (XEXP (op, 0)) == HImode") + (match_test "GET_MODE (XEXP (op, 0)) == SImode")))) + ++(define_predicate "spu_inv_exp2_operand" ++ (and (match_code "const_double,const_vector") ++ (and (match_operand 0 "immediate_operand") ++ (match_test "exp2_immediate_p (op, mode, -126, 0)")))) ++ ++(define_predicate "spu_exp2_operand" ++ (and (match_code "const_double,const_vector") ++ (and (match_operand 0 "immediate_operand") ++ (match_test "exp2_immediate_p (op, mode, 0, 127)")))) ++ +Index: gcc/config/spu/cachemgr.c +=================================================================== +--- gcc/config/spu/cachemgr.c (.../gcc-4_3-branch) (revision 0) ++++ gcc/config/spu/cachemgr.c (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,459 @@ ++/* Copyright (C) 2008 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC 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 into combinations with other programs, ++and to distribute those combinations 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 a combine ++executable.) ++ ++GCC 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 GCC; see the file COPYING. If not, write to the Free ++Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ++02110-1301, USA. */ ++ ++#include ++#include ++#include ++#include ++ ++extern unsigned long long __ea_local_store; ++extern char __cache_tag_array_size; ++ ++#define LINE_SIZE 128 ++#define TAG_MASK (LINE_SIZE - 1) ++ ++#define WAYS 4 ++#define SET_MASK ((int) &__cache_tag_array_size - LINE_SIZE) ++ ++#define CACHE_LINES ((int) &__cache_tag_array_size / \ ++ sizeof (struct __cache_tag_array) * WAYS) ++ ++struct __cache_tag_array ++{ ++ unsigned int tag_lo[WAYS]; ++ unsigned int tag_hi[WAYS]; ++ void *base[WAYS]; ++ int reserved[WAYS]; ++ vector unsigned short dirty_bits[WAYS]; ++}; ++ ++extern struct __cache_tag_array __cache_tag_array[]; ++extern char __cache[]; ++ ++/* In order to make the code seem a little cleaner, and to avoid having ++ 64/32 bit ifdefs all over the place, we macro. */ ++ ++/* It may seem poor taste to define variables within a macro, but ++ it's C99 compliant. */ ++ ++#ifdef __EA64__ ++#define CHECK_TAG(_entry, _way, _tag) ((_entry->tag_lo[_way] == \ ++ (_tag & 0xFFFFFFFF))&&(_entry->tag_hi[_way] == (_tag >> 32))) ++ ++#define GET_TAG(_entry, _way) unsigned long long tag = _entry->tag_hi[_way]; \ ++ tag = tag << 32; \ ++ tag |= (_entry->tag_lo[_way]); ++ ++#define SET_TAG(_entry, _way, _tag) \ ++ _entry->tag_lo[_way] = (_tag & 0xFFFFFFFF); \ ++ _entry->tag_hi[_way] = (_tag >> 32); ++ ++#define addr unsigned long long ++#define si_from_eavoid(_x) si_from_ullong (eavoid_to_eanum(_x)) ++#else /*__EA32__*/ ++#define CHECK_TAG(_entry, _way, _tag) (_entry->tag_lo[_way] == _tag) ++ ++#define GET_TAG(_entry, _way) unsigned long tag = _entry->tag_lo[_way] ++ ++#define SET_TAG(_entry, _way, _tag) \ ++ _entry->tag_lo[_way] = _tag; ++ ++#define addr unsigned long ++#define si_from_eavoid(_x) si_from_uint (eavoid_to_eanum(_x)) ++#endif ++ ++/* In GET_ENTRY, we cast away the high 32 bits, ++ as the tag is only in the low 32. */ ++ ++#define GET_ENTRY(_addr) ((struct __cache_tag_array *) \ ++ si_to_ptr(si_a \ ++ (si_and(si_from_uint((unsigned int) (addr) _addr), \ ++ si_from_uint(SET_MASK)), \ ++ si_from_uint((unsigned int) __cache_tag_array)))); ++ ++#define GET_CACHE_LINE(_addr, _way) ((void *) (__cache + \ ++ (_addr & SET_MASK) * WAYS) + (_way * LINE_SIZE)); ++ ++#define eavoid_to_eanum(_ea) ((addr) _ea) ++ ++#define CHECK_DIRTY(_vec) (si_to_uint (si_orx ((qword) _vec))) ++#define SET_EMPTY(_entry, _way) (_entry->tag_lo[_way] = 1) ++#define CHECK_EMPTY(_entry, _way) (_entry->tag_lo[_way] == 1) ++ ++#define LS_FLAG 0x80000000 ++#define SET_IS_LS(_entry, _way) (_entry->reserved[_way] |= LS_FLAG) ++#define CHECK_IS_LS(_entry, _way) (_entry->reserved[_way] & LS_FLAG) ++#define GET_LRU(_entry, _way) (_entry->reserved[_way] & ~(LS_FLAG)) ++ ++static void __cache_flush_stub (void) __attribute__ ((destructor)); ++static int dma_tag = 32; ++ ++static void ++__cache_evict_entry (struct __cache_tag_array *entry, int way) ++{ ++ ++ GET_TAG (entry, way); ++ ++ if ((CHECK_DIRTY (entry->dirty_bits[way])) && (!CHECK_IS_LS (entry, way))) ++ { ++#ifdef NONATOMIC ++ /* Non-atomic writes. */ ++ unsigned int oldmask, mach_stat; ++ char *line = ((void *) 0); ++ ++ /* Enter critical section. */ ++ mach_stat = spu_readch (SPU_RdMachStat); ++ spu_idisable (); ++ ++ /* Issue DMA request. */ ++ line = GET_CACHE_LINE (entry->tag_lo[way], way); ++ mfc_put (line, tag, LINE_SIZE, dma_tag, 0, 0); ++ ++ /* Wait for DMA completion. */ ++ oldmask = mfc_read_tag_mask (); ++ mfc_write_tag_mask (1 << dma_tag); ++ mfc_read_tag_status_all (); ++ mfc_write_tag_mask (oldmask); ++ ++ /* Leave critical section. */ ++ if (__builtin_expect (mach_stat & 1, 0)) ++ spu_ienable (); ++#else ++ /* Allocate a buffer large enough that we know it has 128 bytes ++ that are 128 byte aligned (for DMA). */ ++ ++ char buffer[LINE_SIZE + 127]; ++ qword *buf_ptr = (qword *) (((unsigned int) (buffer) + 127) & ~127); ++ qword *line = GET_CACHE_LINE (entry->tag_lo[way], way); ++ qword bits; ++ unsigned int mach_stat; ++ ++ /* Enter critical section. */ ++ mach_stat = spu_readch (SPU_RdMachStat); ++ spu_idisable (); ++ ++ do ++ { ++ /* We atomically read the current memory into a buffer ++ modify the dirty bytes in the buffer, and write it ++ back. If writeback fails, loop and try again. */ ++ ++ mfc_getllar (buf_ptr, tag, 0, 0); ++ mfc_read_atomic_status (); ++ ++ /* The method we're using to write 16 dirty bytes into ++ the buffer at a time uses fsmb which in turn uses ++ the least significant 16 bits of word 0, so we ++ load the bits and rotate so that the first bit of ++ the bitmap is in the first bit that fsmb will use. */ ++ ++ bits = (qword) entry->dirty_bits[way]; ++ bits = si_rotqbyi (bits, -2); ++ ++ /* Si_fsmb creates the mask of dirty bytes. ++ Use selb to nab the appropriate bits. */ ++ buf_ptr[0] = si_selb (buf_ptr[0], line[0], si_fsmb (bits)); ++ ++ /* Rotate to next 16 byte section of cache. */ ++ bits = si_rotqbyi (bits, 2); ++ ++ buf_ptr[1] = si_selb (buf_ptr[1], line[1], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ buf_ptr[2] = si_selb (buf_ptr[2], line[2], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ buf_ptr[3] = si_selb (buf_ptr[3], line[3], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ buf_ptr[4] = si_selb (buf_ptr[4], line[4], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ buf_ptr[5] = si_selb (buf_ptr[5], line[5], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ buf_ptr[6] = si_selb (buf_ptr[6], line[6], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ buf_ptr[7] = si_selb (buf_ptr[7], line[7], si_fsmb (bits)); ++ bits = si_rotqbyi (bits, 2); ++ ++ mfc_putllc (buf_ptr, tag, 0, 0); ++ } ++ while (mfc_read_atomic_status ()); ++ ++ /* Leave critical section. */ ++ if (__builtin_expect (mach_stat & 1, 0)) ++ spu_ienable (); ++#endif ++ } ++ ++ /* In any case, marking the lo tag with 1 which denotes empty. */ ++ SET_EMPTY (entry, way); ++ entry->dirty_bits[way] = (vector unsigned short) si_from_uint (0); ++} ++ ++void ++__cache_evict (__ea void *ea) ++{ ++ addr tag = (eavoid_to_eanum (ea) & ~(TAG_MASK)); ++ struct __cache_tag_array *entry = GET_ENTRY (ea); ++ int i = 0; ++ ++ /* Cycles through all the possible ways an address could be at ++ and evicts the way if found */ ++ ++ for (i = 0; i < WAYS; i++) ++ { ++ if (CHECK_TAG (entry, i, tag)) ++ { ++ __cache_evict_entry (entry, i); ++ } ++ } ++} ++ ++static void * ++__cache_fill (int way, addr tag) ++{ ++ unsigned int oldmask, mach_stat; ++ char *line = ((void *) 0); ++ ++ /* Reserve our DMA tag. */ ++ if (dma_tag == 32) ++ dma_tag = mfc_tag_reserve (); ++ ++ /* Enter critical section. */ ++ mach_stat = spu_readch (SPU_RdMachStat); ++ spu_idisable (); ++ ++ /* Issue DMA request. */ ++ line = GET_CACHE_LINE (tag, way); ++ mfc_get (line, tag, LINE_SIZE, dma_tag, 0, 0); ++ ++ /* Wait for DMA completion. */ ++ oldmask = mfc_read_tag_mask (); ++ mfc_write_tag_mask (1 << dma_tag); ++ mfc_read_tag_status_all (); ++ mfc_write_tag_mask (oldmask); ++ ++ /* Leave critical section. */ ++ if (__builtin_expect (mach_stat & 1, 0)) ++ spu_ienable (); ++ ++ return (void *) line; ++} ++ ++static void ++__cache_miss (__ea void *ea, struct __cache_tag_array *entry, int way) ++{ ++ ++ addr tag = (eavoid_to_eanum (ea) & ~(TAG_MASK)); ++ unsigned int lru = 0; ++ int i = 0; ++ int idx = 0; ++ ++ /* If way > 4, then there are no empty slots, so we must evict ++ the least recently used entry. */ ++ if (way >= 4) ++ { ++ for (i = 0; i < WAYS; i++) ++ { ++ if (GET_LRU (entry, i) > lru) ++ { ++ lru = GET_LRU (entry, i); ++ idx = i; ++ } ++ } ++ __cache_evict_entry (entry, idx); ++ way = idx; ++ } ++ ++ /* Set the empty entry's tag and fill it's cache line. */ ++ ++ SET_TAG (entry, way, tag); ++ entry->reserved[way] = 0; ++ ++ /* Check if the address is just an effective address within the ++ SPU's local store. */ ++ ++ /* Because the LS is not 256k aligned, we can't do a nice and mask ++ here to compare, so we must check the whole range. */ ++ ++ if ((eavoid_to_eanum (ea) >= (addr) __ea_local_store) && ++ (eavoid_to_eanum (ea) < (addr) (__ea_local_store + 0x40000))) ++ { ++ SET_IS_LS (entry, way); ++ entry->base[way] = ++ (void *) ((unsigned int) (eavoid_to_eanum (ea) - ++ (addr) __ea_local_store) & ~(0x7f)); ++ } ++ else ++ { ++ entry->base[way] = __cache_fill (way, tag); ++ } ++} ++ ++void * ++__cache_fetch_dirty (__ea void *ea, int n_bytes_dirty) ++{ ++#ifdef __EA64__ ++ unsigned int tag_hi; ++ qword etag_hi; ++#endif ++ unsigned int tag_lo; ++ struct __cache_tag_array *entry; ++ ++ qword etag_lo; ++ qword equal; ++ qword bit_mask; ++ qword way; ++ ++ /* This first chunk, we merely fill the pointer and tag. */ ++ ++ entry = GET_ENTRY (ea); ++ ++#ifndef __EA64__ ++ tag_lo = ++ si_to_uint (si_andc ++ (si_shufb ++ (si_from_eavoid (ea), si_from_uint (0), ++ si_from_uint (0x00010203)), si_from_uint (TAG_MASK))); ++#else ++ tag_lo = ++ si_to_uint (si_andc ++ (si_shufb ++ (si_from_eavoid (ea), si_from_uint (0), ++ si_from_uint (0x04050607)), si_from_uint (TAG_MASK))); ++ ++ tag_hi = ++ si_to_uint (si_shufb ++ (si_from_eavoid (ea), si_from_uint (0), ++ si_from_uint (0x00010203))); ++#endif ++ ++ /* Increment LRU in reserved bytes. */ ++ si_stqd (si_ai (si_lqd (si_from_ptr (entry), 48), 1), ++ si_from_ptr (entry), 48); ++ ++missreturn: ++ /* Check if the entry's lo_tag is equal to the address' lo_tag. */ ++ etag_lo = si_lqd (si_from_ptr (entry), 0); ++ equal = si_ceq (etag_lo, si_from_uint (tag_lo)); ++#ifdef __EA64__ ++ /* And the high tag too */ ++ etag_hi = si_lqd (si_from_ptr (entry), 16); ++ equal = si_and (equal, (si_ceq (etag_hi, si_from_uint (tag_hi)))); ++#endif ++ ++ if ((si_to_uint (si_orx (equal)) == 0)) ++ goto misshandler; ++ ++ if (n_bytes_dirty) ++ { ++ /* way = 0x40,0x50,0x60,0x70 for each way, which is also the ++ offset of the appropriate dirty bits. */ ++ way = si_shli (si_clz (si_gbb (equal)), 2); ++ ++ /* To create the bit_mask, we set it to all 1s (uint -1), then we ++ shift it over (128 - n_bytes_dirty) times. */ ++ ++ bit_mask = si_from_uint (-1); ++ ++ bit_mask = ++ si_shlqby (bit_mask, si_from_uint ((LINE_SIZE - n_bytes_dirty) / 8)); ++ ++ bit_mask = ++ si_shlqbi (bit_mask, si_from_uint ((LINE_SIZE - n_bytes_dirty) % 8)); ++ ++ /* Rotate it around to the correct offset. */ ++ bit_mask = ++ si_rotqby (bit_mask, ++ si_from_uint (-1 * (eavoid_to_eanum (ea) & TAG_MASK) / 8)); ++ ++ bit_mask = ++ si_rotqbi (bit_mask, ++ si_from_uint (-1 * (eavoid_to_eanum (ea) & TAG_MASK) % 8)); ++ ++ /* Update the dirty bits. */ ++ si_stqx (si_or (si_lqx (si_from_ptr (entry), way), bit_mask), ++ si_from_ptr (entry), way); ++ }; ++ ++ /* We've definitely found the right entry, set LRU (reserved) to 0 ++ maintaining the LS flag (MSB). */ ++ ++ si_stqd (si_andc ++ (si_lqd (si_from_ptr (entry), 48), ++ si_and (equal, si_from_uint (~(LS_FLAG)))), ++ si_from_ptr (entry), 48); ++ ++ return (void *) ++ si_to_ptr (si_a ++ (si_orx ++ (si_and (si_lqd (si_from_ptr (entry), 32), equal)), ++ si_from_uint (((unsigned int) (addr) ea) & TAG_MASK))); ++ ++misshandler: ++ equal = si_ceqi (etag_lo, 1); ++ __cache_miss (ea, entry, (si_to_uint (si_clz (si_gbb (equal))) - 16) >> 2); ++ goto missreturn; ++} ++ ++void * ++__cache_fetch (__ea void *ea) ++{ ++ return __cache_fetch_dirty (ea, 0); ++} ++ ++void ++__cache_touch (__ea void *ea __attribute__ ((unused))) ++{ ++ /* NO-OP for now. */ ++} ++ ++static void ++__cache_flush_stub (void) ++{ ++ __cache_flush (); ++} ++ ++void ++__cache_flush (void) ++{ ++ struct __cache_tag_array *entry = __cache_tag_array; ++ unsigned int i = 0; ++ int j = 0; ++ ++ /* Cycle through each cache entry and evict all used ways. */ ++ ++ for (i = 0; i < (CACHE_LINES / WAYS); i++) ++ { ++ for (j = 0; j < WAYS; j++) ++ { ++ if (!CHECK_EMPTY (entry, j)) ++ { ++ __cache_evict_entry (entry, j); ++ } ++ } ++ entry++; ++ } ++} +Index: gcc/config/spu/spu-builtins.def +=================================================================== +--- gcc/config/spu/spu-builtins.def (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu-builtins.def (.../cell-4_3-branch) (revision 156810) +@@ -235,8 +235,8 @@ + + /* definitions to support generic builtin functions: */ + +-DEF_BUILTIN (SPU_CONVTS, CODE_FOR_spu_cflts, "spu_convts", B_INSN, _A3(SPU_BTI_V4SI, SPU_BTI_V4SF, SPU_BTI_U7)) +-DEF_BUILTIN (SPU_CONVTU, CODE_FOR_spu_cfltu, "spu_convtu", B_INSN, _A3(SPU_BTI_UV4SI, SPU_BTI_V4SF, SPU_BTI_U7)) ++DEF_BUILTIN (SPU_CONVTS, CODE_FOR_spu_cflts, "spu_convts", B_INSN, _A3(SPU_BTI_V4SI, SPU_BTI_V4SF, SPU_BTI_INTSI)) ++DEF_BUILTIN (SPU_CONVTU, CODE_FOR_spu_cfltu, "spu_convtu", B_INSN, _A3(SPU_BTI_UV4SI, SPU_BTI_V4SF, SPU_BTI_INTSI)) + DEF_BUILTIN (SPU_ROUNDTF, CODE_FOR_spu_frds, "spu_roundtf", B_INSN, _A2(SPU_BTI_V4SF, SPU_BTI_V2DF)) + DEF_BUILTIN (SPU_MULH, CODE_FOR_spu_mpyh, "spu_mulh", B_INSN, _A3(SPU_BTI_V4SI, SPU_BTI_V8HI, SPU_BTI_V8HI)) + DEF_BUILTIN (SPU_MULSR, CODE_FOR_spu_mpys, "spu_mulsr", B_INSN, _A3(SPU_BTI_V4SI, SPU_BTI_V8HI, SPU_BTI_V8HI)) +@@ -257,8 +257,8 @@ + /* definitions to support overloaded generic builtin functions: */ + + DEF_BUILTIN (SPU_CONVTF, CODE_FOR_nothing, "spu_convtf", B_OVERLOAD, _A1(SPU_BTI_VOID)) +-DEF_BUILTIN (SPU_CONVTF_0, CODE_FOR_spu_cuflt, "spu_convtf_0", B_INTERNAL, _A3(SPU_BTI_V4SF, SPU_BTI_UV4SI, SPU_BTI_U7)) +-DEF_BUILTIN (SPU_CONVTF_1, CODE_FOR_spu_csflt, "spu_convtf_1", B_INTERNAL, _A3(SPU_BTI_V4SF, SPU_BTI_V4SI, SPU_BTI_U7)) ++DEF_BUILTIN (SPU_CONVTF_0, CODE_FOR_spu_cuflt, "spu_convtf_0", B_INTERNAL, _A3(SPU_BTI_V4SF, SPU_BTI_UV4SI, SPU_BTI_UINTSI)) ++DEF_BUILTIN (SPU_CONVTF_1, CODE_FOR_spu_csflt, "spu_convtf_1", B_INTERNAL, _A3(SPU_BTI_V4SF, SPU_BTI_V4SI, SPU_BTI_UINTSI)) + DEF_BUILTIN (SPU_EXTEND, CODE_FOR_nothing, "spu_extend", B_OVERLOAD, _A1(SPU_BTI_VOID)) + DEF_BUILTIN (SPU_EXTEND_0, CODE_FOR_spu_xsbh, "spu_extend_0", B_INTERNAL, _A2(SPU_BTI_V8HI, SPU_BTI_V16QI)) + DEF_BUILTIN (SPU_EXTEND_1, CODE_FOR_spu_xshw, "spu_extend_1", B_INTERNAL, _A2(SPU_BTI_V4SI, SPU_BTI_V8HI)) +Index: gcc/config/spu/spu-builtins.md +=================================================================== +--- gcc/config/spu/spu-builtins.md (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu-builtins.md (.../cell-4_3-branch) (revision 156810) +@@ -23,9 +23,8 @@ + + (define_expand "spu_lqd" + [(set (match_operand:TI 0 "spu_reg_operand" "") +- (mem:TI (and:SI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") +- (match_operand:SI 2 "spu_nonmem_operand" "")) +- (const_int -16))))] ++ (mem:TI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") ++ (match_operand:SI 2 "spu_nonmem_operand" ""))))] + "" + { + if (GET_CODE (operands[2]) == CONST_INT +@@ -42,16 +41,14 @@ + + (define_expand "spu_lqx" + [(set (match_operand:TI 0 "spu_reg_operand" "") +- (mem:TI (and:SI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") +- (match_operand:SI 2 "spu_reg_operand" "")) +- (const_int -16))))] ++ (mem:TI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") ++ (match_operand:SI 2 "spu_reg_operand" ""))))] + "" + "") + + (define_expand "spu_lqa" + [(set (match_operand:TI 0 "spu_reg_operand" "") +- (mem:TI (and:SI (match_operand:SI 1 "immediate_operand" "") +- (const_int -16))))] ++ (mem:TI (match_operand:SI 1 "immediate_operand" "")))] + "" + { + if (GET_CODE (operands[1]) == CONST_INT +@@ -61,15 +58,13 @@ + + (define_expand "spu_lqr" + [(set (match_operand:TI 0 "spu_reg_operand" "") +- (mem:TI (and:SI (match_operand:SI 1 "address_operand" "") +- (const_int -16))))] ++ (mem:TI (match_operand:SI 1 "address_operand" "")))] + "" + "") + + (define_expand "spu_stqd" +- [(set (mem:TI (and:SI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") +- (match_operand:SI 2 "spu_nonmem_operand" "")) +- (const_int -16))) ++ [(set (mem:TI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") ++ (match_operand:SI 2 "spu_nonmem_operand" ""))) + (match_operand:TI 0 "spu_reg_operand" "r,r"))] + "" + { +@@ -86,16 +81,14 @@ + }) + + (define_expand "spu_stqx" +- [(set (mem:TI (and:SI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") +- (match_operand:SI 2 "spu_reg_operand" "")) +- (const_int -16))) ++ [(set (mem:TI (plus:SI (match_operand:SI 1 "spu_reg_operand" "") ++ (match_operand:SI 2 "spu_reg_operand" ""))) + (match_operand:TI 0 "spu_reg_operand" "r"))] + "" + "") + + (define_expand "spu_stqa" +- [(set (mem:TI (and:SI (match_operand:SI 1 "immediate_operand" "") +- (const_int -16))) ++ [(set (mem:TI (match_operand:SI 1 "immediate_operand" "")) + (match_operand:TI 0 "spu_reg_operand" "r"))] + "" + { +@@ -105,8 +98,7 @@ + }) + + (define_expand "spu_stqr" +- [(set (mem:TI (and:SI (match_operand:SI 1 "address_operand" "") +- (const_int -16))) ++ [(set (mem:TI (match_operand:SI 1 "address_operand" "")) + (match_operand:TI 0 "spu_reg_operand" ""))] + "" + "") +@@ -527,37 +519,119 @@ + [(set_attr "type" "br")]) + + ;; float convert +-(define_insn "spu_csflt" +- [(set (match_operand:V4SF 0 "spu_reg_operand" "=r") +- (unspec:V4SF [(match_operand:V4SI 1 "spu_reg_operand" "r") +- (match_operand:SI 2 "immediate_operand" "K")] UNSPEC_CSFLT ))] ++(define_expand "spu_csflt" ++ [(set (match_operand:V4SF 0 "spu_reg_operand") ++ (unspec:V4SF [(match_operand:V4SI 1 "spu_reg_operand") ++ (match_operand:SI 2 "spu_nonmem_operand")] 0 ))] + "" +- "csflt\t%0,%1,%2" +- [(set_attr "type" "fp7")]) ++{ ++ if (GET_CODE (operands[2]) == CONST_INT ++ && (INTVAL (operands[2]) < 0 || INTVAL (operands[2]) > 127)) ++ { ++ error ("spu_convtf expects an integer literal in the range [0, 127]."); ++ operands[2] = force_reg (SImode, operands[2]); ++ } ++ if (GET_CODE (operands[2]) != CONST_INT) ++ { ++ rtx exp2; ++ rtx cnv = gen_reg_rtx (V4SFmode); ++ rtx scale = gen_reg_rtx (SImode); ++ rtx op2 = force_reg (SImode, operands[2]); ++ rtx m1 = spu_gen_exp2 (V4SFmode, GEN_INT (-1)); ++ emit_insn (gen_subsi3 (scale, const1_rtx, op2)); ++ exp2 = spu_gen_exp2 (V4SFmode, scale); ++ emit_insn (gen_floatv4siv4sf2_mul (cnv, operands[1], m1)); ++ emit_insn (gen_mulv4sf3 (operands[0], cnv, exp2)); ++ } ++ else ++ { ++ rtx exp2 = spu_gen_exp2 (V4SFmode, operands[2]); ++ emit_insn (gen_floatv4siv4sf2_div (operands[0], operands[1], exp2)); ++ } ++ DONE; ++}) + +-(define_insn "spu_cflts" +- [(set (match_operand:V4SI 0 "spu_reg_operand" "=r") +- (unspec:V4SI [(match_operand:V4SF 1 "spu_reg_operand" "r") +- (match_operand:SI 2 "immediate_operand" "J")] UNSPEC_CFLTS ))] ++(define_expand "spu_cflts" ++ [(set (match_operand:V4SI 0 "spu_reg_operand") ++ (unspec:V4SI [(match_operand:V4SF 1 "spu_reg_operand") ++ (match_operand:SI 2 "spu_nonmem_operand")] 0 ))] + "" +- "cflts\t%0,%1,%2" +- [(set_attr "type" "fp7")]) ++{ ++ rtx exp2; ++ if (GET_CODE (operands[2]) == CONST_INT ++ && (INTVAL (operands[2]) < 0 || INTVAL (operands[2]) > 127)) ++ { ++ error ("spu_convts expects an integer literal in the range [0, 127]."); ++ operands[2] = force_reg (SImode, operands[2]); ++ } ++ exp2 = spu_gen_exp2 (V4SFmode, operands[2]); ++ if (GET_CODE (operands[2]) != CONST_INT) ++ { ++ rtx mul = gen_reg_rtx (V4SFmode); ++ emit_insn (gen_mulv4sf3 (mul, operands[1], exp2)); ++ emit_insn (gen_fix_truncv4sfv4si2 (operands[0], mul)); ++ } ++ else ++ emit_insn (gen_fix_truncv4sfv4si2_mul (operands[0], operands[1], exp2)); ++ DONE; ++}) + +-(define_insn "spu_cuflt" ++(define_expand "spu_cuflt" + [(set (match_operand:V4SF 0 "spu_reg_operand" "=r") +- (unspec:V4SF [(match_operand:V4SI 1 "spu_reg_operand" "r") +- (match_operand:SI 2 "immediate_operand" "K")] UNSPEC_CUFLT ))] ++ (unspec:V4SF [(match_operand:V4SI 1 "spu_reg_operand") ++ (match_operand:SI 2 "spu_nonmem_operand")] 0 ))] + "" +- "cuflt\t%0,%1,%2" +- [(set_attr "type" "fp7")]) ++{ ++ if (GET_CODE (operands[2]) == CONST_INT ++ && (INTVAL (operands[2]) < 0 || INTVAL (operands[2]) > 127)) ++ { ++ error ("spu_convtf expects an integer literal in the range [0, 127]."); ++ operands[2] = force_reg (SImode, operands[2]); ++ } ++ if (GET_CODE (operands[2]) != CONST_INT) ++ { ++ rtx exp2; ++ rtx cnv = gen_reg_rtx (V4SFmode); ++ rtx scale = gen_reg_rtx (SImode); ++ rtx op2 = force_reg (SImode, operands[2]); ++ rtx m1 = spu_gen_exp2 (V4SFmode, GEN_INT (-1)); ++ emit_insn (gen_subsi3 (scale, const1_rtx, op2)); ++ exp2 = spu_gen_exp2 (V4SFmode, scale); ++ emit_insn (gen_floatunsv4siv4sf2_mul (cnv, operands[1], m1)); ++ emit_insn (gen_mulv4sf3 (operands[0], cnv, exp2)); ++ } ++ else ++ { ++ rtx exp2 = spu_gen_exp2 (V4SFmode, operands[2]); ++ emit_insn (gen_floatunsv4siv4sf2_div (operands[0], operands[1], exp2)); ++ } ++ DONE; ++}) + +-(define_insn "spu_cfltu" +- [(set (match_operand:V4SI 0 "spu_reg_operand" "=r") +- (unspec:V4SI [(match_operand:V4SF 1 "spu_reg_operand" "r") +- (match_operand:SI 2 "immediate_operand" "J")] UNSPEC_CFLTU ))] ++(define_expand "spu_cfltu" ++ [(set (match_operand:V4SI 0 "spu_reg_operand") ++ (unspec:V4SI [(match_operand:V4SF 1 "spu_reg_operand") ++ (match_operand:SI 2 "spu_nonmem_operand")] 0 ))] + "" +- "cfltu\t%0,%1,%2" +- [(set_attr "type" "fp7")]) ++{ ++ rtx exp2; ++ if (GET_CODE (operands[2]) == CONST_INT ++ && (INTVAL (operands[2]) < 0 || INTVAL (operands[2]) > 127)) ++ { ++ error ("spu_convtu expects an integer literal in the range [0, 127]."); ++ operands[2] = force_reg (SImode, operands[2]); ++ } ++ exp2 = spu_gen_exp2 (V4SFmode, operands[2]); ++ if (GET_CODE (operands[2]) != CONST_INT) ++ { ++ rtx mul = gen_reg_rtx (V4SFmode); ++ emit_insn (gen_mulv4sf3 (mul, operands[1], exp2)); ++ emit_insn (gen_fixuns_truncv4sfv4si2 (operands[0], mul)); ++ } ++ else ++ emit_insn (gen_fixuns_truncv4sfv4si2_mul (operands[0], operands[1], exp2)); ++ DONE; ++}) + + (define_expand "spu_frds" + [(set (match_operand:V4SF 0 "spu_reg_operand" "") +Index: gcc/config/spu/cache.S +=================================================================== +--- gcc/config/spu/cache.S (.../gcc-4_3-branch) (revision 0) ++++ gcc/config/spu/cache.S (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,47 @@ ++/* Copyright (C) 2008 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC 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 into combinations with other programs, ++and to distribute those combinations 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 a combine ++executable.) ++ ++GCC 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 GCC; see the file COPYING. If not, write to the Free ++Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ++02110-1301, USA. */ ++ ++.data ++.p2align 7 ++.global __cache ++__cache: ++.rept __CACHE_SIZE__ * 8 ++.fill 128 ++.endr ++ ++.p2align 7 ++.global __cache_tag_array ++__cache_tag_array: ++.rept __CACHE_SIZE__ * 2 ++.long 1, 1, 1, 1 ++.fill 128-16 ++.endr ++__end_cache_tag_array: ++ ++.globl __cache_tag_array_size ++.set __cache_tag_array_size, __end_cache_tag_array-__cache_tag_array +Index: gcc/config/spu/spu.opt +=================================================================== +--- gcc/config/spu/spu.opt (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu.opt (.../cell-4_3-branch) (revision 156810) +@@ -82,3 +82,15 @@ + mtune= + Target RejectNegative Joined Var(spu_tune_string) + Schedule code for given CPU ++ ++mea32 ++Target Report RejectNegative Var(spu_ea_model,32) Init(32) ++Access variables in 32-bit PPU objects ++ ++mea64 ++Target Report RejectNegative Var(spu_ea_model,64) VarExists ++Access variables in 64-bit PPU objects ++ ++mall-ea ++Target Report Mask(ALL_EA) ++Implicitly declare all pointers and global or static variables to be __ea +Index: gcc/config/spu/spu-c.c +=================================================================== +--- gcc/config/spu/spu-c.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu-c.c (.../cell-4_3-branch) (revision 156810) +@@ -34,6 +34,64 @@ + #include "optabs.h" + + ++/* Keep the vector keywords handy for fast comparisons. */ ++static GTY(()) tree __vector_keyword; ++static GTY(()) tree vector_keyword; ++ ++static cpp_hashnode * ++spu_categorize_keyword (const cpp_token *tok) ++{ ++ if (tok->type == CPP_NAME) ++ { ++ cpp_hashnode *ident = tok->val.node; ++ ++ if (ident == C_CPP_HASHNODE (vector_keyword) ++ || ident == C_CPP_HASHNODE (__vector_keyword)) ++ return C_CPP_HASHNODE (__vector_keyword); ++ else ++ return ident; ++ } ++ return 0; ++} ++ ++/* Called to decide whether a conditional macro should be expanded. ++ Since we have exactly one such macro (i.e, 'vector'), we do not ++ need to examine the 'tok' parameter. */ ++ ++static cpp_hashnode * ++spu_macro_to_expand (cpp_reader *pfile, const cpp_token *tok) ++{ ++ cpp_hashnode *expand_this = tok->val.node; ++ cpp_hashnode *ident; ++ ++ ident = spu_categorize_keyword (tok); ++ if (ident == C_CPP_HASHNODE (__vector_keyword)) ++ { ++ tok = cpp_peek_token (pfile, 0); ++ ident = spu_categorize_keyword (tok); ++ ++ if (ident) ++ { ++ enum rid rid_code = (enum rid)(ident->rid_code); ++ if (ident->type == NT_MACRO) ++ { ++ (void) cpp_get_token (pfile); ++ tok = cpp_peek_token (pfile, 0); ++ ident = spu_categorize_keyword (tok); ++ if (ident) ++ rid_code = (enum rid)(ident->rid_code); ++ } ++ ++ if (rid_code == RID_UNSIGNED || rid_code == RID_LONG ++ || rid_code == RID_SHORT || rid_code == RID_SIGNED ++ || rid_code == RID_INT || rid_code == RID_CHAR ++ || rid_code == RID_FLOAT || rid_code == RID_DOUBLE) ++ expand_this = C_CPP_HASHNODE (__vector_keyword); ++ } ++ } ++ return expand_this; ++} ++ + /* target hook for resolve_overloaded_builtin(). Returns a function call + RTX if we can resolve the overloaded builtin */ + tree +@@ -142,6 +200,33 @@ + if (spu_arch == PROCESSOR_CELLEDP) + builtin_define_std ("__SPU_EDP__"); + builtin_define_std ("__vector=__attribute__((__spu_vector__))"); ++ switch (spu_ea_model) ++ { ++ case 32: ++ builtin_define_std ("__EA32__"); ++ break; ++ case 64: ++ builtin_define_std ("__EA64__"); ++ break; ++ default: ++ gcc_unreachable (); ++ } ++ ++ if (!flag_iso) ++ { ++ /* Define this when supporting context-sensitive keywords. */ ++ cpp_define (pfile, "__VECTOR_KEYWORD_SUPPORTED__"); ++ cpp_define (pfile, "vector=vector"); ++ ++ /* Initialize vector keywords. */ ++ __vector_keyword = get_identifier ("__vector"); ++ C_CPP_HASHNODE (__vector_keyword)->flags |= NODE_CONDITIONAL; ++ vector_keyword = get_identifier ("vector"); ++ C_CPP_HASHNODE (vector_keyword)->flags |= NODE_CONDITIONAL; ++ ++ /* Enable context-sensitive macros. */ ++ cpp_get_callbacks (pfile)->macro_to_expand = spu_macro_to_expand; ++ } + } + + void +Index: gcc/config/spu/t-spu-elf +=================================================================== +--- gcc/config/spu/t-spu-elf (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/t-spu-elf (.../cell-4_3-branch) (revision 156810) +@@ -62,14 +62,65 @@ + CRTSTUFF_T_CFLAGS = + + #MULTILIB_OPTIONS=mlarge-mem/mtest-abi ++MULTILIB_OPTIONS=mea64 + #MULTILIB_DIRNAMES=large-mem test-abi + #MULTILIB_MATCHES= + + # Neither gcc or newlib seem to have a standard way to generate multiple + # crt*.o files. So we don't use the standard crt0.o name anymore. + +-EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o ++EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \ ++ libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a libgcc_cache64k.a libgcc_cache128k.a + ++cachemgr.o: $(srcdir)/config/spu/cachemgr.c ++ $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -c $< -o $@ ++ ++%/cachemgr.o: $(srcdir)/config/spu/cachemgr.c ++ $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -c $< -o $@ ++ ++# Specialised rule to add a -D flag. ++cachemgr_nonatomic.o: $(srcdir)/config/spu/cachemgr.c ++ $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -DNONATOMIC -c $< -o $@ ++ ++%/cachemgr_nonatomic.o: $(srcdir)/config/spu/cachemgr.c ++ $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -DNONATOMIC -c $< -o $@ ++ ++libgcc_%.a: %.o ++ $(AR_FOR_TARGET) -rcs $@ $< ++ ++%/libgcc_%.a: %.o ++ $(AR_FOR_TARGET) -rcs $@ $< ++ ++cache8k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=8 -o $@ -c $< ++ ++cache16k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=16 -o $@ -c $< ++ ++cache32k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=32 -o $@ -c $< ++ ++cache64k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=64 -o $@ -c $< ++ ++cache128k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=128 -o $@ -c $< ++ ++%/cache8k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=8 -o $@ -c $< ++ ++%/cache16k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=16 -o $@ -c $< ++ ++%/cache32k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=32 -o $@ -c $< ++ ++%/cache64k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=64 -o $@ -c $< ++ ++%/cache128k.o: $(srcdir)/config/spu/cache.S ++ $(GCC_FOR_TARGET) -D__CACHE_SIZE__=128 -o $@ -c $< ++ + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib + +Index: gcc/config/spu/spu.c +=================================================================== +--- gcc/config/spu/spu.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu.c (.../cell-4_3-branch) (revision 156810) +@@ -130,6 +130,19 @@ + int low, high; + }; + ++struct spu_address_space ++{ ++ const char *name; ++ rtx (*to_generic_insn) (rtx, rtx); ++ rtx (*from_generic_insn) (rtx, rtx); ++}; ++ ++static struct spu_address_space spu_address_spaces[] = { ++ {"generic", NULL, NULL }, ++ {"__ea", gen_from_ea, gen_to_ea }, ++ {NULL, NULL, NULL}, ++}; ++ + static struct spu_builtin_range spu_builtin_range[] = { + {-0x40ll, 0x7fll}, /* SPU_BTI_7 */ + {-0x40ll, 0x3fll}, /* SPU_BTI_S7 */ +@@ -189,9 +202,9 @@ + static void spu_va_start (tree, rtx); + static tree spu_gimplify_va_arg_expr (tree valist, tree type, tree * pre_p, + tree * post_p); +-static int regno_aligned_for_load (int regno); + static int store_with_one_insn_p (rtx mem); + static int mem_is_padded_component_ref (rtx x); ++static int reg_aligned_for_addr (rtx x, int aligned); + static bool spu_assemble_integer (rtx x, unsigned int size, int aligned_p); + static void spu_asm_globalize_label (FILE * file, const char *name); + static unsigned char spu_rtx_costs (rtx x, int code, int outer_code, +@@ -211,7 +224,7 @@ + static unsigned int spu_section_type_flags (tree, const char *, int); + + extern const char *reg_names[]; +-rtx spu_compare_op0, spu_compare_op1; ++rtx spu_compare_op0, spu_compare_op1, spu_expect_op0, spu_expect_op1; + + /* Which instruction set architecture to use. */ + int spu_arch; +@@ -270,6 +283,30 @@ + + /* TARGET overrides. */ + ++static enum machine_mode spu_ea_pointer_mode (int); ++#undef TARGET_ADDR_SPACE_POINTER_MODE ++#define TARGET_ADDR_SPACE_POINTER_MODE spu_ea_pointer_mode ++ ++static const char *spu_addr_space_name (int); ++#undef TARGET_ADDR_SPACE_NAME ++#define TARGET_ADDR_SPACE_NAME spu_addr_space_name ++ ++static unsigned char spu_addr_space_number (const tree); ++#undef TARGET_ADDR_SPACE_NUMBER ++#define TARGET_ADDR_SPACE_NUMBER spu_addr_space_number ++ ++static rtx (* spu_addr_space_conversion_rtl (int, int)) (rtx, rtx); ++#undef TARGET_ADDR_SPACE_CONVERSION_RTL ++#define TARGET_ADDR_SPACE_CONVERSION_RTL spu_addr_space_conversion_rtl ++ ++static bool spu_valid_pointer_mode (enum machine_mode mode); ++#undef TARGET_VALID_POINTER_MODE ++#define TARGET_VALID_POINTER_MODE spu_valid_pointer_mode ++ ++static bool spu_valid_addr_space (const_tree); ++#undef TARGET_VALID_ADDR_SPACE ++#define TARGET_VALID_ADDR_SPACE spu_valid_addr_space ++ + #undef TARGET_INIT_BUILTINS + #define TARGET_INIT_BUILTINS spu_init_builtins + +@@ -279,10 +316,8 @@ + #undef TARGET_UNWIND_WORD_MODE + #define TARGET_UNWIND_WORD_MODE spu_unwind_word_mode + +-/* The .8byte directive doesn't seem to work well for a 32 bit +- architecture. */ +-#undef TARGET_ASM_UNALIGNED_DI_OP +-#define TARGET_ASM_UNALIGNED_DI_OP NULL ++#undef TARGET_ASM_ALIGNED_DI_OP ++#define TARGET_ASM_ALIGNED_DI_OP "\t.quad\t" + + #undef TARGET_RTX_COSTS + #define TARGET_RTX_COSTS spu_rtx_costs +@@ -1064,6 +1099,7 @@ + { + rtx bcomp; + rtx loc_ref; ++ rtx jump_pat; + + /* We don't have branch on QI compare insns, so we convert the + QI compare result to a HI result. */ +@@ -1081,9 +1117,59 @@ + bcomp = gen_rtx_NE (comp_mode, compare_result, const0_rtx); + + loc_ref = gen_rtx_LABEL_REF (VOIDmode, target); +- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, +- gen_rtx_IF_THEN_ELSE (VOIDmode, bcomp, +- loc_ref, pc_rtx))); ++ jump_pat = gen_rtx_SET (VOIDmode, pc_rtx, ++ gen_rtx_IF_THEN_ELSE (VOIDmode, bcomp, ++ loc_ref, pc_rtx)); ++ ++ if (flag_schedule_insns_after_reload && TARGET_BRANCH_HINTS ++ && spu_expect_op0 && comp_mode == Pmode ++ && spu_expect_op0 == spu_compare_op0) ++ { ++ rtx then_reg = gen_reg_rtx (Pmode); ++ rtx else_reg = gen_reg_rtx (Pmode); ++ rtx expect_cmp = gen_reg_rtx (Pmode); ++ rtx hint_target = gen_reg_rtx (Pmode); ++ rtx branch_label = gen_label_rtx (); ++ rtx branch_ref = gen_rtx_LABEL_REF (VOIDmode, branch_label); ++ rtx then_label = gen_label_rtx (); ++ rtx then_ref = gen_rtx_LABEL_REF (VOIDmode, then_label); ++ rtx else_label = gen_label_rtx (); ++ rtx else_ref = gen_rtx_LABEL_REF (VOIDmode, else_label); ++ rtvec v; ++ ++ emit_move_insn (then_reg, then_ref); ++ emit_move_insn (else_reg, else_ref); ++ emit_insn (gen_clgt_si (expect_cmp, spu_expect_op1, const0_rtx)); ++ emit_insn (gen_selb (hint_target, then_reg, else_reg, expect_cmp)); ++ emit_insn (gen_hbr (branch_ref, hint_target)); ++ ++ LABEL_NUSES (branch_label)++; ++ LABEL_PRESERVE_P (branch_label) = 1; ++ LABEL_NUSES (then_label)++; ++ LABEL_PRESERVE_P (then_label) = 1; ++ LABEL_NUSES (else_label)++; ++ LABEL_PRESERVE_P (else_label) = 1; ++ ++ /* We delete the labels to make sure they don't get used for ++ anything else. The machine reorg phase will move them to ++ the correct place. We don't try to reuse existing labels ++ because we move these around later. */ ++ delete_insn (emit_label (branch_label)); ++ delete_insn (emit_label (then_label)); ++ delete_insn (emit_label (else_label)); ++ ++ v = rtvec_alloc (5); ++ RTVEC_ELT (v, 0) = jump_pat; ++ RTVEC_ELT (v, 1) = gen_rtx_USE (VOIDmode, branch_ref); ++ RTVEC_ELT (v, 2) = gen_rtx_USE (VOIDmode, then_ref); ++ RTVEC_ELT (v, 3) = gen_rtx_USE (VOIDmode, else_ref); ++ RTVEC_ELT (v, 4) = gen_rtx_CLOBBER (VOIDmode, ++ gen_rtx_REG (SImode, ++ HBR_REGNUM)); ++ jump_pat = gen_rtx_PARALLEL (VOIDmode, v); ++ } ++ ++ emit_jump_insn (jump_pat); + } + else if (is_set == 2) + { +@@ -1132,6 +1218,7 @@ + else + emit_move_insn (target, compare_result); + } ++ spu_expect_op0 = spu_expect_op1 = 0; + } + + HOST_WIDE_INT +@@ -1581,6 +1668,13 @@ + output_addr_const (file, GEN_INT (val)); + return; + ++ case 'v': ++ case 'w': ++ constant_to_array (mode, x, arr); ++ val = (((arr[0] << 1) + (arr[1] >> 7)) & 0xff) - 127; ++ output_addr_const (file, GEN_INT (code == 'w' ? -val : val)); ++ return; ++ + case 0: + if (xcode == REG) + fprintf (file, "%s", reg_names[REGNO (x)]); +@@ -1593,7 +1687,7 @@ + return; + + /* unused letters +- o qr uvw yz ++ o qr u yz + AB OPQR UVWXYZ */ + default: + output_operand_lossage ("invalid %%xn code"); +@@ -2261,16 +2355,25 @@ + if (NOTE_KIND (before) == NOTE_INSN_BASIC_BLOCK) + before = NEXT_INSN (before); + +- branch_label = gen_label_rtx (); +- LABEL_NUSES (branch_label)++; +- LABEL_PRESERVE_P (branch_label) = 1; +- insn = emit_label_before (branch_label, branch); +- branch_label = gen_rtx_LABEL_REF (VOIDmode, branch_label); +- SET_BIT (blocks, BLOCK_FOR_INSN (branch)->index); ++ if (INSN_CODE (branch) == CODE_FOR_expect_then ++ || INSN_CODE (branch) == CODE_FOR_expect_else) ++ { ++ HINTED_P (branch) = 1; ++ hint = PREV_INSN (before); ++ } ++ else ++ { ++ branch_label = gen_label_rtx (); ++ LABEL_NUSES (branch_label)++; ++ LABEL_PRESERVE_P (branch_label) = 1; ++ insn = emit_label_before (branch_label, branch); ++ branch_label = gen_rtx_LABEL_REF (VOIDmode, branch_label); ++ SET_BIT (blocks, BLOCK_FOR_INSN (branch)->index); + +- hint = emit_insn_before (gen_hbr (branch_label, target), before); +- recog_memoized (hint); +- HINTED_P (branch) = 1; ++ hint = emit_insn_before (gen_hbr (branch_label, target), before); ++ recog_memoized (hint); ++ HINTED_P (branch) = 1; ++ } + + if (GET_CODE (target) == LABEL_REF) + HINTED_P (XEXP (target, 0)) = 1; +@@ -2340,6 +2443,12 @@ + { + rtx lab = 0; + rtx note = find_reg_note (branch, REG_BR_PROB, 0); ++ ++ if (INSN_CODE (branch) == CODE_FOR_expect_then) ++ return XEXP (src, 1); ++ if (INSN_CODE (branch) == CODE_FOR_expect_else) ++ return XEXP (src, 2); ++ + if (note) + { + /* If the more probable case is not a fall through, then +@@ -2387,6 +2496,8 @@ + static bool + insn_clobbers_hbr (rtx insn) + { ++ if (NONJUMP_INSN_P (insn) && INSN_CODE (insn) == CODE_FOR_hbr) ++ return 1; + if (INSN_P (insn) + && GET_CODE (PATTERN (insn)) == PARALLEL) + { +@@ -2659,6 +2770,9 @@ + branch = insn; + branch_addr = insn_addr; + required_dist = spu_hint_dist; ++ if (INSN_CODE (branch) == CODE_FOR_expect_then ++ || INSN_CODE (branch) == CODE_FOR_expect_else) ++ required_dist = 0; + } + } + } +@@ -2764,6 +2878,58 @@ + + pad_bb (); + ++ for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) ++ if (NONJUMP_INSN_P (insn) && INSN_CODE (insn) == CODE_FOR_hbr) ++ { ++ /* Adjust the LABEL_REF in a hint when we have inserted a nop ++ between its branch label and the branch . We don't move the ++ label because GCC expects it at the beginning of the block. */ ++ rtx unspec = SET_SRC (XVECEXP (PATTERN (insn), 0, 0)); ++ rtx label_ref = XVECEXP (unspec, 0, 0); ++ rtx label = XEXP (label_ref, 0); ++ rtx branch; ++ int offset = 0; ++ for (branch = NEXT_INSN (label); ++ !JUMP_P (branch) && !CALL_P (branch); ++ branch = NEXT_INSN (branch)) ++ if (NONJUMP_INSN_P (branch)) ++ offset += get_attr_length (branch); ++ if (offset > 0) ++ XVECEXP (unspec, 0, 0) = plus_constant (label_ref, offset); ++ } ++ else if (JUMP_P (insn) && (INSN_CODE (insn) == CODE_FOR_expect_then ++ || INSN_CODE (insn) == CODE_FOR_expect_else)) ++ { ++ /* __builtin_expect with a non-constant second argument ++ generates patterns which contain labels that need to be ++ relocated. These are generated in spu_emit_branch_or_set. */ ++ rtx set0 = XVECEXP (PATTERN (insn), 0, 0); ++ rtx use1 = XVECEXP (PATTERN (insn), 0, 1); ++ rtx use2 = XVECEXP (PATTERN (insn), 0, 2); ++ rtx use3 = XVECEXP (PATTERN (insn), 0, 3); ++ rtx label0 = XEXP (XEXP (set0, 1), 1); ++ rtx label1 = XEXP (XEXP (use1, 0), 0); ++ rtx label2 = XEXP (XEXP (use2, 0), 0); ++ rtx label3 = XEXP (XEXP (use3, 0), 0); ++ if (GET_CODE (label0) == PC) ++ label0 = XEXP (XEXP (set0, 1), 2); ++ remove_insn (label1); ++ add_insn_before (label1, insn, 0); ++ if (GET_CODE (XEXP (XEXP (set0, 1), 0)) == NE) ++ { ++ remove_insn (label2); ++ add_insn_after (label2, insn, 0); ++ remove_insn (label3); ++ add_insn_after (label3, XEXP (label0, 0), 0); ++ } ++ else ++ { ++ remove_insn (label2); ++ add_insn_after (label2, XEXP (label0, 0), 0); ++ remove_insn (label3); ++ add_insn_after (label3, insn, 0); ++ } ++ } + + if (spu_flag_var_tracking) + { +@@ -3502,6 +3668,72 @@ + return val >= low && val <= high; + } + ++/* TRUE when op is an immediate and an exact power of 2, and given that ++ OP is 2^scale, scale >= LOW && scale <= HIGH. When OP is a vector, ++ all entries must be the same. */ ++bool ++exp2_immediate_p (rtx op, enum machine_mode mode, int low, int high) ++{ ++ enum machine_mode int_mode; ++ HOST_WIDE_INT val; ++ unsigned char arr[16]; ++ int bytes, i, j; ++ ++ gcc_assert (GET_CODE (op) == CONST_INT || GET_CODE (op) == CONST_DOUBLE ++ || GET_CODE (op) == CONST_VECTOR); ++ ++ if (GET_CODE (op) == CONST_VECTOR ++ && !const_vector_immediate_p (op)) ++ return 0; ++ ++ if (GET_MODE (op) != VOIDmode) ++ mode = GET_MODE (op); ++ ++ constant_to_array (mode, op, arr); ++ ++ if (VECTOR_MODE_P (mode)) ++ mode = GET_MODE_INNER (mode); ++ ++ bytes = GET_MODE_SIZE (mode); ++ int_mode = mode_for_size (GET_MODE_BITSIZE (mode), MODE_INT, 0); ++ ++ /* Check that bytes are repeated. */ ++ for (i = bytes; i < 16; i += bytes) ++ for (j = 0; j < bytes; j++) ++ if (arr[j] != arr[i + j]) ++ return 0; ++ ++ val = arr[0]; ++ for (j = 1; j < bytes; j++) ++ val = (val << 8) | arr[j]; ++ ++ val = trunc_int_for_mode (val, int_mode); ++ ++ /* Currently, we only handle SFmode */ ++ gcc_assert (mode == SFmode); ++ if (mode == SFmode) ++ { ++ int exp = (val >> 23) - 127; ++ return val > 0 && (val & 0x007fffff) == 0 ++ && exp >= low && exp <= high; ++ } ++ return FALSE; ++} ++ ++/* Return true if X is a SYMBOL_REF to an __ea qualified variable. */ ++ ++static int ++ea_symbol_ref (rtx *px, void *data ATTRIBUTE_UNUSED) ++{ ++ rtx x = *px; ++ tree decl; ++ ++ return (GET_CODE (x) == SYMBOL_REF ++ && (decl = SYMBOL_REF_DECL (x)) != 0 ++ && TREE_CODE (decl) == VAR_DECL ++ && TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (decl)))); ++} ++ + /* We accept: + - any 32-bit constant (SImode, SFmode) + - any constant that can be generated with fsmbi (any mode) +@@ -3513,44 +3745,84 @@ + { + if (GET_CODE (x) == HIGH) + x = XEXP (x, 0); +- /* V4SI with all identical symbols is valid. */ +- if (!flag_pic +- && GET_MODE (x) == V4SImode +- && (GET_CODE (CONST_VECTOR_ELT (x, 0)) == SYMBOL_REF +- || GET_CODE (CONST_VECTOR_ELT (x, 0)) == LABEL_REF +- || GET_CODE (CONST_VECTOR_ELT (x, 0)) == CONST)) +- return CONST_VECTOR_ELT (x, 0) == CONST_VECTOR_ELT (x, 1) +- && CONST_VECTOR_ELT (x, 1) == CONST_VECTOR_ELT (x, 2) +- && CONST_VECTOR_ELT (x, 2) == CONST_VECTOR_ELT (x, 3); + +- if (GET_CODE (x) == CONST_VECTOR +- && !const_vector_immediate_p (x)) ++ /* Reject any __ea qualified reference. These can't appear in ++ instructions but must be forced to the constant pool. */ ++ if (for_each_rtx (&x, ea_symbol_ref, 0)) + return 0; ++ ++ if (GET_CODE (x) == CONST_VECTOR) ++ { ++ /* V4SI with all identical symbols is valid. */ ++ if (GET_CODE (CONST_VECTOR_ELT (x, 0)) == SYMBOL_REF ++ || GET_CODE (CONST_VECTOR_ELT (x, 0)) == LABEL_REF ++ || GET_CODE (CONST_VECTOR_ELT (x, 0)) == CONST) ++ return (!flag_pic ++ && GET_MODE (x) == V4SImode ++ && CONST_VECTOR_ELT (x, 0) == CONST_VECTOR_ELT (x, 1) ++ && CONST_VECTOR_ELT (x, 1) == CONST_VECTOR_ELT (x, 2) ++ && CONST_VECTOR_ELT (x, 2) == CONST_VECTOR_ELT (x, 3)); ++ ++ if (!const_vector_immediate_p (x)) ++ return 0; ++ } + return 1; + } + + /* Valid address are: + - symbol_ref, label_ref, const + - reg +- - reg + const, where either reg or const is 16 byte aligned ++ - reg + const, where const is 16 byte aligned + - reg + reg, alignment doesn't matter + The alignment matters in the reg+const case because lqd and stqd +- ignore the 4 least significant bits of the const. (TODO: It might be +- preferable to allow any alignment and fix it up when splitting.) */ ++ ignore the 4 least significant bits of the const. ++ ++ Addresses are handled in 4 phases. ++ 1) from the beginning of rtl expansion until the split0 pass. Any ++ address is acceptable. ++ 2) The split0 pass. It is responsible for making every load and store ++ valid. It calls legitimate_address with FOR_SPLIT set to 1. This ++ is where non-16-byte aligned loads/stores are split into multiple ++ instructions to extract or insert just the part we care about. ++ 3) From the split0 pass to the beginning of reload. During this ++ phase the constant part of an address must be 16 byte aligned, and ++ we don't allow any loads/store of less than 4 bytes. We also ++ allow a mask of -16 to be part of the address as an optimization. ++ 4) From reload until the end. Reload can change the modes of loads ++ and stores to something smaller than 4-bytes which we need to allow ++ now, and it also adjusts the address to match. So in this phase we ++ allow that special case. Still allow addresses with a mask of -16. ++ ++ FOR_SPLIT is only set to 1 for phase 2, otherwise it is 0. */ + int +-spu_legitimate_address (enum machine_mode mode ATTRIBUTE_UNUSED, +- rtx x, int reg_ok_strict) ++spu_legitimate_address (enum machine_mode mode, rtx x, int reg_ok_strict, ++ int for_split) + { +- if (mode == TImode && GET_CODE (x) == AND +- && GET_CODE (XEXP (x, 1)) == CONST_INT +- && INTVAL (XEXP (x, 1)) == (HOST_WIDE_INT) -16) ++ int aligned = (split0_completed || for_split) ++ && !reload_in_progress && !reload_completed; ++ int const_aligned = split0_completed || for_split; ++ if (GET_MODE_SIZE (mode) >= 16) ++ aligned = 0; ++ else if (aligned && GET_MODE_SIZE (mode) < 4) ++ return 0; ++ if (split0_completed ++ && (GET_CODE (x) == AND ++ && GET_CODE (XEXP (x, 1)) == CONST_INT ++ && INTVAL (XEXP (x, 1)) == (HOST_WIDE_INT) - 16 ++ && !CONSTANT_P (XEXP (x, 0)))) + x = XEXP (x, 0); + switch (GET_CODE (x)) + { +- case SYMBOL_REF: + case LABEL_REF: +- return !TARGET_LARGE_MEM; ++ return !TARGET_LARGE_MEM && !aligned; + ++ case SYMBOL_REF: ++ /* Keep __ea references until reload so that spu_expand_mov ++ can see them in MEMs. */ ++ if (ea_symbol_ref (&x, 0)) ++ return !reload_in_progress && !reload_completed; ++ return !TARGET_LARGE_MEM && (!aligned || ALIGNED_SYMBOL_REF_P (x)); ++ + case CONST: + if (!TARGET_LARGE_MEM && GET_CODE (XEXP (x, 0)) == PLUS) + { +@@ -3559,20 +3831,33 @@ + + /* Accept any symbol_ref + constant, assuming it does not + wrap around the local store addressability limit. */ ++ if (ea_symbol_ref (&sym, 0)) ++ return 0; ++ + if (GET_CODE (sym) == SYMBOL_REF && GET_CODE (cst) == CONST_INT) +- return 1; ++ { ++ /* Check for alignment if required. */ ++ if (!aligned) ++ return 1; ++ if ((INTVAL (cst) & 15) == 0 && ALIGNED_SYMBOL_REF_P (sym)) ++ return 1; ++ } + } + return 0; + + case CONST_INT: ++ /* We don't test alignement here. For an absolute address we ++ assume the user knows what they are doing. */ + return INTVAL (x) >= 0 && INTVAL (x) <= 0x3ffff; + + case SUBREG: + x = XEXP (x, 0); +- gcc_assert (GET_CODE (x) == REG); ++ if (GET_CODE (x) != REG) ++ return 0; + + case REG: +- return INT_REG_OK_FOR_BASE_P (x, reg_ok_strict); ++ return INT_REG_OK_FOR_BASE_P (x, reg_ok_strict) ++ && reg_aligned_for_addr (x, 0); + + case PLUS: + case LO_SUM: +@@ -3583,21 +3868,29 @@ + op0 = XEXP (op0, 0); + if (GET_CODE (op1) == SUBREG) + op1 = XEXP (op1, 0); +- /* We can't just accept any aligned register because CSE can +- change it to a register that is not marked aligned and then +- recog will fail. So we only accept frame registers because +- they will only be changed to other frame registers. */ + if (GET_CODE (op0) == REG + && INT_REG_OK_FOR_BASE_P (op0, reg_ok_strict) + && GET_CODE (op1) == CONST_INT + && INTVAL (op1) >= -0x2000 + && INTVAL (op1) <= 0x1fff +- && (regno_aligned_for_load (REGNO (op0)) || (INTVAL (op1) & 15) == 0)) ++ && reg_aligned_for_addr (op0, 0) ++ && (!const_aligned ++ || (INTVAL (op1) & 15) == 0 ++ || ((reload_in_progress || reload_completed) ++ && GET_MODE_SIZE (mode) < 4 ++ && (INTVAL (op1) & 15) == 4 - GET_MODE_SIZE (mode)) ++ /* Some passes create a fake register for testing valid ++ * addresses, be more lenient when we see those. ivopts ++ * and reload do it. */ ++ || REGNO (op0) == LAST_VIRTUAL_REGISTER + 1 ++ || REGNO (op0) == LAST_VIRTUAL_REGISTER + 2)) + return 1; + if (GET_CODE (op0) == REG + && INT_REG_OK_FOR_BASE_P (op0, reg_ok_strict) ++ && reg_aligned_for_addr (op0, 0) + && GET_CODE (op1) == REG +- && INT_REG_OK_FOR_INDEX_P (op1, reg_ok_strict)) ++ && INT_REG_OK_FOR_INDEX_P (op1, reg_ok_strict) ++ && reg_aligned_for_addr (op1, 0)) + return 1; + } + break; +@@ -3635,7 +3928,7 @@ + else if (GET_CODE (op1) != REG) + op1 = force_reg (Pmode, op1); + x = gen_rtx_PLUS (Pmode, op0, op1); +- if (spu_legitimate_address (mode, x, 0)) ++ if (spu_legitimate_address (mode, x, 0, 0)) + return x; + } + return NULL_RTX; +@@ -4060,60 +4353,16 @@ + } + } + +-/* This is called to decide when we can simplify a load instruction. We +- must only return true for registers which we know will always be +- aligned. Taking into account that CSE might replace this reg with +- another one that has not been marked aligned. +- So this is really only true for frame, stack and virtual registers, +- which we know are always aligned and should not be adversely effected +- by CSE. */ ++/* This is called any time we inspect the alignment of a register for ++ addresses. */ + static int +-regno_aligned_for_load (int regno) ++reg_aligned_for_addr (rtx x, int aligned) + { +- return regno == FRAME_POINTER_REGNUM +- || (frame_pointer_needed && regno == HARD_FRAME_POINTER_REGNUM) +- || regno == ARG_POINTER_REGNUM +- || regno == STACK_POINTER_REGNUM +- || (regno >= FIRST_VIRTUAL_REGISTER +- && regno <= LAST_VIRTUAL_REGISTER); +-} +- +-/* Return TRUE when mem is known to be 16-byte aligned. */ +-int +-aligned_mem_p (rtx mem) +-{ +- if (MEM_ALIGN (mem) >= 128) ++ int regno = ++ REGNO (x) < FIRST_PSEUDO_REGISTER ? ORIGINAL_REGNO (x) : REGNO (x); ++ if (!aligned) + return 1; +- if (GET_MODE_SIZE (GET_MODE (mem)) >= 16) +- return 1; +- if (GET_CODE (XEXP (mem, 0)) == PLUS) +- { +- rtx p0 = XEXP (XEXP (mem, 0), 0); +- rtx p1 = XEXP (XEXP (mem, 0), 1); +- if (regno_aligned_for_load (REGNO (p0))) +- { +- if (GET_CODE (p1) == REG && regno_aligned_for_load (REGNO (p1))) +- return 1; +- if (GET_CODE (p1) == CONST_INT && (INTVAL (p1) & 15) == 0) +- return 1; +- } +- } +- else if (GET_CODE (XEXP (mem, 0)) == REG) +- { +- if (regno_aligned_for_load (REGNO (XEXP (mem, 0)))) +- return 1; +- } +- else if (ALIGNED_SYMBOL_REF_P (XEXP (mem, 0))) +- return 1; +- else if (GET_CODE (XEXP (mem, 0)) == CONST) +- { +- rtx p0 = XEXP (XEXP (XEXP (mem, 0), 0), 0); +- rtx p1 = XEXP (XEXP (XEXP (mem, 0), 0), 1); +- if (GET_CODE (p0) == SYMBOL_REF +- && GET_CODE (p1) == CONST_INT && (INTVAL (p1) & 15) == 0) +- return 1; +- } +- return 0; ++ return REGNO_POINTER_ALIGN (regno) >= 128; + } + + /* Encode symbol attributes (local vs. global, tls model) of a SYMBOL_REF +@@ -4142,9 +4391,12 @@ + static int + store_with_one_insn_p (rtx mem) + { ++ enum machine_mode mode = GET_MODE (mem); + rtx addr = XEXP (mem, 0); +- if (GET_MODE (mem) == BLKmode) ++ if (mode == BLKmode) + return 0; ++ if (GET_MODE_SIZE (mode) >= 16) ++ return 1; + /* Only static objects. */ + if (GET_CODE (addr) == SYMBOL_REF) + { +@@ -4168,6 +4420,245 @@ + return 0; + } + ++/* Return 1 when the address is not valid for a simple load and store as ++ required by the '_mov*' patterns. We could make this less strict ++ for loads, but we prefer mem's to look the same so they are more ++ likely to be merged. */ ++static int ++address_needs_split (rtx mem) ++{ ++ if (GET_MODE_SIZE (GET_MODE (mem)) < 16 ++ && (GET_MODE_SIZE (GET_MODE (mem)) < 4 ++ || !(store_with_one_insn_p (mem) ++ || mem_is_padded_component_ref (mem)))) ++ return 1; ++ ++ return 0; ++} ++ ++#define EAmode (spu_ea_model != 32 ? DImode : SImode) ++ ++rtx cache_fetch; ++rtx cache_fetch_dirty; ++int ea_alias_set = -1; ++ ++/* MEM is known to be an __ea qualified memory access. Emit a call to ++ fetch the ppu memory to local store, and return its address in local ++ store. */ ++ ++static void ++ea_load_store (rtx mem, bool is_store, rtx ea_addr, rtx data_addr) ++{ ++ if (is_store) ++ { ++ rtx ndirty = GEN_INT (GET_MODE_SIZE (GET_MODE (mem))); ++ if (!cache_fetch_dirty) ++ cache_fetch_dirty = init_one_libfunc ("__cache_fetch_dirty"); ++ emit_library_call_value (cache_fetch_dirty, data_addr, LCT_NORMAL, Pmode, ++ 2, ea_addr, EAmode, ndirty, SImode); ++ } ++ else ++ { ++ if (!cache_fetch) ++ cache_fetch = init_one_libfunc ("__cache_fetch"); ++ emit_library_call_value (cache_fetch, data_addr, LCT_NORMAL, Pmode, ++ 1, ea_addr, EAmode); ++ } ++} ++ ++/* Like ea_load_store, but do the cache tag comparison and, for stores, ++ dirty bit marking, inline. ++ ++ The cache control data structure is an array of ++ ++ struct __cache_tag_array ++ { ++ unsigned int tag_lo[4]; ++ unsigned int tag_hi[4]; ++ void *data_pointer[4]; ++ int reserved[4]; ++ vector unsigned short dirty_bits[4]; ++ } */ ++ ++static void ++ea_load_store_inline (rtx mem, bool is_store, rtx ea_addr, rtx data_addr) ++{ ++ rtx ea_addr_si; ++ HOST_WIDE_INT v; ++ rtx tag_size_sym = gen_rtx_SYMBOL_REF (Pmode, "__cache_tag_array_size"); ++ rtx tag_arr_sym = gen_rtx_SYMBOL_REF (Pmode, "__cache_tag_array"); ++ rtx index_mask = gen_reg_rtx (SImode); ++ rtx tag_arr = gen_reg_rtx (Pmode); ++ rtx splat_mask = gen_reg_rtx (TImode); ++ rtx splat = gen_reg_rtx (V4SImode); ++ rtx splat_hi = NULL_RTX; ++ rtx tag_index = gen_reg_rtx (Pmode); ++ rtx block_off = gen_reg_rtx (SImode); ++ rtx tag_addr = gen_reg_rtx (Pmode); ++ rtx tag = gen_reg_rtx (V4SImode); ++ rtx cache_tag = gen_reg_rtx (V4SImode); ++ rtx cache_tag_hi = NULL_RTX; ++ rtx cache_ptrs = gen_reg_rtx (TImode); ++ rtx cache_ptrs_si = gen_reg_rtx (SImode); ++ rtx tag_equal = gen_reg_rtx (V4SImode); ++ rtx tag_equal_hi = NULL_RTX; ++ rtx tag_eq_pack = gen_reg_rtx (V4SImode); ++ rtx tag_eq_pack_si = gen_reg_rtx (SImode); ++ rtx eq_index = gen_reg_rtx (SImode); ++ rtx bcomp, hit_label, hit_ref, cont_label, insn; ++ ++ if (spu_ea_model != 32) ++ { ++ splat_hi = gen_reg_rtx (V4SImode); ++ cache_tag_hi = gen_reg_rtx (V4SImode); ++ tag_equal_hi = gen_reg_rtx (V4SImode); ++ } ++ ++ emit_move_insn (index_mask, plus_constant (tag_size_sym, -128)); ++ emit_move_insn (tag_arr, tag_arr_sym); ++ v = 0x0001020300010203LL; ++ emit_move_insn (splat_mask, immed_double_const (v, v, TImode)); ++ ea_addr_si = ea_addr; ++ if (spu_ea_model != 32) ++ ea_addr_si = convert_to_mode (SImode, ea_addr, 1); ++ ++ /* tag_index = ea_addr & (tag_array_size - 128) */ ++ emit_insn (gen_andsi3 (tag_index, ea_addr_si, index_mask)); ++ ++ /* splat ea_addr to all 4 slots. */ ++ emit_insn (gen_shufb (splat, ea_addr_si, ea_addr_si, splat_mask)); ++ /* Similarly for high 32 bits of ea_addr. */ ++ if (spu_ea_model != 32) ++ emit_insn (gen_shufb (splat_hi, ea_addr, ea_addr, splat_mask)); ++ ++ /* block_off = ea_addr & 127 */ ++ emit_insn (gen_andsi3 (block_off, ea_addr_si, spu_const (SImode, 127))); ++ ++ /* tag_addr = tag_arr + tag_index */ ++ emit_insn (gen_addsi3 (tag_addr, tag_arr, tag_index)); ++ ++ /* Read cache tags. */ ++ emit_move_insn (cache_tag, gen_rtx_MEM (V4SImode, tag_addr)); ++ if (spu_ea_model != 32) ++ emit_move_insn (cache_tag_hi, gen_rtx_MEM (V4SImode, ++ plus_constant (tag_addr, 16))); ++ ++ /* tag = ea_addr & -128 */ ++ emit_insn (gen_andv4si3 (tag, splat, spu_const (V4SImode, -128))); ++ ++ /* Read all four cache data pointers. */ ++ emit_move_insn (cache_ptrs, gen_rtx_MEM (TImode, ++ plus_constant (tag_addr, 32))); ++ ++ /* Compare tags. */ ++ emit_insn (gen_ceq_v4si (tag_equal, tag, cache_tag)); ++ if (spu_ea_model != 32) ++ { ++ emit_insn (gen_ceq_v4si (tag_equal_hi, splat_hi, cache_tag_hi)); ++ emit_insn (gen_andv4si3 (tag_equal, tag_equal, tag_equal_hi)); ++ } ++ ++ /* At most one of the tags compare equal, so tag_equal has one ++ 32-bit slot set to all 1's, with the other slots all zero. ++ gbb picks off low bit from each byte in the 128-bit registers, ++ so tag_eq_pack is one of 0xf000, 0x0f00, 0x00f0, 0x000f, assuming ++ we have a hit. */ ++ emit_insn (gen_spu_gbb (tag_eq_pack, spu_gen_subreg (V16QImode, tag_equal))); ++ emit_insn (gen_spu_convert (tag_eq_pack_si, tag_eq_pack)); ++ ++ /* So counting leading zeros will set eq_index to 16, 20, 24 or 28. */ ++ emit_insn (gen_clzsi2 (eq_index, tag_eq_pack_si)); ++ ++ /* Allowing us to rotate the corresponding cache data pointer to slot0. ++ (rotating eq_index mod 16 bytes). */ ++ emit_insn (gen_rotqby_ti (cache_ptrs, cache_ptrs, eq_index)); ++ emit_insn (gen_spu_convert (cache_ptrs_si, cache_ptrs)); ++ ++ /* Add block offset to form final data address. */ ++ emit_insn (gen_addsi3 (data_addr, cache_ptrs_si, block_off)); ++ ++ /* Check that we did hit. */ ++ hit_label = gen_label_rtx (); ++ hit_ref = gen_rtx_LABEL_REF (VOIDmode, hit_label); ++ bcomp = gen_rtx_NE (SImode, tag_eq_pack_si, const0_rtx); ++ insn = emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, ++ gen_rtx_IF_THEN_ELSE (VOIDmode, bcomp, ++ hit_ref, pc_rtx))); ++ /* Say that this branch is very likely to happen. */ ++ v = REG_BR_PROB_BASE - REG_BR_PROB_BASE / 100 - 1; ++ REG_NOTES (insn) ++ = gen_rtx_EXPR_LIST (REG_BR_PROB, GEN_INT (v), REG_NOTES (insn)); ++ ++ ea_load_store (mem, is_store, ea_addr, data_addr); ++ cont_label = gen_label_rtx (); ++ emit_jump_insn (gen_jump (cont_label)); ++ emit_barrier (); ++ ++ emit_label (hit_label); ++ ++ if (is_store) ++ { ++ HOST_WIDE_INT v_hi; ++ rtx dirty_bits = gen_reg_rtx (TImode); ++ rtx dirty_off = gen_reg_rtx (SImode); ++ rtx dirty_128 = gen_reg_rtx (TImode); ++ rtx neg_block_off = gen_reg_rtx (SImode); ++ ++ /* Set up mask with one dirty bit per byte of the mem we are ++ writing, starting from top bit. */ ++ v_hi = v = -1; ++ v <<= (128 - GET_MODE_SIZE (GET_MODE (mem))) & 63; ++ if ((128 - GET_MODE_SIZE (GET_MODE (mem))) >= 64) ++ { ++ v_hi = v; ++ v = 0; ++ } ++ emit_move_insn (dirty_bits, immed_double_const (v, v_hi, TImode)); ++ ++ /* Form index into cache dirty_bits. eq_index is one of ++ 0x10, 0x14, 0x18 or 0x1c. Multiplying by 4 gives us ++ 0x40, 0x50, 0x60 or 0x70 which just happens to be the ++ offset to each of the four dirty_bits elements. */ ++ emit_insn (gen_ashlsi3 (dirty_off, eq_index, spu_const (SImode, 2))); ++ ++ emit_insn (gen_spu_lqx (dirty_128, tag_addr, dirty_off)); ++ ++ /* Rotate bit mask to proper bit. */ ++ emit_insn (gen_negsi2 (neg_block_off, block_off)); ++ emit_insn (gen_rotqbybi_ti (dirty_bits, dirty_bits, neg_block_off)); ++ emit_insn (gen_rotqbi_ti (dirty_bits, dirty_bits, neg_block_off)); ++ ++ /* Or in the new dirty bits. */ ++ emit_insn (gen_iorti3 (dirty_128, dirty_bits, dirty_128)); ++ ++ /* Store. */ ++ emit_insn (gen_spu_stqx (dirty_128, tag_addr, dirty_off)); ++ } ++ ++ emit_label (cont_label); ++} ++ ++static rtx ++expand_ea_mem (rtx mem, bool is_store) ++{ ++ rtx ea_addr; ++ rtx data_addr = gen_reg_rtx (Pmode); ++ ++ ea_addr = force_reg (EAmode, XEXP (mem, 0)); ++ if (optimize_size || optimize == 0) ++ ea_load_store (mem, is_store, ea_addr, data_addr); ++ else ++ ea_load_store_inline (mem, is_store, ea_addr, data_addr); ++ ++ mem = change_address (mem, VOIDmode, data_addr); ++ ++ if (ea_alias_set == -1) ++ ea_alias_set = new_alias_set (); ++ set_mem_alias_set (mem, 0); ++ set_mem_alias_set (mem, ea_alias_set); ++ return mem; ++} ++ + int + spu_expand_mov (rtx * ops, enum machine_mode mode) + { +@@ -4215,24 +4706,15 @@ + } + else + { +- if (GET_CODE (ops[0]) == MEM) ++ if (MEM_P (ops[0])) + { +- if (!spu_valid_move (ops)) +- { +- emit_insn (gen_store (ops[0], ops[1], gen_reg_rtx (TImode), +- gen_reg_rtx (TImode))); +- return 1; +- } ++ if (MEM_ADDR_SPACE (ops[0])) ++ ops[0] = expand_ea_mem (ops[0], true); + } +- else if (GET_CODE (ops[1]) == MEM) ++ else if (MEM_P (ops[1])) + { +- if (!spu_valid_move (ops)) +- { +- emit_insn (gen_load +- (ops[0], ops[1], gen_reg_rtx (TImode), +- gen_reg_rtx (SImode))); +- return 1; +- } ++ if (MEM_ADDR_SPACE (ops[1])) ++ ops[1] = expand_ea_mem (ops[1], false); + } + /* Catch the SImode immediates greater than 0x7fffffff, and sign + extend them. */ +@@ -4249,7 +4731,7 @@ + return 0; + } + +-void ++int + spu_split_load (rtx * ops) + { + enum machine_mode mode = GET_MODE (ops[0]); +@@ -4257,10 +4739,24 @@ + int rot_amt; + + addr = XEXP (ops[1], 0); ++ gcc_assert (GET_CODE (addr) != AND); + ++ if (!address_needs_split (ops[1])) ++ { ++ addr = XEXP (ops[1], 0); ++ if (spu_legitimate_address (mode, addr, 0, 1)) ++ return 0; ++ ops[1] = change_address (ops[1], VOIDmode, force_reg (Pmode, addr)); ++ emit_move_insn (ops[0], ops[1]); ++ return 1; ++ } ++ + rot = 0; + rot_amt = 0; +- if (GET_CODE (addr) == PLUS) ++ ++ if (MEM_ALIGN (ops[1]) >= 128) ++ /* Address is already aligned; simply perform a TImode load. */; ++ else if (GET_CODE (addr) == PLUS) + { + /* 8 cases: + aligned reg + aligned reg => lqx +@@ -4274,13 +4770,33 @@ + */ + p0 = XEXP (addr, 0); + p1 = XEXP (addr, 1); +- if (REG_P (p0) && !regno_aligned_for_load (REGNO (p0))) ++ if (!reg_aligned_for_addr (p0, 1)) + { +- if (REG_P (p1) && !regno_aligned_for_load (REGNO (p1))) ++ if (GET_CODE (p1) == REG && !reg_aligned_for_addr (p1, 1)) + { +- emit_insn (gen_addsi3 (ops[3], p0, p1)); +- rot = ops[3]; ++ rot = gen_reg_rtx (SImode); ++ emit_insn (gen_addsi3 (rot, p0, p1)); + } ++ else if (GET_CODE (p1) == CONST_INT && (INTVAL (p1) & 15)) ++ { ++ if (INTVAL (p1) > 0 ++ && INTVAL (p1) * BITS_PER_UNIT < REG_ALIGN (p0)) ++ { ++ rot = gen_reg_rtx (SImode); ++ emit_insn (gen_addsi3 (rot, p0, p1)); ++ addr = p0; ++ } ++ else ++ { ++ rtx x = gen_reg_rtx (SImode); ++ emit_move_insn (x, p1); ++ if (!spu_arith_operand (p1, SImode)) ++ p1 = x; ++ rot = gen_reg_rtx (SImode); ++ emit_insn (gen_addsi3 (rot, p0, p1)); ++ addr = gen_rtx_PLUS (Pmode, p0, x); ++ } ++ } + else + rot = p0; + } +@@ -4289,16 +4805,21 @@ + if (GET_CODE (p1) == CONST_INT && (INTVAL (p1) & 15)) + { + rot_amt = INTVAL (p1) & 15; +- p1 = GEN_INT (INTVAL (p1) & -16); +- addr = gen_rtx_PLUS (SImode, p0, p1); ++ if (INTVAL (p1) & -16) ++ { ++ p1 = GEN_INT (INTVAL (p1) & -16); ++ addr = gen_rtx_PLUS (SImode, p0, p1); ++ } ++ else ++ addr = p0; + } +- else if (REG_P (p1) && !regno_aligned_for_load (REGNO (p1))) ++ else if (GET_CODE (p1) == REG && !reg_aligned_for_addr (p1, 1)) + rot = p1; + } + } + else if (GET_CODE (addr) == REG) + { +- if (!regno_aligned_for_load (REGNO (addr))) ++ if (!reg_aligned_for_addr (addr, 1)) + rot = addr; + } + else if (GET_CODE (addr) == CONST) +@@ -4317,7 +4838,10 @@ + addr = XEXP (XEXP (addr, 0), 0); + } + else +- rot = addr; ++ { ++ rot = gen_reg_rtx (Pmode); ++ emit_move_insn (rot, addr); ++ } + } + else if (GET_CODE (addr) == CONST_INT) + { +@@ -4325,7 +4849,10 @@ + addr = GEN_INT (rot_amt & -16); + } + else if (!ALIGNED_SYMBOL_REF_P (addr)) +- rot = addr; ++ { ++ rot = gen_reg_rtx (Pmode); ++ emit_move_insn (rot, addr); ++ } + + if (GET_MODE_SIZE (mode) < 4) + rot_amt += GET_MODE_SIZE (mode) - 4; +@@ -4334,16 +4861,24 @@ + + if (rot && rot_amt) + { +- emit_insn (gen_addsi3 (ops[3], rot, GEN_INT (rot_amt))); +- rot = ops[3]; ++ rtx x = gen_reg_rtx (SImode); ++ emit_insn (gen_addsi3 (x, rot, GEN_INT (rot_amt))); ++ rot = x; + rot_amt = 0; + } + +- load = ops[2]; ++ /* If the source is properly aligned, we don't need to split this insn into ++ a TImode load plus a _spu_convert. However, we want to perform the split ++ anyway when optimizing to make the MEMs look the same as those used for ++ stores so they are more easily merged. When *not* optimizing, that will ++ not happen anyway, so we prefer to avoid generating the _spu_convert. */ ++ if (!rot && !rot_amt && !optimize) ++ return 0; + +- addr = gen_rtx_AND (SImode, copy_rtx (addr), GEN_INT (-16)); +- mem = change_address (ops[1], TImode, addr); ++ load = gen_reg_rtx (TImode); + ++ mem = change_address (ops[1], TImode, copy_rtx (addr)); ++ + emit_insn (gen_movti (load, mem)); + + if (rot) +@@ -4351,23 +4886,31 @@ + else if (rot_amt) + emit_insn (gen_rotlti3 (load, load, GEN_INT (rot_amt * 8))); + +- if (reload_completed) +- emit_move_insn (ops[0], gen_rtx_REG (GET_MODE (ops[0]), REGNO (load))); +- else +- emit_insn (gen_spu_convert (ops[0], load)); ++ emit_insn (gen_spu_convert (ops[0], load)); ++ return 1; + } + +-void ++int + spu_split_store (rtx * ops) + { + enum machine_mode mode = GET_MODE (ops[0]); +- rtx pat = ops[2]; +- rtx reg = ops[3]; ++ rtx reg; + rtx addr, p0, p1, p1_lo, smem; + int aform; + int scalar; + ++ if (!address_needs_split (ops[0])) ++ { ++ addr = XEXP (ops[0], 0); ++ if (spu_legitimate_address (mode, addr, 0, 1)) ++ return 0; ++ ops[0] = change_address (ops[0], VOIDmode, force_reg (Pmode, addr)); ++ emit_move_insn (ops[0], ops[1]); ++ return 1; ++ } ++ + addr = XEXP (ops[0], 0); ++ gcc_assert (GET_CODE (addr) != AND); + + if (GET_CODE (addr) == PLUS) + { +@@ -4379,7 +4922,7 @@ + unaligned reg + aligned reg => lqx, c?x, shuf, stqx + unaligned reg + unaligned reg => lqx, c?x, shuf, stqx + unaligned reg + aligned const => lqd, c?d, shuf, stqx +- unaligned reg + unaligned const -> not allowed by legitimate address ++ unaligned reg + unaligned const -> lqx, c?d, shuf, stqx + */ + aform = 0; + p0 = XEXP (addr, 0); +@@ -4387,8 +4930,20 @@ + if (GET_CODE (p0) == REG && GET_CODE (p1) == CONST_INT) + { + p1_lo = GEN_INT (INTVAL (p1) & 15); +- p1 = GEN_INT (INTVAL (p1) & -16); +- addr = gen_rtx_PLUS (SImode, p0, p1); ++ if (reg_aligned_for_addr (p0, 1)) ++ { ++ p1 = GEN_INT (INTVAL (p1) & -16); ++ if (p1 == const0_rtx) ++ addr = p0; ++ else ++ addr = gen_rtx_PLUS (SImode, p0, p1); ++ } ++ else ++ { ++ rtx x = gen_reg_rtx (SImode); ++ emit_move_insn (x, p1); ++ addr = gen_rtx_PLUS (SImode, p0, x); ++ } + } + } + else if (GET_CODE (addr) == REG) +@@ -4405,31 +4960,34 @@ + p1_lo = addr; + if (ALIGNED_SYMBOL_REF_P (addr)) + p1_lo = const0_rtx; +- else if (GET_CODE (addr) == CONST) ++ else if (GET_CODE (addr) == CONST ++ && GET_CODE (XEXP (addr, 0)) == PLUS ++ && ALIGNED_SYMBOL_REF_P (XEXP (XEXP (addr, 0), 0)) ++ && GET_CODE (XEXP (XEXP (addr, 0), 1)) == CONST_INT) + { +- if (GET_CODE (XEXP (addr, 0)) == PLUS +- && ALIGNED_SYMBOL_REF_P (XEXP (XEXP (addr, 0), 0)) +- && GET_CODE (XEXP (XEXP (addr, 0), 1)) == CONST_INT) +- { +- HOST_WIDE_INT v = INTVAL (XEXP (XEXP (addr, 0), 1)); +- if ((v & -16) != 0) +- addr = gen_rtx_CONST (Pmode, +- gen_rtx_PLUS (Pmode, +- XEXP (XEXP (addr, 0), 0), +- GEN_INT (v & -16))); +- else +- addr = XEXP (XEXP (addr, 0), 0); +- p1_lo = GEN_INT (v & 15); +- } ++ HOST_WIDE_INT v = INTVAL (XEXP (XEXP (addr, 0), 1)); ++ if ((v & -16) != 0) ++ addr = gen_rtx_CONST (Pmode, ++ gen_rtx_PLUS (Pmode, ++ XEXP (XEXP (addr, 0), 0), ++ GEN_INT (v & -16))); ++ else ++ addr = XEXP (XEXP (addr, 0), 0); ++ p1_lo = GEN_INT (v & 15); + } + else if (GET_CODE (addr) == CONST_INT) + { + p1_lo = GEN_INT (INTVAL (addr) & 15); + addr = GEN_INT (INTVAL (addr) & -16); + } ++ else ++ { ++ p1_lo = gen_reg_rtx (SImode); ++ emit_move_insn (p1_lo, addr); ++ } + } + +- addr = gen_rtx_AND (SImode, copy_rtx (addr), GEN_INT (-16)); ++ reg = gen_reg_rtx (TImode); + + scalar = store_with_one_insn_p (ops[0]); + if (!scalar) +@@ -4439,11 +4997,12 @@ + possible, and copying the flags will prevent that in certain + cases, e.g. consider the volatile flag. */ + ++ rtx pat = gen_reg_rtx (TImode); + rtx lmem = change_address (ops[0], TImode, copy_rtx (addr)); + set_mem_alias_set (lmem, 0); + emit_insn (gen_movti (reg, lmem)); + +- if (!p0 || regno_aligned_for_load (REGNO (p0))) ++ if (!p0 || reg_aligned_for_addr (p0, 1)) + p0 = stack_pointer_rtx; + if (!p1_lo) + p1_lo = const0_rtx; +@@ -4451,17 +5010,6 @@ + emit_insn (gen_cpat (pat, p0, p1_lo, GEN_INT (GET_MODE_SIZE (mode)))); + emit_insn (gen_shufb (reg, ops[1], reg, pat)); + } +- else if (reload_completed) +- { +- if (GET_CODE (ops[1]) == REG) +- emit_move_insn (reg, gen_rtx_REG (GET_MODE (reg), REGNO (ops[1]))); +- else if (GET_CODE (ops[1]) == SUBREG) +- emit_move_insn (reg, +- gen_rtx_REG (GET_MODE (reg), +- REGNO (SUBREG_REG (ops[1])))); +- else +- abort (); +- } + else + { + if (GET_CODE (ops[1]) == REG) +@@ -4473,15 +5021,16 @@ + } + + if (GET_MODE_SIZE (mode) < 4 && scalar) +- emit_insn (gen_shlqby_ti +- (reg, reg, GEN_INT (4 - GET_MODE_SIZE (mode)))); ++ emit_insn (gen_ashlti3 ++ (reg, reg, GEN_INT (32 - GET_MODE_BITSIZE (mode)))); + +- smem = change_address (ops[0], TImode, addr); ++ smem = change_address (ops[0], TImode, copy_rtx (addr)); + /* We can't use the previous alias set because the memory has changed + size and can potentially overlap objects of other types. */ + set_mem_alias_set (smem, 0); + + emit_insn (gen_movti (smem, reg)); ++ return 1; + } + + /* Return TRUE if X is MEM which is a struct member reference +@@ -4580,37 +5129,6 @@ + } + } + +-int +-spu_valid_move (rtx * ops) +-{ +- enum machine_mode mode = GET_MODE (ops[0]); +- if (!register_operand (ops[0], mode) && !register_operand (ops[1], mode)) +- return 0; +- +- /* init_expr_once tries to recog against load and store insns to set +- the direct_load[] and direct_store[] arrays. We always want to +- consider those loads and stores valid. init_expr_once is called in +- the context of a dummy function which does not have a decl. */ +- if (cfun->decl == 0) +- return 1; +- +- /* Don't allows loads/stores which would require more than 1 insn. +- During and after reload we assume loads and stores only take 1 +- insn. */ +- if (GET_MODE_SIZE (mode) < 16 && !reload_in_progress && !reload_completed) +- { +- if (GET_CODE (ops[0]) == MEM +- && (GET_MODE_SIZE (mode) < 4 +- || !(store_with_one_insn_p (ops[0]) +- || mem_is_padded_component_ref (ops[0])))) +- return 0; +- if (GET_CODE (ops[1]) == MEM +- && (GET_MODE_SIZE (mode) < 4 || !aligned_mem_p (ops[1]))) +- return 0; +- } +- return 1; +-} +- + /* Return TRUE if x is a CONST_INT, CONST_DOUBLE or CONST_VECTOR that + can be generated using the fsmbi instruction. */ + int +@@ -6228,6 +6746,26 @@ + return true; + } + ++static enum machine_mode ++spu_ea_pointer_mode (int addrspace) ++{ ++ switch (addrspace) ++ { ++ case 0: ++ return ptr_mode; ++ case 1: ++ return (spu_ea_model == 64 ? DImode : ptr_mode); ++ default: ++ gcc_unreachable (); ++ } ++} ++ ++static bool ++spu_valid_pointer_mode (enum machine_mode mode) ++{ ++ return (mode == ptr_mode || mode == Pmode || mode == spu_ea_pointer_mode (1)); ++} ++ + /* Count the total number of instructions in each pipe and return the + maximum, which is used as the Minimum Iteration Interval (MII) + in the modulo scheduler. get_pipe() will return -2, -1, 0, or 1. +@@ -6263,11 +6801,25 @@ + void + spu_init_expanders (void) + { +- /* HARD_FRAME_REGISTER is only 128 bit aligned when +- * frame_pointer_needed is true. We don't know that until we're +- * expanding the prologue. */ + if (cfun) +- REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 8; ++ { ++ rtx r0, r1; ++ /* HARD_FRAME_REGISTER is only 128 bit aligned when ++ frame_pointer_needed is true. We don't know that until we're ++ expanding the prologue. */ ++ REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 8; ++ ++ /* A number of passes use LAST_VIRTUAL_REGISTER+1 and ++ LAST_VIRTUAL_REGISTER+2 to test the back-end. We want to ++ handle those cases specially, so we reserve those two registers ++ here by generating them. */ ++ r0 = gen_reg_rtx (SImode); ++ r1 = gen_reg_rtx (SImode); ++ mark_reg_pointer (r0, 128); ++ mark_reg_pointer (r1, 128); ++ gcc_assert (REGNO (r0) == LAST_VIRTUAL_REGISTER + 1 ++ && REGNO (r1) == LAST_VIRTUAL_REGISTER + 2); ++ } + } + + static enum machine_mode +@@ -6307,8 +6859,89 @@ + /* .toe needs to have type @nobits. */ + if (strcmp (name, ".toe") == 0) + return SECTION_BSS; ++ if (strcmp (name, "._ea") == 0) ++ return SECTION_WRITE | SECTION_DEBUG; + return default_section_type_flags (decl, name, reloc); + } + ++const char * ++spu_addr_space_name (int addrspace) ++{ ++ gcc_assert (addrspace > 0 && addrspace <= 1); ++ return (spu_address_spaces [addrspace].name); ++} ++ ++static ++rtx (* spu_addr_space_conversion_rtl (int from, int to)) (rtx, rtx) ++{ ++ gcc_assert ((from == 0 && to == 1) || (from == 1 && to == 0)); ++ ++ if (to == 0) ++ return spu_address_spaces[1].to_generic_insn; ++ else if (to == 1) ++ return spu_address_spaces[1].from_generic_insn; ++ ++ return 0; ++} ++ ++static ++bool spu_valid_addr_space (const_tree value) ++{ ++ int i; ++ if (!value) ++ return false; ++ ++ for (i = 0; spu_address_spaces[i].name; i++) ++ if (strcmp (IDENTIFIER_POINTER (value), spu_address_spaces[i].name) == 0) ++ return true; ++ return false; ++} ++ ++static ++unsigned char spu_addr_space_number (tree ident) ++{ ++ int i; ++ if (!ident) ++ return 0; ++ ++ for (i = 0; spu_address_spaces[i].name; i++) ++ if (strcmp (IDENTIFIER_POINTER (ident), spu_address_spaces[i].name) == 0) ++ return i; ++ ++ gcc_unreachable (); ++} ++ ++/* Generate a constant or register which contains 2^SCALE. We assume ++ the result is valid for MODE. Currently, MODE must be V4SFmode and ++ SCALE must be SImode. */ ++rtx ++spu_gen_exp2 (enum machine_mode mode, rtx scale) ++{ ++ gcc_assert (mode == V4SFmode); ++ gcc_assert (GET_MODE (scale) == SImode || GET_CODE (scale) == CONST_INT); ++ if (GET_CODE (scale) != CONST_INT) ++ { ++ /* unsigned int exp = (127 + scale) << 23; ++ __vector float m = (__vector float) spu_splats (exp); */ ++ rtx reg = force_reg (SImode, scale); ++ rtx exp = gen_reg_rtx (SImode); ++ rtx mul = gen_reg_rtx (mode); ++ emit_insn (gen_addsi3 (exp, reg, GEN_INT (127))); ++ emit_insn (gen_ashlsi3 (exp, exp, GEN_INT (23))); ++ emit_insn (gen_spu_splats (mul, gen_rtx_SUBREG (GET_MODE_INNER (mode), exp, 0))); ++ return mul; ++ } ++ else ++ { ++ HOST_WIDE_INT exp = 127 + INTVAL (scale); ++ unsigned char arr[16]; ++ arr[0] = arr[4] = arr[8] = arr[12] = exp >> 1; ++ arr[1] = arr[5] = arr[9] = arr[13] = exp << 7; ++ arr[2] = arr[6] = arr[10] = arr[14] = 0; ++ arr[3] = arr[7] = arr[11] = arr[15] = 0; ++ return array_to_constant (mode, arr); ++ } ++} ++ + #include "gt-spu.h" + +Index: gcc/config/spu/spu.h +=================================================================== +--- gcc/config/spu/spu.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu.h (.../cell-4_3-branch) (revision 156810) +@@ -255,6 +255,11 @@ + #define INT_REG_OK_FOR_BASE_P(X,STRICT) \ + ((!(STRICT) || REGNO_OK_FOR_BASE_P (REGNO (X)))) + ++#define REG_ALIGN(X) \ ++ (REG_POINTER(X) \ ++ ? REGNO_POINTER_ALIGN (ORIGINAL_REGNO (X)) \ ++ : 0) ++ + #define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS) + + #define CLASS_MAX_NREGS(CLASS, MODE) \ +@@ -440,7 +445,7 @@ + #endif + + #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \ +- { if (spu_legitimate_address (MODE, X, REG_OK_STRICT_FLAG)) \ ++ { if (spu_legitimate_address (MODE, X, REG_OK_STRICT_FLAG, 0)) \ + goto ADDR; \ + } + +@@ -471,9 +476,9 @@ + + /* Sections */ + +-#define TEXT_SECTION_ASM_OP ".text" ++#define TEXT_SECTION_ASM_OP "\t.text" + +-#define DATA_SECTION_ASM_OP ".data" ++#define DATA_SECTION_ASM_OP "\t.data" + + #define JUMP_TABLES_IN_TEXT_SECTION 1 + +@@ -514,6 +519,17 @@ + #define ASM_OUTPUT_LABELREF(FILE, NAME) \ + asm_fprintf (FILE, "%U%s", default_strip_name_encoding (NAME)) + ++#define ASM_OUTPUT_SYMBOL_REF(FILE, X) \ ++ do \ ++ { \ ++ tree decl; \ ++ assemble_name (FILE, XSTR (X, 0)); \ ++ if ((decl = SYMBOL_REF_DECL (X)) != 0 \ ++ && TREE_CODE (decl) == VAR_DECL \ ++ && TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (decl)))) \ ++ fputs ("@ppu", FILE); \ ++ } while (0) ++ + + /* Instruction Output */ + #define REGISTER_NAMES \ +@@ -633,8 +649,14 @@ + conditional branches. */ + extern GTY(()) rtx spu_compare_op0; + extern GTY(()) rtx spu_compare_op1; ++extern GTY(()) rtx spu_expect_op0; ++extern GTY(()) rtx spu_expect_op1; + ++#define SPLIT_BEFORE_CSE2 1 + ++#define ADDRESSES_NEVER_TRAP 1 ++ ++ + /* Builtins. */ + + enum spu_builtin_type +Index: gcc/config/spu/spu-elf.h +=================================================================== +--- gcc/config/spu/spu-elf.h (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu-elf.h (.../cell-4_3-branch) (revision 156810) +@@ -66,10 +66,26 @@ + + #define EH_FRAME_IN_DATA_SECTION 1 + ++#define DRIVER_SELF_SPECS "\ ++ %{mcache-size=128 : -lgcc_cache128k ; \ ++ mcache-size=64 : -lgcc_cache64k ; \ ++ mcache-size=32 : -lgcc_cache32k ; \ ++ mcache-size=16 : -lgcc_cache16k ; \ ++ mcache-size=8 : -lgcc_cache8k ; \ ++ : -lgcc_cache64k } \ ++ %k libraries because ++ lgcc_cache* did not seem to work -- perhaps a bug in the specs ++ handling? */ ++#define LIB_SPEC "-( %{!shared:%{g*:-lg}} -lc -lgloss -) \ ++ %{lgcc_cachemgr*:-lgcc_cachemgr%*} \ ++ %{lgcc_cache128k} %{lgcc_cache64k} %{lgcc_cache32k} \ ++ %{lgcc_cache16k} %{lgcc_cache8k}" + + /* Turn off warnings in the assembler too. */ + #undef ASM_SPEC +Index: gcc/config/spu/constraints.md +=================================================================== +--- gcc/config/spu/constraints.md (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/constraints.md (.../cell-4_3-branch) (revision 156810) +@@ -16,8 +16,14 @@ + ;; . + + +-;; GCC standard constraints: g, i, m, n, o, p, r, s, E-H, I-P, V, X +-;; unused for SPU: E-H, L, Q, d, e, h, q, t-z ++;; ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ++;; GCC: ffffiiiiiiii x x x x xxxx xx ++;; SPU: xxxx xxx xxxx xxxx x xxx xx x xxx xx ++;; FREE: ffff i a a a a a aa aaa ++;; x - used ++;; a - available ++;; i - available for integer immediates ++;; f - available for floating point immediates + + ;; For most immediate constraints we have 3 variations to deal with the + ;; fact const_int has no mode. One variation treats const_int as 32 bit, +@@ -159,4 +165,15 @@ + && INTVAL (XEXP (op, 0)) >= 0 + && INTVAL (XEXP (op, 0)) <= 0x3ffff"))) + ++ ++;; Floating-point constant constraints. + ++(define_constraint "v" ++ "Floating point power of 2 with exponent in [0..127]" ++ (and (match_code "const_double,const_vector") ++ (match_test "exp2_immediate_p (op, VOIDmode, 0, 127)"))) ++ ++(define_constraint "w" ++ "Floating point power of 2 with exponent in [-126..0]" ++ (and (match_code "const_double,const_vector") ++ (match_test "exp2_immediate_p (op, VOIDmode, -126, 0)"))) +Index: gcc/config/spu/spu.md +=================================================================== +--- gcc/config/spu/spu.md (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/spu/spu.md (.../cell-4_3-branch) (revision 156810) +@@ -136,10 +136,6 @@ + (UNSPEC_HEQ 31) + (UNSPEC_HGT 32) + (UNSPEC_HLGT 33) +- (UNSPEC_CSFLT 34) +- (UNSPEC_CFLTS 35) +- (UNSPEC_CUFLT 36) +- (UNSPEC_CFLTU 37) + (UNSPEC_STOP 38) + (UNSPEC_STOPD 39) + (UNSPEC_SET_INTR 40) +@@ -226,6 +222,10 @@ + (DF "di") (V2DF "v2di")]) + (define_mode_attr F2I [(SF "SI") (V4SF "V4SI") + (DF "DI") (V2DF "V2DI")]) ++(define_mode_attr i2f [(SI "sf") (V4SI "v4sf") ++ (DI "df") (V2DI "v2df")]) ++(define_mode_attr I2F [(SI "SF") (V4SI "V4SF") ++ (DI "DF") (V2DI "V2DF")]) + + (define_mode_attr DF2I [(DF "SI") (V2DF "V2DI")]) + +@@ -273,8 +273,7 @@ + (define_split + [(set (match_operand 0 "spu_reg_operand") + (match_operand 1 "immediate_operand"))] +- +- "" ++ "split0_completed" + [(set (match_dup 0) + (high (match_dup 1))) + (set (match_dup 0) +@@ -311,9 +310,10 @@ + ;; move internal + + (define_insn "_mov" +- [(set (match_operand:MOV 0 "spu_nonimm_operand" "=r,r,r,r,r,m") ++ [(set (match_operand:MOV 0 "spu_dest_operand" "=r,r,r,r,r,m") + (match_operand:MOV 1 "spu_mov_operand" "r,A,f,j,m,r"))] +- "spu_valid_move (operands)" ++ "register_operand(operands[0], mode) ++ || register_operand(operands[1], mode)" + "@ + ori\t%0,%1,0 + il%s1\t%0,%S1 +@@ -331,9 +331,10 @@ + "iohl\t%0,%2@l") + + (define_insn "_movdi" +- [(set (match_operand:DI 0 "spu_nonimm_operand" "=r,r,r,r,r,m") ++ [(set (match_operand:DI 0 "spu_dest_operand" "=r,r,r,r,r,m") + (match_operand:DI 1 "spu_mov_operand" "r,a,f,k,m,r"))] +- "spu_valid_move (operands)" ++ "register_operand(operands[0], DImode) ++ || register_operand(operands[1], DImode)" + "@ + ori\t%0,%1,0 + il%d1\t%0,%D1 +@@ -344,9 +345,10 @@ + [(set_attr "type" "fx2,fx2,shuf,shuf,load,store")]) + + (define_insn "_movti" +- [(set (match_operand:TI 0 "spu_nonimm_operand" "=r,r,r,r,r,m") ++ [(set (match_operand:TI 0 "spu_dest_operand" "=r,r,r,r,r,m") + (match_operand:TI 1 "spu_mov_operand" "r,U,f,l,m,r"))] +- "spu_valid_move (operands)" ++ "register_operand(operands[0], TImode) ++ || register_operand(operands[1], TImode)" + "@ + ori\t%0,%1,0 + il%t1\t%0,%T1 +@@ -356,29 +358,25 @@ + stq%p0\t%1,%0" + [(set_attr "type" "fx2,fx2,shuf,shuf,load,store")]) + +-(define_insn_and_split "load" +- [(set (match_operand 0 "spu_reg_operand" "=r") +- (match_operand 1 "memory_operand" "m")) +- (clobber (match_operand:TI 2 "spu_reg_operand" "=&r")) +- (clobber (match_operand:SI 3 "spu_reg_operand" "=&r"))] +- "GET_MODE(operands[0]) == GET_MODE(operands[1])" +- "#" +- "" ++(define_split ++ [(set (match_operand 0 "spu_reg_operand") ++ (match_operand 1 "memory_operand"))] ++ "GET_MODE(operands[0]) == GET_MODE(operands[1]) && !split0_completed" + [(set (match_dup 0) + (match_dup 1))] +- { spu_split_load(operands); DONE; }) ++ { if (spu_split_load(operands)) ++ DONE; ++ }) + +-(define_insn_and_split "store" +- [(set (match_operand 0 "memory_operand" "=m") +- (match_operand 1 "spu_reg_operand" "r")) +- (clobber (match_operand:TI 2 "spu_reg_operand" "=&r")) +- (clobber (match_operand:TI 3 "spu_reg_operand" "=&r"))] +- "GET_MODE(operands[0]) == GET_MODE(operands[1])" +- "#" +- "" ++(define_split ++ [(set (match_operand 0 "memory_operand") ++ (match_operand 1 "spu_reg_operand"))] ++ "GET_MODE(operands[0]) == GET_MODE(operands[1]) && !split0_completed" + [(set (match_dup 0) + (match_dup 1))] +- { spu_split_store(operands); DONE; }) ++ { if (spu_split_store(operands)) ++ DONE; ++ }) + + ;; Operand 3 is the number of bytes. 1:b 2:h 4:w 8:d + +@@ -589,62 +587,83 @@ + + ;; float conversions + +-(define_insn "floatsisf2" +- [(set (match_operand:SF 0 "spu_reg_operand" "=r") +- (float:SF (match_operand:SI 1 "spu_reg_operand" "r")))] ++(define_insn "float2" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (float: (match_operand:VSI 1 "spu_reg_operand" "r")))] + "" + "csflt\t%0,%1,0" + [(set_attr "type" "fp7")]) + +-(define_insn "floatv4siv4sf2" +- [(set (match_operand:V4SF 0 "spu_reg_operand" "=r") +- (float:V4SF (match_operand:V4SI 1 "spu_reg_operand" "r")))] ++(define_insn "fix_trunc2" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (fix: (match_operand:VSF 1 "spu_reg_operand" "r")))] + "" +- "csflt\t%0,%1,0" ++ "cflts\t%0,%1,0" + [(set_attr "type" "fp7")]) + +-(define_insn "fix_truncsfsi2" +- [(set (match_operand:SI 0 "spu_reg_operand" "=r") +- (fix:SI (match_operand:SF 1 "spu_reg_operand" "r")))] ++(define_insn "floatuns2" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (unsigned_float: (match_operand:VSI 1 "spu_reg_operand" "r")))] + "" +- "cflts\t%0,%1,0" ++ "cuflt\t%0,%1,0" + [(set_attr "type" "fp7")]) + +-(define_insn "fix_truncv4sfv4si2" +- [(set (match_operand:V4SI 0 "spu_reg_operand" "=r") +- (fix:V4SI (match_operand:V4SF 1 "spu_reg_operand" "r")))] ++(define_insn "fixuns_trunc2" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (unsigned_fix: (match_operand:VSF 1 "spu_reg_operand" "r")))] + "" +- "cflts\t%0,%1,0" ++ "cfltu\t%0,%1,0" + [(set_attr "type" "fp7")]) + +-(define_insn "floatunssisf2" +- [(set (match_operand:SF 0 "spu_reg_operand" "=r") +- (unsigned_float:SF (match_operand:SI 1 "spu_reg_operand" "r")))] ++(define_insn "float2_mul" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (mult: (float: (match_operand:VSI 1 "spu_reg_operand" "r")) ++ (match_operand: 2 "spu_inv_exp2_operand" "w")))] + "" +- "cuflt\t%0,%1,0" ++ "csflt\t%0,%1,%w2" + [(set_attr "type" "fp7")]) + +-(define_insn "floatunsv4siv4sf2" +- [(set (match_operand:V4SF 0 "spu_reg_operand" "=r") +- (unsigned_float:V4SF (match_operand:V4SI 1 "spu_reg_operand" "r")))] ++(define_insn "float2_div" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (div: (float: (match_operand:VSI 1 "spu_reg_operand" "r")) ++ (match_operand: 2 "spu_exp2_operand" "v")))] + "" +- "cuflt\t%0,%1,0" ++ "csflt\t%0,%1,%v2" + [(set_attr "type" "fp7")]) + +-(define_insn "fixuns_truncsfsi2" +- [(set (match_operand:SI 0 "spu_reg_operand" "=r") +- (unsigned_fix:SI (match_operand:SF 1 "spu_reg_operand" "r")))] ++ ++(define_insn "fix_trunc2_mul" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (fix: (mult:VSF (match_operand:VSF 1 "spu_reg_operand" "r") ++ (match_operand:VSF 2 "spu_exp2_operand" "v"))))] + "" +- "cfltu\t%0,%1,0" ++ "cflts\t%0,%1,%v2" + [(set_attr "type" "fp7")]) + +-(define_insn "fixuns_truncv4sfv4si2" +- [(set (match_operand:V4SI 0 "spu_reg_operand" "=r") +- (unsigned_fix:V4SI (match_operand:V4SF 1 "spu_reg_operand" "r")))] ++(define_insn "floatuns2_mul" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (mult: (unsigned_float: (match_operand:VSI 1 "spu_reg_operand" "r")) ++ (match_operand: 2 "spu_inv_exp2_operand" "w")))] + "" +- "cfltu\t%0,%1,0" ++ "cuflt\t%0,%1,%w2" + [(set_attr "type" "fp7")]) + ++(define_insn "floatuns2_div" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (div: (unsigned_float: (match_operand:VSI 1 "spu_reg_operand" "r")) ++ (match_operand: 2 "spu_exp2_operand" "v")))] ++ "" ++ "cuflt\t%0,%1,%v2" ++ [(set_attr "type" "fp7")]) ++ ++(define_insn "fixuns_trunc2_mul" ++ [(set (match_operand: 0 "spu_reg_operand" "=r") ++ (unsigned_fix: (mult:VSF (match_operand:VSF 1 "spu_reg_operand" "r") ++ (match_operand:VSF 2 "spu_exp2_operand" "v"))))] ++ "" ++ "cfltu\t%0,%1,%v2" ++ [(set_attr "type" "fp7")]) ++ + (define_insn "extendsfdf2" + [(set (match_operand:DF 0 "spu_reg_operand" "=r") + (unspec:DF [(match_operand:SF 1 "spu_reg_operand" "r")] +@@ -1248,7 +1267,7 @@ + (use (match_operand: 2 "spu_reg_operand" "r"))] + "" + "#" +- "" ++ "split0_completed" + [(set (match_dup: 3) + (and: (match_dup: 4) + (match_dup: 2)))] +@@ -3621,6 +3640,41 @@ + "bi%b1%b0z\t%1,$lr" + [(set_attr "type" "br")]) + ++;; The following 2 variations are used when the using __builtin_expect ++;; with a non-constant second argument. They include a reference to a ++;; deleted label which will be placed immediately after the branch. ++(define_insn "expect_then" ++ [(set (pc) ++ (if_then_else (match_operator 1 "branch_comparison_operator" ++ [(match_operand 2 ++ "spu_reg_operand" "r") ++ (const_int 0)]) ++ (label_ref (match_operand 0 "" "")) ++ (pc))) ++ (use (match_operand 3 "" "")) ++ (use (match_operand 4 "" "")) ++ (use (match_operand 5 "" "")) ++ (clobber (reg:SI 130))] ++ "" ++ "br%b2%b1z\t%2,%0" ++ [(set_attr "type" "br")]) ++ ++(define_insn "expect_else" ++ [(set (pc) ++ (if_then_else (match_operator 1 "branch_comparison_operator" ++ [(match_operand 2 ++ "spu_reg_operand" "r") ++ (const_int 0)]) ++ (pc) ++ (label_ref (match_operand 0 "" "")))) ++ (use (match_operand 3 "" "")) ++ (use (match_operand 4 "" "")) ++ (use (match_operand 5 "" "")) ++ (clobber (reg:SI 130))] ++ "" ++ "br%b2%b1z\t%2,%0" ++ [(set_attr "type" "br")]) ++ + + ;; Compare insns are next. Note that the spu has two types of compares, + ;; signed & unsigned, and one type of branch. +@@ -4592,3 +4646,57 @@ + + DONE; + }") ++ ++(define_expand "to_ea" ++ [(use (match_operand 0 "" "")) ++ (use (match_operand 1 "" ""))] ++ "" ++{ ++ rtx ls_mem, op0, op1; ++ enum machine_mode mode = (spu_ea_model == 32) ? Pmode : DImode; ++ ++ ls_mem = gen_rtx_MEM (DImode, gen_rtx_SYMBOL_REF (Pmode, "__ea_local_store")); ++ ++ op0 = force_reg (mode, operands[0]); ++ op1 = force_reg (Pmode, operands[1]); ++ ++ if (mode == Pmode) ++ emit_insn (gen_addsi3 (op0, op1, force_reg (mode, gen_lowpart (mode, ls_mem)))); ++ else ++ { ++ rtx tmp = gen_reg_rtx (DImode); ++ emit_move_insn (tmp, gen_rtx_ZERO_EXTEND (DImode, op1)); ++ emit_insn (gen_adddi3 (op0, tmp, force_reg (mode, ls_mem))); ++ } ++ DONE; ++}) ++ ++(define_expand "from_ea" ++ [(use (match_operand 0 "" "")) ++ (use (match_operand 1 "" ""))] ++ "" ++{ ++ rtx ls_mem, ls, op0, op1, tmp; ++ enum machine_mode mode = (spu_ea_model == 32) ? Pmode : DImode; ++ ++ ls_mem = gen_rtx_MEM (DImode, gen_rtx_SYMBOL_REF (Pmode, "__ea_local_store")); ++ ls = force_reg (Pmode, gen_lowpart (Pmode, ls_mem)); ++ ++ op0 = force_reg (Pmode, operands[0]); ++ op1 = force_reg (mode, operands[1]); ++ tmp = (mode == Pmode) ? op1 : force_reg (Pmode, gen_lowpart (Pmode, op1)); ++ ++ emit_insn (gen_subsi3 (op0, tmp, ls)); ++ DONE; ++}) ++ ++;; Save the operands for use by spu_emit_branch_or_set ++(define_expand "builtin_expect" ++ [(use (match_operand:SI 0 "spu_reg_operand" "r")) ++ (use (match_operand:SI 1 "spu_reg_operand" "r"))] ++ "" ++ { ++ spu_expect_op0 = operands[0]; ++ spu_expect_op1 = operands[1]; ++ DONE; ++ }) +Index: gcc/config/rs6000/rs6000-c.c +=================================================================== +--- gcc/config/rs6000/rs6000-c.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/config/rs6000/rs6000-c.c (.../cell-4_3-branch) (revision 156810) +@@ -84,6 +84,149 @@ + #define builtin_define(TXT) cpp_define (pfile, TXT) + #define builtin_assert(TXT) cpp_assert (pfile, TXT) + ++/* Keep the AltiVec keywords handy for fast comparisons. */ ++static tree __vector_keyword; ++static tree vector_keyword; ++static tree __pixel_keyword; ++static tree pixel_keyword; ++static tree __bool_keyword; ++static tree bool_keyword; ++ ++/* Preserved across calls. */ ++static tree expand_bool_pixel; ++ ++static cpp_hashnode * ++altivec_categorize_keyword (const cpp_token *tok) ++{ ++ if (tok->type == CPP_NAME) ++ { ++ cpp_hashnode *ident = tok->val.node; ++ ++ if (ident == C_CPP_HASHNODE (vector_keyword) ++ || ident == C_CPP_HASHNODE (__vector_keyword)) ++ return C_CPP_HASHNODE (__vector_keyword); ++ ++ if (ident == C_CPP_HASHNODE (pixel_keyword) ++ || ident == C_CPP_HASHNODE (__pixel_keyword)) ++ return C_CPP_HASHNODE (__pixel_keyword); ++ ++ if (ident == C_CPP_HASHNODE (bool_keyword) ++ || ident == C_CPP_HASHNODE (__bool_keyword)) ++ return C_CPP_HASHNODE (__bool_keyword); ++ ++ return ident; ++ } ++ ++ return 0; ++} ++ ++static void ++init_vector_keywords (void) ++{ ++ /* Keywords without two leading underscores are context-sensitive, ++ and hence implemented as conditional macros, controlled by the ++ rs6000_macro_to_expand() function below. */ ++ ++ __vector_keyword = get_identifier ("__vector"); ++ C_CPP_HASHNODE (__vector_keyword)->flags |= NODE_CONDITIONAL; ++ ++ __pixel_keyword = get_identifier ("__pixel"); ++ C_CPP_HASHNODE (__pixel_keyword)->flags |= NODE_CONDITIONAL; ++ ++ __bool_keyword = get_identifier ("__bool"); ++ C_CPP_HASHNODE (__bool_keyword)->flags |= NODE_CONDITIONAL; ++ ++ vector_keyword = get_identifier ("vector"); ++ C_CPP_HASHNODE (vector_keyword)->flags |= NODE_CONDITIONAL; ++ ++ pixel_keyword = get_identifier ("pixel"); ++ C_CPP_HASHNODE (pixel_keyword)->flags |= NODE_CONDITIONAL; ++ ++ bool_keyword = get_identifier ("bool"); ++ C_CPP_HASHNODE (bool_keyword)->flags |= NODE_CONDITIONAL; ++} ++ ++/* Called to decide whether a conditional macro should be expanded. ++ Since we have exactly one such macro (i.e, 'vector'), we do not ++ need to examine the 'tok' parameter. */ ++ ++static cpp_hashnode * ++rs6000_macro_to_expand (cpp_reader *pfile, const cpp_token *tok) ++{ ++ cpp_hashnode *expand_this = tok->val.node; ++ cpp_hashnode *ident; ++ ++ ident = altivec_categorize_keyword (tok); ++ ++ if (ident == C_CPP_HASHNODE (__vector_keyword)) ++ { ++ tok = cpp_peek_token (pfile, 0); ++ ident = altivec_categorize_keyword (tok); ++ ++ if (ident == C_CPP_HASHNODE (__pixel_keyword)) ++ { ++ expand_this = C_CPP_HASHNODE (__vector_keyword); ++ expand_bool_pixel = __pixel_keyword; ++ } ++ else if (ident == C_CPP_HASHNODE (__bool_keyword)) ++ { ++ expand_this = C_CPP_HASHNODE (__vector_keyword); ++ expand_bool_pixel = __bool_keyword; ++ } ++ else if (ident) ++ { ++ enum rid rid_code = (enum rid)(ident->rid_code); ++ if (ident->type == NT_MACRO) ++ { ++ (void)cpp_get_token (pfile); ++ tok = cpp_peek_token (pfile, 0); ++ ident = altivec_categorize_keyword (tok); ++ if (ident) ++ rid_code = (enum rid)(ident->rid_code); ++ } ++ ++ if (rid_code == RID_UNSIGNED || rid_code == RID_LONG ++ || rid_code == RID_SHORT || rid_code == RID_SIGNED ++ || rid_code == RID_INT || rid_code == RID_CHAR ++ || rid_code == RID_FLOAT) ++ { ++ expand_this = C_CPP_HASHNODE (__vector_keyword); ++ /* If the next keyword is bool or pixel, it ++ will need to be expanded as well. */ ++ tok = cpp_peek_token (pfile, 1); ++ ident = altivec_categorize_keyword (tok); ++ ++ if (ident == C_CPP_HASHNODE (__pixel_keyword)) ++ expand_bool_pixel = __pixel_keyword; ++ else if (ident == C_CPP_HASHNODE (__bool_keyword)) ++ expand_bool_pixel = __bool_keyword; ++ else ++ { ++ /* Try two tokens down, too. */ ++ tok = cpp_peek_token (pfile, 2); ++ ident = altivec_categorize_keyword (tok); ++ if (ident == C_CPP_HASHNODE (__pixel_keyword)) ++ expand_bool_pixel = __pixel_keyword; ++ else if (ident == C_CPP_HASHNODE (__bool_keyword)) ++ expand_bool_pixel = __bool_keyword; ++ } ++ } ++ } ++ } ++ else if (expand_bool_pixel && ident == C_CPP_HASHNODE (__pixel_keyword)) ++ { ++ expand_this = C_CPP_HASHNODE (__pixel_keyword); ++ expand_bool_pixel = 0; ++ } ++ else if (expand_bool_pixel && ident == C_CPP_HASHNODE (__bool_keyword)) ++ { ++ expand_this = C_CPP_HASHNODE (__bool_keyword); ++ expand_bool_pixel = 0; ++ } ++ ++ return expand_this; ++} ++ + void + rs6000_cpu_cpp_builtins (cpp_reader *pfile) + { +@@ -120,6 +263,20 @@ + builtin_define ("__vector=__attribute__((altivec(vector__)))"); + builtin_define ("__pixel=__attribute__((altivec(pixel__))) unsigned short"); + builtin_define ("__bool=__attribute__((altivec(bool__))) unsigned"); ++ ++ if (!flag_iso) ++ { ++ /* Define this when supporting context-sensitive keywords. */ ++ builtin_define ("__APPLE_ALTIVEC__"); ++ ++ builtin_define ("vector=vector"); ++ builtin_define ("pixel=pixel"); ++ builtin_define ("bool=bool"); ++ init_vector_keywords (); ++ ++ /* Enable context-sensitive macros. */ ++ cpp_get_callbacks (pfile)->macro_to_expand = rs6000_macro_to_expand; ++ } + } + if (rs6000_cpu == PROCESSOR_CELL) + builtin_define ("__PPU__"); +Index: gcc/convert.c +=================================================================== +--- gcc/convert.c (.../gcc-4_3-branch) (revision 156795) ++++ gcc/convert.c (.../cell-4_3-branch) (revision 156810) +@@ -34,6 +34,7 @@ + #include "langhooks.h" + #include "real.h" + #include "fixed-value.h" ++#include "target.h" + + /* Convert EXPR to some pointer or reference type TYPE. + EXPR must be pointer, reference, integer, enumeral, or literal zero; +@@ -58,13 +59,18 @@ + case INTEGER_TYPE: + case ENUMERAL_TYPE: + case BOOLEAN_TYPE: +- if (TYPE_PRECISION (TREE_TYPE (expr)) != POINTER_SIZE) +- expr = fold_build1 (NOP_EXPR, +- lang_hooks.types.type_for_size (POINTER_SIZE, 0), +- expr); +- return fold_build1 (CONVERT_EXPR, type, expr); ++ { ++ int pointer_size = ++ TYPE_ADDR_SPACE (TREE_TYPE (type)) ++ ? GET_MODE_BITSIZE (targetm.addr_space_pointer_mode (TYPE_ADDR_SPACE (TREE_TYPE (type)))) ++ : POINTER_SIZE; + ++ if (TYPE_PRECISION (TREE_TYPE (expr)) != pointer_size) ++ expr = fold_build1 (NOP_EXPR, lang_hooks.types.type_for_size (pointer_size, 0), expr); ++ } ++ return fold_build1 (CONVERT_EXPR, type, expr); + ++ + default: + error ("cannot convert to a pointer type"); + return convert_to_pointer (type, integer_zero_node); +@@ -478,16 +484,26 @@ + { + case POINTER_TYPE: + case REFERENCE_TYPE: +- if (integer_zerop (expr)) +- return build_int_cst (type, 0); ++ { ++ int pointer_size; + +- /* Convert to an unsigned integer of the correct width first, +- and from there widen/truncate to the required type. */ +- expr = fold_build1 (CONVERT_EXPR, +- lang_hooks.types.type_for_size (POINTER_SIZE, 0), +- expr); +- return fold_convert (type, expr); ++ if (integer_zerop (expr)) ++ return build_int_cst (type, 0); + ++ /* Convert to an unsigned integer of the correct width first, ++ and from there widen/truncate to the required type. */ ++ pointer_size = ++ TYPE_ADDR_SPACE (TREE_TYPE (intype)) ++ ? GET_MODE_BITSIZE (targetm.addr_space_pointer_mode ++ (TYPE_ADDR_SPACE (strip_array_types (TREE_TYPE (intype))))) ++ : POINTER_SIZE; ++ ++ expr = fold_build1 (CONVERT_EXPR, ++ lang_hooks.types.type_for_size (pointer_size, 0), ++ expr); ++ return fold_build1 (NOP_EXPR, type, expr); ++ } ++ + case INTEGER_TYPE: + case ENUMERAL_TYPE: + case BOOLEAN_TYPE: +Index: ChangeLog.cell +=================================================================== +--- ChangeLog.cell (.../gcc-4_3-branch) (revision 0) ++++ ChangeLog.cell (.../cell-4_3-branch) (revision 156810) +@@ -0,0 +1,411 @@ ++2008-12-05 Ulrich Weigand ++ ++ * gcc/config/spu/spu.h (ADDRESSES_NEVER_TRAP): Define. ++ * gcc/rtlanal.c (rtx_addr_can_trap_p_1): Respect ADDRESSES_NEVER_TRAP. ++ * gcc/doc/tm.texi (ADDRESSES_NEVER_TRAP): Document. ++ ++ * gcc/config/spu/spu.c (spu_split_load): Trust MEM_ALIGN. When not ++ optimizing, do not split load unless necessary. ++ ++ * gcc/config/spu/spu.md ("_abs2"): Do not split in split0 pass. ++ ++2008-11-18 Trevor Smigiel ++ ++ Change constraint u to w to avoid conflict with a patch I have ++ not contributed yet. ++ ++ * gcc/config/spu/spu-builtins.md (spu_csflt, spu_cuflt, ++ spu_cflts, spu_cfltu): Change unspec code to 0 to avoid ++ warnings. ++ * gcc/config/spu/spu.c (print_operand): Change code u to w. ++ * gcc/config/spu/constraints.md (u): Change constraint u to w. ++ * gcc/config/spu/spu.md (float2_mul, ++ fix_trunc2_mul, floatuns2_mul, ++ fixuns_trunc2_mul): Change u to w. ++ ++2008-11-18 Trevor Smigiel ++ ++ Allow non-literal arguments for spu_convtf, spu_convtu and ++ spu_convts intrinsics. ++ ++ * gcc/config/spu/spu-protos.h (exp2_immediate_p, spu_gen_exp2): ++ Declare. ++ * gcc/config/spu/predicates.md (spu_inv_exp2_operand, ++ spu_exp2_operand): Define. ++ * gcc/config/spu/spu-builtins.def (SPU_CONVTS, SPU_CONVTU, ++ SPU_CONVTF_0, SPU_CONVTF_1): Change argument type. ++ * gcc/config/spu/spu-builtins.md (spu_csflt, spu_cuflt, ++ spu_cflts, spu_cfltu): Handle non-immediate in operand 2. ++ * gcc/config/spu/spu.c (print_operand): New codes u and v. ++ (exp2_immediate_p, spu_gen_exp2): Define. ++ * gcc/config/spu/spu.md (i2f, I2F): New mode_attr. ++ (floatsisf2, floatv4sisf2, fix_truncsisf2, fix_truncv4sisf2, ++ floatunssisf2, floatunsv4sisf2, fixuns_truncsisf2, ++ fixuns_truncv4sisf2): Redefine using mode macros. ++ (float2_mul, float2_div, ++ fix_trunc2_mul, floatuns2_mul, ++ floatuns2_div, fixuns_trunc2_mul): Define ++ * gcc/config/spu/constraints.md (u, v): New constraints. ++ ++2008-11-17 Trevor Smigiel ++ ++ Add aggressive conditional move optimizations. ++ ++ * gcc/ifcvt.c (aggressive_cmov, block_modifies_live_reg, ++ find_andif_orif_block): Declare. ++ (safe_to_transform_p, cost_effective_p, validate_remap_regs_1, ++ validate_remap_regs, remap_instructions, hoist_instructions, ++ mark_regs_in_rtx, copy_regs_in_rtx, noce_try_cmove_aggressive, ++ noce_process_andif_orif_block, find_andif_orif_block, ++ block_modifies_live_reg): Define. ++ (noce_find_if_block): Call noce_try_cmove_aggressive. ++ (find_if_header): Call find_andif_orif_block. ++ (if_convert): Proccess blocks in post order. ++ * gcc/common.opt (-faggressive-cmov): New option. ++ ++2008-09-22 Trevor Smigiel ++ ++ Use a better method to adjust hint labels on branches. ++ ++ * gcc/config/spu/spu.c (spu_emit_branch_or_set, ++ spu_emit_branch_hint, spu_machine_dependent_reorg): Emit hint ++ labels before branch and adjust offset after adding nops. ++ ++2008-09-10 Trevor Smigiel ++ ++ Support dynamic hints via __builtin_expect with a non-constant ++ second argument. ++ ++ * gcc/doc/md.texi (builtin_expect): Document new pattern. ++ * gcc/builtins.c (expand_builtin_expect): Handle target defined ++ builtin_expect. ++ * gcc/predict.c (strip_builtin_expect): Don't strip all the time ++ when the target provides builtin_expect. ++ * gcc/config/spu/spu.c (spu_expect_op0, spu_expect_op1): Define. ++ (spu_emit_branch_or_set): Handle spu_expect_op0 and spu_expect_op1. ++ (spu_emit_branch_hint): Handle dynamic hints. ++ (get_branch_target): Handle expect_then and expect_else rtl. ++ (insn_clobbers_hbr): Return true for hints. ++ (spu_machine_dependent_reorg): Reposition lables for hints. ++ * gcc/config/spu/spu.h (spu_expect_op0, spu_expect_op1): Declare. ++ * gcc/config/spu/spu.md (expect_then, expect_else, builtin_expect): ++ Declare. ++ ++2008-08-27 Trevor Smigiel ++ ++ Fix a bug caused by the previous change. ++ ++ * gcc/config/spu/spu.c (spu_init_expanders) : Pregenerate ++ a couple of pseudo-registers. ++ ++2008-08-27 Trevor Smigiel ++ ++ Improve code generated for loads and stores on SPU. ++ ++ * gcc/doc/tm.texi (SPLIT_BEFORE_CSE2) : Document. ++ * gcc/tree-pass.h (pass_split_before_cse2) : Declare. ++ * gcc/final.c (rest_of_clean_state) : Initialize split0_completed. ++ * gcc/testsuite/gcc.target/spu/split0-1.c : Add test. ++ * gcc/recog.c (split0_completed) : Define. ++ (gate_handle_split_before_cse2, rest_of_handle_split_before_cse2) : ++ New functions. ++ (pass_split_before_cse2) : New pass. ++ * gcc/rtl.h (split0_completed) : Declare. ++ * gcc/passes.c (init_optimization_passes) : Add ++ pass_split_before_cse2 before pass_cse2 . ++ * gcc/config/spu/spu-protos.h (spu_legitimate_address) : Add ++ for_split argument. ++ (aligned_mem_p, spu_valid_move) : Remove prototypes. ++ (spu_split_load, spu_split_store) : Change return type to int. ++ * gcc/config/spu/predicates.md (spu_mem_operand) : Remove. ++ (spu_dest_operand) : Add. ++ * gcc/config/spu/spu-builtins.md (spu_lqd, spu_lqx, spu_lqa, ++ spu_lqr, spu_stqd, spu_stqx, spu_stqa, spu_stqr) : Remove AND ++ operation. ++ * gcc/config/spu/spu.c (regno_aligned_for_load) : Remove. ++ (reg_aligned_for_addr, address_needs_split) : New functions. ++ (spu_legitimate_address, spu_expand_mov, spu_split_load, ++ spu_split_store) : Update. ++ * gcc/config/spu/spu.h (REG_ALIGN, SPLIT_BEFORE_CSE2) : Define. ++ (GO_IF_LEGITIMATE_ADDRESS) : Update for spu_legitimate_address. ++ * gcc/config/spu/spu.md ("_mov", "_movdi", "_movti") : Update ++ predicates. ++ ("load", "store") : Change to define_split. ++ ++2008-08-27 Ben Elliston ++ ++ * gcc/tree.h (check_qualified_type): Use CONST_CAST_TREE as ++ needed. ++ * gcc/langhooks.c (lhd_tree_dump_type_quals): Likewise. ++ * gcc/c-typeck.c (comptypes_internal): Likewise. ++ * gcc/cp/typeck.c (cp_type_quals): Likewise. ++ ++2008-08-26 Ben Elliston ++ ++ * gcc/config/spu/spu.c (spu_valid_addr_space): Take a ++ const_tree argument. ++ ++2008-08-26 Ben Elliston ++ Alan Modra ++ ++ * gcc/c-decl.c (start_decl): Set DECL_SECTION_NAME to "._ea" for ++ __ea variable definitions. ++ (grokdeclarator): Allow static and global __ea variable ++ definitions. ++ * gcc/config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define. ++ (spu_section_type_flags): New function. ++ (ea_symbol_ref): Convert to for_each_rtx predicate. ++ (spu_legitimate_constant_p): Reject __ea symbol refs wrapped in ++ const. ++ (spu_legitimate_address): Likewise. ++ * gcc/config/spu/spu.h (TEXT_SECTION_ASM_OP): Add a tab. ++ (DATA_SECTION_ASM_OP): Likewise. ++ * gcc/config/spu/spu.opt: Add -mall-ea. ++ * gcc/c-typeck.c (build_array_ref): Do not strip qualifiers from ++ the array element type. (PR 33726) ++ ++ * gcc/c-common.h (strip_array_types): Move declaration to.. ++ * gcc/tree.h: ..here. ++ (OTHER_ADDR_SPACE_POINTER_TYPE_P, ++ GENERIC_ADDR_SPACE_POINTER_TYPE_P, TYPE_QUALS): Invoke ++ strip_array_types on TYPE_ADDR_SPACE argument. ++ * gcc/c-objc-common.c (c_types_compatible_p): Likewise. ++ * gcc/config/spu/spu.h (ASM_OUTPUT_SYMBOL_REF): Likewise. ++ * gcc/config/spu/spu.c (ea_symbol_ref): Likewise. ++ * gcc/convert.c (convert_to_integer): Likewise. ++ * gcc/c-parser.c (c_parser_postfix_expression_after_paren_type): Ditto. ++ * gcc/dwarf2out.c (modified_type_die): Likewise. ++ * gcc/emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. ++ * gcc/varasm (make_decl_rtl): Likewise. ++ * gcc/tree.c (build_pointer_type): Likewise. ++ (strip_array_types): Move from here .. ++ * gcc/c-common.c: .. to here. ++ * gcc/testsuite/gcc.target/spu/ea/compile.c: Update test. ++ * gcc/testsuite/gcc.target/spu/ea/errors.c: Likewise. ++ * gcc/testsuite/gcc.target/spu/cache.c: Likewise. ++ ++2008-08-25 Ulrich Weigand ++ ++ * gcc/config/spu/cachemgr.c: Make interrupt safe and respect tag ++ mask policy. ++ ++2008-08-20 Ben Elliston ++ ++ Backport from FSF mainline: ++ 2008-08-20 Ben Elliston ++ ++ * c-decl.c: Include targhooks.h. ++ (shadow_tag_warned): Include declspecs->address_space. ++ (quals_from_declspecs): Encode address space number into quals. ++ (grokdeclarator): Warn about duplicate address space qualifiers. ++ Issue various diagnostics as specified by N1169. ++ (build_null_declspecs): Clear ret->address_space. ++ (declspecs_add_addrspace): New function. ++ * c-objc-common.c (c_types_compatible_p): Two types in different ++ address spaces are not compatible. ++ * c-parser.c (enum c_id_kind): Add C_ID_ADDRSPACE. ++ (c_lex_one_token): Set token->id_kind to C_ID_ADDRSPACE if the ++ token is a recognised address space. ++ (c_token_starts_typename): Return true for C_ID_ADDRSPACE. ++ (c_token_starts_declspecs): Likewise. ++ (c_parser_declspecs): Handle C_ID_ADDRSPACE. ++ (c_parser_postfix_expression_after_paren_type): Reject compound ++ literals qualified by an address space qualifier. ++ * c-pretty-print.c: Include target.h and target-def.h. ++ (pp_c_type_qualifier_list): Print address space if non-zero. ++ * c-tree.h (struct c_declspecs): Add address_space field. ++ * c-typeck.c (build_binary_op): If an operand is a pointer into ++ another address space, make the result of the comparison such a ++ pointer also. ++ * convert.c: Include target.h. ++ (convert_to_pointer): Use targetm.addr_space_pointer_mode to ++ calculate the width of a pointer. ++ (convert_to_integer): Likewise. ++ * dwarf2out.c (modified_type_die): Set the DW_AT_address_class ++ attribute to the address space number for pointer and reference ++ types, if the type is in a non-generic address space. ++ * emit-rtl.c (get_mem_attrs): Add address space parameter. ++ (set_mem_attributes_minus_bitpos, set_mem_attrs_from_reg, ++ set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset, ++ set_mem_size, change_address, adjust_address_1, offset_address, ++ widen_memory_access): Update all callers. ++ (set_mem_addr_space): New function. ++ * emit-rtl.h (set_mem_addr_space): Declare. ++ * explow.c (memory_address): Only convert memory addresses to ++ Pmode if they are not valid pointer modes. ++ * expr.c (expand_expr_addr_expr): Do not assume the target mode is ++ Pmode. ++ (expand_expr_real_1): Handle casts of pointers to/from non-generic ++ address spaces. ++ * fold-const.c (fit_double_type): Do not assume the type precision ++ of a pointer is POINTER_SIZE. ++ (fold_convert_const): Return NULL_TREE for non-generic pointers. ++ * output.h (default_addr_space_pointer_mode): Declare. ++ * print-rtl.c (print_rtx): Output the address space number, if ++ non-zero. ++ * rtl.h (struct mem_attrs): Add addrspace field. ++ (MEM_ADDR_SPACE): New macro. ++ * target-def.h (TARGET_ADDR_SPACE_POINTER_MODE): New target hook. ++ (TARGET_ADDR_SPACE_NAME): Likewise. ++ (TARGET_ADDR_SPACE_NUMBER): Likewise. ++ (TARGET_ADDR_SPACE_CONVERSION_RTL): Likewise. ++ (TARGET_VALID_ADDR_SPACE): Likewise. ++ (TARGET_INITIALIZER): Incorporate the hooks above. ++ * target.h (struct gcc_target): Add addr_space_pointer_mode, ++ addr_space_name, addr_space_number, addr_space_conversion_rtl, ++ valid_addr_space callbacks. ++ * targhooks.h (default_addr_space_name): Declare. ++ (default_addr_space_number): Likewise. ++ (default_addr_space_conversion_rtl): Likewise. ++ * targhooks.c (default_addr_space_name): New. ++ (default_addr_space_conversion_rtl): Likewise. ++ (default_addr_space_number): Likewise. ++ * tree-pretty-print.c: Include target.h and target-def.h. ++ (dump_generic_node): Output address space information. ++ * tree-ssa-loop-ivopts.c (generic_type_for): If the pointer ++ belongs to another address space, include that qualification in ++ the type for the pointer returned. ++ * tree-ssa.c (useless_type_conversion_p_1): Casts between pointers ++ in different address spaces are never useless. ++ (useless_type_conversion_p): Casts between two generic void ++ pointers are useless. ++ * tree.c (integer_pow2p): Handle non-generic pointer sizes. ++ (tree_log2): Likewise. ++ (tree_floor_log2): Likewise. ++ (set_type_quals): Set TYPE_ADDR_SPACE. ++ (build_pointer_type): Do not assume pointers are ptr_mode. ++ * tree.h (OTHER_ADDR_SPACE_POINTER): New macro. ++ (GENERIC_ADDR_SPACE_POINTER): Likewise. ++ (TYPE_ADDR_SPACE): Likewise. ++ (ENCODE_QUAL_ADDR_SPACE): Likewise. ++ (DECODE_QUAL_ADDR_SPACE): Likewise. ++ (TYPE_QUALS): Encode the address space in the qualifiers. ++ (struct tree_type): Add address_space field. ++ * varasm.c (make_decl_rtl): Use the address space pointer mode, ++ not necessarily Pmode. ++ (default_addr_space_pointer_mode): New function. ++ * doc/extend.texi (Named Address Spaces): New node. ++ * doc/rtl.texi (Special Accessors): Document MEM_ADDR_SPACE. ++ * doc/tm.texi (Misc): Document these new target hooks. ++ ++ * config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers. ++ * config/spu/spu-c.c (spu_cpu_cpp_builtins): Define __EA32__ or ++ __EA64__, depending on the ea pointer size. * ++ * config/spu/spu-elf.h (DRIVER_SELF_SPECS): Link the right ++ gcc_cache library depending on the -mcache-size and ++ -matomic-updates option given. ++ (LIB_SPEC): Link gcc_cachemgr library. ++ * config/spu/spu.c (struct spu_address_space): New. ++ (spu_address_spaces): New table. ++ (TARGET_ADDR_SPACE_POINTER_MODE): Define. ++ (TARGET_ADDR_SPACE_NUMBER): Likewise. ++ (TARGET_ADDR_SPACE_CONVERSION_RTL): Likewise. ++ (TARGET_VALID_POINTER_MODE): Likewise. ++ (TARGET_VALID_ADDR_SPACE): Likewise. ++ (TARGET_ASM_UNALIGNED_DI_OP): Remove. ++ (TARGET_ASM_ALIGNED_DI_OP): Define instead. ++ (ea_symbol_ref): New. ++ (spu_legitimate_constant_p): Reject __ea qualified references. ++ (spu_legitimate_address): Keep __ea references until reload. ++ (EAmode): Define. ++ (cache_fetch, cache_fetch_dirty, ea_alias_set): New variables. ++ (ea_load_store): New function. ++ (ea_load_store_inline): Likewise. ++ (expand_ea_mem): Likewise. ++ (spu_expand_mov): Handle __ea memory operands. ++ (spu_ea_pointer_mode): New function. ++ (spu_valid_pointer_mode): Likewise. ++ (spu_addr_space_name): Likewise. ++ (spu_addr_space_conversion_rtl): Likewise. ++ (spu_valid_addr_space): Likewise. ++ (spu_addr_space_number): Likewise. ++ * config/spu/spu.h (ASM_OUTPUT_SYMBOL_REF): New macro. ++ * config/spu/spu.md (to_ea): New expander. ++ (from_ea): Likewise. ++ * config/spu/spu.opt (mea32, mea64): New options. ++ * config/spu/spu_mfcio.h: New typedef. ++ * config/spu/t-spu-elf (MULTILIB_OPTIONS): Add mea64. ++ (EXTRA_MULTILIB_PARTS): Add cache libraries. ++ (cachemgr.o, %/cachemgr.o): New targets. ++ (cachemgr_nonatomic.o, %/cachemgr_nonatomic.o): Likewise. ++ (libgcc_%.a, %/libgcc_%.a): Likewise. ++ (cache8k.o, cache16k.o, cache32k.o, etc): Likewise. ++ (%/cache8k.o, %/cache16k.o, %/cache32k.o, etc): Likewise. ++ * config/spu/cache.S: New file. ++ * config/spu/cachemgr.c: Likewise. ++ * config/spu/spu_cache.h: Likewise. ++ * doc/invoke.texi (SPU Options): Document -mea32, -mea64, ++ -mcache-size and -matomic-updates options. ++ ++2008-07-24 Ben Elliston ++ ++ * gcc/config/spu/spu-c.c: Move GTY markers to match the precedent. ++ ++2008-07-23 Ben Elliston ++ ++ Backport from mainline: ++ ++ 2008-07-23 Ben Elliston ++ ++ * gcc/config/spu/spu-c.c (__vector_keyword): New variable. ++ (vector_keyword): Likewise. ++ (spu_categorize_keyword): New function. ++ (spu_macro_to_expand): Likewise. ++ (spu_cpu_cpp_builtins): Enable context-sensitive macros if not ++ compiling an ISO C dialect. ++ ++ 2008-07-23 Ben Elliston ++ ++ * gcc/testsuite/gcc.target/spu/vector.c: New test. ++ * gcc/testsuite/gcc.target/spu/vector-ansi.c: Likewise. ++ ++2008-07-21 Ben Elliston ++ ++ Backport from mainline: ++ ++ 2008-07-14 Ben Elliston ++ ++ * gcc/c-common.h (C_CPP_HASHNODE): New macro. ++ * gcc/coretypes.h (struct cpp_token): Forward declare. ++ * gcc/doc/extend.texi (PowerPC AltiVec Built-in Functions): Document ++ the context-sensitive keyword method. ++ * gcc/config/rs6000/rs6000-c.c (__vector_keyword, vector_keyword, ++ __pixel_keyword, pixel_keyword, __bool_keyword, bool_keyword, ++ expand_bool_pixel): New. ++ (altivec_categorize_keyword): New function. ++ (init_vector_keywords): New function. ++ (rs6000_macro_to_expand): Likewise. ++ (rs6000_cpu_cpp_builtins): Enable context-sensitive macros if not ++ compiling an ISO C dialect. ++ ++ 2008-07-14 Ben Elliston ++ ++ * gcc/testsuite/gcc.target/powerpc/altivec-macros.c: New test. ++ * gcc/testsuite/gcc.target/powerpc/altviec-26.c: Likewise. ++ * gcc/testsuite/gcc.dg/vmx/1b-06.c: Remove bool variable. ++ * gcc/testsuite/gcc.dg/vmx/1b-07.c: Likewise. ++ * gcc/testsuite/gcc.dg/vmx/1b-06-ansi.c: New test for the pre-define ++ method. ++ * gcc/testsuite/gcc.dg/vmx/1b-07-ansi.c: Likewise. ++ ++ 2008-07-14 Ben Elliston ++ ++ * libcpp/include/cpplib.h (NODE_CONDITIONAL): New. ++ (struct cpp_callbacks): New macro_to_expand field. ++ (struct cpp_hashnode): Adjust size of flags and type fields. ++ (cpp_peek_token): Prototype. ++ * libcpp/lex.c (cpp_peek_token): New function. ++ (_cpp_temp_token): Protect pre-existing lookaheads. ++ * libcpp/macro.c (cpp_get_token): Expand any conditional macros. ++ (_cpp_backup_tokens_direct): New. ++ (_cpp_backup_tokens): Call _cpp_backup_tokens_direct. ++ (warn_of_redefinition): Silently allow redefined conditional ++ macros. ++ (_cpp_create_definition): Remove the conditional flag when a user ++ defines one of the conditional macros. ++ * libcpp/internal.h (_cpp_backup_tokens_direct): New prototype. ++ ++2008-05-20 Ulrich Weigand ++ ++ * Created "cell-4_3-branch". ++ +Index: libcpp/macro.c +=================================================================== +--- libcpp/macro.c (.../gcc-4_3-branch) (revision 156795) ++++ libcpp/macro.c (.../cell-4_3-branch) (revision 156810) +@@ -1224,16 +1224,21 @@ + + if (!(node->flags & NODE_DISABLED)) + { +- int ret; ++ int ret = 0; + /* If not in a macro context, and we're going to start an + expansion, record the location. */ + if (can_set && !context->macro) + pfile->invocation_location = result->src_loc; + if (pfile->state.prevent_expansion) + break; +- ret = enter_macro_context (pfile, node, result); +- if (ret) +- { ++ ++ /* Conditional macros require that a predicate be evaluated ++ first. */ ++ if (((!(node->flags & NODE_CONDITIONAL)) ++ || (pfile->cb.macro_to_expand ++ && (node = pfile->cb.macro_to_expand (pfile, result)))) ++ && (ret = enter_macro_context (pfile, node, result))) ++ { + if (pfile->state.in_directive || ret == 2) + continue; + return padding_token (pfile, result); +@@ -1311,26 +1316,31 @@ + pfile->state.prevent_expansion--; + } + ++/* Step back one or more tokens obtained from the lexer. */ ++void ++_cpp_backup_tokens_direct (cpp_reader *pfile, unsigned int count) ++{ ++ pfile->lookaheads += count; ++ while (count--) ++ { ++ pfile->cur_token--; ++ if (pfile->cur_token == pfile->cur_run->base ++ /* Possible with -fpreprocessed and no leading #line. */ ++ && pfile->cur_run->prev != NULL) ++ { ++ pfile->cur_run = pfile->cur_run->prev; ++ pfile->cur_token = pfile->cur_run->limit; ++ } ++ } ++} ++ + /* Step back one (or more) tokens. Can only step back more than 1 if + they are from the lexer, and not from macro expansion. */ + void + _cpp_backup_tokens (cpp_reader *pfile, unsigned int count) + { + if (pfile->context->prev == NULL) +- { +- pfile->lookaheads += count; +- while (count--) +- { +- pfile->cur_token--; +- if (pfile->cur_token == pfile->cur_run->base +- /* Possible with -fpreprocessed and no leading #line. */ +- && pfile->cur_run->prev != NULL) +- { +- pfile->cur_run = pfile->cur_run->prev; +- pfile->cur_token = pfile->cur_run->limit; +- } +- } +- } ++ _cpp_backup_tokens_direct (pfile, count); + else + { + if (count != 1) +@@ -1356,6 +1366,11 @@ + if (node->flags & NODE_WARN) + return true; + ++ /* Redefinitions of conditional (context-sensitive) macros, on ++ the other hand, must be allowed silently. */ ++ if (node->flags & NODE_CONDITIONAL) ++ return false; ++ + /* Redefinition of a macro is allowed if and only if the old and new + definitions are the same. (6.10.3 paragraph 2). */ + macro1 = node->value.macro; +@@ -1788,6 +1803,10 @@ + && ustrcmp (NODE_NAME (node), (const uchar *) "__STDC_CONSTANT_MACROS")) + node->flags |= NODE_WARN; + ++ /* If user defines one of the conditional macros, remove the ++ conditional flag */ ++ node->flags &= ~NODE_CONDITIONAL; ++ + return ok; + } + +Index: libcpp/include/cpplib.h +=================================================================== +--- libcpp/include/cpplib.h (.../gcc-4_3-branch) (revision 156795) ++++ libcpp/include/cpplib.h (.../cell-4_3-branch) (revision 156810) +@@ -476,6 +476,10 @@ + void (*read_pch) (cpp_reader *, const char *, int, const char *); + missing_header_cb missing_header; + ++ /* Context-sensitive macro support. Returns macro (if any) that should ++ be expanded. */ ++ cpp_hashnode * (*macro_to_expand) (cpp_reader *, const cpp_token *); ++ + /* Called to emit a diagnostic if client_diagnostic option is true. + This callback receives the translated message. */ + void (*error) (cpp_reader *, int, const char *, va_list *) +@@ -537,6 +541,7 @@ + #define NODE_WARN (1 << 4) /* Warn if redefined or undefined. */ + #define NODE_DISABLED (1 << 5) /* A disabled macro. */ + #define NODE_MACRO_ARG (1 << 6) /* Used during #define processing. */ ++#define NODE_CONDITIONAL (1 << 7) /* Conditional macro */ + + /* Different flavors of hash node. */ + enum node_type +@@ -696,6 +701,7 @@ + extern const unsigned char *cpp_macro_definition (cpp_reader *, + const cpp_hashnode *); + extern void _cpp_backup_tokens (cpp_reader *, unsigned int); ++extern const cpp_token *cpp_peek_token (cpp_reader *, int); + + /* Evaluate a CPP_CHAR or CPP_WCHAR token. */ + extern cppchar_t cpp_interpret_charconst (cpp_reader *, const cpp_token *, +Index: libcpp/internal.h +=================================================================== +--- libcpp/internal.h (.../gcc-4_3-branch) (revision 156795) ++++ libcpp/internal.h (.../cell-4_3-branch) (revision 156810) +@@ -527,6 +527,7 @@ + extern int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *); + extern void _cpp_push_token_context (cpp_reader *, cpp_hashnode *, + const cpp_token *, unsigned int); ++extern void _cpp_backup_tokens_direct (cpp_reader *, unsigned int); + + /* In identifiers.c */ + extern void _cpp_init_hashtable (cpp_reader *, hash_table *); +Index: libcpp/lex.c +=================================================================== +--- libcpp/lex.c (.../gcc-4_3-branch) (revision 156795) ++++ libcpp/lex.c (.../cell-4_3-branch) (revision 156810) +@@ -730,6 +730,49 @@ + return run->next; + } + ++/* Look ahead in the input stream. */ ++const cpp_token * ++cpp_peek_token (cpp_reader *pfile, int index) ++{ ++ cpp_context *context = pfile->context; ++ const cpp_token *peektok; ++ int count; ++ ++ /* First, scan through any pending cpp_context objects. */ ++ while (context->prev) ++ { ++ ptrdiff_t sz = (context->direct_p ++ ? LAST (context).token - FIRST (context).token ++ : LAST (context).ptoken - FIRST (context).ptoken); ++ ++ if (index < (int) sz) ++ return (context->direct_p ++ ? FIRST (context).token + index ++ : *(FIRST (context).ptoken + index)); ++ ++ index -= (int) sz; ++ context = context->prev; ++ } ++ ++ /* We will have to read some new tokens after all (and do so ++ without invalidating preceding tokens). */ ++ count = index; ++ pfile->keep_tokens++; ++ ++ do ++ { ++ peektok = _cpp_lex_token (pfile); ++ if (peektok->type == CPP_EOF) ++ return peektok; ++ } ++ while (index--); ++ ++ _cpp_backup_tokens_direct (pfile, count + 1); ++ pfile->keep_tokens--; ++ ++ return peektok; ++} ++ + /* Allocate a single token that is invalidated at the same time as the + rest of the tokens on the line. Has its line and col set to the + same as the last lexed token, so that diagnostics appear in the +@@ -738,10 +781,31 @@ + _cpp_temp_token (cpp_reader *pfile) + { + cpp_token *old, *result; ++ ptrdiff_t sz = pfile->cur_run->limit - pfile->cur_token; ++ ptrdiff_t la = (ptrdiff_t) pfile->lookaheads; + + old = pfile->cur_token - 1; +- if (pfile->cur_token == pfile->cur_run->limit) ++ /* Any pre-existing lookaheads must not be clobbered. */ ++ if (la) + { ++ if (sz <= la) ++ { ++ tokenrun *next = next_tokenrun (pfile->cur_run); ++ ++ if (sz < la) ++ memmove (next->base + 1, next->base, ++ (la - sz) * sizeof (cpp_token)); ++ ++ next->base[0] = pfile->cur_run->limit[-1]; ++ } ++ ++ if (sz > 1) ++ memmove (pfile->cur_token + 1, pfile->cur_token, ++ MIN (la, sz - 1) * sizeof (cpp_token)); ++ } ++ ++ if (!sz && pfile->cur_token == pfile->cur_run->limit) ++ { + pfile->cur_run = next_tokenrun (pfile->cur_run); + pfile->cur_token = pfile->cur_run->base; + } + --- gcc-4.3-4.3.4.orig/debian/patches/libjava-disable-static.dpatch +++ gcc-4.3-4.3.4/debian/patches/libjava-disable-static.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e + +# DP: Disable building the static libjava. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- Makefile.in~ 2007-03-26 10:44:16.881179540 +0200 ++++ Makefile.in 2007-03-26 10:48:27.564961048 +0200 +@@ -43901,7 +43901,7 @@ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ +- --target=${target_alias} $${srcdiroption} \ ++ --target=${target_alias} --disable-static $${srcdiroption} \ + || exit 1 + @endif target-libjava + +@@ -44783,7 +44783,7 @@ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ +- --target=${target_alias} $${srcdiroption} \ ++ --target=${target_alias} --disable-static $${srcdiroption} \ + || exit 1 + @endif target-boehm-gc + --- gcc-4.3-4.3.4.orig/debian/patches/gpc-4.1.dpatch +++ gcc-4.3-4.3.4/debian/patches/gpc-4.1.dpatch @@ -0,0 +1,28 @@ +#! /bin/sh -e + +# DP: GPC updates for GCC 4.1.2 + +dir=gcc/ +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3/gcc" + dir="$3/gcc/" +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 && autoconf2.59 + ;; + -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 + +Not yet available for GCC-4.3 --- gcc-4.3-4.3.4.orig/debian/patches/pr28102.dpatch +++ gcc-4.3-4.3.4/debian/patches/pr28102.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e + +# DP: Apply proposed fix for PR target/28102. + +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 -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2006-07-15 Alfred M. Szmidt + + * config/i386/gnu.h (TARGET_C99_FUNCTIONS): Undefine macro. + +Index: gcc/config/i386/gnu.h +=================================================================== +--- gcc/config/i386/gnu.h (revision 115472) ++++ gcc/config/i386/gnu.h (working copy) +@@ -36,3 +36,9 @@ + + /* FIXME: Is a Hurd-specific fallback mechanism necessary? */ + #undef MD_UNWIND_SUPPORT ++ ++/* config.gcc includes i386/linux.h. */ ++#undef TARGET_C99_FUNCTIONS ++#define TARGET_C99_FUNCTIONS 1 ++#undef TARGET_HAS_SINCOS ++#define TARGET_HAS_SINCOS 1 + + --- gcc-4.3-4.3.4.orig/debian/patches/svn-doc-updates.dpatch +++ gcc-4.3-4.3.4/debian/patches/svn-doc-updates.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# DP: updates from the 4.3 branch upto 2009xxxx (documentation). + +last_updated() +{ + cat > ${dir}LAST_UPDATED <&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + last_updated + #cd ${dir}gcc && autoconf2.59 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_4_3_4_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch \ +# | awk '/^Index:.*\.texi/ {skip=0; print; next} /^Index:/ {skip=1; next} skip==0' + --- gcc-4.3-4.3.4.orig/debian/rules.d/binary-spu.mk +++ gcc-4.3-4.3.4/debian/rules.d/binary-spu.mk @@ -0,0 +1,160 @@ +arch_binaries := $(arch_binaries) spu spu-cxx spu-fortran + +p_spugcc = gcc$(pkg_ver)-spu +p_spucxx = g++$(pkg_ver)-spu +p_spuf95 = gfortran$(pkg_ver)-spu + +d_spugcc = debian/$(p_spugcc) +d_spucxx = debian/$(p_spucxx) +d_spuf95 = debian/$(p_spuf95) + +dirs_spugcc = \ + $(PF)/bin \ + $(gcc_spu_lexec_dir) \ + $(gcc_spu_lib_dir) \ + +files_spugcc = \ + $(PF)/bin/spu-{cpp,gcc}$(pkg_ver) \ + $(gcc_spu_lexec_dir)/{cc1,collect2} \ + $(gcc_spu_lib_dir)/{include,include-fixed} \ + $(gcc_spu_lib_dir)/{libgcc.a,libgcov.a,crtbegin.o,crtend.o} \ + +ifeq ($(with_spucache),yes) + files_spugcc += \ + $(gcc_spu_lib_dir)/libgcc_cache*.a + ifeq ($(with_spumea64),yes) + files_spugcc += \ + $(gcc_spu_lib_dir)/mea64/libgcc_cache*.a + endif +endif +ifeq ($(with_spumea64),yes) + files_spugcc += \ + $(gcc_spu_lib_dir)/mea64/{libgcc.a,libgcov.a,crtbegin.o,crtend.o} +endif + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_spugcc += \ + $(PF)/share/man/man1/spu-{cpp,gcc}$(pkg_ver).1 +endif + +dirs_spucxx = \ + $(PF)/bin \ + $(gcc_spu_lexec_dir) \ + $(gcc_spu_lib_dir) \ + +files_spucxx = \ + $(PF)/bin/spu-g++$(pkg_ver) \ + $(gcc_spu_lexec_dir)/cc1plus \ + $(PF)/spu/include/c++ \ + $(PF)/spu/lib/{libsupc++,libstdc++}.a \ + +ifeq ($(with_spumea64),yes) + files_spucxx += \ + $(PF)/spu/lib/mea64/{libsupc++,libstdc++}.a +endif + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_spucxx += \ + $(PF)/share/man/man1/spu-g++$(pkg_ver).1 +endif + +dirs_spuf95 = \ + $(PF)/bin \ + $(gcc_spu_lexec_dir) \ + $(gcc_spu_lib_dir) \ + +files_spuf95 = \ + $(PF)/bin/spu-gfortran$(pkg_ver) \ + $(gcc_spu_lexec_dir)/f951 \ + $(gcc_spu_lib_dir)/finclude \ + $(gcc_spu_lib_dir)/libgfortranbegin.a \ + $(PF)/spu/lib/libgfortran.a \ + +ifeq ($(with_spumea64),yes) + files_spuf95 += \ + $(gcc_spu_lib_dir)/mea64/libgfortranbegin.a \ + $(PF)/spu/lib/mea64/libgfortran.a +endif + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_spuf95 += \ + $(PF)/share/man/man1/spu-gfortran$(pkg_ver).1 +endif + +# ---------------------------------------------------------------------- +$(binary_stamp)-spu: $(install_spu_stamp) + dh_testdir + dh_testroot + + mv $(install_spu_stamp) $(install_spu_stamp)-tmp + + dh_installdirs -p$(p_spugcc) $(dirs_spugcc) + DH_COMPAT=2 dh_movefiles --sourcedir=$(d_spu) -p$(p_spugcc) $(files_spugcc) + + debian/dh_doclink -p$(p_spugcc) $(p_base) + debian/dh_rmemptydirs -p$(p_spugcc) + + -dh_strip -p$(p_spugcc) -X.o -Xlibgcc.a -Xlibgcov.a + dh_compress -p$(p_spugcc) + dh_fixperms -p$(p_spugcc) + dh_shlibdeps -p$(p_spugcc) + dh_gencontrol -p$(p_spugcc) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_spugcc) + dh_md5sums -p$(p_spugcc) + dh_builddeb -p$(p_spugcc) + + trap '' 1 2 3 15; touch $@; mv $(install_spu_stamp)-tmp $(install_spu_stamp) + +$(binary_stamp)-spu-cxx: $(install_spu_stamp) + dh_testdir + dh_testroot + + mv $(install_spu_stamp) $(install_spu_stamp)-tmp + + dh_installdirs -p$(p_spucxx) $(dirs_spucxx) + DH_COMPAT=2 dh_movefiles --sourcedir=$(d_spu) -p$(p_spucxx) $(files_spucxx) + + mv $(d_spucxx)/usr/spu/include/c++/$(GCC_VERSION) \ + $(d_spucxx)/usr/spu/include/c++/$(BASE_VERSION) + ln -sf $(BASE_VERSION) $(d_spucxx)/usr/spu/include/c++/$(GCC_VERSION) + + debian/dh_doclink -p$(p_spucxx) $(p_base) + debian/dh_rmemptydirs -p$(p_spucxx) + + -dh_strip -p$(p_spucxx) + dh_compress -p$(p_spucxx) + dh_fixperms -p$(p_spucxx) + dh_shlibdeps -p$(p_spucxx) + dh_gencontrol -p$(p_spucxx) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_spucxx) + dh_md5sums -p$(p_spucxx) + dh_builddeb -p$(p_spucxx) + + trap '' 1 2 3 15; touch $@; mv $(install_spu_stamp)-tmp $(install_spu_stamp) + +$(binary_stamp)-spu-fortran: $(install_spu_stamp) + dh_testdir + dh_testroot + + mv $(install_spu_stamp) $(install_spu_stamp)-tmp + + dh_installdirs -p$(p_spuf95) $(dirs_spuf95) + DH_COMPAT=2 dh_movefiles --sourcedir=$(d_spu) -p$(p_spuf95) $(files_spuf95) + + debian/dh_doclink -p$(p_spuf95) $(p_base) + debian/dh_rmemptydirs -p$(p_spuf95) + + -dh_strip -p$(p_spuf95) + dh_compress -p$(p_spuf95) + dh_fixperms -p$(p_spuf95) + dh_shlibdeps -p$(p_spuf95) + dh_gencontrol -p$(p_spuf95) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_spuf95) + dh_md5sums -p$(p_spuf95) + dh_builddeb -p$(p_spuf95) + + @echo "Listing installed files not included in any package:" + -find $(d_spu) ! -type d + + trap '' 1 2 3 15; touch $@; mv $(install_spu_stamp)-tmp $(install_spu_stamp) + touch $@ --- gcc-4.3-4.3.4.orig/debian/rules.d/binary-cpp.mk +++ gcc-4.3-4.3.4/debian/rules.d/binary-cpp.mk @@ -0,0 +1,80 @@ +arch_binaries := $(arch_binaries) cpp +ifneq ($(GFDL_INVARIANT_FREE),yes) + indep_binaries := $(indep_binaries) cpp-doc +endif + +dirs_cpp = \ + $(docdir) \ + $(PF)/share/man/man1 \ + $(PF)/bin + +files_cpp = \ + $(PF)/bin/cpp$(pkg_ver) \ + $(gcc_lexec_dir)/cc1 + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_cpp += \ + $(PF)/share/man/man1/cpp$(pkg_ver).1 +endif + +# ---------------------------------------------------------------------- +$(binary_stamp)-cpp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cpp) + dh_installdirs -p$(p_cpp) $(dirs_cpp) + DH_COMPAT=2 dh_movefiles -p$(p_cpp) $(files_cpp) + + ln -sf cpp$(pkg_ver) \ + $(d_cpp)/$(PF)/bin/$(DEB_TARGET_GNU_TYPE)-cpp$(pkg_ver) + ln -sf cpp$(pkg_ver) \ + $(d_cpp)/$(PF)/bin/$(TARGET_ALIAS)-cpp$(pkg_ver) +ifneq ($(GFDL_INVARIANT_FREE),yes) + ln -sf cpp$(pkg_ver).1 \ + $(d_cpp)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-cpp$(pkg_ver).1 + ln -sf cpp$(pkg_ver).1 \ + $(d_cpp)/$(PF)/share/man/man1/$(TARGET_ALIAS)-cpp$(pkg_ver).1 +endif + + debian/dh_doclink -p$(p_cpp) $(p_base) + debian/dh_rmemptydirs -p$(p_cpp) + + dh_strip -p$(p_cpp) + dh_compress -p$(p_cpp) + dh_fixperms -p$(p_cpp) + dh_shlibdeps -p$(p_cpp) + dh_gencontrol -p$(p_cpp) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_cpp) + dh_md5sums -p$(p_cpp) + dh_builddeb -p$(p_cpp) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-cpp-doc: $(build_html_stamp) $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cppd) + dh_installdirs -p$(p_cppd) \ + $(docdir)/$(p_base) \ + $(PF)/share/info + DH_COMPAT=2 dh_movefiles -p$(p_cppd) \ + $(PF)/share/info/cpp* + + debian/dh_doclink -p$(p_cppd) $(p_base) + dh_installdocs -p$(p_cppd) html/cpp.html html/cppinternals.html + rm -f $(d_cppd)/$(docdir)/$(p_base)/copyright + debian/dh_rmemptydirs -p$(p_cppd) + + dh_compress -p$(p_cppd) + dh_fixperms -p$(p_cppd) + dh_installdeb -p$(p_cppd) + dh_gencontrol -p$(p_cppd) -- -v$(DEB_VERSION) $(common_substvars) + dh_md5sums -p$(p_cppd) + dh_builddeb -p$(p_cppd) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-4.3-4.3.4.orig/debian/rules.d/binary-java.mk +++ gcc-4.3-4.3.4/debian/rules.d/binary-java.mk @@ -0,0 +1,619 @@ +ifeq ($(with_gcj_base_only),yes) + arch_binaries := $(arch_binaries) jbase +else +ifeq ($(with_separate_libgcj),yes) + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + arch_binaries := $(arch_binaries) jbase + endif +else + arch_binaries := $(arch_binaries) jbase +endif + +ifeq ($(with_libgcj),yes) + ifeq ($(with_java),yes) + arch_binaries := $(arch_binaries) java gcjapplet + indep_binaries := $(indep_binaries) libgcjjar + endif + + ifeq ($(with_javadev),yes) + arch_binaries := $(arch_binaries) libgcjdev libgcjdbg + indep_binaries := $(indep_binaries) libgcjsrc + ifeq ($(with_libgcj_doc),yes) + indep_binaries := $(indep_binaries) libgcjdoc + endif + endif +endif + +ifeq ($(with_gcj),yes) + arch_binaries := $(arch_binaries) gcj +endif +endif + +p_jbase = gcj$(pkg_ver)-base +p_gcj = gcj$(pkg_ver) +p_gij = gij$(pkg_ver) +p_jlib = libgcj$(PKG_LIBGCJ_EXT) +p_jdbg = libgcj$(PKG_GCJ_EXT)-dbg +p_jar = libgcj$(PKG_GCJ_EXT)-jar +p_jlibx = libgcj$(PKG_LIBGCJ_EXT)-awt +p_jgtk = libgcj$(PKG_GCJ_EXT)-awt-gtk +p_jqt = libgcj$(PKG_GCJ_EXT)-awt-qt +p_jdev = libgcj$(PKG_GCJ_EXT)-dev +p_jsrc = libgcj$(PKG_GCJ_EXT)-src +p_view = gappletviewer$(pkg_ver) +p_jdoc = libgcj-doc + +d_jbase = debian/$(p_jbase) +d_gcj = debian/$(p_gcj) +d_gij = debian/$(p_gij) +d_jlib = debian/$(p_jlib) +d_jdbg = debian/$(p_jdbg) +d_jar = debian/$(p_jar) +d_jlibx = debian/$(p_jlibx) +d_jgtk = debian/$(p_jgtk) +d_jqt = debian/$(p_jqt) +d_jdev = debian/$(p_jdev) +d_jsrc = debian/$(p_jsrc) +d_jdoc = debian/$(p_jdoc) +d_view = debian/$(p_view) + +GCJ_BASE_VERSION = $(BASE_VERSION) + +gcj_vlibdir = $(PF)/$(libdir)/gcj-$(BASE_VERSION)-$(GCJ_SONAME) + +dirs_gcj = \ + $(docdir)/$(p_jbase) \ + $(PF)/bin \ + $(PF)/share/man/man1 \ + $(PF)/share/info \ + $(gcc_lexec_dir) +files_gcj = \ + $(PF)/bin/{gcj,gc-analyze,gjar,gjarsigner,gcjh,gjavah,gnative2ascii,grmic,gtnameserv,jv-convert,jcf-dump}$(pkg_ver) \ + $(PF)/share/man/man1/{gjar,gjarsigner,gcjh,gjavah,gnative2ascii,gtnameserv}$(pkg_ver).1 \ + $(gcc_lexec_dir)/{ecj1,jc1,jvgenmain} + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_gcj += \ + $(PF)/share/info/gcj* \ + $(PF)/share/man/man1/{gcj,gc-analyze,grmic,jv-convert,jcf-dump}$(pkg_ver).1 +endif + +dirs_gij = \ + $(docdir)/$(p_jbase) \ + $(PF)/bin \ + $(PF)/share/man/man1 \ + var/lib/gcj$(pkg_ver) + +files_gij = \ + $(PF)/bin/{gij,gcj-dbtool,gorbd,grmid,grmiregistry,gkeytool,gserialver}$(pkg_ver) \ + $(PF)/share/man/man1/{gorbd,grmid,grmiregistry,gkeytool,gserialver}$(pkg_ver).1 + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_gij += \ + $(PF)/share/man/man1/{gij,gcj-dbtool}$(pkg_ver).1 +endif + +dirs_jlib = \ + $(docdir)/$(p_jbase) \ + $(gcj_vlibdir) \ + $(PF)/$(libdir) + +files_jlib = \ + $(PF)/$(libdir)/libgij.so.* \ + $(PF)/$(libdir)/libgcj-tools.so.* \ + $(PF)/$(libdir)/libgcj.so.* \ + $(gcj_vlibdir)/libjvm.so \ + +# $(gcj_vlibdir)/libgconfpeer.so + +ifeq ($(with_java_alsa),yes) + files_jlib += \ + $(gcj_vlibdir)/libgjsmalsa.so +endif + +dirs_jar = \ + $(PF)/share/java + +dirs_jlibx = \ + $(PF)/$(libdir) \ + $(gcj_vlibdir) \ + $(PF)/share/java + +files_jlibx = \ + $(gcj_vlibdir)/libjawt.so \ + $(gcj_vlibdir)/libgtkpeer.so + +#files_jgtk = \ +# $(gcj_vlibdir)/libgtkpeer.so +#files_jqt = \ +# $(gcj_vlibdir)/libqtpeer.so + +dirs_jdev = \ + $(PF)/{include,lib} \ + $(gcc_lib_dir)/include/gcj + +files_jdev = \ + $(cxx_inc_dir)/{org,gcj,java,javax} \ + $(cxx_inc_dir)/gnu/{awt,classpath,gcj,java,javax} \ + $(gcc_lib_dir)/include/{jni.h,jni_md.h,jvmpi.h} \ + $(gcc_lib_dir)/include/{jawt.h,jawt_md.h} \ + $(gcc_lib_dir)/include/gcj/libgcj-config.h \ + $(PF)/$(libdir)/libgij.so \ + $(PF)/$(libdir)/libgcj.{so,spec} \ + $(PF)/$(libdir)/libgcj-tools.so \ + $(PF)/$(libdir)/pkgconfig/libgcj-$(BASE_VERSION).pc \ + $(gcj_vlibdir)/lib*peer.so \ + +ifeq ($(with_static_java),yes) + files_jdev += \ + $(PF)/$(libdir)/libgij.a \ + $(PF)/$(libdir)/libgcj.a \ + $(PF)/$(libdir)/libgcj-tools.a +endif + +ifeq ($(with_standalone_gcj),yes) + + dirs_gcj += \ + $(gcc_lib_dir)/include \ + $(PF)/share/man/man1 + +# XXX: what about triarch mapping? + files_gcj += \ + $(PF)/bin/{cpp,gcc,gcov}$(pkg_ver) \ + $(gcc_lexec_dir)/cc1 \ + $(gcc_lexec_dir)/collect2 \ + $(gcc_lib_dir)/{libgcc*,libgcov.a,*.o} \ + $(gcc_lib_dir)/include/std*.h \ + $(shell for h in \ + README features.h arm_neon.h \ + {cpuid,decfloat,float,iso646,limits,mm3dnow,mm_malloc}.h \ + {,a,b,e,n,p,s,t,x}mmintrin.h mmintrin-common.h \ + {syslimits,unwind,varargs}.h; \ + do \ + test -e $(d)/$(gcc_lib_dir)/include/$$h \ + && echo $(gcc_lib_dir)/include/$$h; \ + test -e $(d)/$(gcc_lib_dir)/include-fixed/$$h \ + && echo $(gcc_lib_dir)/include-fixed/$$h; \ + done) \ + $(shell for d in \ + asm bits gnu linux $(TARGET_ALIAS) \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS)); \ + do \ + test -e $(d)/$(gcc_lib_dir)/include/$$d \ + && echo $(gcc_lib_dir)/include/$$d; \ + test -e $(d)/$(gcc_lib_dir)/include-fixed/$$d \ + && echo $(gcc_lib_dir)/include-fixed/$$d; \ + done) \ + $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \ + && echo $(gcc_lib_dir)/SYSCALLS.c.X) + + ifneq ($(GFDL_INVARIANT_FREE),yes) + files_gcj += \ + $(PF)/share/man/man1/{cpp,gcc,gcov}$(pkg_ver).1 + endif + + ifeq ($(biarch64),yes) + files_gcj += $(gcc_lib_dir)/$(biarch64subdir)/{libgcc*,libgcov.a,*.o} + endif + ifeq ($(biarch32),yes) + files_gcj += $(gcc_lib_dir)/$(biarch32subdir)/{libgcc*,*.o} + endif + ifeq ($(biarchn32),yes) + files_gcj += $(gcc_lib_dir)/$(biarchn32subdir)/{libgcc*,libgcov.a,*.o} + endif + + ifeq ($(DEB_HOST_ARCH),ia64) + files_gcj += $(gcc_lib_dir)/include/ia64intrin.h + endif + + ifeq ($(DEB_HOST_ARCH),m68k) + files_gcj += $(gcc_lib_dir)/include/math-68881.h + endif + + ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),powerpc ppc64)) + files_gcj += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h,spe.h} + endif + +endif + +# ---------------------------------------------------------------------- +$(binary_stamp)-jbase: $(install_dependencies) + dh_testdir + dh_testroot + rm -rf $(d_jbase) + dh_installdirs -p$(p_jbase) + dh_installdocs -p$(p_jbase) + dh_installchangelogs -p$(p_jbase) + dh_compress -p$(p_jbase) + dh_fixperms -p$(p_jbase) + dh_gencontrol -p$(p_jbase) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_jbase) + dh_md5sums -p$(p_jbase) + dh_builddeb -p$(p_jbase) + touch $@ + +# ---------------------------------------------------------------------- +$(binary_stamp)-libgcjjar: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + dh_installdirs -p$(p_jar) $(dirs_jar) + mv $(d)/$(PF)/share/java/libgcj-$(BASE_VERSION).jar \ + $(d_jar)/$(PF)/share/java/ + mv $(d)/$(PF)/share/java/libgcj-tools-$(BASE_VERSION).jar \ + $(d_jar)/$(PF)/share/java/ + ln -sf libgcj-$(BASE_VERSION).jar \ + $(d_jar)/$(PF)/share/java/libgcj-$(GCC_VERSION).jar + ln -sf libgcj-tools-$(BASE_VERSION).jar \ + $(d_jar)/$(PF)/share/java/libgcj-tools-$(GCC_VERSION).jar + debian/dh_doclink -p$(p_jar) $(p_jbase) + debian/dh_rmemptydirs -p$(p_jar) + dh_compress -p$(p_jar) + dh_fixperms -p$(p_jar) + dh_gencontrol -p$(p_jar) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_jar) + dh_md5sums -p$(p_jar) + dh_builddeb -p$(p_jar) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-libgcjsrc: $(install_stamp) + dh_testdir + dh_testroot + + PATH=$(PWD)/bin:$$PATH \ + $(MAKE) -C $(buildlibdir)/libjava \ + DESTDIR=$(PWD)/$(d) install-src.zip + mkdir -p $(d_jsrc)/$(PF)/share/java + mv $(d)/$(PF)/share/java/src-$(BASE_VERSION).zip \ + $(d_jsrc)/$(PF)/share/java/libgcj-src-$(BASE_VERSION).zip + + debian/dh_doclink -p$(p_jsrc) $(p_jbase) + debian/dh_rmemptydirs -p$(p_jsrc) + dh_compress -p$(p_jsrc) + dh_fixperms -p$(p_jsrc) + dh_gencontrol -p$(p_jsrc) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_jsrc) + dh_md5sums -p$(p_jsrc) + dh_builddeb -p$(p_jsrc) + + touch $@ + +# ---------------------------------------------------------------------- +libgcj_version = $$($(builddir)/gcc/xgcc --version \ + | sed -n '/^xgcc/s/[^)]*) *\(.*\) \[[^[]*/\1/p') +libgcj_title = LibGCJ Classpath +libgcjhbox_href = http://gcc.gnu.org/java +libgcjhbox =