The default bug view has changed. See this FAQ.

Binary ends up with a R_SPARC_WDISP22 relocation that ld.so doesn't support

RESOLVED FIXED in mozilla11

Status

()

Core
JavaScript Engine
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

Trunk
mozilla11
Sun
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [inbound])

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
The ld.so message looks like the following:
error while loading shared libraries: libmozjs.so: unexpected reloc type 0x08

Reloc type 0x08 is R_SPARC_WDISP22

This relocation comes from the ba instruction in the following assembly from methodjit/TrampolineSparc.s:

.global JaegerInterpolineScripted
.type   JaegerInterpolineScripted, #function
JaegerInterpolineScripted:
    ld      [%l0 + 0x10], %l0                        /* Load f->prev_ */
    st      %l0, [%fp - 36]                          /* Update f->regs->fp_ */
    ba     JaegerInterpoline
    nop

Replacing ba with call works, but then it goes through the PLT, which is silly.
Another solution that works is to replace JaegerInterpoline with a new label at the same location, but which is not defined as a function.
(Assignee)

Comment 1

5 years ago
Created attachment 575633 [details] [diff] [review]
Avoid R_SPARC_WDISP22 relocation in TrampolineSparc.s
Attachment #575633 - Flags: review?(bhackett1024)
Attachment #575633 - Flags: review?(bhackett1024) → review+
(Assignee)

Comment 2

5 years ago
http://hg.mozilla.org/integration/mozilla-inbound/rev/69791b4d7519
(Assignee)

Updated

5 years ago
Whiteboard: [inbound]
https://hg.mozilla.org/mozilla-central/rev/69791b4d7519
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
You need to log in before you can comment on or make changes to this bug.