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+ +.* |