OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /open8_urisc/trunk/gnu/binutils/ld/testsuite/ld-sh/sh64
    from Rev 13 to Rev 106
    Reverse comparison

Rev 13 → Rev 106

/reldl64.rd
0,0 → 1,360
 
Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 28 entries:
.*
0+8 +0+5b000000f6 R_SH_IMM_LOW16[ ]+0+4 +file1text1[ ]+\+ 0
0+c +0+2d000000f6 R_SH_IMM_LOW16[ ]+0+c +file1data2[ ]+\+ 0
0+10 +0+30000000f6 R_SH_IMM_LOW16[ ]+0+78 +file2text3[ ]+\+ 0
0+14 +0+0f000000f6 R_SH_IMM_LOW16[ ]+0+12c +file2data4[ ]+\+ 0
0+18 +0+4c000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved1[ ]+\+ 0
0+1c +0+51000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved6[ ]+\+ 0
0+20 +0+5d000000f6 R_SH_IMM_LOW16[ ]+0+ +file1text1[ ]+\+ 0
0+24 +0+5d000000f6 R_SH_IMM_LOW16[ ]+0+ +file1text1[ ]+\+ 18
0+28 +0+21000000f6 R_SH_IMM_LOW16[ ]+0+ +file1text5[ ]+\+ 8
0+2c +0+2d000000f6 R_SH_IMM_LOW16[ ]+0+c +file1data2[ ]+\+ 30
0+30 +0+2d000000f6 R_SH_IMM_LOW16[ ]+0+c +file1data2[ ]+\+ 0
0+44 +0+42000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved7[ ]+\+ 0
0+48 +0+27000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved1[ ]+\+ 0
0+34 +0+35000000fc R_SH_IMM_HI16[ ]+0+ +file2data4[ ]+\+ 10
0+38 +0+35000000fa R_SH_IMM_MEDHI16[ ]+0+ +file2data4[ ]+\+ 10
0+3c +0+35000000f8 R_SH_IMM_MEDLOW16[ ]+0+ +file2data4[ ]+\+ 10
0+40 +0+35000000f6 R_SH_IMM_LOW16[ ]+0+ +file2data4[ ]+\+ 10
0+70 +0+08000000f6 R_SH_IMM_LOW16[ ]+0+6c +file2text1[ ]+\+ 0
0+74 +0+24000000f6 R_SH_IMM_LOW16[ ]+0+124 +file2data2[ ]+\+ 0
0+78 +0+23000000f6 R_SH_IMM_LOW16[ ]+0+10 +file1text3[ ]+\+ 0
0+7c +0+81000000f6 R_SH_IMM_LOW16[ ]+0+14 +file1data4[ ]+\+ 0
0+80 +0+4c000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved1[ ]+\+ 0
0+84 +0+64000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved3[ ]+\+ 0
0+88 +0+85000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved8[ ]+\+ 0
0+8c +0+32000000f6 R_SH_IMM_LOW16[ ]+0+ +unresolved9[ ]+\+ 0
0+90 +0+5d000000f6 R_SH_IMM_LOW16[ ]+0+ +file1text1[ ]+\+ 0
0+94 +0+4b000000f6 R_SH_IMM_LOW16[ ]+0+ +file1data2[ ]+\+ 0
0+98 +0+28000000f6 R_SH_IMM_LOW16[ ]+0+ +file1data3[ ]+\+ 0
 
Relocation section '\.rela\.data' at offset 0x[0-9a-f]+ contains 134 entries:
.*
0+8 +0+0b00000001 R_SH_DIR32[ ]+0+4 +file1data1[ ]+\+ 0
0+c +0+700000001 R_SH_DIR32[ ]+0+c +file1text2[ ]+\+ 0
0+10 +0+7800000001 R_SH_DIR32[ ]+0+128 +file2data3[ ]+\+ 0
0+14 +0+6700000001 R_SH_DIR32[ ]+0+7c +file2text4[ ]+\+ 0
0+18 +0+7400000001 R_SH_DIR32[ ]+0+ +unresolved2[ ]+\+ 0
0+1c +0+0500000001 R_SH_DIR32[ ]+0+ +unresolved5[ ]+\+ 0
0+20 +0+6c00000001 R_SH_DIR32[ ]+0+ +unresolved6[ ]+\+ 0
0+24 +0+0600000001 R_SH_DIR32[ ]+0+ +unresolved9[ ]+\+ 0
0+28 +0+7a00000001 R_SH_DIR32[ ]+0+ +a1[ ]+\+ 0
0+2c +0+7000000001 R_SH_DIR32[ ]+0+ +a23[ ]+\+ 0
0+30 +0+5400000001 R_SH_DIR32[ ]+0+44 +b123[ ]+\+ 0
0+34 +0+6a00000001 R_SH_DIR32[ ]+0+a4 +c3[ ]+\+ 0
0+38 +0+3c00000001 R_SH_DIR32[ ]+0+b0 +c13[ ]+\+ 0
0+3c +0+2600000001 R_SH_DIR32[ ]+0+ +a2[ ]+\+ 0
0+40 +0+4e00000001 R_SH_DIR32[ ]+0+ +a3[ ]+\+ 0
0+44 +0+2500000001 R_SH_DIR32[ ]+0+ +a4[ ]+\+ 0
0+48 +0+6900000001 R_SH_DIR32[ ]+0+ +a12[ ]+\+ 0
0+4c +0+1500000001 R_SH_DIR32[ ]+0+ +a13[ ]+\+ 0
0+50 +0+7600000001 R_SH_DIR32[ ]+0+ +a23[ ]+\+ 0
0+54 +0+6200000001 R_SH_DIR32[ ]+0+ +a123[ ]+\+ 0
0+58 +0+3d00000001 R_SH_DIR32[ ]+0+ +b1[ ]+\+ 0
0+5c +0+7100000001 R_SH_DIR32[ ]+0+ +b2[ ]+\+ 0
0+60 +0+2f00000001 R_SH_DIR32[ ]+0+ +a3[ ]+\+ 0
0+64 +0+7f00000001 R_SH_DIR32[ ]+0+ +a13[ ]+\+ 0
0+68 +0+2e00000001 R_SH_DIR32[ ]+0+ +b3[ ]+\+ 0
0+6c +0+6800000001 R_SH_DIR32[ ]+0+ +b4[ ]+\+ 0
0+70 +0+5200000001 R_SH_DIR32[ ]+0+ +b12[ ]+\+ 0
0+74 +0+2900000001 R_SH_DIR32[ ]+0+ +b13[ ]+\+ 0
0+78 +0+3e00000001 R_SH_DIR32[ ]+0+ +a123[ ]+\+ 0
0+7c +0+6500000001 R_SH_DIR32[ ]+0+24 +b3[ ]+\+ 0
0+80 +0+3b00000001 R_SH_DIR32[ ]+0+30 +b13[ ]+\+ 0
0+84 +0+6f00000001 R_SH_DIR32[ ]+0+34 +b23[ ]+\+ 0
0+88 +0+7d00000001 R_SH_DIR32[ ]+0+ +b23[ ]+\+ 0
0+8c +0+0c00000001 R_SH_DIR32[ ]+0+ +b123[ ]+\+ 0
0+90 +0+8300000001 R_SH_DIR32[ ]+0+ +c1[ ]+\+ 0
0+94 +0+2c00000001 R_SH_DIR32[ ]+0+ +c2[ ]+\+ 0
0+98 +0+6300000001 R_SH_DIR32[ ]+0+ +c3[ ]+\+ 0
0+9c +0+3900000001 R_SH_DIR32[ ]+0+b4 +c23[ ]+\+ 0
0+a0 +0+7e00000001 R_SH_DIR32[ ]+0+b8 +c123[ ]+\+ 0
0+a4 +0+0e00000001 R_SH_DIR32[ ]+0+ +c4[ ]+\+ 0
0+a8 +0+2000000001 R_SH_DIR32[ ]+0+ +c12[ ]+\+ 0
0+ac +0+3100000001 R_SH_DIR32[ ]+0+ +c13[ ]+\+ 0
0+b0 +0+3600000001 R_SH_DIR32[ ]+0+ +c23[ ]+\+ 0
0+b4 +0+3a00000001 R_SH_DIR32[ ]+0+ +c123[ ]+\+ 0
0+b8 +0+4800000001 R_SH_DIR32[ ]+0+ +oa1[ ]+\+ 0
0+bc +0+1400000001 R_SH_DIR32[ ]+0+ +ob1[ ]+\+ 0
0+c0 +0+4400000001 R_SH_DIR32[ ]+0+d8 +ob123[ ]+\+ 0
0+c4 +0+5900000001 R_SH_DIR32[ ]+0+ +oc1[ ]+\+ 0
0+c8 +0+7900000001 R_SH_DIR32[ ]+0+ +oa2[ ]+\+ 0
0+cc +0+6100000001 R_SH_DIR32[ ]+0+c0 +ob2[ ]+\+ 0
0+d0 +0+7200000001 R_SH_DIR32[ ]+0+4c +oc2[ ]+\+ 0
0+d4 +0+4900000001 R_SH_DIR32[ ]+0+ +oa12[ ]+\+ 0
0+d8 +0+1b00000001 R_SH_DIR32[ ]+0+ +oa12[ ]+\+ 0
0+dc +0+6000000001 R_SH_DIR32[ ]+0+ +ob12[ ]+\+ 0
0+e0 +0+4a00000001 R_SH_DIR32[ ]+0+cc +ob12[ ]+\+ 0
0+e4 +0+5a00000001 R_SH_DIR32[ ]+0+ +oc12[ ]+\+ 0
0+e8 +0+1200000001 R_SH_DIR32[ ]+0+58 +oc12[ ]+\+ 0
0+ec +0+3f00000001 R_SH_DIR32[ ]+0+ +oa23[ ]+\+ 0
0+f0 +0+4500000001 R_SH_DIR32[ ]+0+ +oa13[ ]+\+ 0
0+f4 +0+0a00000001 R_SH_DIR32[ ]+0+64 +oc123[ ]+\+ 0
0+f8 +0+5500000001 R_SH_DIR32[ ]+0+ +ob13[ ]+\+ 0
0+fc +0+5c00000001 R_SH_DIR32[ ]+0+ +oc13[ ]+\+ 0
0+100 +0+8200000001 R_SH_DIR32[ ]+0+d4 +ob23[ ]+\+ 0
0+104 +0+2b00000001 R_SH_DIR32[ ]+0+60 +oc23[ ]+\+ 0
0+108 +0+5700000001 R_SH_DIR32[ ]+0+ +oa123[ ]+\+ 0
0+10c +0+5000000001 R_SH_DIR32[ ]+0+ +oa123[ ]+\+ 0
0+110 +0+6600000001 R_SH_DIR32[ ]+0+ +ob123[ ]+\+ 0
0+114 +0+3300000001 R_SH_DIR32[ ]+0+ +oc123[ ]+\+ 0
0+120 +0+7c00000001 R_SH_DIR32[ ]+0+11c +file2data1[ ]+\+ 0
0+124 +0+5e00000001 R_SH_DIR32[ ]+0+74 +file2text2[ ]+\+ 0
0+128 +0+8000000001 R_SH_DIR32[ ]+0+10 +file1data3[ ]+\+ 0
0+12c +0+7700000001 R_SH_DIR32[ ]+0+14 +file1text4[ ]+\+ 0
0+130 +0+7400000001 R_SH_DIR32[ ]+0+ +unresolved2[ ]+\+ 0
0+134 +0+7b00000001 R_SH_DIR32[ ]+0+ +unresolved4[ ]+\+ 0
0+138 +0+4800000001 R_SH_DIR32[ ]+0+ +oa1[ ]+\+ 0
0+13c +0+1700000001 R_SH_DIR32[ ]+0+ +oa2[ ]+\+ 0
0+140 +0+6d00000001 R_SH_DIR32[ ]+0+ +oa3[ ]+\+ 0
0+144 +0+1c00000001 R_SH_DIR32[ ]+0+ +oa13[ ]+\+ 0
0+148 +0+1900000001 R_SH_DIR32[ ]+0+5c +oc13[ ]+\+ 0
0+14c +0+1000000001 R_SH_DIR32[ ]+0+ +oa4[ ]+\+ 0
0+150 +0+1b00000001 R_SH_DIR32[ ]+0+ +oa12[ ]+\+ 0
0+154 +0+4500000001 R_SH_DIR32[ ]+0+ +oa13[ ]+\+ 0
0+158 +0+3800000001 R_SH_DIR32[ ]+0+ +oa23[ ]+\+ 0
0+15c +0+3f00000001 R_SH_DIR32[ ]+0+ +oa23[ ]+\+ 0
0+160 +0+5700000001 R_SH_DIR32[ ]+0+ +oa123[ ]+\+ 0
0+164 +0+1600000001 R_SH_DIR32[ ]+0+50 +oc3[ ]+\+ 0
0+168 +0+5000000001 R_SH_DIR32[ ]+0+ +oa123[ ]+\+ 0
0+16c +0+1400000001 R_SH_DIR32[ ]+0+ +ob1[ ]+\+ 0
0+170 +0+2200000001 R_SH_DIR32[ ]+0+ +ob2[ ]+\+ 0
0+174 +0+5f00000001 R_SH_DIR32[ ]+0+ +ob3[ ]+\+ 0
0+178 +0+1300000001 R_SH_DIR32[ ]+0+ +ob4[ ]+\+ 0
0+17c +0+8400000001 R_SH_DIR32[ ]+0+ +oa3[ ]+\+ 0
0+180 +0+2b00000001 R_SH_DIR32[ ]+0+60 +oc23[ ]+\+ 0
0+184 +0+0a00000001 R_SH_DIR32[ ]+0+64 +oc123[ ]+\+ 0
0+188 +0+6000000001 R_SH_DIR32[ ]+0+ +ob12[ ]+\+ 0
0+18c +0+5500000001 R_SH_DIR32[ ]+0+ +ob13[ ]+\+ 0
0+190 +0+4d00000001 R_SH_DIR32[ ]+0+d0 +ob13[ ]+\+ 0
0+194 +0+8200000001 R_SH_DIR32[ ]+0+d4 +ob23[ ]+\+ 0
0+198 +0+5800000001 R_SH_DIR32[ ]+0+ +ob23[ ]+\+ 0
0+19c +0+6600000001 R_SH_DIR32[ ]+0+ +ob123[ ]+\+ 0
0+1a0 +0+5900000001 R_SH_DIR32[ ]+0+ +oc1[ ]+\+ 0
0+1a4 +0+1100000001 R_SH_DIR32[ ]+0+c4 +ob3[ ]+\+ 0
0+1a8 +0+4400000001 R_SH_DIR32[ ]+0+d8 +ob123[ ]+\+ 0
0+1ac +0+0900000001 R_SH_DIR32[ ]+0+ +oc2[ ]+\+ 0
0+1b0 +0+3700000001 R_SH_DIR32[ ]+0+ +oc3[ ]+\+ 0
0+1b4 +0+5300000001 R_SH_DIR32[ ]+0+ +oc4[ ]+\+ 0
0+1b8 +0+5a00000001 R_SH_DIR32[ ]+0+ +oc12[ ]+\+ 0
0+1bc +0+5c00000001 R_SH_DIR32[ ]+0+ +oc13[ ]+\+ 0
0+1c0 +0+2a00000001 R_SH_DIR32[ ]+0+ +oc23[ ]+\+ 0
0+1c4 +0+3300000001 R_SH_DIR32[ ]+0+ +oc123[ ]+\+ 0
0+1c8 +0+7a00000001 R_SH_DIR32[ ]+0+ +a1[ ]+\+ 0
0+1cc +0+1a00000001 R_SH_DIR32[ ]+0+a0 +c2[ ]+\+ 0
0+1d0 +0+6f00000001 R_SH_DIR32[ ]+0+34 +b23[ ]+\+ 0
0+1d4 +0+3d00000001 R_SH_DIR32[ ]+0+ +b1[ ]+\+ 0
0+1d8 +0+8300000001 R_SH_DIR32[ ]+0+ +c1[ ]+\+ 0
0+1dc +0+6900000001 R_SH_DIR32[ ]+0+ +a12[ ]+\+ 0
0+1e0 +0+5600000001 R_SH_DIR32[ ]+0+ +a2[ ]+\+ 0
0+1e4 +0+0d00000001 R_SH_DIR32[ ]+0+20 +b2[ ]+\+ 0
0+1e8 +0+5200000001 R_SH_DIR32[ ]+0+ +b12[ ]+\+ 0
0+1ec +0+2000000001 R_SH_DIR32[ ]+0+ +c12[ ]+\+ 0
0+1f0 +0+5400000001 R_SH_DIR32[ ]+0+44 +b123[ ]+\+ 0
0+1f4 +0+7e00000001 R_SH_DIR32[ ]+0+b8 +c123[ ]+\+ 0
0+1f8 +0+1500000001 R_SH_DIR32[ ]+0+ +a13[ ]+\+ 0
0+1fc +0+2900000001 R_SH_DIR32[ ]+0+ +b13[ ]+\+ 0
0+200 +0+3900000001 R_SH_DIR32[ ]+0+b4 +c23[ ]+\+ 0
0+204 +0+3e00000001 R_SH_DIR32[ ]+0+ +a123[ ]+\+ 0
0+208 +0+3100000001 R_SH_DIR32[ ]+0+ +c13[ ]+\+ 0
0+20c +0+6200000001 R_SH_DIR32[ ]+0+ +a123[ ]+\+ 0
0+210 +0+6e00000001 R_SH_DIR32[ ]+0+ac +c12[ ]+\+ 0
0+214 +0+7000000001 R_SH_DIR32[ ]+0+ +a23[ ]+\+ 0
0+218 +0+0c00000001 R_SH_DIR32[ ]+0+ +b123[ ]+\+ 0
0+21c +0+4000000001 R_SH_DIR32[ ]+0+ +a12[ ]+\+ 0
0+220 +0+7300000001 R_SH_DIR32[ ]+0+2c +b12[ ]+\+ 0
0+224 +0+3a00000001 R_SH_DIR32[ ]+0+ +c123[ ]+\+ 0
 
