* ld-elf/export-class.sd: New test.
* ld-elf/export-class.vd: New test. * ld-elf/export-class-def.s: New test source. * ld-elf/export-class-dep.s: New test source. * ld-elf/export-class-lib.s: New test source. * ld-elf/export-class-ref.s: New test source. * ld-elf/export-class-lib.ver: New test version script. * ld-elf/export-class.exp: New test script. * ld-arm/arm-export-class.rd: New test. * ld-arm/arm-export-class.xd: New test. * ld-arm/export-class.exp: New test script. * ld-i386/i386-export-class.rd: New test. * ld-i386/i386-export-class.xd: New test. * ld-i386/export-class.exp: New test script. * ld-mips-elf/mips-32-export-class.rd: New test. * ld-mips-elf/mips-32-export-class.xd: New test. * ld-mips-elf/mips-64-export-class.rd: New test. * ld-mips-elf/mips-64-export-class.xd: New test. * ld-mips-elf/export-class.exp: New test script. * ld-powerpc/powerpc-32-export-class.rd: New test. * ld-powerpc/powerpc-32-export-class.xd: New test. * ld-powerpc/powerpc-64-export-class.rd: New test. * ld-powerpc/powerpc-64-export-class.xd: New test. * ld-powerpc/export-class.exp: New test script. * ld-x86-64/x86-64-64-export-class.rd: New test. * ld-x86-64/x86-64-x32-export-class.rd: New test. * ld-x86-64/export-class.exp: New test script.
This commit is contained in:
parent
14acf4dcae
commit
a521a3297b
28 changed files with 854 additions and 0 deletions
|
@ -1,3 +1,33 @@
|
|||
2012-08-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* ld-elf/export-class.sd: New test.
|
||||
* ld-elf/export-class.vd: New test.
|
||||
* ld-elf/export-class-def.s: New test source.
|
||||
* ld-elf/export-class-dep.s: New test source.
|
||||
* ld-elf/export-class-lib.s: New test source.
|
||||
* ld-elf/export-class-ref.s: New test source.
|
||||
* ld-elf/export-class-lib.ver: New test version script.
|
||||
* ld-elf/export-class.exp: New test script.
|
||||
* ld-arm/arm-export-class.rd: New test.
|
||||
* ld-arm/arm-export-class.xd: New test.
|
||||
* ld-arm/export-class.exp: New test script.
|
||||
* ld-i386/i386-export-class.rd: New test.
|
||||
* ld-i386/i386-export-class.xd: New test.
|
||||
* ld-i386/export-class.exp: New test script.
|
||||
* ld-mips-elf/mips-32-export-class.rd: New test.
|
||||
* ld-mips-elf/mips-32-export-class.xd: New test.
|
||||
* ld-mips-elf/mips-64-export-class.rd: New test.
|
||||
* ld-mips-elf/mips-64-export-class.xd: New test.
|
||||
* ld-mips-elf/export-class.exp: New test script.
|
||||
* ld-powerpc/powerpc-32-export-class.rd: New test.
|
||||
* ld-powerpc/powerpc-32-export-class.xd: New test.
|
||||
* ld-powerpc/powerpc-64-export-class.rd: New test.
|
||||
* ld-powerpc/powerpc-64-export-class.xd: New test.
|
||||
* ld-powerpc/export-class.exp: New test script.
|
||||
* ld-x86-64/x86-64-64-export-class.rd: New test.
|
||||
* ld-x86-64/x86-64-x32-export-class.rd: New test.
|
||||
* ld-x86-64/export-class.exp: New test script.
|
||||
|
||||
2012-08-24 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-elf/exclude3a.d: Remove target and use failif.
|
||||
|
|
11
ld/testsuite/ld-arm/arm-export-class.rd
Normal file
11
ld/testsuite/ld-arm/arm-export-class.rd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name
|
||||
12340010 00000017 R_ARM_RELATIVE *
|
||||
12340020 00000017 R_ARM_RELATIVE *
|
||||
12340060 00000017 R_ARM_RELATIVE *
|
||||
12340070 00000017 R_ARM_RELATIVE *
|
||||
12340080 00000017 R_ARM_RELATIVE *
|
||||
12340090 00000017 R_ARM_RELATIVE *
|
||||
12340000 [0-9a-f]+02 R_ARM_ABS32 123400a0 protected_baz
|
||||
12340040 [0-9a-f]+02 R_ARM_ABS32 123400a0 protected_foo
|
||||
12340050 [0-9a-f]+02 R_ARM_ABS32 123400a0 protected_bar
|
11
ld/testsuite/ld-arm/arm-export-class.xd
Normal file
11
ld/testsuite/ld-arm/arm-export-class.xd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Hex dump of section '\.data':
|
||||
0x12340000 00000000 00000000 00000000 00000000 .*
|
||||
0x12340010 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340020 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340030 00000000 00000000 00000000 00000000 .*
|
||||
0x12340040 00000000 00000000 00000000 00000000 .*
|
||||
0x12340050 00000000 00000000 00000000 00000000 .*
|
||||
0x12340060 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340070 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340080 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340090 a0003412 00000000 00000000 00000000 .*
|
80
ld/testsuite/ld-arm/export-class.exp
Normal file
80
ld/testsuite/ld-arm/export-class.exp
Normal file
|
@ -0,0 +1,80 @@
|
|||
# Expect script for symbol export classes, ARM variation.
|
||||
#
|
||||
# Copyright 2012 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 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
#
|
||||
|
||||
# Exclude non-Linux targets; feel free to include your favorite one
|
||||
# if you like.
|
||||
if { ![istarget arm*-*-linux*] } {
|
||||
return
|
||||
}
|
||||
|
||||
set testname "ARM symbol export class test"
|
||||
|
||||
# Build an auxiliary shared object with conflicting versioned symbol
|
||||
# definitions.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (auxiliary shared object)" \
|
||||
"-marmelf_linux_eabi -shared -version-script ../ld-elf/export-class-lib.ver" \
|
||||
"-EL" \
|
||||
{ ../ld-elf/export-class-lib.s } \
|
||||
{} \
|
||||
"arm-export-class-lib.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build a static object that pulls symbol definitions. It has to come
|
||||
# first before the auxiliary shared object and other static objects on
|
||||
# the linker's command line and hence we need to build it separately.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (initial static object)" \
|
||||
"-marmelf_linux_eabi -r" \
|
||||
"-EL" \
|
||||
{ ../ld-elf/export-class-ref.s } \
|
||||
{} \
|
||||
"arm-export-class-ref-r.o" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build static objects that satisfy symbol dependencies and preempt
|
||||
# shared-object symbol definitions, and link all the objects built into
|
||||
# the final shared object. The command-line order of objects linked is
|
||||
# important to make sure the linker correctly preempts versioned symbols
|
||||
# from the auxiliary shared object and is as follows: ref, lib, dep, def.
|
||||
# Get a dump to make sure symbol dependencies are resolved internally.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (final shared object)" \
|
||||
"-marmelf_linux_eabi -shared -Tdata=0x12340000 tmpdir/arm-export-class-ref-r.o tmpdir/arm-export-class-lib.so" \
|
||||
"-EL" \
|
||||
{ ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \
|
||||
{ \
|
||||
{ readelf -r arm-export-class.rd } \
|
||||
{ readelf "-x .data" arm-export-class.xd } \
|
||||
} \
|
||||
"arm-export-class.so" \
|
||||
] \
|
||||
]
|
25
ld/testsuite/ld-elf/export-class-def.s
Normal file
25
ld/testsuite/ld-elf/export-class-def.s
Normal file
|
@ -0,0 +1,25 @@
|
|||
.data
|
||||
.balign 32
|
||||
.xdef protected_bar
|
||||
.protected protected_bar
|
||||
protected_bar:
|
||||
.balign 32
|
||||
.xdef protected_foo
|
||||
.protected protected_foo
|
||||
protected_foo:
|
||||
.balign 32
|
||||
.xdef hidden_bar
|
||||
.hidden hidden_bar
|
||||
hidden_bar:
|
||||
.balign 32
|
||||
.xdef hidden_foo
|
||||
.hidden hidden_foo
|
||||
hidden_foo:
|
||||
.balign 32
|
||||
.xdef internal_bar
|
||||
.internal internal_bar
|
||||
internal_bar:
|
||||
.balign 32
|
||||
.xdef internal_foo
|
||||
.internal internal_foo
|
||||
internal_foo:
|
25
ld/testsuite/ld-elf/export-class-dep.s
Normal file
25
ld/testsuite/ld-elf/export-class-dep.s
Normal file
|
@ -0,0 +1,25 @@
|
|||
.data
|
||||
.balign 16
|
||||
.dc.a protected_foo
|
||||
.balign 16
|
||||
.dc.a protected_bar
|
||||
.balign 16
|
||||
.dc.a hidden_foo
|
||||
.balign 16
|
||||
.dc.a hidden_bar
|
||||
.balign 16
|
||||
.dc.a internal_foo
|
||||
.balign 16
|
||||
.dc.a internal_bar
|
||||
.balign 32
|
||||
.xdef protected_baz
|
||||
.protected protected_baz
|
||||
protected_baz:
|
||||
.balign 32
|
||||
.xdef hidden_baz
|
||||
.hidden hidden_baz
|
||||
hidden_baz:
|
||||
.balign 32
|
||||
.xdef internal_baz
|
||||
.internal internal_baz
|
||||
internal_baz:
|
10
ld/testsuite/ld-elf/export-class-lib.s
Normal file
10
ld/testsuite/ld-elf/export-class-lib.s
Normal file
|
@ -0,0 +1,10 @@
|
|||
.data
|
||||
.balign 16
|
||||
.xdef protected_foo
|
||||
protected_foo:
|
||||
.balign 16
|
||||
.xdef hidden_foo
|
||||
hidden_foo:
|
||||
.balign 16
|
||||
.xdef internal_foo
|
||||
internal_foo:
|
1
ld/testsuite/ld-elf/export-class-lib.ver
Normal file
1
ld/testsuite/ld-elf/export-class-lib.ver
Normal file
|
@ -0,0 +1 @@
|
|||
GCC_3.0 { global: *_foo; };
|
7
ld/testsuite/ld-elf/export-class-ref.s
Normal file
7
ld/testsuite/ld-elf/export-class-ref.s
Normal file
|
@ -0,0 +1,7 @@
|
|||
.data
|
||||
.balign 16
|
||||
.dc.a protected_baz
|
||||
.balign 16
|
||||
.dc.a hidden_baz
|
||||
.balign 16
|
||||
.dc.a internal_baz
|
87
ld/testsuite/ld-elf/export-class.exp
Normal file
87
ld/testsuite/ld-elf/export-class.exp
Normal file
|
@ -0,0 +1,87 @@
|
|||
# Expect script for symbol export classes.
|
||||
#
|
||||
# Copyright 2012 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 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
#
|
||||
|
||||
# Exclude non-ELF targets.
|
||||
if { ![is_elf_format] } {
|
||||
return
|
||||
}
|
||||
|
||||
# Exclude some more targets; feel free to include your favorite one
|
||||
# if you like.
|
||||
if { ![istarget *-*-linux*]
|
||||
&& ![istarget *-*-nacl*]
|
||||
&& ![istarget *-*-gnu*] } {
|
||||
return
|
||||
}
|
||||
|
||||
set testname "Symbol export class test"
|
||||
|
||||
# Build an auxiliary shared object with conflicting versioned symbol
|
||||
# definitions.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (auxiliary shared object)" \
|
||||
"-shared -version-script export-class-lib.ver" \
|
||||
"" \
|
||||
{ export-class-lib.s } \
|
||||
{} \
|
||||
"export-class-lib.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build a static object that pulls symbol definitions. It has to come
|
||||
# first before the auxiliary shared object and other static objects on
|
||||
# the linker's command line and hence we need to build it separately.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (initial static object)" \
|
||||
"-r" \
|
||||
"" \
|
||||
{ export-class-ref.s } \
|
||||
{} \
|
||||
"export-class-ref-r.o" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build static objects that satisfy symbol dependencies and preempt
|
||||
# shared-object symbol definitions, and link all the objects built into
|
||||
# the final shared object. The command-line order of objects linked is
|
||||
# important to make sure the linker correctly preempts versioned symbols
|
||||
# from the auxiliary shared object and is as follows: ref, lib, dep, def.
|
||||
# Get a dump to make sure symbol dependencies are resolved internally.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (final shared object)" \
|
||||
"-shared -Tdata=0x12340000 tmpdir/export-class-ref-r.o tmpdir/export-class-lib.so" \
|
||||
"" \
|
||||
{ export-class-dep.s export-class-def.s } \
|
||||
{ \
|
||||
{ readelf -s export-class.sd } \
|
||||
{ readelf -V export-class.vd } \
|
||||
} \
|
||||
"export-class.so" \
|
||||
] \
|
||||
]
|
32
ld/testsuite/ld-elf/export-class.sd
Normal file
32
ld/testsuite/ld-elf/export-class.sd
Normal file
|
@ -0,0 +1,32 @@
|
|||
Symbol table '\.dynsym' contains [0-9]+ entries:
|
||||
* Num: * Value * Size * Type * Bind * Vis * Ndx * Name
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * GLOBAL * PROTECTED * [0-9]+ * protected_foo
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * GLOBAL * PROTECTED * [0-9]+ * protected_bar
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * GLOBAL * PROTECTED * [0-9]+ * protected_baz
|
||||
#...
|
||||
Symbol table '\.symtab' contains [0-9]+ entries:
|
||||
* Num: * Value * Size * Type * Bind * Vis * Ndx * Name
|
||||
#...
|
||||
* [0-9a-f]+: * 0*12340000 * 0 * SECTION * LOCAL * DEFAULT * [0-9]+ *
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * LOCAL * DEFAULT * [0-9]+ * hidden_foo
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * LOCAL * DEFAULT * [0-9]+ * internal_baz
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * LOCAL * DEFAULT * [0-9]+ * internal_bar
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * LOCAL * DEFAULT * [0-9]+ * internal_foo
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * LOCAL * DEFAULT * [0-9]+ * hidden_bar
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * LOCAL * DEFAULT * [0-9]+ * hidden_baz
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * GLOBAL * PROTECTED * [0-9]+ * protected_foo
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * GLOBAL * PROTECTED * [0-9]+ * protected_bar
|
||||
#...
|
||||
* [0-9a-f]+: * 0*123400a0 * 0 * NOTYPE * GLOBAL * PROTECTED * [0-9]+ * protected_baz
|
||||
#pass
|
1
ld/testsuite/ld-elf/export-class.vd
Normal file
1
ld/testsuite/ld-elf/export-class.vd
Normal file
|
@ -0,0 +1 @@
|
|||
No version information found in this file\.
|
85
ld/testsuite/ld-i386/export-class.exp
Normal file
85
ld/testsuite/ld-i386/export-class.exp
Normal file
|
@ -0,0 +1,85 @@
|
|||
# Expect script for symbol export classes, i386 variation.
|
||||
#
|
||||
# Copyright 2012 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 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
#
|
||||
|
||||
# Exclude non-ELF targets.
|
||||
if { ![is_elf_format] } {
|
||||
return
|
||||
}
|
||||
|
||||
# Exclude non-Linux targets; feel free to include your favorite one
|
||||
# if you like.
|
||||
if { ![istarget i?86-*-linux*] } {
|
||||
return
|
||||
}
|
||||
|
||||
set testname "i386 symbol export class test"
|
||||
|
||||
# Build an auxiliary shared object with conflicting versioned symbol
|
||||
# definitions.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (auxiliary shared object)" \
|
||||
"-shared -version-script ../ld-elf/export-class-lib.ver" \
|
||||
"" \
|
||||
{ ../ld-elf/export-class-lib.s } \
|
||||
{} \
|
||||
"i386-export-class-lib.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build a static object that pulls symbol definitions. It has to come
|
||||
# first before the auxiliary shared object and other static objects on
|
||||
# the linker's command line and hence we need to build it separately.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (initial static object)" \
|
||||
"-r" \
|
||||
"" \
|
||||
{ ../ld-elf/export-class-ref.s } \
|
||||
{} \
|
||||
"i386-export-class-ref-r.o" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build static objects that satisfy symbol dependencies and preempt
|
||||
# shared-object symbol definitions, and link all the objects built into
|
||||
# the final shared object. The command-line order of objects linked is
|
||||
# important to make sure the linker correctly preempts versioned symbols
|
||||
# from the auxiliary shared object and is as follows: ref, lib, dep, def.
|
||||
# Get a dump to make sure symbol dependencies are resolved internally.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (final shared object)" \
|
||||
"-shared -Tdata=0x12340000 tmpdir/i386-export-class-ref-r.o tmpdir/i386-export-class-lib.so" \
|
||||
"" \
|
||||
{ ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \
|
||||
{ \
|
||||
{ readelf -r i386-export-class.rd } \
|
||||
{ readelf "-x .data" i386-export-class.xd } \
|
||||
} \
|
||||
"i386-export-class.so" \
|
||||
] \
|
||||
]
|
11
ld/testsuite/ld-i386/i386-export-class.rd
Normal file
11
ld/testsuite/ld-i386/i386-export-class.rd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name
|
||||
12340010 00000008 R_386_RELATIVE *
|
||||
12340020 00000008 R_386_RELATIVE *
|
||||
12340060 00000008 R_386_RELATIVE *
|
||||
12340070 00000008 R_386_RELATIVE *
|
||||
12340080 00000008 R_386_RELATIVE *
|
||||
12340090 00000008 R_386_RELATIVE *
|
||||
12340000 [0-9a-f]+01 R_386_32 123400a0 protected_baz
|
||||
12340040 [0-9a-f]+01 R_386_32 123400a0 protected_foo
|
||||
12340050 [0-9a-f]+01 R_386_32 123400a0 protected_bar
|
11
ld/testsuite/ld-i386/i386-export-class.xd
Normal file
11
ld/testsuite/ld-i386/i386-export-class.xd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Hex dump of section '\.data':
|
||||
0x12340000 00000000 00000000 00000000 00000000 .*
|
||||
0x12340010 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340020 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340030 00000000 00000000 00000000 00000000 .*
|
||||
0x12340040 00000000 00000000 00000000 00000000 .*
|
||||
0x12340050 00000000 00000000 00000000 00000000 .*
|
||||
0x12340060 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340070 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340080 a0003412 00000000 00000000 00000000 .*
|
||||
0x12340090 a0003412 00000000 00000000 00000000 .*
|
96
ld/testsuite/ld-mips-elf/export-class.exp
Normal file
96
ld/testsuite/ld-mips-elf/export-class.exp
Normal file
|
@ -0,0 +1,96 @@
|
|||
# Expect script for symbol export classes, MIPS variation.
|
||||
#
|
||||
# Copyright 2012 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 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
#
|
||||
|
||||
# Exclude non-Linux targets; feel free to include your favorite one
|
||||
# if you like.
|
||||
if { ![istarget mips*-*-linux*] } {
|
||||
return
|
||||
}
|
||||
|
||||
proc mips_export_class_test { abi flag emul } {
|
||||
|
||||
set testname "MIPS $abi symbol export class test"
|
||||
|
||||
set dump [string map {o32 32 n32 32 n64 64} $abi]
|
||||
|
||||
set AFLAGS "$flag -EB"
|
||||
set LDFLAGS "-m$emul"
|
||||
|
||||
# Build an auxiliary shared object with conflicting versioned symbol
|
||||
# definitions.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (auxiliary shared object)" \
|
||||
"$LDFLAGS -shared -version-script ../ld-elf/export-class-lib.ver" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-lib.s } \
|
||||
{} \
|
||||
"mips-$abi-export-class-lib.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build a static object that pulls symbol definitions. It has to come
|
||||
# first before the auxiliary shared object and other static objects on
|
||||
# the linker's command line and hence we need to build it separately.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (initial static object)" \
|
||||
"$LDFLAGS -r" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-ref.s } \
|
||||
{} \
|
||||
"mips-$abi-export-class-ref-r.o" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build static objects that satisfy symbol dependencies and preempt
|
||||
# shared-object symbol definitions, and link all the objects built into
|
||||
# the final shared object. The command-line order of objects linked is
|
||||
# important to make sure the linker correctly preempts versioned symbols
|
||||
# from the auxiliary shared object and is as follows: ref, lib, dep, def.
|
||||
# Get a dump to make sure symbol dependencies are resolved internally.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (final shared object)" \
|
||||
"$LDFLAGS -shared -Tdata=0x12340000 tmpdir/mips-$abi-export-class-ref-r.o tmpdir/mips-$abi-export-class-lib.so" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \
|
||||
[list \
|
||||
[list readelf -r mips-$dump-export-class.rd] \
|
||||
[list readelf "-x .data" mips-$dump-export-class.xd] \
|
||||
] \
|
||||
"mips-$abi-export-class.so" \
|
||||
] \
|
||||
]
|
||||
}
|
||||
|
||||
# For targets that default to a specific ISA (instead of "from-abi"),
|
||||
# the 64-bit -march option is required to override it, like for
|
||||
# "mipsisa32r2el-*-*".
|
||||
set abis { o32 -32 elf32btsmip n32 "-n32 -march=mips3" elf32btsmipn32 n64 "-64 -march=mips3" elf64btsmip }
|
||||
foreach { abi flag emul } $abis {
|
||||
mips_export_class_test $abi $flag $emul
|
||||
}
|
12
ld/testsuite/ld-mips-elf/mips-32-export-class.rd
Normal file
12
ld/testsuite/ld-mips-elf/mips-32-export-class.rd
Normal file
|
@ -0,0 +1,12 @@
|
|||
Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name
|
||||
00000000 00000000 R_MIPS_NONE *
|
||||
12340000 00000003 R_MIPS_REL32 *
|
||||
12340010 00000003 R_MIPS_REL32 *
|
||||
12340020 00000003 R_MIPS_REL32 *
|
||||
12340040 00000003 R_MIPS_REL32 *
|
||||
12340050 00000003 R_MIPS_REL32 *
|
||||
12340060 00000003 R_MIPS_REL32 *
|
||||
12340070 00000003 R_MIPS_REL32 *
|
||||
12340080 00000003 R_MIPS_REL32 *
|
||||
12340090 00000003 R_MIPS_REL32 *
|
11
ld/testsuite/ld-mips-elf/mips-32-export-class.xd
Normal file
11
ld/testsuite/ld-mips-elf/mips-32-export-class.xd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Hex dump of section '\.data':
|
||||
0x12340000 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340010 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340020 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340030 00000000 00000000 00000000 00000000 .*
|
||||
0x12340040 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340050 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340060 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340070 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340080 123400a0 00000000 00000000 00000000 .*
|
||||
0x12340090 123400a0 00000000 00000000 00000000 .*
|
32
ld/testsuite/ld-mips-elf/mips-64-export-class.rd
Normal file
32
ld/testsuite/ld-mips-elf/mips-64-export-class.rd
Normal file
|
@ -0,0 +1,32 @@
|
|||
Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name
|
||||
000000000000 000000000000 R_MIPS_NONE *
|
||||
Type2: R_MIPS_NONE *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340000 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340010 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340020 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340040 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340050 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340060 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340070 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340080 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
||||
000012340090 000000001203 R_MIPS_REL32 *
|
||||
Type2: R_MIPS_64 *
|
||||
Type3: R_MIPS_NONE *
|
11
ld/testsuite/ld-mips-elf/mips-64-export-class.xd
Normal file
11
ld/testsuite/ld-mips-elf/mips-64-export-class.xd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Hex dump of section '\.data':
|
||||
0x12340000 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340010 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340020 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340030 00000000 00000000 00000000 00000000 .*
|
||||
0x12340040 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340050 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340060 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340070 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340080 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340090 00000000 123400a0 00000000 00000000 .*
|
106
ld/testsuite/ld-powerpc/export-class.exp
Normal file
106
ld/testsuite/ld-powerpc/export-class.exp
Normal file
|
@ -0,0 +1,106 @@
|
|||
# Expect script for symbol export classes, PowerPC variation.
|
||||
#
|
||||
# Copyright 2012 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 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
#
|
||||
|
||||
# Exclude non-Linux targets; feel free to include your favorite one
|
||||
# if you like.
|
||||
if { ![istarget powerpc*-*-linux*] } {
|
||||
return
|
||||
}
|
||||
|
||||
proc supports_ppc64 { } {
|
||||
global ld
|
||||
|
||||
catch "exec $ld --help | grep emulations" tmp
|
||||
if [string match "*elf64ppc*" $tmp] then {
|
||||
return 1
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
proc powerpc_export_class_test { abi emul } {
|
||||
|
||||
set testname "PowerPC $abi symbol export class test"
|
||||
|
||||
set AFLAGS "-a$abi -be"
|
||||
set LDFLAGS "-m$emul"
|
||||
|
||||
# Build an auxiliary shared object with conflicting versioned symbol
|
||||
# definitions.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (auxiliary shared object)" \
|
||||
"$LDFLAGS -shared -version-script ../ld-elf/export-class-lib.ver" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-lib.s } \
|
||||
{} \
|
||||
"powerpc-$abi-export-class-lib.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build a static object that pulls symbol definitions. It has to come
|
||||
# first before the auxiliary shared object and other static objects on
|
||||
# the linker's command line and hence we need to build it separately.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (initial static object)" \
|
||||
"$LDFLAGS -r" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-ref.s } \
|
||||
{} \
|
||||
"powerpc-$abi-export-class-ref-r.o" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build static objects that satisfy symbol dependencies and preempt
|
||||
# shared-object symbol definitions, and link all the objects built into
|
||||
# the final shared object. The command-line order of objects linked is
|
||||
# important to make sure the linker correctly preempts versioned symbols
|
||||
# from the auxiliary shared object and is as follows: ref, lib, dep, def.
|
||||
# Get a dump to make sure symbol dependencies are resolved internally.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (final shared object)" \
|
||||
"$LDFLAGS -shared -Tdata=0x12340000 tmpdir/powerpc-$abi-export-class-ref-r.o tmpdir/powerpc-$abi-export-class-lib.so" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \
|
||||
[list \
|
||||
[list readelf -r powerpc-$abi-export-class.rd] \
|
||||
[list readelf "-x .data" powerpc-$abi-export-class.xd] \
|
||||
] \
|
||||
"powerpc-$abi-export-class.so" \
|
||||
] \
|
||||
]
|
||||
}
|
||||
|
||||
if { [supports_ppc64] } {
|
||||
set abis { 32 elf32ppclinux 64 elf64ppc }
|
||||
} else {
|
||||
set abis { 32 elf32ppclinux }
|
||||
}
|
||||
foreach { abi emul } $abis {
|
||||
powerpc_export_class_test $abi $emul
|
||||
}
|
11
ld/testsuite/ld-powerpc/powerpc-32-export-class.rd
Normal file
11
ld/testsuite/ld-powerpc/powerpc-32-export-class.rd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend
|
||||
12340000 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340010 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340020 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340040 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340050 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340060 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340070 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340080 00000016 R_PPC_RELATIVE * 123400a0
|
||||
12340090 00000016 R_PPC_RELATIVE * 123400a0
|
11
ld/testsuite/ld-powerpc/powerpc-32-export-class.xd
Normal file
11
ld/testsuite/ld-powerpc/powerpc-32-export-class.xd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Hex dump of section '\.data':
|
||||
0x12340000 00000000 00000000 00000000 00000000 .*
|
||||
0x12340010 00000000 00000000 00000000 00000000 .*
|
||||
0x12340020 00000000 00000000 00000000 00000000 .*
|
||||
0x12340030 00000000 00000000 00000000 00000000 .*
|
||||
0x12340040 00000000 00000000 00000000 00000000 .*
|
||||
0x12340050 00000000 00000000 00000000 00000000 .*
|
||||
0x12340060 00000000 00000000 00000000 00000000 .*
|
||||
0x12340070 00000000 00000000 00000000 00000000 .*
|
||||
0x12340080 00000000 00000000 00000000 00000000 .*
|
||||
0x12340090 00000000 00000000 00000000 00000000 .*
|
11
ld/testsuite/ld-powerpc/powerpc-64-export-class.rd
Normal file
11
ld/testsuite/ld-powerpc/powerpc-64-export-class.rd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend
|
||||
000012340000 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340010 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340020 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340040 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340050 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340060 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340070 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340080 000000000016 R_PPC64_RELATIVE * 123400a0
|
||||
000012340090 000000000016 R_PPC64_RELATIVE * 123400a0
|
11
ld/testsuite/ld-powerpc/powerpc-64-export-class.xd
Normal file
11
ld/testsuite/ld-powerpc/powerpc-64-export-class.xd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Hex dump of section '\.data':
|
||||
0x12340000 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340010 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340020 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340030 00000000 00000000 00000000 00000000 .*
|
||||
0x12340040 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340050 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340060 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340070 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340080 00000000 123400a0 00000000 00000000 .*
|
||||
0x12340090 00000000 123400a0 00000000 00000000 .*
|
93
ld/testsuite/ld-x86-64/export-class.exp
Normal file
93
ld/testsuite/ld-x86-64/export-class.exp
Normal file
|
@ -0,0 +1,93 @@
|
|||
# Expect script for symbol export classes, x86-64 variation.
|
||||
#
|
||||
# Copyright 2012 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 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
#
|
||||
|
||||
# Exclude non-Linux targets; feel free to include your favorite one
|
||||
# if you like.
|
||||
if { ![istarget x86_64*-*-linux*] } {
|
||||
return
|
||||
}
|
||||
|
||||
proc x86_64_export_class_test { abi flag emul } {
|
||||
|
||||
set testname "x86-64 $abi symbol export class test"
|
||||
|
||||
set dump [string map {32 ../ld-i386/i386 x32 x86-64-x32 64 x86-64-64} $abi]
|
||||
|
||||
set AFLAGS "$flag"
|
||||
set LDFLAGS "-m$emul"
|
||||
|
||||
# Build an auxiliary shared object with conflicting versioned symbol
|
||||
# definitions.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (auxiliary shared object)" \
|
||||
"$LDFLAGS -shared -version-script ../ld-elf/export-class-lib.ver" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-lib.s } \
|
||||
{} \
|
||||
"x86-64-$abi-export-class-lib.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build a static object that pulls symbol definitions. It has to come
|
||||
# first before the auxiliary shared object and other static objects on
|
||||
# the linker's command line and hence we need to build it separately.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (initial static object)" \
|
||||
"$LDFLAGS -r" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-ref.s } \
|
||||
{} \
|
||||
"x86-64-$abi-export-class-ref-r.o" \
|
||||
] \
|
||||
]
|
||||
|
||||
# Build static objects that satisfy symbol dependencies and preempt
|
||||
# shared-object symbol definitions, and link all the objects built into
|
||||
# the final shared object. The command-line order of objects linked is
|
||||
# important to make sure the linker correctly preempts versioned symbols
|
||||
# from the auxiliary shared object and is as follows: ref, lib, dep, def.
|
||||
# Get a dump to make sure symbol dependencies are resolved internally.
|
||||
run_ld_link_tests [list \
|
||||
[list \
|
||||
"$testname (final shared object)" \
|
||||
"$LDFLAGS -shared -Tdata=0x12340000 tmpdir/x86-64-$abi-export-class-ref-r.o tmpdir/x86-64-$abi-export-class-lib.so" \
|
||||
"$AFLAGS" \
|
||||
{ ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \
|
||||
[list \
|
||||
[list readelf -r $dump-export-class.rd] \
|
||||
[list readelf "-x .data" ../ld-i386/i386-export-class.xd] \
|
||||
] \
|
||||
"x86-64-$abi-export-class.so" \
|
||||
] \
|
||||
]
|
||||
}
|
||||
|
||||
set abis { 32 --32 elf_i386 x32 --x32 elf32_x86_64 64 --64 elf_x86_64 }
|
||||
foreach { abi flag emul } $abis {
|
||||
x86_64_export_class_test $abi $flag $emul
|
||||
}
|
11
ld/testsuite/ld-x86-64/x86-64-64-export-class.rd
Normal file
11
ld/testsuite/ld-x86-64/x86-64-64-export-class.rd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend
|
||||
000012340010 000000000008 R_X86_64_RELATIVE 123400a0
|
||||
000012340020 000000000008 R_X86_64_RELATIVE 123400a0
|
||||
000012340060 000000000008 R_X86_64_RELATIVE 123400a0
|
||||
000012340070 000000000008 R_X86_64_RELATIVE 123400a0
|
||||
000012340080 000000000008 R_X86_64_RELATIVE 123400a0
|
||||
000012340090 000000000008 R_X86_64_RELATIVE 123400a0
|
||||
000012340000 [0-9a-f]+00000001 R_X86_64_64 00000000123400a0 protected_baz \+ 0
|
||||
000012340040 [0-9a-f]+00000001 R_X86_64_64 00000000123400a0 protected_foo \+ 0
|
||||
000012340050 [0-9a-f]+00000001 R_X86_64_64 00000000123400a0 protected_bar \+ 0
|
11
ld/testsuite/ld-x86-64/x86-64-x32-export-class.rd
Normal file
11
ld/testsuite/ld-x86-64/x86-64-x32-export-class.rd
Normal file
|
@ -0,0 +1,11 @@
|
|||
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
|
||||
* Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend
|
||||
12340010 00000008 R_X86_64_RELATIVE 123400a0
|
||||
12340020 00000008 R_X86_64_RELATIVE 123400a0
|
||||
12340060 00000008 R_X86_64_RELATIVE 123400a0
|
||||
12340070 00000008 R_X86_64_RELATIVE 123400a0
|
||||
12340080 00000008 R_X86_64_RELATIVE 123400a0
|
||||
12340090 00000008 R_X86_64_RELATIVE 123400a0
|
||||
12340000 [0-9a-f]+0a R_X86_64_32 123400a0 protected_baz \+ 0
|
||||
12340040 [0-9a-f]+0a R_X86_64_32 123400a0 protected_foo \+ 0
|
||||
12340050 [0-9a-f]+0a R_X86_64_32 123400a0 protected_bar \+ 0
|
Loading…
Add table
Add a link
Reference in a new issue