> + // We get here if a program was not compiled as PIC.
> + if (canBePreempted(Body, /*NeedsGot=*/false)) {
I don't think the PIC/non-PIC distinction is correct. A reference to a
hidden symbol in a shared library cannot be preempted for example.
Cheers,
Rafael