19bdd78501484a1add2d8a757fd29960dd9fc9de7Tim Northover@ RUN: llvm-mc -triple=armv7-linux-gnueabi -filetype=obj < %s | llvm-objdump -t - | FileCheck %s
26eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
36eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .text
46eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        add r0, r0, r0
56eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
66eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ .wibble should *not* inherit .text's mapping symbol. It's a completely different section.
76eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .section .wibble
86eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        add r0, r0, r0
96eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
106eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ A section should be able to start with a $t
116eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .section .starts_thumb
126eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .thumb
136eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        adds r0, r0, r0
146eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
156eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ A setion should be able to start with a $d
166eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .section .starts_data
176eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .word 42
186eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
196eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ Changing back to .text should not emit a redundant $a
206eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .text
216eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        .arm
226eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover        add r0, r0, r0
236eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
246eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ With all those constraints, we want:
256eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@   + .text to have $a at 0 and no others
266eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@   + .wibble to have $a at 0
276eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@   + .starts_thumb to have $t at 0
286eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@   + .starts_data to have $d at 0
296eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
306eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ CHECK: 00000000 .text 00000000 $a
316eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ CHECK-NEXT: 00000000 .wibble 00000000 $a
326eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ CHECK-NEXT: 00000000 .starts_data 00000000 $d
336eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ CHECK-NEXT: 00000000 .starts_thumb 00000000 $t
346eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover@ CHECK-NOT: ${{[adt]}}
356eb3e87df04f8b035562d9865292c23f5b79f1a2Tim Northover
36