[PATCH] D47001: [Mips] Use addAliasForDirective rather than custom parsing logic for data directives

Simon Dardis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 17 05:33:45 PDT 2018


sdardis requested changes to this revision.
sdardis added a comment.
This revision now requires changes to proceed.

This change isn't quite correct, as microMIPS traditionally doesn't mark inline data (.word and friends) which have a symbol associated with them as being microMIPS. The linker needs to know what symbols are microMIPS / MIPS to support interlinking the two. Inline data isn't code, so marking the symbol associated with it as microMIPS could result in buggy linkers seeing a microMIPS symbol in an address calculation, setting the lowest bit (as required for jumps to microMIPS symbols) leading to an unaligned load.

I believe this patch also needs to override EmitIntValue() as well so that the pending set of microMIPS symbols can be cleared.

See https://reviews.llvm.org/D6039 /  https://reviews.llvm.org/rL221355.


https://reviews.llvm.org/D47001





More information about the llvm-commits mailing list