diff options
author | Jing Yu <jingyu@google.com> | 2011-12-20 10:27:58 -0800 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2011-12-20 10:27:58 -0800 |
commit | cf3cdbf8b3cda61a619299e7966a83df66244036 (patch) | |
tree | 201e2bcfc955f16802d3257112d29736cb3a3ce8 /binutils-2.21/ld/testsuite/ld-s390/tlsbin.s | |
parent | e4df3e0a5bb640ccfa2f30ee67fe9b3146b152d6 (diff) | |
download | toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.zip toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.tar.gz toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.tar.bz2 |
Add binutils-2.21.
Use --enable-gold=default for dual linker support.
Change-Id: Id1a744c7db58a0b5e7a3be174cdfa875f2f86e49
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-s390/tlsbin.s')
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-s390/tlsbin.s | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-s390/tlsbin.s b/binutils-2.21/ld/testsuite/ld-s390/tlsbin.s new file mode 100644 index 0000000..4da50e7 --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-s390/tlsbin.s @@ -0,0 +1,73 @@ + .section ".tbss", "awT", @nobits + .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8 +bg1: .space 4 +bg2: .space 4 +bg3: .space 4 +bg4: .space 4 +bg5: .space 4 +bg6: .space 4 +bg7: .space 4 +bg8: .space 4 +bl1: .space 4 +bl2: .space 4 +bl3: .space 4 +bl4: .space 4 +bl5: .space 4 +bl6: .space 4 +bl7: .space 4 +bl8: .space 4 + .text + .globl _start + .type _start,@function +_start: + /* Function prolog */ + stm %r6,%r14,24(%r15) + bras %r13,.LTN1 + /* Literal pool */ +.LT1: +.LC0: + .long sG6@indntpoff +.LC1: + .long bg6@indntpoff +.LC2: + .long bl6@indntpoff +.LC3: + .long sh6@indntpoff +.LC4: + .long sg3@indntpoff +.LTN1: + /* Function prolog */ + lr %r14,%r15 + ahi %r15,-96 + st %r14,0(%r14) + + /* Extract TCB */ + ear %r9,%a0 + + /* IE against global var */ + l %r3,.LC0-.LT1(%r13) + l %r3,0(%r3,%r12):tls_load:sG6 + la %r3,0(%r3,%r9) + + /* IE -> LE against global var defined in exec */ + l %r3,.LC1-.LT1(%r13) + l %r4,0(%r3,%r12):tls_load:bg6 + la %r5,0(%r4,%r9) + + /* IE -> LE against local var */ + l %r3,.LC2-.LT1(%r13) + l %r4,0(%r3,%r12):tls_load:bl6 + la %r5,0(%r4,%r9) + + /* IE -> LE against hidden but not local var */ + l %r3,.LC3-.LT1(%r13) + l %r4,0(%r3,%r12):tls_load:sh6 + la %r5,0(%r4,%r9) + + /* LE, global var defined in exec */ + l %r4,.LC4-.LT1(%r13) + la %r5,0(%r4,%r9) + + /* Function epilog */ + lm %r6,%r14,120(%r15) + br %r14 |