brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · e8bc32d Raw
69 lines · plain
1// Test that notes (both from object files and synthetic) are duplicated into2// each partition.3 4// REQUIRES: x865 6// RUN: llvm-mc %s -o %t.o -filetype=obj --triple=x86_64-unknown-linux7// RUN: ld.lld %t.o -o %t --shared --gc-sections --build-id=sha18 9// RUN: llvm-objcopy --extract-main-partition %t %t010// RUN: llvm-objcopy --extract-partition=part1 %t %t111 12// RUN: llvm-readobj --all %t0 | FileCheck %s13// RUN: llvm-readobj --all %t1 | FileCheck %s14 15// CHECK:        Type: PT_NOTE16// CHECK-NEXT:   Offset: 0x{{0*}}[[NOTE_OFFSET:[^ ]*]]17 18// CHECK:      NoteSections [19// CHECK-NEXT:   NoteSection {20// CHECK-NEXT:     Name: .note.obj21// CHECK-NEXT:     Offset: 0x{{0*}}[[NOTE_OFFSET]]22// CHECK-NEXT:     Size:23// CHECK-NEXT:	   Notes [24// CHECK-NEXT:     {25// CHECK-NEXT:       Owner: foo26// CHECK-NEXT:       Data size: 0x427// CHECK-NEXT:       Type: NT_VERSION (version)28// CHECK-NEXT:       Description data (29// CHECK-NEXT:         0000: 62617200                             |bar.|30// CHECK-NEXT:       )31// CHECK-NEXT:     }32// CHECK-NEXT:	  ]33// CHECK-NEXT:   }34// CHECK-NEXT:   NoteSection {35// CHECK-NEXT:     Name: .note.gnu.build-id36// CHECK-NEXT:     Offset:37// CHECK-NEXT:     Size:38// CHECK-NEXT:	   Notes [39// CHECK-NEXT:     {40// CHECK-NEXT:       Owner: GNU41// CHECK-NEXT:       Data size:42// CHECK-NEXT:       Type: NT_GNU_BUILD_ID (unique build ID bitstring)43// CHECK-NEXT:       Build ID: d5101cb9d03b7e836ba9b64f5768a0b31980920f{{$}}44// CHECK-NEXT:     }45// CHECK-NEXT:	  ]46// CHECK-NEXT:   }47// CHECK-NEXT: ]48 49.section .llvm_sympart,"",@llvm_sympart50.asciz "part1"51.quad p152 53.section .data.p0,"aw",@progbits54.globl p055p0:56 57.section .data.p1,"aw",@progbits58.globl p159p1:60 61.section .note.obj,"a",@note62.align 463.long 2f-1f64.long 3f-2f65.long 1661: .asciz "foo"672: .asciz "bar"683:69