[PATCH] Support for microMIPS relocations 1/3

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Oct 2 06:56:23 PDT 2013

> These flags are aggregated through assembling. In the DOE, the code that closes the object file writes out these flags (as I understand it). The assembler doesn't use the same path when closing the object file and the flags aren't written. Consequently, we're stuck. We can't get the flags into the .o to do the comparison we need for the tests. The patch for this has gone through several iterations and I think we've been back and forth with you and/or Jim for 4 months? Without this patch, we're at a standstill on the assembler for microMIPS, MIPS64 PIC, and (soon) MIPS16.

To which patch are you referring to? I am just back for vacation and
it is possible that I am still to get to it. If there is some missing
feature in the assembler for setting ELF flags, fixing that is the
correct way forward, not using LLC for testing.

> So we're sort of at a chicken and egg impasse. We cannot move forward in the assembler, and without the LLC testing, we can't move forward with microMIPS (and I've got a commitment for microMIPS with DOE due soon).

You should be able to move forward in the assembler. Please ping the
patch you need reviewed .

> If we can get the header flags issue resolved, I can shift some resources around to get the assembler up to snuff so that we can provide test cases that use llvm-mc. But right now, we're dead in the water and there are a few ruffled feathers. Can we get some help with the stuck patch? (watch, as soon as I send this, the patch will be committed...)

You should try to get what you need in llvm-mc. If I understand your
email, that is not trivial for mips. But the complexity exists one way
or the other. Using direct object emission from llc just hides it.
That is specially bad when, as you say, there is a know code path
difference in llvm-mc that needs fixing. Just using llc with direct
object emission would put the burden of handling brittle tests on
everyone else instead of mips getting the burden of implementing the
assembly features they need.


More information about the llvm-commits mailing list