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

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/gnu-src/binutils-2.18.50/ld/testsuite/ld-ia64
    from Rev 38 to Rev 156
    Reverse comparison

Rev 38 → Rev 156

/tlspic1.s
0,0 → 1,114
/* Force .data aligned to 4K, so .got very likely gets at 0x13190
(0x60 bytes .tdata and 0x130 bytes .dynamic) */
.data
.balign 4096
.section ".tdata", "awT", @progbits
.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
sg1: .long 17
sg2: .long 18
sg3: .long 19
sg4: .long 20
sg5: .long 21
sg6: .long 22
sg7: .long 23
sg8: .long 24
sl1: .long 65
sl2: .long 66
sl3: .long 67
sl4: .long 68
sl5: .long 69
sl6: .long 70
sl7: .long 71
sl8: .long 72
sh1: .long 257
sh2: .long 258
sh3: .long 259
sh4: .long 260
sh5: .long 261
sh6: .long 262
sh7: .long 263
sh8: .long 264
.explicit
.pred.safe_across_calls p1-p5,p16-p63
/* Force .text aligned to 4K, so it very likely gets at 0x1000. */
.text
.balign 4096
.globl fn1#
.proc fn1#
fn1:
.prologue 12, 33
.mib
.save ar.pfs, r34
alloc r34 = ar.pfs, 0, 3, 2, 0
.save rp, r33
mov r33 = b0
 
