brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 309a98f Raw
94 lines · plain
1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --symbols -r --expand-relocs - | FileCheck %s2 3.section foo, "aG", @progbits, f1, comdat4.section foo, "G", @progbits, f2, comdat5.section bar6.long foo7 8// Test that the relocation points to the first section foo.9 10// The first seciton foo has index 611// CHECK:      Section {12// CHECK:        Index:   413// CHECK-NEXT:   Name:    foo14// CHECK-NEXT:   Type:    SHT_PROGBITS (0x1)15// CHECK-NEXT:   Flags [ (0x202)16// CHECK-NEXT:     SHF_ALLOC (0x2)17// CHECK-NEXT:     SHF_GROUP (0x200)18// CHECK-NEXT:   ]19// CHECK-NEXT:   Address:         0x020// CHECK-NEXT:   Offset:21// CHECK-NEXT:   Size:    022// CHECK-NEXT:   Link:    023// CHECK-NEXT:   Info:    024// CHECK-NEXT:   AddressAlignment:        125// CHECK-NEXT:   EntrySize:       026// CHECK-NEXT: }27// CHECK:      Section {28// CHECK:        Index:   629// CHECK-NEXT:   Name:    foo30// CHECK-NEXT:   Type:    SHT_PROGBITS (0x1)31// CHECK-NEXT:   Flags [ (0x200)32// CHECK-NEXT:     SHF_GROUP (0x200)33// CHECK-NEXT:   ]34// CHECK-NEXT:   Address:         0x035// CHECK-NEXT:   Offset:36// CHECK-NEXT:   Size:    037// CHECK-NEXT:   Link:    038// CHECK-NEXT:   Info:    039// CHECK-NEXT:   AddressAlignment:        140// CHECK-NEXT:   EntrySize:       041// CHECK-NEXT: }42 43// The relocation points to symbol 344// CHECK:      Relocations [45// CHECK-NEXT:   Section ({{.*}}) .relabar {46// CHECK-NEXT:     Relocation {47// CHECK-NEXT:       Offset:  0x048// CHECK-NEXT:       Type:    R_X86_64_32 (10)49// CHECK-NEXT:       Symbol:  foo (2)50// CHECK-NEXT:       Addend:  0x051// CHECK-NEXT:     }52// CHECK-NEXT:   }53// CHECK-NEXT: ]54 55// Symbol 3 is section 656// CHECK: Symbols [57// CHECK-NEXT:  Symbol {58// CHECK-NEXT:    Name:  (0)59// CHECK-NEXT:    Value: 0x060// CHECK-NEXT:    Size: 061// CHECK-NEXT:    Binding: Local (0x0)62// CHECK-NEXT:    Type: None (0x0)63// CHECK-NEXT:    Other: 064// CHECK-NEXT:    Section: Undefined (0x0)65// CHECK-NEXT:  }66// CHECK-NEXT:  Symbol {67// CHECK-NEXT:    Name: f168// CHECK-NEXT:    Value: 0x069// CHECK-NEXT:    Size: 070// CHECK-NEXT:    Binding: Local (0x0)71// CHECK-NEXT:    Type: None (0x0)72// CHECK-NEXT:    Other: 073// CHECK-NEXT:    Section: .group74// CHECK-NEXT:  }75// CHECK-NEXT:  Symbol {76// CHECK-NEXT:    Name: foo (0)77// CHECK-NEXT:    Value: 0x078// CHECK-NEXT:    Size: 079// CHECK-NEXT:    Binding: Local (0x0)80// CHECK-NEXT:    Type: Section (0x3)81// CHECK-NEXT:    Other: 082// CHECK-NEXT:    Section: foo (0x4)83// CHECK-NEXT:  }84// CHECK-NEXT:  Symbol {85// CHECK-NEXT:    Name: f286// CHECK-NEXT:    Value: 0x087// CHECK-NEXT:    Size: 088// CHECK-NEXT:    Binding: Local (0x0)89// CHECK-NEXT:    Type: None (0x0)90// CHECK-NEXT:    Other: 091// CHECK-NEXT:    Section: .group92// CHECK-NEXT:  }93// CHECK-NEXT: ]94