Ruby 1.9.3 doesn't build on m68k due to alignment of structs
I'd built Ruby 1.8 without any problems, but 1.9.3 shows up an issue with Ruby due to alignment checking.
When executing Initvartables(), we execute....
We end up, in rbintern3() and use the RString struct to pass into rbencassociate() which checks alignment with SPECIALCONSTP(x) via IMMEDIATE(x) and uses the RUBYIMMEDIATE_MASK which is defined as 0x03.
This can fail on m68k as structs can be aligned on 16bit boundaries. I had to change....
struct RString fake_str;
struct RString fakestr _attribute__ ((aligned (4)));
To get miniruby to build, but I'm not sure of other lurkers and whether this strict use of IMMEDIATE(x) is really valid.
#1 Updated by Nobuyoshi Nakada about 1 year ago
- Status changed from Open to Closed
- % Done changed from 0 to 100