Compare Revisions

Porting NSPR to Unix Platforms

Change Revisions

Revision 181498:

Revision 181498 by Pd on

Revision 181499:

Revision 181499 by Pd on

Title:
Porting NSPR to Unix Platforms
Porting NSPR to Unix Platforms
Slug:
Porting_NSPR_to_Unix_Platforms
Porting_NSPR_to_Unix_Platforms
Tags:
NSPR
NSPR
Content:

Revision 181498
Revision 181499
n58        <tt>mozilla/nsprpub/pr/include/md/_netbsd.h</tt>: For locn58        <tt>mozilla/nsprpub/pr/include/md/_netbsd.h</tt>: For loc
>al threads only version, the main challenge is to figure out how >al threads only version, the main challenge is to figure out how 
>to define the three thread context switch macros. In particular, >to define the three thread context switch macros. In particular, 
>you need to figure out which element in the <tt>jmp_buf</tt> is t>you need to figure out which element in the <tt>jmp_buf</tt> is t
>he stack pointer. Usually <tt>jmp_buf</tt> is an array of integer>he stack pointer. Usually <tt>jmp_buf</tt> is an array of integer
>s, and some platforms have a <tt>JB_SP</tt> macro that tells you >s, and some platforms have a <tt>JB_SP</tt> macro that tells you 
>which array element is the stack pointer. If you can't find a <tt>which array element is the stack pointer. If you can't find a <tt
>>JB_SP</tt> macro, you must resort to brute-force experiments. I >>JB_SP</tt> macro, you must resort to brute-force experiments. I 
>usually print out every element in the <tt>jmp_buf</tt> and see w>usually print out every element in the <tt>jmp_buf</tt> and see w
>hich one is the closest to the address of a local variable (local>hich one is the closest to the address of a local variable (local
> variables are allocated on the stack). On some platforms, <tt>jm> variables are allocated on the stack). On some platforms, <tt>jm
>p_buf</tt> is a struct, then you should look for a struct member >p_buf</tt> is a struct, then you should look for a struct member 
>named <tt>sp</tt> or something similar.&lt;/li&gt;>named <tt>sp</tt> or something similar.
n63        <tt>mozilla/nsprpub/pr/src/md/unix/netbsd.c</tt>&lt;/li&gn63        <tt>mozilla/nsprpub/pr/src/md/unix/netbsd.c</tt>
>t; 
n97        <tt>mozilla/nsprpub/pr/include/md/_pth.h</tt>&lt;/li&gt;n97        <tt>mozilla/nsprpub/pr/include/md/_pth.h</tt>
t99      <li>Files in mozilla/nsprpub/pr/src/pthreads, most likely <t99      <li>Files in mozilla/nsprpub/pr/src/pthreads, most likely <
>tt>ptthread.c</tt> and <tt>ptio.c</tt>.&lt;/li&gt;>tt>ptthread.c</tt> and <tt>ptio.c</tt>

Back to History