brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 0b56c8a Raw
189 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t3// RUN: ld.lld %t -o %t24// RUN: llvm-readobj --symbols --sections %t2 | FileCheck %s5 6.type _start, @function7.globl _start8_start:9 10.type foo, @object11.weak foo12foo:13 14.type bar, @object15.weak bar16.long bar17 18.section        foobar,"a",@nobits,unique,119.globl zed20zed:21        .long 022.globl zed223zed2:24.long 025 26.section        foobar,"a",@nobits,unique,227.globl zed328.size zed3, 429zed3:30 31.globl abs32abs = 0x12333 34.comm common,4,435 36.global protected37.protected protected38protected:39 40.global hidden41.hidden hidden42hidden:43 44.global internal45.internal internal46internal:47 48// CHECK:      Name: foobar49// CHECK-NEXT: Type: SHT_NOBITS50// CHECK-NEXT: Flags [51// CHECK-NEXT:   SHF_ALLOC52// CHECK-NEXT: ]53// CHECK-NEXT: Address: 0x20015854 55// CHECK:      Name: .text56// CHECK-NEXT: Type: SHT_PROGBITS57// CHECK-NEXT: Flags [58// CHECK-NEXT:   SHF_ALLOC59// CHECK-NEXT:   SHF_EXECINSTR60// CHECK-NEXT: ]61// CHECK-NEXT: Address: 0x20116062 63// CHECK:      Name: .bss64// CHECK-NEXT: Type: SHT_NOBITS65// CHECK-NEXT: Flags [66// CHECK-NEXT:   SHF_ALLOC67// CHECK-NEXT:   SHF_WRITE68// CHECK-NEXT: ]69// CHECK-NEXT: Address: 0x20216470// CHECK-NEXT: Offset:71// CHECK-NEXT: Size: 472 73// CHECK:      Symbols [74// CHECK-NEXT:   Symbol {75// CHECK-NEXT:     Name:  (0)76// CHECK-NEXT:     Value: 0x077// CHECK-NEXT:     Size: 078// CHECK-NEXT:     Binding: Local (0x0)79// CHECK-NEXT:     Type: None (0x0)80// CHECK-NEXT:     Other: 081// CHECK-NEXT:     Section: Undefined (0x0)82// CHECK-NEXT:   }83// CHECK-NEXT: Symbol {84// CHECK-NEXT:     Name: hidden85// CHECK-NEXT:     Value: 0x20016086// CHECK-NEXT:     Size: 087// CHECK-NEXT:     Binding: Local88// CHECK-NEXT:     Type: None89// CHECK-NEXT:     Other [ (0x2)90// CHECK-NEXT:       STV_HIDDEN91// CHECK-NEXT:     ]92// CHECK-NEXT:     Section: foobar93// CHECK-NEXT:   }94// CHECK-NEXT:   Symbol {95// CHECK-NEXT:     Name: internal96// CHECK-NEXT:     Value: 0x20016097// CHECK-NEXT:     Size: 098// CHECK-NEXT:     Binding: Local99// CHECK-NEXT:     Type: None100// CHECK-NEXT:     Other [ (0x1)101// CHECK-NEXT:       STV_INTERNAL102// CHECK-NEXT:     ]103// CHECK-NEXT:     Section: foobar104// CHECK-NEXT:   }105// CHECK-NEXT:   Symbol {106// CHECK-NEXT:     Name: _start107// CHECK-NEXT:     Value: 0x201160108// CHECK-NEXT:     Size: 0109// CHECK-NEXT:     Binding: Global (0x1)110// CHECK-NEXT:     Type: Function111// CHECK-NEXT:     Other: 0112// CHECK-NEXT:     Section: .text113// CHECK-NEXT:   }114// CHECK-NEXT:   Symbol {115// CHECK-NEXT:     Name: foo116// CHECK-NEXT:     Value: 0x201160117// CHECK-NEXT:     Size: 0118// CHECK-NEXT:     Binding: Weak (0x2)119// CHECK-NEXT:     Type: Object120// CHECK-NEXT:     Other: 0121// CHECK-NEXT:     Section: .text122// CHECK-NEXT:   }123// CHECK-NEXT:   Symbol {124// CHECK-NEXT:     Name: bar125// CHECK-NEXT:     Value: 0x0126// CHECK-NEXT:     Size: 0127// CHECK-NEXT:     Binding: Weak (0x2)128// CHECK-NEXT:     Type: Object (0x1)129// CHECK-NEXT:     Other: 0130// CHECK-NEXT:     Section: Undefined (0x0)131// CHECK-NEXT:   }132// CHECK-NEXT:   Symbol {133// CHECK-NEXT:     Name: zed134// CHECK-NEXT:     Value: 0x200158135// CHECK-NEXT:     Size: 0136// CHECK-NEXT:     Binding: Global (0x1)137// CHECK-NEXT:     Type: None138// CHECK-NEXT:     Other: 0139// CHECK-NEXT:     Section: foobar140// CHECK-NEXT:   }141// CHECK-NEXT:   Symbol {142// CHECK-NEXT:     Name: zed2143// CHECK-NEXT:     Value: 0x20015C144// CHECK-NEXT:     Size: 0145// CHECK-NEXT:     Binding: Global146// CHECK-NEXT:     Type: None147// CHECK-NEXT:     Other: 0148// CHECK-NEXT:     Section: foobar149// CHECK-NEXT:   }150// CHECK-NEXT:   Symbol {151// CHECK-NEXT:     Name: zed3152// CHECK-NEXT:     Value: 0x200160153// CHECK-NEXT:     Size: 4154// CHECK-NEXT:     Binding: Global155// CHECK-NEXT:     Type: None156// CHECK-NEXT:     Other: 0157// CHECK-NEXT:     Section: foobar158// CHECK-NEXT:   }159// CHECK-NEXT:   Symbol {160// CHECK-NEXT:     Name: abs161// CHECK-NEXT:     Value: 0x123162// CHECK-NEXT:     Size: 0163// CHECK-NEXT:     Binding: Global164// CHECK-NEXT:     Type: None165// CHECK-NEXT:     Other: 0166// CHECK-NEXT:     Section: Absolute167// CHECK-NEXT:   }168// CHECK-NEXT:   Symbol {169// CHECK-NEXT:     Name: common170// CHECK-NEXT:     Value: 0x202164171// CHECK-NEXT:     Size: 4172// CHECK-NEXT:     Binding: Global173// CHECK-NEXT:     Type: Object174// CHECK-NEXT:     Other: 0175// CHECK-NEXT:     Section: .bss176// CHECK-NEXT:   }177// CHECK-NEXT:   Symbol {178// CHECK-NEXT:     Name: protected179// CHECK-NEXT:     Value: 0x200160180// CHECK-NEXT:     Size: 0181// CHECK-NEXT:     Binding: Global182// CHECK-NEXT:     Type: None183// CHECK-NEXT:     Other [ (0x3)184// CHECK-NEXT:       STV_PROTECTED185// CHECK-NEXT:     ]186// CHECK-NEXT:     Section: foobar187// CHECK-NEXT:   }188// CHECK-NEXT: ]189