This is an archive of the discontinued LLVM Phabricator instance.

[mips] Implemented the .hword directive.
ClosedPublic

Authored by s.egerton on Feb 12 2016, 6:51 AM.

Details

Summary

In order to pass the tests, this required marking R_MIPS_16 relocations
as needing to point to the symbol and not the section.

Diff Detail

Event Timeline

s.egerton updated this revision to Diff 47799.Feb 12 2016, 6:51 AM
s.egerton retitled this revision from to [mips] Implemented the .hword directive..
s.egerton updated this object.
s.egerton added reviewers: dsanders, vkalintiris.
s.egerton added a subscriber: llvm-commits.
dsanders accepted this revision.Feb 12 2016, 7:22 AM
dsanders edited edge metadata.

LGTM with the missing zeros and a commit message correction.

... as needing to point to the symbol and not the section.

It's the other way around. needsRelocateWithSymbol() is returning false (it takes the fallthrough path) which means it doesn't need the symbol and can rewrite it in terms of the section base.

lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
419

Could you fix this typo while you're there?

test/MC/Mips/mips-data-directives.s
20

There should be more zeros here, it seems to be four bytes short.

This revision is now accepted and ready to land.Feb 12 2016, 7:22 AM
s.egerton closed this revision.Feb 15 2016, 8:16 AM