Bug 305489
| Summary: | offlineasm incorrectly lowers references to global labels | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Vassili Bykov <v_bykov> |
| Component: | JavaScriptCore | Assignee: | Vassili Bykov <v_bykov> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Vassili Bykov
Feeding the following snippet into offlineasm:
global _foo
_foo:
leap _foo, r0
ret
produces this in LLIntAssembly.h:
".loc 5 1541\n" OFFLINE_ASM_GLOBAL_LABEL(foo)
".loc 5 1543\n" "movq " LOCAL_LABEL_STRING(foo) "@GOTPCREL(%rip), %rax \n"
".loc 5 1544\n" "ret \n"
The label is incorrectly referenced using LOCAL_LABEL_STRING, as if it were declared using OFFLINE_ASM_LOCAL_LABEL(). On x86, LOCAL_LABEL_STRING(foo) is rendered as "Lfoo" and compilation fails because "Lfoo" is undefined.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/168153042>
Vassili Bykov
Pull request: https://github.com/WebKit/WebKit/pull/56598
EWS
Committed 305717@main (018769c9e260): <https://commits.webkit.org/305717@main>
Reviewed commits have been landed. Closing PR #56598 and removing active labels.