OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

Compare Revisions

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

Rev 132 → Rev 156

/secrel1.s
0,0 → 1,79
.text
 
.ascii ">>>>"
pre04: .ascii "<<<<"
.ascii ">>>>>"
pre0d: .ascii "<<<"
.ascii ">>>>>>"
pre16: .ascii "<<"
.ascii ">>>>>>>"
pre1f: .ascii "<"
 
.data
 
.ascii ">>>>"
sam04: .ascii "<<<<"
.ascii ">>>>>"
sam0d: .ascii "<<<"
.ascii ">>>>>>"
sam16: .ascii "<<"
.ascii ">>>>>>>"
sam1f: .ascii "<"
 
.ascii ">>>>"
.secrel32 pre04
.byte 0x11
.secrel32 pre0d
.byte 0x11
.secrel32 pre16
.byte 0x11
.secrel32 pre1f
.byte 0x11
.ascii "<<<<<<<<"
 
.ascii ">>>>"
.secrel32 sam04
.byte 0x11
.secrel32 sam0d
.byte 0x11
.secrel32 sam16
.byte 0x11
.secrel32 sam1f
.byte 0x11
.ascii "<<<<<<<<"
 
.ascii ">>>>"
.secrel32 nex04
.byte 0x11
.secrel32 nex0d
.byte 0x11
.secrel32 nex16
.byte 0x11
.secrel32 nex1f
.byte 0x11
.ascii "<<<<<<<<"
 
.ascii ">>>>"
.secrel32 ext24
.byte 0x11
.secrel32 ext2d
.byte 0x11
.secrel32 ext36
.byte 0x11
.secrel32 ext3f
.byte 0x11
.ascii "<<<<<<<<"
 
.section .rdata
 
.ascii ">>>>"
nex04: .ascii "<<<<"
.ascii ">>>>>"
nex0d: .ascii "<<<"
.ascii ">>>>>>"
nex16: .ascii "<<"
.ascii ">>>>>>>"
nex1f: .ascii "<"
.ascii ">>>>"
 
.p2align 4,0
/secrel2.s
0,0 → 1,14
.text
 
.ascii ">>>>"
.global ext24
ext24: .ascii "<<<<"
.ascii ">>>>>"
.global ext2d
ext2d: .ascii "<<<"
.ascii ">>>>>>"
.global ext36
ext36: .ascii "<<"
.ascii ">>>>>>>"
.global ext3f
ext3f: .ascii "<"
/pe.exp
0,0 → 1,46
# Expect script for export table in executables tests
# Copyright 2004, 2006, 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.
#
# This test can only be run on PE/COFF platforms that support .secrel32.
if { ![istarget i*86-*-cygwin*]
&& ![istarget i*86-*-pe]
&& ![istarget i*86-*-mingw*]
&& ![istarget x86_64-*-mingw*]
&& ![istarget arm-wince-pe] } {
return
}
 
if {[istarget x86_64-*-mingw*] } {
set pe_tests {
{".secrel32" "" "" {secrel1.s secrel2.s}
{{objdump -s secrel_64.d}} "secrel.x"}
}
} else {
set pe_tests {
{".secrel32" "" "" {secrel1.s secrel2.s}
{{objdump -s secrel.d}} "secrel.x"}
}
}
 
run_ld_link_tests $pe_tests
 
run_dump_test "image_size"
/secrel.d
0,0 → 1,27
 
tmpdir/secrel\.x: +file format pei-.*
 
Contents of section \.text:
.*1000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*1010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*1020 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*1030 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*1040 ........ ........ ........ ........ ................
Contents of section \.data:
.*2000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*2010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*2020 3e3e3e3e 04000000 110d0000 00111600 >>>>............
.*2030 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
.*2040 3e3e3e3e 04000000 110d0000 00111600 >>>>............
.*2050 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
.*2060 3e3e3e3e 04000000 110d0000 00111600 >>>>............
.*2070 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
.*2080 3e3e3e3e 24000000 112d0000 00113600 >>>>\$....-....6.
.*2090 0000113f 00000011 3c3c3c3c 3c3c3c3c ...\?....<<<<<<<<
Contents of section \.rdata:
.*3000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*3010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*3020 3e3e3e3e 00000000 00000000 00000000 >>>>............
Contents of section \.idata:
.*4000 00000000 00000000 00000000 00000000 ................
.*4010 00000000 ....
/direct.exp
0,0 → 1,146
# Expect script for direct linking from dll tests
# Copyright 2006, 2007
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#
# Written by Pedro Alves <pedro_alves@portugalmail.pt>
#
# Note:
#
# This test checks the "direct linking to a dll" functionality.
#
# The test has 7 stages:
#
# 1. compile and link a test dll with ".dll" extension.
#
# 2. compile and link a test dll with ".sl" (i.e. != ".dll") extension.
#
# 3. compile and link a client application linking directly to the ".dll" dll built in 1.
# This should produce no errors.
#
# 4. compile and link a client application linking directly to the ".sl" dll built in 2.
# This should produce no errors.
#
# 5. compile and link a client application linking directly to a symlink into
# the ".dll" dll built in 1.
# This should produce no errors.
#
# 6. compile and link a client application linking directly to a symlink into
# the ".sl" dll built in 1.
# This should produce no errors.
#
# 7. run the produced executables
 
# This test can only be run on PE/COFF platforms.
if { ![istarget *-*-cygwin*]
&& ![istarget *-*-mingw*]
&& ![istarget *-*-pe] } {
return
}
 
