Short answer: I think http://codereview.chromium.org/9689069/ can be landed 
before this issue is resolved.

A little more detail: r11010 (https://chromiumcodereview.appspot.com/9666052) 
contained 2 original CL's. 
- http://codereview.chromium.org/9447052/
- http://codereview.chromium.org/9455088/

The MIPS patch in http://codereview.chromium.org/9689069/ ports the the 2nd of 
those.

The first of those CLs is arch-independent, but breaks alignment requirements 
of mips (doubles aligned to 8-bytes).

This is only a problem on mips hardware, not on the simulator.


So a workaround suggested by Gergely would be to just qualify the GCC version 
in the LAZY_ALIGN() macro, something like this:

#if (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 3)
#define LAZY_ALIGN(x) __attribute__((aligned(__alignof__(x))))
#else
#define LAZY_ALIGN(x)
#endif


We use gcc 4.4 or better cross-compiler for mips, and the Mac native compiler 
builds the sim version (and the other arch's) fine without needing the 
alignment attribute.

We'll upload a patch for this (with appropriate comments) later.

thanks,

paul

On Wednesday, March 21, 2012 at 2:51 AM, Florian Schneider wrote: 
> Does the original patch http://codereview.chromium.org/9689069/ depend on 
> this to work correcly for the MIPS platform?
> 
> Den 21. mar. 2012 08.06 skrev <[email protected] (mailto:[email protected])>:
> > Unfortunately, this is broken on mac (gcc 4.2.1, on osx 10.6.8).
> > 
> > The '__attribute__((aligned(__alignof__(x))))' generates error: requested
> > alignment is not a constant.
> > 
> > This is also broken for gcc 4.2.x on Linux, though most of us use a newer 
> > gcc
> > (it works in 4.3.x and later). Sorry, I don't have a suggestion for a fix 
> > yet.
> > 
> > 
> > http://codereview.chromium.org/9702114/
> 

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to