[LLVMbugs] [Bug 22996] New: Difference in relocations with -no-integrated-as

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Mar 23 07:14:33 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=22996

            Bug ID: 22996
           Summary: Difference in relocations with -no-integrated-as
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: MC
          Assignee: unassignedbugs at nondot.org
          Reporter: russell_gallop at sn.scee.net
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

For the following example: using direct object emission the address at 0xb does
not have a relocation, using -no-integrated-as it does have a relocation. There
is a relocation for 0x6 in both cases. Using r232386.

$ cat test.cpp
struct A {
  A();
};
void fn1() {
  A();
  fn1();
}
$ clang -c -O2 test.cpp -o direct.o
$ objdump -d direct.o

direct.o:     file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <_Z3fn1v>:
   0:   50                      push   %rax
   1:   48 8d 3c 24             lea    (%rsp),%rdi
   5:   e8 00 00 00 00          callq  a <_Z3fn1v+0xa>
   a:   e8 f1 ff ff ff          callq  0 <_Z3fn1v>
   f:   58                      pop    %rax
  10:   c3                      retq
$ objdump -r direct.o

direct.o:     file format elf64-x86-64

RELOCATION RECORDS FOR [.text]:
OFFSET           TYPE              VALUE
0000000000000006 R_X86_64_PC32     _ZN1AC1Ev-0x0000000000000004


RELOCATION RECORDS FOR [.eh_frame]:
OFFSET           TYPE              VALUE
0000000000000020 R_X86_64_PC32     .text


$ clang -c -O2 test.cpp -no-integrated-as -o no_int_as.o
$ objdump -d no_int_as.o

no_int_as.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <_Z3fn1v>:
   0:   50                      push   %rax
   1:   48 8d 3c 24             lea    (%rsp),%rdi
   5:   e8 00 00 00 00          callq  a <_Z3fn1v+0xa>
   a:   e8 00 00 00 00          callq  f <_Z3fn1v+0xf>
   f:   58                      pop    %rax
  10:   c3                      retq
$ objdump -r no_int_as.o

no_int_as.o:     file format elf64-x86-64

RELOCATION RECORDS FOR [.text]:
OFFSET           TYPE              VALUE
0000000000000006 R_X86_64_PC32     _ZN1AC1Ev-0x0000000000000004
000000000000000b R_X86_64_PC32     _Z3fn1v-0x0000000000000004


RELOCATION RECORDS FOR [.eh_frame]:
OFFSET           TYPE              VALUE
0000000000000020 R_X86_64_PC32     .text

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150323/ef98ec4e/attachment.html>


More information about the llvm-bugs mailing list