# No compiler, no test.
if { [which $CC] == 0 } {
untested "Direct linking to dll test"
return
}
 
set tmpdir tmpdir
 
proc test_direct_link_dll {} {
global CC
global CFLAGS
global srcdir
global subdir
global tmpdir
# Compile the dll.
if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/direct_dll.c $tmpdir/direct_dll.o ] {
fail "compiling shared lib"
} elseif ![ld_simple_link "$CC -shared" $tmpdir/direct_dll.dll "$tmpdir/direct_dll.o" ] {
fail "linking shared lib (.dll)"
} elseif ![ld_simple_link "$CC -shared" $tmpdir/direct_dll.sl "$tmpdir/direct_dll.o" ] {
fail "linking shared lib (.sl)"
} else {
# Compile and link the client program.
if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/direct_client.c $tmpdir/direct_client.o ] {
fail "compiling client"
} else {
# Check linking directly to direct_dll.dll.
set msg "linking client (.dll)"
if [ld_simple_link $CC $tmpdir/direct_client_dll.exe "$tmpdir/direct_client.o $tmpdir/direct_dll.dll" ] {
pass $msg
} else {
fail $msg
}
 
# Check linking directly to direct_dll.sl.
set msg "linking client (.sl)"
if [ld_simple_link $CC $tmpdir/direct_client_sl.exe "$tmpdir/direct_client.o $tmpdir/direct_dll.sl" ] {
pass $msg
} else {
fail $msg
}
 
# Check dll direct linking through symlink to .dll.
# Create symbolic link.
catch "exec ln -fs direct_dll.dll $tmpdir/libdirect_dll.dll.a" ln_catch
set msg "linking client (symlink -> .dll)"
if [ld_simple_link $CC $tmpdir/direct_client_symlink_dll.exe "$tmpdir/direct_client.o $tmpdir/libdirect_dll.dll.a" ] {
pass $msg
} else {
fail $msg
}
# Check dll direct linking through symlink to .sl.
# Create symbolic link.
catch "exec ln -fs direct_dll.sl $tmpdir/libdirect_sl.dll.a" ln_catch
set msg "linking client (symlink -> .sl)"
if [ld_simple_link $CC $tmpdir/direct_client_symlink_sl.exe "$tmpdir/direct_client.o $tmpdir/libdirect_sl.dll.a" ] {
pass $msg
} else {
fail $msg
}
}
}
}
 
proc directdll_execute {exe msg} {
set expected ""
catch "exec $exe" prog_output
if [string match $expected $prog_output] then {
pass $msg
} else {
verbose $prog_output
fail $msg
}
}
 
test_direct_link_dll
 
# This is as far as we can go with a cross-compiler
if ![isnative] then {
verbose "Not running natively, so cannot execute binaries"
return
}
 
directdll_execute "$tmpdir/direct_client_dll.exe" "running direct linked dll (.dll)"
directdll_execute "$tmpdir/direct_client_sl.exe" "running direct linked dll (.sl)"
directdll_execute "$tmpdir/direct_client_symlink_sl.exe" "running direct linked dll (symlink -> .sl)"
directdll_execute "$tmpdir/direct_client_symlink_dll.exe" "running direct linked dll (symlink -> .dll)"
/direct_dll.c
0,0 → 1,5
__declspec(dllexport) int
dll_func (void)
{
return 10;
}
/secrel_64.d
0,0 → 1,28
 
tmpdir/secrel\.x: +file format pei-.*
 
Contents of section \.text:
.*1000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*1010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*1020 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*1030 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*1040 ffffffff ffffffff 00000000 00000000 ................
.*1050 ffffffff ffffffff 00000000 00000000 ................
Contents of section \.data:
.*2000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*2010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*2020 3e3e3e3e 04000000 110d0000 00111600 >>>>............
.*2030 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
.*2040 3e3e3e3e 04000000 110d0000 00111600 >>>>............
.*2050 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
.*2060 3e3e3e3e 04000000 110d0000 00111600 >>>>............
.*2070 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
.*2080 3e3e3e3e 24000000 112d0000 00113600 >>>>\$....-....6.
.*2090 0000113f 00000011 3c3c3c3c 3c3c3c3c ...\?....<<<<<<<<
Contents of section \.rdata:
.*3000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
.*3010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
.*3020 3e3e3e3e 00000000 00000000 00000000 >>>>............
Contents of section \.idata:
.*4000 00000000 00000000 00000000 00000000 ................
.*4010 00000000 ....
/direct_client.c
0,0 → 1,8
__declspec(dllimport) int dll_func (void);
 
int
main()
{
dll_func ();
return 0;
}
/image_size.s
0,0 → 1,8
.text
.global _start
_start:
.byte 1
.global data
.data
data:
.byte 2
/image_size.d
0,0 → 1,9
#name: PE-COFF SizeOfImage
#ld: -T image_size.t
#objdump: -p
#target: i*86-*-mingw32
 
.*: file format .*
#...
SizeOfImage 00004000
#...
/image_size.t
0,0 → 1,15
SECTIONS
{
. = SIZEOF_HEADERS;
. = ALIGN(__section_alignment__);
.text __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
{
*(.text)
}
. = . + 0x1000;
.data BLOCK(__section_alignment__) :
{
*(.data)
}
/DISCARD/ : { *(.*) }
}

powered by: WebSVN 2.1.0

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