1// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 2// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/comdat.s -o %t2.o 3// RUN: ld.lld -shared %t.o %t.o %t2.o -o %t 4// RUN: llvm-objdump -d %t | FileCheck %s 5// RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=READ %s 6// REQUIRES: x86 7 8 .section .text2,"axG",@progbits,foo,comdat,unique,0 9foo: 10 nop 11 12// CHECK: Disassembly of section .text2: 13// CHECK-NEXT: foo: 14// CHECK-NEXT: 1000: {{.*}} nop 15// CHECK-NOT: nop 16 17 .section bar, "ax" 18 call foo 19 20// CHECK: Disassembly of section bar: 21// CHECK-NEXT: bar: 22// 0x1000 - 0x1001 - 5 = -6 23// 0 - 0x1006 - 5 = -4107 24// CHECK-NEXT: 1001: {{.*}} callq -6 25// CHECK-NEXT: 1006: {{.*}} callq -4107 26 27 .section .text3,"axG",@progbits,zed,comdat,unique,0 28 29 30// READ: Name: .text2 31// READ-NEXT: Type: SHT_PROGBITS 32// READ-NEXT: Flags [ 33// READ-NEXT: SHF_ALLOC 34// READ-NEXT: SHF_EXECINSTR 35// READ-NEXT: ] 36 37// READ: Name: .text3 38// READ-NEXT: Type: SHT_PROGBITS 39// READ-NEXT: Flags [ 40// READ-NEXT: SHF_ALLOC 41// READ-NEXT: SHF_EXECINSTR 42// READ-NEXT: ] 43 44// READ: Symbols [ 45// READ-NEXT: Symbol { 46// READ-NEXT: Name: (0) 47// READ-NEXT: Value: 0x0 48// READ-NEXT: Size: 0 49// READ-NEXT: Binding: Local 50// READ-NEXT: Type: None 51// READ-NEXT: Other: 0 52// READ-NEXT: Section: Undefined 53// READ-NEXT: } 54// READ-NEXT: Symbol { 55// READ-NEXT: Name: foo 56// READ-NEXT: Value 57// READ-NEXT: Size: 0 58// READ-NEXT: Binding: Local 59// READ-NEXT: Type: None 60// READ-NEXT: Other: 0 61// READ-NEXT: Section: .text 62// READ-NEXT: } 63// READ-NEXT: Symbol { 64// READ-NEXT: Name: _DYNAMIC 65// READ-NEXT: Value: 0x2000 66// READ-NEXT: Size: 0 67// READ-NEXT: Binding: Local 68// READ-NEXT: Type: None 69// READ-NEXT: Other [ (0x2) 70// READ-NEXT: STV_HIDDEN 71// READ-NEXT: ] 72// READ-NEXT: Section: .dynamic 73// READ-NEXT: } 74// READ-NEXT: Symbol { 75// READ-NEXT: Name: abc 76// READ-NEXT: Value: 0x0 77// READ-NEXT: Size: 0 78// READ-NEXT: Binding: Global 79// READ-NEXT: Type: None 80// READ-NEXT: Other: 0 81// READ-NEXT: Section: Undefined 82// READ-NEXT: } 83// READ-NEXT: ] 84