| #source: tlspic1.s |
| #source: tlspic2.s |
| #as: |
| #ld: -shared -melf32xtensa |
| #objdump: -drj.text --start-address=0x350 |
| #target: xtensa*-*-linux* |
| |
| .*: +file format elf32-xtensa-.e |
| |
| Disassembly of section \.text: |
| |
| 0+350 <_start>: |
| [0-9a-f]+: [0-9a-f]+[ ]+entry a1, 32 |
| # GD |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a8, 2e0 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 2e4 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+callx8 a8 |
| # GD -> IE because variable is referenced through IE too |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a8 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 2ec <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a10, a10, a8 |
| # GD against local variable |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a8, 2f0 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 2f4 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+callx8 a8 |
| # GD -> IE against local variable referenced through IE too |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a8 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 2fc <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a10, a10, a8 |
| # GD against hidden and local variable |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a8, 300 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 304 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+callx8 a8 |
| # GD -> IE against hidden and local variable referenced through IE too |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a8 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 30c <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a10, a10, a8 |
| # GD against hidden but not local variable |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a8, 310 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 314 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+callx8 a8 |
| # GD -> IE against hidden but not local variable referenced through IE too |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a8 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 31c <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a10, a10, a8 |
| # LD |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a8, 320 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a10, 324 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+callx8 a8 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a12, 328 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a12, a12, a10 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a13, 32c <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a13, a13, a10 |
| # LD against hidden and local variables |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a12, 330 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a12, a12, a10 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a13, 334 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a13, a13, a10 |
| # LD against hidden but not local variables |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a12, 338 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a12, a12, a10 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a13, 33c <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a13, a13, a10 |
| # IE against global var |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a2 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a3, 340 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a3, a3, a2 |
| # IE against local var |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a4 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a5, 344 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a5, a5, a4 |
| # IE against hidden and local var |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a6 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a7, 348 <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a7, a7, a6 |
| # IE against hidden but not local var |
| [0-9a-f]+: [0-9a-f]+[ ]+rur.threadptr a8 |
| [0-9a-f]+: [0-9a-f]+[ ]+l32r a9, 34c <.*> |
| [0-9a-f]+: [0-9a-f]+[ ]+add.* a9, a9, a8 |
| # |
| [0-9a-f]+: [0-9a-f]+[ ]+retw.* |