# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-objcopy --only-keep-debug %t1 %t1.dbg
# RUN: llvm-readelf -S -l -x .note1 -x .note2 -x .debug_abbrev -x .debug_frame -x .debug_info %t1.dbg | FileCheck %s

## Check that SHT_NOTE and .debug* are kept, but others are changed to SHT_NOBITS.
## SHT_NOBITS sections do not occupy space in the output.

# CHECK:      [Nr] Name          Type     Address          Off    Size   ES Flg Lk Inf Al
# CHECK:      [ 1] .note1        NOTE     0000000000000400 000400 000001 00   A  0   0 1024
# CHECK-NEXT: [ 2] .note2        NOTE     0000000000000401 000401 000001 00   A  0   0  0
# CHECK-NEXT: [ 3] .text         NOBITS   0000000000000402 000402 000001 00  AX  0   0  0
# CHECK-NEXT: [ 4] .tdata        NOBITS   0000000000001480 000480 000007 00 WAT  0   0 128
# CHECK-NEXT: [ 5] .tbss         NOBITS   0000000000001487 000480 000005 00 WAT  0   0  0
# CHECK-NEXT: [ 6] .bss          NOBITS   00000000000014a0 000480 00003f 00  WA  0   0 32
## objcopy sets sh_offset to 0x402. We don't do this to keep sh_offset non-decreasing.
# CHECK-NEXT: [ 7] .debug_abbrev PROGBITS 0000000000000000 000480 000001 00      0   0  0
# CHECK-NEXT: [ 8] .debug_frame  PROGBITS 0000000000000000 000488 000001 00      0   0  8
# CHECK-NEXT: [ 9] .debug_info   PROGBITS 0000000000000000 000489 000001 00      0   0  0
# CHECK-NEXT: [10] .strtab       STRTAB   0000000000000000 00048a 000001 00      0   0  1
# CHECK-NEXT: [11] .shstrtab     STRTAB   0000000000000000 00048b 000060 00      0   0  1

# CHECK:      Type Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
# CHECK-NEXT: LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000402 0x000403 R E 0x1000
# CHECK-NEXT: LOAD 0x000480 0x0000000000001480 0x0000000000001480 0x000000 0x00005f RW  0x1000
# CHECK-NEXT: TLS  0x000480 0x0000000000001480 0x0000000000001480 0x000000 0x00000c RW  0x80
# CHECK-NEXT: NOTE 0x000400 0x0000000000000400 0x0000000000000400 0x000002 0x000002     0x400

## Contents of SHT_NOTE and .debug* are kept.

# CHECK:      Hex dump of section '.note1':
# CHECK-NEXT: 0x00000400 01
# CHECK:      Hex dump of section '.note2':
# CHECK-NEXT: 0x00000401 02
# CHECK:      Hex dump of section '.debug_abbrev':
# CHECK-NEXT: 0x00000000 03
# CHECK:      Hex dump of section '.debug_frame':
# CHECK-NEXT: 0x00000000 04
# CHECK:      Hex dump of section '.debug_info':
# CHECK-NEXT: 0x00000000 05

--- !ELF
FileHeader:
  Class:     ELFCLASS64
  Data:      ELFDATA2LSB
  Type:      ET_DYN
  Machine:   EM_X86_64
Sections:
  - Name:         .note1
    Type:         SHT_NOTE
    Flags:        [ SHF_ALLOC ]
    Address:      0x400
    AddressAlign: 0x400
    Content:      01
  - Name:         .note2
    Type:         SHT_NOTE
    Flags:        [ SHF_ALLOC ]
    Address:      0x401
    Content:      02
  - Name:         .text
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]
    Address:      0x402
    Content:      c3
  - Name:         .tdata
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_WRITE, SHF_TLS ]
    Address:      0x1480          # Ensure Address=0x1000+Offset
    AddressAlign: 0x80
    # An arbitrary non-zero Size tests that .tdata does not occupy space
    # and we can rewrite p_filesz of PT_TLS.
    Size:         7
  - Name:         .tbss
    Type:         SHT_NOBITS
    Flags:        [ SHF_ALLOC, SHF_WRITE, SHF_TLS ]
    Address:      0x1487          # Ensure Address=0x1000+Offset
    Size:         5
  - Name:         .bss
    Type:         SHT_NOBITS
    Flags:        [ SHF_ALLOC, SHF_WRITE ]
    Address:      0x14a0          # Ensure Address=0x1000+Offset
    AddressAlign: 0x20
    # An arbitrary non-zero Size tests that .bss does not occupy space.
    Size:         63
  - Name:         .debug_abbrev
    Type:         SHT_PROGBITS
    Content:      03
  - Name:         .debug_frame
    Type:         SHT_PROGBITS
    # AddressAlign tests the file offset assignment leaves a gap.
    AddressAlign: 0x8
    Content:      04
  - Name:         .debug_info
    Type:         SHT_PROGBITS
    Content:      05
