# RUN: echo abcd > %t.txt

# RUN: llvm-objcopy -I binary -O elf64-littleaarch64 %t.txt %t.aarch64.o
# RUN: llvm-readobj --file-headers %t.aarch64.o | FileCheck %s --check-prefixes=CHECK,LE,AARCH64,64

# RUN: llvm-objcopy -I binary -O elf32-littlearm %t.txt %t.arm.o
# RUN: llvm-readobj --file-headers %t.arm.o | FileCheck %s --check-prefixes=CHECK,LE,ARM,32

# RUN: llvm-objcopy -I binary -O elf32-i386 %t.txt %t.i386.o
# RUN: llvm-readobj --file-headers %t.i386.o | FileCheck %s --check-prefixes=CHECK,LE,I386,32

# RUN: llvm-objcopy -I binary -O elf64-x86-64 %t.txt %t.x86-64.o
# RUN: llvm-readobj --file-headers %t.x86-64.o | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64

# RUN: llvm-objcopy -I binary -O elf32-bigmips %t.txt %t.mips.o
# RUN: llvm-readobj --file-headers %t.mips.o | FileCheck %s --check-prefixes=CHECK,BE,MIPS,32

# RUN: llvm-objcopy -I binary -O elf32-powerpc %t.txt %t.ppc32be.o
# RUN: llvm-readobj --file-headers %t.ppc32be.o | FileCheck %s --check-prefixes=CHECK,BE,PPC32,PPC32BE,32

# RUN: llvm-objcopy -I binary -O elf32-powerpcle %t.txt %t.ppc32le.o
# RUN: llvm-readobj --file-headers %t.ppc32le.o | FileCheck %s --check-prefixes=CHECK,LE,PPC32,PPC32LE,32

# RUN: llvm-objcopy -I binary -O elf64-powerpc %t.txt %t.ppc64be.o
# RUN: llvm-readobj --file-headers %t.ppc64be.o | FileCheck %s --check-prefixes=CHECK,BE,PPC64,PPC64BE,64

# RUN: llvm-objcopy -I binary -O elf64-powerpcle %t.txt %t.ppc64le.o
# RUN: llvm-readobj --file-headers %t.ppc64le.o | FileCheck %s --check-prefixes=CHECK,LE,PPC64,PPC64LE,64

# RUN: llvm-objcopy -I binary -O elf32-littleriscv %t.txt %t.rv32.o
# RUN: llvm-readobj --file-headers %t.rv32.o | FileCheck %s --check-prefixes=CHECK,LE,RISCV32,32

# RUN: llvm-objcopy -I binary -O elf64-littleriscv %t.txt %t.rv64.o
# RUN: llvm-readobj --file-headers %t.rv64.o | FileCheck %s --check-prefixes=CHECK,LE,RISCV64,64

# RUN: llvm-objcopy -I binary -O elf32-sparc %t.txt %t.sparc.o
# RUN: llvm-readobj --file-headers %t.sparc.o | FileCheck %s --check-prefixes=CHECK,BE,SPARC,32

# RUN: llvm-objcopy -I binary -O elf32-sparcel %t.txt %t.sparcel.o
# RUN: llvm-readobj --file-headers %t.sparcel.o | FileCheck %s --check-prefixes=CHECK,LE,SPARCEL,32

# RUN: llvm-objcopy -I binary -O elf32-hexagon %t.txt %t.hexagon.o
# RUN: llvm-readobj --file-headers %t.hexagon.o | FileCheck %s --check-prefixes=CHECK,LE,HEXAGON,32

# RUN: llvm-objcopy -I binary -O elf32-loongarch %t.txt %t.la32.o
# RUN: llvm-readobj --file-headers %t.la32.o | FileCheck %s --check-prefixes=CHECK,LE,LA32,32

# RUN: llvm-objcopy -I binary -O elf64-loongarch %t.txt %t.la64.o
# RUN: llvm-readobj --file-headers %t.la64.o | FileCheck %s --check-prefixes=CHECK,LE,LA64,64

# RUN: llvm-objcopy -I binary -O elf64-s390 %t.txt %t.s390x.o
# RUN: llvm-readobj --file-headers %t.s390x.o | FileCheck %s --check-prefixes=CHECK,BE,S390X,64

# CHECK: Format:
# 32-SAME:      elf32-
# 64-SAME:      elf64-
# AARCH64-SAME: littleaarch64
# ARM-SAME:     littlearm
# HEXAGON-SAME: hexagon
# I386-SAME:    i386
# LA32-SAME:    loongarch{{$}}
# LA64-SAME:    loongarch{{$}}
# MIPS-SAME:    mips{{$}}
# RISCV32-SAME: riscv{{$}}
# RISCV64-SAME: riscv{{$}}
# PPCBE-SAME:   powerpc{{$}}
# PPCLE-SAME:   powerpcle{{$}}
# SPARC-SAME:   sparc
# SPARCEL-SAME: sparc
# S390X-SAME:   s390
# X86-64-SAME:  x86-64

