* Add a test to use shared object of protect-lib * Add a guard to call ctor/dtor just once even when a protec-lib is shared object. * Pass .a to linker in leaf-last order for older ld. * Add -flat_namespace for mac