# Test that cpu/processor-specific SHF_* flags are preserved.

# ===== x86_64 =====

# RUN: yaml2obj --docnum 1 %s > %t-x86_64.o
# RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-x86_64.o
# RUN: llvm-readobj --sections %t-x86_64.o | FileCheck %s --check-prefix=X86_64

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_X86_64
Sections:
  - Name:          .foo
    Type:          SHT_PROGBITS
    Flags:         [ SHF_X86_64_LARGE ]

# X86_64:        Name: .bar
# X86_64-NEXT:   Type: SHT_PROGBITS
# X86_64-NEXT:   Flags [
# X86_64-NEXT:     SHF_ALLOC (0x2)
# X86_64-NEXT:     SHF_WRITE (0x1)
# X86_64-NEXT:     SHF_X86_64_LARGE (0x10000000)
# X86_64-NEXT:   ]

# ===== hex =====

# RUN: yaml2obj --docnum 2 %s > %t-hex.o
# RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-hex.o
# RUN: llvm-readobj --sections %t-hex.o | FileCheck %s --check-prefix=HEX

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_HEXAGON
Sections:
  - Name:          .foo
    Type:          SHT_PROGBITS
    Flags:         [ SHF_HEX_GPREL ]

# HEX:        Name: .bar
# HEX-NEXT:   Type: SHT_PROGBITS
# HEX-NEXT:   Flags [
# HEX-NEXT:     SHF_ALLOC (0x2)
# HEX-NEXT:     SHF_HEX_GPREL (0x10000000)
# HEX-NEXT:     SHF_WRITE (0x1)
# HEX-NEXT:   ]

# ===== mips =====

# RUN: yaml2obj --docnum 3 %s > %t-mips.o
# RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-mips.o
# RUN: llvm-readobj --sections %t-mips.o | FileCheck %s --check-prefix=MIPS

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_MIPS
Sections:
  - Name:          .foo
    Type:          SHT_PROGBITS
    Flags:         [ SHF_MIPS_NODUPES, SHF_MIPS_NAMES, SHF_MIPS_LOCAL,
                     SHF_MIPS_NOSTRIP, SHF_MIPS_GPREL, SHF_MIPS_MERGE,
		     SHF_MIPS_ADDR, SHF_MIPS_STRING ]

# Note: llvm-readobj prints SHF_EXCLUDE/SHF_MASKPROC since specifying all
# SHF_MIPS_* flags covers the same bitset.

# MIPS:        Name: .bar
# MIPS-NEXT:   Type: SHT_PROGBITS
# MIPS-NEXT:   Flags [
# MIPS-NEXT:     SHF_ALLOC (0x2)
# MIPS-NEXT:     SHF_EXCLUDE (0x80000000)
# MIPS-NEXT:     SHF_MASKPROC (0xF0000000)
# MIPS-NEXT:     SHF_MIPS_ADDR (0x40000000)
# MIPS-NEXT:     SHF_MIPS_GPREL (0x10000000)
# MIPS-NEXT:     SHF_MIPS_LOCAL (0x4000000)
# MIPS-NEXT:     SHF_MIPS_MERGE (0x20000000)
# MIPS-NEXT:     SHF_MIPS_NAMES (0x2000000)
# MIPS-NEXT:     SHF_MIPS_NODUPES (0x1000000)
# MIPS-NEXT:     SHF_MIPS_NOSTRIP (0x8000000)
# MIPS-NEXT:     SHF_MIPS_STRING (0x80000000)
# MIPS-NEXT:     SHF_WRITE (0x1)
# MIPS-NEXT:   ]

# ===== arm =====

# RUN: yaml2obj --docnum 4 %s > %t-arm.o
# RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-arm.o
# RUN: llvm-readobj --sections %t-arm.o | FileCheck %s --check-prefix=ARM

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_ARM
Sections:
  - Name:          .foo
    Type:          SHT_PROGBITS
    Flags:         [ SHF_ARM_PURECODE ]

# ARM:        Name: .bar
# ARM-NEXT:   Type: SHT_PROGBITS
# ARM-NEXT:   Flags [
# ARM-NEXT:     SHF_ALLOC (0x2)
# ARM-NEXT:     SHF_ARM_PURECODE (0x20000000)
# ARM-NEXT:     SHF_WRITE (0x1)
# ARM-NEXT:   ]