# AARCH64-NEXT: Arch: aarch64
# ARM-NEXT:     Arch: arm
# HEXAGON-NEXT: Arch: hexagon
# I386-NEXT:    Arch: i386
# LA32-NEXT:    Arch: loongarch32
# LA64-NEXT:    Arch: loongarch64
# MIPS-NEXT:    Arch: mips{{$}}
# PPC32BE-NEXT: Arch: powerpc{{$}}
# PPC32LE-NEXT: Arch: powerpcle{{$}}
# PPC64BE-NEXT: Arch: powerpc64{{$}}
# PPC64LE-NEXT: Arch: powerpc64le{{$}}
# RISCV32-NEXT: Arch: riscv32
# RISCV64-NEXT: Arch: riscv64
# SPARC-NEXT:   Arch: sparc{{$}}
# SPARCEL-NEXT: Arch: sparcel
# S390X-NEXT:   Arch: s390x
# X86-64-NEXT:  Arch: x86_64

# 32-NEXT:      AddressSize: 32bit
# 64-NEXT:      AddressSize: 64bit

# CHECK:        ElfHeader {
# CHECK-NEXT:     Ident {
# CHECK-NEXT:       Magic: (7F 45 4C 46)
# 32-NEXT:          Class: 32-bit (0x1)
# 64-NEXT:          Class: 64-bit (0x2)
# LE-NEXT:          DataEncoding: LittleEndian (0x1)
# BE-NEXT:          DataEncoding: BigEndian (0x2)
# CHECK-NEXT:       FileVersion: 1
# CHECK-NEXT:       OS/ABI: SystemV (0x0)
# CHECK-NEXT:       ABIVersion: 0
# CHECK-NEXT:       Unused: (00 00 00 00 00 00 00)
# CHECK-NEXT:     }
# CHECK-NEXT:     Type: Relocatable (0x1)

## In GNU objcopy, e_machine is EM_NONE unless -B is specifid.
## It is not very clear why it behaves this way.
## We fill in the field regardless of -B.
# AARCH64-NEXT:   Machine: EM_AARCH64 (0xB7)
# ARM-NEXT:       Machine: EM_ARM (0x28)
# HEXAGON-NEXT:   Machine: EM_HEXAGON (0xA4)
# I386-NEXT:      Machine: EM_386 (0x3)
# LA32-NEXT:      Machine: EM_LOONGARCH (0x102)
# LA64-NEXT:      Machine: EM_LOONGARCH (0x102)
# MIPS-NEXT:      Machine: EM_MIPS (0x8)
# PPC32-NEXT:     Machine: EM_PPC (0x14)
# PPC64-NEXT:     Machine: EM_PPC64 (0x15)
# RISCV32-NEXT:   Machine: EM_RISCV (0xF3)
# RISCV64-NEXT:   Machine: EM_RISCV (0xF3)
# SPARC-NEXT:     Machine: EM_SPARC (0x2)
# SPARCEL-NEXT:   Machine: EM_SPARC (0x2)
# S390X-NEXT:     Machine: EM_S390 (0x16)
# X86-64-NEXT:    Machine: EM_X86_64 (0x3E)

# CHECK-NEXT:     Version: 1
# CHECK-NEXT:     Entry: 0x0
# CHECK-NEXT:     ProgramHeaderOffset:
# CHECK-NEXT:     SectionHeaderOffset:
# CHECK-NEXT:     Flags [ (0x0)
# CHECK-NEXT:     ]
# 32-NEXT:        HeaderSize: 52
# 64-NEXT:        HeaderSize: 64
# 32-NEXT:        ProgramHeaderEntrySize: 0
# 64-NEXT:        ProgramHeaderEntrySize: 0
# CHECK-NEXT:     ProgramHeaderCount: 0
# 32-NEXT:        SectionHeaderEntrySize: 40
# 64-NEXT:        SectionHeaderEntrySize: 64
# CHECK-NEXT:     SectionHeaderCount: 4
# CHECK-NEXT:     StringTableSectionIndex:
# CHECK-NEXT:   }

## ELFOSABI_NONE = ELFOSABI_SYSV = 0 is the default.
## "-freebsd" suffixed target name can change the field to ELFOSABI_FREEBSD.

## Many uses of objcopy use no spaces in the flags, make sure that also works.
# RUN: llvm-objcopy -Ibinary -O elf64-x86-64-freebsd %t.txt %t.freebsd.o
# RUN: llvm-readobj --file-headers %t.freebsd.o | FileCheck %s --check-prefixes=FREEBSD

# FREEBSD: OS/ABI: FreeBSD
