- To: Vaugha Brewchuk <vaugha_brewchuk@xxxxxxxx>
- Subject: Re: How do I add missing stdc functions to libstdc++-v3?
- From: Jonathan Wakely <jwakely.gcc@xxxxxxxxx>
- Date: Tue, 13 Mar 2012 01:19:31 +0000
- Cc: gcc-help@xxxxxxxxxxx
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
- Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1332206725; h=Comment: DomainKey-Signature:Received:Received:Received:Received: MIME-Version:Received:Received:In-Reply-To:References:Date: Message-ID:Subject:From:To:Cc:Content-Type: Content-Transfer-Encoding:Mailing-List:Precedence:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=bkBg63qo1juKnIFh/x946PVTKDE=; b=AV28ukhEjw1FI0w O17wfmEmckJNspSHHvRHSbtDcrwHGeunhv8C4htcQWuAFKb/0RQ2DgvhG0RJrbQJ Q/d9Y/CDBC+HzW286wc4xgrUH6iHPO14ioSJxZHc4mVtX9X/7RR3SoWwT4NukKcH PkhI93zANN3KAGm3UNcX9muVpOZw=
- In-reply-to: <0006F132-E517-4307-8BE5-6BB319C6FED0@yahoo.ca>
On 13 March 2012 00:14, Vaugha Brewchuk wrote:
> I have done a bit more experimenting and have made small progress. I tried linking abi_check manually while adding an object including strdup(). As a result, my original error message changed from:
>
> /bin/ld: Undefined symbols:
> access(char const*, int)
> ___gxx_personality_sj0
> ___cxa_call_unexpected
> strxfrm(char*, char const*, unsigned long)
> strdup(char*)
> write(int, void const*, unsigned long)
> _strdup
>
> to:
>
> /bin/ld: Undefined symbols:
> access(char const*, int)
> ___gxx_personality_sj0
> ___cxa_call_unexpected
> strxfrm(char*, char const*, unsigned long)
> strdup(char*)
> write(int, void const*, unsigned long)
>
> So the actual linker error relating to missing "_strdup" disappeared, but the error with "strdup(char*)" remained. I then edited my system headers to add the missing definitions for access(), strxfrm(), strdup() and write() and rebuilt gcc-3.2.3 from scratch (it takes around 20 hours on a 68040!). Subsequent manual linking of abi_check only complained about two missing symbols:
>
> /bin/ld: Undefined symbols:
> ___gxx_personality_sj0
> ___cxa_call_unexpected
>
> Could someone please indicate to me at what point in gcc configuration (or build) the system headers are scanned for presence or absence of functions? Where do I tweak the gcc source to be able to define these missing functions without the need for editing my system headers? I tried to search the sources and the build directories, but was not successful in finding anything obviously related.
>
> Finally, how and where are the missing two symbols "___gxx_personality_sj0" and "___cxa_call_unexpected" normally generated? And again, where in the code do I need to start looking to define a workaround?
They should be defined by gcc itself, in libsupc++.so, you shouldn't
have to do anything.
How are you linking abi_check? What exact command?
I think the problem is how you're linking, not missing features of the OS.
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]