[LLVMdev] [cfe-dev] [RFC PATCH] X32 ABI support for Clang/compiler-rt

Steven Newbury steve at snewbury.org.uk
Thu Aug 22 01:02:19 PDT 2013


On Thu, 2013-08-22 at 11:29 +0400, Alexey Samsonov wrote:
> Ah, I've replied in a different thread already. What Dmitri says - If
> you're interesting in only building the Clang on x32 host, you may avoid
> checking out compiler-rt repo for now.
> 
> 
compiler-rt does make a convenient compiler test though.. :)

fatal error: error in backend: Cannot select: 0x30ccf38: ch = brind
0x30cccf8:1, 0x30cc368 [ORD=109] [ID=11]
  0x30cc368: i32 = add 0x30cccf8, 0x30cc518 [ORD=109] [ID=10]
    0x30cccf8: i32,ch = load 0x30cc2d8:1, 0x30ccfc8,
0x30cc6c8<LD4[JumpTable]> [ORD=109] [ID=9]
      0x30ccfc8: i32 = add 0x30cc5a8, 0x30cc518 [ORD=109] [ID=8]
        0x30cc5a8: i32 = shl 0x30cc2d8, 0x30ccc68 [ORD=109] [ID=7]
          0x30cc2d8: i32,ch = CopyFromReg 0x30a6168, 0x30cc908 [ORD=109]
[ID=5]
            0x30cc908: i32 = Register %vreg29 [ID=1]
          0x30ccc68: i8 = Constant<2> [ID=4]
        0x30cc518: i32 = X86ISD::WrapperRIP 0x30ccab8 [ID=6]
          0x30ccab8: i32 = TargetJumpTable<0> [ID=3]
      0x30cc6c8: i32 = undef [ID=2]
    0x30cc518: i32 = X86ISD::WrapperRIP 0x30ccab8 [ID=6]
      0x30ccab8: i32 = TargetJumpTable<0> [ID=3]
In function: __atomic_compare_exchange
clang: error: clang frontend command failed with exit code 70 (use -v to
see invocation)
clang version 3.4 (trunk)
Target: x86_64-pc-linux-gnux32
Thread model: posix

This is what happens when compiling compiler-rt with -m64 or -mx32,
exact same error without my patches (where -mx32 is supported).
However, I know -mx32 isn't working since the objects always end up
elf_x86_64, which is why I known this is a somewhat unrelated bug.





More information about the llvm-dev mailing list