I've been trying to figure out how PIC shared libs actually work. You know,
the standard shared lib you compile with gcc with -fPIC. I figured that the
compiler would reserve a base register like edi and instead of compiling the
label directly, would compile it with an additive to edi, however when I
looked at an objdump of some simple code that was compiled with -fPIC, I
couldn't figure out what it was doing. Is there a description somewhere of
how PIC works that doesn't involve decoding gcc's source code? :) Thanks!