This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.8 libcpp Issue...Possibly Related To (FIXED)
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Cyd Haselton <chaselton at gmail dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Thu, 31 Oct 2013 13:25:30 +0000
- Subject: Re: GCC 4.8 libcpp Issue...Possibly Related To (FIXED)
- Authentication-results: sourceware.org; auth=none
- References: <CAHu5Pra=xMPYU1=ramkMH+jJyE27CyoGY+C6D-7DttXD8KrWxg at mail dot gmail dot com> <CAHu5Prbwk2BP3kX+66fUkBLr=-okDfnJnVfyFGx63BiyLAoO9g at mail dot gmail dot com> <CAH6eHdStOFYQQda1ZFArSHw2jaOzGc4KH9HmRdnWDykRGq=PMg at mail dot gmail dot com> <CAHu5PraVBdUMB6nNZzA1OyLG2MjeXUDn75R5SyoKYzPMYMaiqQ at mail dot gmail dot com>
On 31 October 2013 13:22, Cyd Haselton wrote:
> Bug submitted, thanks.
Again, please don't top-post on this list.
> Not sure if this is relevant but the symbol table from objdump -x <4.8
> cc1> after adding explicit cast to files.c shows odd characters
>
> *snip*
> 00000000 l df *ABS* 00000000 c-lang.c
> 00000000 l df *ABS* 00000000 stub-objc.c
> 00000000 l df *ABS* 00000000 attribs.c
> 000b2c30 l F .text 00000038 _ZL7eq_attrPKvS0_
> 000b2c68 l F .text 00000028 _ZL9hash_attrPKv
> 000b2c90 l F .text 000000a4 _ZL24find_attribute_namespacePKc
> 000b2d34 l F .text 00000128
> _ZL25register_scoped_attributePK14attribute_specP17scoped_attributes
> 0099512c l O .rodata 0000001a
> _ZZL25register_scoped_attributePK14attribute_specP17scoped_attributesE12__FUNCTION__
> 00995148 l O .rodata 00000018 _ZL21empty_attribute_table
> 00995160 l O .rodata 00000010
> _ZZ15decl_attributesPP9tree_nodeS0_iE12__FUNCTION__
>
>
> as compared to the working 4.7 version:
>
> *snip*
> 00000000 l df *ABS* 00000000 c-lang.c
> 00000000 l df *ABS* 00000000 stub-objc.c
> 00000000 l df *ABS* 00000000 attribs.c
> 00077450 l F .text 00000028 hash_attr
> 00077478 l F .text 0000003c eq_attr
> 0097f858 l O .rodata 00000013 __FUNCTION__.30676
> 0097f86c l O .rodata 00000018 empty_attribute_table
> 0097f884 l O .rodata 00000010 __FUNCTION__.30703
The difference is that GCC 4.8 is compiled with a C++ compiler so the
symbol names are mangled to encode the function signatures, as
required by C++ in order to support function overloading and other
features.