/* GD */
addl r14 = @ltoff(@dtpmod(sg1#)), gp
addl r15 = @ltoff(@dtprel(sg1#)), gp
;;
ld8 out0 = [r14]
ld8 out1 = [r15]
br.call.sptk.many b0 = __tls_get_addr#
;;
 
/* GD against hidden symbol */
addl r14 = @ltoff(@dtpmod(sh2#)), gp
addl r15 = @ltoff(@dtprel(sh2#)), gp
;;
ld8 out0 = [r14]
ld8 out1 = [r15]
br.call.sptk.many b0 = __tls_get_addr#
;;
 
/* LD */
addl r14 = @ltoff(@dtpmod(sl1#)), gp
addl out1 = @dtprel(sl1#) + 1, r0
;;
ld8 out0 = [r14]
br.call.sptk.many b0 = __tls_get_addr#
;;
 
/* LD with 4 variables variables */
addl r14 = @ltoff(@dtpmod(sh1#)), gp
mov out1 = r0
;;
ld8 out0 = [r14]
br.call.sptk.many b0 = __tls_get_addr#
;;
mov r2 = r8
;;
addl r14 = @dtprel(sh1#), r2
addl r15 = @dtprel(sH1#) + 2, r2
;;
adds r14 = @dtprel(sh5#) + 3, r8
movl r15 = @dtprel(sH5#) + 1
;;
add r15 = r15, r8
;;
 
/* IE against global */
addl r14 = @ltoff(@tprel(sg2#)), gp
;;
ld8 r15 = [r14]
;;
add r14 = r15, r13
;;
 
/* IE against local and hidden */
addl r14 = @ltoff(@tprel(sl2#)), gp
addl r15 = @ltoff(@tprel(sh2#)), gp
;;
ld8 r14 = [r14]
ld8 r15 = [r15]
;;
add r14 = r14, r13
add r15 = r15, r13
;;
 
mov ar.pfs = r34
mov b0 = r33
br.ret.sptk.many b0
.endp fn1#
/merge1.s
0,0 → 1,12
.section .rodata.str1.8,"aMS", 1
.LC1: .string "foo"
.LC2: .string "foo"
.section .data.rel.local,"aw"
.quad .LC2
.section .rodata,"a"
.LC3: .string "bar"
.balign 8
.space 0x400000
.text
addl r12=@ltoffx(.LC1),r1 ;;
addl r12=@ltoffx(.LC3),r1 ;;
/tlspic2.s
0,0 → 1,11
.section ".tbss", "awT", @nobits
.globl sH1, sH2, sH3, sH4, sH5, sH6, sH7, sH8
.hidden sH1, sH2, sH3, sH4, sH5, sH6, sH7, sH8
sH1: .space 4
sH2: .space 4
sH3: .space 4
sH4: .space 4
sH5: .space 4
sH6: .space 4
sH7: .space 4
sH8: .space 4
/tlsbin.dd
0,0 → 1,74
#source: tlsbinpic.s
#source: tlsbin.s
#as:
#ld: -shared
#objdump: -drj.text
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Disassembly of section .text:
 
40+1000 <fn2>:
40+1000: 10 10 15 06 80 05[ ]+\[MIB\][ ]+alloc r34=ar.pfs,5,3,0
40+1006: 10 02 00 62 00 00[ ]+mov r33=b0
40+100c: 00 00 00 20[ ]+nop.b 0x0
40+1010: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1016: 00 00 00 02 00 e0[ ]+nop.f 0x0
40+101c: .1 0. 00 90[ ]+addl r15=(24|32|40|48|56|64),r1;;
40+1020: 19 18 01 1c 18 10[ ]+\[MMB\][ ]+ld8 r35=\[r14\]
40+1026: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
40+102c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
40+1030: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1036: 00 00 00 02 00 e0[ ]+nop.f 0x0
40+103c: .1 0. 00 90[ ]+addl r15=(24|32|40|48|56|64),r1;;
40+1040: 19 18 01 1c 18 10[ ]+\[MMB\][ ]+ld8 r35=\[r14\]
40+1046: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
40+104c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
40+1050: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1056: 00 00 00 02 00 80[ ]+nop.f 0x0
40+105c: 14 02 00 90[ ]+mov r36=33;;
40+1060: 1d 18 01 1c 18 10[ ]+\[MFB\][ ]+ld8 r35=\[r14\]
40+1066: 00 00 00 02 00 00[ ]+nop.f 0x0
40+106c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
40+1070: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1076: 00 00 00 02 00 80[ ]+nop.f 0x0
40+107c: 04 00 00 84[ ]+mov r36=r0;;
40+1080: 1d 18 01 1c 18 10[ ]+\[MFB\][ ]+ld8 r35=\[r14\]
40+1086: 00 00 00 02 00 00[ ]+nop.f 0x0
40+108c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
40+1090: 0b 10 00 10 00 21[ ]+\[MMI\][ ]+mov r2=r8;;
40+1096: e0 00 0a 00 48 e0[ ]+addl r14=64,r2
40+109c: 61 14 00 90[ ]+addl r15=70,r2;;
40+10a0: 05 70 2c 11 00 21[ ]+\[MLX\][ ]+adds r14=75,r8
40+10a6: 00 00 00 00 00 e0[ ]+movl r15=0x4d;;
40+10ac: d1 04 00 60
40+10b0: 0a 78 3c 10 00 20[ ]+\[MMI\][ ]+add r15=r15,r8;;
40+10b6: 00 00 00 02 00 00[ ]+nop.m 0x0
40+10bc: 20 02 aa 00[ ]+mov.i ar.pfs=r34
40+10c0: 11 00 00 00 01 00[ ]+\[MIB\][ ]+nop.m 0x0
40+10c6: 00 08 05 80 03 80[ ]+mov b0=r33
40+10cc: 08 00 84 00[ ]+br.ret.sptk.many b0;;
 
40+10d0 <_start>:
40+10d0: 0b 70 .0 0. 00 24[ ]+\[MMI\][ ]+addl r14=(24|32|40|48|56|64),r1;;
40+10d6: e0 00 38 30 20 00[ ]+ld8 r14=\[r14\]
40+10dc: 00 00 04 00[ ]+nop.i 0x0;;
40+10e0: 0b 70 38 1a 00 20[ ]+\[MMI\][ ]+add r14=r14,r13;;
40+10e6: e0 .0 0. 00 48 00[ ]+addl r14=(24|32|40|48|56|64),r1
40+10ec: 00 00 04 00[ ]+nop.i 0x0;;
40+10f0: 0b 70 00 1c 18 10[ ]+\[MMI\][ ]+ld8 r14=\[r14\];;
40+10f6: e0 70 34 00 40 00[ ]+add r14=r14,r13
40+10fc: 00 00 04 00[ ]+nop.i 0x0;;
40+1100: 0b 10 00 1a 00 21[ ]+\[MMI\][ ]+mov r2=r13;;
40+1106: e0 80 08 00 48 e0[ ]+addl r14=16,r2
40+110c: 61 11 04 90[ ]+addl r15=150,r2;;
40+1110: 05 70 5c 1b 00 21[ ]+\[MLX\][ ]+adds r14=87,r13
40+1116: 00 00 00 00 00 e0[ ]+movl r15=0x95;;
40+111c: 51 01 04 60
40+1120: 0a 78 3c 1a 00 20[ ]+\[MMI\][ ]+add r15=r15,r13;;
40+1126: 00 00 00 02 00 00[ ]+nop.m 0x0
40+112c: 00 00 04 00[ ]+nop.i 0x0
40+1130: 1d 00 00 00 01 00[ ]+\[MFB\][ ]+nop.m 0x0
40+1136: 00 00 00 02 00 80[ ]+nop.f 0x0
40+113c: 08 00 84 00[ ]+br.ret.sptk.many b0;;
/line.exp
0,0 → 1,57
# Test that the linker reports undefined symbol line number correctly.
#
# Copyright 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.
 
if { !([istarget "ia64-*-elf*"]
|| [istarget "ia64-*-linux*"]) } {
return
}
 
set testline "undefined line"
 
if ![ld_assemble $as "-x $srcdir/$subdir/undefined.s" tmpdir/undefined.o] {
verbose "Unable to assemble test file!" 1
unresolved $testline
return
}
 
remote_file host delete "tmpdir/undefined"
 
# Using -e start prevents the SunOS linker from trying to build a
# shared library.
send_log "$ld -e start -o tmpdir/undefined tmpdir/undefined.o\n"
set exec_output [run_host_cmd "$ld" "-e start -o tmpdir/undefined tmpdir/undefined.o"]
 
send_log "$exec_output\n"
verbose "$exec_output"
 
proc checkund { string testname } {
global exec_output
 
if [string match "*$string*" $exec_output] {
pass $testname
} else {
fail $testname
}
}
 
set ml "undefined.c:9: undefined reference to `*this_function_is_not_defined'"
 
checkund $ml $testline
/merge2.s
0,0 → 1,12
.section .rodata.str1.8,"aMS", 1
.LC2: .string "foo"
.LC1: .string "foo"
.section .data.rel.local,"aw"
.quad .LC2
.section .rodata,"a"
.LC3: .string "bar"
.balign 8
.space 0x400000
.text
addl r12=@ltoffx(.LC1),r1 ;;
addl r12=@ltoffx(.LC3),r1 ;;
/merge3.s
0,0 → 1,16
.section .rodata.str1.8,"aMS", 1
.LC1: .string "foo"
.LC2: .string "foo"
.LC3: .string "bar"
.LC4: .string "bar"
.section .data.rel.local,"aw"
.quad .LC2
.quad .LC3
.section .rodata,"a"
.LC5: .string "mumble"
.balign 8
.space 0x400000
.text
addl r12=@ltoffx(.LC1),r1 ;;
addl r12=@ltoffx(.LC4),r1 ;;
addl r12=@ltoffx(.LC5),r1 ;;
/merge4.s
0,0 → 1,21
.section .rodata.str1.8,"aMS", 1
.LC1: .string "foo"
.LC2: .string "foo"
.LC3: .string "bar"
.LC4: .string "bar"
.LC5: .string "baz"
.LC6: .string "baz"
.section .data.rel.local,"aw"
.quad .LC2
.quad .LC4
.quad .LC5
.section .rodata,"a"
.LC7: .string "mumble"
.balign 8
.space 0x400000
.text
addl r12=@ltoffx(.LC1),r1 ;;
addl r12=@ltoffx(.LC3),r1 ;;
addl r12=@ltoffx(.LC6),r1 ;;
addl r12=@ltoffx(.LC7),r1 ;;
 
/tlspic.dd
0,0 → 1,64
#source: tlspic1.s
#source: tlspic2.s
#as:
#ld:
#objdump: -drj.text
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Disassembly of section .text:
 
0+1000 <fn1>:
+1000: 10 10 15 06 80 05[ ]+\[MIB\] +alloc r34=ar.pfs,5,3,0
+1006: 10 02 00 62 00 00[ ]+mov r33=b0
+100c: 00 00 00 20[ ]+nop.b 0x0
+1010: 0d 70 60 02 00 24[ ]+\[MFI\] +addl r14=24,r1
+1016: 00 00 00 02 00 e0[ ]+nop.f 0x0
+101c: 01 0a 00 90[ ]+addl r15=32,r1;;
+1020: 19 18 01 1c 18 10[ ]+\[MMB\] +ld8 r35=\[r14\]
+1026: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
+102c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+1030: 0d 70 c0 02 00 24[ ]+\[MFI\] +addl r14=48,r1
+1036: 00 00 00 02 00 e0[ ]+nop.f 0x0
+103c: 01 0c 00 90[ ]+addl r15=64,r1;;
+1040: 19 18 01 1c 18 10[ ]+\[MMB\] +ld8 r35=\[r14\]
+1046: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
+104c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+1050: 0d 70 c0 02 00 24[ ]+\[MFI\] +addl r14=48,r1
+1056: 00 00 00 02 00 80[ ]+nop.f 0x0
+105c: 14 02 00 90[ ]+mov r36=33;;
+1060: 1d 18 01 1c 18 10[ ]+\[MFB\] +ld8 r35=\[r14\]
+1066: 00 00 00 02 00 00[ ]+nop.f 0x0
+106c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+1070: 0d 70 c0 02 00 24[ ]+\[MFI\] +addl r14=48,r1
+1076: 00 00 00 02 00 80[ ]+nop.f 0x0
+107c: 04 00 00 84[ ]+mov r36=r0;;
+1080: 1d 18 01 1c 18 10[ ]+\[MFB\] +ld8 r35=\[r14\]
+1086: 00 00 00 02 00 00[ ]+nop.f 0x0
+108c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+1090: 0b 10 00 10 00 21[ ]+\[MMI\] +mov r2=r8;;
+1096: e0 00 0a 00 48 e0[ ]+addl r14=64,r2
+109c: 21 16 00 90[ ]+addl r15=98,r2;;
+10a0: 05 70 4c 11 00 21[ ]+\[MLX\] +adds r14=83,r8
+10a6: 00 00 00 00 00 e0[ ]+movl r15=0x71;;
+10ac: 11 07 00 60
+10b0: 0b 78 3c 10 00 20[ ]+\[MMI\] +add r15=r15,r8;;
+10b6: e0 40 05 00 48 00[ ]+addl r14=40,r1
+10bc: 00 00 04 00[ ]+nop.i 0x0;;
+10c0: 0b 78 00 1c 18 10[ ]+\[MMI\] +ld8 r15=\[r14\];;
+10c6: e0 78 34 00 40 00[ ]+add r14=r15,r13
+10cc: 00 00 04 00[ ]+nop.i 0x0;;
+10d0: 0d 70 20 03 00 24[ ]+\[MFI\] +addl r14=72,r1
+10d6: 00 00 00 02 00 e0[ ]+nop.f 0x0
+10dc: 81 0b 00 90[ ]+addl r15=56,r1;;
+10e0: 09 70 00 1c 18 10[ ]+\[MMI\] +ld8 r14=\[r14\]
+10e6: f0 00 3c 30 20 00[ ]+ld8 r15=\[r15\]
+10ec: 00 00 04 00[ ]+nop.i 0x0;;
+10f0: 02 70 38 1a 00 20[ ]+\[MII\] +add r14=r14,r13
+10f6: f0 78 34 00 40 00[ ]+add r15=r15,r13;;
+10fc: 20 02 aa 00[ ]+mov.i ar.pfs=r34
+1100: 11 00 00 00 01 00[ ]+\[MIB\] +nop.m 0x0
+1106: 00 08 05 80 03 80[ ]+mov b0=r33
+110c: 08 00 84 00[ ]+br.ret.sptk.many b0;;
#pass
/merge5.s
0,0 → 1,24
.section .rodata.str1.8,"aMS", 1
.LC1: .string "foo"
.LC2: .string "foo"
.LC3: .string "bar"
.LC4: .string "bar"
.LC5: .string "bar"
.LC6: .string "bar"
.LC7: .string "baz"
.LC8: .string "baz"
.section .data.rel.local,"aw"
.quad .LC2
.quad .LC4
.quad .LC6
.quad .LC7
.section .rodata,"a"
.LC9: .string "mumble"
.balign 8
.space 0x400000
.text
addl r12=@ltoffx(.LC1),r1 ;;
addl r12=@ltoffx(.LC3),r1 ;;
addl r12=@ltoffx(.LC5),r1 ;;
addl r12=@ltoffx(.LC8),r1 ;;
addl r12=@ltoffx(.LC9),r1 ;;
/tlsbinpic.s
0,0 → 1,97
/* Force .data aligned to 4K, so that .got very likely gets at
0x60000000000031b0 (0x60 bytes .tdata and 0x150 bytes
.dynamic). */
.data
.balign 4096
.section ".tdata", "awT", @progbits
.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
sg1: .long 17
sg2: .long 18
sg3: .long 19
sg4: .long 20
sg5: .long 21
sg6: .long 22
sg7: .long 23
sg8: .long 24
sl1: .long 65
sl2: .long 66
sl3: .long 67
sl4: .long 68
sl5: .long 69
sl6: .long 70
sl7: .long 71
sl8: .long 72
sh1: .long 257
sh2: .long 258
sh3: .long 259
sh4: .long 260
sh5: .long 261
sh6: .long 262
sh7: .long 263
sh8: .long 264
.explicit
.pred.safe_across_calls p1-p5,p16-p63
/* Force .text aligned to 4K, so it very likely gets at
0x4000000000001000. */
.text
.balign 4096
.globl fn2#
.proc fn2#
fn2:
.prologue 12, 33
.mib
.save ar.pfs, r34
alloc r34 = ar.pfs, 0, 3, 2, 0
.save rp, r33
mov r33 = b0
 
/* GD */
addl r14 = @ltoff(@dtpmod(sG1#)), gp
addl r15 = @ltoff(@dtprel(sG1#)), gp
;;
ld8 out0 = [r14]
ld8 out1 = [r15]
br.call.sptk.many b0 = __tls_get_addr#
;;
 
/* GD against local symbol */
addl r14 = @ltoff(@dtpmod(sl2#)), gp
addl r15 = @ltoff(@dtprel(sl2#)), gp
;;
ld8 out0 = [r14]
ld8 out1 = [r15]
br.call.sptk.many b0 = __tls_get_addr#
;;
 
/* LD */
addl r14 = @ltoff(@dtpmod(sl1#)), gp
addl out1 = @dtprel(sl1#) + 1, r0
;;
ld8 out0 = [r14]
br.call.sptk.many b0 = __tls_get_addr#
;;
 
/* LD with 4 variables variables */
addl r14 = @ltoff(@dtpmod(sh1#)), gp
mov out1 = r0
;;
ld8 out0 = [r14]
br.call.sptk.many b0 = __tls_get_addr#
;;
mov r2 = r8
;;
addl r14 = @dtprel(sh1#), r2
addl r15 = @dtprel(sh2#) + 2, r2
;;
adds r14 = @dtprel(sh3#) + 3, r8
movl r15 = @dtprel(sh4#) + 1
;;
add r15 = r15, r8
;;
 
mov ar.pfs = r34
mov b0 = r33
br.ret.sptk.many b0
.endp fn2#
/link-order.d
0,0 → 1,9
#source: ../../../binutils/testsuite/binutils-all/link-order.s
#ld: -r
#readelf: -S --wide
 
#...
\[[ ]+1\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX.*
#...
\[[ 0-9]+\] \.IA_64.unwind[ \t]+IA_64_UNWIND[ \t0-9a-f]+AL[ \t]+1[ \t]+1[ \t]+8
#pass
/tlslib.s
0,0 → 1,18
.section ".tdata", "awT", @progbits
.globl sG1, sG2, sG3, sG4, sG5, sG6, sG7, sG8
sG1: .long 513
sG2: .long 514
sG3: .long 515
sG4: .long 516
sG5: .long 517
sG6: .long 518
sG7: .long 519
sG8: .long 520
 
.text
/* Dummy. */
.globl __tls_get_addr#
.proc __tls_get_addr#
__tls_get_addr:
br.ret.sptk.many b0
.endp __tls_get_addr#
/tlsbin.s
0,0 → 1,54
.section ".tbss", "awT", @nobits
.globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
bg1: .space 4
bg2: .space 4
bg3: .space 4
bg4: .space 4
bg5: .space 4
bg6: .space 4
bg7: .space 4
bg8: .space 4
bl1: .space 4
bl2: .space 4
bl3: .space 4
bl4: .space 4
bl5: .space 4
bl6: .space 4
bl7: .space 4
bl8: .space 4
.explicit
.pred.safe_across_calls p1-p5,p16-p63
.text
.globl _start#
.proc _start#
_start:
/* IE */
addl r14 = @ltoff(@tprel(sG2#)), gp
;;
ld8 r14 = [r14]
;;
add r14 = r14, r13
;;
 
/* IE against global symbol in exec */
addl r14 = @ltoff(@tprel(bl1#)), gp
;;
ld8 r14 = [r14]
;;
add r14 = r14, r13
;;
 
/* LE */
mov r2 = r13
;;
addl r14 = @tprel(sg1#), r2
addl r15 = @tprel(bl2#) + 2, r2
;;
adds r14 = @tprel(sh2#) + 3, r13
movl r15 = @tprel(bl2#) + 1
;;
add r15 = r15, r13
;;
 
br.ret.sptk.many b0
.endp _start#
/ia64.exp
0,0 → 1,64
# Expect script for ld-ia64 tests
# Copyright (C) 2002, 2003, 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 ia64 linking; all types of relocs. This tests the assembler and
# tools like objdump as well as the linker.
 
if { !([istarget "ia64-*-elf*"]
|| [istarget "ia64-*-linux*"]) } {
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).
 
set ia64tests {
{"TLS -fpic -shared" "-shared"
"-mtune=itanium1" {tlspic1.s tlspic2.s}
{{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
"libtlspic.so"}
{"Helper shared library" "-shared"
"" {tlslib.s} {} "libtlslib.so"}
{"TLS -fpic and -fno-pic exec"
"tmpdir/libtlslib.so" "-mtune=itanium1" {tlsbinpic.s tlsbin.s}
{{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
"tlsbin"}
{"TLS in debug sections" ""
"" {tlsg.s}
{{objdump -sj.debug_foobar tlsg.sd}} "tlsg"}
}
 
run_ld_link_tests $ia64tests
 
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
foreach t $test_list {
# We need to strip the ".d", but can leave the dirname.
verbose [file rootname $t]
run_dump_test [file rootname $t]
}
/tlsbin.rd
0,0 → 1,136
#source: tlsbinpic.s
#source: tlsbin.s
#as:
#ld: -shared
#readelf: -WSsrl
#target: ia64-*-*
 
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+:
 
Section Headers:
\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
+\[[ 0-9]+\] .interp +.*
+\[[ 0-9]+\] .hash +.*
+\[[ 0-9]+\] .dynsym +.*
+\[[ 0-9]+\] .dynstr +.*
+\[[ 0-9]+\] .rela.dyn +.*
+\[[ 0-9]+\] .rela.IA_64.pltof +.*
+\[[ 0-9]+\] .plt +.*
+\[[ 0-9]+\] .text +PROGBITS +40+1000 0+1000 0+140 00 +AX +0 +0 4096
+\[[ 0-9]+\] .IA_64.unwind_inf +.*
+\[[ 0-9]+\] .IA_64.unwind +.*
+\[[ 0-9]+\] .tdata +PROGBITS +60+1[0-9a-f]+ 0+1[0-9a-f]+ 0+60 00 WAT +0 +0 +4
+\[[ 0-9]+\] .tbss +NOBITS +60+1[0-9a-f]+ 0+1[0-9a-f]+ 0+40 00 WAT +0 +0 +1
+\[[ 0-9]+\] .dynamic +DYNAMIC +60+1[0-9a-f]+ 0+1[0-9a-f]+ 0+150 10 +WA +4 +0 +8
+\[[ 0-9]+\] .got +PROGBITS +60+1318 0+1318 0+48 00 WAp +0 +0 +8
+\[[ 0-9]+\] .IA_64.pltoff +.*
+\[[ 0-9]+\] .shstrtab +.*
+\[[ 0-9]+\] .symtab +.*
+\[[ 0-9]+\] .strtab +.*
#...
 
Elf file type is EXEC \(Executable file\)
Entry point 0x40+10d0
There are [0-9]+ program headers, starting at offset [0-9]+
 
Program Headers:
Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
.*Requesting program interpreter.*
LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
IA_64_UNWIND .* R +0x8
#...
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
+Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend
[0-9a-f ]+R_IA64_TPREL64LSB +0+ sG2 \+ 0
[0-9a-f ]+R_IA64_DTPMOD64LSB +0+ sG1 \+ 0
[0-9a-f ]+R_IA64_DTPREL64LSB +0+ sG1 \+ 0
 
Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries:
+Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend
[0-9a-f ]+R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
 
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
.* TLS +GLOBAL DEFAULT +UND sG2
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start
.* TLS +GLOBAL DEFAULT +UND sG1
.* NOTYPE +GLOBAL DEFAULT +ABS _edata
.* NOTYPE +GLOBAL DEFAULT +ABS _end
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
.* SECTION LOCAL +DEFAULT +1 *
.* SECTION LOCAL +DEFAULT +2 *
.* SECTION LOCAL +DEFAULT +3 *
.* SECTION LOCAL +DEFAULT +4 *
.* SECTION LOCAL +DEFAULT +5 *
.* SECTION LOCAL +DEFAULT +6 *
.* SECTION LOCAL +DEFAULT +7 *
.* SECTION LOCAL +DEFAULT +8 *
.* SECTION LOCAL +DEFAULT +9 *
.* SECTION LOCAL +DEFAULT +10 *
.* SECTION LOCAL +DEFAULT +11 *
.* SECTION LOCAL +DEFAULT +12 *
.* SECTION LOCAL +DEFAULT +13 *
.* SECTION LOCAL +DEFAULT +14 *
.* SECTION LOCAL +DEFAULT +15 *
.* TLS +LOCAL +DEFAULT +11 sl1
.* TLS +LOCAL +DEFAULT +11 sl2
.* TLS +LOCAL +DEFAULT +11 sl3
.* TLS +LOCAL +DEFAULT +11 sl4
.* TLS +LOCAL +DEFAULT +11 sl5
.* TLS +LOCAL +DEFAULT +11 sl6
.* TLS +LOCAL +DEFAULT +11 sl7
.* TLS +LOCAL +DEFAULT +11 sl8
.* TLS +LOCAL +DEFAULT +12 bl1
.* TLS +LOCAL +DEFAULT +12 bl2
.* TLS +LOCAL +DEFAULT +12 bl3
.* TLS +LOCAL +DEFAULT +12 bl4
.* TLS +LOCAL +DEFAULT +12 bl5
.* TLS +LOCAL +DEFAULT +12 bl6
.* TLS +LOCAL +DEFAULT +12 bl7
.* TLS +LOCAL +DEFAULT +12 bl8
.* OBJECT +LOCAL +HIDDEN +13 _DYNAMIC
.* OBJECT +LOCAL +HIDDEN +14 _GLOBAL_OFFSET_TABLE_
.* TLS +GLOBAL DEFAULT +11 sg8
.* TLS +GLOBAL DEFAULT +12 bg8
.* TLS +GLOBAL DEFAULT +12 bg6
.* TLS +GLOBAL DEFAULT +12 bg3
.* TLS +GLOBAL DEFAULT +11 sg3
.* TLS +GLOBAL HIDDEN +11 sh3
.* TLS +GLOBAL DEFAULT +UND sG2
.* TLS +GLOBAL DEFAULT +11 sg4
.* TLS +GLOBAL DEFAULT +11 sg5
.* TLS +GLOBAL DEFAULT +12 bg5
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr
.* TLS +GLOBAL HIDDEN +11 sh7
.* TLS +GLOBAL HIDDEN +11 sh8
.* TLS +GLOBAL DEFAULT +11 sg1
.* FUNC +GLOBAL DEFAULT +8 _start
.* TLS +GLOBAL HIDDEN +11 sh4
.* TLS +GLOBAL DEFAULT +12 bg7
.* TLS +GLOBAL HIDDEN +11 sh5
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start
.* FUNC +GLOBAL DEFAULT +8 fn2
.* TLS +GLOBAL DEFAULT +11 sg2
.* TLS +GLOBAL DEFAULT +UND sG1
.* TLS +GLOBAL HIDDEN +11 sh1
.* TLS +GLOBAL DEFAULT +11 sg6
.* TLS +GLOBAL DEFAULT +11 sg7
.* NOTYPE +GLOBAL DEFAULT +ABS _edata
.* NOTYPE +GLOBAL DEFAULT +ABS _end
.* TLS +GLOBAL HIDDEN +11 sh2
.* TLS +GLOBAL HIDDEN +11 sh6
.* TLS +GLOBAL DEFAULT +12 bg2
.* TLS +GLOBAL DEFAULT +12 bg1
.* TLS +GLOBAL DEFAULT +12 bg4
/tlsbin.sd
0,0 → 1,15
#source: tlsbinpic.s
#source: tlsbin.s
#as:
#ld: -shared
#objdump: -sj.got
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Contents of section .got:
(60+)?1318 0+ 0+ 0+ 0+ .*
(60+)?1328 0+ 0+ 0+ 0+ .*
(60+)?1338 0+ 0+ 0+ 0+ .*
(60+)?1348 (00|01|24|90)000000 0+ (00|01|24|90)000000 0+ .*
(60+)?1358 (00|01|24|90)000000 0+ .*
/tlsbin.td
0,0 → 1,16
#source: tlsbinpic.s
#source: tlsbin.s
#as:
#ld: -shared
#objdump: -sj.tdata
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Contents of section .tdata:
(60+)?1[0-9a-f]+ 11000000 12000000 13000000 14000000 .*
(60+)?1[0-9a-f]+ 15000000 16000000 17000000 18000000 .*
(60+)?1[0-9a-f]+ 41000000 42000000 43000000 44000000 .*
(60+)?1[0-9a-f]+ 45000000 46000000 47000000 48000000 .*
(60+)?1[0-9a-f]+ 01010000 02010000 03010000 04010000 .*
(60+)?1[0-9a-f]+ 05010000 06010000 07010000 08010000 .*
/merge1.d
0,0 → 1,10
#source: merge1.s
#as: -x
#ld: -shared
#objdump: -d
 
#...
0+1e0 <.text>:
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
/undefined.s
0,0 → 1,152
.file "undefined.c"
.pred.safe_across_calls p1-p5,p16-p63
.section .debug_abbrev,"",@progbits
.Ldebug_abbrev0:
.section .debug_info,"",@progbits
.Ldebug_info0:
.section .debug_line,"",@progbits
.Ldebug_line0:
.text
.Ltext0:
.align 16
.global function#
.proc function#
function:
[.LFB2:]
.file 1 "undefined.c"
.loc 1 8 0
.prologue 12, 32
.mii
.save ar.pfs, r33
alloc r33 = ar.pfs, 0, 3, 0, 0
.save rp, r32
mov r32 = b0
mov r34 = r1
.body
.loc 1 9 0
;;
.mib
nop 0
nop 0
br.call.sptk.many b0 = this_function_is_not_defined#
.loc 1 10 0
;;
.loc 1 9 0
.mmi
nop 0
mov r1 = r34
.loc 1 10 0
mov b0 = r32
.mib
nop 0
mov ar.pfs = r33
br.ret.sptk.many b0
.LFE2:
.endp function#
.Letext0:
.section .debug_info
data4.ua 0x4c
data2.ua 0x2
data4.ua @secrel(.Ldebug_abbrev0)
data1 0x8
.uleb128 0x1
data4.ua @secrel(.Ldebug_line0)
data8.ua .Letext0
data8.ua .Ltext0
data4.ua @secrel(.LASF0)
data1 0x1
data4.ua @secrel(.LASF1)
.uleb128 0x2
data1 0x1
data4.ua @secrel(.LASF2)
data1 0x1
data1 0x8
data4.ua 0x48
data8.ua .LFB2
data8.ua .LFE2
data1 0x2
data1 0x7c
.sleb128 16
.uleb128 0x3
stringz "int"
data1 0x4
data1 0x5
data1 0x0
.section .debug_abbrev
.uleb128 0x1
.uleb128 0x11
data1 0x1
.uleb128 0x10
.uleb128 0x6
.uleb128 0x12
.uleb128 0x1
.uleb128 0x11
.uleb128 0x1
.uleb128 0x25
.uleb128 0xe
.uleb128 0x13
.uleb128 0xb
.uleb128 0x3
.uleb128 0xe
data1 0x0
data1 0x0
.uleb128 0x2
.uleb128 0x2e
data1 0x0
.uleb128 0x3f
.uleb128 0xc
.uleb128 0x3
.uleb128 0xe
.uleb128 0x3a
.uleb128 0xb
.uleb128 0x3b
.uleb128 0xb
.uleb128 0x49
.uleb128 0x13
.uleb128 0x11
.uleb128 0x1
.uleb128 0x12
.uleb128 0x1
.uleb128 0x40
.uleb128 0xa
data1 0x0
data1 0x0
.uleb128 0x3
.uleb128 0x24
data1 0x0
.uleb128 0x3
.uleb128 0x8
.uleb128 0xb
.uleb128 0xb
.uleb128 0x3e
.uleb128 0xb
data1 0x0
data1 0x0
data1 0x0
.section .debug_pubnames,"",@progbits
data4.ua 0x1b
data2.ua 0x2
data4.ua @secrel(.Ldebug_info0)
data4.ua 0x50
data4.ua 0x29
stringz "function"
data4.ua 0x0
.section .debug_aranges,"",@progbits
data4.ua 0x2c
data2.ua 0x2
data4.ua @secrel(.Ldebug_info0)
data1 0x8
data1 0x0
data2.ua 0x0
data2.ua 0x0
data8.ua .Ltext0
data8.ua .Letext0-.Ltext0
data8.ua 0x0
data8.ua 0x0
.section .debug_str,"MS",@progbits,1
.LASF0:
stringz "GNU C 4.1.2"
.LASF1:
stringz "undefined.c"
.LASF2:
stringz "function"
/tlspic.rd
0,0 → 1,131
#source: tlspic1.s
#source: tlspic2.s
#as:
#ld: -shared
#readelf: -WSsrl
#target: ia64-*-*
 
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+:
 
Section Headers:
\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
+\[[ 0-9]+\] .hash +.*
+\[[ 0-9]+\] .dynsym +.*
+\[[ 0-9]+\] .dynstr +.*
+\[[ 0-9]+\] .rela.dyn +.*
+\[[ 0-9]+\] .rela.IA_64.pltof +.*
+\[[ 0-9]+\] .plt +.*
+\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+110 00 +AX +0 +0 4096
+\[[ 0-9]+\] .IA_64.unwind_inf +.*
+\[[ 0-9]+\] .IA_64.unwind +.*
+\[[ 0-9]+\] .tdata +PROGBITS +0+11[0-9a-f]+ 0+1[0-9a-f]+ 0+60 00 WAT +0 +0 +4
+\[[ 0-9]+\] .tbss +NOBITS +0+11[0-9a-f]+ 0+1[0-9a-f]+ 0+20 00 WAT +0 +0 +1
+\[[ 0-9]+\] .dynamic +DYNAMIC +0+11[0-9a-f]+ 0+1[0-9a-f]+ 0+140 10 +WA +3 +0 +8
+\[[ 0-9]+\] .got +PROGBITS +0+112d8 0+12d8 0+50 00 WAp +0 +0 +8
+\[[ 0-9]+\] .IA_64.pltoff +.*
+\[[ 0-9]+\] .shstrtab +.*
+\[[ 0-9]+\] .symtab +.*
+\[[ 0-9]+\] .strtab +.*
Key to Flags:
#...
 
Elf file type is DYN \(Shared object file\)
Entry point 0x1000
There are [0-9]+ program headers, starting at offset [0-9]+
 
Program Headers:
Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
LOAD +0x0+ 0x0+ 0x0+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
#...
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 6 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
[0-9a-f ]+R_IA64_DTPMOD64LSB +0+ sg1 \+ 0
[0-9a-f ]+R_IA64_DTPREL64LSB +0+ sg1 \+ 0
[0-9a-f ]+R_IA64_TPREL64LSB +0+4 sg2 \+ 0
[0-9a-f ]+R_IA64_DTPMOD64LSB +0+
[0-9a-f ]+R_IA64_TPREL64LSB +0+44
[0-9a-f ]+R_IA64_TPREL64LSB +0+24
 
Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
[0-9a-f ]+R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
 
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
.* TLS +GLOBAL DEFAULT +10 sg8
.* TLS +GLOBAL DEFAULT +10 sg3
.* TLS +GLOBAL DEFAULT +10 sg4
.* TLS +GLOBAL DEFAULT +10 sg5
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
.* TLS +GLOBAL DEFAULT +10 sg1
.* FUNC +GLOBAL DEFAULT +7 fn1
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start
.* TLS +GLOBAL DEFAULT +10 sg2
.* TLS +GLOBAL DEFAULT +10 sg6
.* TLS +GLOBAL DEFAULT +10 sg7
.* NOTYPE +GLOBAL DEFAULT +ABS _edata
.* NOTYPE +GLOBAL DEFAULT +ABS _end
 
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
.* SECTION LOCAL +DEFAULT +1 *
.* SECTION LOCAL +DEFAULT +2 *
.* SECTION LOCAL +DEFAULT +3 *
.* SECTION LOCAL +DEFAULT +4 *
.* SECTION LOCAL +DEFAULT +5 *
.* SECTION LOCAL +DEFAULT +6 *
.* SECTION LOCAL +DEFAULT +7 *
.* SECTION LOCAL +DEFAULT +8 *
.* SECTION LOCAL +DEFAULT +9 *
.* SECTION LOCAL +DEFAULT +10 *
.* SECTION LOCAL +DEFAULT +11 *
.* SECTION LOCAL +DEFAULT +12 *
.* SECTION LOCAL +DEFAULT +13 *
.* SECTION LOCAL +DEFAULT +14 *
.* TLS +LOCAL +DEFAULT +10 sl1
.* TLS +LOCAL +DEFAULT +10 sl2
.* TLS +LOCAL +DEFAULT +10 sl3
.* TLS +LOCAL +DEFAULT +10 sl4
.* TLS +LOCAL +DEFAULT +10 sl5
.* TLS +LOCAL +DEFAULT +10 sl6
.* TLS +LOCAL +DEFAULT +10 sl7
.* TLS +LOCAL +DEFAULT +10 sl8
.* TLS +LOCAL +HIDDEN +11 sH1
.* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC
.* TLS +LOCAL +HIDDEN +10 sh3
.* TLS +LOCAL +HIDDEN +11 sH2
.* TLS +LOCAL +HIDDEN +11 sH7
.* TLS +LOCAL +HIDDEN +10 sh7
.* TLS +LOCAL +HIDDEN +10 sh8
.* TLS +LOCAL +HIDDEN +11 sH4
.* TLS +LOCAL +HIDDEN +10 sh4
.* TLS +LOCAL +HIDDEN +11 sH3
.* TLS +LOCAL +HIDDEN +10 sh5
.* TLS +LOCAL +HIDDEN +11 sH5
.* TLS +LOCAL +HIDDEN +11 sH6
.* TLS +LOCAL +HIDDEN +11 sH8
.* TLS +LOCAL +HIDDEN +10 sh1
.* OBJECT +LOCAL +HIDDEN +ABS _GLOBAL_OFFSET_TABLE_
.* TLS +LOCAL +HIDDEN +10 sh2
.* TLS +LOCAL +HIDDEN +10 sh6
.* TLS +GLOBAL DEFAULT +10 sg8
.* TLS +GLOBAL DEFAULT +10 sg3
.* TLS +GLOBAL DEFAULT +10 sg4
.* TLS +GLOBAL DEFAULT +10 sg5
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
.* TLS +GLOBAL DEFAULT +10 sg1
.* FUNC +GLOBAL DEFAULT +7 fn1
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start
.* TLS +GLOBAL DEFAULT +10 sg2
.* TLS +GLOBAL DEFAULT +10 sg6
.* TLS +GLOBAL DEFAULT +10 sg7
.* NOTYPE +GLOBAL DEFAULT +ABS _edata
.* NOTYPE +GLOBAL DEFAULT +ABS _end
/tlspic.sd
0,0 → 1,15
#source: tlspic1.s
#source: tlspic2.s
#as:
#ld: -shared
#objdump: -sj.got
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Contents of section .got:
112d8 0+ 0+ 0+ 0+ .*
112e8 0+ 0+ [0-9a-f]+ [0-9a-f]+ .*
112f8 [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ .*
11308 [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ .*
11318 440+ 0+ [0-9a-f]+ [0-9a-f]+ .*
/merge2.d
0,0 → 1,10
#source: merge2.s
#as: -x
#ld: -shared
#objdump: -d
 
#...
0+1e0 <.text>:
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
/tlspic.td
0,0 → 1,16
#source: tlspic1.s
#source: tlspic2.s
#as:
#ld: -shared
#objdump: -sj.tdata
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Contents of section .tdata:
11[0-9a-f]+ 11000000 12000000 13000000 14000000 .*
11[0-9a-f]+ 15000000 16000000 17000000 18000000 .*
11[0-9a-f]+ 41000000 42000000 43000000 44000000 .*
11[0-9a-f]+ 45000000 46000000 47000000 48000000 .*
11[0-9a-f]+ 01010000 02010000 03010000 04010000 .*
11[0-9a-f]+ 05010000 06010000 07010000 08010000 .*
/merge3.d
0,0 → 1,13
#source: merge3.s
#as: -x
#ld: -shared
#objdump: -d
 
#...
0+210 <.text>:
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
[ ]*[a-f0-9]+: 01 60 60 02 00 24 \[MII\] addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 00 02 00 00 nop.i 0x0
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
/merge4.d
0,0 → 1,13
#source: merge4.s
#as: -x
#ld: -shared
#objdump: -d
 
#...
0+240 <.text>:
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
[ ]*[a-f0-9]+: 0b 60 c0 02 00 24 \[MMI\] addl r12=48,r1;;
[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
/merge5.d
0,0 → 1,16
#source: merge5.s
#as: -x
#ld: -shared
#objdump: -d
 
#...
0+270 <.text>:
[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
[ ]*[a-f0-9]+: 0b 60 a0 02 00 24 \[MMI\] addl r12=40,r1;;
[ ]*[a-f0-9]+: c0 c0 05 00 48 00 addl r12=56,r1
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
[ ]*[a-f0-9]+: 01 60 60 02 00 24 \[MII\] addl r12=24,r1
[ ]*[a-f0-9]+: 00 00 00 02 00 00 nop.i 0x0
[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
/tlsg.s
0,0 → 1,14
.section .tbss,"awT",@nobits
.align 4
.skip 24
.type a#,@object
.size a#,4
a:
data4 0
.text
.globl _start#
.proc _start#
_start:
.endp _start#
.section .debug_foobar
data8 @dtprel(a#)
/tlsg.sd
0,0 → 1,10
#source: tlsg.s
#as:
#ld:
#objdump: -sj.debug_foobar
#target: ia64-*-*
 
.*: +file format elf..-ia64-.*
 
Contents of section .debug_foobar:
0+ 18000000 0+ +.*

powered by: WebSVN 2.1.0

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