Page MenuHomePhabricator

[ELF/AArch64] Simplify AArch64 isRelRelative

Authored by zatrazz on Mar 21 2016, 2:17 PM.



This patch simplifies the isRelRelative for AArch64 to just handle the
cases where it is not relative, instead of list all the relocations
that is. It also adds more testing for shared objects creation.

This patch is based upon

Diff Detail

Event Timeline

zatrazz updated this revision to Diff 51226.Mar 21 2016, 2:17 PM
zatrazz retitled this revision from to [ELF/AArch64] Simplify AArch64 isRelRelative.
zatrazz updated this object.
zatrazz added reviewers: ruiu, rafael.
zatrazz set the repository for this revision to rL LLVM.
zatrazz added a project: lld.
zatrazz added subscribers: llvm-commits, emaste, grimar.
yinma added a subscriber: yinma.Mar 21 2016, 3:08 PM
rafael added inline comments.Mar 23 2016, 2:14 PM

A relocation being relative or not is not a property of the command line.

zatrazz updated this revision to Diff 51481.Mar 23 2016, 3:28 PM
zatrazz removed rL LLVM as the repository for this revision.

Indeed my first analysis was wrong (isRelRelative should not rely on
command configuration). This patch address it and add the missing
relRelative relocations I found on both bootstrap and running the

rafael accepted this revision.Mar 24 2016, 6:28 AM
rafael edited edge metadata.



This revision is now accepted and ready to land.Mar 24 2016, 6:28 AM
grimar added inline comments.Mar 24 2016, 7:18 AM

If you change almost the whole testcase then I would ask you to fix formating here. That looks wierd now, too many spaces are in front I think.
That is a minor of course.

BTW, I think R_AARCH64_ADR_GOT_PAGE should also be in the list.

It is OK if that is done as a followup patch.

zatrazz closed this revision.Mar 24 2016, 12:17 PM