78 lines · plain
1// RUN: llvm-mc -triple=aarch64 -filetype=obj %s | llvm-objdump -t - | FileCheck %s --match-full-lines2// RUN: llvm-mc -triple=aarch64 -filetype=obj -implicit-mapsyms %s | llvm-objdump -t - | FileCheck %s --check-prefix=CHECK1 --match-full-lines3 4/// The test covers many state transitions. Let's use the first state and the last state to describe a section.5/// .text goes through cd -> dd -> cc -> dd.6/// .data goes through dd -> dc -> cd.7.file "0.s"8.section .text1,"ax"9add w0, w0, w010 11.text12add w0, w0, w013.word 4214 15.pushsection .data,"aw"16.word 4217.popsection18 19.text20.word 4221 22.section .text1,"ax"23add w1, w1, w124 25.text26add w1, w1, w127 28.section .data,"aw"29.word 4230add w0, w0, w031 32.text33.word 4234 35## .rodata and subsequent symbols should be after the FILE symbol of "1.s".36.file "1.s"37.section .rodata,"a"38.word 4239add w0, w0, w040 41.section .data,"aw"42add w0, w0, w043.word 4244 45.text46 47.ident "clang"48.section ".note.GNU-stack","",@progbits49 50// CHECK: SYMBOL TABLE:51// CHECK-NEXT: 0000000000000000 l df *ABS* 0000000000000000 0.s52// CHECK-NEXT: 0000000000000000 l .text1 0000000000000000 $x53// CHECK-NEXT: 0000000000000000 l .text 0000000000000000 $x54// CHECK-NEXT: 0000000000000004 l .text 0000000000000000 $d55// CHECK-NEXT: 0000000000000000 l .data 0000000000000000 $d56// CHECK-NEXT: 000000000000000c l .text 0000000000000000 $x57// CHECK-NEXT: 0000000000000008 l .data 0000000000000000 $x58// CHECK-NEXT: 0000000000000010 l .text 0000000000000000 $d59// CHECK-NEXT: 0000000000000000 l df *ABS* 0000000000000000 1.s60// CHECK-NEXT: 0000000000000000 l .rodata 0000000000000000 $d61// CHECK-NEXT: 0000000000000004 l .rodata 0000000000000000 $x62// CHECK-NEXT: 0000000000000010 l .data 0000000000000000 $d63// CHECK-NEXT: 0000000000000000 l .comment 0000000000000000 $d64// CHECK-NOT: {{.}}65 66// CHECK1: SYMBOL TABLE:67// CHECK1-NEXT: 0000000000000000 l df *ABS* 0000000000000000 0.s68// CHECK1-NEXT: 0000000000000004 l .text 0000000000000000 $d69// CHECK1-NEXT: 000000000000000c l .text 0000000000000000 $x70// CHECK1-NEXT: 0000000000000008 l .data 0000000000000000 $x71// CHECK1-NEXT: 0000000000000010 l .text 0000000000000000 $d72// CHECK1-NEXT: 0000000000000014 l .text 0000000000000000 $x73// CHECK1-NEXT: 0000000000000000 l df *ABS* 0000000000000000 1.s74// CHECK1-NEXT: 0000000000000004 l .rodata 0000000000000000 $x75// CHECK1-NEXT: 0000000000000008 l .rodata 0000000000000000 $d76// CHECK1-NEXT: 0000000000000010 l .data 0000000000000000 $d77// CHECK1-NOT: {{.}}78