Closed Bug 627341 Opened 13 years ago Closed 13 years ago

Wrong stack alignment in Convert_ascii_run call on mingw build.

Categories

(Core :: XPCOM, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jacek, Assigned: jacek)

Details

Attachments

(1 file)

Attached patch fix v1.0Splinter Review
Stack alignment is not guaranteed by ABI and GCC doesn't enforce it in function prolog. There is already similar problem in gfx/cairo/libpixman/src/pixman.c. It's interesting that we don't hit it on Linux GCC builds (although its ABI also doesn't enforce alignment). The attached patch fixes the problem by adding __force_align_arg_pointer__ attribute.
Attachment #505397 - Flags: review?(khuey)
Comment on attachment 505397 [details] [diff] [review]
fix v1.0

Look simple enough, but I don't think I'm the right person to review this.
Attachment #505397 - Flags: review?(khuey) → review?(dbaron)
(In reply to comment #0)
> It's interesting that we don't hit it on Linux GCC builds (although its ABI
> also doesn't enforce alignment).

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38496
suggest that Linux ABI does require 16-bit stack alignment.
Comment on attachment 505397 [details] [diff] [review]
fix v1.0

r=dbaron, but in the future, please post patches with 8 lines of context, and preferably with a useful From: header and commit message.
Attachment #505397 - Flags: review?(dbaron) → review+
Sorry for the patch format, I will change that in the future.

http://hg.mozilla.org/mozilla-central/rev/fa9559ec420a
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Component: String → XPCOM
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: