brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.9 KiB · b7f9371 Raw
465 lines · plain
1// RUN: llvm-mc -triple x86_64 %s | FileCheck %s --check-prefix=ASM2// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --sr --sd - | FileCheck %s3// RUN: not llvm-mc -triple=x86_64 -o - -defsym=ERR=1 %s 2>&1 | FileCheck %s --check-prefix=ERR4 5// ASM:      .cfi_lsda 3, bar6// ASM-NEXT: nop7// ASM:      .cfi_personality 0, foo8// ASM-NEXT: .cfi_lsda 3, bar9 10f1:11        .cfi_startproc12        .cfi_lsda 0x3, bar13        nop14        .cfi_endproc15 16f2:17        .cfi_startproc18        .cfi_personality 0x00, foo19        .cfi_lsda 0x3, bar20        nop21        .cfi_endproc22 23f3:24        .cfi_startproc25        .cfi_lsda 0x3, bar26        nop27        .cfi_endproc28 29f4:30        .cfi_startproc31        .cfi_personality 0x00, foo32        .cfi_lsda 0x2, bar33        nop34        .cfi_endproc35 36f5:37        .cfi_startproc38        .cfi_personality 0x02, foo39        nop40        .cfi_endproc41 42f6:43        .cfi_startproc44        .cfi_personality 0x03, foo45        nop46        .cfi_endproc47 48f7:49        .cfi_startproc50        .cfi_personality 0x04, foo51        nop52        .cfi_endproc53 54f8:55        .cfi_startproc56        .cfi_personality 0x0a, foo57        nop58        .cfi_endproc59 60f9:61        .cfi_startproc62        .cfi_personality 0x0b, foo63        nop64        .cfi_endproc65 66f10:67        .cfi_startproc68        .cfi_personality 0x0c, foo69        nop70        .cfi_endproc71 72f11:73        .cfi_startproc74        .cfi_personality 0x08, foo75        nop76        .cfi_endproc77 78f12:79        .cfi_startproc80        .cfi_personality 0x10, foo81        nop82        .cfi_endproc83 84f13:85        .cfi_startproc86        .cfi_personality 0x12, foo87        nop88        .cfi_endproc89 90f14:91        .cfi_startproc92        .cfi_personality 0x13, foo93        nop94        .cfi_endproc95 96f15:97        .cfi_startproc98        .cfi_personality 0x14, foo99        nop100        .cfi_endproc101 102f16:103        .cfi_startproc104        .cfi_personality 0x1a, foo105        nop106        .cfi_endproc107 108f17:109        .cfi_startproc110        .cfi_personality 0x1b, foo111        nop112        .cfi_endproc113 114f18:115        .cfi_startproc116        .cfi_personality 0x1c, foo117        nop118        .cfi_endproc119 120f19:121        .cfi_startproc122        .cfi_personality 0x18, foo123        nop124        .cfi_endproc125 126f20:127        .cfi_startproc128        .cfi_personality 0x80, foo129        nop130        .cfi_endproc131 132f21:133        .cfi_startproc134        .cfi_personality 0x82, foo135        nop136        .cfi_endproc137 138f22:139        .cfi_startproc140        .cfi_personality 0x83, foo141        nop142        .cfi_endproc143 144f23:145        .cfi_startproc146        .cfi_personality 0x84, foo147        nop148        .cfi_endproc149 150f24:151        .cfi_startproc152        .cfi_personality 0x8a, foo153        nop154        .cfi_endproc155 156f25:157        .cfi_startproc158        .cfi_personality 0x8b, foo159        nop160        .cfi_endproc161 162f26:163        .cfi_startproc164        .cfi_personality 0x8c, foo165        nop166        .cfi_endproc167 168f27:169        .cfi_startproc170        .cfi_personality 0x88, foo171        nop172        .cfi_endproc173 174f28:175        .cfi_startproc176        .cfi_personality 0x90, foo177        nop178        .cfi_endproc179 180f29:181        .cfi_startproc182        .cfi_personality 0x92, foo183        nop184        .cfi_endproc185 186f30:187        .cfi_startproc188        .cfi_personality 0x93, foo189        nop190        .cfi_endproc191 192f31:193        .cfi_startproc194        .cfi_personality 0x94, foo195        nop196        .cfi_endproc197 198f32:199        .cfi_startproc200        .cfi_personality 0x9a, foo201        nop202        .cfi_endproc203 204f33:205        .cfi_startproc206        .cfi_personality 0x9b, foo207        nop208        .cfi_endproc209 210f34:211        .cfi_startproc212        .cfi_personality 0x9c, foo213        nop214        .cfi_endproc215 216f36:217        .cfi_startproc218        .cfi_personality 0x98, foo219        nop220        .cfi_endproc221 222f37:223        .cfi_startproc simple224        nop225        .cfi_endproc226 227// CHECK:        Section {228// CHECK:          Index:229// CHECK:          Name: .eh_frame230// CHECK-NEXT:     Type: SHT_X86_64_UNWIND231// CHECK-NEXT:     Flags [232// CHECK-NEXT:       SHF_ALLOC233// CHECK-NEXT:     ]234// CHECK-NEXT:     Address: 0x0235// CHECK-NEXT:     Offset: 0x68236// CHECK-NEXT:     Size: 1776237// CHECK-NEXT:     Link: 0238// CHECK-NEXT:     Info: 0239// CHECK-NEXT:     AddressAlignment: 8240// CHECK-NEXT:     EntrySize: 0241// CHECK-NEXT:     Relocations [242// CHECK-NEXT:     ]243// CHECK-NEXT:     SectionData (244// CHECK-NEXT:       0000: 10000000 00000000 017A5200 01781001  |.........zR..x..|245// CHECK-NEXT:       0010: 1B000000 10000000 18000000 00000000  |................|246// CHECK-NEXT:       0020: 01000000 00000000 14000000 00000000  |................|247// CHECK-NEXT:       0030: 017A4C52 00017810 02031B0C 07089001  |.zLR..x.........|248// CHECK-NEXT:       0040: 14000000 1C000000 00000000 01000000  |................|249// CHECK-NEXT:       0050: 04000000 00000000 14000000 34000000  |............4...|250// CHECK-NEXT:       0060: 00000000 01000000 04000000 00000000  |................|251// CHECK-NEXT:       0070: 20000000 00000000 017A504C 52000178  | ........zPLR..x|252// CHECK-NEXT:       0080: 100B0000 00000000 00000002 1B0C0708  |................|253// CHECK-NEXT:       0090: 90010000 10000000 28000000 00000000  |........(.......|254// CHECK-NEXT:       00A0: 01000000 02000000 20000000 00000000  |........ .......|255// CHECK-NEXT:       00B0: 017A504C 52000178 100B0000 00000000  |.zPLR..x........|256// CHECK-NEXT:       00C0: 00000003 1B0C0708 90010000 14000000  |................|257// CHECK-NEXT:       00D0: 28000000 00000000 01000000 04000000  |(...............|258// CHECK-NEXT:       00E0: 00000000 18000000 00000000 017A5052  |.............zPR|259// CHECK-NEXT:       00F0: 00017810 04020000 1B0C0708 90010000  |..x.............|260// CHECK-NEXT:       0100: 10000000 20000000 00000000 01000000  |.... ...........|261// CHECK-NEXT:       0110: 00000000 18000000 00000000 017A5052  |.............zPR|262// CHECK-NEXT:       0120: 00017810 06030000 00001B0C 07089001  |..x.............|263// CHECK-NEXT:       0130: 10000000 20000000 00000000 01000000  |.... ...........|264// CHECK-NEXT:       0140: 00000000 1C000000 00000000 017A5052  |.............zPR|265// CHECK-NEXT:       0150: 00017810 0A040000 00000000 00001B0C  |..x.............|266// CHECK-NEXT:       0160: 07089001 10000000 24000000 00000000  |........$.......|267// CHECK-NEXT:       0170: 01000000 00000000 1C000000 00000000  |................|268// CHECK-NEXT:       0180: 017A5052 00017810 0A080000 00000000  |.zPR..x.........|269// CHECK-NEXT:       0190: 00001B0C 07089001 10000000 24000000  |............$...|270// CHECK-NEXT:       01A0: 00000000 01000000 00000000 18000000  |................|271// CHECK-NEXT:       01B0: 00000000 017A5052 00017810 040A0000  |.....zPR..x.....|272// CHECK-NEXT:       01C0: 1B0C0708 90010000 10000000 20000000  |............ ...|273// CHECK-NEXT:       01D0: 00000000 01000000 00000000 18000000  |................|274// CHECK-NEXT:       01E0: 00000000 017A5052 00017810 060B0000  |.....zPR..x.....|275// CHECK-NEXT:       01F0: 00001B0C 07089001 10000000 20000000  |............ ...|276// CHECK-NEXT:       0200: 00000000 01000000 00000000 1C000000  |................|277// CHECK-NEXT:       0210: 00000000 017A5052 00017810 0A0C0000  |.....zPR..x.....|278// CHECK-NEXT:       0220: 00000000 00001B0C 07089001 10000000  |................|279// CHECK-NEXT:       0230: 24000000 00000000 01000000 00000000  |$...............|280// CHECK-NEXT:       0240: 1C000000 00000000 017A5052 00017810  |.........zPR..x.|281// CHECK-NEXT:       0250: 0A100000 00000000 00001B0C 07089001  |................|282// CHECK-NEXT:       0260: 10000000 24000000 00000000 01000000  |....$...........|283// CHECK-NEXT:       0270: 00000000 18000000 00000000 017A5052  |.............zPR|284// CHECK-NEXT:       0280: 00017810 04120000 1B0C0708 90010000  |..x.............|285// CHECK-NEXT:       0290: 10000000 20000000 00000000 01000000  |.... ...........|286// CHECK-NEXT:       02A0: 00000000 18000000 00000000 017A5052  |.............zPR|287// CHECK-NEXT:       02B0: 00017810 06130000 00001B0C 07089001  |..x.............|288// CHECK-NEXT:       02C0: 10000000 20000000 00000000 01000000  |.... ...........|289// CHECK-NEXT:       02D0: 00000000 1C000000 00000000 017A5052  |.............zPR|290// CHECK-NEXT:       02E0: 00017810 0A140000 00000000 00001B0C  |..x.............|291// CHECK-NEXT:       02F0: 07089001 10000000 24000000 00000000  |........$.......|292// CHECK-NEXT:       0300: 01000000 00000000 1C000000 00000000  |................|293// CHECK-NEXT:       0310: 017A5052 00017810 0A180000 00000000  |.zPR..x.........|294// CHECK-NEXT:       0320: 00001B0C 07089001 10000000 24000000  |............$...|295// CHECK-NEXT:       0330: 00000000 01000000 00000000 18000000  |................|296// CHECK-NEXT:       0340: 00000000 017A5052 00017810 041A0000  |.....zPR..x.....|297// CHECK-NEXT:       0350: 1B0C0708 90010000 10000000 20000000  |............ ...|298// CHECK-NEXT:       0360: 00000000 01000000 00000000 18000000  |................|299// CHECK-NEXT:       0370: 00000000 017A5052 00017810 061B0000  |.....zPR..x.....|300// CHECK-NEXT:       0380: 00001B0C 07089001 10000000 20000000  |............ ...|301// CHECK-NEXT:       0390: 00000000 01000000 00000000 1C000000  |................|302// CHECK-NEXT:       03A0: 00000000 017A5052 00017810 0A1C0000  |.....zPR..x.....|303// CHECK-NEXT:       03B0: 00000000 00001B0C 07089001 10000000  |................|304// CHECK-NEXT:       03C0: 24000000 00000000 01000000 00000000  |$...............|305// CHECK-NEXT:       03D0: 1C000000 00000000 017A5052 00017810  |.........zPR..x.|306// CHECK-NEXT:       03E0: 0A800000 00000000 00001B0C 07089001  |................|307// CHECK-NEXT:       03F0: 10000000 24000000 00000000 01000000  |....$...........|308// CHECK-NEXT:       0400: 00000000 18000000 00000000 017A5052  |.............zPR|309// CHECK-NEXT:       0410: 00017810 04820000 1B0C0708 90010000  |..x.............|310// CHECK-NEXT:       0420: 10000000 20000000 00000000 01000000  |.... ...........|311// CHECK-NEXT:       0430: 00000000 18000000 00000000 017A5052  |.............zPR|312// CHECK-NEXT:       0440: 00017810 06830000 00001B0C 07089001  |..x.............|313// CHECK-NEXT:       0450: 10000000 20000000 00000000 01000000  |.... ...........|314// CHECK-NEXT:       0460: 00000000 1C000000 00000000 017A5052  |.............zPR|315// CHECK-NEXT:       0470: 00017810 0A840000 00000000 00001B0C  |..x.............|316// CHECK-NEXT:       0480: 07089001 10000000 24000000 00000000  |........$.......|317// CHECK-NEXT:       0490: 01000000 00000000 1C000000 00000000  |................|318// CHECK-NEXT:       04A0: 017A5052 00017810 0A880000 00000000  |.zPR..x.........|319// CHECK-NEXT:       04B0: 00001B0C 07089001 10000000 24000000  |............$...|320// CHECK-NEXT:       04C0: 00000000 01000000 00000000 18000000  |................|321// CHECK-NEXT:       04D0: 00000000 017A5052 00017810 048A0000  |.....zPR..x.....|322// CHECK-NEXT:       04E0: 1B0C0708 90010000 10000000 20000000  |............ ...|323// CHECK-NEXT:       04F0: 00000000 01000000 00000000 18000000  |................|324// CHECK-NEXT:       0500: 00000000 017A5052 00017810 068B0000  |.....zPR..x.....|325// CHECK-NEXT:       0510: 00001B0C 07089001 10000000 20000000  |............ ...|326// CHECK-NEXT:       0520: 00000000 01000000 00000000 1C000000  |................|327// CHECK-NEXT:       0530: 00000000 017A5052 00017810 0A8C0000  |.....zPR..x.....|328// CHECK-NEXT:       0540: 00000000 00001B0C 07089001 10000000  |................|329// CHECK-NEXT:       0550: 24000000 00000000 01000000 00000000  |$...............|330// CHECK-NEXT:       0560: 1C000000 00000000 017A5052 00017810  |.........zPR..x.|331// CHECK-NEXT:       0570: 0A900000 00000000 00001B0C 07089001  |................|332// CHECK-NEXT:       0580: 10000000 24000000 00000000 01000000  |....$...........|333// CHECK-NEXT:       0590: 00000000 18000000 00000000 017A5052  |.............zPR|334// CHECK-NEXT:       05A0: 00017810 04920000 1B0C0708 90010000  |..x.............|335// CHECK-NEXT:       05B0: 10000000 20000000 00000000 01000000  |.... ...........|336// CHECK-NEXT:       05C0: 00000000 18000000 00000000 017A5052  |.............zPR|337// CHECK-NEXT:       05D0: 00017810 06930000 00001B0C 07089001  |..x.............|338// CHECK-NEXT:       05E0: 10000000 20000000 00000000 01000000  |.... ...........|339// CHECK-NEXT:       05F0: 00000000 1C000000 00000000 017A5052  |.............zPR|340// CHECK-NEXT:       0600: 00017810 0A940000 00000000 00001B0C  |..x.............|341// CHECK-NEXT:       0610: 07089001 10000000 24000000 00000000  |........$.......|342// CHECK-NEXT:       0620: 01000000 00000000 1C000000 00000000  |................|343// CHECK-NEXT:       0630: 017A5052 00017810 0A980000 00000000  |.zPR..x.........|344// CHECK-NEXT:       0640: 00001B0C 07089001 10000000 24000000  |............$...|345// CHECK-NEXT:       0650: 00000000 01000000 00000000 18000000  |................|346// CHECK-NEXT:       0660: 00000000 017A5052 00017810 049A0000  |.....zPR..x.....|347// CHECK-NEXT:       0670: 1B0C0708 90010000 10000000 20000000  |............ ...|348// CHECK-NEXT:       0680: 00000000 01000000 00000000 18000000  |................|349// CHECK-NEXT:       0690: 00000000 017A5052 00017810 069B0000  |.....zPR..x.....|350// CHECK-NEXT:       06A0: 00001B0C 07089001 10000000 20000000  |............ ...|351// CHECK-NEXT:       06B0: 00000000 01000000 00000000 1C000000  |................|352// CHECK-NEXT:       06C0: 00000000 017A5052 00017810 0A9C0000  |.....zPR..x.....|353// CHECK-NEXT:       06D0: 00000000 00001B0C 07089001 10000000  |................|354// CHECK-NEXT:       06E0: 24000000 00000000 01000000 00000000  |$...............|355 356// CHECK:        Section {357// CHECK:          Index:358// CHECK:          Name: .rela.eh_frame359// CHECK-NEXT:     Type: SHT_RELA360// CHECK-NEXT:     Flags [361// CHECK-NEXT:       SHF_INFO_LINK362// CHECK-NEXT:     ]363// CHECK-NEXT:     Address: 0x0364// CHECK-NEXT:     Offset:365// CHECK-NEXT:     Size: 1752366// CHECK-NEXT:     Link:367// CHECK-NEXT:     Info:368// CHECK-NEXT:     AddressAlignment: 8369// CHECK-NEXT:     EntrySize: 24370// CHECK-NEXT:     Relocations [371// CHECK-NEXT:       0x1C R_X86_64_PC32 .text 0x23372// CHECK-NEXT:       0x48 R_X86_64_PC32 .text 0x0373// CHECK-NEXT:       0x51 R_X86_64_32 bar 0x0374// CHECK-NEXT:       0x60 R_X86_64_PC32 .text 0x2375// CHECK-NEXT:       0x69 R_X86_64_32 bar 0x0376// CHECK-NEXT:       0x83 R_X86_64_64 foo 0x0377// CHECK-NEXT:       0x9C R_X86_64_PC32 .text 0x3378// CHECK-NEXT:       0xA5 R_X86_64_16 bar 0x0379// CHECK-NEXT:       0xBB R_X86_64_64 foo 0x0380// CHECK-NEXT:       0xD4 R_X86_64_PC32 .text 0x1381// CHECK-NEXT:       0xDD R_X86_64_32 bar 0x0382// CHECK-NEXT:       0xF6 R_X86_64_16 foo 0x0383// CHECK-NEXT:       0x108 R_X86_64_PC32 .text 0x4384// CHECK-NEXT:       0x126 R_X86_64_32 foo 0x0385// CHECK-NEXT:       0x138 R_X86_64_PC32 .text 0x5386// CHECK-NEXT:       0x156 R_X86_64_64 foo 0x0387// CHECK-NEXT:       0x16C R_X86_64_PC32 .text 0x6388// CHECK-NEXT:       0x18A R_X86_64_64 foo 0x0389// CHECK-NEXT:       0x1A0 R_X86_64_PC32 .text 0xA390// CHECK-NEXT:       0x1BE R_X86_64_16 foo 0x0391// CHECK-NEXT:       0x1D0 R_X86_64_PC32 .text 0x7392// CHECK-NEXT:       0x1EE R_X86_64_32 foo 0x0393// CHECK-NEXT:       0x200 R_X86_64_PC32 .text 0x8394// CHECK-NEXT:       0x21E R_X86_64_64 foo 0x0395// CHECK-NEXT:       0x234 R_X86_64_PC32 .text 0x9396// CHECK-NEXT:       0x252 R_X86_64_PC64 foo 0x0397// CHECK-NEXT:       0x268 R_X86_64_PC32 .text 0xB398// CHECK-NEXT:       0x286 R_X86_64_PC16 foo 0x0399// CHECK-NEXT:       0x298 R_X86_64_PC32 .text 0xC400// CHECK-NEXT:       0x2B6 R_X86_64_PC32 foo 0x0401// CHECK-NEXT:       0x2C8 R_X86_64_PC32 .text 0xD402// CHECK-NEXT:       0x2E6 R_X86_64_PC64 foo 0x0403// CHECK-NEXT:       0x2FC R_X86_64_PC32 .text 0xE404// CHECK-NEXT:       0x31A R_X86_64_PC64 foo 0x0405// CHECK-NEXT:       0x330 R_X86_64_PC32 .text 0x12406// CHECK-NEXT:       0x34E R_X86_64_PC16 foo 0x0407// CHECK-NEXT:       0x360 R_X86_64_PC32 .text 0xF408// CHECK-NEXT:       0x37E R_X86_64_PC32 foo 0x0409// CHECK-NEXT:       0x390 R_X86_64_PC32 .text 0x10410// CHECK-NEXT:       0x3AE R_X86_64_PC64 foo 0x0411// CHECK-NEXT:       0x3C4 R_X86_64_PC32 .text 0x11412// CHECK-NEXT:       0x3E2 R_X86_64_64 foo 0x0413// CHECK-NEXT:       0x3F8 R_X86_64_PC32 .text 0x13414// CHECK-NEXT:       0x416 R_X86_64_16 foo 0x0415// CHECK-NEXT:       0x428 R_X86_64_PC32 .text 0x14416// CHECK-NEXT:       0x446 R_X86_64_32 foo 0x0417// CHECK-NEXT:       0x458 R_X86_64_PC32 .text 0x15418// CHECK-NEXT:       0x476 R_X86_64_64 foo 0x0419// CHECK-NEXT:       0x48C R_X86_64_PC32 .text 0x16420// CHECK-NEXT:       0x4AA R_X86_64_64 foo 0x0421// CHECK-NEXT:       0x4C0 R_X86_64_PC32 .text 0x1A422// CHECK-NEXT:       0x4DE R_X86_64_16 foo 0x0423// CHECK-NEXT:       0x4F0 R_X86_64_PC32 .text 0x17424// CHECK-NEXT:       0x50E R_X86_64_32 foo 0x0425// CHECK-NEXT:       0x520 R_X86_64_PC32 .text 0x18426// CHECK-NEXT:       0x53E R_X86_64_64 foo 0x0427// CHECK-NEXT:       0x554 R_X86_64_PC32 .text 0x19428// CHECK-NEXT:       0x572 R_X86_64_PC64 foo 0x0429// CHECK-NEXT:       0x588 R_X86_64_PC32 .text 0x1B430// CHECK-NEXT:       0x5A6 R_X86_64_PC16 foo 0x0431// CHECK-NEXT:       0x5B8 R_X86_64_PC32 .text 0x1C432// CHECK-NEXT:       0x5D6 R_X86_64_PC32 foo 0x0433// CHECK-NEXT:       0x5E8 R_X86_64_PC32 .text 0x1D434// CHECK-NEXT:       0x606 R_X86_64_PC64 foo 0x0435// CHECK-NEXT:       0x61C R_X86_64_PC32 .text 0x1E436// CHECK-NEXT:       0x63A R_X86_64_PC64 foo 0x0437// CHECK-NEXT:       0x650 R_X86_64_PC32 .text 0x22438// CHECK-NEXT:       0x66E R_X86_64_PC16 foo 0x0439// CHECK-NEXT:       0x680 R_X86_64_PC32 .text 0x1F440// CHECK-NEXT:       0x69E R_X86_64_PC32 foo 0x0441// CHECK-NEXT:       0x6B0 R_X86_64_PC32 .text 0x20442// CHECK-NEXT:       0x6CE R_X86_64_PC64 foo 0x0443// CHECK-NEXT:       0x6E4 R_X86_64_PC32 .text 0x21444// CHECK-NEXT:     ]445// CHECK:        }446 447.ifdef ERR448// ERR: [[#@LINE+1]]:15: error: expected .eh_frame, .debug_frame, or .sframe449.cfi_sections $450// ERR: [[#@LINE+1]]:28: error: expected comma451.cfi_sections .debug_frame $452// ERR: [[#@LINE+1]]:39: error: expected comma453.cfi_sections .debug_frame, .eh_frame $454// ERR: [[#@LINE+1]]:48: error: expected comma455.cfi_sections .debug_frame, .eh_frame, .sframe $456 457// ERR: [[#@LINE+1]]:16: error: unexpected token458.cfi_startproc $459// ERR: [[#@LINE+1]]:23: error: expected newline460.cfi_startproc simple $461 462// ERR: [[#@LINE+1]]:14: error: expected newline463.cfi_endproc $464.endif465