./xgcc -B ./ -O2 jsnum.ii -fdump-ipa-all leads to two cgraph nodes to the same asm name: jsval js::ValueToNumberSlow(JSContext*, jsval, double*)/1083(913) @0x7ffff613b810 (asm: _ZN2js17ValueToNumberSlowEP9JSContextlPd) analyzed 276 time, 36 benefit 114 size, 27 benefit needed reachable body finalized inlinable called by: bool js::ValueToNumberValueSlow(JSContext*, jsval*, double*)/1084 (1.00 per call) (can throw external) bool js::ValueToNumberValueSlow(JSContext*, jsval*)/1085 (1.00 per call) (can throw external) bool js::ValueToECMAInt32Slow(JSContext*, jsval, int32_t*)/1086 (1.00 per call) (can throw external) bool js::ValueToECMAUint32Slow(JSContext*, jsval, uint32_t*)/1087 (1.00 per call) (can throw external) bool js::ValueToInt32Slow(JSContext*, jsval, int32_t*)/1089 (1.00 per call) (can throw external) bool js::ValueToUint16Slow(JSContext*, jsval, uint16_t*)/1090 (1.00 per call) (can throw external) calls: JSBool JSVAL_IS_PRIMITIVE(jsval)/50 (1.00 per call) JSBool JSObject::defaultValue(JSContext*, JSType, jsval*)/485 (1.00 per call) (can throw external) JSObject* JSVAL_TO_OBJECT(jsval)/53 (1.00 per call) JSBool JSVAL_IS_VOID(jsval)/49 (1.00 per call) jsval INT_TO_JSVAL(jsint)/60 (1.00 per call) JSBool JSVAL_IS_NULL(jsval)/48 (1.00 per call) jsval INT_TO_JSVAL(jsint)/60 (1.00 per call) jsval INT_TO_JSVAL(jsint)/60 (1.00 per call) JSBool JSVAL_TO_BOOLEAN(jsval)/61 (1.00 per call) JSBool JSVAL_IS_BOOLEAN(jsval)/47 (1.00 per call) int JSDOUBLE_IS_NaN(jsdouble)/821 (1.00 per call) T js::StringToNumberType(JSContext*, JSString*) [with T = double, JSContext = JSContext, JSString = JSString]/1144 (1.00 per call) (can throw external) JSString* JSVAL_TO_STRING(jsval)/55 (1.00 per call) JSBool JSVAL_IS_STRING(jsval)/45 (1.00 per call) jsdouble* JSVAL_TO_DOUBLE(jsval)/54 (1.00 per call) JSBool JSVAL_IS_DOUBLE(jsval)/43 (1.00 per call) jsint JSVAL_TO_INT(jsval)/59 (1.00 per call) JSBool JSVAL_IS_INT(jsval)/42 (1.00 per call) References: var:jsdouble js_NaN (read) Refering this function:
and jsval js::ValueToNumberSlow(JSContext*, jsval, double*)/1294(-1) @0x7ffff5f4d968 (asm: _ZN2js17ValueToNumberSlowEP9JSContextlPd) availability:not_available reachable called by: calls: References: Refering this function: this eventually leads to confussion in my new symtab code that eventually confuses gold and leads to mozilla build failure. Honza -- Summary: Violation of one-definition rule Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hubicka at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44846