brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 892bbde Raw
76 lines · plain
1# REQUIRES: systemz2# RUN: llvm-mc -filetype=obj -triple=s390x-none-linux-gnu %s -o %t.o3# RUN: ld.lld -static %t.o -o %t4# RUN: ld.lld -static %t.o -o %t.apply --apply-dynamic-relocs5# RUN: llvm-readelf --section-headers --relocations --symbols %t | FileCheck %s6# RUN: llvm-readelf -x .got.plt %t | FileCheck %s --check-prefix=NO-APPLY-RELOC7# RUN: llvm-readelf -x .got.plt %t.apply | FileCheck %s --check-prefix=APPLY-RELOC8# RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t | FileCheck %s --check-prefix=DISASM9 10# CHECK:      Section Headers:11# CHECK-NEXT:  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al12# CHECK-NEXT:  [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  013# CHECK-NEXT:  [ 1] .rela.dyn         RELA            0000000001000158 000158 000030 18   A  0   0  814# CHECK-NEXT:  [ 2] .text             PROGBITS        0000000001001188 000188 00001c 00  AX  0   0  415# CHECK-NEXT:  [ 3] .iplt             PROGBITS        00000000010011b0 0001b0 000040 00  AX  0   0 1616# CHECK-NEXT:  [ 4] .got.plt          PROGBITS        00000000010021f0 0001f0 000010 00  WA  0   0  817 18# CHECK:      Relocation section '.rela.dyn' at offset 0x158 contains 2 entries:19# CHECK-NEXT:     Offset             Info             Type               Symbol's Value  Symbol's Name + Addend20# CHECK-NEXT: 00000000010021f0  000000000000003d R_390_IRELATIVE                   100118821# CHECK-NEXT: 00000000010021f8  000000000000003d R_390_IRELATIVE                   100118a22 23# CHECK:      Symbol table '.symtab' contains 6 entries:24# CHECK-NEXT:   Num:    Value          Size Type    Bind   Vis       Ndx Name25# CHECK-NEXT:     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT   UND26# CHECK-NEXT:     1: 0000000001000158     0 NOTYPE  LOCAL  HIDDEN      1 __rela_iplt_start27# CHECK-NEXT:     2: 0000000001000188     0 NOTYPE  LOCAL  HIDDEN      1 __rela_iplt_end28# CHECK-NEXT:     3: 0000000001001188     0 IFUNC   GLOBAL DEFAULT     2 foo29# CHECK-NEXT:     4: 000000000100118a     0 IFUNC   GLOBAL DEFAULT     2 bar30# CHECK-NEXT:     5: 000000000100118c     0 NOTYPE  GLOBAL DEFAULT     2 _start31 32# NO-APPLY-RELOC-LABEL:  Hex dump of section '.got.plt':33# NO-APPLY-RELOC-NEXT:     0x010021f0 00000000 00000000 00000000 0000000034# NO-APPLY-RELOC-EMPTY:35 36# APPLY-RELOC-LABEL:  Hex dump of section '.got.plt':37# APPLY-RELOC-NEXT:     0x010021f0 00000000 01001188 00000000 0100118a38# APPLY-RELOC-EMPTY:39 40# DISASM: Disassembly of section .text:41# DISASM: 0000000001001188 <foo>:42# DISASM-NEXT:  br      %r1443# DISASM: 000000000100118a <bar>:44# DISASM-NEXT:  br      %r1445# DISASM: 000000000100118c  <_start>:46# DISASM-NEXT:  brasl   %r14, 0x10011b047# DISASM-NEXT:  brasl   %r14, 0x10011d048# DISASM-NEXT:  larl    %r2, 0x100015849# DISASM-NEXT:  larl    %r2, 0x100018850# DISASM: Disassembly of section .iplt:51# DISASM: <.iplt>:52# DISASM:        10011b0:       larl    %r1, 0x10021f053# DISASM-NEXT:   10011b6:       lg      %r1, 0(%r1)54# DISASM-NEXT:   10011bc:       br      %r155# DISASM:        10011d0:       larl    %r1, 0x10021f856# DISASM-NEXT:   10011d6:       lg      %r1, 0(%r1)57# DISASM-NEXT:   10011dc:       br      %r158 59.text60.type foo STT_GNU_IFUNC61.globl foo62foo:63 br %r1464 65.type bar STT_GNU_IFUNC66.globl bar67bar:68 br %r1469 70.globl _start71_start:72 brasl %r14, foo@plt73 brasl %r14, bar@plt74 larl %r2, __rela_iplt_start75 larl %r2, __rela_iplt_end76