Symbol table '\.symtab' contains 134 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+0: 0+0000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+1: 0+0000 +0 +SECTION +LOCAL +DEFAULT +1
+2: 0+0000 +0 +SECTION +LOCAL +DEFAULT +3
+3: 0+0000 +0 +SECTION +LOCAL +DEFAULT +5
+4: 0+0000 +0 +SECTION +LOCAL +DEFAULT +6
+5: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved5
+6: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved9
+7: 0+000c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text2
+8: 0+006c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text1
+9: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc2
+10: 0+0064 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc123
+11: 0+0004 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data1
+12: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b123
+13: 0+0020 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b2
+14: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c4
+15: 0+012c +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data4
+16: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa4
+17: 0+00c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob3
+18: 0+0058 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc12
+19: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob4
+20: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob1
+21: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a13
+22: 0+0050 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc3
+23: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa2
+24: 0+00a8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c4
+25: 0+005c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc13
+26: 0+00a0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c2
+27: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa12
+28: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa13
+29: 0+00c8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob4
+30: 0+001c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b1
+31: 0+0018 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text5
+32: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c12
+33: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1text5
+34: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob2
+35: 0+0010 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text3
+36: 0+0124 +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data2
+37: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a4
+38: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a2
+39: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved1
+40: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1data3
+41: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b13
+42: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc23
+43: 0+0060 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc23
+44: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c2
+45: 0+000c +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data2
+46: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b3
+47: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a3
+48: 0+0078 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text3
+49: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c13
+50: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved9
+51: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc123
+52: 0+0028 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b4
+53: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file2data4
+54: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c23
+55: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc3
+56: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa23
+57: 0+00b4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c23
+58: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c123
+59: 0+0030 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b13
+60: 0+00b0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c13
+61: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b1
+62: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a123
+63: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa23
+64: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a12
+65: 0+00bc +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob1
+66: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved7
+67: 0+0068 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start2
+68: 0+00d8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob123
+69: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa13
+70: 0+009c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c1
+71: 0+0054 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc4
+72: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa1
+73: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa12
+74: 0+00cc +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob12
+75: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1data2
+76: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved1
+77: 0+00d0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob13
+78: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a3
+79: 0+0018 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data5
+80: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa123
+81: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved6
+82: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b12
+83: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc4
+84: 0+0044 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b123
+85: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob13
+86: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a2
+87: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa123
+88: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob23
+89: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc1
+90: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc12
+91: 0+0004 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text1
+92: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc13
+93: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1text1
+94: 0+0074 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text2
+95: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob3
+96: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob12
+97: 0+00c0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob2
+98: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a123
+99: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c3
+100: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved3
+101: 0+0024 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b3
+102: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob123
+103: 0+007c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text4
+104: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b4
+105: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a12
+106: 0+00a4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c3
+107: 0+0048 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc1
+108: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved6
+109: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa3
+110: 0+00ac +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c12
+111: 0+0034 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b23
+112: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a23
+113: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b2
+114: 0+004c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc2
+115: 0+002c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b12
+116: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved2
+117: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
+118: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a23
+119: 0+0014 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text4
+120: 0+0128 +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data3
+121: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa2
+122: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a1
+123: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved4
+124: 0+011c +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data1
+125: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b23
+126: 0+00b8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c123
+127: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a13
+128: 0+0010 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data3
+129: 0+0014 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data4
+130: 0+00d4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4] +1 ob23
+131: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c1
+132: 0+0000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa3
+133: 0+0000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved8
 
Hex dump of section '\.text':
.*
0x00000000 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0x00000010 cc000140 cc000140 cc000280 cc0001e0 .*
0x00000020 cc0000a0 cc0000a0 cc000280 cc000140 .*
0x00000030 cc000140 cc000320 c8000320 c8000320 .*
0x00000040 c8000320 cc0003c0 cc0003c0 6ff0fff0 .*
0x00000050 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00000060 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00000070 cc0000a0 cc000140 cc000140 cc000140 .*
0x00000080 cc0001e0 cc0001e0 cc000320 cc000320 .*
0x00000090 cc000280 cc000280 cc000280 6ff0fff0 .*
0x000000a0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000b0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000c0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000d0 6ff0fff0 6ff0fff0 6ff0fff0 .*
 
Hex dump of section '\.data':
.*
0x00000000 00000000 00000000 00000008 00000000 .*
0x00000010 00000000 00000000 00000000 00000000 .*
0x00000020 00000028 00000000 00000000 00000000 .*
0x00000030 00000000 00000000 00000000 00000000 .*
0x00000040 00000000 00000000 00000000 00000000 .*
0x00000050 00000000 00000000 00000000 00000000 .*
0x00000060 00000000 00000000 00000000 00000000 .*
0x00000070 00000000 00000000 00000000 00000000 .*
0x00000080 00000000 00000000 00000000 00000000 .*
0x00000090 00000000 00000000 00000000 00000000 .*
0x000000a0 00000000 00000000 00000000 00000000 .*
0x000000b0 00000000 00000000 00000000 00000000 .*
0x000000c0 00000000 00000000 00000000 00000000 .*
0x000000d0 00000000 00000000 00000000 00000000 .*
0x000000e0 00000000 00000000 00000000 00000000 .*
0x000000f0 00000000 00000000 00000000 00000000 .*
0x00000100 00000000 00000000 00000000 00000000 .*
0x00000110 00000000 00000000 00000000 00000000 .*
0x00000120 00000000 00000000 00000000 00000000 .*
0x00000130 00000000 00000000 00000000 00000000 .*
0x00000140 00000000 00000000 00000000 00000000 .*
0x00000150 00000000 00000000 00000000 00000000 .*
0x00000160 00000000 00000000 00000000 00000000 .*
0x00000170 00000000 00000000 00000000 00000000 .*
0x00000180 00000000 00000000 00000000 00000000 .*
0x00000190 00000000 00000000 00000000 00000000 .*
0x000001a0 00000000 00000000 00000000 00000000 .*
0x000001b0 00000000 00000000 00000000 00000000 .*
0x000001c0 00000000 00000000 00000000 00000000 .*
0x000001d0 00000000 00000000 00000000 00000000 .*
0x000001e0 00000000 00000000 00000000 00000000 .*
0x000001f0 00000000 00000000 00000000 00000000 .*
0x00000200 00000000 00000000 00000000 00000000 .*
0x00000210 00000000 00000000 00000000 00000000 .*
0x00000220 00000000 00000000 .*
/rel-2.s
0,0 → 1,46
! Relative linking, second file.
 
! fileFsectionN, with F in rel-F.s, and N in:
! 1 - Same file and section.
! 2 - Same file, different section.
! 3 - Other file, same section.
! 4 - Other file, other section.
 
.mode SHmedia
.text
.global start2
start2:
nop
.global file2text1
file2text1:
nop
movi file2text1 & 65535,r10
.global file2text2
file2text2:
movi file2data2 & 65535,r20
.global file2text3
file2text3:
movi file1text3 & 65535,r20
.global file2text4
file2text4:
movi file1data4 & 65535,r20
movi unresolved1 & 65535,r30
movi unresolved3 & 65535,r30
 
.data
.long 0
.global file2data1
file2data1:
.long 0
.long file2data1
.global file2data2
file2data2:
.long file2text2
.global file2data3
file2data3:
.long file1data3
.global file2data4
file2data4:
.long file1text4
.long unresolved2
.long unresolved4
/sh64-1.s
0,0 → 1,20
! Test that all common kinds of relocs get right for simple use.
! Auxiliary part.
.text
.mode SHmedia
.global foo
.global bar
foo:
pt/l xyzzy,tr3
bar:
nop
 
.data
.global baz
baz:
.long foobar
.long bar
.global baz2
baz2:
.long xyzzy
foobar: .long baz
/mix2.sd
0,0 → 1,17
 
.*: file format .*-sh64
 
Contents of section \.text:
1000 cc0000e0 c84088e0 cc0000e0 c84100e0 .*
1010 cc000190 c8003190 6bf56660 6ff0fff0 .*
1020 0009c700 c7000009 00090009 00001011 .*
1030 000010cc .*
Contents of section \.rodata:
1034 00001028 000010d4 0000101d 00001038 .*
Contents of section \.data:
10c8 00000000 00001024 00000000 000010cc .*
Contents of section \.stack:
80000 deaddead .*
Contents of section \.cranges:
0000 00001000 00000020 00030000 10200000 .*
0010 00140002 .*
/gotplt.map
0,0 → 1,4
GLIBC_2.2 {
local:
xxx;
};
/dlsection.sd
0,0 → 1,9
 
.*: file format elf.*-sh64
 
Contents of section \.text:
1000 00001004 .*
Contents of section \.text2:
1004 00000017 .*
Contents of section \.stack:
80000 deaddead .*
/crange3-cmpct.rd
0,0 → 1,77
ELF Header:
+Magic: +7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
+Class: +ELF32
+Data: +2's complement, big endian
+Version: +1 \(current\)
+OS/ABI: +UNIX - System V
+ABI Version: +0
+Type: +EXEC \(Executable file\)
+Machine: +Renesas / SuperH SH
+Version: +0x1
+Entry point address: +0x10c4
+Start of program headers: +52 \(bytes into file\)
+Start of section headers: +504 \(bytes into file\)
+Flags: +0xa, sh5
+Size of this header: +52 \(bytes\)
+Size of program headers: +32 \(bytes\)
+Number of program headers: +2
+Size of section headers: +40 \(bytes\)
+Number of section headers: +8
+Section header string table index: 5
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.init +PROGBITS +00001000 000080 000004 00 AXp +0 +0 +4
+\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4
+\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1
+\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1
+\[ 5\] \.shstrtab +STRTAB +.*
+\[ 6\] \.symtab +SYMTAB +.*
+\[ 7\] \.strtab +STRTAB +.*
Key to Flags:
#...
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
.*: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
.*: 00001000 +0 +SECTION +LOCAL +DEFAULT +1
.*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2
.*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3
.*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
.*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
.*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
.*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
.*: 000010a4 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
.*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
.*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end
 
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001014 6ff0fff0 6ff0fff0 cc00bd40 6ff0fff0 .*
0x00001024 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001034 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001044 6ff0fff0 6ff0fff0 6ff0fff0 cc00bd50 .*
0x00001054 cc0084c0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001064 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001074 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001084 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001094 6ff0fff0 6ff0fff0 6ff0fff0 cc0084d0 .*
0x000010a4 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x000010b4 0000002b 00090009 00090009 00090000 .*
0x000010c4 e10f0009 00090009 00090009 00090009 .*
0x000010d4 00090009 0009e10e .*
 
Hex dump of section '\.cranges':
0x00000000 00001004 000000a0 00030000 10a40000 .*
0x00000010 000c0003 000010b0 00000008 00010000 .*
0x00000020 10b80000 00040002 000010bc 00000006 .*
0x00000030 00020000 10c40000 00180002 .*
/endian.ld
0,0 → 1,6
SECTIONS {
.text : {
*(.text)
LONG(0x12345678);
}
}
/endian.s
0,0 → 1,7
.text
.mode shmedia
start:
 
movi 0x1234,r0
.long 0x12345678
.word 0x1234, 0
/endian.dld
0,0 → 1,11
 
.*:[ ]*file[ ]*format[ ]*elf64-sh64l
 
Disassembly[ ]*of[ ]*section[ ]*.text:
 
0000000000000000[ ]*<start>:
[ ]*0:[ ]*cc48d000[ ]*movi[ ]*4660,r0
[ ]*4:[ ]*12345678[ ]*.long[ ]*0x12345678
[ ]*8:[ ]*00001234[ ]*.long[ ]*0x00001234
[ ]*c:[ ]*12345678[ ]*.long[ ]*0x12345678
 
/init-media.d
0,0 → 1,14
#source: init.s
#as: --abi=32 --isa=SHmedia
#ld: -shared -mshelf32
#readelf: -d
#target: sh64-*-elf
 
# Make sure that the lsb of DT_INIT and DT_FINI entries is set
# when _init and _fini are SHmedia code.
 
.*
Tag Type Name/Value
0x0000000c \(INIT\) .*[13579bdf]
0x0000000d \(FINI\) .*[13579bdf]
#pass
/reldl-2.s
0,0 → 1,156
! Relative linking with datalabel use, second file. Much like rel-2.s
 
.mode SHmedia
.text
.global start2
start2:
nop
.global file2text1
file2text1:
nop
movi file2text1 & 65535,r10
.global file2text2
file2text2:
movi file2data2 & 65535,r20
.global file2text3
file2text3:
movi file1text3 & 65535,r20
.global file2text4
file2text4:
movi file1data4 & 65535,r20
movi unresolved1 & 65535,r30
movi unresolved3 & 65535,r30
movi datalabel unresolved8 & 65535,r50
movi datalabel unresolved9 & 65535,r50
movi datalabel file1text1 & 65535,r40
movi datalabel file1data2 & 65535,r40
movi datalabel file1data3 & 65535,r40
.global c1
c1:
nop
.global c2
c2:
nop
.global c3
c3:
nop
.global c4
c4:
nop
.global c12
c12:
nop
.global c13
c13:
nop
.global c23
c23:
nop
.global c123
c123:
nop
 
.global ob1
ob1:
nop
.global ob2
ob2:
nop
.global ob3
ob3:
nop
.global ob4
ob4:
nop
.global ob12
ob12:
nop
.global ob13
ob13:
nop
.global ob23
ob23:
nop
.global ob123
ob123:
nop
 
.data
.long 0
.global file2data1
file2data1:
.long 0
.long file2data1
.global file2data2
file2data2:
.long file2text2
.global file2data3
file2data3:
.long file1data3
.global file2data4
file2data4:
.long file1text4
.long unresolved2
.long unresolved4
 
.long datalabel oa1
.long datalabel oa2
.long datalabel oa3
.long oa13
.long oc13
.long datalabel oa4
.long datalabel oa12
.long datalabel oa13
.long datalabel oa23
.long oa23
.long oa123
.long oc3
.long datalabel oa123
.long datalabel ob1
.long datalabel ob2
.long datalabel ob3
.long datalabel ob4
.long oa3
.long oc23
.long oc123
.long datalabel ob12
.long datalabel ob13
.long ob13
.long ob23
.long datalabel ob23
.long datalabel ob123
.long datalabel oc1
.long ob3
.long ob123
.long datalabel oc2
.long datalabel oc3
.long datalabel oc4
.long datalabel oc12
.long datalabel oc13
.long datalabel oc23
.long datalabel oc123
 
.long datalabel a1
.long c2
.long b23
.long datalabel b1
.long datalabel c1
.long datalabel a12
.long a2
.long b2
.long datalabel b12
.long datalabel c12
.long b123
.long c123
.long datalabel a13
.long datalabel b13
.long c23
.long a123
.long datalabel c13
.long datalabel a123
.long c12
.long a23
.long datalabel b123
.long a12
.long b12
.long datalabel c123
/crange3-media.rd
0,0 → 1,77
ELF Header:
+Magic: +7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
+Class: +ELF32
+Data: +2's complement, big endian
+Version: +1 \(current\)
+OS/ABI: +UNIX - System V
+ABI Version: +0
+Type: +EXEC \(Executable file\)
+Machine: +Renesas / SuperH SH
+Version: +0x1
+Entry point address: +0x10a5
+Start of program headers: +52 \(bytes into file\)
+Start of section headers: +504 \(bytes into file\)
+Flags: +0xa, sh5
+Size of this header: +52 \(bytes\)
+Size of program headers: +32 \(bytes\)
+Number of program headers: +2
+Size of section headers: +40 \(bytes\)
+Number of section headers: +8
+Section header string table index: 5
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.init +PROGBITS +00001000 000080 000004 00 AXp +0 +0 +4
+\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4
+\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1
+\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1
+\[ 5\] \.shstrtab +STRTAB +.*
+\[ 6\] \.symtab +SYMTAB +.*
+\[ 7\] \.strtab +STRTAB +.*
Key to Flags:
#...
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
.*: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
.*: 00001000 +0 +SECTION +LOCAL +DEFAULT +1
.*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2
.*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3
.*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
.*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
.*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
.*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
.*: 000010a4 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
.*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
.*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end
 
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001014 6ff0fff0 6ff0fff0 cc00bd40 6ff0fff0 .*
0x00001024 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001034 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001044 6ff0fff0 6ff0fff0 6ff0fff0 cc00bd50 .*
0x00001054 cc0084c0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001064 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001074 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001084 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001094 6ff0fff0 6ff0fff0 6ff0fff0 cc0084d0 .*
0x000010a4 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x000010b4 0000002b 00090009 00090009 00090000 .*
0x000010c4 e10f0009 00090009 00090009 00090009 .*
0x000010d4 00090009 0009e10e .*
 
Hex dump of section '\.cranges':
0x00000000 00001004 000000a0 00030000 10a40000 .*
0x00000010 000c0003 000010b0 00000008 00010000 .*
0x00000020 10b80000 00040002 000010bc 00000006 .*
0x00000030 00020000 10c40000 00180002 .*
/init.s
0,0 → 1,18
.section .text,"ax"
.global _init
.type _init,@function
.align 1
_init:
nop
nop
nop
nop
 
.global _fini
.type _fini,@function
.align 1
_fini:
nop
nop
nop
nop
/endian.sbd
0,0 → 1,5
 
.*: file format elf64-sh64
 
Contents of section .text:
0000 cc48d000 12345678 12340000 12345678.*
/relax.exp
0,0 → 1,155
# Expect script for ld-sh tests
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#
 
# Test SH relaxing - that is, that it's disabled when SHmedia sections
# are present.
 
if ![istarget sh64-*-*] {
return
}
 
# There are four source files: the first is SHcompact only, the second
# is SHmedia only, the third has both, and the fourth has only a
# .cranges section. The table below has:
# Title
# as flags for first source (else "n/a" to skip)
# ditto, other three files
# ld flags
# 1/0 whether relaxing should have been done or not, or -1 if we expect
# the linker to not produce an output file.
 
if [istarget sh64*-*-linux*] {
set emul32 "shlelf32_linux"
} elseif { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } {
set emul32 "shelf32_nbsd"
} else {
set emul32 "shelf32"
}
 
set sh64relaxtests {
{"SH64 not relaxing, shcompact"
{"-relax -isa shcompact" "n/a" "n/a" "n/a"} "-m$emul32" 0}
{"SH64 relaxing, shcompact"
{"-relax -isa shcompact" "n/a" "n/a" "n/a"} "-relax -m$emul32" 1}
{"SH64 relaxing, shcompacts"
{"-relax -isa shcompact" "-isa shcompact" "n/a" "n/a"} "-relax -m$emul32" 1}
{"SH64 relaxing disabled, shmedia"
{"-relax -isa shcompact" "-isa shmedia -no-mix" "n/a" "n/a"} "-relax -m$emul32" 0}
{"SH64 relaxing disabled, mixed"
{"-relax -isa shcompact" "n/a" "-isa shcompact" "n/a"} "-relax -m$emul32" 0}
{"SH64 relaxing disabled, cranges"
{"-relax -isa shcompact" "n/a" "n/a" ""} "-relax -m$emul32" 0}
}
 
proc run_sh64relaxtest {sh64relaxtests} {
global ld
global as
global nm
global objdump
global readelf
global srcdir
global subdir
global emul32
 
set testindex 0
set sh64relaxfiles {
"relax1.s" "relax2.s" "relax3.s" "relax4.s"
}
foreach testentry $sh64relaxtests {
set testname [lindex $testentry 0]
set as_options [lindex $testentry 1]
set ld_options [subst [lindex $testentry 2]]
set expect_relaxed [lindex $testentry 3]
set is_unresolved 0
set objfiles {}
incr testindex
# Assemble each file in the test.
for {set i 0} {$i < 4} {incr i} {
set as_file [lindex $sh64relaxfiles $i]
set as_opt [lindex $as_options $i]
if { [string compare $as_opt "n/a"] != 0 } {
set objfile "tmpdir/[file rootname $as_file]-$testindex.o"
lappend objfiles $objfile
if ![ld_assemble $as "$as_opt $srcdir/$subdir/$as_file" $objfile] {
set is_unresolved 1
break
}
}
}
# Catch assembler errors.
if { $is_unresolved != 0 } {
unresolved $testname
continue
}
set binfile "tmpdir/relax-$testindex.x"
# We're not interested in the pass/fail of the linker as much
# as we're interested in whether or not relaxing got properly
# disabled. Hence the lax checking here.
file delete $binfile
set result [ld_simple_link $ld $binfile " --no-warn-mismatch $ld_options $objfiles"]
if ![file exists $binfile] {
if {$expect_relaxed == -1} {
pass $testname
continue
}
verbose "$testname: file $binfile doesn't exist" 1
fail $testname
continue
}
catch "exec $objdump -d $binfile" objdump_output
regexp "\[ \t](jsr|bsr)\[ \t]" $objdump_output ignore calltype
if [string match $calltype "bsr"] {
set relaxed 1
} elseif [string match $calltype "jsr"] {
set relaxed 0
} else {
verbose "$testname: neither jsr nor bsr found" 1
verbose $objdump_output 2
fail $testname
continue
}
if {$relaxed != $expect_relaxed} {
verbose $objdump_output 2
fail $testname
exit
} else {
pass $testname
}
}
}
 
run_sh64relaxtest $sh64relaxtests
/relfail.exp
0,0 → 1,219
# Expect script for ld-sh tests
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#
 