ProgramHeaders:
  - Type:     PT_LOAD
    Flags:    [ PF_R, PF_X ]
    Offset:   0
    Align:    0x1000
    FirstSec: .note1
    LastSec:  .text
  - Type:     PT_LOAD
    Flags:    [ PF_R, PF_W ]
    VAddr:    0x1480    # Ensure Offset=VAddr (mod Align) if Offset changes
    Align:    0x1000
    FirstSec: .tdata
    LastSec:  .bss
  - Type:     PT_TLS
    Flags:    [ PF_R, PF_W ]
    VAddr:    0x1480    # Ensure Offset=VAddr (mod Align) if Offset changes
    FirstSec: .tdata
    LastSec:  .tbss
  - Type:     PT_NOTE
    VAddr:    0x400
    FirstSec: .note1
    LastSec:  .note2
...

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: llvm-objcopy --only-keep-debug %t2 %t2.dbg
# RUN: llvm-readelf -S -l %t2.dbg | FileCheck --check-prefix=CHECK2 %s

## Only the tail of a segment can be trimmed. .text still occupies space because
## it is followed by .note which is not SHT_NOBITS.
# CHECK2:      [Nr] Name        Type     Address          Off    Size   ES Flg Lk Inf Al
# CHECK2:      [ 1] .text       NOBITS   0000000000000200 000200 000001 00  AX  0   0 512
# CHECK2-NEXT: [ 2] .note       NOTE     0000000000000201 000201 000001 00   A  0   0  0
# CHECK2-NEXT: [ 3] .debug_info PROGBITS 0000000000000000 000220 000001 00      0   0 32
# CHECK2-NEXT: [ 4] .strtab     STRTAB   0000000000000000 000221 000001 00      0   0  1
# CHECK2-NEXT: [ 5] .shstrtab   STRTAB   0000000000000000 000222 00002b 00      0   0  1

## Check that p_offset or p_filesz of empty segments or PT_PHDR are not modified.
# CHECK2:      Type Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
# CHECK2-NEXT: PHDR 0x000040 0x0000000000000040 0x0000000000000040 0x0000a8 0x0000a8 R   0x8
# CHECK2-NEXT: LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000202 0x000202 R E 0x1000
# CHECK2-NEXT: LOAD 0x000202 0x0000000000000202 0x0000000000000202 0x00000e 0x00000e RW  0x1

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name:         .text
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]
    Address:      0x200
    AddressAlign: 0x200
    Content:      c3
  - Name:         .note
    Type:         SHT_NOTE
    Flags:        [ SHF_ALLOC ]
    Address:      0x201
    Content:      01
  - Name:         .debug_info
    Type:         SHT_PROGBITS
    AddressAlign: 0x20
    Content:      02
ProgramHeaders:
  - Type:     PT_PHDR
    Flags:    [ PF_R ]
    Offset:   0x40
    VAddr:    0x40
    # 3 * sizeof(Elf64_Phdr) = 0xa8
    FileSize: 0xa8
    MemSize:  0xa8
    Align:    8
  - Type:     PT_LOAD
    Flags:    [ PF_R, PF_X ]
    Offset:   0
    Align:    4096
    FirstSec: .text
    LastSec:  .note
  - Type:     PT_LOAD
    Flags:    [ PF_R, PF_W ]
    Offset:   0x202
    VAddr:    0x202
    FileSize: 14
    MemSize:  14
...

## If .symtab or .strtab has the SHF_ALLOC flag, it will be changed to SHT_NOBITS.
# RUN: yaml2obj --docnum=3 %s -o %t3
# RUN: llvm-objcopy --only-keep-debug %t3 %t3.dbg
# RUN: llvm-readelf -S -l %t3.dbg | FileCheck --check-prefix=CHECK3 %s

