What is __i686.get_pc_thunk.bx? Why do we need this call?
This call is used in position-independent code on x86. It loads the position of the code into the %ebx register, which allows global objects (which have a fixed offset from the code) to be accessed as an offset from that register. Position-independent code is code that can be loaded and executed, unmodified, at different addresses. … Read more