Closed Bug 595615 Opened 15 years ago Closed 15 years ago

js: hidden symbol `js::ShapeHasher::match(js::Shape*, js::Shape const*)' isn't defined

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: ojab, Assigned: brendan)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file, 2 obsolete files)

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b6pre) Gecko/20100912 Firefox/4.0b6pre Build Identifier: Compilation fails after -r53651:3feb012b18a3 with c++ -o js -fno-rtti -fno-exceptions -Wall -Wpointer-arith … /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/bin/ld: js: hidden symbol `js::ShapeHasher::match(js::Shape*, js::Shape const*)' isn't defined /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[5]: *** [js] Error 1 make[5]: Leaving directory `/home/ojab/src/firefox/js/src/shell' Reproducible: Always GNU ld (GNU Binutils) 2.20.51.20100620 gcc version 4.5.2 20100903 (prerelease) (GCC)
This affects only DEBUG builds due to the use of inline keyword in jspropertytree.cpp on: inline HashNumber ShapeHasher::hash(const Lookup l) Bug 593256 has added a DEBUG-only reference to ShapeHasher::hash from JSObject::checkShapeConsistency(). As a workaround in the local tree I just dropped the inline keywords from ShapeHasher::hash and ShapeHasher::match. A better solution I guess would be to move the inlines into some header.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attached patch fix (obsolete) — Splinter Review
Assignee: general → brendan
Status: NEW → ASSIGNED
Attachment #474533 - Flags: review?(dbaron)
Comment on attachment 474533 [details] [diff] [review] fix r=dbaron. It would probably be good to declare the inline methods as inline where they're declared in addition to where they're defined, though. I think that way you might be more likely to get errors/warnings about this.
Attachment #474533 - Flags: review?(dbaron) → review+
Attached patch what I'm landing (obsolete) — Splinter Review
Also fix a JS_CHECK_SHAPE_THROTTLE=non-zero plus DEBUG-only failure to check consistency in edge case. This doesn't affect debug or release builds; to get the checking you have to build DEBUG and set that JS_CHECK_SHAPE_THROTTLE envar. /be
Attachment #474533 - Attachment is obsolete: true
Attachment #474534 - Flags: review+
Oops, missed David's suggestion -- I'll add inline to the static member decls before landing. /be
I love how Mac GCC failed to catch the problem reported in this bug... /be
Attachment #474534 - Attachment is obsolete: true
Attachment #474536 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Whiteboard: fixed-in-tracemonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: