# RUN: yaml2obj %s -o %t.in.o
#
# RUN: llvm-objdump --section-headers %t.in.o | FileCheck %s --check-prefixes=SECTIONS-PRE
# RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS-PRE
#
# RUN: llvm-objcopy -R .bss %t.in.o %t.remove-bss.o
# RUN: llvm-objdump --section-headers %t.remove-bss.o | FileCheck %s --check-prefix=SECTIONS-REMOVE-BSS
# RUN: llvm-objdump -t %t.remove-bss.o | FileCheck %s --check-prefix=SYMBOLS-REMOVE-BSS
#
# RUN: llvm-objcopy --remove-section .bss %t.in.o %t.cmp.o
# RUN: cmp %t.remove-bss.o %t.cmp.o
#
# RUN: llvm-objcopy -R .text %t.in.o %t.remove-text.o
# RUN: llvm-objdump --section-headers %t.remove-text.o | FileCheck %s --check-prefix=SECTIONS-REMOVE-TEXT
# RUN: llvm-objdump -t %t.remove-text.o | FileCheck %s --check-prefix=SYMBOLS-REMOVE-TEXT
#
# RUN: not llvm-objcopy -R .comdat %t.in.o %t.remove-comdat.o 2>&1 | FileCheck %s --check-prefix=ERROR-RELOC
#
# RUN: llvm-objcopy -R .text -R .comdat %t.in.o %t.remove-text-comdat.o
# RUN: llvm-objdump --section-headers %t.remove-text-comdat.o | FileCheck %s --check-prefix=SECTIONS-REMOVE-TEXT-COMDAT
# RUN: llvm-objdump -t %t.remove-text-comdat.o | FileCheck %s --check-prefix=SYMBOLS-REMOVE-TEXT-COMDAT
#
#
# SECTIONS-PRE: Sections:
# SECTIONS-PRE-NEXT: Idx Name
# SECTIONS-PRE-NEXT: 0 .text
# SECTIONS-PRE-NEXT: 1 .bss
# SECTIONS-PRE-NEXT: 2 .comdat
# SECTIONS-PRE-NEXT: 3 .associative
# SECTIONS-PRE-EMPTY:
#
# SYMBOLS-PRE: SYMBOL TABLE:
# SYMBOLS-PRE-NEXT: {{.*}}(sec -1){{.*}} @feat.00
# SYMBOLS-PRE-NEXT: {{.*}}(sec 1){{.*}} .text
# SYMBOLS-PRE-NEXT: AUX scnlen {{.*}} assoc 1 comdat 0
# SYMBOLS-PRE-NEXT: {{.*}}(sec 2){{.*}} .bss
# SYMBOLS-PRE-NEXT: AUX scnlen {{.*}} assoc 2 comdat 0
# SYMBOLS-PRE-NEXT: {{.*}}(sec 4){{.*}} .associative
# SYMBOLS-PRE-NEXT: AUX scnlen {{.*}} assoc 3 comdat 5
# SYMBOLS-PRE-NEXT: {{.*}}(sec 3){{.*}} .comdat
# SYMBOLS-PRE-NEXT: AUX scnlen {{.*}} assoc 3 comdat 2
# SYMBOLS-PRE-NEXT: {{.*}}(sec 3){{.*}} foo
# SYMBOLS-PRE-NEXT: {{.*}}(sec 1){{.*}} main
# SYMBOLS-PRE-EMPTY:
#
#
# Removing the .bss section removes one symbol and its aux symbol,
# and updates the section indices in symbols pointing to later
# symbols, including the aux section defintitions.
#
# Testing that the absolute symbol @feat.00 survives the section number
# mangling.
#
# SECTIONS-REMOVE-BSS: Sections:
# SECTIONS-REMOVE-BSS-NEXT: Idx Name
# SECTIONS-REMOVE-BSS-NEXT: 0 .text
# SECTIONS-REMOVE-BSS-NEXT: 1 .comdat
# SECTIONS-REMOVE-BSS-NEXT: 2 .associative
# SECTIONS-REMOVE-BSS-EMPTY:
#
# SYMBOLS-REMOVE-BSS: SYMBOL TABLE:
# SYMBOLS-REMOVE-BSS-NEXT: {{.*}}(sec -1){{.*}} @feat.00
# SYMBOLS-REMOVE-BSS-NEXT: {{.*}}(sec 1){{.*}} .text
# SYMBOLS-REMOVE-BSS-NEXT: AUX scnlen {{.*}} assoc 1 comdat 0
# SYMBOLS-REMOVE-BSS-NEXT: {{.*}}(sec 3){{.*}} .associative
# SYMBOLS-REMOVE-BSS-NEXT: AUX scnlen {{.*}} assoc 2 comdat 5
# SYMBOLS-REMOVE-BSS-NEXT: {{.*}}(sec 2){{.*}} .comdat
# SYMBOLS-REMOVE-BSS-NEXT: AUX scnlen {{.*}} assoc 2 comdat 2
# SYMBOLS-REMOVE-BSS-NEXT: {{.*}}(sec 2){{.*}} foo
# SYMBOLS-REMOVE-BSS-NEXT: {{.*}}(sec 1){{.*}} main
# SYMBOLS-REMOVE-BSS-EMPTY:
#
#
# Removing the .text section is ok and just removes the external symbol
# referring to it.
#
# SECTIONS-REMOVE-TEXT: Sections:
# SECTIONS-REMOVE-TEXT-NEXT: Idx Name
# SECTIONS-REMOVE-TEXT-NEXT: 0 .bss
# SECTIONS-REMOVE-TEXT-NEXT: 1 .comdat
# SECTIONS-REMOVE-TEXT-NEXT: 2 .associative
# SECTIONS-REMOVE-TEXT-EMPTY:
#
# SYMBOLS-REMOVE-TEXT: SYMBOL TABLE:
# SYMBOLS-REMOVE-TEXT-NEXT: {{.*}}(sec -1){{.*}} @feat.00
# SYMBOLS-REMOVE-TEXT-NEXT: {{.*}}(sec 1){{.*}} .bss
# SYMBOLS-REMOVE-TEXT-NEXT: AUX scnlen {{.*}} assoc 1 comdat 0
# SYMBOLS-REMOVE-TEXT-NEXT: {{.*}}(sec 3){{.*}} .associative
# SYMBOLS-REMOVE-TEXT-NEXT: AUX scnlen {{.*}} assoc 2 comdat 5
# SYMBOLS-REMOVE-TEXT-NEXT: {{.*}}(sec 2){{.*}} .comdat
# SYMBOLS-REMOVE-TEXT-NEXT: AUX scnlen {{.*}} assoc 2 comdat 2
# SYMBOLS-REMOVE-TEXT-NEXT: {{.*}}(sec 2){{.*}} foo
# SYMBOLS-REMOVE-TEXT-EMPTY:
#
#
# Removing the .comdat section fails, since the .text section has relocations
# against it.
#
# ERROR-RELOC: relocation target 'foo' ({{.*}}) not found
#
#
# Removing the .comdat section and .text (with a relocation against .comdat)
# works, as it also removes the .associative section transitively.
#
# SECTIONS-REMOVE-TEXT-COMDAT: Sections:
# SECTIONS-REMOVE-TEXT-COMDAT-NEXT: Idx Name
# SECTIONS-REMOVE-TEXT-COMDAT-NEXT: 0 .bss
# SECTIONS-REMOVE-TEXT-COMDAT-EMPTY:
#
# SYMBOLS-REMOVE-TEXT-COMDAT: SYMBOL TABLE:
# SYMBOLS-REMOVE-TEXT-COMDAT-NEXT: {{.*}}(sec -1){{.*}} @feat.00
# SYMBOLS-REMOVE-TEXT-COMDAT-NEXT: {{.*}}(sec 1){{.*}} .bss
# SYMBOLS-REMOVE-TEXT-COMDAT-NEXT: AUX scnlen {{.*}} assoc 1 comdat 0
# SYMBOLS-REMOVE-TEXT-COMDAT-EMPTY:

