brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.8 KiB · 454535a Raw
331 lines · plain
1# REQUIRES: mips2# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %t.o3# RUN: ld.lld %t.o -o %t.exe4# RUN: llvm-readobj --file-headers --sections -l --symbols %t.exe \5# RUN:   | FileCheck %s6 7# Exits with return code 1 on Linux.8        .globl  __start9__start:10        li      $a0,111        li      $v0,400112        syscall13 14# CHECK:      ElfHeader {15# CHECK-NEXT:   Ident {16# CHECK-NEXT:     Magic: (7F 45 4C 46)17# CHECK-NEXT:     Class: 32-bit (0x1)18# CHECK-NEXT:     DataEncoding: LittleEndian (0x1)19# CHECK-NEXT:     FileVersion: 120# CHECK-NEXT:     OS/ABI: SystemV (0x0)21# CHECK-NEXT:     ABIVersion: 122# CHECK-NEXT:     Unused: (00 00 00 00 00 00 00)23# CHECK-NEXT:   }24# CHECK-NEXT:   Type: Executable (0x2)25# CHECK-NEXT:   Machine: EM_MIPS (0x8)26# CHECK-NEXT:   Version: 127# CHECK-NEXT:   Entry: 0x2015028# CHECK-NEXT:   ProgramHeaderOffset: 0x3429# CHECK-NEXT:   SectionHeaderOffset: 0x20030# CHECK-NEXT:   Flags [31# CHECK-NEXT:     EF_MIPS_ABI_O3232# CHECK-NEXT:     EF_MIPS_ARCH_3233# CHECK-NEXT:     EF_MIPS_CPIC34# CHECK-NEXT:   ]35# CHECK-NEXT:   HeaderSize: 5236# CHECK-NEXT:   ProgramHeaderEntrySize: 3237# CHECK-NEXT:   ProgramHeaderCount: 738# CHECK-NEXT:   SectionHeaderEntrySize: 4039# CHECK-NEXT:   SectionHeaderCount: 1140# CHECK-NEXT:   StringTableSectionIndex: 941# CHECK-NEXT: }42# CHECK-NEXT: Sections [43# CHECK-NEXT:   Section {44# CHECK-NEXT:     Index: 045# CHECK-NEXT:     Name:  (0)46# CHECK-NEXT:     Type: SHT_NULL (0x0)47# CHECK-NEXT:     Flags [ (0x0)48# CHECK-NEXT:     ]49# CHECK-NEXT:     Address: 0x050# CHECK-NEXT:     Offset: 0x051# CHECK-NEXT:     Size: 052# CHECK-NEXT:     Link: 053# CHECK-NEXT:     Info: 054# CHECK-NEXT:     AddressAlignment: 055# CHECK-NEXT:     EntrySize: 056# CHECK-NEXT:   }57# CHECK-NEXT:   Section {58# CHECK-NEXT:     Index: 159# CHECK-NEXT:     Name: .MIPS.abiflags60# CHECK-NEXT:     Type: SHT_MIPS_ABIFLAGS (0x7000002A)61# CHECK-NEXT:     Flags [ (0x2)62# CHECK-NEXT:       SHF_ALLOC (0x2)63# CHECK-NEXT:     ]64# CHECK-NEXT:     Address: 0x1011865# CHECK-NEXT:     Offset: 0x11866# CHECK-NEXT:     Size: 2467# CHECK-NEXT:     Link: 068# CHECK-NEXT:     Info: 069# CHECK-NEXT:     AddressAlignment: 870# CHECK-NEXT:     EntrySize: 2471# CHECK-NEXT:   }72# CHECK-NEXT:   Section {73# CHECK-NEXT:     Index: 274# CHECK-NEXT:     Name: .reginfo75# CHECK-NEXT:     Type: SHT_MIPS_REGINFO (0x70000006)76# CHECK-NEXT:     Flags [ (0x2)77# CHECK-NEXT:       SHF_ALLOC (0x2)78# CHECK-NEXT:     ]79# CHECK-NEXT:     Address: 0x1013080# CHECK-NEXT:     Offset: 0x13081# CHECK-NEXT:     Size: 2482# CHECK-NEXT:     Link: 083# CHECK-NEXT:     Info: 084# CHECK-NEXT:     AddressAlignment: 485# CHECK-NEXT:     EntrySize: 2486# CHECK-NEXT:   }87# CHECK-NEXT:   Section {88# CHECK-NEXT:     Index: 389# CHECK-NEXT:     Name: .text90# CHECK-NEXT:     Type: SHT_PROGBITS (0x1)91# CHECK-NEXT:     Flags [ (0x6)92# CHECK-NEXT:       SHF_ALLOC (0x2)93# CHECK-NEXT:       SHF_EXECINSTR (0x4)94# CHECK-NEXT:     ]95# CHECK-NEXT:     Address: 0x2015096# CHECK-NEXT:     Offset: 0x15097# CHECK-NEXT:     Size: 1298# CHECK-NEXT:     Link: 099# CHECK-NEXT:     Info: 0100# CHECK-NEXT:     AddressAlignment: 16101# CHECK-NEXT:     EntrySize: 0102# CHECK-NEXT:   }103# CHECK-NEXT:   Section {104# CHECK-NEXT:     Index: 4105# CHECK-NEXT:     Name: .data106# CHECK-NEXT:     Type: SHT_PROGBITS (0x1)107# CHECK-NEXT:     Flags [ (0x3)108# CHECK-NEXT:       SHF_ALLOC (0x2)109# CHECK-NEXT:       SHF_WRITE (0x1)110# CHECK-NEXT:     ]111# CHECK-NEXT:     Address: 0x30160112# CHECK-NEXT:     Offset: 0x160113# CHECK-NEXT:     Size: 0114# CHECK-NEXT:     Link: 0115# CHECK-NEXT:     Info: 0116# CHECK-NEXT:     AddressAlignment: 16117# CHECK-NEXT:     EntrySize: 0118# CHECK-NEXT:   }119# CHECK-NEXT:   Section {120# CHECK-NEXT:     Index: 5121# CHECK-NEXT:     Name: .got122# CHECK-NEXT:     Type: SHT_PROGBITS (0x1)123# CHECK-NEXT:     Flags [ (0x10000003)124# CHECK-NEXT:       SHF_ALLOC (0x2)125# CHECK-NEXT:       SHF_MIPS_GPREL (0x10000000)126# CHECK-NEXT:       SHF_WRITE (0x1)127# CHECK-NEXT:     ]128# CHECK-NEXT:     Address: 0x30160129# CHECK-NEXT:     Offset: 0x160130# CHECK-NEXT:     Size: 8131# CHECK-NEXT:     Link: 0132# CHECK-NEXT:     Info: 0133# CHECK-NEXT:     AddressAlignment: 16134# CHECK-NEXT:     EntrySize: 0135# CHECK-NEXT:   }136# CHECK-NEXT:   Section {137# CHECK-NEXT:     Index: 6138# CHECK-NEXT:     Name: .bss139# CHECK-NEXT:     Type: SHT_NOBITS (0x8)140# CHECK-NEXT:     Flags [ (0x3)141# CHECK-NEXT:       SHF_ALLOC (0x2)142# CHECK-NEXT:       SHF_WRITE (0x1)143# CHECK-NEXT:     ]144# CHECK-NEXT:     Address: 0x30170145# CHECK-NEXT:     Offset: 0x168146# CHECK-NEXT:     Size: 0147# CHECK-NEXT:     Link: 0148# CHECK-NEXT:     Info: 0149# CHECK-NEXT:     AddressAlignment: 16150# CHECK-NEXT:     EntrySize: 0151# CHECK-NEXT:   }152# CHECK-NEXT:   Section {153# CHECK-NEXT:     Index: 7154# CHECK-NEXT:     Name: .comment155# CHECK-NEXT:     Type: SHT_PROGBITS (0x1)156# CHECK-NEXT:     Flags [ (0x30)157# CHECK-NEXT:       SHF_MERGE (0x10)158# CHECK-NEXT:       SHF_STRINGS (0x20)159# CHECK-NEXT:     ]160# CHECK-NEXT:     Address: 0x0161# CHECK-NEXT:     Offset: 0x168162# CHECK-NEXT:     Size: 8163# CHECK-NEXT:     Link: 0164# CHECK-NEXT:     Info: 0165# CHECK-NEXT:     AddressAlignment: 1166# CHECK-NEXT:     EntrySize: 1167# CHECK-NEXT:   }168# CHECK-NEXT:   Section {169# CHECK-NEXT:     Index: 8170# CHECK-NEXT:     Name: .symtab171# CHECK-NEXT:     Type: SHT_SYMTAB (0x2)172# CHECK-NEXT:     Flags [ (0x0)173# CHECK-NEXT:     ]174# CHECK-NEXT:     Address: 0x0175# CHECK-NEXT:     Offset: 0x170176# CHECK-NEXT:     Size: 48177# CHECK-NEXT:     Link: 10178# CHECK-NEXT:     Info: 2179# CHECK-NEXT:     AddressAlignment: 4180# CHECK-NEXT:     EntrySize: 16181# CHECK-NEXT:   }182# CHECK-NEXT:   Section {183# CHECK-NEXT:     Index: 9184# CHECK-NEXT:     Name: .shstrtab185# CHECK-NEXT:     Type: SHT_STRTAB (0x3)186# CHECK-NEXT:     Flags [ (0x0)187# CHECK-NEXT:     ]188# CHECK-NEXT:     Address: 0x0189# CHECK-NEXT:     Offset: 0x1A0190# CHECK-NEXT:     Size: 82191# CHECK-NEXT:     Link: 0192# CHECK-NEXT:     Info: 0193# CHECK-NEXT:     AddressAlignment: 1194# CHECK-NEXT:     EntrySize: 0195# CHECK-NEXT:   }196# CHECK-NEXT:   Section {197# CHECK-NEXT:     Index: 10198# CHECK-NEXT:     Name: .strtab199# CHECK-NEXT:     Type: SHT_STRTAB (0x3)200# CHECK-NEXT:     Flags [ (0x0)201# CHECK-NEXT:     ]202# CHECK-NEXT:     Address: 0x0203# CHECK-NEXT:     Offset: 0x1F2204# CHECK-NEXT:     Size: 13205# CHECK-NEXT:     Link: 0206# CHECK-NEXT:     Info: 0207# CHECK-NEXT:     AddressAlignment: 1208# CHECK-NEXT:     EntrySize: 0209# CHECK-NEXT:   }210# CHECK-NEXT: ]211# CHECK-NEXT: ProgramHeaders [212# CHECK-NEXT:   ProgramHeader {213# CHECK-NEXT:     Type: PT_PHDR (0x6)214# CHECK-NEXT:     Offset: 0x34215# CHECK-NEXT:     VirtualAddress: 0x10034216# CHECK-NEXT:     PhysicalAddress: 0x10034217# CHECK-NEXT:     FileSize: 224218# CHECK-NEXT:     MemSize: 224219# CHECK-NEXT:     Flags [ (0x4)220# CHECK-NEXT:       PF_R (0x4)221# CHECK-NEXT:     ]222# CHECK-NEXT:     Alignment: 4223# CHECK-NEXT:   }224# CHECK-NEXT:   ProgramHeader {225# CHECK-NEXT:     Type: PT_LOAD (0x1)226# CHECK-NEXT:     Offset: 0x0227# CHECK-NEXT:     VirtualAddress: 0x10000228# CHECK-NEXT:     PhysicalAddress: 0x10000229# CHECK-NEXT:     FileSize: 328230# CHECK-NEXT:     MemSize: 328231# CHECK-NEXT:     Flags [ (0x4)232# CHECK-NEXT:       PF_R (0x4)233# CHECK-NEXT:     ]234# CHECK-NEXT:     Alignment: 65536235# CHECK-NEXT:   }236# CHECK-NEXT:   ProgramHeader {237# CHECK-NEXT:     Type: PT_LOAD (0x1)238# CHECK-NEXT:     Offset: 0x150239# CHECK-NEXT:     VirtualAddress: 0x20150240# CHECK-NEXT:     PhysicalAddress: 0x20150241# CHECK-NEXT:     FileSize: 12242# CHECK-NEXT:     MemSize: 12243# CHECK-NEXT:     Flags [ (0x5)244# CHECK-NEXT:       PF_R (0x4)245# CHECK-NEXT:       PF_X (0x1)246# CHECK-NEXT:     ]247# CHECK-NEXT:     Alignment: 65536248# CHECK-NEXT:   }249# CHECK-NEXT:   ProgramHeader {250# CHECK-NEXT:     Type: PT_LOAD (0x1)251# CHECK-NEXT:     Offset: 0x160252# CHECK-NEXT:     VirtualAddress: 0x30160253# CHECK-NEXT:     PhysicalAddress: 0x30160254# CHECK-NEXT:     FileSize: 8255# CHECK-NEXT:     MemSize: 16256# CHECK-NEXT:     Flags [257# CHECK-NEXT:       PF_R258# CHECK-NEXT:       PF_W259# CHECK-NEXT:     ]260# CHECK-NEXT:     Alignment: 65536261# CHECK-NEXT:   }262# CHECK-NEXT:   ProgramHeader {263# CHECK-NEXT:     Type: PT_GNU_STACK264# CHECK-NEXT:     Offset: 0x0265# CHECK-NEXT:     VirtualAddress: 0x0266# CHECK-NEXT:     PhysicalAddress: 0x0267# CHECK-NEXT:     FileSize: 0268# CHECK-NEXT:     MemSize: 0269# CHECK-NEXT:     Flags [270# CHECK-NEXT:       PF_R271# CHECK-NEXT:       PF_W272# CHECK-NEXT:     ]273# CHECK-NEXT:     Alignment: 0274# CHECK-NEXT:   }275# CHECK-NEXT:   ProgramHeader {276# CHECK-NEXT:     Type: PT_MIPS_REGINFO277# CHECK-NEXT:     Offset: 0x130278# CHECK-NEXT:     VirtualAddress: 0x10130279# CHECK-NEXT:     PhysicalAddress: 0x10130280# CHECK-NEXT:     FileSize: 24281# CHECK-NEXT:     MemSize: 24282# CHECK-NEXT:     Flags [ (0x4)283# CHECK-NEXT:       PF_R (0x4)284# CHECK-NEXT:     ]285# CHECK-NEXT:     Alignment: 4286# CHECK-NEXT:   }287# CHECK-NEXT:   ProgramHeader {288# CHECK-NEXT:     Type: PT_MIPS_ABIFLAGS289# CHECK-NEXT:     Offset: 0x118290# CHECK-NEXT:     VirtualAddress: 0x10118291# CHECK-NEXT:     PhysicalAddress: 0x10118292# CHECK-NEXT:     FileSize: 24293# CHECK-NEXT:     MemSize: 24294# CHECK-NEXT:     Flags [ (0x4)295# CHECK-NEXT:       PF_R (0x4)296# CHECK-NEXT:     ]297# CHECK-NEXT:     Alignment: 8298# CHECK-NEXT:   }299# CHECK-NEXT: ]300# CHECK-NEXT: Symbols [301# CHECK-NEXT:   Symbol {302# CHECK-NEXT:     Name:  (0)303# CHECK-NEXT:     Value: 0x0304# CHECK-NEXT:     Size: 0305# CHECK-NEXT:     Binding: Local (0x0)306# CHECK-NEXT:     Type: None (0x0)307# CHECK-NEXT:     Other: 0308# CHECK-NEXT:     Section: Undefined (0x0)309# CHECK-NEXT:   }310# CHECK-NEXT:   Symbol {311# CHECK-NEXT:     Name: _gp312# CHECK-NEXT:     Value: 0x38150313# CHECK-NEXT:     Size: 0314# CHECK-NEXT:     Binding: Local315# CHECK-NEXT:     Type: None (0x0)316# CHECK-NEXT:     Other [ (0x2)317# CHECK-NEXT:       STV_HIDDEN (0x2)318# CHECK-NEXT:     ]319# CHECK-NEXT:     Section: .got320# CHECK-NEXT:   }321# CHECK-NEXT:   Symbol {322# CHECK-NEXT:     Name: __start323# CHECK-NEXT:     Value: 0x20150324# CHECK-NEXT:     Size: 0325# CHECK-NEXT:     Binding: Global (0x1)326# CHECK-NEXT:     Type: None (0x0)327# CHECK-NEXT:     Other: 0328# CHECK-NEXT:     Section: .text329# CHECK-NEXT:   }330# CHECK-NEXT: ]331