212 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-freebsd %s -o %tx643# RUN: ld.lld -m elf_amd64_fbsd %tx64 -o %t2x644# RUN: llvm-readobj --file-headers %t2x64 | FileCheck --check-prefix=AMD64 %s5# RUN: ld.lld %tx64 -o %t3x646# RUN: llvm-readobj --file-headers %t3x64 | FileCheck --check-prefix=AMD64 %s7# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.sysv8# RUN: ld.lld -m elf_amd64_fbsd %t.sysv -o %t.freebsd9# RUN: llvm-readobj --file-headers %t.freebsd | FileCheck --check-prefix=AMD64 %s10# RUN: echo 'OUTPUT_FORMAT(elf64-x86-64-freebsd)' > %t4x64.script11# RUN: ld.lld %t4x64.script %tx64 -o %t4x6412# RUN: llvm-readobj --file-headers %t4x64 | FileCheck --check-prefix=AMD64 %s13# AMD64: ElfHeader {14# AMD64-NEXT: Ident {15# AMD64-NEXT: Magic: (7F 45 4C 46)16# AMD64-NEXT: Class: 64-bit (0x2)17# AMD64-NEXT: DataEncoding: LittleEndian (0x1)18# AMD64-NEXT: FileVersion: 119# AMD64-NEXT: OS/ABI: FreeBSD (0x9)20# AMD64-NEXT: ABIVersion: 021# AMD64-NEXT: Unused: (00 00 00 00 00 00 00)22# AMD64-NEXT: }23# AMD64-NEXT: Type: Executable (0x2)24# AMD64-NEXT: Machine: EM_X86_64 (0x3E)25# AMD64-NEXT: Version: 126# AMD64-NEXT: Entry:27# AMD64-NEXT: ProgramHeaderOffset: 0x4028# AMD64-NEXT: SectionHeaderOffset:29# AMD64-NEXT: Flags [ (0x0)30# AMD64-NEXT: ]31# AMD64-NEXT: HeaderSize: 6432# AMD64-NEXT: ProgramHeaderEntrySize: 5633# AMD64-NEXT: ProgramHeaderCount:34# AMD64-NEXT: SectionHeaderEntrySize: 6435# AMD64-NEXT: SectionHeaderCount:36# AMD64-NEXT: StringTableSectionIndex:37# AMD64-NEXT: }38 39# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %tx6440# RUN: ld.lld -m elf_x86_64 %tx64 -o %t2x6441# RUN: llvm-readobj --file-headers %t2x64 | FileCheck --check-prefix=X86-64 %s42# RUN: ld.lld %tx64 -o %t3x6443# RUN: llvm-readobj --file-headers %t3x64 | FileCheck --check-prefix=X86-64 %s44# RUN: echo 'OUTPUT_FORMAT(elf64-x86-64)' > %t4x64.script45# RUN: ld.lld %t4x64.script %tx64 -o %t4x6446# RUN: ld.lld %tx64 -o %t4x64 %t4x64.script47# RUN: llvm-readobj --file-headers %t4x64 | FileCheck --check-prefix=X86-64 %s48# X86-64: ElfHeader {49# X86-64-NEXT: Ident {50# X86-64-NEXT: Magic: (7F 45 4C 46)51# X86-64-NEXT: Class: 64-bit (0x2)52# X86-64-NEXT: DataEncoding: LittleEndian (0x1)53# X86-64-NEXT: FileVersion: 154# X86-64-NEXT: OS/ABI: SystemV (0x0)55# X86-64-NEXT: ABIVersion: 056# X86-64-NEXT: Unused: (00 00 00 00 00 00 00)57# X86-64-NEXT: }58# X86-64-NEXT: Type: Executable (0x2)59# X86-64-NEXT: Machine: EM_X86_64 (0x3E)60# X86-64-NEXT: Version: 161# X86-64-NEXT: Entry:62# X86-64-NEXT: ProgramHeaderOffset: 0x4063# X86-64-NEXT: SectionHeaderOffset:64# X86-64-NEXT: Flags [ (0x0)65# X86-64-NEXT: ]66# X86-64-NEXT: HeaderSize: 6467# X86-64-NEXT: ProgramHeaderEntrySize: 5668# X86-64-NEXT: ProgramHeaderCount:69# X86-64-NEXT: SectionHeaderEntrySize: 6470# X86-64-NEXT: SectionHeaderCount:71# X86-64-NEXT: StringTableSectionIndex:72# X86-64-NEXT: }73 74# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux-gnux32 %s -o %tx3275# RUN: ld.lld -m elf32_x86_64 %tx32 -o %t2x3276# RUN: llvm-readobj --file-headers %t2x32 | FileCheck --check-prefix=X32 %s77# RUN: ld.lld %tx32 -o %t3x3278# RUN: llvm-readobj --file-headers %t3x32 | FileCheck --check-prefix=X32 %s79# RUN: echo 'OUTPUT_FORMAT(elf32-x86-64)' > %t4x32.script80# RUN: ld.lld %t4x32.script %tx32 -o %t4x3281# RUN: llvm-readobj --file-headers %t4x32 | FileCheck --check-prefix=X32 %s82# X32: ElfHeader {83# X32-NEXT: Ident {84# X32-NEXT: Magic: (7F 45 4C 46)85# X32-NEXT: Class: 32-bit (0x1)86# X32-NEXT: DataEncoding: LittleEndian (0x1)87# X32-NEXT: FileVersion: 188# X32-NEXT: OS/ABI: SystemV (0x0)89# X32-NEXT: ABIVersion: 090# X32-NEXT: Unused: (00 00 00 00 00 00 00)91# X32-NEXT: }92# X32-NEXT: Type: Executable (0x2)93# X32-NEXT: Machine: EM_X86_64 (0x3E)94# X32-NEXT: Version: 195# X32-NEXT: Entry:96# X32-NEXT: ProgramHeaderOffset: 0x3497# X32-NEXT: SectionHeaderOffset:98# X32-NEXT: Flags [ (0x0)99# X32-NEXT: ]100# X32-NEXT: HeaderSize: 52101# X32-NEXT: ProgramHeaderEntrySize: 32102# X32-NEXT: ProgramHeaderCount:103# X32-NEXT: SectionHeaderEntrySize: 40104# X32-NEXT: SectionHeaderCount:105# X32-NEXT: StringTableSectionIndex:106# X32-NEXT: }107 108# RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux %s -o %tx86109# RUN: ld.lld -m elf_i386 %tx86 -o %t2x86110# RUN: llvm-readobj --file-headers %t2x86 | FileCheck --check-prefix=X86 %s111# RUN: ld.lld %tx86 -o %t3x86112# RUN: llvm-readobj --file-headers %t3x86 | FileCheck --check-prefix=X86 %s113# RUN: echo 'OUTPUT_FORMAT(elf32-i386)' > %t4x86.script114# RUN: ld.lld %t4x86.script %tx86 -o %t4x86115# RUN: llvm-readobj --file-headers %t4x86 | FileCheck --check-prefix=X86 %s116# X86: ElfHeader {117# X86-NEXT: Ident {118# X86-NEXT: Magic: (7F 45 4C 46)119# X86-NEXT: Class: 32-bit (0x1)120# X86-NEXT: DataEncoding: LittleEndian (0x1)121# X86-NEXT: FileVersion: 1122# X86-NEXT: OS/ABI: SystemV (0x0)123# X86-NEXT: ABIVersion: 0124# X86-NEXT: Unused: (00 00 00 00 00 00 00)125# X86-NEXT: }126# X86-NEXT: Type: Executable (0x2)127# X86-NEXT: Machine: EM_386 (0x3)128# X86-NEXT: Version: 1129# X86-NEXT: Entry:130# X86-NEXT: ProgramHeaderOffset: 0x34131# X86-NEXT: SectionHeaderOffset:132# X86-NEXT: Flags [ (0x0)133# X86-NEXT: ]134# X86-NEXT: HeaderSize: 52135# X86-NEXT: ProgramHeaderEntrySize: 32136# X86-NEXT: ProgramHeaderCount:137# X86-NEXT: SectionHeaderEntrySize: 40138# X86-NEXT: SectionHeaderCount:139# X86-NEXT: StringTableSectionIndex:140# X86-NEXT: }141 142# RUN: llvm-mc -filetype=obj -triple=i686-unknown-freebsd %s -o %tx86fbsd143# RUN: ld.lld -m elf_i386_fbsd %tx86fbsd -o %t2x86fbsd144# RUN: llvm-readobj --file-headers %t2x86fbsd | FileCheck --check-prefix=X86FBSD %s145# RUN: ld.lld %tx86fbsd -o %t3x86fbsd146# RUN: llvm-readobj --file-headers %t3x86fbsd | FileCheck --check-prefix=X86FBSD %s147# RUN: echo 'OUTPUT_FORMAT(elf32-i386-freebsd)' > %t4x86fbsd.script148# RUN: ld.lld %t4x86fbsd.script %tx86fbsd -o %t4x86fbsd149# RUN: llvm-readobj --file-headers %t4x86fbsd | FileCheck --check-prefix=X86FBSD %s150# X86FBSD: ElfHeader {151# X86FBSD-NEXT: Ident {152# X86FBSD-NEXT: Magic: (7F 45 4C 46)153# X86FBSD-NEXT: Class: 32-bit (0x1)154# X86FBSD-NEXT: DataEncoding: LittleEndian (0x1)155# X86FBSD-NEXT: FileVersion: 1156# X86FBSD-NEXT: OS/ABI: FreeBSD (0x9)157# X86FBSD-NEXT: ABIVersion: 0158# X86FBSD-NEXT: Unused: (00 00 00 00 00 00 00)159# X86FBSD-NEXT: }160# X86FBSD-NEXT: Type: Executable (0x2)161# X86FBSD-NEXT: Machine: EM_386 (0x3)162# X86FBSD-NEXT: Version: 1163# X86FBSD-NEXT: Entry:164# X86FBSD-NEXT: ProgramHeaderOffset: 0x34165# X86FBSD-NEXT: SectionHeaderOffset:166# X86FBSD-NEXT: Flags [ (0x0)167# X86FBSD-NEXT: ]168# X86FBSD-NEXT: HeaderSize: 52169# X86FBSD-NEXT: ProgramHeaderEntrySize: 32170# X86FBSD-NEXT: ProgramHeaderCount:171# X86FBSD-NEXT: SectionHeaderEntrySize: 40172# X86FBSD-NEXT: SectionHeaderCount:173# X86FBSD-NEXT: StringTableSectionIndex:174# X86FBSD-NEXT: }175 176# RUN: llvm-mc -filetype=obj -triple=i586-intel-elfiamcu %s -o %tiamcu177# RUN: ld.lld -m elf_iamcu %tiamcu -o %t2iamcu178# RUN: llvm-readobj --file-headers %t2iamcu | FileCheck --check-prefix=IAMCU %s179# RUN: ld.lld %tiamcu -o %t3iamcu180# RUN: llvm-readobj --file-headers %t3iamcu | FileCheck --check-prefix=IAMCU %s181# RUN: echo 'OUTPUT_FORMAT(elf32-iamcu)' > %t4iamcu.script182# RUN: ld.lld %t4iamcu.script %tiamcu -o %t4iamcu183# RUN: llvm-readobj --file-headers %t4iamcu | FileCheck --check-prefix=IAMCU %s184# IAMCU: ElfHeader {185# IAMCU-NEXT: Ident {186# IAMCU-NEXT: Magic: (7F 45 4C 46)187# IAMCU-NEXT: Class: 32-bit (0x1)188# IAMCU-NEXT: DataEncoding: LittleEndian (0x1)189# IAMCU-NEXT: FileVersion: 1190# IAMCU-NEXT: OS/ABI: SystemV (0x0)191# IAMCU-NEXT: ABIVersion: 0192# IAMCU-NEXT: Unused: (00 00 00 00 00 00 00)193# IAMCU-NEXT: }194# IAMCU-NEXT: Type: Executable (0x2)195# IAMCU-NEXT: Machine: EM_IAMCU (0x6)196# IAMCU-NEXT: Version: 1197# IAMCU-NEXT: Entry:198# IAMCU-NEXT: ProgramHeaderOffset: 0x34199# IAMCU-NEXT: SectionHeaderOffset:200# IAMCU-NEXT: Flags [ (0x0)201# IAMCU-NEXT: ]202# IAMCU-NEXT: HeaderSize: 52203# IAMCU-NEXT: ProgramHeaderEntrySize: 32204# IAMCU-NEXT: ProgramHeaderCount:205# IAMCU-NEXT: SectionHeaderEntrySize: 40206# IAMCU-NEXT: SectionHeaderCount:207# IAMCU-NEXT: StringTableSectionIndex:208# IAMCU-NEXT: }209 210.globl _start211_start:212