100 lines · plain
1# RUN: yaml2obj %s -o %t2 3# RUN: rm -f %t.a4# RUN: llvm-ar crs %t.a %t5# RUN: cp %t.a %t.copy.a6# RUN: llvm-objcopy %t.a %t2.a7# RUN: llvm-objcopy %t %t28# RUN: llvm-ar p %t2.a > %t39# RUN: cmp %t2 %t310 11# RUN: llvm-readobj --sections %t2 | FileCheck %s12# RUN: llvm-nm --print-armap %t.a | FileCheck --check-prefix=INDEX-TABLE %s13# RUN: llvm-nm --print-armap %t2.a | FileCheck --check-prefix=INDEX-TABLE %s14# Verify that llvm-objcopy has not modifed the input.15# RUN: cmp %t.copy.a %t.a16 17# INDEX-TABLE: Archive map18# INDEX-TABLE-NEXT: foo in19 20# RUN: rm -f %t.no.index.a21# RUN: llvm-ar crS %t.no.index.a %t22# RUN: llvm-objcopy %t.no.index.a %t2.no.index.a23# RUN: llvm-ar p %t2.no.index.a > %t424 25# RUN: llvm-nm --print-armap %t.no.index.a | FileCheck --check-prefix=NO-INDEX-TABLE %s26# RUN: llvm-nm --print-armap %t2.no.index.a | FileCheck --check-prefix=NO-INDEX-TABLE %s27# RUN: cmp %t2 %t428 29# NO-INDEX-TABLE-NOT: Archive map30# NO-INDEX-TABLE-NOT: foo in31 32!ELF33FileHeader:34 Class: ELFCLASS6435 Data: ELFDATA2LSB36 Type: ET_EXEC37 Machine: EM_X86_6438Sections:39 - Name: .bss40 Type: SHT_NOBITS41 Flags: [ SHF_ALLOC ]42 AddressAlign: 0x000000000000001043 Size: 6444 - Name: .text45 Type: SHT_PROGBITS46 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]47 AddressAlign: 0x000000000000001048 Content: "00000000"49Symbols:50 - Name: foo51 Type: STT_FUNC52 Section: .text53 Value: 0x100454 Binding: STB_GLOBAL55 56# CHECK: Type: SHT_NULL57 58# CHECK: Name: .bss59# CHECK-NEXT: Type: SHT_NOBITS60# CHECK-NEXT: Flags [61# CHECK-NEXT: SHF_ALLOC62# CHECK-NEXT: ]63# CHECK-NEXT: Address:64# CHECK-NEXT: Offset:65# CHECK-NEXT: Size: 6466 67# CHECK: Name: .text68# CHECK-NEXT: Type: SHT_PROGBITS69# CHECK-NEXT: Flags [70# CHECK-NEXT: SHF_ALLOC71# CHECK-NEXT: SHF_EXECINSTR72# CHECK-NEXT: ]73# CHECK-NEXT: Address:74# CHECK-NEXT: Offset:75# CHECK-NEXT: Size: 476 77# CHECK: Name: .symtab78# CHECK-NEXT: Type: SHT_SYMTAB79# CHECK-NEXT: Flags [ (0x0)80# CHECK-NEXT: ]81# CHECK-NEXT: Address:82# CHECK-NEXT: Offset:83# CHECK-NEXT: Size: 4884 85# CHECK: Name: .strtab86# CHECK-NEXT: Type: SHT_STRTAB87# CHECK-NEXT: Flags [ (0x0)88# CHECK-NEXT: ]89# CHECK-NEXT: Address:90# CHECK-NEXT: Offset:91# CHECK-NEXT: Size: 592 93# CHECK: Name: .shstrtab94# CHECK-NEXT: Type: SHT_STRTAB95# CHECK-NEXT: Flags [96# CHECK-NEXT: ]97# CHECK-NEXT: Address:98# CHECK-NEXT: Offset:99# CHECK-NEXT: Size: 38100