[PATCH} Review request : Direct object exception handling for Mips

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Apr 1 07:50:31 PDT 2013


> I am not an expert on exception handling, so I depend on what gcc produces and what runs.

Note that is is *not gcc*. It is gas. You should build gas for the
various mips targets and see what it produces when run on fde-reloc.s
and make sure MC produces the same relocations.

> Making the change in my patch made the pain go away and we match gcc .eh_frame section contents.
>
> On the question of a test case. Thank you for pointing out that I did not include an assembler tests. That is not enough though. Although the assembler uses much of the code that the integrated assembler uses, there are different paths. We need to test for both. I believe we will have to agree to disagree on this one.

If there are different paths, that is a bug. The design of MC is such
that we can test assembly printing (.ll -> .s) and object emission (.s
-> .o) independently. The change in question (177141) only changed the
value of FDECFIEncoding and is therefore *completely* testable with
just an assembly file with cfi directives (i.e., fde-reloc.s).

> I have also added test/MCMips/fde-reloc.s as suggested. It doesn't check the contents of the .eh_frame section, but it did catch a problem with a relocation in 64 bit mode.

That got reverted because it was on the wrong directory, but never
added back. Please put it back in.

> Regards,
>
> Jack

Cheers,
Rafael




More information about the llvm-commits mailing list