Closed Bug 766175 Opened 13 years ago Closed 7 years ago

llvm breaks fastcall (or at least old versions of llvm)

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

All
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: pnkfelix, Unassigned)

Details

Attachments

(1 file)

Spawned off of Bug 706815, comment 2. This bug is dedicated to just the task of updating our header files to check for __llvm__ (and potentially sniff its version as well) to determine how to expand FASTCALL.
Assignee: nobody → fklockii
Comment on attachment 634489 [details] [diff] [review] patch A v1: sniff for llvm, which now implies no fastcall The patch is grossly insufficient. I didn't test before requesting a review; fail on my part. The problem with the patch is that a number of our jit-callouts are specified as fastcalls when that abi is available; see occurrences of FASTFUNCTION in core/jit-calls.h (This is only relevant on Nativei386.cpp; other nanojit targets don't use AbiKind.) So the choice of calling convention is a cross-cutting concern. We cannot remove fastcall on a header-by-header basis, at least not for functions in the jit-calls.h table. (Its a bad idea to do tricks like make the jit's emitted code depend on which variant of gcc we use to compile the jit itself.) Tony is now looking into just compiling via /DeveloperXcode3/usr/bin/gcc-4.2 instead of llvm-gcc-4.2. That is most likely going to be the quickest workaround.
Attachment #634489 - Flags: review?(tony.printezis) → review-
Assignee: fklockii → nobody
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: