13842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz/* Linux-specific definitions: */
23842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
33842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz/* Define various structure offsets to simplify cross-compilation.  */
43842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
53842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz/* FIXME: Currently these are only used in getcontext.S, which is only used
63842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz   for a local unwinder, so we can use the compile-time ABI.  At a later date
73842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz   we will want all three here, to use for signal handlers.  Also, because
83842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz   of the three ABIs, gen-offsets.c can not quite generate this file.  */
93842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
103842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz/* Offsets for MIPS Linux "ucontext_t":  */
113842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
123842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz#if _MIPS_SIM == _ABIO32
133842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
143842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_FLAGS_OFF	0x0
153842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_LINK_OFF	0x4
163842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_STACK_OFF	0x8
173842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_MCONTEXT_OFF	0x18
183842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_SIGMASK_OFF	0x268
1979c2c254a74ca850aefe2c49b973dea1fa2934c2Tommi Rantala# define LINUX_UC_MCONTEXT_PC	0x20
203842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_MCONTEXT_GREGS	0x28
213842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
223842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz#elif _MIPS_SIM == _ABIN32
233842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
243842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_FLAGS_OFF	0x0
253842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_LINK_OFF	0x4
263842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_STACK_OFF	0x8
273842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_MCONTEXT_OFF	0x18
283842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_SIGMASK_OFF	0x270
2979c2c254a74ca850aefe2c49b973dea1fa2934c2Tommi Rantala# define LINUX_UC_MCONTEXT_PC	0x258
303842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_MCONTEXT_GREGS	0x18
313842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
323842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz#elif _MIPS_SIM == _ABI64
333842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
343842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_FLAGS_OFF	0x0
353842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_LINK_OFF	0x8
363842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_STACK_OFF	0x10
373842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_MCONTEXT_OFF	0x28
383842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_SIGMASK_OFF	0x280
3979c2c254a74ca850aefe2c49b973dea1fa2934c2Tommi Rantala# define LINUX_UC_MCONTEXT_PC	0x268
403842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz# define LINUX_UC_MCONTEXT_GREGS	0x28
413842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz
423842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz#endif
43