position independent code for Linux -fPIC