relative to the start of the section rather than the location of the
relocation. This made differences of two symbols in different files stop
working.
I believe GCC never generates this kind of relocation, which is why this bug
hasn't surfaced before.
This patch has been sent to <bug-gnu-utils@gnu.org>.