Fix _GLOBAL_OFFSET_TABLE_ value for large GOTs (aarch64).
authorStephen Crane <sjc@immunant.com>
Thu, 10 May 2018 07:09:32 +0000 (00:09 -0700)
committerCary Coutant <ccoutant@gmail.com>
Thu, 10 May 2018 07:13:33 +0000 (00:13 -0700)
commita45a8f9178448171b51d9fc80d45ede73e99e399
treeebc147bcb7140503515c37d525eb720fddf7425a
parent6fe88226c25fa3fdea506538688897272d42822b
Fix _GLOBAL_OFFSET_TABLE_ value for large GOTs (aarch64).

Gold resolves GOT-relative relocs relative to the GOT base +
0x8000 when the GOT is larger than 0x8000. However, previously
the _GLOBAL_OFFSET_TABLE_ symbol was set to GOT base + 0x8000
when the .got.plt was larger than 0x8000. This patch makes both
checks use the size of the .got section so that they agree when
to add 0x8000.
gold/ChangeLog
gold/aarch64.cc