[llvm-commits] [llvm] r111792 - in /llvm/trunk/lib: MC/MCAsmInfoCOFF.cpp Target/X86/X86ISelLowering.cpp

Anton Korobeynikov anton at korobeynikov.info
Mon Aug 23 06:38:56 PDT 2010


> [09:13] <Bigcheese> aKor: how is it the COFF emitter? x86-64 COFF
> cannot represent any of the available jump table methods. It is a
> limitation of the file format.
> [09:13] <aKor> Bigcheese: given that you can compile stuff with gas...
> [09:17] <Bigcheese> The alternative is to leave x86-64 COFF broken. I
> don't agree that it is the responsibility of the COFF backend to take
> invalid relocations and force them to work.
> [09:17] <Bigcheese> I'll revert it because it affects mingw64
> [09:18] <aKor> right, there should be proper fix
> [09:18] <aKor> not just "disable all jump tables"
> [09:19] <Bigcheese> gas is doing some weird crap with COFF.
> [09:19] <aKor> given that coff emitter is wip it's not a problem to
> have it not handle some cases
> [09:19] <Bigcheese> the set directive shouldn't work either.
Just some follow-up: the problem is that is seems COFF emitter does
not support symbol differences.
I agree this big problem when two symbols are located in different
sections: quite few object file formats can tolerate this.
However, in the case in question, the difference is made from the
symbols located in the same section.
This should be not so hard to support.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-commits mailing list