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.