xref: /llvm-project/lld/test/ELF/basic-freebsd.s (revision 5f1743cd074cc7d45744d1acc8db379513b4501c)
1# REQUIRES: x86
2# Verify that OSABI is set to the correct value.
3
4# RUN: rm -rf %t && split-file %s %t && cd %t
5# RUN: llvm-mc -filetype=obj -triple=x86_64 empty.s -o empty.o
6# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-freebsd a.s -o a.o
7# RUN: llvm-mc -filetype=obj -triple=x86_64-linux gnu.s -o gnu.o
8# RUN: ld.lld a.o -o out
9# RUN: llvm-readobj --file-headers out | FileCheck %s
10# RUN: ld.lld empty.o a.o gnu.o empty.o -o out2
11# RUN: llvm-readobj --file-headers out2 | FileCheck %s
12
13#--- empty.s
14#--- a.s
15.globl _start
16_start:
17  mov $1, %rax
18  mov $42, %rdi
19  syscall
20#--- gnu.s
21.section retain,"aR"
22
23# CHECK: ElfHeader {
24# CHECK-NEXT:   Ident {
25# CHECK-NEXT:     Magic: (7F 45 4C 46)
26# CHECK-NEXT:     Class: 64-bit (0x2)
27# CHECK-NEXT:     DataEncoding: LittleEndian (0x1)
28# CHECK-NEXT:     FileVersion: 1
29# CHECK-NEXT:     OS/ABI: FreeBSD (0x9)
30# CHECK-NEXT:     ABIVersion: 0
31# CHECK-NEXT:     Unused: (00 00 00 00 00 00 00)
32# CHECK-NEXT:   }
33# CHECK-NEXT:   Type: Executable (0x2)
34# CHECK-NEXT:   Machine: EM_X86_64 (0x3E)
35