Advantages of Position Independent Code
When code is position independent, the same shared library can be used by multiple programs, appearing to be at a different virtual memory address in each while remaining at a single physical address.
Position independent code also allows the OS to randomize the addresses of library modules, preventing certain kinds of security attacks.