Bug #13400

mcontext struct has differently-named members in OS X 10.4

Added by mistydemeo (Misty De Meo) over 3 years ago. Updated over 3 years ago.

Target version:
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [i386-darwin8.0]


The mcontext struct, used by Ruby in signal.c and vm_dump.c, has a different structure in OS X 10.4 than it does in later versions.

In OS X 10.5 and later, its members' names all start with a double underscore (__); in 10.4, they don't. Similarly, the __ss/ss struct's members all begin with __, for example __esp, while in 10.4 they don't, for example esp.

In addition, vm_dump.c is missing an #include <ucontext.h> in order to access the mcontext struct definition.

Usage in signal.c is here:
Usage in vm_dump.c is here:

I tested using Ruby 2.2.3p173 and Ruby 2.4; the sections of these files in trunk are unchanged and still have the bug in question. I'm building for i386.

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

OS X 10.4 has been outdated long ago.
I'm not positive to keep supporting such old OSs.

Updated by naruse (Yui NARUSE) over 3 years ago

  • Status changed from Open to Rejected

Ruby supports macOS which are still maintained by Apple.

Also available in: Atom PDF