How does the calling program know that it's not PIC (position independant code)? i.e. how would you stop a calling program from thinking so? Is it based on what directory you put the file in? How do you force a linux program to call a new .SO copy per each process.