Open
Bug 1196871
Opened 9 years ago
Updated 2 years ago
avoid referencing local parameters in LinuxSignal.h
Categories
(Core :: MFBT, defect)
Core
MFBT
Tracking
()
NEW
People
(Reporter: froydnj, Unassigned)
References
()
Details
Attachments
(1 file)
1.07 KB,
patch
|
glandium
:
review+
|
Details | Diff | Splinter Review |
clang doesn't appreciate local parameter references in naked functions. Rather than hacking around this with preprocessor trickery, let's just declare all the argument registers as clobbered. This ensures the register allocation won't try to use them for loading the handler address. fix
Reporter | ||
Comment 1•9 years ago
|
||
Things seem to work OK in GCC without referencing the registers in the clobber specification, but it seemed better to put them there anyway, just to make sure.
Attachment #8650621 -
Flags: review?(mh+mozilla)
Updated•9 years ago
|
Attachment #8650621 -
Flags: review?(mh+mozilla) → review+
Reporter | ||
Comment 2•9 years ago
|
||
We're not going to be able to take this quite yet, since clang miscompiles the code in question. I've opened a clang bug about it: https://llvm.org/bugs/show_bug.cgi?id=24556 Other options include...writing all the assembly ourselves, I guess.
Comment 3•9 years ago
|
||
preventing inlining sounds like it could work.
Reporter | ||
Comment 4•9 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #3) > preventing inlining sounds like it could work. Nothing gets inlined here.
Comment 5•9 years ago
|
||
(In reply to Nathan Froyd [:froydnj][:nfroyd] from comment #4) > (In reply to Mike Hommey [:glandium] from comment #3) > > preventing inlining sounds like it could work. > > Nothing gets inlined here. The code in the clang bug very much looks inlined.
Reporter | ||
Comment 6•9 years ago
|
||
The generated assembly is for the SignalTrampoline function (I could have made that clearer, my mistake), and there's nothing to be inlined into that.
Comment 7•2 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months.
:sg, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee: froydnj+bz → nobody
Flags: needinfo?(simon.giesecke)
Updated•2 years ago
|
Flags: needinfo?(simon.giesecke)
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•