# Test SH reloc failures - that is, cases that ld must not allow.
 
if ![istarget sh64-*-*] {
return
}
 
if [istarget sh64-*-linux*] {
set emul32 "shlelf32_linux"
set oformat32 "elf32-sh64-linux"
set startsym "_start"
set doabi64 0
} elseif { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } then {
set emul32 "shelf32_nbsd"
set oformat32 "elf32-sh64-nbsd"
set startsym "__start"
set doabi64 1
set emul64 "shelf64_nbsd"
set oformat64 "elf64-sh64-nbsd"
} else {
set emul32 "shelf32"
set oformat32 "elf32-sh64"
set startsym "start"
set doabi64 1
set emul64 "shelf64"
set oformat64 "elf64-sh64"
}
 
# opcode, asflags, ldflags, expected or "" for fail
# opcode blank means rebuild relfail.o and set default as/ld options
 
set sh64abi32relfailtests {
 
{ "" "-isa=shcompact -abi=32" "-m $emul32 -Ttext 0x1000 --oformat $oformat32" "" }
{ "mov.l lab,r0;.align 3;lab:nop" "" "" "mov.l 1008" }
{ "mov.l to0,r0" "" "" "mov.l 1010" }
{ "mov.l to1,r0" "" "" "" }
{ "mov.l to2,r0" "" "" "" }
{ "mov.l to3,r0" "" "" "" }
{ "mov.l to4,r0" "" "" "mov.l 1014" }
 
{ "" "-isa=shmedia -abi=32 -no-expand" "-m $emul32 -Ttext 0x1000 --oformat $oformat32" "" }
{ "pta lab,tr0;.align 3;lab:nop" "" "" "pta.*1008" }
 
{ "ld.q r0,datalabel to0 - 0x1000,r0" "" "" "ld.q.*,16," }
{ "ld.q r0,datalabel to1 - 0x1000,r0" "" "" "" }
{ "ld.q r0,datalabel to2 - 0x1000,r0" "" "" "" }
{ "ld.q r0,datalabel to3 - 0x1000,r0" "" "" "" }
{ "ld.q r0,datalabel to4 - 0x1000,r0" "" "" "" }
 
{ "ld.l r0,datalabel to0 - 0x1000,r0" "" "" "ld.l.*,16," }
{ "ld.l r0,datalabel to1 - 0x1000,r0" "" "" "" }
{ "ld.l r0,datalabel to2 - 0x1000,r0" "" "" "" }
{ "ld.l r0,datalabel to3 - 0x1000,r0" "" "" "" }
{ "ld.l r0,datalabel to4 - 0x1000,r0" "" "" "ld.l.*,20," }
 
{ "ld.w r0,datalabel to0 - 0x1000,r0" "" "" "ld.w.*,16," }
{ "ld.w r0,datalabel to1 - 0x1000,r0" "" "" "" }
{ "ld.w r0,datalabel to2 - 0x1000,r0" "" "" "ld.w.*,18," }
{ "ld.w r0,datalabel to3 - 0x1000,r0" "" "" "" }
{ "ld.w r0,datalabel to4 - 0x1000,r0" "" "" "ld.w.*,20," }
 
}
 
set sh64abi64relfailtests {
 
{ "" "-isa=shmedia -abi=64 -no-expand" "-m $emul64 -Ttext 0x1000 --oformat $oformat64" "" }
{ "pta lab,tr0;.align 3;lab:nop" "" "" "pta.*1008" }
{ "pta datalabel to0,tr0" "" "" "pta.*1010" }
{ "pta datalabel to1,tr0" "" "" "pta.*1011" }
{ "pta datalabel to2,tr0" "" "" "" }
{ "pta datalabel to3,tr0" "" "" "" }
{ "pta datalabel to4,tr0" "" "" "pta.*1014" }
 
{ "ld.q r0,datalabel to0 - 0x1000,r0" "" "" "ld.q.*,16," }
{ "ld.q r0,datalabel to1 - 0x1000,r0" "" "" "" }
{ "ld.q r0,datalabel to2 - 0x1000,r0" "" "" "" }
{ "ld.q r0,datalabel to3 - 0x1000,r0" "" "" "" }
{ "ld.q r0,datalabel to4 - 0x1000,r0" "" "" "" }
 
{ "ld.l r0,datalabel to0 - 0x1000,r0" "" "" "ld.l.*,16," }
{ "ld.l r0,datalabel to1 - 0x1000,r0" "" "" "" }
{ "ld.l r0,datalabel to2 - 0x1000,r0" "" "" "" }
{ "ld.l r0,datalabel to3 - 0x1000,r0" "" "" "" }
{ "ld.l r0,datalabel to4 - 0x1000,r0" "" "" "ld.l.*,20," }
 
{ "ld.w r0,datalabel to0 - 0x1000,r0" "" "" "ld.w.*,16," }
{ "ld.w r0,datalabel to1 - 0x1000,r0" "" "" "" }
{ "ld.w r0,datalabel to2 - 0x1000,r0" "" "" "ld.w.*,18," }
{ "ld.w r0,datalabel to3 - 0x1000,r0" "" "" "" }
{ "ld.w r0,datalabel to4 - 0x1000,r0" "" "" "ld.w.*,20," }
 
}
 
proc run_sh64relfailtests {sh64relfailtests} {
global ld
global as
global nm
global objdump
global readelf
global srcdir
global subdir
global emul32
global emul64
global oformat32
global oformat64
global startsym
 
set testindex 0
set is_unresolved 0
 
foreach testentry $sh64relfailtests {
set opcode [lindex $testentry 0]
set as_options [lindex $testentry 1]
set ld_options [subst [lindex $testentry 2]]
set expect_fail [lindex $testentry 3]
set testname "SH64 relfail $opcode $as_options $ld_options"
set objfiles {}
incr testindex
if {$opcode == ""} {
set def_as_options $as_options
set def_ld_options $ld_options
set is_unresolved 0
set baseobj "tmpdir/relfail-$testindex.o"
if ![ld_assemble $as "$as_options $srcdir/$subdir/relfail.s" $baseobj] {
set is_unresolved 1
}
continue
}
if {$as_options == ""} {
set as_options $def_as_options
}
if {$ld_options == ""} {
set ld_options $def_ld_options
}
if { $is_unresolved } {
unresolved $testname
continue
}
set asm [open "tmpdir/relfail-$testindex.s" "w"]
puts $asm " .text"
puts $asm " .global $startsym"
puts $asm "$startsym:"
puts $asm " $opcode"
close $asm
if ![ld_assemble $as "$as_options tmpdir/relfail-$testindex.s" "tmpdir/relfail-$testindex.o"] {
unresolved $testname
continue
}
set binfile "tmpdir/relfail-$testindex.x"
file delete $binfile
set objects "tmpdir/relfail-$testindex.o $baseobj"
set result [ld_simple_link $ld $binfile "--no-warn-mismatch $ld_options $objects"]
set exists [file exists $binfile]
if {$exists && $expect_fail == ""} {
verbose "$testname: file $binfile exists when it shouldn't" 1
catch "exec $objdump -d $binfile" objdump_output
verbose $objdump_output 1
fail "$testname (file exists)"
continue
}
if {!$exists && $expect_fail != ""} {
verbose "$testname: file $binfile doesn't exist when it should" 1
fail "$testname (file missing)"
continue
}
if {$exists} {
catch "exec $objdump -d $binfile" objdump_output
regsub -all {[ ][ ]*} $objdump_output " " objdump_short
if ![regexp $expect_fail $objdump_short junk] {
verbose $objdump_output 1
fail "$testname (incorrect reloc)"
continue
}
}
file delete "tmpdir/relfail-$testindex.s"
file delete "tmpdir/relfail-$testindex.o"
file delete $binfile
pass $testname
}
}
 
run_sh64relfailtests $sh64abi32relfailtests
if {$doabi64} {
run_sh64relfailtests $sh64abi64relfailtests
}
/shdl64.xd
0,0 → 1,123
.*: file format .*-sh64
.*
architecture: sh5, flags 0x0+112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0+1001
 
Program Header:
LOAD off 0x0+100 vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*7
filesz 0x0+348 memsz 0x0+348 flags r-x
LOAD off 0x0+448 vaddr 0x0+13c8 paddr 0x0+13c8 align 2\*\*7
filesz 0x0+194 memsz 0x0+194 flags rw-
LOAD off 0x0+600 vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*7
filesz 0x0+4 memsz 0x0+4 flags rw-
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 0+204 0+1000 0+1000 0+100 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 0+144 0+1204 0+1204 0+304 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 \.data 0+194 0+13c8 0+13c8 0+448 2\*\*2
CONTENTS, ALLOC, LOAD, DATA
3 \.stack 0+4 0+80000 0+80000 0+600 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0+1000 l d \.text 0+ (|\.text)
0+1204 l d \.rodata 0+ (|\.rodata)
0+13c8 l d \.data 0+ (|\.data)
0+80000 l d \.stack 0+ (|\.stack)
0+1150 l \.text 0+ 0x04 part2
0+13f8 g \.data 0+ dfoo_otherboth2
0+1178 g \.text 0+ 0x04 bar_otherwithout
0+11b4 g \.text 0+ 0x04 bazwithout
0+1428 g \.data 0+ dfoo_mixwithout
0+1554 g \.data 0+ dbaz_mixwithout2
0+11bc g \.text 0+ 0x04 baz_other
0+11cc g \.text 0+ 0x04 baz_mix
0+11c0 g \.text 0+ 0x04 baz_otherboth
0+13e8 g \.data 0+ dfoowithout
0+14b4 g \.data 0+ dbar
0+106c g \.text 0+ 0x04 foo_mixwithout2
0+11a8 g \.text 0+ 0x04 bazboth2
0+13fc g \.data 0+ dfoo_otherwithout
0+11c4 g \.text 0+ 0x04 baz_otherboth2
0+1174 g \.text 0+ 0x04 bar_otherboth2
0+1194 g \.text 0+ 0x04 baz
0+13c8 g \.data 0+ dfoo
0+14e8 g \.data 0+ dbar_mixwithout2
0+13dc g \.data 0+ dfooboth2
0+1408 g \.data 0+ dfoo_mix2
0+154c g \.data 0+ dbaz_mixwithout
0+1044 g \.text 0+ 0x04 foo_mix2
0+1018 g \.text 0+ 0x04 fooboth2
0+14cc g \.data 0+ dbar_otherboth2
0+117c g \.text 0+ 0x04 bar_mix
0+14d0 g \.data 0+ dbar_otherwithout
0+11dc g \.text 0+ 0x04 baz_mixboth
0+14c8 g \.data 0+ dbar_otherboth
0+150c g \.data 0+ dbazwithout
0+152c g \.data 0+ dbaz_mix2
0+1184 g \.text 0+ 0x04 bar_mixboth
0+13f4 g \.data 0+ dfoo_otherboth
0+14dc g \.data 0+ dbar_mixboth
0+1024 g \.text 0+ 0x04 foowithout
0+14e4 g \.data 0+ dbar_mixwithout
0+11fc g \.text 0+ 0x04 baz_mixwithout2
0+1030 g \.text 0+ 0x04 foo_otherboth
0+1540 g \.data 0+ dbaz_mixboth2
0+104c g \.text 0+ 0x04 foo_mixboth
0+1534 g \.data 0+ dbaz_mixboth
0+103c g \.text 0+ 0x04 foo_mix
0+1518 g \.data 0+ dbaz_otherboth
0+14e0 g \.data 0+ dbar_mixboth2
0+14ec g \.data 0+ dbaz
0+1524 g \.data 0+ dbaz_mix
0+13c8 g .* 0+ ___dtors
0+141c g \.data 0+ dfoo_mixboth2
0+119c g \.text 0+ 0x04 bazboth
0+13f0 g \.data 0+ dfoo_other
0+11e8 g \.text 0+ 0x04 baz_mixboth2
0+1514 g \.data 0+ dbaz_other
0+1164 g \.text 0+ 0x04 barboth2
0+1168 g \.text 0+ 0x04 barwithout
0+14d8 g \.data 0+ dbar_mix2
0+1560 g \*ABS\* 0+ __bss_start
0+1410 g \.data 0+ dfoo_mixboth
0+14c4 g \.data 0+ dbar_other
0+1180 g \.text 0+ 0x04 bar_mix2
0+14f4 g \.data 0+ dbazboth
0+1038 g \.text 0+ 0x04 foo_otherwithout
0+1190 g \.text 0+ 0x04 bar_mixwithout2
0+13c8 g .* 0+ ___ctors_end
0+1064 g \.text 0+ 0x04 foo_mixwithout
0+116c g \.text 0+ 0x04 bar_other
0+13d0 g \.data 0+ dfooboth
0+1034 g \.text 0+ 0x04 foo_otherboth2
0+1400 g \.data 0+ dfoo_mix
0+13c8 g .* 0+ ___ctors
0+14d4 g \.data 0+ dbar_mix
0+100c g \.text 0+ 0x04 fooboth
0+1170 g \.text 0+ 0x04 bar_otherboth
0+14c0 g \.data 0+ dbarwithout
0+1004 g \.text 0+ 0x04 foo
0+102c g \.text 0+ 0x04 foo_other
0+1560 g \*ABS\* 0+ _edata
0+1560 g \*ABS\* 0+ _end
0+1430 g \.data 0+ dfoo_mixwithout2
0+1058 g \.text 0+ 0x04 foo_mixboth2
0+11d4 g \.text 0+ 0x04 baz_mix2
0+11c8 g \.text 0+ 0x04 baz_otherwithout
0+1000 g \.text 0+ 0x04 start
0+14bc g \.data 0+ dbarboth2
0+118c g \.text 0+ 0x04 bar_mixwithout
0+115c g \.text 0+ 0x04 bar
0+80000 g \.stack 0+ _stack
0+1520 g \.data 0+ dbaz_otherwithout
0+11f4 g \.text 0+ 0x04 baz_mixwithout
0+1160 g \.text 0+ 0x04 barboth
0+14b8 g \.data 0+ dbarboth
0+1188 g \.text 0+ 0x04 bar_mixboth2
0+13c8 g .* 0+ ___dtors_end
0+151c g \.data 0+ dbaz_otherboth2
0+1500 g \.data 0+ dbazboth2
/sh64.exp
0,0 → 1,137
# Expect script for ld-sh tests
# Copyright (C) 2000, 2001, 2002, 2003, 2005, 2007 Free Software Foundation
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#
 
# Test SH linking; all types of relocs. This tests the assembler and
# tools like objdump as well as the linker.
 
if ![istarget sh64-*-*] {
return
}
 
if [istarget sh64*-*-linux*] {
return
}
 
if { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } then {
return
}
 
# List contains test-items with 3 items followed by 2 lists:
# 0:name 1:ld options 2:assembler options
# 3:filenames of assembler files 4: action and options. 5: name of output file
 
# Actions:
# objdump: Apply objdump options on result. Compare with regex (last arg).
# nm: Apply nm options on result. Compare with regex (last arg).
# readelf: Apply readelf options on result. Compare with regex (last arg).
 
# Note that the contents dump is the same for "inter-file datalabel
# references, 64-bit ABI" as for 32-bit ABI and ELF so we re-use it.
 
set sh64tests {
{"SH64 linking, 64-bit ABI" "-mshelf64"
"--abi=64" {sh64-1.s sh64-2.s}
{{objdump -sr abi64.sd} {objdump -x abi64.xd}} "abi64.bin" }
{"SH64 linking, 64-bit ABI, -no-expand" "-mshelf64"
"--abi=64 -no-expand" {sh64-1.s sh64-2.s}
{{objdump -sr abixx-noexp.sd}} "abi64-noexp.bin" }
{"SH64 linking, 32-bit ABI" "-mshelf32"
"--abi=32" {sh64-1.s sh64-2.s}
{{objdump -sr abi32.sd} {objdump -x abi32.xd}} "abi32.bin" }
{"SH64 linking, 32-bit ABI, -no-expand" "-mshelf32"
"--abi=32 -no-expand" {sh64-1.s sh64-2.s}
{{objdump -sr abixx-noexp.sd}} "abi32-noexp.bin" }
{"SH64 linking, single multi-ISA object" "-mshelf32"
"--abi=32" {shmix-1.s}
{{objdump -sr mix1.sd} {objdump -x mix1.xd}} "mix1.bin" }
{"SH64 linking, single multi-ISA object, -no-expand" "-mshelf32"
"--abi=32 -no-expand" {shmix-1.s}
{{objdump -sr mix1-noexp.sd}} "mix1-noexp.bin" }
{"SH64 linking, two different-ISA objects" "-mshelf32"
"--abi=32" {shmix-2.s shmix-3.s}
{{objdump -sr mix2.sd} {objdump -x mix2.xd}} "mix2.bin" }
{"SH64 linking, two different-ISA objects, -no-expand" "-mshelf32"
"--abi=32 -no-expand" {shmix-2.s shmix-3.s}
{{objdump -sr mix2-noexp.sd}} "mix2-noexp.bin" }
{"SH64 linking, single SHcompact" "-mshelf32"
"--isa=SHcompact" {shcmp-1.s}
{{objdump -sr cmpct1.sd} {objdump -x cmpct1.xd}} "cmpct1.bin" }
{"SH64 inter-file datalabel references, 64-bit ABI" "-mshelf64"
"--abi=64" {shdl-1.s shdl-2.s}
{{objdump -sr shdl64.sd} {objdump -x shdl64.xd}} "shdl64.bin" }
{"SH64 inter-file datalabel references, 32-bit ABI" "-mshelf32"
"--abi=32" {shdl-1.s shdl-2.s}
{{objdump -sr shdl64.sd} {objdump -x shdl32.xd}} "shdl32.bin" }
{"SH64 inter-file datalabel references and gc-sections, 32-bit ABI" "-mshelf32 --gc-sections"
"--abi=32" {dlsection-1.s }
{{objdump -sr dlsection.sd}} "dlsection32.bin" }
{"SH64 inter-file datalabel references and gc-sections, 64-bit ABI" "-mshelf64 --gc-sections"
"--abi=64" {dlsection-1.s }
{{objdump -sr dlsection.sd}} "dlsection64.bin" }
{"SH64 simple partial linking, 32-bit ABI" "-mshelf32 -r"
"--abi=32" {rel-1.s rel-2.s}
{{objdump -sx rel32.xd}} "rel32.bin" }
{"SH64 simple partial linking, 64-bit ABI" "-mshelf64 -r"
"--abi=64" {rel-1.s rel-2.s}
{{objdump -sx rel64.xd}} "rel64.bin" }
{"SH64 partial linking with datalabel references, 32-bit ABI" "-mshelf32 -r"
"--abi=32" {reldl-1.s reldl-2.s}
{{readelf {-s -r -x 1 -x 3} reldl32.rd}} "reldl32.bin" }
{"SH64 partial linking with datalabel references, 64-bit ABI" "-mshelf64 -r"
"--abi=64" {reldl-1.s reldl-2.s}
{{readelf {-s -r -x 1 -x 3} reldl64.rd}} "reldl64.bin" }
{"Handling SH64 assembler-generated .cranges" "-mshelf32"
"--abi=32" {crange-2a.s crange-1.s}
{{readelf {-S -s -r -x 1 -x 2 -x 4} crange1.rd}} "crange1.bin" }
{"Handling SH64 assembler-generated .cranges, partial linking" "-mshelf32 -r"
"--abi=32" {crange-2a.s}
{{readelf {-S -s -r -x 2 -x 6} crangerel1.rd}} "crangerel1.bin" }
{"Mixing SH64 assembler-generated with linker-generated .cranges" "-mshelf32"
"--abi=32" {crange-2a.s crange-2b.s crange-1.s}
{{readelf {-S -s -r -x 2 -x 4} crange2.rd}} "crange2.bin" }
{"Mixing SH64 assembler-generated with linker-generated .cranges, partial linking"
"-mshelf32 -r"
"--abi=32" {crange-2a.s crange-2c.s crange-2d.s crange-2e.s}
{{readelf {-S -s -r -x 2 -x 6} crangerel2.rd}} "crangerel2.bin" }
{"Merge and use of SH64 .cranges, some not originally in order" "-mshelf32"
"--abi=32"
{crange-2e.s crange-2f.s crange-2g.s crange-2a.s crange-2d.s crange-2i.s
crange-2h.s crange-1.s}
{{readelf {-S -s -x 2 -x 4} crange3.rd} {objdump -d crange3.dd}} "crange3.bin" }
{"Sorted SH64 .cranges, entry at SHcompact code" "-mshelf32 --entry diversion"
"--abi=32"
{crange-2e.s crange-2f.s crange-2g.s crange-2a.s crange-2d.s crange-2i.s
crange-2h.s crange-1.s}
{{readelf {-h -S -s -x 2 -x 4} crange3-cmpct.rd}} "crange3-cmpct.bin" }
{"Sorted SH64 .cranges, entry at SHmedia code" "-mshelf32 --entry diversion2"
"--abi=32"
{crange-2e.s crange-2f.s crange-2g.s crange-2a.s crange-2d.s crange-2i.s
crange-2h.s crange-1.s}
{{readelf {-h -S -s -x 2 -x 4} crange3-media.rd}} "crange3-media.bin" }
{"SH64 Big Endianness" "-mshelf64 -Tendian.ld"
"--abi=64" {endian.s}
{{objdump -s endian.sbd} {objdump -d endian.dbd}} "endianb.bin" }
{"SH64 Little Endianness" "-mshlelf64 -Tendian.ld"
"--abi=64 --little" {endian.s}
{{objdump -s endian.sld} {objdump -d endian.dld}} "endinanl.bin" }
}
 
