brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · d69dcb6 Raw
43 lines · plain
1@ RUN: llvm-mc -filetype=obj -triple=armv7-linux-gnueabi %s -o %t2@ RUN: llvm-readelf -s %t | FileCheck %s3 4@@ GNU as sets the thumb state according to the thumb state of the label. If a5@@ .type directive is placed after the label, set the symbol's thumb state6@@ according to the thumb state of the .type directive. This matches GNU as in7@@ most cases.8 9.syntax unified10.text11.thumb12func_label:13.type func_label, %function14 15.type foo_impl, %function16foo_impl:17  bx lr18.type foo_resolver, %function19foo_resolver:20  b foo_impl21.type foo, %gnu_indirect_function22.set foo, foo_resolver23 24@@ Note: GNU as sets the value to 1.25.thumb26label:27  bx lr28.arm29  bx lr30.type label, %function31 32@@ Check func_label, foo_impl, foo_resolver, and foo addresses have bit 0 set.33@@ Check label has bit 0 unset.34@ CHECK:      Value Size Type   Bind  Vis     Ndx Name35@ CHECK-NEXT: 00000000 0 NOTYPE LOCAL DEFAULT     UND36@ CHECK-NEXT: 00000001 0 FUNC   LOCAL DEFAULT 2   func_label37@ CHECK-NEXT: 00000001 0 FUNC   LOCAL DEFAULT 2   foo_impl38@ CHECK-NEXT: 00000000 0 NOTYPE LOCAL DEFAULT 2   $t39@ CHECK-NEXT: 00000003 0 FUNC   LOCAL DEFAULT 2   foo_resolver40@ CHECK-NEXT: 00000003 0 IFUNC  LOCAL DEFAULT 2   foo41@ CHECK-NEXT: 00000004 0 FUNC   LOCAL DEFAULT 2   label42@ CHECK-NEXT: 00000008 0 NOTYPE LOCAL DEFAULT 2   $a43