# CHECK3:      [Nr] Name          Type     Address          Off    Size   ES Flg Lk Inf Al
# CHECK3:      [ 1] .dynsym       NOBITS   0000000000000000 000040 000018 18   A  2   1 1024
# CHECK3-NEXT: [ 2] .dynstr       NOBITS   0000000000000018 000040 000001 00   A  0   0  0
# CHECK3-NEXT: [ 3] .symtab       NOBITS   0000000000000019 000040 000018 00   A  4   1  0
# CHECK3-NEXT: [ 4] .strtab       NOBITS   0000000000000031 000040 000001 00   A  0   0  0
# CHECK3-NEXT: [ 5] .shstrtab     STRTAB   0000000000000000 000040 00002b 00      0   0  1

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name:  .dynsym
    Type:  SHT_DYNSYM
    Flags: [ SHF_ALLOC ]
    Link:  .dynstr
    AddressAlign: 0x400
  - Name:  .dynstr
    Type:  SHT_STRTAB
    Flags: [ SHF_ALLOC ]
  - Name:  .symtab
## TODO: this should be SHT_SYMTAB, but currently llvm-objcopy reports an error:
##       error: Symbol table has link index of 4 which is not a string table
    Type:  SHT_STRTAB
    Flags: [ SHF_ALLOC ]
    Link:  .strtab
  - Name:  .strtab
    Type:  SHT_STRTAB
    Flags: [ SHF_ALLOC ]
DynamicSymbols: []
Symbols: []

## PT_TLS and .tdata are empty. Test that we set its p_offset to the parent
## segment's p_offset. If we don't rewrite the p_offset of PT_TLS and the deleted
## bytes are large, p_offset can be larger than the file size, and trigger
## validation errors with subsequent tools.
# RUN: yaml2obj --docnum=4 %s -o %t4
# RUN: llvm-objcopy --only-keep-debug %t4 %t4.dbg
# RUN: llvm-readelf -S -l %t4.dbg | FileCheck --check-prefix=CHECK4 %s

# CHECK4:      [Nr] Name        Type     Address          Off    Size   ES Flg Lk Inf Al
# CHECK4:      [ 1] .text       NOBITS   0000000000000200 000200 000001 00  AX  0   0  0
# CHECK4-NEXT: [ 2] .tdata      NOBITS   0000000000001240 000240 000000 00 WAT  0   0 64
# CHECK4-NEXT: [ 3] .got        NOBITS   0000000000001240 000240 000008 00  WA  0   0  0

# CHECK4:      Type Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
# CHECK4-NEXT: LOAD 0x000200 0x0000000000000200 0x0000000000000200 0x000000 0x000001 R E 0x1000
# CHECK4-NEXT: LOAD 0x000240 0x0000000000001240 0x0000000000001240 0x000000 0x000008 RW  0x1000
# CHECK4-NEXT: TLS  0x000240 0x0000000000001240 0x0000000000001240 0x000000 0x000000 R   0x40

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name:         .text
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]
    Address:      0x200
    Size:         1
  - Name:         .tdata
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_WRITE, SHF_TLS ]
    Address:      0x1240   # Ensure Address=0x1000+Offset
    AddressAlign: 0x40
  - Name:         .got
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_WRITE ]
    Size:         8
ProgramHeaders:
  - Type:     PT_LOAD
    Flags:    [ PF_R, PF_X ]
    VAddr:    0x200
    Align:    0x1000
    FirstSec: .text
    LastSec:  .text
  ## Add .got so that the PT_LOAD does not have zero p_memsz. We don't add
  ## sections to zero-sized segments so zero-sized segments may have strange
  ## offsets. In practice, the Linux kernel errors when mmapping a p_memsz
  ## PT_LOAD,so for practical so this assumption can generally be made.
  - Type:     PT_LOAD
    Flags:    [ PF_R, PF_W ]
    VAddr:    0x1240
    Align:    0x1000
    FirstSec: .tdata
    LastSec:  .got
  - Type:     PT_TLS
    Flags:    [ PF_R ]
    VAddr:    0x1240
    FirstSec: .tdata
    LastSec:  .tdata
