diff options
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-sh/sh64/reldl-1.s')
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-sh/sh64/reldl-1.s | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-sh/sh64/reldl-1.s b/binutils-2.21/ld/testsuite/ld-sh/sh64/reldl-1.s new file mode 100644 index 0000000..0aeb332 --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-sh/sh64/reldl-1.s @@ -0,0 +1,171 @@ +! Relative linking. Like the simple test, but mixing in use of +! "datalabel" and offsets to the global symbols into the previous +! combinations. +! +! More systematic testing datalabel references, +! igoring section difference, symbol definition type and offset presence: +! Datalabel reference plus: +! (datalabel other file, other file, same file, none) +! = (1, 2, 3, 4, 12, 13, 23, 123) +! +! Definition: +! (none, same file, other file) = (a, b, c) +! +! Combined: +! = (a1, a2, a3, a4, a12, a13, a23, a123, b1, b2, b3, b4, b12, +! b13, b23, b123, c1, c2, c3, c4, c12, c13, c23, c123) + + .mode SHmedia + .text + .global start +start: + nop + .global file1text1 +file1text1: + nop + movi file1text1 & 65535,r10 + .global file1text2 +file1text2: + movi (datalabel file1data2) & 65535,r20 + .global file1text3 +file1text3: + movi file2text3 & 65535,r20 + .global file1text4 +file1text4: + movi file2data4 & 65535,r20 + .global file1text5 +file1text5: + movi unresolved1 & 65535,r40 + .global b1 +b1: + movi unresolved6 & 65535,r30 + .global b2 +b2: + movi (datalabel file1text1) & 65535,r10 + .global b3 +b3: + movi (datalabel file1text1 + 24) & 65535,r10 + .global b4 +b4: + movi (datalabel file1text5 + 8) & 65535, r40 + .global b12 +b12: + movi (datalabel file1data2 + 48) & 65535,r20 + .global b13 +b13: + movi file1data2 & 65535,r20 + .global b23 +b23: + movi (datalabel file2data4 + 16),r50 + .global b123 +b123: + movi (datalabel unresolved7) & 65535,r60 + .global oc1 +oc1: + movi (datalabel unresolved1) & 65535,r60 + .global oc2 +oc2: + nop + .global oc3 +oc3: + nop + .global oc4 +oc4: + nop + .global oc12 +oc12: + nop + .global oc13 +oc13: + nop + .global oc23 +oc23: + nop + .global oc123 +oc123: + nop + + .data + .long 0 + .global file1data1 +file1data1: + .long 0 + .long datalabel file1data1 + 8 + .global file1data2 +file1data2: + .long file1text2 + .global file1data3 +file1data3: + .long file2data3 + .global file1data4 +file1data4: + .long file2text4 + .global file1data5 +file1data5: + .long unresolved2 + .long unresolved5 + .long datalabel unresolved6 + 40 + .long unresolved9 + + .long datalabel a1 + .long a23 + .long b123 + .long c3 + .long c13 + .long datalabel a2 + .long datalabel a3 + .long datalabel a4 + .long datalabel a12 + .long datalabel a13 + .long datalabel a23 + .long datalabel a123 + .long datalabel b1 + .long datalabel b2 + .long a3 + .long a13 + .long datalabel b3 + .long datalabel b4 + .long datalabel b12 + .long datalabel b13 + .long a123 + .long b3 + .long b13 + .long b23 + .long datalabel b23 + .long datalabel b123 + .long datalabel c1 + .long datalabel c2 + .long datalabel c3 + .long c23 + .long c123 + .long datalabel c4 + .long datalabel c12 + .long datalabel c13 + .long datalabel c23 + .long datalabel c123 + + + .long datalabel oa1 + .long datalabel ob1 + .long ob123 + .long datalabel oc1 + .long oa2 + .long ob2 + .long oc2 + .long oa12 + .long datalabel oa12 + .long datalabel ob12 + .long ob12 + .long datalabel oc12 + .long oc12 + .long oa23 + .long datalabel oa13 + .long oc123 + .long datalabel ob13 + .long datalabel oc13 + .long ob23 + .long oc23 + .long oa123 + .long datalabel oa123 + .long datalabel ob123 + .long datalabel oc123 |