Patch implements lazy relocations for x86.
One of features of x86 is that executable files and shared object files have separate procedure linkage tables. So patch implements both cases.
As a noticable difference with other targets can mention that relocation offset is required for writePltEntry. I added it as parameter. Also it needs offset in Got, so added addr of Got either.
Detailed information about instructions used can be found in http://docs.oracle.com/cd/E19620-01/805-3050/chapter6-1235/index.html (search: x86: Procedure Linkage Table).