[PATCH] D91965: Revert "[X86] Produce R_X86_64_GOTPCRELX for test/binop instructions (MOV32rm/TEST32rm/...) when -Wa,-mrelax-relocations=yes is enabled"

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 23 09:57:30 PST 2020


MaskRay added a comment.

Thanks for reporting the issue. The problem is that clang produces incorrect GOTPCREL+offset fixup. I will try providing a better fix.

  // gcc -fpic -fvisibility=hidden -O -S test.c -o - -fno-asynchronous-unwind-tables
  test2:
          movq    otherfunction at GOTPCREL(%rip), %rax
          sarq    $32, %rax
          ret
  
  // gcc -fpic -fvisibility=hidden -O -S test.c -o - -fno-asynchronous-unwind-tables
  test2:                                  # @test2
  # %bb.0:                                # %entry
          movl    otherfunction at GOTPCREL+4(%rip), %eax
          retq


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91965/new/

https://reviews.llvm.org/D91965



More information about the llvm-commits mailing list