summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2008-12-01 16:36:14 +0100
committerThomas Schwinge <tschwinge@gnu.org>2008-12-01 16:36:14 +0100
commit64053fc344b6874499ddf82c6a97d6e9031a546d (patch)
tree78e725ee767b0dca3ac030608fc0013c5552c2ac
parent4627438ce70ae891851ff04142c5cbdc89ef8db4 (diff)
C++ problem with GCC SVN trunk.
-rw-r--r--hurd/running/debian/porting/gcc.mdwn2
-rw-r--r--hurd/running/debian/porting/gcc/c++.mdwn39
2 files changed, 41 insertions, 0 deletions
diff --git a/hurd/running/debian/porting/gcc.mdwn b/hurd/running/debian/porting/gcc.mdwn
index ec412b9c..c15f40aa 100644
--- a/hurd/running/debian/porting/gcc.mdwn
+++ b/hurd/running/debian/porting/gcc.mdwn
@@ -42,3 +42,5 @@ Additionally:
might/should often contain those for us (and GNU/k*BSD) as well.
* [[`libmudflap`|libmudflap]].
+
+ * [[C++]].
diff --git a/hurd/running/debian/porting/gcc/c++.mdwn b/hurd/running/debian/porting/gcc/c++.mdwn
new file mode 100644
index 00000000..1d64b9b5
--- /dev/null
+++ b/hurd/running/debian/porting/gcc/c++.mdwn
@@ -0,0 +1,39 @@
+[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+
+[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled
+[[GNU_Free_Documentation_License|/fdl]]."]]"""]]
+
+Modify the [[building/cross-compiling]] shell script to configure GCC for
+building GCC with C++ support when building its second (i.e., final) version.
+
+Compiling a most-trivial C++ program used to work with GCC 4.2 and 4.3 (and the
+resulting binaries would also work), but linking fails with GCC SVN trunk:
+
+ $ $TARGET-g++ -Wall a.cc -lpthread
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__multf3'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__fixunstfsi'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__subtf3'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__divtf3'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__copysigntf3'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__addtf3'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__lttf2'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__floatsitf'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__netf2'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__floatunsitf'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__eqtf2'
+ /home/thomas/tmp/gnu-0/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__fabstf2'
+ collect2: ld returned 1 exit status
+
+Whether this defect report also applies to a natively-build GCC from SVN trunk
+has not yet been checked.
+
+[[Thomas_Schwinge|tschwinge]] suspects the problem to be a configuration issue
+of a GCC helper library, whose configuration setup has changed after GCC 4.3.
+
+The need for `-lpthread` is another story. See the Debian glibc patches
+repository for details.