This patch fixes "Invalid allocated section" test in
ld/testsuite/ld-i386/i386.exp when testing ld on native i686-pc-linux-gnu.
This test case consumes all the 1G memory + 1G swap when testing on my 32bit
i686 PC and finally times out.
For the section .foo in that test case, sec->vma == 0 and p->p_vaddr +
p->p_memsz == 0xc0100008. So in the following statement:
bfd_signed_vma adjust = sec->vma - (p->p_vaddr + p->p_memsz);
adjust is 0x3feffff8 because we are doing 32bit calculation. Thus the
expected "overlaps preious sections" error is not reported.
Regtested with native i686-pc-linux-gnu. Is this patch OK?