--- !COFF
header:          
  Machine:         IMAGE_FILE_MACHINE_AMD64
  Characteristics: [  ]
sections:        
  - Name:            .text
    Characteristics: [  ]
    Alignment:       4
    SectionData:     488B0500000000C3
    Relocations:     
      - VirtualAddress:  3
        SymbolName:      foo
        Type:            IMAGE_REL_AMD64_REL32
  - Name:            .bss
    Characteristics: [  ]
    Alignment:       4
    SectionData:     ''
  - Name:            .comdat
    Characteristics: [ IMAGE_SCN_LNK_COMDAT ]
    Alignment:       1
    SectionData:     '2A000000'
  - Name:            .associative
    Characteristics: [ IMAGE_SCN_LNK_COMDAT ]
    Alignment:       1
    SectionData:     '0000000000000000'
symbols:         
  - Name:            '@feat.00'
    Value:           0
    SectionNumber:   -1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
  - Name:            .text
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition: 
      Length:          8
      NumberOfRelocations: 1
      NumberOfLinenumbers: 0
      CheckSum:        583624169
      Number:          1
  - Name:            .bss
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition: 
      Length:          0
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          2
  - Name:            .associative
    Value:           0
    SectionNumber:   4
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition: 
      Length:          8
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          3
      Selection:       IMAGE_COMDAT_SELECT_ASSOCIATIVE
  - Name:            .comdat
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition: 
      Length:          4
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        3482275674
      Number:          3
      Selection:       IMAGE_COMDAT_SELECT_ANY
  - Name:            foo
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            main
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
