When a shared object can't be loaded at its preferred image base, it gets relocated. There's a convoluted switch statement in coff_symtab_read that handles relocation of the symbols, and I believe it handles a couple of cases incorrectly: o Static symbols (with c_sclass of C_STAT) never get relocated. I think this is wrong, probably an oversight where the C_STAT cases fall through to the C_EXT case and then don't get handled. o Absolute symbols (with c_secnum of N_ABS) *do* get relocated, so things like __minor_os_version__ get adjusted by the relocation offset. Curiously, there is a fixme comment in the code not to do this. The attached exmple shows the problem in action and the attached diffs fix both problems. Do these changes seem sensible to others? Regards, Raoul Gough.