run_ld_link_tests $sh64tests
/abi64.xd
0,0 → 1,44
.*: file format .*-sh64
.*
architecture: sh5, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0000000000001019
 
Program Header:
LOAD off 0x0000000000000100 vaddr 0x0000000000001000 paddr 0x0000000000001000 align 2\*\*7
filesz 0x00000000000000ac memsz 0x00000000000000ac flags r-x
LOAD off 0x00000000000001b0 vaddr 0x0000000000001130 paddr 0x0000000000001130 align 2\*\*7
filesz 0x0000000000000018 memsz 0x0000000000000018 flags rw-
LOAD off 0x0000000000000200 vaddr 0x0000000000080000 paddr 0x0000000000080000 align 2\*\*7
filesz 0x0000000000000004 memsz 0x0000000000000004 flags rw-
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 000000ac 0000000000001000 0000000000001000 00000100 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.data 00000018 0000000000001130 0000000000001130 000001b0 2\*\*2
CONTENTS, ALLOC, LOAD, DATA
2 \.stack 00000004 0000000000080000 0000000000080000 00000200 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0000000000001000 l d \.text 0000000000000000 (|\.text)
0000000000001130 l d \.data 0000000000000000 (|\.data)
0000000000080000 l d \.stack 0000000000000000 (|\.stack)
000000000000113c l \.data 0000000000000000 foobar
0000000000001144 l \.data 0000000000000000 foobar2
00000000000010a8 l \.text 0000000000000000 0x04 plugh
0000000000001140 g \.data 0000000000000000 foobar
0000000000001130 g \.data 0000000000000000 baz
0000000000001130 g .* 0000000000000000 ___dtors
00000000000010a4 g \.text 0000000000000000 0x04 xyzzy
0000000000001148 g \*ABS\* 0000000000000000 __bss_start
0000000000001130 g .* 0000000000000000 ___ctors_end
0000000000001138 g \.data 0000000000000000 baz2
0000000000001130 g .* 0000000000000000 ___ctors
0000000000001000 g \.text 0000000000000000 0x04 foo
0000000000001148 g \*ABS\* 0000000000000000 _edata
0000000000001148 g \*ABS\* 0000000000000000 _end
0000000000001018 g \.text 0000000000000000 0x04 start
0000000000001014 g \.text 0000000000000000 0x04 bar
0000000000080000 g \.stack 0000000000000000 _stack
0000000000001130 g .* 0000000000000000 ___dtors_end
/rd-sh64.exp
0,0 → 1,44
# Expect script for run_dump_test based ld-sh/sh64 tests.
# Copyright 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#
# Written by Stephen Clarke (stephen.clarke@superh.com)
#
 
if ![istarget sh64-*-*] {
return
}
 
