This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/29722] New: Linking with libsupc++.a creates link time undefined references
- From: "raj dot khem at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Nov 2006 08:32:05 -0000
- Subject: [Bug libstdc++/29722] New: Linking with libsupc++.a creates link time undefined references
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Compiling a small C++ test program with GCC and linking with libsupc++ is
causing the link to fail.
try.C
===================
#include <stdio.h>
int main(){
printf("Hello");
return 0;
}
==================
arm_v5t_le-gcc try.C -lsupc++
/mnt/disk2/opt/HEAD/arm_v5t_le/opt/montavista/foundation/devkit/arm/v5t_le/target/usr/lib/libsupc++.a(eh_alloc.o):
In function `__cxa_free_exception':
eh_alloc.cc:(.text.__cxa_free_exception+0xc8): undefined reference to
`std::__throw_runtime_error(char const*)'
eh_alloc.cc:(.text.__cxa_free_exception+0xd4): undefined reference to
`std::__throw_runtime_error(char const*)'
/mnt/disk2/opt/HEAD/arm_v5t_le/opt/montavista/foundation/devkit/arm/v5t_le/target/usr/lib/libsupc++.a(eh_alloc.o):
In function `__cxa_allocate_exception':
eh_alloc.cc:(.text.__cxa_allocate_exception+0xe4): undefined reference to
`std::__throw_runtime_error(char const*)'
eh_alloc.cc:(.text.__cxa_allocate_exception+0x10c): undefined reference to
`std::__throw_runtime_error(char const*)'
eh_alloc.cc:(.text.__cxa_allocate_exception+0x174): undefined reference to
`std::__throw_runtime_error(char const*)'
collect2: ld returned 1 exit status
This testcase works ok with GCC 4.1 series. and fails with GCC 4.2
I have verified the behavior on arm and x86 cross compiler.
The issue seems to be because libsupc++/guard.cc is including
#include <ext/concurrence.h>
and in this include it has references to above mentioned symbol which is in
libstdc++ actually. I verified that by adding -lstdc++ to above gcc invoke
statement
This scenario happens when compiling icewm package.
--
Summary: Linking with libsupc++.a creates link time undefined
references
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: raj dot khem at gmail dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: armv5tl-montavista-linux-gnueabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29722