set rd_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
foreach sh64test $rd_test_list {
# We need to strip the ".d", but can leave the dirname.
verbose [file rootname $sh64test]
run_dump_test [file rootname $sh64test]
if [string match $srcdir/$subdir/*-dso.d $sh64test] {
# Copy the output of the DSO-createing test to .so file.
# Notice that a DSO-creating test must preceed the tests
# which need that DSO in sort-order by name.
set cmd "cp tmpdir/dump \
tmpdir/[file rootname [file tail $sh64test]].so"
send_log "$cmd\n"
set cmdret [catch "exec $cmd" comp_output]
send_log "$comp_output\n"
# FIXME: What if it fails? Need we do something?
}
}
/dlsection-1.s
0,0 → 1,17
! Test gc-sections and datalabel references.
!
! Datalabel reference to symbol in section .text2 should
! prevent .text2 from being discarded.
! Section .spurious can be discarded.
.mode SHmedia
 
.text
.global start
.global foo
start: .long datalabel foo
 
.section .text2,"ax"
foo: .long 23
.section .spurious,"ax"
.long 17
/mix1.sd
0,0 → 1,16
 
.*: file format .*-sh64
 
Contents of section \.text:
1000 8902c700 00090009 00090009 0000100c .*
1010 00001004 00001031 cffffd90 cbffa190 .*
1020 6bf56640 cffffd90 cbff6190 6bf56650 .*
1030 cc000360 c8401360 cc0002d0 c840c6d0 .*
1040 ebfff270 6ff0fff0 .*
Contents of section \.data:
10c8 000010c8 00001004 00001031 .*
Contents of section \.stack:
80000 deaddead .*
Contents of section \.cranges:
0000 00001000 00000018 00020000 10180000 .*
0010 00300003 .*
/crange3.rd
0,0 → 1,58
.*
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.init +PROGBITS +00001000 000080 000004 00 AXp +0 +0 +4
+\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4
+\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1
+\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1
+\[ 5\] \.shstrtab +STRTAB +.*
+\[ 6\] \.symtab +SYMTAB +.*
+\[ 7\] \.strtab +STRTAB +.*
Key to Flags:
#...
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
.*: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
.*: 00001000 +0 +SECTION +LOCAL +DEFAULT +1
.*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2
.*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3
.*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
.*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
.*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
.*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
.*: 000010a4 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
.*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
.*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end
 
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001014 6ff0fff0 6ff0fff0 cc00bd40 6ff0fff0 .*
0x00001024 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001034 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001044 6ff0fff0 6ff0fff0 6ff0fff0 cc00bd50 .*
0x00001054 cc0084c0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001064 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001074 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001084 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001094 6ff0fff0 6ff0fff0 6ff0fff0 cc0084d0 .*
0x000010a4 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x000010b4 0000002b 00090009 00090009 00090000 .*
0x000010c4 e10f0009 00090009 00090009 00090009 .*
0x000010d4 00090009 0009e10e .*
 
Hex dump of section '\.cranges':
0x00000000 00001004 000000a0 00030000 10a40000 .*
0x00000010 000c0003 000010b0 00000008 00010000 .*
0x00000020 10b80000 00040002 000010bc 00000006 .*
0x00000030 00020000 10c40000 00180002 .*
/shmix-2.s
0,0 → 1,28
! A SHmedia object, that we will link to a SHcompact object.
! We will be using .text for the SHmedia code and .text.compact for the
! SHcompact code, so we don't get two ISA in the same section.
.text
.mode SHmedia
 
.global start
.global medialabel1
.global medialabel2
.global medialabel3
start:
movi compactlabel1,r14
movi compactlabel4,r14
medialabel1:
pt compactlabel2,tr6
medialabel2:
nop
 
.section .rodata
.long compactlabel3
medialabel3:
.long compactlabel5
 
.data
.global medialabel4
.long 0
medialabel4:
.long compactlabel2
/crangerel2.rd
0,0 → 1,59
There are 11 section headers, starting at offset 0x128:
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.text +PROGBITS +00000000 000034 000000 00 +AX +0 +0 +1
+\[ 2\] \.text\.mixed +PROGBITS +00000000 000034 00005c 00 AXp +0 +0 +4
+\[ 3\] \.data +PROGBITS +00000000 000090 000000 00 +WA +0 +0 +1
+\[ 4\] \.bss +NOBITS +00000000 000090 000000 00 +WA +0 +0 +1
+\[ 5\] \.stack +PROGBITS +00000000 000090 000004 00 +WA +0 +0 +1
+\[ 6\] \.cranges +PROGBITS +00000000 000094 000046 00 +W +0 +0 +1
+\[ 7\] \.rela\.cranges +RELA +00000000 0002e0 000054 0c +9 +6 +4
+\[ 8\] \.shstrtab +STRTAB +00000000 0000da 00004d 00 +0 +0 +1
+\[ 9\] \.symtab +SYMTAB +00000000 000334 0000d0 10 +10 +12 +4
+\[10\] \.strtab +STRTAB +00000000 000404 000027 00 +0 +0 +1
Key to Flags:
#...
 
Relocation section '\.rela\.cranges' at offset 0x[0-9a-f]+ contains 7 entries:
.*
0*00000000 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*0000000a +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*00000014 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*0000001e +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*00000028 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*00000032 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*0000003c +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
 
Symbol table '\.symtab' contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+0: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+1: 00000000 +0 +SECTION +LOCAL +DEFAULT +1
+2: 00000000 +0 +SECTION +LOCAL +DEFAULT +2
+3: 00000000 +0 +SECTION +LOCAL +DEFAULT +3
+4: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
+5: 00000000 +0 +SECTION +LOCAL +DEFAULT +5
+6: 00000000 +0 +SECTION +LOCAL +DEFAULT +6
+7: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
+8: 00000018 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec1
+9: 00000028 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2
+10: 0000003c +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
+11: 00000044 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
+12: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
 
Hex dump of section '\.text\.mixed':
0x00000000 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x00000010 0000002b 00090009 6ff0fff0 6ff0fff0 .*
0x00000020 6ff0fff0 6ff0fff0 00000029 0000002b .*
0x00000030 0000002a 0000002b 0000002a 00090009 .*
0x00000040 00090000 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00000050 6ff0fff0 6ff0fff0 6ff0fff0 .*
 
Hex dump of section '\.cranges':
.*
0x00000000 00000000 0000000c 00030000 000c0000 .*
0x00000010 00080001 00000014 00000004 00020000 .*
0x00000020 00180000 00100003 00000028 00000014 .*
0x00000030 00010000 003c0000 00060002 00000044 .*
0x00000040 00000018 0003 .*
/shdl-1.s
0,0 → 1,359
! Test inter-file DataLabel support.
!
! We need to test symbols that are:
! * Global, defined in this file, with/without/both-with-without datalabel
! references.
! * The above in combinations where the reference is/is not from within
! the same section. The implementation is currently indifferent to that
! fact, but it seems likely to be something that can change.
! * Extern with/without/both-with-without datalabel-qualified references.
! * The above with reference from same *and* other file.
! * The above in combinations for where the symbol is/is not a
! STO_SH5_ISA32-marked symbol.
 
! There will be omissions and overlap in combinations. Add spotted
! omissions with complementary tests in other files.
 
.text
.mode SHmedia
 
! For good measure, we start with a nop to get a non-zero offset within
! the .text section.
 
.global start
start:
nop
 
! Referenced from the same file, same section, is ISA32, only referenced
! with datalabel qualifier.
.global foo
foo:
nop
movi (datalabel foo + 8) & 65535,r30
 
! Referenced from same file, same section, both with and without
! datalabel qualifier, is ISA32.
.global fooboth
fooboth:
nop
movi (datalabel fooboth + 16) & 65535,r40
movi (fooboth + 12) & 65535,r40
 
! Same as above, but in different order.
.global fooboth2
fooboth2:
nop
movi (fooboth2 + 12) & 65535,r40
movi (datalabel fooboth2 + 16) & 65535,r40
 
! Referenced from this file and another, same section, is ISA32.
.global foowithout
foowithout:
nop
movi (foowithout + 24) & 65535,r30
 
! Same as above, different section than definition.
 
.global foo_other
foo_other:
nop
.global foo_otherboth
foo_otherboth:
nop
.global foo_otherboth2
foo_otherboth2:
nop
.global foo_otherwithout
foo_otherwithout:
nop
 
.section .rodata
.long datalabel foo_other + 4
.long datalabel foo_otherboth + 40
.long foo_otherboth + 24
.long foo_otherboth2 + 24
.long datalabel foo_otherboth2 + 40
.long foo_otherwithout
 
.text
 
! Same as above, mixing references from same and other section.
.global foo_mix
foo_mix:
nop
movi (datalabel foo_mix + 8) & 65535,r30
.global foo_mix2
foo_mix2:
nop
movi (foo_mix2 + 8) & 65535,r30
.global foo_mixboth
foo_mixboth:
nop
movi (datalabel foo_mixboth + 80) & 65535,r30
movi (foo_mixboth + 80) & 65535,r30
.global foo_mixboth2
foo_mixboth2:
nop
movi (foo_mixboth2 + 64) & 65535,r30
movi (datalabel foo_mixboth2 + 64) & 65535,r30
.global foo_mixwithout
foo_mixwithout:
nop
movi (foo_mixwithout + 42) & 65535,r30
.global foo_mixwithout2
foo_mixwithout2:
nop
movi (foo_mixwithout2 + 24) & 65535,r30
 
.section .rodata
.long foo_mix + 4
.long datalabel foo_mix2 + 48
.long datalabel foo_mixboth + 400
.long foo_mixboth + 420
.long foo_mixboth2 + 248
.long datalabel foo_mixboth2 + 240
.long foo_mixwithout
 
! Same as above, referencing symbol in other file (reference only from
! this to other file).
 
.text
nop
movi (datalabel bar + 8) & 65535,r30
 
movi (datalabel barboth + 16) & 65535,r40
movi (barboth + 12) & 65535,r40
 
movi (barboth2 + 12) & 65535,r40
movi (datalabel barboth2 + 16) & 65535,r40
 
movi (barwithout + 24) & 65535,r30
 
.section .rodata
.long datalabel bar_other + 4
.long datalabel bar_otherboth + 40
.long bar_otherboth + 24
.long bar_otherboth2 + 24
.long datalabel bar_otherboth2 + 40
.long bar_otherwithout
 
.text
movi (datalabel bar_mix + 8) & 65535,r30
movi (bar_mix2 + 8) & 65535,r30
movi (datalabel bar_mixboth + 80) & 65535,r30
movi (bar_mixboth + 80) & 65535,r30
movi (bar_mixboth2 + 64) & 65535,r30
movi (datalabel bar_mixboth2 + 64) & 65535,r30
movi (bar_mixwithout + 42) & 65535,r30
movi (bar_mixwithout2 + 24) & 65535,r30
 
.section .rodata
.long bar_mix + 4
.long datalabel bar_mix2 + 48
.long datalabel bar_mixboth + 400
.long bar_mixboth + 420
.long bar_mixboth2 + 248
.long datalabel bar_mixboth2 + 240
.long bar_mixwithout
 
! Same as above, referencing symbol in other file *and* within that file.
 
.text
movi (datalabel baz + 8) & 65535,r30
 
movi (datalabel bazboth + 16) & 65535,r40
movi (bazboth + 12) & 65535,r40
 
movi (bazboth2 + 12) & 65535,r40
movi (datalabel bazboth2 + 16) & 65535,r40
 
movi (bazwithout + 24) & 65535,r30
 
.section .rodata
.long datalabel baz_other + 4
.long datalabel baz_otherboth + 40
.long baz_otherboth + 24
.long baz_otherboth2 + 24
.long datalabel baz_otherboth2 + 40
.long baz_otherwithout
 
.text
movi (datalabel baz_mix + 8) & 65535,r30
movi (baz_mix2 + 8) & 65535,r30
movi (datalabel baz_mixboth + 80) & 65535,r30
movi (baz_mixboth + 80) & 65535,r30
movi (baz_mixboth2 + 64) & 65535,r30
movi (datalabel baz_mixboth2 + 64) & 65535,r30
movi (baz_mixwithout + 42) & 65535,r30
movi (baz_mixwithout2 + 24) & 65535,r30
 
.section .rodata
.long baz_mix + 4
.long datalabel baz_mix2 + 48
.long datalabel baz_mixboth + 400
.long baz_mixboth + 420
.long baz_mixboth2 + 248
.long datalabel baz_mixboth2 + 240
.long baz_mixwithout
 
! Same as all of the above, but where the symbol is not an ISA32 one.
 
.data
.global dfoo
dfoo:
.long 0
.long (datalabel dfoo + 8)
 
.global dfooboth
dfooboth:
.long 0
.long (datalabel dfooboth + 16)
.long (dfooboth + 12)
 
.global dfooboth2
dfooboth2:
.long 0
.long (dfooboth2 + 12)
.long (datalabel dfooboth2 + 16)
 
.global dfoowithout
dfoowithout:
.long 0
.long (dfoowithout + 24)
 
.global dfoo_other
dfoo_other:
.long 0
.global dfoo_otherboth
dfoo_otherboth:
.long 0
.global dfoo_otherboth2
dfoo_otherboth2:
.long 0
.global dfoo_otherwithout
dfoo_otherwithout:
.long 0
 
.section .rodata
.long datalabel dfoo_other + 4
.long datalabel dfoo_otherboth + 40
.long dfoo_otherboth + 24
.long dfoo_otherboth2 + 24
.long datalabel dfoo_otherboth2 + 40
.long dfoo_otherwithout
 
.data
 
! Same as above, mixing references from same and other section.
.global dfoo_mix
dfoo_mix:
.long 0
.long (datalabel dfoo_mix + 8)
.global dfoo_mix2
dfoo_mix2:
.long 0
.long (dfoo_mix2 + 8)
.global dfoo_mixboth
dfoo_mixboth:
.long 0
.long (datalabel dfoo_mixboth + 80)
.long (dfoo_mixboth + 80)
.global dfoo_mixboth2
dfoo_mixboth2:
.long 0
.long (dfoo_mixboth2 + 64)
.long (datalabel dfoo_mixboth2 + 64)
.global dfoo_mixwithout
dfoo_mixwithout:
.long 0
.long (dfoo_mixwithout + 42)
.global dfoo_mixwithout2
dfoo_mixwithout2:
.long 0
.long (dfoo_mixwithout2 + 24)
 
.section .rodata
.long dfoo_mix + 4
.long datalabel dfoo_mix2 + 48
.long datalabel dfoo_mixboth + 400
.long dfoo_mixboth + 420
.long dfoo_mixboth2 + 248
.long datalabel dfoo_mixboth2 + 240
.long dfoo_mixwithout
 
! Same as above, referencing symbol in other file (reference only from
! this to other file).
 
.text
movi (datalabel dbarboth + 16) & 65535,r40
movi (dbarboth + 12) & 65535,r40
movi (dbarboth2 + 12) & 65535,r40
movi (datalabel dbarboth2 + 16) & 65535,r40
movi (dbarwithout + 24) & 65535,r30
 
.data
.long (datalabel dbar + 8)
.long datalabel dbar_other + 4
.long datalabel dbar_otherboth + 40
.long dbar_otherboth + 24
.long dbar_otherboth2 + 24
.long datalabel dbar_otherboth2 + 40
.long dbar_otherwithout
 
.text
movi (datalabel dbar_mix + 8) & 65535,r30
movi (dbar_mix2 + 8) & 65535,r30
movi (datalabel dbar_mixboth + 80) & 65535,r30
movi (dbar_mixboth + 80) & 65535,r30
movi (dbar_mixboth2 + 64) & 65535,r30
movi (datalabel dbar_mixboth2 + 64) & 65535,r30
movi (dbar_mixwithout + 42) & 65535,r30
movi (dbar_mixwithout2 + 24) & 65535,r30
 
.data
.long dbar_mix + 4
.long datalabel dbar_mix2 + 48
.long datalabel dbar_mixboth + 400
.long dbar_mixboth + 420
.long dbar_mixboth2 + 248
.long datalabel dbar_mixboth2 + 240
.long dbar_mixwithout
 
! Same as above, referencing symbol in other file *and* within that file.
 
.text
movi (datalabel dbazboth + 16) & 65535,r40
movi (dbazboth + 12) & 65535,r40
 
movi (dbazboth2 + 12) & 65535,r40
movi (datalabel dbazboth2 + 16) & 65535,r40
 
movi (dbazwithout + 24) & 65535,r30
 
.data
.long (datalabel dbaz + 8)
.long datalabel dbaz_other + 4
.long datalabel dbaz_otherboth + 40
.long dbaz_otherboth + 24
.long dbaz_otherboth2 + 24
.long datalabel dbaz_otherboth2 + 40
.long dbaz_otherwithout
 
.text
movi (datalabel dbaz_mix + 8) & 65535,r30
movi (dbaz_mix2 + 8) & 65535,r30
movi (datalabel dbaz_mixboth + 80) & 65535,r30
movi (dbaz_mixboth + 80) & 65535,r30
movi (dbaz_mixboth2 + 64) & 65535,r30
movi (datalabel dbaz_mixboth2 + 64) & 65535,r30
movi (dbaz_mixwithout + 42) & 65535,r30
movi (dbaz_mixwithout2 + 24) & 65535,r30
 
.data
.long dbaz_mix + 4
.long datalabel dbaz_mix2 + 48
.long datalabel dbaz_mixboth + 400
.long dbaz_mixboth + 420
.long dbaz_mixboth2 + 248
.long datalabel dbaz_mixboth2 + 240
.long dbaz_mixwithout
/mix2.xd
0,0 → 1,52
 
.*: file format .*-sh64
.*
architecture: sh5, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0+1001
 
Program Header:
LOAD off 0x0+100 vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*7
filesz 0x0+44 memsz 0x0+44 flags r-x
LOAD off 0x0+148 vaddr 0x0+10c8 paddr 0x0+10c8 align 2\*\*7
filesz 0x0+10 memsz 0x0+10 flags rw-
LOAD off 0x0+180 vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*7
filesz 0x0+4 memsz 0x0+4 flags rw-
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 00000034 0+1000 0+1000 00000100 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 00000010 0+1034 0+1034 00000134 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 \.data 00000010 0+10c8 0+10c8 00000148 2\*\*2
CONTENTS, ALLOC, LOAD, DATA
3 \.stack 00000004 0+80000 0+80000 00000180 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
4 \.cranges 00000014 0+ 0+ 00000184 2\*\*0
CONTENTS, DEBUGGING, SORT_ENTRIES
SYMBOL TABLE:
0+1000 l d \.text 0+ (|\.text)
0+1034 l d \.rodata 0+ (|\.rodata)
0+10c8 l d \.data 0+ (|\.data)
0+80000 l d \.stack 0+ (|\.stack)
0+ l d \.cranges 0+ (|\.cranges)
0+1020 l \.text 0+ locallabel
0+1040 g \.rodata 0+ compactlabel4
0+101c g \.text 0+ 0x04 medialabel2
0+1038 g \.rodata 0+ medialabel3
0+1022 g \.text 0+ compactlabel1
0+1024 g \.text 0+ compactlabel2
0+1028 g \.text 0+ compactlabel3
0+1010 g \.text 0+ 0x04 medialabel1
0+10c8 g .* 0+ ___dtors
0+10cc g \.data 0+ medialabel4
0+10d8 g \*ABS\* 0+ __bss_start
0+10c8 g .* 0+ ___ctors_end
0+10d4 g \.data 0+ compactlabel5
0+10c8 g .* 0+ ___ctors
0+10d8 g \*ABS\* 0+ _edata
0+10d8 g \*ABS\* 0+ _end
0+1000 g \.text 0+ 0x04 start
0+80000 g \.stack 0+ _stack
0+10c8 g .* 0+ ___dtors_end
/init-cmpct.d
0,0 → 1,14
#source: init.s
#as: --abi=32 --isa=SHcompact
#ld: -shared -mshelf32
#readelf: -d
#target: sh64-*-elf
 
# Make sure that the lsb of DT_INIT and DT_FINI entries is not set
# when _init and _fini are SHcompact code.
 
Dynamic section at offset .* contains 8 entries:
Tag Type Name/Value
0x0000000c \(INIT\) .*[02468ace]
0x0000000d \(FINI\) .*[02468ace]
#pass
/relax2.s
0,0 → 1,3
.text
foo1:
nop
/init64.d
0,0 → 1,14
#source: init.s
#as: --abi=64
#ld: -shared -mshelf64
#readelf: -d
#target: sh64-*-elf
 
# Make sure that the lsb of DT_INIT and DT_FINI entries is set
# when _init and _fini are SHmedia code.
 
.*
Tag Type Name/Value
0x000000000000000c \(INIT\) .*[13579bdf]
0x000000000000000d \(FINI\) .*[13579bdf]
#pass
/relax4.s
0,0 → 1,2
.section .cranges
.word 0
/crange-2a.s
0,0 → 1,22
! Simple example with assembler-generated .cranges that do not need more
! .cranges added by the linker: A single section with SHmedia, constants
! and SHcompact.
.section .text.mixed,"ax"
.align 2
! Make sure this symbol does not have the expected type.
.mode SHcompact
.global diversion2
diversion2:
 
.mode SHmedia
start2:
nop
nop
nop
 
.long 42
.long 43
 
.mode SHcompact
nop
nop
/stobin-0-dso.d
0,0 → 1,9
#source: stolib.s
#as: --abi=32 --isa=SHmedia
#ld: -shared -mshelf32
#objdump: -drj.text
#target: sh64-*-elf
 
.*: +file format elf32-sh64.*
 
#pass
/crange-2c.s
0,0 → 1,16
! First part of crange-2b.s, but in section .text.mixed.
 
.section .text.mixed,"ax"
.mode SHmedia
.align 2
sec1:
nop
nop
nop
nop
sec2:
.long 41
.long 43
.long 42
.long 43
.long 42
/crange-2e.s
0,0 → 1,12
! Third part of crange-2b.s, but in section .text.mixed.
 
.section .text.mixed,"ax"
.align 2
sec4:
.mode SHmedia
nop
nop
nop
nop
nop
nop
/abi32.sd
0,0 → 1,16
 
.*: file format .*-sh64.*
 
Contents of section \.text:
1000 cc000190 c8015590 6bf56630 6ff0fff0 .*
1010 cc000210 c8400610 cc000150 c8403550 .*
1020 cffffd90 cbff9590 6bf56630 cc0002b0 .*
1030 c843e2b0 cc000350 c843c350 cc000040 .*
1040 c843f040 cc000190 c8004590 6bf56650 .*
1050 cc000190 c8002590 6bf56410 6ff0fff0 .*
1060 6ff0fff0 .*
Contents of section \.data:
10e8 000010f4 0000100d 0000105d 000010e8 .*
10f8 000010e8 0000100d .*
Contents of section \.stack:
80000 deaddead .*
/rel64.xd
0,0 → 1,92
 
.*: file format .*-sh64
.*
architecture: sh5, flags 0x0+11:
HAS_RELOC, HAS_SYMS
start address 0x0+
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 0+40 0+ 0+ 0+40 2\*\*0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 \.data 0+40 0+ 0+ 0+80 2\*\*2
CONTENTS, ALLOC, LOAD, RELOC, DATA
2 \.bss 0+ 0+ 0+ 0+c0 2\*\*0
ALLOC
3 \.stack 0+4 0+ 0+ 0+c0 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0+ l d \.text 0+ (|.text)
0+ l d \.data 0+ (|.data)
0+ l d \.bss 0+ (|.bss)
0+ l d \.stack 0+ (|.stack)
0+ \*UND\* 0+ unresolved5
0+c g \.text 0+ 0x04 file1text2
0+24 g \.text 0+ 0x04 file2text1
0+4 g \.data 0+ file1data1
0+34 g \.data 0+ file2data4
0+10 g \.text 0+ 0x04 file1text3
0+2c g \.data 0+ file2data2
0+c g \.data 0+ file1data2
0+30 g \.text 0+ 0x04 file2text3
0+20 g \.text 0+ 0x04 start2
0+ \*UND\* 0+ unresolved1
0+ \*UND\* 0+ unresolved6
0+4 g \.text 0+ 0x04 file1text1
0+2c g \.text 0+ 0x04 file2text2
0+ \*UND\* 0+ unresolved3
0+34 g \.text 0+ 0x04 file2text4
0+ \*UND\* 0+ unresolved2
0+ g \.text 0+ 0x04 start
0+14 g \.text 0+ 0x04 file1text4
0+30 g \.data 0+ file2data3
0+ \*UND\* 0+ unresolved4
0+24 g \.data 0+ file2data1
0+10 g \.data 0+ file1data3
0+14 g \.data 0+ file1data4
 
 
RELOCATION RECORDS FOR \[\.text\]:
OFFSET TYPE VALUE
0+8 R_SH_IMM_LOW16 file1text1
0+c R_SH_IMM_LOW16 file1data2
0+10 R_SH_IMM_LOW16 file2text3
0+14 R_SH_IMM_LOW16 file2data4
0+18 R_SH_IMM_LOW16 unresolved1
0+1c R_SH_IMM_LOW16 unresolved6
0+28 R_SH_IMM_LOW16 file2text1
0+2c R_SH_IMM_LOW16 file2data2
0+30 R_SH_IMM_LOW16 file1text3
0+34 R_SH_IMM_LOW16 file1data4
0+38 R_SH_IMM_LOW16 unresolved1
0+3c R_SH_IMM_LOW16 unresolved3
 
 
RELOCATION RECORDS FOR \[\.data\]:
OFFSET TYPE VALUE
0+8 R_SH_DIR32 file1data1
0+c R_SH_DIR32 file1text2
0+10 R_SH_DIR32 file2data3
0+14 R_SH_DIR32 file2text4
0+18 R_SH_DIR32 unresolved2
0+1c R_SH_DIR32 unresolved5
0+28 R_SH_DIR32 file2data1
0+2c R_SH_DIR32 file2text2
0+30 R_SH_DIR32 file1data3
0+34 R_SH_DIR32 file1text4
0+38 R_SH_DIR32 unresolved2
0+3c R_SH_DIR32 unresolved4
 
 
Contents of section \.text:
0000 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0010 cc000140 cc000140 cc000280 cc0001e0 .*
0020 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0030 cc000140 cc000140 cc0001e0 cc0001e0 .*
Contents of section \.data:
0000 00000000 00000000 00000000 00000000 .*
0010 00000000 00000000 00000000 00000000 .*
0020 00000000 00000000 00000000 00000000 .*
0030 00000000 00000000 00000000 00000000 .*
Contents of section .stack:
0000 deaddead .*
/crange-2g.s
0,0 → 1,26
! Section with SHmedia in unique section, similar to crange-2f.s
 
.section .text.2g,"ax"
.align 2
 
.mode SHmedia
movi 0x21,r12
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movi 0x21,r13
/crange-2i.s
0,0 → 1,8
! If this file comes before a file with a SHcompact .text section but with
! no symbols, we will have a symbol of the "wrong kind" before the
! SHcompact insns.
.section .text,"ax"
.mode SHmedia
.align 2
.global diversion
diversion:
/reldl32.rd
0,0 → 1,358
 
Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 26 entries:
.*
00000008 +0+5bf6 R_SH_IMM_LOW16 +00000004 +file1text1 +\+ 0
0000000c +0+2df6 R_SH_IMM_LOW16 +0000000c +file1data2 +\+ 0
00000010 +0+30f6 R_SH_IMM_LOW16 +00000070 +file2text3 +\+ 0
00000014 +0+0ff6 R_SH_IMM_LOW16 +0000012c +file2data4 +\+ 0
00000018 +0+4cf6 R_SH_IMM_LOW16 +00000000 +unresolved1 +\+ 0
0000001c +0+51f6 R_SH_IMM_LOW16 +00000000 +unresolved6 +\+ 0
00000020 +0+5df6 R_SH_IMM_LOW16 +00000000 +file1text1 +\+ 0
00000024 +0+5df6 R_SH_IMM_LOW16 +00000000 +file1text1 +\+ 18
00000028 +0+21f6 R_SH_IMM_LOW16 +00000000 +file1text5 +\+ 8
0000002c +0+2df6 R_SH_IMM_LOW16 +0000000c +file1data2 +\+ 30
00000030 +0+2df6 R_SH_IMM_LOW16 +0000000c +file1data2 +\+ 0
0000003c +0+42f6 R_SH_IMM_LOW16 +00000000 +unresolved7 +\+ 0
00000040 +0+27f6 R_SH_IMM_LOW16 +00000000 +unresolved1 +\+ 0
00000034 +0+35f8 R_SH_IMM_MEDLOW16 +00000000 +file2data4 +\+ 10
00000038 +0+35f6 R_SH_IMM_LOW16 +00000000 +file2data4 +\+ 10
00000068 +0+08f6 R_SH_IMM_LOW16 +00000064 +file2text1 +\+ 0
0000006c +0+24f6 R_SH_IMM_LOW16 +00000124 +file2data2 +\+ 0
00000070 +0+23f6 R_SH_IMM_LOW16 +00000010 +file1text3 +\+ 0
00000074 +0+81f6 R_SH_IMM_LOW16 +00000014 +file1data4 +\+ 0
00000078 +0+4cf6 R_SH_IMM_LOW16 +00000000 +unresolved1 +\+ 0
0000007c +0+64f6 R_SH_IMM_LOW16 +00000000 +unresolved3 +\+ 0
00000080 +0+85f6 R_SH_IMM_LOW16 +00000000 +unresolved8 +\+ 0
00000084 +0+32f6 R_SH_IMM_LOW16 +00000000 +unresolved9 +\+ 0
00000088 +0+5df6 R_SH_IMM_LOW16 +00000000 +file1text1 +\+ 0
0000008c +0+4bf6 R_SH_IMM_LOW16 +00000000 +file1data2 +\+ 0
00000090 +0+28f6 R_SH_IMM_LOW16 +00000000 +file1data3 +\+ 0
 
Relocation section '\.rela\.data' at offset 0x[0-9a-f]+ contains 134 entries:
.*
00000008 +0+0b01 R_SH_DIR32 +00000004 +file1data1 +\+ 0
0000000c +0+0701 R_SH_DIR32 +0000000c +file1text2 +\+ 0
00000010 +0+7801 R_SH_DIR32 +00000128 +file2data3 +\+ 0
00000014 +0+6701 R_SH_DIR32 +00000074 +file2text4 +\+ 0
00000018 +0+7401 R_SH_DIR32 +00000000 +unresolved2 +\+ 0
0000001c +0+0501 R_SH_DIR32 +00000000 +unresolved5 +\+ 0
00000020 +0+6c01 R_SH_DIR32 +00000000 +unresolved6 +\+ 0
00000024 +0+0601 R_SH_DIR32 +00000000 +unresolved9 +\+ 0
00000028 +0+7a01 R_SH_DIR32 +00000000 +a1 +\+ 0
0000002c +0+7001 R_SH_DIR32 +00000000 +a23 +\+ 0
00000030 +0+5401 R_SH_DIR32 +0000003c +b123 +\+ 0
00000034 +0+6a01 R_SH_DIR32 +0000009c +c3 +\+ 0
00000038 +0+3c01 R_SH_DIR32 +000000a8 +c13 +\+ 0
0000003c +0+2601 R_SH_DIR32 +00000000 +a2 +\+ 0
00000040 +0+4e01 R_SH_DIR32 +00000000 +a3 +\+ 0
00000044 +0+2501 R_SH_DIR32 +00000000 +a4 +\+ 0
00000048 +0+6901 R_SH_DIR32 +00000000 +a12 +\+ 0
0000004c +0+1501 R_SH_DIR32 +00000000 +a13 +\+ 0
00000050 +0+7601 R_SH_DIR32 +00000000 +a23 +\+ 0
00000054 +0+6201 R_SH_DIR32 +00000000 +a123 +\+ 0
00000058 +0+3d01 R_SH_DIR32 +00000000 +b1 +\+ 0
0000005c +0+7101 R_SH_DIR32 +00000000 +b2 +\+ 0
00000060 +0+2f01 R_SH_DIR32 +00000000 +a3 +\+ 0
00000064 +0+7f01 R_SH_DIR32 +00000000 +a13 +\+ 0
00000068 +0+2e01 R_SH_DIR32 +00000000 +b3 +\+ 0
0000006c +0+6801 R_SH_DIR32 +00000000 +b4 +\+ 0
00000070 +0+5201 R_SH_DIR32 +00000000 +b12 +\+ 0
00000074 +0+2901 R_SH_DIR32 +00000000 +b13 +\+ 0
00000078 +0+3e01 R_SH_DIR32 +00000000 +a123 +\+ 0
0000007c +0+6501 R_SH_DIR32 +00000024 +b3 +\+ 0
00000080 +0+3b01 R_SH_DIR32 +00000030 +b13 +\+ 0
00000084 +0+6f01 R_SH_DIR32 +00000034 +b23 +\+ 0
00000088 +0+7d01 R_SH_DIR32 +00000000 +b23 +\+ 0
0000008c +0+0c01 R_SH_DIR32 +00000000 +b123 +\+ 0
00000090 +0+8301 R_SH_DIR32 +00000000 +c1 +\+ 0
00000094 +0+2c01 R_SH_DIR32 +00000000 +c2 +\+ 0
00000098 +0+6301 R_SH_DIR32 +00000000 +c3 +\+ 0
0000009c +0+3901 R_SH_DIR32 +000000ac +c23 +\+ 0
000000a0 +0+7e01 R_SH_DIR32 +000000b0 +c123 +\+ 0
000000a4 +0+0e01 R_SH_DIR32 +00000000 +c4 +\+ 0
000000a8 +0+2001 R_SH_DIR32 +00000000 +c12 +\+ 0
000000ac +0+3101 R_SH_DIR32 +00000000 +c13 +\+ 0
000000b0 +0+3601 R_SH_DIR32 +00000000 +c23 +\+ 0
000000b4 +0+3a01 R_SH_DIR32 +00000000 +c123 +\+ 0
000000b8 +0+4801 R_SH_DIR32 +00000000 +oa1 +\+ 0
000000bc +0+1401 R_SH_DIR32 +00000000 +ob1 +\+ 0
000000c0 +0+4401 R_SH_DIR32 +000000d0 +ob123 +\+ 0
000000c4 +0+5901 R_SH_DIR32 +00000000 +oc1 +\+ 0
000000c8 +0+7901 R_SH_DIR32 +00000000 +oa2 +\+ 0
000000cc +0+6101 R_SH_DIR32 +000000b8 +ob2 +\+ 0
000000d0 +0+7201 R_SH_DIR32 +00000044 +oc2 +\+ 0
000000d4 +0+4901 R_SH_DIR32 +00000000 +oa12 +\+ 0
000000d8 +0+1b01 R_SH_DIR32 +00000000 +oa12 +\+ 0
000000dc +0+6001 R_SH_DIR32 +00000000 +ob12 +\+ 0
000000e0 +0+4a01 R_SH_DIR32 +000000c4 +ob12 +\+ 0
000000e4 +0+5a01 R_SH_DIR32 +00000000 +oc12 +\+ 0
000000e8 +0+1201 R_SH_DIR32 +00000050 +oc12 +\+ 0
000000ec +0+3f01 R_SH_DIR32 +00000000 +oa23 +\+ 0
000000f0 +0+4501 R_SH_DIR32 +00000000 +oa13 +\+ 0
000000f4 +0+0a01 R_SH_DIR32 +0000005c +oc123 +\+ 0
000000f8 +0+5501 R_SH_DIR32 +00000000 +ob13 +\+ 0
000000fc +0+5c01 R_SH_DIR32 +00000000 +oc13 +\+ 0
00000100 +0+8201 R_SH_DIR32 +000000cc +ob23 +\+ 0
00000104 +0+2b01 R_SH_DIR32 +00000058 +oc23 +\+ 0
00000108 +0+5701 R_SH_DIR32 +00000000 +oa123 +\+ 0
0000010c +0+5001 R_SH_DIR32 +00000000 +oa123 +\+ 0
00000110 +0+6601 R_SH_DIR32 +00000000 +ob123 +\+ 0
00000114 +0+3301 R_SH_DIR32 +00000000 +oc123 +\+ 0
00000120 +0+7c01 R_SH_DIR32 +0000011c +file2data1 +\+ 0
00000124 +0+5e01 R_SH_DIR32 +0000006c +file2text2 +\+ 0
00000128 +0+8001 R_SH_DIR32 +00000010 +file1data3 +\+ 0
0000012c +0+7701 R_SH_DIR32 +00000014 +file1text4 +\+ 0
00000130 +0+7401 R_SH_DIR32 +00000000 +unresolved2 +\+ 0
00000134 +0+7b01 R_SH_DIR32 +00000000 +unresolved4 +\+ 0
00000138 +0+4801 R_SH_DIR32 +00000000 +oa1 +\+ 0
0000013c +0+1701 R_SH_DIR32 +00000000 +oa2 +\+ 0
00000140 +0+6d01 R_SH_DIR32 +00000000 +oa3 +\+ 0
00000144 +0+1c01 R_SH_DIR32 +00000000 +oa13 +\+ 0
00000148 +0+1901 R_SH_DIR32 +00000054 +oc13 +\+ 0
0000014c +0+1001 R_SH_DIR32 +00000000 +oa4 +\+ 0
00000150 +0+1b01 R_SH_DIR32 +00000000 +oa12 +\+ 0
00000154 +0+4501 R_SH_DIR32 +00000000 +oa13 +\+ 0
00000158 +0+3801 R_SH_DIR32 +00000000 +oa23 +\+ 0
0000015c +0+3f01 R_SH_DIR32 +00000000 +oa23 +\+ 0
00000160 +0+5701 R_SH_DIR32 +00000000 +oa123 +\+ 0
00000164 +0+1601 R_SH_DIR32 +00000048 +oc3 +\+ 0
00000168 +0+5001 R_SH_DIR32 +00000000 +oa123 +\+ 0
0000016c +0+1401 R_SH_DIR32 +00000000 +ob1 +\+ 0
00000170 +0+2201 R_SH_DIR32 +00000000 +ob2 +\+ 0
00000174 +0+5f01 R_SH_DIR32 +00000000 +ob3 +\+ 0
00000178 +0+1301 R_SH_DIR32 +00000000 +ob4 +\+ 0
0000017c +0+8401 R_SH_DIR32 +00000000 +oa3 +\+ 0
00000180 +0+2b01 R_SH_DIR32 +00000058 +oc23 +\+ 0
00000184 +0+0a01 R_SH_DIR32 +0000005c +oc123 +\+ 0
00000188 +0+6001 R_SH_DIR32 +00000000 +ob12 +\+ 0
0000018c +0+5501 R_SH_DIR32 +00000000 +ob13 +\+ 0
00000190 +0+4d01 R_SH_DIR32 +000000c8 +ob13 +\+ 0
00000194 +0+8201 R_SH_DIR32 +000000cc +ob23 +\+ 0
00000198 +0+5801 R_SH_DIR32 +00000000 +ob23 +\+ 0
0000019c +0+6601 R_SH_DIR32 +00000000 +ob123 +\+ 0
000001a0 +0+5901 R_SH_DIR32 +00000000 +oc1 +\+ 0
000001a4 +0+1101 R_SH_DIR32 +000000bc +ob3 +\+ 0
000001a8 +0+4401 R_SH_DIR32 +000000d0 +ob123 +\+ 0
000001ac +0+0901 R_SH_DIR32 +00000000 +oc2 +\+ 0
000001b0 +0+3701 R_SH_DIR32 +00000000 +oc3 +\+ 0
000001b4 +0+5301 R_SH_DIR32 +00000000 +oc4 +\+ 0
000001b8 +0+5a01 R_SH_DIR32 +00000000 +oc12 +\+ 0
000001bc +0+5c01 R_SH_DIR32 +00000000 +oc13 +\+ 0
000001c0 +0+2a01 R_SH_DIR32 +00000000 +oc23 +\+ 0
000001c4 +0+3301 R_SH_DIR32 +00000000 +oc123 +\+ 0
000001c8 +0+7a01 R_SH_DIR32 +00000000 +a1 +\+ 0
000001cc +0+1a01 R_SH_DIR32 +00000098 +c2 +\+ 0
000001d0 +0+6f01 R_SH_DIR32 +00000034 +b23 +\+ 0
000001d4 +0+3d01 R_SH_DIR32 +00000000 +b1 +\+ 0
000001d8 +0+8301 R_SH_DIR32 +00000000 +c1 +\+ 0
000001dc +0+6901 R_SH_DIR32 +00000000 +a12 +\+ 0
000001e0 +0+5601 R_SH_DIR32 +00000000 +a2 +\+ 0
000001e4 +0+0d01 R_SH_DIR32 +00000020 +b2 +\+ 0
000001e8 +0+5201 R_SH_DIR32 +00000000 +b12 +\+ 0
000001ec +0+2001 R_SH_DIR32 +00000000 +c12 +\+ 0
000001f0 +0+5401 R_SH_DIR32 +0000003c +b123 +\+ 0
000001f4 +0+7e01 R_SH_DIR32 +000000b0 +c123 +\+ 0
000001f8 +0+1501 R_SH_DIR32 +00000000 +a13 +\+ 0
000001fc +0+2901 R_SH_DIR32 +00000000 +b13 +\+ 0
00000200 +0+3901 R_SH_DIR32 +000000ac +c23 +\+ 0
00000204 +0+3e01 R_SH_DIR32 +00000000 +a123 +\+ 0
00000208 +0+3101 R_SH_DIR32 +00000000 +c13 +\+ 0
0000020c +0+6201 R_SH_DIR32 +00000000 +a123 +\+ 0
00000210 +0+6e01 R_SH_DIR32 +000000a4 +c12 +\+ 0
00000214 +0+7001 R_SH_DIR32 +00000000 +a23 +\+ 0
00000218 +0+0c01 R_SH_DIR32 +00000000 +b123 +\+ 0
0000021c +0+4001 R_SH_DIR32 +00000000 +a12 +\+ 0
00000220 +0+7301 R_SH_DIR32 +0000002c +b12 +\+ 0
00000224 +0+3a01 R_SH_DIR32 +00000000 +c123 +\+ 0
 
Symbol table '\.symtab' contains 134 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+0: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+1: 00000000 +0 +SECTION +LOCAL +DEFAULT +1
+2: 00000000 +0 +SECTION +LOCAL +DEFAULT +3
+3: 00000000 +0 +SECTION +LOCAL +DEFAULT +5
+4: 00000000 +0 +SECTION +LOCAL +DEFAULT +6
+5: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved5
+6: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved9
+7: 0000000c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text2
+8: 00000064 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text1
+9: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc2
+10: 0000005c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc123
+11: 00000004 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data1
+12: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b123
+13: 00000020 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b2
+14: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c4
+15: 0000012c +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data4
+16: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa4
+17: 000000bc +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob3
+18: 00000050 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc12
+19: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob4
+20: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob1
+21: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a13
+22: 00000048 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc3
+23: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa2
+24: 000000a0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c4
+25: 00000054 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc13
+26: 00000098 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c2
+27: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa12
+28: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa13
+29: 000000c0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob4
+30: 0000001c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b1
+31: 00000018 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text5
+32: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c12
+33: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1text5
+34: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob2
+35: 00000010 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text3
+36: 00000124 +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data2
+37: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a4
+38: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a2
+39: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved1
+40: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1data3
+41: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b13
+42: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc23
+43: 00000058 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc23
+44: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c2
+45: 0000000c +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data2
+46: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b3
+47: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a3
+48: 00000070 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text3
+49: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c13
+50: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved9
+51: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc123
+52: 00000028 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b4
+53: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file2data4
+54: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c23
+55: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc3
+56: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa23
+57: 000000ac +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c23
+58: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c123
+59: 00000030 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b13
+60: 000000a8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c13
+61: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b1
+62: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a123
+63: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa23
+64: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a12
+65: 000000b4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob1
+66: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved7
+67: 00000060 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start2
+68: 000000d0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob123
+69: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa13
+70: 00000094 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c1
+71: 0000004c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc4
+72: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa1
+73: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa12
+74: 000000c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob12
+75: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1data2
+76: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved1
+77: 000000c8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob13
+78: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a3
+79: 00000018 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data5
+80: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa123
+81: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved6
+82: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b12
+83: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc4
+84: 0000003c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b123
+85: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob13
+86: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a2
+87: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa123
+88: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob23
+89: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc1
+90: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc12
+91: 00000004 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text1
+92: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oc13
+93: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND file1text1
+94: 0000006c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text2
+95: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob3
+96: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob12
+97: 000000b8 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob2
+98: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a123
+99: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c3
+100: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved3
+101: 00000024 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b3
+102: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND ob123
+103: 00000074 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file2text4
+104: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b4
+105: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a12
+106: 0000009c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c3
+107: 00000040 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc1
+108: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved6
+109: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND oa3
+110: 000000a4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c12
+111: 00000034 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b23
+112: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a23
+113: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b2
+114: 00000044 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 oc2
+115: 0000002c +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 b12
+116: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved2
+117: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
+118: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a23
+119: 00000014 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 file1text4
+120: 00000128 +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data3
+121: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa2
+122: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND a1
+123: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND unresolved4
+124: 0000011c +0 +NOTYPE +GLOBAL +DEFAULT +3 file2data1
+125: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND b23
+126: 000000b0 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 c123
+127: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND a13
+128: 00000010 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data3
+129: 00000014 +0 +NOTYPE +GLOBAL +DEFAULT +3 file1data4
+130: 000000cc +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 ob23
+131: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND c1
+132: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND oa3
+133: 00000000 +0 +<processor specific>: 13 +GLOBAL +DEFAULT +UND unresolved8
 
Hex dump of section '\.text':
.*
0x00000000 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0x00000010 cc000140 cc000140 cc000280 cc0001e0 .*
0x00000020 cc0000a0 cc0000a0 cc000280 cc000140 .*
0x00000030 cc000140 cc000320 c8000320 cc0003c0 .*
0x00000040 cc0003c0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00000050 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00000060 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0x00000070 cc000140 cc000140 cc0001e0 cc0001e0 .*
0x00000080 cc000320 cc000320 cc000280 cc000280 .*
0x00000090 cc000280 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000a0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000b0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000c0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x000000d0 6ff0fff0 .*
 
Hex dump of section '\.data':
.*
0x00000000 00000000 00000000 00000008 00000000 .*
0x00000010 00000000 00000000 00000000 00000000 .*
0x00000020 00000028 00000000 00000000 00000000 .*
0x00000030 00000000 00000000 00000000 00000000 .*
0x00000040 00000000 00000000 00000000 00000000 .*
0x00000050 00000000 00000000 00000000 00000000 .*
0x00000060 00000000 00000000 00000000 00000000 .*
0x00000070 00000000 00000000 00000000 00000000 .*
0x00000080 00000000 00000000 00000000 00000000 .*
0x00000090 00000000 00000000 00000000 00000000 .*
0x000000a0 00000000 00000000 00000000 00000000 .*
0x000000b0 00000000 00000000 00000000 00000000 .*
0x000000c0 00000000 00000000 00000000 00000000 .*
0x000000d0 00000000 00000000 00000000 00000000 .*
0x000000e0 00000000 00000000 00000000 00000000 .*
0x000000f0 00000000 00000000 00000000 00000000 .*
0x00000100 00000000 00000000 00000000 00000000 .*
0x00000110 00000000 00000000 00000000 00000000 .*
0x00000120 00000000 00000000 00000000 00000000 .*
0x00000130 00000000 00000000 00000000 00000000 .*
0x00000140 00000000 00000000 00000000 00000000 .*
0x00000150 00000000 00000000 00000000 00000000 .*
0x00000160 00000000 00000000 00000000 00000000 .*
0x00000170 00000000 00000000 00000000 00000000 .*
0x00000180 00000000 00000000 00000000 00000000 .*
0x00000190 00000000 00000000 00000000 00000000 .*
0x000001a0 00000000 00000000 00000000 00000000 .*
0x000001b0 00000000 00000000 00000000 00000000 .*
0x000001c0 00000000 00000000 00000000 00000000 .*
0x000001d0 00000000 00000000 00000000 00000000 .*
0x000001e0 00000000 00000000 00000000 00000000 .*
0x000001f0 00000000 00000000 00000000 00000000 .*
0x00000200 00000000 00000000 00000000 00000000 .*
0x00000210 00000000 00000000 00000000 00000000 .*
0x00000220 00000000 00000000 .*
/relfail.s
0,0 → 1,36
.text
.align 4
.global to0
to0:
.byte 0
.global to1
to1:
.byte 0
.global to2
to2:
.byte 0
.global to3
to3:
.byte 0
.global to4
to4:
.byte 0
.byte 0
 
.data
.align 4
.global do0
do0:
.byte 0
.global do1
do1:
.byte 0
.global do2
do2:
.byte 0
.global do3
do3:
.byte 0
.global do4
do4:
.byte 0
/rel-1.s
0,0 → 1,48
! Relative linking, simple files with global symbols but nothing really
! strange. Reference from same and other file to .text and .data in
! different combinations.
 
! fileFsectionN, with F in rel-F.s, and N in:
! 1 - Same file and section.
! 2 - Same file, different section.
! 3 - Other file, same section.
! 4 - Other file, other section.
 
.mode SHmedia
.text
.global start
start:
nop
.global file1text1
file1text1:
nop
movi file1text1 & 65535,r10
.global file1text2
file1text2:
movi file1data2 & 65535,r20
.global file1text3
file1text3:
movi file2text3 & 65535,r20
.global file1text4
file1text4:
movi file2data4 & 65535,r20
movi unresolved1 & 65535,r40
movi unresolved6 & 65535,r30
 
.data
.long 0
.global file1data1
file1data1:
.long 0
.long file1data1
.global file1data2
file1data2:
.long file1text2
.global file1data3
file1data3:
.long file2data3
.global file1data4
file1data4:
.long file2text4
.long unresolved2
.long unresolved5
/sh64-2.s
0,0 → 1,27
! Test that all common kinds of relocs get right for simple cases.
! Main part.
.text
.global start
.mode SHmedia
start:
movi foo,r33
movi bar,r21
pt/l bar,tr3
movi foobar,r43
movi baz2,r53
movi foobar2,r4
pta xyzzy,tr5
pt/u plugh,tr1
 
.data
.global foobar
foobar: .long baz
foobar2:
.long bar
 
.section .text.other,"ax"
.global xyzzy
xyzzy:
nop
plugh:
nop
/crange2.rd
0,0 → 1,54
.*
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.init +PROGBITS +00001000 000080 000004 00 AXp +0 +0 +4
+\[ 2\] \.text +PROGBITS +00001004 000084 00005c 00 AXp +0 +0 +4
+\[ 3\] \.stack +PROGBITS +00080000 000100 000004 00 +WA +0 +0 +1
+\[ 4\] \.cranges +LOUSER\+1 +00000000 000104 000046 00 +W +0 +0 +1
+\[ 5\] \.shstrtab +STRTAB +.*
+\[ 6\] \.symtab +SYMTAB +.*
+\[ 7\] \.strtab +STRTAB +.*
Key to Flags:
#...
 
There are no relocations in this file\.
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
.*: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
.*: 00001000 +0 +SECTION +LOCAL +DEFAULT +1
.*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2
.*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3
.*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
.*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 0000101c +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec1
.*: 0000102c +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2
.*: 00001040 +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
.*: 00001048 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
.*: 00001004 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
.*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
.*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end
 
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x00001014 0000002b 00090009 6ff0fff0 6ff0fff0 .*
0x00001024 6ff0fff0 6ff0fff0 00000029 0000002b .*
0x00001034 0000002a 0000002b 0000002a 00090009 .*
0x00001044 00090000 6ff0fff0 6ff0fff0 6ff0fff0 .*
0x00001054 6ff0fff0 6ff0fff0 6ff0fff0 .*
 
Hex dump of section '\.cranges':
0x00000000 00001004 0000000c 00030000 10100000 .*
0x00000010 00080001 00001018 00000004 00020000 .*
0x00000020 101c0000 00100003 0000102c 00000014 .*
0x00000030 00010000 10400000 00060002 00001048 .*
0x00000040 00000018 0003 .*
/endian.dbd
0,0 → 1,11
 
.*:[ ]*file[ ]*format[ ]*elf64-sh64
 
Disassembly[ ]*of[ ]*section[ ]*.text:
 
0000000000000000[ ]*<start>:
[ ]*0:[ ]*cc48d000[ ]*movi[ ]*4660,r0
[ ]*4:[ ]*12345678[ ]*.long[ ]*0x12345678
[ ]*8:[ ]*12340000[ ]*.long[ ]*0x12340000
[ ]*c:[ ]*12345678[ ]*.long[ ]*0x12345678
 
/crangerel1.rd
0,0 → 1,44
There are 11 section headers, starting at offset 0xbc:
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.text +PROGBITS +00000000 000034 000000 00 +AX +0 +0 +1
+\[ 2\] \.text\.mixed +PROGBITS +00000000 000034 000018 00 AXp +0 +0 +4
+\[ 3\] \.data +PROGBITS +00000000 00004c 000000 00 +WA +0 +0 +1
+\[ 4\] \.bss +NOBITS +00000000 00004c 000000 00 +WA +0 +0 +1
+\[ 5\] \.stack +PROGBITS +00000000 00004c 000004 00 +WA +0 +0 +1
+\[ 6\] \.cranges +PROGBITS +00000000 000050 00001e 00 +W +0 +0 +1
+\[ 7\] \.rela\.cranges +RELA +00000000 000274 000024 0c +9 +6 +4
+\[ 8\] \.shstrtab +STRTAB +00000000 00006e 00004d 00 +0 +0 +1
+\[ 9\] \.symtab +SYMTAB +00000000 000298 000090 10 +10 +8 +4
+\[10\] \.strtab +STRTAB +00000000 000328 000013 00 +0 +0 +1
Key to Flags:
#...
 
Relocation section '\.rela\.cranges' at offset 0x[0-9a-f]+ contains 3 entries:
.*
0*00000000 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*0000000a +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
0*00000014 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0
 
Symbol table '\.symtab' contains 9 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+0: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+1: 00000000 +0 +SECTION +LOCAL +DEFAULT +1
+2: 00000000 +0 +SECTION +LOCAL +DEFAULT +2
+3: 00000000 +0 +SECTION +LOCAL +DEFAULT +3
+4: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
+5: 00000000 +0 +SECTION +LOCAL +DEFAULT +5
+6: 00000000 +0 +SECTION +LOCAL +DEFAULT +6
+7: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
+8: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
 
Hex dump of section '\.text\.mixed':
0x00000000 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x00000010 0000002b 00090009 .*
 
Hex dump of section '\.cranges':
.*
0x00000000 00000000 0000000c 00030000 000c0000 .*
0x00000010 00080001 00000014 00000004 0002 .*
/mix1.xd
0,0 → 1,42
 
.*: file format .*-sh64
.*
architecture: sh5, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0+1000
 
Program Header:
LOAD off 0x0+100 vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*7
filesz 0x0+48 memsz 0x0+48 flags r-x
LOAD off 0x0+148 vaddr 0x0+10c8 paddr 0x0+10c8 align 2\*\*7
filesz 0x0+c memsz 0x0+c flags rw-
LOAD off 0x0+180 vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*7
filesz 0x0+4 memsz 0x0+4 flags rw-
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 00000048 0+1000 0+1000 00000100 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.data 0000000c 0+10c8 0+10c8 00000148 2\*\*2
CONTENTS, ALLOC, LOAD, DATA
2 \.stack 00000004 0+80000 0+80000 00000180 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
3 \.cranges 00000014 0+ 0+ 00000184 2\*\*0
CONTENTS, DEBUGGING, SORT_ENTRIES
SYMBOL TABLE:
0+1000 l d \.text 0+ (|\.text)
0+10c8 l d \.data 0+ (|\.data)
0+80000 l d \.stack 0+ (|\.stack)
0+ l d \.cranges 0+ (|\.cranges)
0+1008 l \.text 0+ forw
0+1004 l \.text 0+ start2
0+1030 l \.text 0+ 0x04 mediacode2
0+1018 l \.text 0+ 0x04 mediacode
0+10c8 g .* 0+ ___dtors
0+10d8 g \*ABS\* 0+ __bss_start
0+10c8 g .* 0+ ___ctors_end
0+10c8 g .* 0+ ___ctors
0+10d8 g \*ABS\* 0+ _edata
0+10d8 g \*ABS\* 0+ _end
0+1000 g \.text 0+ start
0+80000 g \.stack 0+ _stack
0+10c8 g .* 0+ ___dtors_end
/gotplt.d
0,0 → 1,12
#source: gotplt.s
#as: --abi=32 --isa=SHmedia
#ld: -shared -mshelf32 --version-script=$srcdir/$subdir/gotplt.map
#readelf: -r
#target: sh64-*-elf
 
# Make sure that gotplt relocations of forced local symbols
# use the GOT.
 
Relocation section '\.rela\.dyn' at offset .* contains 1 entries:
Offset Info Type Sym\.Value Sym\. Name \+ Addend
[0-9a-f ]+R_SH_RELATIVE[0-9a-f ]+
/cmpct1.sd
0,0 → 1,9
 
.*: file format elf32-sh64
 
Contents of section \.text:
1000 c7000009 0009ea2a .*
Contents of section \.rodata:
1008 00001000 0000100c 00001004 .*
Contents of section \.stack:
80000 deaddead .*
/stolib.s
0,0 → 1,7
.text
.globl bar
.type bar,@function
bar:
ptabs r18, tr0
blink tr0, r63
.Lfe_bar: .size bar,.Lfe_bar-bar
/stobin.s
0,0 → 1,5
.text
.globl start
start:
pt bar, tr0
blink tr0, r63
/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
/crange3.dd
0,0 → 1,80
 
.*: file format elf32-sh64
 
Disassembly of section .init:
 
00001000 <start>:
1000: 6ff0fff0 nop
Disassembly of section .text:
 
00001004 <sec4>:
1004: 6ff0fff0 nop
1008: 6ff0fff0 nop
100c: 6ff0fff0 nop
1010: 6ff0fff0 nop
1014: 6ff0fff0 nop
1018: 6ff0fff0 nop
101c: cc00bd40 movi 47,r20
1020: 6ff0fff0 nop
1024: 6ff0fff0 nop
1028: 6ff0fff0 nop
102c: 6ff0fff0 nop
1030: 6ff0fff0 nop
1034: 6ff0fff0 nop
1038: 6ff0fff0 nop
103c: 6ff0fff0 nop
1040: 6ff0fff0 nop
1044: 6ff0fff0 nop
1048: 6ff0fff0 nop
104c: 6ff0fff0 nop
1050: cc00bd50 movi 47,r21
1054: cc0084c0 movi 33,r12
1058: 6ff0fff0 nop
105c: 6ff0fff0 nop
1060: 6ff0fff0 nop
1064: 6ff0fff0 nop
1068: 6ff0fff0 nop
106c: 6ff0fff0 nop
1070: 6ff0fff0 nop
1074: 6ff0fff0 nop
1078: 6ff0fff0 nop
107c: 6ff0fff0 nop
1080: 6ff0fff0 nop
1084: 6ff0fff0 nop
1088: 6ff0fff0 nop
108c: 6ff0fff0 nop
1090: 6ff0fff0 nop
1094: 6ff0fff0 nop
1098: 6ff0fff0 nop
109c: 6ff0fff0 nop
10a0: cc0084d0 movi 33,r13
 
000010a4 <diversion2>:
10a4: 6ff0fff0 nop
10a8: 6ff0fff0 nop
10ac: 6ff0fff0 nop
10b0: 00 00 00 2a \.long 0x0000002a
10b4: 00 00 00 2b \.long 0x0000002b
10b8: 00 09 nop
10ba: 00 09 nop
 
000010bc <sec3>:
10bc: 00 09 nop
10be: 00 09 nop
10c0: 00 09 nop
\.\.\.
 
000010c4 <diversion>:
10c4: e1 0f mov #15,r1
10c6: 00 09 nop
10c8: 00 09 nop
10ca: 00 09 nop
10cc: 00 09 nop
10ce: 00 09 nop
10d0: 00 09 nop
10d2: 00 09 nop
10d4: 00 09 nop
10d6: 00 09 nop
10d8: 00 09 nop
10da: e1 0e mov #14,r1
 
/shcmp-1.s
0,0 → 1,15
! A single SHcompact file, that should link correctly.
.text
.global start
start:
mova next,r0
nop
next:
nop
mov #42,r10
 
.section .rodata
.long start
here:
.long here
.long next
/shdl32.xd
0,0 → 1,123
.*: file format .*-sh64
.*
architecture: sh5, flags 0x0+112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0+1001
 
Program Header:
LOAD off 0x0+100 vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*7
filesz 0x0+348 memsz 0x0+348 flags r-x
LOAD off 0x0+448 vaddr 0x0+13c8 paddr 0x0+13c8 align 2\*\*7
filesz 0x0+194 memsz 0x0+194 flags rw-
LOAD off 0x0+600 vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*7
filesz 0x00000004 memsz 0x00000004 flags rw-
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 0+204 0+1000 0+1000 0+100 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 0+144 0+1204 0+1204 0+304 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 \.data 0+194 0+13c8 0+13c8 0+448 2\*\*2
CONTENTS, ALLOC, LOAD, DATA
3 \.stack 0+4 0+80000 0+80000 0+600 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0+1000 l d \.text 0+ (|\.text)
0+1204 l d \.rodata 0+ (|\.rodata)
0+13c8 l d \.data 0+ (|\.data)
0+80000 l d \.stack 0+ (|\.stack)
0+1150 l \.text 0+ 0x04 part2
0+13f8 g \.data 0+ dfoo_otherboth2
0+1178 g \.text 0+ 0x04 bar_otherwithout
0+11b4 g \.text 0+ 0x04 bazwithout
0+1428 g \.data 0+ dfoo_mixwithout
0+1554 g \.data 0+ dbaz_mixwithout2
0+11bc g \.text 0+ 0x04 baz_other
0+11cc g \.text 0+ 0x04 baz_mix
0+11c0 g \.text 0+ 0x04 baz_otherboth
0+13e8 g \.data 0+ dfoowithout
0+14b4 g \.data 0+ dbar
0+106c g \.text 0+ 0x04 foo_mixwithout2
0+11a8 g \.text 0+ 0x04 bazboth2
0+13fc g \.data 0+ dfoo_otherwithout
0+11c4 g \.text 0+ 0x04 baz_otherboth2
0+1174 g \.text 0+ 0x04 bar_otherboth2
0+1194 g \.text 0+ 0x04 baz
0+13c8 g \.data 0+ dfoo
0+14e8 g \.data 0+ dbar_mixwithout2
0+13dc g \.data 0+ dfooboth2
0+1408 g \.data 0+ dfoo_mix2
0+154c g \.data 0+ dbaz_mixwithout
0+1044 g \.text 0+ 0x04 foo_mix2
0+1018 g \.text 0+ 0x04 fooboth2
0+14cc g \.data 0+ dbar_otherboth2
0+117c g \.text 0+ 0x04 bar_mix
0+14d0 g \.data 0+ dbar_otherwithout
0+11dc g \.text 0+ 0x04 baz_mixboth
0+14c8 g \.data 0+ dbar_otherboth
0+150c g \.data 0+ dbazwithout
0+152c g \.data 0+ dbaz_mix2
0+1184 g \.text 0+ 0x04 bar_mixboth
0+13f4 g \.data 0+ dfoo_otherboth
0+14dc g \.data 0+ dbar_mixboth
0+1024 g \.text 0+ 0x04 foowithout
0+14e4 g \.data 0+ dbar_mixwithout
0+11fc g \.text 0+ 0x04 baz_mixwithout2
0+1030 g \.text 0+ 0x04 foo_otherboth
0+1540 g \.data 0+ dbaz_mixboth2
0+104c g \.text 0+ 0x04 foo_mixboth
0+1534 g \.data 0+ dbaz_mixboth
0+103c g \.text 0+ 0x04 foo_mix
0+1518 g \.data 0+ dbaz_otherboth
0+14e0 g \.data 0+ dbar_mixboth2
0+14ec g \.data 0+ dbaz
0+1524 g \.data 0+ dbaz_mix
0+13c8 g .* 0+ ___dtors
0+141c g \.data 0+ dfoo_mixboth2
0+119c g \.text 0+ 0x04 bazboth
0+13f0 g \.data 0+ dfoo_other
0+11e8 g \.text 0+ 0x04 baz_mixboth2
0+1514 g \.data 0+ dbaz_other
0+1164 g \.text 0+ 0x04 barboth2
0+1168 g \.text 0+ 0x04 barwithout
0+14d8 g \.data 0+ dbar_mix2
0+1560 g \*ABS\* 0+ __bss_start
0+1410 g \.data 0+ dfoo_mixboth
0+14c4 g \.data 0+ dbar_other
0+1180 g \.text 0+ 0x04 bar_mix2
0+14f4 g \.data 0+ dbazboth
0+1038 g \.text 0+ 0x04 foo_otherwithout
0+1190 g \.text 0+ 0x04 bar_mixwithout2
0+13c8 g .* 0+ ___ctors_end
0+1064 g \.text 0+ 0x04 foo_mixwithout
0+116c g \.text 0+ 0x04 bar_other
0+13d0 g \.data 0+ dfooboth
0+1034 g \.text 0+ 0x04 foo_otherboth2
0+1400 g \.data 0+ dfoo_mix
0+13c8 g .* 0+ ___ctors
0+14d4 g \.data 0+ dbar_mix
0+100c g \.text 0+ 0x04 fooboth
0+1170 g \.text 0+ 0x04 bar_otherboth
0+14c0 g \.data 0+ dbarwithout
0+1004 g \.text 0+ 0x04 foo
0+102c g \.text 0+ 0x04 foo_other
0+1560 g \*ABS\* 0+ _edata
0+1560 g \*ABS\* 0+ _end
0+1430 g \.data 0+ dfoo_mixwithout2
0+1058 g \.text 0+ 0x04 foo_mixboth2
0+11d4 g \.text 0+ 0x04 baz_mix2
0+11c8 g \.text 0+ 0x04 baz_otherwithout
0+1000 g \.text 0+ 0x04 start
0+14bc g \.data 0+ dbarboth2
0+118c g \.text 0+ 0x04 bar_mixwithout
0+115c g \.text 0+ 0x04 bar
0+80000 g \.stack 0+ _stack
0+1520 g \.data 0+ dbaz_otherwithout
0+11f4 g \.text 0+ 0x04 baz_mixwithout
0+1160 g \.text 0+ 0x04 barboth
0+14b8 g \.data 0+ dbarboth
0+1188 g \.text 0+ 0x04 bar_mixboth2
0+13c8 g .* 0+ ___dtors_end
0+151c g \.data 0+ dbaz_otherboth2
0+1500 g \.data 0+ dbazboth2
/abi32.xd
0,0 → 1,45
 
.*: file format .*-sh64
.*
architecture: sh5, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0+1011
 
Program Header:
LOAD off 0x0+100 vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*7
filesz 0x0+64 memsz 0x0+64 flags r-x
LOAD off 0x0+168 vaddr 0x0+10e8 paddr 0x0+10e8 align 2\*\*7
filesz 0x0+18 memsz 0x0+18 flags rw-
LOAD off 0x0+180 vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*7
filesz 0x0+4 memsz 0x0+4 flags rw-
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 00000064 0+1000 0+1000 00000100 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.data 00000018 0+10e8 0+10e8 00000168 2\*\*2
CONTENTS, ALLOC, LOAD, DATA
2 \.stack 00000004 0+80000 0+80000 00000180 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0+1000 l d \.text 0+ (|\.text)
0+10e8 l d \.data 0+ (|\.data)
0+80000 l d \.stack 0+ (|\.stack)
0+10f4 l \.data 0+ foobar
0+10fc l \.data 0+ foobar2
0+1060 l \.text 0+ 0x04 plugh
0+10f8 g \.data 0+ foobar
0+10e8 g \.data 0+ baz
0+10e8 g .* 0+ ___dtors
0+105c g \.text 0+ 0x04 xyzzy
0+1100 g \*ABS\* 0+ __bss_start
0+10e8 g .* 0+ ___ctors_end
0+10f0 g \.data 0+ baz2
0+10e8 g .* 0+ ___ctors
0+1000 g \.text 0+ 0x04 foo
0+1100 g \*ABS\* 0+ _edata
0+1100 g \*ABS\* 0+ _end
0+1010 g \.text 0+ 0x04 start
0+100c g \.text 0+ 0x04 bar
0+80000 g \.stack 0+ _stack
0+10e8 g .* 0+ ___dtors_end
/gotplt.s
0,0 → 1,8
.text
.global xxx
xxx:
ptabs r18, tr0
blink tr0, r63
.global yyy
yyy:
movi ((xxx@GOTPLT) & 65535), r1
/mix1-noexp.sd
0,0 → 1,14
 
.*: file format .*-sh64
 
Contents of section \.text:
1000 8902c700 00090009 00090009 0000100c .*
1010 00001004 00001021 effff240 efffea50 .*
1020 cc401360 cc4086d0 ebfffa70 6ff0fff0 .*
Contents of section \.data:
10b0 000010b0 00001004 00001021 .*
Contents of section \.stack:
80000 deaddead .*
Contents of section \.cranges:
0000 00001000 00000018 00020000 10180000 .*
0010 00180003 .*
/endian.sld
0,0 → 1,6
 
.*: file format elf64-sh64l
 
Contents of section .text:
0000 00d048cc 78563412 34120000 78563412.*
 
/crange1.rd
0,0 → 1,46
.*
 
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+\[ 1\] \.init +PROGBITS +00001000 000080 000004 00 AXp +0 +0 +4
+\[ 2\] \.text +PROGBITS +00001004 000084 000018 00 AXp +0 +0 +4
+\[ 3\] \.stack +PROGBITS +00080000 000100 000004 00 +WA +0 +0 +1
+\[ 4\] \.cranges +LOUSER\+1 +00000000 000104 00001e 00 +W +0 +0 +1
+\[ 5\] \.shstrtab +STRTAB +.*
+\[ 6\] \.symtab +SYMTAB +.*
+\[ 7\] \.strtab +STRTAB +.*
Key to Flags:
#...
 
There are no relocations in this file\.
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
.*: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
.*: 00001000 +0 +SECTION +LOCAL +DEFAULT +1
.*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2
.*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3
.*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
.*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
.*: 00001004 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
.*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start
.*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end
 
Hex dump of section '\.init':
0x00001000 6ff0fff0 .*
 
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
0x00001014 0000002b 00090009 .*
 
Hex dump of section '\.cranges':
0x00000000 00001004 0000000c 00030000 10100000 .*
0x00000010 00080001 00001018 00000004 0002 .*
/shmix-1.s
0,0 → 1,33
! Check mixed-mode objects; different sections holding different ISA:s.
.mode SHcompact
.text
.global start
start:
bt forw
mova start2,r0
start2:
nop
nop
forw:
nop
.align 2
.long $
.long start2
.long mediacode2
 
.data
.long $
.long start2
.long mediacode2
 
.section .text.media,"ax"
.mode SHmedia
.align 2
mediacode:
ptb forw,tr4
pt start2,tr5
mediacode2:
movi start2,r54
movi mediacode2,r45
pta mediacode2,tr7
nop
/shmix-3.s
0,0 → 1,32
! A SHcompact object, that we will link to a SHmedia object.
! We will be using .text for the SHmedia code and .text.compact for the
! SHcompact code, so we don't get two ISA in the same section.
.section .text.compact,"ax"
.mode SHcompact
.global compactlabel1
.global compactlabel2
.global compactlabel3
.global compactlabel4
.global compactlabel5
locallabel:
nop
compactlabel1:
mova compactlabel2,r0
compactlabel2:
mova compactlabel3,r0
nop
compactlabel3:
nop
.align 2
.long medialabel1
.long medialabel4
 
.section .rodata
.long medialabel2
compactlabel4:
.long medialabel3
 
.data
.long 0
compactlabel5:
.long medialabel4
/shdl-2.s
0,0 → 1,286
! Part two of test for inter-file DataLabel support.
 
.mode SHmedia
.text
part2:
movi (datalabel foowithout + 16) & 65535, r24
 
.section .rodata
.long datalabel foo_otherwithout + 32
 
.text
movi (datalabel foo_mixwithout + 1024) & 65535, r24
.section .rodata
.long datalabel foo_mixwithout + 32
 
.text
movi (datalabel foo_mixwithout2 + 1024) & 65535, r24
.section .rodata
.long foo_mixwithout2 + 32
 
.text
.global bar
bar:
nop
 
.global barboth
barboth:
nop
 
.global barboth2
barboth2:
nop
 
.global barwithout
barwithout:
nop
 
.global bar_other
bar_other:
nop
.global bar_otherboth
bar_otherboth:
nop
.global bar_otherboth2
bar_otherboth2:
nop
.global bar_otherwithout
bar_otherwithout:
nop
 
.text
 
.global bar_mix
bar_mix:
nop
.global bar_mix2
bar_mix2:
nop
.global bar_mixboth
bar_mixboth:
nop
.global bar_mixboth2
bar_mixboth2:
nop
.global bar_mixwithout
bar_mixwithout:
nop
.global bar_mixwithout2
bar_mixwithout2:
nop
 
! Almost-copy of "foo" in primary file.
 
.global baz
baz:
nop
movi (datalabel baz + 8) & 65535,r30
 
.global bazboth
bazboth:
nop
movi (datalabel bazboth + 16) & 65535,r40
movi (bazboth + 12) & 65535,r40
 
.global bazboth2
bazboth2:
nop
movi (bazboth2 + 12) & 65535,r40
movi (datalabel bazboth2 + 16) & 65535,r40
 
.global bazwithout
bazwithout:
nop
movi (datalabel bazwithout + 24) & 65535,r30
 
.global baz_other
baz_other:
nop
.global baz_otherboth
baz_otherboth:
nop
.global baz_otherboth2
baz_otherboth2:
nop
.global baz_otherwithout
baz_otherwithout:
nop
 
.section .rodata
.long datalabel baz_other + 4
.long datalabel baz_otherboth + 40
.long baz_otherboth + 24
.long baz_otherboth2 + 24
.long datalabel baz_otherboth2 + 40
.long baz_otherwithout
 
.text
 
.global baz_mix
baz_mix:
nop
movi (datalabel baz_mix + 8) & 65535,r30
.global baz_mix2
baz_mix2:
nop
movi (baz_mix2 + 8) & 65535,r30
.global baz_mixboth
baz_mixboth:
nop
movi (datalabel baz_mixboth + 80) & 65535,r30
movi (baz_mixboth + 80) & 65535,r30
.global baz_mixboth2
baz_mixboth2:
nop
movi (baz_mixboth2 + 64) & 65535,r30
movi (datalabel baz_mixboth2 + 64) & 65535,r30
.global baz_mixwithout
baz_mixwithout:
nop
movi (baz_mixwithout + 42) & 65535,r30
.global baz_mixwithout2
baz_mixwithout2:
nop
movi (baz_mixwithout2 + 24) & 65535,r30
 
.section .rodata
.long baz_mix + 4
.long datalabel baz_mix2 + 48
.long datalabel baz_mixboth + 400
.long baz_mixboth + 420
.long baz_mixboth2 + 248
.long datalabel baz_mixboth2 + 240
.long baz_mixwithout
 
.data
.long datalabel dfoowithout + 44
.long datalabel dfoo_mixwithout + 48
.long datalabel dfoo_mixwithout2 + 84
 
.global dbar
dbar:
.long 0
.global dbarboth
dbarboth:
.long 0
.global dbarboth2
dbarboth2:
.long 0
.global dbarwithout
dbarwithout:
.long 0
.global dbar_other
dbar_other:
.long 0
.global dbar_otherboth
dbar_otherboth:
.long 0
.global dbar_otherboth2
dbar_otherboth2:
.long 0
.global dbar_otherwithout
dbar_otherwithout:
.long 0
 
.global dbar_mix
dbar_mix:
.long 0
.global dbar_mix2
dbar_mix2:
.long 0
.global dbar_mixboth
dbar_mixboth:
.long 0
.global dbar_mixboth2
dbar_mixboth2:
.long 0
.global dbar_mixwithout
dbar_mixwithout:
.long 0
.global dbar_mixwithout2
dbar_mixwithout2:
.long 0
 
! Almost-copy of "dfoo" in primary file.
 
.data
.global dbaz
dbaz:
.long 0
.long (datalabel dbaz + 8)
 
.global dbazboth
dbazboth:
.long 0
.long (datalabel dbazboth + 16)
.long (dbazboth + 12)
 
.global dbazboth2
dbazboth2:
.long 0
.long (dbazboth2 + 12)
.long (datalabel dbazboth2 + 16)
 
.global dbazwithout
dbazwithout:
.long 0
.long (dbazwithout + 24)
 
.global dbaz_other
dbaz_other:
.long 0
.global dbaz_otherboth
dbaz_otherboth:
.long 0
.global dbaz_otherboth2
dbaz_otherboth2:
.long 0
.global dbaz_otherwithout
dbaz_otherwithout:
.long 0
 
.section .rodata
.long datalabel dbaz_other + 4
.long datalabel dbaz_otherboth + 40
.long dbaz_otherboth + 24
.long dbaz_otherboth2 + 24
.long datalabel dbaz_otherboth2 + 40
.long dbaz_otherwithout
 
.data
 
.global dbaz_mix
dbaz_mix:
.long 0
.long (datalabel dbaz_mix + 8)
.global dbaz_mix2
dbaz_mix2:
.long 0
.long (dbaz_mix2 + 8)
.global dbaz_mixboth
dbaz_mixboth:
.long 0
.long (datalabel dbaz_mixboth + 80)
.long (dbaz_mixboth + 80)
.global dbaz_mixboth2
dbaz_mixboth2:
.long 0
.long (dbaz_mixboth2 + 64)
.long (datalabel dbaz_mixboth2 + 64)
.global dbaz_mixwithout
dbaz_mixwithout:
.long 0
.long (dbaz_mixwithout + 42)
.global dbaz_mixwithout2
dbaz_mixwithout2:
.long 0
.long (dbaz_mixwithout2 + 24)
 
.section .rodata
.long dbaz_mix + 4
.long datalabel dbaz_mix2 + 48
.long datalabel dbaz_mixboth + 400
.long dbaz_mixboth + 420
.long dbaz_mixboth2 + 248
.long datalabel dbaz_mixboth2 + 240
.long dbaz_mixwithout
/relax1.s
0,0 → 1,12
.globl start
start:
.L3:
mov.l .L4,r1
.uses .L3
jsr @r1
nop
nop
.L4:
.long .L5
.L5:
nop
/crange-1.s
0,0 → 1,8
! Support file for .cranges tests to resolve all references for
! non-partial-link tests.
.section .init,"ax"
.mode SHmedia
.global start
.align 2
start:
nop
/relax3.s
0,0 → 1,8
.text
.mode shmedia
foo1:
nop
 
.mode shcompact
foo2:
nop
/rel32.xd
0,0 → 1,92
 
.*: file format .*-sh64
.*
architecture: sh5, flags 0x0+11:
HAS_RELOC, HAS_SYMS
start address 0x0+
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 0+40 0+ 0+ 0+34 2\*\*0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 \.data 0+40 0+ 0+ 0+74 2\*\*2
CONTENTS, ALLOC, LOAD, RELOC, DATA
2 \.bss 0+ 0+ 0+ 0+b4 2\*\*0
ALLOC
3 \.stack 0+4 0+ 0+ 0+b4 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0+ l d \.text 0+ (|.text)
0+ l d \.data 0+ (|.data)
0+ l d \.bss 0+ (|.bss)
0+ l d \.stack 0+ (|.stack)
0+ \*UND\* 0+ unresolved5
0+c g \.text 0+ 0x04 file1text2
0+24 g \.text 0+ 0x04 file2text1
0+4 g \.data 0+ file1data1
0+34 g \.data 0+ file2data4
0+10 g \.text 0+ 0x04 file1text3
0+2c g \.data 0+ file2data2
0+c g \.data 0+ file1data2
0+30 g \.text 0+ 0x04 file2text3
0+20 g \.text 0+ 0x04 start2
0+ \*UND\* 0+ unresolved1
0+ \*UND\* 0+ unresolved6
0+4 g \.text 0+ 0x04 file1text1
0+2c g \.text 0+ 0x04 file2text2
0+ \*UND\* 0+ unresolved3
0+34 g \.text 0+ 0x04 file2text4
0+ \*UND\* 0+ unresolved2
0+ g \.text 0+ 0x04 start
0+14 g \.text 0+ 0x04 file1text4
0+30 g \.data 0+ file2data3
0+ \*UND\* 0+ unresolved4
0+24 g \.data 0+ file2data1
0+10 g \.data 0+ file1data3
0+14 g \.data 0+ file1data4
 
 
RELOCATION RECORDS FOR \[\.text\]:
OFFSET *TYPE *VALUE
0+8 R_SH_IMM_LOW16 file1text1
0+c R_SH_IMM_LOW16 file1data2
0+10 R_SH_IMM_LOW16 file2text3
0+14 R_SH_IMM_LOW16 file2data4
0+18 R_SH_IMM_LOW16 unresolved1
0+1c R_SH_IMM_LOW16 unresolved6
0+28 R_SH_IMM_LOW16 file2text1
0+2c R_SH_IMM_LOW16 file2data2
0+30 R_SH_IMM_LOW16 file1text3
0+34 R_SH_IMM_LOW16 file1data4
0+38 R_SH_IMM_LOW16 unresolved1
0+3c R_SH_IMM_LOW16 unresolved3
 
 
RELOCATION RECORDS FOR \[\.data\]:
OFFSET *TYPE *VALUE
0+8 R_SH_DIR32 file1data1
0+c R_SH_DIR32 file1text2
0+10 R_SH_DIR32 file2data3
0+14 R_SH_DIR32 file2text4
0+18 R_SH_DIR32 unresolved2
0+1c R_SH_DIR32 unresolved5
0+28 R_SH_DIR32 file2data1
0+2c R_SH_DIR32 file2text2
0+30 R_SH_DIR32 file1data3
0+34 R_SH_DIR32 file1text4
0+38 R_SH_DIR32 unresolved2
0+3c R_SH_DIR32 unresolved4
 
 
Contents of section \.text:
0000 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0010 cc000140 cc000140 cc000280 cc0001e0 .*
0020 6ff0fff0 6ff0fff0 cc0000a0 cc000140 .*
0030 cc000140 cc000140 cc0001e0 cc0001e0 .*
Contents of section \.data:
0000 00000000 00000000 00000000 00000000 .*
0010 00000000 00000000 00000000 00000000 .*
0020 00000000 00000000 00000000 00000000 .*
0030 00000000 00000000 00000000 00000000 .*
Contents of section .stack:
0000 deaddead .*
/crange-2b.s
0,0 → 1,39
! Initially three separate sections, one with SHmedia and constants, one with
! SHcompact, and yet another with SHmedia. Two .cranges sections
! generated by the assembler; two more needed at link time, as they will be
! consolidated into the same section, and mixed with a file with
! assembler-generated .cranges only and one without any .cranges.
 
.section .text.shmedia,"ax"
.mode SHmedia
.align 2
sec1:
nop
nop
nop
nop
sec2:
.long 41
.long 43
.long 42
.long 43
.long 42
 
.section .text.shcompact,"ax"
.align 1
.mode SHcompact
sec3:
nop
nop
nop
 
.section .text.shmedia2,"ax"
.align 2
sec4:
.mode SHmedia
nop
nop
nop
nop
nop
nop
/cmpct1.xd
0,0 → 1,36
 
.*: file format .*-sh64
.*
architecture: sh5, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0+1000
 
Program Header:
LOAD off 0x0+80 vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*7
filesz 0x0+14 memsz 0x0+14 flags r-x
LOAD off 0x0+100 vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*7
filesz 0x00000004 memsz 0x00000004 flags rw-
 
Sections:
Idx Name Size VMA LMA File off Algn
0 \.text 00000008 0+1000 0+1000 00000080 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 0000000c 0+1008 0+1008 00000088 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 \.stack 00000004 0+80000 0+80000 00000100 2\*\*0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
0+1000 l d \.text 0+ (|\.text)
0+1008 l d \.rodata 0+ (|\.rodata)
0+80000 l d \.stack 0+ (|\.stack)
0+1004 l \.text 0+ next
0+100c l \.rodata 0+ here
0+1098 g .* 0+ ___dtors
0+1098 g \*ABS\* 0+ __bss_start
0+1098 g .* 0+ ___ctors_end
0+1098 g .* 0+ ___ctors
0+1098 g \*ABS\* 0+ _edata
0+1098 g \*ABS\* 0+ _end
0+1000 g \.text 0+ start
0+80000 g \.stack 0+ _stack
0+1098 g .* 0+ ___dtors_end
/crange-2d.s
0,0 → 1,9
! Second part of crange-2b.s, but in section .text.mixed.
 
.section .text.mixed,"ax"
.align 1
.mode SHcompact
sec3:
nop
nop
nop
/crange-2f.s
0,0 → 1,21
! Section with SHmedia in unique section. Note the absence of a symbol to
! key an ISA type.
 
.section .text.2f,"ax"
.align 2
 
.mode SHmedia
movi 0x2f,r20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movi 0x2f,r21
/crange-2h.s
0,0 → 1,17
! SHcompact in .text, similar to crange-2f.s and crange-2g.s
.section .text,"ax"
.align 2
 
.mode SHcompact
mov #0xf,r1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov #0xe,r1
/abixx-noexp.sd
0,0 → 1,12
 
.*: file format .*-sh64
 
Contents of section \.text:
1000 e8002a30 6ff0fff0 cc400610 cc401550 .*
1010 ebfff630 cc4302b0 cc42e350 cc431040 .*
1020 e8000a50 e8000810 6ff0fff0 6ff0fff0 .*
Contents of section \.data:
10b0 000010bc 00001005 00001029 000010b0 .*
10c0 000010b0 00001005 .*
Contents of section \.stack:
80000 deaddead .*
/shdl64.sd
0,0 → 1,87
.*: file format .*-sh64
 
Contents of section \.text:
1000 6ff0fff0 6ff0fff0 cc4031e0 6ff0fff0 .*
1010 cc407280 cc406680 6ff0fff0 cc409680 .*
1020 cc40a280 6ff0fff0 cc40f5e0 6ff0fff0 .*
1030 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
1040 cc4111e0 6ff0fff0 cc4135e0 6ff0fff0 .*
1050 cc4271e0 cc4275e0 6ff0fff0 cc4265e0 .*
1060 cc4261e0 6ff0fff0 cc423de0 6ff0fff0 .*
1070 cc4215e0 6ff0fff0 cc4591e0 cc45c280 .*
1080 cc45b680 cc45c680 cc45d280 cc4605e0 .*
1090 cc4611e0 cc4625e0 cc4751e0 cc4755e0 .*
10a0 cc4725e0 cc4721e0 cc46dde0 cc46a5e0 .*
10b0 cc4671e0 cc46b280 cc46a680 cc46d680 .*
10c0 cc46e280 cc4735e0 cc4751e0 cc4775e0 .*
10d0 cc48b1e0 cc48b5e0 cc48a5e0 cc48a1e0 .*
10e0 cc487de0 cc4855e0 cc532280 cc531280 .*
10f0 cc532280 cc533280 cc5361e0 cc5371e0 .*
1100 cc5381e0 cc54b1e0 cc54b1e0 cc5481e0 .*
1110 cc5481e0 cc5439e0 cc5401e0 cc541280 .*
1120 cc540280 cc543280 cc544280 cc5491e0 .*
1130 cc54b1e0 cc54d1e0 cc5611e0 cc5611e0 .*
1140 cc5601e0 cc5601e0 cc55d9e0 cc55b1e0 .*
1150 cc40d180 cc519180 cc51b180 6ff0fff0 .*
1160 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
1170 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
1180 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
1190 6ff0fff0 6ff0fff0 cc4671e0 6ff0fff0 .*
11a0 cc46b280 cc46a680 6ff0fff0 cc46d680 .*
11b0 cc46e280 6ff0fff0 cc4731e0 6ff0fff0 .*
11c0 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
11d0 cc4751e0 6ff0fff0 cc4775e0 6ff0fff0 .*
11e0 cc48b1e0 cc48b5e0 6ff0fff0 cc48a5e0 .*
11f0 cc48a1e0 6ff0fff0 cc487de0 6ff0fff0 .*
1200 cc4855e0 .*
Contents of section \.rodata:
1204 00001030 00001058 00001049 0000104d .*
1214 0000105c 00001039 00001041 00001074 .*
1224 000011dc 000011f1 00001151 00001148 .*
1234 00001065 00001170 00001198 00001189 .*
1244 0000118d 0000119c 00001179 00001181 .*
1254 000011b0 00001314 00001329 00001281 .*
1264 00001278 0000118d 000011c0 000011e8 .*
1274 000011d9 000011dd 000011ec 000011c9 .*
1284 000011d1 00001204 0000136c 00001381 .*
1294 000012e1 000012d8 000011f5 000013f4 .*
12a4 0000141c 0000140c 00001410 00001420 .*
12b4 000013fc 00001404 00001438 000015a0 .*
12c4 000015b4 00001514 0000150c 00001428 .*
12d4 00001058 00001084 0000108d 000011c0 .*
12e4 000011e8 000011d9 000011dd 000011ec .*
12f4 000011c9 000011d1 00001204 0000136c .*
1304 00001381 000012e1 000012d8 000011f5 .*
1314 00001518 00001540 00001530 00001534 .*
1324 00001544 00001520 00001528 0000155c .*
1334 000016c4 000016d8 00001638 00001630 .*
1344 0000154c .*
Contents of section \.data:
13c8 00000000 000013d0 00000000 000013e0 .*
13d8 000013dc 00000000 000013e8 000013ec .*
13e8 00000000 00001400 00000000 00000000 .*
13f8 00000000 00000000 00000000 00001408 .*
1408 00000000 00001410 00000000 00001460 .*
1418 00001460 00000000 0000145c 0000145c .*
1428 00000000 00001452 00000000 00001448 .*
1438 000014bc 000014c8 000014f0 000014e0 .*
1448 000014e4 000014f4 000014d0 000014d8 .*
1458 00001508 0000166c 00001680 000015d8 .*
1468 000015d0 000014e4 000014f4 00001518 .*
1478 00001540 00001530 00001534 00001544 .*
1488 00001520 00001528 0000155c 000016c4 .*
1498 000016d8 00001638 00001630 0000154c .*
14a8 00001414 00001458 00001484 00000000 .*
14b8 00000000 00000000 00000000 00000000 .*
14c8 00000000 00000000 00000000 00000000 .*
14d8 00000000 00000000 00000000 00000000 .*
14e8 00000000 00000000 000014f4 00000000 .*
14f8 00001504 00001500 00000000 0000150c .*
1508 00001510 00000000 00001524 00000000 .*
1518 00000000 00000000 00000000 00000000 .*
1528 0000152c 00000000 00001534 00000000 .*
1538 00001584 00001584 00000000 00001580 .*
1548 00001580 00000000 00001576 00000000 .*
1558 0000156c .*
Contents of section \.stack:
80000 deaddead .*
/abi64.sd
0,0 → 1,20
 
.*: file format .*-sh64
 
Contents of section \.text:
1000 cc000190 c8000190 c8000190 c8025590 .*
1010 6bf56630 6ff0fff0 cc000210 c8000210 .*
1020 c8000210 c8400610 cc000150 c8000150 .*
1030 c8000150 c8405550 cffffd90 cbfffd90 .*
1040 cbfffd90 cbff3590 6bf56630 cc0002b0 .*
1050 c80002b0 c80002b0 c84502b0 cc000350 .*
1060 c8000350 c8000350 c844e350 cc000040 .*
1070 c8000040 c8000040 c8451040 cc000190 .*
1080 c8000190 c8000190 c8006590 6bf56650 .*
1090 cc000190 c8000190 c8000190 c8002590 .*
10a0 6bf56410 6ff0fff0 6ff0fff0 .*
Contents of section \.data:
1130 0000113c 00001015 000010a5 00001130 .*
1140 00001130 00001015 .*
Contents of section \.stack:
80000 deaddead .*
/mix2-noexp.sd
0,0 → 1,16
 
.*: file format .*-sh64
 
Contents of section \.text:
1000 cc4048e0 cc40c0e0 ec000e60 6ff0fff0 .*
1010 0009c700 c7000009 00090009 00001009 .*
1020 000010bc .*
Contents of section \.rodata:
1024 00001018 000010c4 0000100d 00001028 .*
Contents of section \.data:
10b8 00000000 00001014 00000000 000010bc .*
Contents of section \.stack:
80000 deaddead .*
Contents of section \.cranges:
0000 00001000 00000010 00030000 10100000 .*
0010 00140002 .*
/stobin-1.d
0,0 → 1,15
#source: stobin.s
#as: --abi=32 --isa=SHmedia
#ld: -mshelf32 tmpdir/stobin-0-dso.so
#objdump: -drj.text
#target: sh64-*-elf
 
.*: +file format elf32-sh64.*
 
Disassembly of section \.text:
 
0+[0-9a-f]+ <start>:
[0-9a-f]+: cffffd90 movi -1,r25
[0-9a-f]+: cbfee590 shori 65465,r25 ! 0xffffffb9 .*
[0-9a-f]+: 6bf56600 ptrel/l r25,tr0
[0-9a-f]+: 4401fff0 blink tr0,r63

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.