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

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/gnu-stable/binutils-2.20.1/binutils/testsuite
    from Rev 816 to Rev 818
    Reverse comparison

Rev 816 → Rev 818

/binutils-all/readelf.r-64
0,0 → 1,4
 
Relocation section '.rel.*text' at offset 0x.* contains 1 entries:
Offset Info Type Sym. Value Sym. Name.*
0+04 [0-9A-Fa-f]+ *R_.*0+00 external_symbol.*
/binutils-all/needed-by-reloc.s
0,0 → 1,7
.globl foo
 
.data
.long foo
.text
foo:
.long 1
/binutils-all/testranges.d
0,0 → 1,15
#PROG: objcopy
#source: testranges.s
#readelf: -wR --wide
#name: unordered .debug_info references to .debug_ranges
#not-target: ia64-*-*
 
Contents of the .debug_ranges section:
 
Offset Begin End
00000000 00000001 00000002
00000000 <End of list>
00000010 00000000 00000002
00000010 <End of list>
 
#pass
/binutils-all/testranges-ia64.d
0,0 → 1,15
#PROG: objcopy
#source: testranges-ia64.s
#readelf: -wR --wide
#name: unordered .debug_info references to .debug_ranges
#target: ia64-*-*
 
Contents of the .debug_ranges section:
 
Offset Begin End
00000000 00000001 00000002
00000000 <End of list>
00000010 00000000 00000002
00000010 <End of list>
 
#pass
/binutils-all/dlltool.exp
0,0 → 1,81
# Copyright 2002, 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
 
# 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 "i*86-*-*"] && ![istarget "x86_64-*-mingw*"] } {
return
}
 
if {![istarget "i*86-*-*pe*"] \
&& ![istarget "i*86-*-cygwin*"] \
&& ![istarget "i*86-*-mingw32*"] \
&& ![istarget "x86_64-*-mingw*"] } {
set target_xfail "yes"
} else {
set target_xfail "no"
}
 
if {![info exists DLLTOOL]} then {
return
}
 
if {[which $DLLTOOL] == 0} then {
return
}
 
verbose "$DLLTOOL -d $srcdir/$subdir/fastcall.def" 1
catch "exec $DLLTOOL -d $srcdir/$subdir/fastcall.def" err
 
if ![string match "" $err] then {
send_log "$err\n"
verbose "$err" 1
fail "dlltool (fastcall export)"
} else {
pass "dlltool (fastcall export)"
}
 
if { "$target_xfail" == "yes" } {
setup_xfail *-*
}
 
verbose "$DLLTOOL -p prefix -l tmpdir/libalias.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1
catch "exec $DLLTOOL -p prefix -l tmpdir/libalias.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err
 
if ![string match "" $err] then {
send_log "$err\n"
verbose "$err" 1
fail "dlltool -p (execution)"
continue
}
 
pass "dlltool -p (execution)"
 
set got [binutils_run $NM "tmpdir/libalias.a"]
set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol"
 
if [regexp $want $got] then {
pass "dlltool -p (symbol names)"
} else {
fail "dlltool -p (symbol names)"
}
 
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias.a"]
set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\.\\..*){2,2}"
 
if [regexp $want $got] then {
pass "dlltool -p (import name)"
} else {
fail "dlltool -p (import name)"
}
/binutils-all/nm.exp
0,0 → 1,123
# Copyright 1993, 1994, 1995, 1997, 2007, 2009 Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# This file was written by Rob Savoye <rob@cygnus.com>
# and rewritten by Ian Lance Taylor <ian@cygnus.com>
 
if ![is_remote host] {
if {[which $NM] == 0} then {
perror "$NM does not exist"
return
}
}
 
send_user "Version [binutil_version $NM]"
 
 
if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
return
}
 
if [is_remote host] {
set tempfile [remote_download host tmpdir/bintest.o]
} else {
set tempfile tmpdir/bintest.o
}
 
# Test nm with no arguments.
 
# This test does not work correctly on ECOFF targets, because ECOFF
# stores most symbols twice, which messes up the nm output.
setup_xfail "alpha*-*-osf*" "alpha*-*-netware*"
setup_xfail "mips*-*-ultrix*" "mips*-*-ecoff*" "mips*-*-irix4*"
setup_xfail "mips*-*-riscos*" "mips*-*-sysv3*" "mips*-sony-bsd*"
 
# This test does not work correctly on XCOFF targets, because XCOFF
# does not enter static symbols in the symbol table.
setup_xfail "*-*-aix*"
 
set got [binutils_run $NM "$NMFLAGS $tempfile"]
 
if [info exists vars] then { unset vars }
while {[regexp "(\[a-zA-Z\]) (\[a-z_\]*_symbol)(.*)" $got all type symbol rest]} {
set vars($symbol) $type
set got $rest
}
 
if {![info exists vars(text_symbol)] \
|| $vars(text_symbol) != "T" \
|| ![info exists vars(data_symbol)] \
|| $vars(data_symbol) != "D" \
|| ![info exists vars(common_symbol)] \
|| $vars(common_symbol) != "C" \
|| ![info exists vars(external_symbol)] \
|| $vars(external_symbol) != "U" \
|| ![info exists vars(static_text_symbol)] \
|| $vars(static_text_symbol) != "t" \
|| ![info exists vars(static_data_symbol)] \
|| $vars(static_data_symbol) != "d"} {
fail "nm (no arguments)"
} else {
pass "nm (no arguments)"
}
 
# Test nm -g
 
set got [binutils_run $NM "$NMFLAGS -g $tempfile"]
 
if [info exists vars] then { unset vars }
while {[regexp "(\[a-z_\]*_symbol)(.*)" $got all symbol rest]} {
set vars($symbol) 1
set got $rest
}
 
if {![info exists vars(text_symbol)] \
|| ![info exists vars(data_symbol)] \
|| ![info exists vars(common_symbol)] \
|| ![info exists vars(external_symbol)] \
|| [info exists vars(static_text_symbol)] \
|| [info exists vars(static_data_symbol)]} {
fail "nm -g"
} else {
pass "nm -g"
}
 
# Test nm -P
 
# This test does not work correctly on ECOFF targets, because ECOFF
# stores most symbols twice, which messes up the nm output.
setup_xfail "alpha*-*-osf*" "alpha*-*-netware*"
setup_xfail "mips*-*-ultrix*" "mips*-*-ecoff*" "mips*-*-irix4*"
setup_xfail "mips*-*-riscos*" "mips*-*-sysv3*" "mips*-sony-bsd*"
 
# This test does not work correctly on XCOFF targets, because XCOFF
# does not enter static symbols in the symbol table.
setup_xfail "*-*-aix*"
 
set got [binutils_run $NM "$NMFLAGS -P $tempfile"]
 
set want "common_symbol C \[0\]*4.*data_symbol D \[0-9a-fA-F\]*.*external_symbol U.*static_data_symbol d \[0-9a-fA-F\]*.*static_text_symbol t \[0-9a-fA-F\]*.*text_symbol T \[0-9a-fA-F\]*"
 
if [regexp $want $got] then {
pass "nm -P"
} else {
fail "nm -P"
}
 
# There are certainly other tests that could be run.
/binutils-all/link-order.s
0,0 → 1,13
.text
.align 16
.global foo#
.proc foo#
foo:
.prologue 2, 2
.vframe r2
mov r2 = r12
.body
.restore sp
mov r12 = r2
br.ret.sptk.many b0
.endp foo#
/binutils-all/unique.s
0,0 → 1,4
.data
.type foo,%gnu_unique_object
foo:
.byte 0
/binutils-all/copytest.s
0,0 → 1,7
.globl foo_symbol
.section foo
foo_symbol:
.long 1
.section bar
bar_symbol:
.long 2
/binutils-all/localize-hidden-2.d
0,0 → 1,7
#PROG: objcopy
#nm: -n
#objcopy: --localize-hidden
#name: --localize-hidden test 2
#...
0+100 A G
#pass
/binutils-all/readelf.ss-tmips
0,0 → 1,15
 
Symbol table '.symtab' contains 12 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 SECTION LOCAL DEFAULT 3
3: 00000000 0 SECTION LOCAL DEFAULT 4
4: 00000000 0 NOTYPE LOCAL DEFAULT 1 static_text_symbol
5: 00000000 0 NOTYPE LOCAL DEFAULT 3 static_data_symbol
6: 00000000 0 SECTION LOCAL DEFAULT 5
7: 00000000 0 SECTION LOCAL DEFAULT 6
8: 00000000 0 OBJECT GLOBAL DEFAULT 1 text_symbol
9: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol
10: 00000000 0 OBJECT GLOBAL DEFAULT 3 data_symbol
11: 00000004 4 (COMMON|OBJECT) GLOBAL DEFAULT (PRC|COM) common_symbol
/binutils-all/testranges.s
0,0 → 1,61
# Test .debug_info can reference .debug_ranges entries without ordering the
# offsets strictly as increasing.
 
.text
start:
.byte 1
sub:
.byte 2
end:
 
.section .debug_ranges,"",%progbits
range:
 
range_sub:
.4byte sub, end
.4byte 0, 0 ;# range terminator
 
range_cu:
.4byte start, end
.4byte 0, 0 ;# range terminator
 
.section .debug_info,"",%progbits
.4byte debugE - debugS ;# Length of Compilation Unit Info
debugS:
.short 0x2 ;# DWARF version number
.4byte abbrev0 ;# Offset Into Abbrev. Section
.byte 0x4 ;# Pointer Size (in bytes)
 
.uleb128 0x1 ;# (DIE (0xb) DW_TAG_compile_unit)
.4byte range_cu - range ;# DW_AT_ranges
 
.uleb128 0x2 ;# (DIE (0x6d) DW_TAG_subprogram)
.ascii "A\0" ;# DW_AT_name
.4byte range_sub - range ;# DW_AT_ranges
 
;# minimal section alignment on alpha-* is 2, ensure no new invalid CU
;# will be started.
.balign 2
debugE:
 
.section .debug_abbrev,"",%progbits
abbrev0:
.uleb128 0x1 ;# (abbrev code)
.uleb128 0x11 ;# (TAG: DW_TAG_compile_unit)
.byte 0x0 ;# DW_children_no
.uleb128 0x55 ;# (DW_AT_ranges)
.uleb128 0x6 ;# (DW_FORM_data4)
.byte 0x0
.byte 0x0
 
.uleb128 0x2 ;# (abbrev code)
.uleb128 0x2e ;# (TAG: DW_TAG_subprogram)
.byte 0x0 ;# DW_children_no
.uleb128 0x3 ;# (DW_AT_name)
.uleb128 0x8 ;# (DW_FORM_string)
.uleb128 0x55 ;# (DW_AT_ranges)
.uleb128 0x6 ;# (DW_FORM_data4)
.byte 0x0
.byte 0x0
 
.byte 0x0 ;# abbrevs terminator
/binutils-all/strip-1.d
0,0 → 1,11
#PROG: strip
#source: group.s
#readelf: -Sg --wide
#name: strip with section group 1
 
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
#...
There are no section groups in this file.
/binutils-all/testranges-ia64.s
0,0 → 1,57
# Test .debug_info can reference .debug_ranges entries without ordering the
# offsets strictly as increasing.
 
.text
start:
.byte 1
sub:
.byte 2
end:
 
.section .debug_ranges,"",@progbits
range:
 
range_sub:
data4.ua @secrel(sub), @secrel(end)
data4.ua 0, 0 /* range terminator */
 
range_cu:
data4.ua @secrel(start), @secrel(end)
data4.ua 0, 0 /* range terminator */
 
.section .debug_info,"",@progbits
data4.ua debugE - debugS /* Length of Compilation Unit Info */
debugS:
.short 0x2 /* DWARF version number */
data4.ua @secrel(abbrev0) /* Offset Into Abbrev. Section */
.byte 0x4 /* Pointer Size (in bytes) */
 
.uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
data4.ua range_cu - range /* DW_AT_ranges */
 
.uleb128 0x2 /* (DIE (0x6d) DW_TAG_subprogram) */
.ascii "A\0" /* DW_AT_name */
data4.ua range_sub - range /* DW_AT_ranges */
debugE:
 
.section .debug_abbrev,"",@progbits
abbrev0:
.uleb128 0x1 /* (abbrev code) */
.uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
.byte 0x0 /* DW_children_no */
.uleb128 0x55 /* (DW_AT_ranges) */
.uleb128 0x6 /* (DW_FORM_data4) */
.byte 0x0
.byte 0x0
 
.uleb128 0x2 /* (abbrev code) */
.uleb128 0x2e /* (TAG: DW_TAG_subprogram) */
.byte 0x0 /* DW_children_no */
.uleb128 0x3 /* (DW_AT_name) */
.uleb128 0x8 /* (DW_FORM_string) */
.uleb128 0x55 /* (DW_AT_ranges) */
.uleb128 0x6 /* (DW_FORM_data4) */
.byte 0x0
.byte 0x0
 
.byte 0x0 /* abbrevs terminator */
/binutils-all/strip-3.d
0,0 → 1,11
#PROG: strip
#source: empty.s
#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .pdr -R .xtensa.info
#readelf: -S --wide
#name: strip empty file
#target: *-*-linux*
 
#...
\[[ 0]+\][ \t]+NULL[ \t]+.*
\[[ 1]+\] \.shstrtab.*[ \t]+STRTAB[ \t]+.*
#pass
/binutils-all/strip-5.d
0,0 → 1,18
#PROG: strip
#source: group-2.s
#strip: --strip-unneeded
#readelf: -Sg --wide
#name: strip with section group 5
 
#...
\[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
#...
COMDAT group section \[[ 0-9]+\] `.group' \[.text.foo\] contains 2 sections:
\[Index\] Name
\[[ 0-9]+\] .text.*
\[[ 0-9]+\] .data.*
#pass
/binutils-all/m68k/movem.s
0,0 → 1,2
movem.l %d0-%d3,-(%sp)
movem.l %d0-%d3,(%sp)
/binutils-all/m68k/objdump.exp
0,0 → 1,53
# Copyright 2004, 2007, 2009
# Free Software Foundation, Inc.
 
# 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 "m68*-*-*"] || [istarget "m68h*-*-*"] || [istarget "m681*-*-*"]} then {
return
}
 
if {[which $OBJDUMP] == 0} then {
perror "$OBJDUMP does not exist"
return
}
 
send_user "Version [binutil_version $OBJDUMP]"
 
###########################
# Set up the test of movem.s
###########################
 
if {![binutils_assemble $srcdir/$subdir/movem.s tmpdir/movem.o]} then {
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/movem.o]
} else {
set objfile tmpdir/movem.o
}
 
# Make sure that the movem is correctly decoded.
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble $objfile"]
 
set want "moveml %d0-%d3,%sp@-.*moveml %d0-%d3,%sp@\[\r\n\]"
 
if [regexp $want $got] then {
pass "movem test"
} else {
fail "movem test"
}
/binutils-all/alias.def
0,0 → 1,2
EXPORTS
symbol=nothing
/binutils-all/strip-7.d
0,0 → 1,18
#PROG: strip
#source: group-3.s
#strip: --strip-unneeded
#readelf: -Sg --wide
#name: strip with section group 7
 
#...
\[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
#...
COMDAT group section \[[ 0-9]+\] `.group' \[foo3\] contains 2 sections:
\[Index\] Name
\[[ 0-9]+\] .text.*
\[[ 0-9]+\] .data.*
#pass
/binutils-all/hppa/freg.s
0,0 → 1,23
.LEVEL 2.0
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.SPACE $TEXT$
.SUBSPA $CODE$
 
.align 4
.NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
main
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
fmpyfadd,sgl %fr4L,%fr4R,%fr5R,%fr5L
.EXIT
.PROCEND
/binutils-all/hppa/objdump.exp
0,0 → 1,96
# Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2002, 2007, 2009
# Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# This file was written by Rob Savoye <rob@cygnus.com>
# and rewritten by Ian Lance Taylor <ian@cygnus.com>
 
if ![istarget hppa*-*-*] then {
return
}
 
# These tests are not suitable for wide mode.
if [istarget hppa*w-*-*] then {
return
}
 
# elf hppa assembler doesn't support .subspa
if {[istarget *64*-*-*] || [istarget *-*-*elf*] || [istarget *-*-linux*]} then {
return
}
 
if {[which $OBJDUMP] == 0} then {
perror "$OBJDUMP does not exist"
return
}
 
send_user "Version [binutil_version $OBJDUMP]"
 
if {![binutils_assemble $srcdir/$subdir/addendbug.s tmpdir/addendbug.o]} then {
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/addendbug.o]
} else {
set objfile tmpdir/addendbug.o
}
 
# Make sure the SOM BFD code sign extends constants in R_DATA_OVERRIDE fixups.
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $objfile"]
 
if [istarget hppa*-*-*elf*] then {
set want "00000000 R_PARISC_DPREL21L\[ \]+is_idchar\\+0xffffffe0.*"
} else {
set want "00000000 R_DP_RELATIVE\[ \]+is_idchar\\+0xffffffe0.*"
}
 
 
if [regexp $want $got] then {
pass "addendbug test"
} else {
fail "addendbug test"
}
 
###########################
# Set up the test of freg.s
###########################
 
if {![binutils_assemble $srcdir/$subdir/freg.s tmpdir/freg.o]} then {
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/freg.o]
} else {
set objfile tmpdir/freg.o
}
 
# Make sure that we get R float regs like we're supposed to
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble $objfile"]
 
set want "fmpyfadd,sgl fr4,fr4R,fr5R,fr5"
 
if [regexp $want $got] then {
pass "freg test"
} else {
fail "freg test"
}
/binutils-all/hppa/addendbug.s
0,0 → 1,23
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.SPACE $TEXT$
.SUBSPA $CODE$
 
.align 4
.EXPORT initialize_char_syntax,CODE
.EXPORT initialize_char_syntax,ENTRY,PRIV_LEV=3,RTNVAL=GR
initialize_char_syntax
.PROC
.CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
.ENTRY
addil L'is_idchar-$global$-32,%r27
.EXIT
.PROCEND
is_idchar .comm 256
/binutils-all/strip-9.d
0,0 → 1,18
#PROG: strip
#source: group-4.s
#strip: --strip-unneeded
#readelf: -Sg --wide
#name: strip with section group 9
 
#...
\[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
#...
COMDAT group section \[[ 0-9]+\] `.group' \[foo4\] contains 2 sections:
\[Index\] Name
\[[ 0-9]+\] .text.*
\[[ 0-9]+\] .data.*
#pass
/binutils-all/copy-2.d
0,0 → 1,18
#PROG: objcopy
#objdump: -h
#objcopy: --set-section-flags foo=contents,alloc,load,code
#name: copy with setting section flags 2
#source: copytest.s
#not-target: *-*-*aout
# Note - we use copytest.s and a section named "foo" rather
# than .text because for some file formats (eg PE) the .text
# section has a fixed set of flags and these cannot be changed.
 
.*: +file format .*
 
Sections:
Idx.*
#...
[0-9]* foo.*
CONTENTS, ALLOC, LOAD, CODE
#...
/binutils-all/localize-hidden-2.s
0,0 → 1,2
.globl G
G == 0x100
/binutils-all/readelf.ss-mips
0,0 → 1,15
 
Symbol table '.symtab' contains 12 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT . (|\.text)
2: 00000000 0 SECTION LOCAL DEFAULT . (|\.data)
3: 00000000 0 SECTION LOCAL DEFAULT . (|\.bss)
4: 00000000 0 SECTION LOCAL DEFAULT . (|\.reginfo)
5: 00000000 0 SECTION LOCAL DEFAULT . (|\.pdr)
6: 00000000 0 OBJECT GLOBAL DEFAULT . text_symbol
7: 00000000 0 NOTYPE LOCAL DEFAULT . static_text_symbol
8: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol
9: 00000000 0 OBJECT GLOBAL DEFAULT . data_symbol
10: 00000000 0 NOTYPE LOCAL DEFAULT . static_data_symbol
11: 00000004 4 (COMMON|OBJECT) GLOBAL DEFAULT (PRC|COM) common_symbol
/binutils-all/readelf.exp
0,0 → 1,337
# Copyright 1999, 2000, 2001, 2003, 2004, 2007, 2009
# Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# Written by Nick Clifton <nickc@cygnus.com>
# Based on scripts written by Ian Lance Taylor <ian@cygnus.com>
# and Ken Raeburn <raeburn@cygnus.com>.
 
# Exclude non-ELF targets.
if ![is_elf_format] {
verbose "$READELF is only intended for ELF targets" 2
return
}
 
# First some helpful procedures, then the tests themselves
 
# Return the contents of the filename given
proc file_contents { filename } {
set file [open $filename r]
set contents [read $file]
close $file
return $contents
}
 
# Find out the size by reading the output of the EI_CLASS field.
# Similar to the test for readelf -h, but we're just looking for the
# EI_CLASS line here.
proc readelf_find_size { binary_file } {
global READELF
global READELFFLAGS
global readelf_size
 
set readelf_size ""
set testname "finding out ELF size with readelf -h"
set got [remote_exec host "$READELF $READELFFLAGS -h $binary_file" "" "/dev/null" "readelf.out"]
if [is_remote host] then {
remote_upload host "readelf.out"
}
 
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]]} then {
send_log $got
fail $testname
return
}
 
if { ! [regexp "\n\[ \]*Class:\[ \]*ELF(\[0-9\]+)\n" \
[file_contents readelf.out] nil readelf_size] } {
verbose -log "EI_CLASS field not found in output"
verbose -log "output is \n[file_contents readelf.out]"
fail $testname
return
} else {
verbose -log "ELF size is $readelf_size"
}
 
pass $testname
}
 
# Run an individual readelf test.
# Basically readelf is run on the binary_file with the given options.
# Readelf's output is captured and then compared against the contents
# of the regexp_file-readelf_size if it exists, else regexp_file.
 
proc readelf_test { options binary_file regexp_file xfails } {
 
global READELF
global READELFFLAGS
global readelf_size
global srcdir
global subdir
send_log "exec $READELF $READELFFLAGS $options $binary_file > readelf.out\n"
set got [remote_exec host "$READELF $READELFFLAGS $options $binary_file" "" "/dev/null" "readelf.out"]
 
foreach xfail $xfails {
setup_xfail $xfail
}
 
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
fail "readelf $options (reason: unexpected output)"
send_log $got
send_log "\n"
return
}
 
set target_machine ""
if [istarget "mips*-*-*"] then {
if { [istarget "mips*-*-*linux*"] || [istarget "mips*-sde-elf*"] } then {
set target_machine tmips
} else {
set target_machine mips
}
}
 
if { $target_machine != "" && [file exists $srcdir/$subdir/$regexp_file-$readelf_size-$target_machine] } then {
set regexp_file $regexp_file-$readelf_size-$target_machine
} elseif { $target_machine != "" && [file exists $srcdir/$subdir/$regexp_file-$target_machine] } then {
set regexp_file $regexp_file-$target_machine
} elseif { [file exists $srcdir/$subdir/$regexp_file-$readelf_size] } then {
set regexp_file $regexp_file-$readelf_size
}
 
if { [regexp_diff readelf.out $srcdir/$subdir/$regexp_file] } then {
fail "readelf $options"
verbose "output is \n[file_contents readelf.out]" 2
return
}
 
pass "readelf $options"
}
 
# Simple proc to skip certain expected warning messages.
 
proc prune_readelf_wi_warnings { text } {
regsub -all "(^|\n)(.*Skipping unexpected symbol type.*)" $text "\\1" text
return $text
}
 
# Testing the "readelf -wi" option is difficult because there
# is no guaranteed order to the output, and because some ports
# will use indirect string references, whilst others will use
# direct references. So instead of having an expected output
# file, like the other readelf tests, we grep for strings that
# really ought to be there.
 
proc readelf_wi_test {} {
global READELF
global READELFFLAGS
global srcdir
global subdir
# Compile the second test file.
if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
verbose "Unable to compile test file."
untested "readelf -wi"
return
}
 
# Download it.
set tempfile [remote_download host tmpdir/testprog.o]
 
# Run "readelf -wi" on it.
set got [remote_exec host "$READELF $READELFFLAGS -wi $tempfile" "" "/dev/null" "readelf.out"]
 
# Upload the results.
set output [remote_upload host readelf.out]
 
file_on_host delete $tempfile
# Strip any superflous warnings.
set got [prune_readelf_wi_warnings [lindex $got 1]]
 
if ![string match "" $got] then {
fail "readelf $READELFFLAGS -wi (reason: unexpected output)"
send_log $got
send_log "\n"
return
}
 
if ![file size $output] then {
# If the output file is empty, then this target does not
# generate dwarf2 output. This is not a failure.
verbose "No output from 'readelf -wi'"
untested "readelf -wi"
return
}
# Search for strings that should be in the output.
set sought {
".*DW_TAG_compile_unit.*"
".*DW_TAG_subprogram.*"
".*DW_TAG_base_type.*"
".*DW_AT_producer.*(GNU C|indirect string).*"
".*DW_AT_language.*ANSI C.*"
".*DW_AT_name.*(testprog.c|indirect string).*"
".*DW_AT_name.*fn.*"
".*DW_AT_name.*(main|indirect string).*"
".*\(DW_OP_addr: 0\).*"
}
foreach looked_for $sought {
set lines [grep $output $looked_for]
if ![llength $lines] then {
fail "readelf -wi: missing: $looked_for"
send_log readelf.out
return
}
}
 
file_on_host delete $output
# All done.
pass "readelf -wi"
}
 
# This tests "readelf -wa", but on a file with a compressed
# .debug_abbrev section.
 
proc readelf_compressed_wa_test {} {
global READELF
global READELFFLAGS
global srcdir
global subdir
# Compile the compressed-debug-section test file.
if { [target_compile $srcdir/$subdir/dw2-compressed.S tmpdir/dw2-compressed.o object debug] != "" } {
verbose "Unable to compile test file."
untested "readelf -wa (compressed)"
return
}
 
# Download it.
set tempfile [remote_download host tmpdir/dw2-compressed.o]
 
# Run "readelf -wa" on it.
set got [remote_exec host "$READELF $READELFFLAGS -wa $tempfile" "" "/dev/null" "readelf.out"]
 
# Upload the results.
set output [remote_upload host readelf.out]
 
file_on_host delete $tempfile
if { [string compare [file_contents readelf.out] [file_contents $srcdir/$subdir/readelf.wa]] != 0 } then {
fail "readelf -wa (compressed)"
verbose "output is \n[file_contents readelf.out]" 2
verbose "expected is \n[file_contents $srcdir/$subdir/readelf.wa]" 2
return
}
 
pass "readelf -wa (compressed)"
}
 
# Test readelf's dumping abilities.
 
proc readelf_dump_test {} {
global READELF
global READELFFLAGS
global srcdir
global subdir
# Assemble the dump test file.
if {![binutils_assemble $srcdir/$subdir/dumptest.s tmpdir/dumptest.o]} then {
unresolved "readelf -p: failed to assemble dump test file"
return
}
# Download it.
set tempfile [remote_download host tmpdir/dumptest.o]
 
# Run "readelf -p.data" on it.
set got [remote_exec host "$READELF $READELFFLAGS -p.data $tempfile" "" "/dev/null" "readelf.out"]
set got [lindex $got 1]
 
# Upload the results.
set output [remote_upload host readelf.out]
 
# Check for something going wrong.
if ![string match "" $got] then {
fail "readelf -p: unexpected output"
send_log $got
send_log "\n"
return
}
 
# Search for strings that should be in the output.
set sought {
".*test_string.*"
}
foreach looked_for $sought {
set lines [grep $output $looked_for]
if ![llength $lines] then {
fail "readelf -p: missing: $looked_for"
send_log readelf.out
return
}
}
 
file_on_host delete $tempfile
file_on_host delete $output
 
# All done.
pass "readelf -p"
 
# XXX FIXME: Add test of readelf -x here
}
 
if ![is_remote host] {
if {[which $READELF] == 0} then {
perror "$READELF does not exist"
return
}
}
 
send_user "Version [binutil_version $READELF]"
 
# Assemble the test file.
if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
perror "could not assemble test file"
unresolved "readelf - failed to assemble"
return
}
 
if ![is_remote host] {
set tempfile tmpdir/bintest.o
} else {
set tempfile [remote_download host tmpdir/bintest.o]
}
 
# First, determine the size, so specific output matchers can be used.
readelf_find_size $tempfile
 
# Run the tests.
readelf_test -h $tempfile readelf.h {}
readelf_test -S $tempfile readelf.s {}
readelf_test -s $tempfile readelf.ss {}
readelf_test -r $tempfile readelf.r {}
 
readelf_wi_test
readelf_compressed_wa_test
 
readelf_dump_test
/binutils-all/copy-4.d
0,0 → 1,9
#PROG: strip
#source: bintest.s
#strip: --strip-unneeded
#nm: -n
#name: strip --strip-unneeded on common symbol
 
#...
0+04 C common_symbol
#pass
/binutils-all/group-3.s
0,0 → 1,8
.section .text.foo3,"axG",%progbits,foo3,comdat
.global foo3
foo3:
.word 0
.section .data.bar3,"awG",%progbits,foo3,comdat
.global bar3
bar3:
.word 0
/binutils-all/empty.s
0,0 → 1,8
# An empty file.
/binutils-all/readelf.wa
0,0 → 1,24
Contents of the .zdebug_abbrev section:
 
Number TAG
1 DW_TAG_compile_unit [has children]
DW_AT_stmt_list DW_FORM_data4
DW_AT_high_pc DW_FORM_addr
DW_AT_low_pc DW_FORM_addr
DW_AT_name DW_FORM_string
DW_AT_producer DW_FORM_string
DW_AT_language DW_FORM_data1
2 DW_TAG_subprogram [no children]
DW_AT_external DW_FORM_flag
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
3 DW_TAG_base_type [no children]
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
 
/binutils-all/arm/thumb2-cond.s
0,0 → 1,8
.arch armv7
.syntax unified
.thumb
foo:
bl 1f
1: it cc
bcc.w .+0xe0c
bx lr
/binutils-all/arm/objdump.exp
0,0 → 1,63
# Copyright 2004, 2007, 2009
# Free Software Foundation, Inc.
 
# 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 "arm*-*-*"]} then {
return
}
 
if {![is_remote host] && [which $OBJDUMP] == 0} then {
perror "$OBJDUMP does not exist"
return
}
 
send_user "Version [binutil_version $OBJDUMP]"
 
###########################
# Set up the test of movem.s
###########################
 
if {![binutils_assemble $srcdir/$subdir/thumb2-cond.s tmpdir/thumb2-cond.o]} then {
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/thumb2-cond.o]
} else {
set objfile tmpdir/thumb2-cond.o
}
 
# Make sure that conditional instructions are correctly decoded.
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble --start-address=6 $objfile"]
 
set want "bcc.w\[ \t\]*e12.*bx\[ \t\]*lr"
 
if [regexp $want $got] then {
pass "thumb2-cond test1"
} else {
fail "thumb2-cond test1"
}
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble --start-address=10 $objfile"]
 
set want "bx\[ \t\]*lr"
 
if [regexp $want $got] then {
pass "thumb2-cond test2"
} else {
fail "thumb2-cond test2"
}
/binutils-all/readelf.ss
0,0 → 1,18
 
Symbol table '.symtab' contains .* entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 SECTION LOCAL DEFAULT [34]
3: 00000000 0 SECTION LOCAL DEFAULT [45]
4: 00000000 0 NOTYPE LOCAL DEFAULT 1 static_text_symbol
# arm-elf targets add the $d mapping symbol here...
#...
.: 00000000 0 NOTYPE LOCAL DEFAULT [34] static_data_symbol
# v850 targets include extra SECTION symbols here for the .call_table_data
# and .call_table_text sections.
#...
.* .: 00000000 0 NOTYPE GLOBAL DEFAULT 1 text_symbol
..: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol
..: 00000000 0 NOTYPE GLOBAL DEFAULT [34] data_symbol
..: 00000004 4 (COMMON|OBJECT) GLOBAL DEFAULT ( COM|ANSI_COM) common_symbol
/binutils-all/fastcall.def
0,0 → 1,2
EXPORTS
@fastcall@4
/binutils-all/readelf.h
0,0 → 1,20
ELF Header:
Magic: 7f 45 4c 46 0[12] 0[12] 01 .. .. 00 00 00 00 00 00 00
Class: ELF[36][24]
Data: 2's complement,.* endian
Version: 1 \(current\)
OS/ABI: .*
ABI Version: .*
Type: REL \(Relocatable file\)
Machine: .*
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 \(bytes into file\)
Start of section headers: .* \(bytes into file\)
Flags: .*
Size of this header: .* \(bytes\)
Size of program headers: 0 \(bytes\)
Number of program headers: 0
Size of section headers: .* \(bytes\)
Number of section headers: .*
Section header string table index: .*
/binutils-all/testprog.c
0,0 → 1,31
/* This program is used to test objcopy, readelf and strip. */
 
extern int strcmp (char *, const char *);
extern int printf (const char *, ...);
 
int common;
int global = 1;
static int local = 2;
static char string[] = "string";
 
int
fn (void)
{
return 3;
}
 
int
main (void)
{
if (common != 0
|| global != 1
|| local != 2
|| strcmp (string, "string") != 0)
{
printf ("failed\n");
return 1;
}
 
printf ("ok\n");
return 0;
}
/binutils-all/objdump.exp
0,0 → 1,209
# Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2007, 2008, 2009
# Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# This file was written by Rob Savoye <rob@cygnus.com>
# and rewritten by Ian Lance Taylor <ian@cygnus.com>
 
if ![is_remote host] {
if {[which $OBJDUMP] == 0} then {
perror "$OBJDUMP does not exist"
return
}
}
 
send_user "Version [binutil_version $OBJDUMP]"
 
# Simple test of objdump -i
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -i"]
 
set cpus_expected [list]
lappend cpus_expected alpha arc arm cris
lappend cpus_expected d10v d30v fr30 fr500 fr550 h8 hppa i386 i860 i960 ip2022
lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore
lappend cpus_expected mips mn10200 mn10300 ms1 msp ns32k pj powerpc pyramid
lappend cpus_expected romp rs6000 s390 sh sparc
lappend cpus_expected tahoe tic54x tic80 tms320c30 tms320c4x tms320c54x v850
lappend cpus_expected vax we32k x86-64 xscale xtensa z8k z8001 z8002
 
# Make sure the target CPU shows up in the list.
lappend cpus_expected ${target_cpu}
 
# Create regexp
set cpus_regex "([join $cpus_expected | ])"
 
verbose -log "CPU regex: $cpus_regex"
 
set want "BFD header file version.*srec\[^\n\]*\n\[^\n\]*header \[^\n\]*endian\[^\n\]*, data \[^\n\]*endian.*$cpus_regex"
 
if [regexp $want $got] then {
pass "objdump -i"
} else {
fail "objdump -i"
}
 
# The remaining tests require a test file.
 
 
if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
return
}
if [is_remote host] {
set testfile [remote_download host tmpdir/bintest.o]
} else {
set testfile tmpdir/bintest.o
}
 
# Test objdump -f
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $testfile"]
 
set want "$testfile:\[ \]*file format.*architecture:\[ \]*${cpus_regex}.*HAS_RELOC.*HAS_SYMS"
 
if ![regexp $want $got] then {
fail "objdump -f"
} else {
pass "objdump -f"
}
 
# Test objdump -h
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $testfile"]
 
set want "$testfile:\[ \]*file format.*Sections.*\[0-9\]+\[ \]+\[^ \]*(text|TEXT|\\\$CODE\\\$)\[^ \]*\[ \]*(\[0-9a-fA-F\]+).*\[0-9\]+\[ \]+\[^ \]*(\\.data|DATA)\[^ \]*\[ \]*(\[0-9a-fA-F\]+)"
 
if ![regexp $want $got all text_name text_size data_name data_size] then {
fail "objdump -h"
} else {
verbose "text name is $text_name size is $text_size"
verbose "data name is $data_name size is $data_size"
set ets 8
set eds 4
# The [ti]c4x target has the property sizeof(char)=sizeof(long)=1
if [istarget *c4x*-*-*] then {
set ets 2
set eds 1
}
# c54x section sizes are in bytes, not octets; adjust accordingly
if [istarget *c54x*-*-*] then {
set ets 4
set eds 2
}
if {[expr "0x$text_size"] < $ets || [expr "0x$data_size"] < $eds} then {
send_log "sizes too small\n"
fail "objdump -h"
} else {
pass "objdump -h"
}
}
 
# Test objdump -t
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -t $testfile"]
 
if [info exists vars] then { unset vars }
while {[regexp "(\[a-z\]*_symbol)(.*)" $got all symbol rest]} {
set vars($symbol) 1
set got $rest
}
 
if {![info exists vars(text_symbol)] \
|| ![info exists vars(data_symbol)] \
|| ![info exists vars(common_symbol)] \
|| ![info exists vars(external_symbol)]} then {
fail "objdump -t"
} else {
pass "objdump -t"
}
 
# Test objdump -r
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $testfile"]
 
set want "$testfile:\[ \]*file format.*RELOCATION RECORDS FOR \\\[\[^\]\]*(text|TEXT|\\\$CODE\\\$)\[^\]\]*\\\].*external_symbol"
 
if [regexp $want $got] then {
pass "objdump -r"
} else {
fail "objdump -r"
}
 
# Test objdump -s
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s $testfile"]
 
set want "$testfile:\[ \]*file format.*Contents.*(text|TEXT|\\\$CODE\\\$)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000001|01000000|00000100).*Contents.*(data|DATA)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000002|02000000|00000200)"
 
if [regexp $want $got] then {
pass "objdump -s"
} else {
fail "objdump -s"
}
 
# Test objdump -s on a file that contains a compressed .debug section
 
if { ![is_elf_format] } then {
unsupported "objdump compressed debug"
} elseif { ![binutils_assemble $srcdir/$subdir/dw2-compressed.S tmpdir/dw2-compressed.o] } then {
fail "objdump compressed debug"
} else {
if [is_remote host] {
set compressed_testfile [remote_download host tmpdir/dw2-compressed.o]
} else {
set compressed_testfile tmpdir/dw2-compressed.o
}
 
set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -s -j .zdebug_abbrev $compressed_testfile" "" "/dev/null" "objdump.out"]
 
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
fail "objdump -s -j .zdebug_abbrev (reason: unexpected output)"
send_log $got
send_log "\n"
}
 
if { [regexp_diff objdump.out $srcdir/$subdir/objdump.s] } then {
fail "objdump -s -j .zdebug_abbrev"
} else {
pass "objdump -s -j .zdebug_abbrev"
}
 
# Test objdump -W on a file that contains some compressed .debug sections
 
set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -W $compressed_testfile" "" "/dev/null" "objdump.out"]
 
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
fail "objdump -W (reason: unexpected output)"
send_log $got
send_log "\n"
}
 
if { [regexp_diff objdump.out $srcdir/$subdir/objdump.W] } then {
fail "objdump -W"
} else {
pass "objdump -W"
}
}
 
 
# Options which are not tested: -a -d -D -R -T -x -l --stabs
# I don't see any generic way to test any of these other than -a.
# Tests could be written for specific targets, and that should be done
# if specific problems are found.
/binutils-all/objcopy.exp
0,0 → 1,879
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
# 2004, 2006, 2007, 2009
# Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# Written by Ian Lance Taylor <ian@cygnus.com>
 
if ![is_remote host] {
if {[which $OBJCOPY] == 0} then {
perror "$OBJCOPY does not exist"
return
}
}
 
send_user "Version [binutil_version $OBJCOPY]"
 
if ![is_remote host] {
set tempfile tmpdir/bintest.o
set copyfile tmpdir/copy
} else {
set tempfile [remote_download host tmpdir/bintest.o]
set copyfile copy
}
 
# Test that objcopy does not modify a file when copying it.
 
proc objcopy_test {testname srcfile} {
global OBJCOPY
global OBJCOPYFLAGS
global srcdir
global subdir
global tempfile
global copyfile
 
if {![binutils_assemble $srcdir/$subdir/${srcfile} tmpdir/bintest.o]} then {
perror "unresolved $testname"
unresolved "objcopy ($testname)"
return
}
 
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS $tempfile ${copyfile}.o"]
 
if ![string match "" $got] then {
fail "objcopy ($testname)"
} else {
send_log "cmp $tempfile ${copyfile}.o\n"
verbose "cmp $tempfile ${copyfile}.o"
if [is_remote host] {
set src1 tmpdir/bintest.o
set src2 tmpdir/copy.o
remote_upload host $tempfile $src1
remote_upload host ${copyfile}.o $src2
} else {
set src1 ${tempfile}
set src2 ${copyfile}.o
}
set status [remote_exec build cmp "${src1} ${src2}"]
set exec_output [lindex $status 1]
set exec_output [prune_warnings $exec_output]
 
# On some systems the result of objcopy will not be identical.
# Usually this is just because gas isn't using bfd to write the
# files in the first place, and may order things a little
# differently. Those systems should use setup_xfail here.
 
setup_xfail "h8300-*-rtems*" "h8300-*-coff"
setup_xfail "h8500-*-rtems*" "h8500-*-coff"
setup_xfail "hppa*-*-*"
setup_xfail "i960-*"
setup_xfail "m68*-*-*coff" "m68*-*-hpux*" "m68*-*-lynxos*"
setup_xfail "m68*-*-sysv*" "m68*-apple-aux*"
setup_xfail "m8*-*"
setup_xfail "or32-*-rtems*" "or32-*-coff"
setup_xfail "sh-*-coff*" "sh-*-rtems*"
setup_xfail "tic4x-*-*" "tic80-*-*" "w65-*"
 
clear_xfail "hppa*64*-*-hpux*" "hppa*-*-linux*" "hppa*-*-lites*"
clear_xfail "hppa*-*-*n*bsd*" "hppa*-*-rtems*" "*-*-*elf*"
clear_xfail "m68*-*-sysv4*"
 
if [string match "" $exec_output] then {
pass "objcopy ($testname)"
} else {
send_log "$exec_output\n"
verbose "$exec_output" 1
 
# On OSF/1, this succeeds with gas and fails with /bin/as.
setup_xfail "alpha*-*-osf*"
 
fail "objcopy ($testname)"
}
}
}
 
objcopy_test "simple copy" bintest.s
 
# Test reversing bytes in a section.
 
set reversed ${tempfile}-reversed
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -j .data --reverse-bytes=4 $tempfile $reversed"]
 
if ![string match "" $got] then {
fail "objcopy --reverse-bytes"
} else {
if [is_remote host] {
remote_upload host ${reversed} tmpdir/copy-reversed.o
set reversed tmpdir/copy-reversed.o
}
 
set origdata [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s -j .data $tempfile"]
set revdata [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s -j .data $reversed"]
 
set want "^ \[0-9\]+ (\[0-9\]+)"
set found_orig [regexp -lineanchor $want $origdata -> origdata]
set found_rev [regexp -lineanchor $want $revdata -> revdata]
 
if {$found_orig == 0 || $found_rev == 0} then {
fail "objcopy --reverse-bytes"
} else {
scan $origdata "%2x%2x%2x%2x" b1 b2 b3 b4
scan $revdata "%2x%2x%2x%2x" c4 c3 c2 c1
 
if {$b1 == $c1 && $b2 == $c2 && $b3 == $c3 && $b4 == $c4} then {
pass "objcopy --reverse-bytes"
} else {
fail "objcopy --reverse-bytes"
}
}
}
 
# Test generating S records.
 
# We make the srec filename 8.3 compatible. Note that the header string
# matched against depends on the name of the file. Ugh.
 
if [is_remote host] {
set srecfile copy.sre
set header_string S00B0000636F70792E737265C1
} else {
set srecfile ${copyfile}.srec
set header_string S0130000746D706469722F636F70792E7372656397
}
 
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec $tempfile ${srecfile}"]
 
if ![string match "" $got] then {
fail "objcopy -O srec"
} else {
if [is_remote host] {
remote_upload host ${srecfile} tmpdir/copy.srec
set srecfile tmpdir/copy.srec
}
set file [open ${srecfile} r]
 
# The first S record is fixed by the file name we are using.
gets $file line
send_log "$line\n"
verbose $line
if ![regexp "$header_string.*" $line] {
send_log "bad header\n"
fail "objcopy -O srec"
} else {
while {[gets $file line] != -1 \
&& [regexp "^S\[123\]\[0-9a-fA-F\]+\[\r\n\]*$" $line]} {
send_log "$line\n"
verbose $line
set line "**EOF**"
}
send_log "$line\n"
verbose $line
if ![regexp "^S\[789\]\[0-9a-fA-F\]+\[\r\n\]*$" $line] then {
send_log "bad trailer\n"
fail "objcopy -O srec"
} else {
if {[gets $file line] != -1} then {
send_log "garbage at end\n"
send_log "$line\n"
verbose $line
fail "objcopy -O srec"
} else {
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f ${srecfile}"]
if ![regexp "file format srec" $got] then {
send_log "objdump failed\n"
fail "objcopy -O srec"
} else {
pass "objcopy -O srec"
}
}
}
}
 
close $file
}
 
# Test setting and adjusting the start address. We only test this
# while generating S records, because we may not be able to set the
# start address for other object file formats, and the S record case
# is the only useful one anyhow.
 
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $tempfile"]
if ![regexp "start address (\[0-9a-fA-FxX\]+)" $got all origstart] then {
perror "objdump can not recognize bintest.o"
set origstart ""
} else {
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec --set-start 0x7654 $tempfile ${copyfile}.srec"]
if ![string match "" $got] then {
fail "objcopy --set-start"
} else {
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f ${copyfile}.srec"]
if ![regexp "file format srec.*start address (\[0-9a-fA-FxX\]+)" $got all srecstart] then {
fail "objcopy --set-start"
} else {
if {$srecstart != 0x7654} then {
send_log "$srecstart != 0x7654\n"
fail "objcopy --set-start"
} else {
pass "objcopy --set-start"
}
}
}
 
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec --adjust-start 0x123 $tempfile ${copyfile}.srec"]
if ![string match "" $got] then {
fail "objcopy --adjust-start"
} else {
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f ${copyfile}.srec"]
if ![regexp "file format srec.*start address (\[0-9a-fA-FxX\]+)" $got all srecstart] then {
fail "objcopy --adjust-start"
} else {
if {$srecstart != $origstart + 0x123} then {
send_log "$srecstart != $origstart + 0x123\n"
fail "objcopy --adjust-start"
} else {
pass "objcopy --adjust-start"
}
}
}
}
 
# Test adjusting the overall VMA, and adjusting the VMA of a
# particular section. We again only test this when generating S
# records.
 
set low ""
set lowname ""
 
set headers [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $tempfile"]
 
set headers_regexp "\[ 0-9\]+(\[^ \]+)\[ \]*(\[0-9a-fA-F\]+)\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)\[ \]+\[0-9a-fA-F\]+\[ \]+2\[*\]\[*\]\[0-9\]+(.*)"
 
set got $headers
while {[regexp $headers_regexp $got all name size vma rest]} {
set vma 0x$vma
set size 0x$size
if {$size != 0} {
if {$low == "" || $vma < $low} {
set low $vma
set lowname $name
}
}
set got $rest
}
 
if {$low == "" || $origstart == ""} then {
perror "objdump can not recognize bintest.o"
} else {
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec --adjust-vma 0x123 $tempfile ${copyfile}.srec"]
if ![string match "" $got] then {
fail "objcopy --adjust-vma"
} else {
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -fh ${copyfile}.srec"]
set want "file format srec.*start address\[ \]*(\[0-9a-fA-FxX\]+).*sec1\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)"
if ![regexp $want $got all start vma] then {
fail "objcopy --adjust-vma"
} else {
set vma 0x$vma
if {$vma != $low + 0x123} then {
send_log "$vma != $low + 0x123\n"
fail "objcopy --adjust-vma"
} else {
if {$start != $origstart + 0x123} then {
send_log "$start != $origstart + 0x123\n"
fail "objcopy --adjust-vma"
} else {
pass "objcopy --adjust-vma"
}
}
}
}
 
set arg ""
set got $headers
while {[regexp $headers_regexp $got all name size vma rest]} {
set vma 0x$vma
if {$vma == $low} then {
set arg "$arg --adjust-section-vma $name+4"
}
set got $rest
}
 
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec $arg $tempfile ${copyfile}.srec"]
if ![string match "" $got] then {
fail "objcopy --adjust-section-vma +"
} else {
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h ${copyfile}.srec"]
set want "file format srec.*sec1\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)"
if ![regexp $want $got all vma] then {
fail "objcopy --adjust-section-vma +"
} else {
set vma 0x$vma
if {$vma != $low + 4} then {
send_log "$vma != $low + 4\n"
fail "objcopy --adjust-section-vma +"
} else {
pass "objcopy --adjust-section-vma +"
}
}
}
 
regsub -all "\\+4" $arg "=[expr $low + 4]" argeq
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec $argeq $tempfile ${copyfile}.srec"]
if ![string match "" $got] then {
fail "objcopy --adjust-section-vma ="
} else {
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h ${copyfile}.srec"]
set want "file format srec.*sec1\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)"
if ![regexp $want $got all vma] then {
fail "objcopy --adjust-section-vma ="
} else {
set vma 0x$vma
if {$vma != $low + 4} then {
send_log "$vma != $low + 4\n"
fail "objcopy --adjust-section-vma ="
} else {
pass "objcopy --adjust-section-vma ="
}
}
}
}
 
# Test stripping an object.
 
proc strip_test { } {
global AR
global CC
global STRIP
global STRIPFLAGS
global NM
global NMFLAGS
global srcdir
global subdir
 
set test "strip"
 
if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
untested $test
return
}
 
if [is_remote host] {
set archive libstrip.a
set objfile [remote_download host tmpdir/testprog.o]
remote_file host delete $archive
} else {
set archive tmpdir/libstrip.a
set objfile tmpdir/testprog.o
}
 
remote_file build delete tmpdir/libstrip.a
 
set exec_output [binutils_run $AR "rc $archive ${objfile}"]
if ![string match "" $exec_output] {
fail $test
return
}
 
set exec_output [binutils_run $STRIP "-g $archive"]
if ![string match "" $exec_output] {
fail $test
return
}
 
set exec_output [binutils_run $STRIP "$STRIPFLAGS $archive"]
if ![string match "" $exec_output] {
fail $test
return
}
 
if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
untested $test
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/testprog.o]
} else {
set objfile tmpdir/testprog.o
}
 
set exec_output [binutils_run $STRIP "$STRIPFLAGS $objfile"]
if ![string match "" $exec_output] {
fail $test
return
}
 
set exec_output [binutils_run $NM "-a $NMFLAGS $objfile"]
if ![string match "*: no symbols*" $exec_output] {
fail $test
return
}
 
pass $test
}
 
strip_test
 
# Test stripping an object file with saving a symbol
 
proc strip_test_with_saving_a_symbol { } {
global CC
global STRIP
global STRIPFLAGS
global NM
global NMFLAGS
global srcdir
global subdir
 
set test "strip with saving a symbol"
 
if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
untested $test
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/testprog.o]
} else {
set objfile tmpdir/testprog.o
}
 
set exec_output [binutils_run $STRIP "$STRIPFLAGS -K main -K _main $objfile"]
if ![string match "" $exec_output] {
fail $test
return
}
 
set exec_output [binutils_run $NM "$NMFLAGS $objfile"]
if {![regexp {^([0-9a-fA-F]+)?[ ]+[TD] main} $exec_output] \
&& ![regexp {^([0-9a-fA-F]+)?[ ]+T _main} $exec_output]} {
fail $test
return
}
 
pass $test
}
 
strip_test_with_saving_a_symbol
 
# Build a final executable.
 
if { [istarget *-*-cygwin] || [istarget *-*-mingw*] } {
set test_prog "testprog.exe"
} else {
set test_prog "testprog"
}
 
proc copy_setup { } {
global srcdir
global subdir
global gcc_gas_flag
global test_prog
global host_triplet
set res [build_wrapper testglue.o]
set flags { debug }
if { [istarget *-*-uclinux*] } {
return 1
}
if { $res != "" } {
lappend flags "additional_flags=[lindex $res 1]"
set add_libs "testglue.o"
} else {
set add_libs ""
}
 
if { [istarget *-*-linux*] } {
foreach i $gcc_gas_flag {
set flags "additional_flags=$i $flags"
}
}
if { [target_compile "$srcdir/$subdir/testprog.c $add_libs" tmpdir/$test_prog executable $flags] != "" } {
return 2
}
 
set result [remote_load target tmpdir/$test_prog]
set status [lindex $result 0]
 
if { $status != "pass" } {
send_log "cannot run executable, status = ${status} on ${host_triplet}\n"
if { [istarget $host_triplet] } {
return 3
}
set status "pass"
}
 
return 0
}
 
# Test copying an executable.
 
proc copy_executable { prog flags test1 test2 } {
global test_prog
global host_triplet
 
if [is_remote host] {
set testfile [remote_download host tmpdir/$test_prog]
set testcopy copyprog
} else {
set testfile tmpdir/$test_prog
set testcopy tmpdir/copyprog
}
remote_file host delete $testcopy
 
set exec_output [binutils_run $prog "$flags $testfile $testcopy"]
 
if ![string match "" $exec_output] {
fail $test1
if [string match "" $test2] {
return
}
fail $test2
return
}
 
if [is_remote host] {
remote_upload host $testcopy tmpdir/copyprog
}
 
set status [remote_exec build "cmp" "tmpdir/$test_prog tmpdir/copyprog"]
set exec_output [lindex $status 1]
 
if [string match "" $exec_output] then {
pass $test1
} else {
send_log "$exec_output\n"
verbose "$exec_output"
 
# This will fail for many reasons. For example, it will most
# likely fail if a non-GNU linker is used. Therefore, we do
# not insist that it pass. If you are using an assembler and
# linker based on the same BFD as objcopy, it is worth
# investigating to see why this failure occurs. If we are
# cross compiling, we assume that a GNU linker is being used,
# and expect it to succeed.
if {[isnative]} then {
setup_xfail "*-*-*"
}
 
# This also fails for mips*-*-elf targets. See elf32-mips.c
# mips_elf_sym_is_global.
setup_xfail "mips*-*-elf"
 
setup_xfail "*arm*-*-coff"
setup_xfail "xscale-*-coff"
setup_xfail "arm*-*-pe"
setup_xfail "thumb*-*-coff"
setup_xfail "thumb*-*-pe"
setup_xfail "x86_64-*-mingw*"
setup_xfail "*-*-cygwin*"
fail $test1
}
 
if [string match "" $test2] {
return
}
 
set output [remote_load target tmpdir/copyprog]
set status [lindex $output 0]
if { ![istarget $host_triplet] } {
set status "pass"
}
if { $status != "pass" } {
fail $test2
} else {
pass $test2
}
}
 
# Test stripping an executable
 
proc strip_executable { prog flags test } {
global NM
global NMFLAGS
global host_triplet
 
remote_file build delete tmpdir/striprog
remote_download build tmpdir/copyprog tmpdir/striprog
if [is_remote host] {
set copyfile [remote_download host tmpdir/striprog]
} else {
set copyfile tmpdir/striprog
}
 
set exec_output [binutils_run $prog "$flags ${copyfile}"]
if ![string match "" $exec_output] {
fail $test
return
}
 
if [is_remote host] {
remote_upload host ${copyfile} tmpdir/striprog
}
 
set result [remote_load target tmpdir/striprog]
set status [lindex $result 0]
if { ![istarget $host_triplet] } {
set status "pass"
}
if { $status != "pass" } {
fail $test
return
}
 
set exec_output [binutils_run $NM "$NMFLAGS ${copyfile}"]
if ![string match "*: no symbols*" $exec_output] {
fail $test
return
}
pass $test
}
 
# Test stripping an executable with saving a symbol
 
proc strip_executable_with_saving_a_symbol { prog flags test } {
global NM
global NMFLAGS
global host_triplet
 
remote_file build delete tmpdir/striprog
remote_download build tmpdir/copyprog tmpdir/striprog
if [is_remote host] {
set copyfile [remote_download host tmpdir/striprog]
} else {
set copyfile tmpdir/striprog
}
 
set exec_output [binutils_run $prog "$flags ${copyfile}"]
if ![string match "" $exec_output] {
fail $test
return
}
 
if [is_remote host] {
remote_upload host ${copyfile} tmpdir/striprog
}
 
set result [remote_load target tmpdir/striprog]
set status [lindex $result 0]
if { ![istarget $host_triplet] } {
set status "pass"
}
if { $status != "pass" } {
fail $test
return
}
 
set exec_output [binutils_run $NM "$NMFLAGS ${copyfile}"]
if { [istarget mmix-knuth-mmixware] } {
# Whenever there's a symbol in the mmo format, there's the symbol
# Main, so remove it manually from the expected output for sake of
# this test.
 
# Using "" not {} to get the \n and \r translated.
regsub "^\[0-9a-fA-F\]+\[ \]+T Main\[\n\r\]+" $exec_output "" exec_output
}
 
if {![regexp {^([0-9a-fA-F]+)?[ ]+[TD] main} $exec_output] \
&& ![regexp {^([0-9a-fA-F]+)?[ ]+[TD] _main} $exec_output]} {
fail $test
return
}
pass $test
}
 
# Test keeping only debug symbols of an executable
 
proc keep_debug_symbols_and_test_copy { prog1 flags1 test1 prog2 flags2 test2 } {
global NM
global NMFLAGS
 
remote_file build delete tmpdir/striprog
remote_download build tmpdir/copyprog tmpdir/striprog
if [is_remote host] {
set copyfile [remote_download host tmpdir/striprog]
} else {
set copyfile tmpdir/striprog
}
 
set exec_output [binutils_run $prog1 "$flags1 ${copyfile}"]
if ![string match "" $exec_output] {
fail $test1
return
}
pass $test1
 
set exec_output [binutils_run $prog2 "$flags2 ${copyfile}"]
if ![string match "" $exec_output] {
fail $test2
return
}
pass $test2
}
 
set test1 "simple objcopy of executable"
set test2 "run objcopy of executable"
set test3 "run stripped executable"
set test4 "run stripped executable with saving a symbol"
set test5 "keep only debug data"
set test6 "simple objcopy of debug data"
 
switch [copy_setup] {
"1" {
# do nothing
}
"2" {
untested $test1
untested $test2
untested $test3
untested $test4
untested $test5
untested $test6
}
"3" {
copy_executable "$OBJCOPY" "$OBJCOPYFLAGS" "$test1" ""
unsupported $test2
unsupported $test3
unsupported $test4
unsupported $test5
unsupported $test6
}
"0" {
copy_executable "$OBJCOPY" "$OBJCOPYFLAGS" "$test1" "$test2"
strip_executable "$STRIP" "$STRIPFLAGS" "$test3"
strip_executable_with_saving_a_symbol "$STRIP" "-K main -K _main $STRIPFLAGS" "$test4"
keep_debug_symbols_and_test_copy "$STRIP" "--only-keep-debug $STRIPFLAGS" "$test5" \
"$OBJCOPY" "$OBJCOPYFLAGS" "$test6"
}
}
 
proc objcopy_test_readelf {testname srcfile} {
global OBJCOPY
global OBJCOPYFLAGS
global READELF
global srcdir
global subdir
 
if {![binutils_assemble $srcdir/$subdir/${srcfile} tmpdir/bintest.o]} then {
unresolved "objcopy ($testname)"
return
}
 
verbose -log "$OBJCOPY $OBJCOPYFLAGS tmpdir/bintest.o tmpdir/copy.o"
set exec_output [remote_exec host "$OBJCOPY $OBJCOPYFLAGS tmpdir/bintest.o tmpdir/copy.o"]
if { [lindex $exec_output 0] != 0
|| ![string match "" [lindex $exec_output 1]] } then {
fail "objcopy ($testname)"
return
}
 
verbose -log "$READELF -a tmpdir/bintest.o > tmpdir/bintest.o.out"
set exec_output [remote_exec host "$READELF -a tmpdir/bintest.o" "" "/dev/null" "tmpdir/bintest.o.out"]
if { [lindex $exec_output 0] != 0 } then {
unresolved "objcopy ($testname)"
return
}
set exec_output [prune_warnings [lindex $exec_output 1]]
if ![string match "" $exec_output] then {
unresolved "objcopy ($testname)"
return
}
 
verbose -log "$READELF -a tmpdir/copy.o > tmpdir/copy.o.out"
set exec_output [remote_exec host "$READELF -a tmpdir/copy.o" "" "/dev/null" "tmpdir/copy.o.out"]
if { [lindex $exec_output 0] != 0 } then {
unresolved "objcopy ($testname)"
return
}
set exec_output [prune_warnings [lindex $exec_output 1]]
if ![string match "" $exec_output] then {
unresolved "objcopy ($testname)"
return
}
 
verbose -log "diff tmpdir/bintest.o.out tmpdir/copy.o.out"
catch "exec diff tmpdir/bintest.o.out tmpdir/copy.o.out" exec_output
set exec_output [prune_warnings $exec_output]
 
if [string match "" $exec_output] then {
pass "objcopy ($testname)"
} else {
fail "objcopy ($testname)"
}
}
 
# ia64 specific tests
if { ([istarget "ia64-*-elf*"]
|| [istarget "ia64-*-linux*"]) } {
objcopy_test "ia64 link order" link-order.s
}
 
# ELF specific tests
if [is_elf_format] {
objcopy_test "ELF unknown section type" unknown.s
objcopy_test_readelf "ELF group" group.s
objcopy_test_readelf "ELF group" group-2.s
objcopy_test_readelf "ELF group" group-3.s
objcopy_test_readelf "ELF group" group-4.s
run_dump_test "copy-1"
}
 
run_dump_test "copy-2"
run_dump_test "copy-3"
run_dump_test "copy-4"
 
if [is_elf_format] {
run_dump_test "strip-1"
run_dump_test "strip-2"
run_dump_test "strip-3"
run_dump_test "strip-4"
run_dump_test "strip-5"
run_dump_test "strip-6"
run_dump_test "strip-7"
run_dump_test "strip-8"
run_dump_test "strip-9"
run_dump_test "strip-10"
 
if { [istarget "i*86-*"] || [istarget "x86_64-*-*"] } {
# Check to make sure we don't strip a symbol named in relocations.
set test "objcopy keeps symbols needed by relocs"
 
set srcfile $srcdir/$subdir/needed-by-reloc.s
 
if {![binutils_assemble $srcfile tmpdir/bintest.o]} then {
unresolved $test
} else {
set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS --strip-symbol=foo tmpdir/bintest.o ${copyfile}.o"]
 
if [regexp "not stripping symbol `foo' because it is named in a relocation" $got] {
pass $test
} else {
fail $test
}
}
}
 
run_dump_test "localize-hidden-1"
run_dump_test "testranges"
run_dump_test "testranges-ia64"
}
run_dump_test "localize-hidden-2"
/binutils-all/unknown.s
0,0 → 1,4
.section .foo,"a","note"
.global _start
_start:
.long 0
/binutils-all/strip-10.d
0,0 → 1,8
#PROG: strip
#source: unique.s
#strip: -g
#readelf: -s
#name: strip on STB_GNU_UNIQUE
 
#...
[ ]+[0-9]+:[ ]+[0-9a-f]+[ ]+[0-9]+[ ]+OBJECT[ ]+(UNIQUE|<OS specific>: 10) DEFAULT[ ]+[1-9] foo
/binutils-all/readelf.r
0,0 → 1,4
 
Relocation section '.rel.*text' at offset 0x.* contains 1 entries:
Offset Info Type Sym.Value Sym. Name.*
00000004 [0-9A-Fa-f]+ *R_.*00000000 external_symbol.*
/binutils-all/readelf.s
0,0 → 1,24
There are .* section headers, starting at offset .*:
 
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 0\] NULL 00000000 000000 000000 00 +0 +0 +0
# On the normal MIPS systems, sections must be aligned to 16 byte
# boundaries. On IA64, text sections are aligned to 16 byte boundaries.
\[ 1\] .text PROGBITS 00000000 0000(34|40) 0000(08|10) 00 +AX +0 +0 +(.|..)
\[ 2\] .rel.+text +REL. +0+ 0+.* 00000. 0. +. +1 +4
# MIPS targets put .rela.text here.
#...
\[ .\] .data PROGBITS 00000000 0000(3c|48|50) 0000(04|10) 00 WA +0 +0 +(.|..)
\[ .\] .bss NOBITS 00000000 0000(40|4c|60) 000000 00 WA +0 +0 +(.|..)
# MIPS targets put .reginfo and .mdebug here.
# v850 targets put .call_table_data and .call_table_text here.
#...
\[ .\] .shstrtab STRTAB 00000000 0+.* 0+.* 00 +0 +0 +.
\[ .\] .symtab SYMTAB 00000000 0+.* 0+.* 10 +.. +. +4
\[..\] .strtab STRTAB 00000000 0+.* 0+.* 00 +0 +0 +1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
I \(info\), L \(link order\), G \(group\), x \(unknown\)
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 
/binutils-all/objdump.W
0,0 → 1,129
 
.*dw2-compressed.o: file format .*
 
Contents of the .debug_info section:
 
Compilation Unit @ offset 0x0:
Length: 0x4e \(32-bit\)
Version: 2
Abbrev Offset: 0
Pointer Size: 4
<0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
< c> DW_AT_stmt_list : 0x0
<10> DW_AT_high_pc : 0x.
<14> DW_AT_low_pc : 0x.
<18> DW_AT_name : file1.txt
<22> DW_AT_producer : GNU C 3.3.3
<2e> DW_AT_language : 1 \(ANSI C\)
<1><2f>: Abbrev Number: 2 \(DW_TAG_subprogram\)
<30> DW_AT_external : 1
<31> DW_AT_decl_file : 1
<32> DW_AT_decl_line : 2
<33> DW_AT_name : func_cu1
<3c> DW_AT_type : <0x4a>
<40> DW_AT_low_pc : 0x.
<44> DW_AT_high_pc : 0x.
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5\)
<1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
<4b> DW_AT_name : int
<4f> DW_AT_byte_size : 4
<50> DW_AT_encoding : 5 \(signed\)
 
Raw dump of debug contents of section .debug_line:
 
Offset: 0x0
Length: 62
DWARF Version: 2
Prologue Length: 35
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: 1
Line Range: 1
Opcode Base: 16
 
Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args
Opcode 13 has 0 args
Opcode 14 has 0 args
Opcode 15 has 0 args
 
The Directory Table is empty.
 
The File Name Table:
Entry Dir Time Size Name
1 0 0 0 file1.txt
 
Line Number Statements:
Extended opcode 2: set Address to .*
Advance Line by 3 to 4
Copy
Copy
Extended opcode 2: set Address to .*
Extended opcode 1: End of Sequence
 
 
Offset: 0x42
Length: 25
DWARF Version: 2
Prologue Length: 19
Minimum Instruction Length: [1248]
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
 
Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args
 
The Directory Table is empty.
 
The File Name Table is empty.
 
Line Number Statements:
 
Contents of the .zdebug_abbrev section:
 
Number TAG
1 DW_TAG_compile_unit \[has children\]
DW_AT_stmt_list DW_FORM_data4
DW_AT_high_pc DW_FORM_addr
DW_AT_low_pc DW_FORM_addr
DW_AT_name DW_FORM_string
DW_AT_producer DW_FORM_string
DW_AT_language DW_FORM_data1
2 DW_TAG_subprogram \[no children\]
DW_AT_external DW_FORM_flag
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_block1
3 DW_TAG_base_type \[no children\]
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
 
/binutils-all/size.exp
0,0 → 1,82
# Copyright 1993, 1994, 1995, 1997, 1998, 2007, 2009
# Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# This file was written by Rob Savoye <rob@cygnus.com>
# and rewritten by Ian Lance Taylor <ian@cygnus.com>
 
if ![is_remote host] {
if {[which $SIZE] == 0} then {
perror "$SIZE does not exist"
return
}
}
 
send_user "Version [binutil_version $SIZE]"
 
 
if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
return
}
 
if [is_remote host] {
set testfile [remote_download host tmpdir/bintest.o]
} else {
set testfile tmpdir/bintest.o
}
 
set dec "\[0-9\]+"
set hex "\[0-9a-fA-F\]+"
 
# Test size with no arguments
 
set got [binutils_run $SIZE "$SIZEFLAGS $testfile"]
 
set want "($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($hex)\[ \]+${testfile}"
 
if ![regexp $want $got all text data bss dtot hextot] then {
fail "size (no arguments)"
} else {
if {$text < 8 || $data < 4} then {
# The z80-coff port defaults to a "binary" like output
# file format which does not include a data section.
setup_xfail "z80-*-coff"
fail "size (no arguments)"
} else {
pass "size (no arguments)"
}
}
 
# Test size -A
 
set got [binutils_run $SIZE "$SIZEFLAGS -A ${testfile}"]
 
set want "${testfile}.*(text|TEXT)\[^\n\r\]*\[ \]($dec)\[ \]+$dec.*(\\.data|DATA)\[^\n\r\]*\[ \]($dec)\[ \]+$dec"
 
if ![regexp $want $got all textname textsize dataname datasize] then {
fail "size -A"
} else {
verbose "text size: $textsize"
verbose "data size: $datasize"
if {$textsize < 8 || $datasize < 4} then {
fail "size -A"
} else {
pass "size -A"
}
}
/binutils-all/dumptest.s
0,0 → 1,2
.data
.ascii "test_string"
/binutils-all/bintest.s
0,0 → 1,12
.globl text_symbol
.text
text_symbol:
static_text_symbol:
.long 1
.long external_symbol
.globl data_symbol
.data
data_symbol:
static_data_symbol:
.long 2
.comm common_symbol,4
/binutils-all/localize-hidden-1.d
0,0 → 1,19
#PROG: objcopy
#objdump: --syms
#objcopy: --localize-hidden
#name: --localize-hidden test 1
#...
0+1200 l .*\*ABS\* 0+ \.hidden Lhidden
0+1300 l .*\*ABS\* 0+ \.internal Linternal
0+1400 l .*\*ABS\* 0+ \.protected Lprotected
0+1100 l .*\*ABS\* 0+ Ldefault
#...
0+2200 l .*\*ABS\* 0+ \.hidden Ghidden
0+2300 l .*\*ABS\* 0+ \.internal Ginternal
0+3200 l .*\*ABS\* 0+ \.hidden Whidden
0+3300 l .*\*ABS\* 0+ \.internal Winternal
0+2100 g .*\*ABS\* 0+ Gdefault
0+2400 g .*\*ABS\* 0+ \.protected Gprotected
0+3100 w.*\*ABS\* 0+ Wdefault
0+3400 w.*\*ABS\* 0+ \.protected Wprotected
#pass
/binutils-all/strip-2.d
0,0 → 1,18
#PROG: strip
#source: group.s
#strip: --strip-unneeded
#readelf: -Sg --wide
#name: strip with section group 2
 
#...
\[[ 0-9]+\] foo_group[ \t]+GROUP[ \t]+.*
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
#...
COMDAT group section \[[ 0-9]+\] `foo_group' \[foo_group\] contains 2 sections:
\[Index\] Name
\[[ 0-9]+\] .text.*
\[[ 0-9]+\] .data.*
#pass
/binutils-all/strip-4.d
0,0 → 1,11
#PROG: strip
#source: group-2.s
#readelf: -Sg --wide
#name: strip with section group 4
 
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
#...
There are no section groups in this file.
/binutils-all/strip-6.d
0,0 → 1,11
#PROG: strip
#source: group-3.s
#readelf: -Sg --wide
#name: strip with section group 6
 
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
#...
There are no section groups in this file.
/binutils-all/strip-8.d
0,0 → 1,11
#PROG: strip
#source: group-4.s
#readelf: -Sg --wide
#name: strip with section group 8
 
#...
\[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
#...
\[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
#...
There are no section groups in this file.
/binutils-all/localize-hidden-1.s
0,0 → 1,36
.globl Gdefault
.globl Ghidden
.globl Ginternal
.globl Gprotected
 
.weak Wdefault
.weak Whidden
.weak Winternal
.weak Wprotected
 
.hidden Lhidden
.hidden Ghidden
.hidden Whidden
 
.internal Linternal
.internal Ginternal
.internal Winternal
 
.protected Lprotected
.protected Gprotected
.protected Wprotected
 
Ldefault == 0x1100
Lhidden == 0x1200
Linternal == 0x1300
Lprotected == 0x1400
 
Gdefault == 0x2100
Ghidden == 0x2200
Ginternal == 0x2300
Gprotected == 0x2400
 
Wdefault == 0x3100
Whidden == 0x3200
Winternal == 0x3300
Wprotected == 0x3400
/binutils-all/copy-1.d
0,0 → 1,13
#PROG: objcopy
#objdump: -h
#objcopy: --set-section-flags .post_text_reserve=contents,alloc,load,readonly,code
#name: copy with setting section flags 1
 
.*: +file format .*
 
Sections:
Idx.*
#...
[0-9]* .post_text_reserve.*
CONTENTS, ALLOC, LOAD, READONLY, CODE
#...
/binutils-all/readelf.s-64
0,0 → 1,25
There are .* section headers, starting at offset .*:
 
Section Headers:
\[Nr\] Name Type Address Offset
Size EntSize Flags Link Info Align
\[ 0\] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
\[ 1\] .text PROGBITS 0000000000000000 00000040
00000000000000.. 0000000000000000 AX 0 0 .*
\[ 2\] .rel.+text +REL. +0+ 0+.*
000000000000001. 000000000000001. . 1 8
\[ 3\] .data PROGBITS 0000000000000000 000000(48|50)
000000000000000[48] 0000000000000000 WA 0 0 .*
\[ 4\] .bss NOBITS 0000000000000000 000000(4c|50|54|58)
0000000000000000 0000000000000000 WA 0 0 .*
\[ 5\] .shstrtab STRTAB 0000000000000000 000000(4c|50|54|58)
00000000000000.. 0000000000000000 0 0 .*
\[ 6\] .symtab SYMTAB 0000000000000000 0+.*
0+.* 0000000000000018 7 6 8
\[ 7\] .strtab STRTAB 0000000000000000 0+.*
0+.* 0000000000000000 0 0 1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
I \(info\), L \(link order\), G \(group\), x \(unknown\)
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
/binutils-all/group-2.s
0,0 → 1,8
.section .text.foo,"axG",%progbits,.text.foo,comdat
.global foo2
foo2:
.word 0
.section .data.bar,"awG",%progbits,.text.foo,comdat
.global bar2
bar2:
.word 0
/binutils-all/copy-3.d
0,0 → 1,17
#PROG: objcopy
#objdump: -h
#objcopy: --set-section-flags .text=alloc,data
#name: copy with setting section flags 3
#source: bintest.s
#not-target: *-*-*aout *-*-*pe *-*-*coff i*86-*-cygwin* i*86-*-mingw32* x86_64-*-mingw*
# The .text # section in PE/COFF has a fixed set of flags and these
# cannot be changed. We skip it for them.
 
.*: +file format .*
 
Sections:
Idx.*
#...
[0-9]* .text.*
CONTENTS, ALLOC, LOAD, RELOC, DATA
#...
/binutils-all/group.s
0,0 → 1,8
.section .text.foo,"axG",%progbits,foo_group,comdat
.global foo
foo:
.word 0
.section .data.foo,"awG",%progbits,foo_group,comdat
.global bar
bar:
.word 0
/binutils-all/ar.exp
0,0 → 1,409
# Copyright 1995, 1997, 2002, 2004, 2007, 2008, 2009
# Free Software Foundation, Inc.
 
# 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.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
 
# Written by Ian Lance Taylor <ian@cygnus.com>
 
if ![is_remote host] {
if {[which $AR] == 0} then {
perror "$AR does not exist"
return
}
}
 
# send_user "Version [binutil_version $AR]"
 
# Test long file name support
 
proc long_filenames { } {
global AR
global host_triplet
 
set testname "ar long file names"
 
set n1 "abcdefghijklmnopqrstuvwxyz1"
set n2 "abcdefghijklmnopqrstuvwxyz2"
set file1 tmpdir/$n1
set file2 tmpdir/$n2
 
remote_file build delete $file1
remote_file host delete $n1
 
# Some file systems truncate file names at 14 characters, which
# makes it impossible to run this test. Check for that now.
set status [catch "set f [open tmpdir/$n1 w]" errs]
if { $status != 0 } {
verbose -log "open tmpdir/$n1 returned $errs"
unsupported $testname
return
}
puts $f "first"
close $f
 
remote_file build delete $file2
remote_file host delete $n2
 
set status [catch "set f [open tmpdir/$n2 w]" errs]
if { $status != 0 } {
verbose -log "open tmpdir/$n2 returned $errs"
unsupported $testname
return
}
puts $f "second"
close $f
 
if [is_remote host] {
set file1 [remote_download host $file1]
set file2 [remote_download host $file2]
set dest artest.a
} else {
set dest tmpdir/artest.a
}
 
remote_file host delete $dest
 
set got [binutils_run $AR "rc $dest $file1 $file2"]
if [is_remote host] {
remote_upload host $file1 tmpdir/$n1
}
 
set f [open tmpdir/$n1 r]
gets $f string
close $f
if ![string match "first" $string] {
verbose -log "reading tmpdir/$n1 returned $string"
unsupported $testname
return
}
 
remote_file host delete $dest
set got [binutils_run $AR "rc $dest $file1 $file2"]
 
if ![string match "" $got] {
fail $testname
return
}
 
remote_file build delete tmpdir/$n1
remote_file build delete tmpdir/$n2
 
set got [binutils_run $AR "t $dest"]
regsub "\[\r\n \t\]*$" "$got" "" got
if ![string match "$n1*$n2" $got] {
fail $testname
return
}
if [is_remote host] {
remote_file host delete $file1
remote_file host delete $file2
}
 
verbose -log "$AR x $dest"
set exec_output [binutils_run $AR "x $dest"]
set exec_output [prune_warnings $exec_output]
if ![string match "" $exec_output] {
verbose -log $exec_output
fail $testname
return
}
 
if [is_remote host] {
remote_upload host $n1 tmpdir/$n1
remote_upload host $n2 tmpdir/$n2
set file1 tmpdir/$n1
set file2 tmpdir/$n2
} else {
set file1 $n1
set file2 $n2
}
 
if ![file exists $file1] {
verbose -log "$file1 does not exist"
fail $testname
return
}
if ![file exists $file2] {
verbose -log "$file2 does not exist"
fail $testname
return
}
 
set f [open $file1 r]
if { [gets $f line] == -1 || $line != "first" } {
verbose -log "$file1 contents:"
verbose -log "$line"
close $f
fail $testname
return
}
close $f
 
set f [open $file2 r]
if { [gets $f line] == -1 || $line != "second" } {
verbose -log "$file2 contents:"
verbose -log "$line"
close $f
fail $testname
return
}
close $f
 
file delete $file1 $file2
pass $testname
}
 
# Test building the symbol table.
 
proc symbol_table { } {
global AR
global AS
global NM
global srcdir
global subdir
 
set testname "ar symbol table"
 
if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
unresolved $testname
return
}
 
if [is_remote host] {
set archive artest.a
set objfile [remote_download host tmpdir/bintest.o]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
set objfile tmpdir/bintest.o
}
 
remote_file build delete tmpdir/artest.a
 
set got [binutils_run $AR "rc $archive ${objfile}"]
if ![string match "" $got] {
fail $testname
return
}
 
set got [binutils_run $NM "--print-armap $archive"]
if { ![string match "*text_symbol in bintest.o*" $got] \
|| ![string match "*data_symbol in bintest.o*" $got] \
|| ![string match "*common_symbol in bintest.o*" $got] \
|| [string match "*static_text_symbol in bintest.o*" $got] \
|| [string match "*static_data_symbol in bintest.o*" $got] \
|| [string match "*external_symbol in bintest.o*" $got] } {
fail $testname
return
}
 
pass $testname
}
 
# Test building a thin archive.
 
proc thin_archive { } {
global AR
global AS
global NM
global srcdir
global subdir
 
set testname "ar thin archive"
 
if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
unresolved $testname
return
}
 
if [is_remote host] {
set archive artest.a
set objfile [remote_download host tmpdir/bintest.o]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
set objfile tmpdir/bintest.o
}
 
remote_file build delete tmpdir/artest.a
 
set got [binutils_run $AR "rcT $archive ${objfile}"]
if ![string match "" $got] {
fail $testname
return
}
 
set got [binutils_run $NM "--print-armap $archive"]
if { ![string match "*text_symbol in *bintest.o*" $got] \
|| ![string match "*data_symbol in *bintest.o*" $got] \
|| ![string match "*common_symbol in *bintest.o*" $got] \
|| [string match "*static_text_symbol in *bintest.o*" $got] \
|| [string match "*static_data_symbol in *bintest.o*" $got] \
|| [string match "*external_symbol in *bintest.o*" $got] } {
fail $testname
return
}
 
pass $testname
}
 
# Test building a thin archive with a nested archive.
 
proc thin_archive_with_nested { } {
global AR
global AS
global NM
global srcdir
global subdir
 
set testname "ar thin archive with nested archive"
 
if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
unresolved $testname
return
}
 
if [is_remote host] {
set archive artest.a
set archive2 artest2.a
set objfile [remote_download host tmpdir/bintest.o]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
set archive2 tmpdir/artest2.a
set objfile tmpdir/bintest.o
}
 
remote_file build delete tmpdir/artest.a
 
set got [binutils_run $AR "rc $archive ${objfile}"]
if ![string match "" $got] {
fail $testname
return
}
 
remote_file build delete tmpdir/artest2.a
 
set got [binutils_run $AR "rcT $archive2 ${archive}"]
if ![string match "" $got] {
fail $testname
return
}
 
set got [binutils_run $NM "--print-armap $archive"]
if { ![string match "*text_symbol in *bintest.o*" $got] \
|| ![string match "*data_symbol in *bintest.o*" $got] \
|| ![string match "*common_symbol in *bintest.o*" $got] \
|| [string match "*static_text_symbol in *bintest.o*" $got] \
|| [string match "*static_data_symbol in *bintest.o*" $got] \
|| [string match "*external_symbol in *bintest.o*" $got] } {
fail $testname
return
}
 
pass $testname
}
 
# Test POSIX-compatible argument parsing.
 
proc argument_parsing { } {
global AR
global AS
global srcdir
global subdir
 
set testname "ar argument parsing"
 
if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
unresolved $testname
return
}
 
if [is_remote host] {
set archive artest.a
set objfile [remote_download host tmpdir/bintest.o]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
set objfile tmpdir/bintest.o
}
 
remote_file build delete tmpdir/artest.a
 
set got [binutils_run $AR "-r -c $archive ${objfile}"]
if ![string match "" $got] {
fail $testname
return
}
 
pass $testname
}
 
# Test building a deterministic archive.
 
proc deterministic_archive { } {
global AR
global AS
global NM
global srcdir
global subdir
 
set testname "ar deterministic archive"
 
if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
unresolved $testname
return
}
 
if [is_remote host] {
set archive artest.a
set objfile [remote_download host tmpdir/bintest.o]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
set objfile tmpdir/bintest.o
}
 
remote_file build delete tmpdir/artest.a
 
set got [binutils_run $AR "rcD $archive ${objfile}"]
if ![string match "" $got] {
fail $testname
return
}
 
set got [binutils_run $AR "tv $archive"]
# This only checks the file mode and uid/gid. We can't easily match
# date because it's printed with the user's timezone.
if ![string match "rw-r--r-- 0/0 *bintest.o*" $got] {
fail $testname
return
}
 
pass $testname
}
 
# Run the tests.
 
long_filenames
symbol_table
thin_archive
thin_archive_with_nested
argument_parsing
deterministic_archive
/binutils-all/group-4.s
0,0 → 1,6
.section .text.foo4,"axG",%progbits,foo4,comdat
foo4:
.word 0
.section .data.foo4,"awG",%progbits,foo4,comdat
bar4:
.word 0
/binutils-all/vax/objdump.exp
0,0 → 1,64
#
# Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2002, 2005, 2007, 2009
# Free Software Foundation, Inc.
#
# 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 file was written by Jan-Benedict Glaw <jbglaw@lug-owl.de>. It's goal
# is to check the VAX-specific support of the -M entry:0xf00 switch, which
# allows to force function entry masks at given addresses.
#
 
if ![istarget vax*-*-*] then {
return
}
 
if {[which $OBJDUMP] == 0} then {
perror "$OBJDUMP does not exist"
return
}
 
send_user "Version [binutil_version $OBJDUMP]"
 
if {![binutils_assemble $srcdir/$subdir/entrymask.s tmpdir/entrymask.o]} then {
return
}
 
if [is_remote host] {
set objfile [remote_download host tmpdir/entrymask.o]
} else {
set objfile tmpdir/entrymask.o
}
 
#
# We check both function entry points. The second one at offset 2 will
# show up automatically on ELF targets, but needs to be set on a.out
# targets.
#
set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -d -M entry:0x0 -M entry:2 $objfile"]
set want1 "\[ \]+0:\[ \]+10 01\[ \]+\\.word 0x0110.\*r8 r4"
set want2 "\[ \]+2:\[ \]+24 02\[ \]+\\.word 0x0224.\*r9 r5 r2"
if [regexp $want1 $got] then {
pass "entrymask test 1"
} else {
fail "entrymask test 1"
}
if [regexp $want2 $got] then {
pass "entrymask test 2"
} else {
fail "entrymask test 2"
}
/binutils-all/vax/entrymask.s
0,0 → 1,11
.text
 
.global label1
label1:
.word 0x0110
 
.global label2
.type label2,@function
label2:
.word 0x0224
 
/binutils-all/dw2-compressed.S
0,0 → 1,218
/* This testcase is derived from a similar test in GDB.
 
Copyright 2008, 2009 Free Software Foundation, Inc.
 
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, see <http://www.gnu.org/licenses/>. */
 
/* This tests that gdb can read compressed sections. The contents
are a basic assembly file, but the .debug_abbrev section has been
comrpessed using zlib. */
 
/* Dummy function to provide debug information for. */
 
.text
.globl _start
_start:
.int 0
.Lbegin_text1:
.globl func_cu1
.type func_cu1, %function
func_cu1:
.Lbegin_func_cu1:
.int 0
.Lend_func_cu1:
.size func_cu1, .-func_cu1
.Lend_text1:
 
/* Debug information */
 
.section .debug_info
.Lcu1_begin:
/* CU header */
.4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
.Lcu1_start:
.2byte 2 /* DWARF Version */
.4byte .Labbrev1_begin /* Offset into abbrev section */
.byte 4 /* Pointer size */
 
/* CU die */
.uleb128 1 /* Abbrev: DW_TAG_compile_unit */
.4byte .Lline1_begin /* DW_AT_stmt_list */
.4byte .Lend_text1 /* DW_AT_high_pc */
.4byte .Lbegin_text1 /* DW_AT_low_pc */
.ascii "file1.txt\0" /* DW_AT_name */
.ascii "GNU C 3.3.3\0" /* DW_AT_producer */
.byte 1 /* DW_AT_language (C) */
 
/* func_cu1 */
.uleb128 2 /* Abbrev: DW_TAG_subprogram */
.byte 1 /* DW_AT_external */
.byte 1 /* DW_AT_decl_file */
.byte 2 /* DW_AT_decl_line */
.ascii "func_cu1\0" /* DW_AT_name */
.4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
.4byte .Lbegin_func_cu1 /* DW_AT_low_pc */
.4byte .Lend_func_cu1 /* DW_AT_high_pc */
.byte 1 /* DW_AT_frame_base: length */
.byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
 
.Ltype_int:
.uleb128 3 /* Abbrev: DW_TAG_base_type */
.ascii "int\0" /* DW_AT_name */
.byte 4 /* DW_AT_byte_size */
.byte 5 /* DW_AT_encoding */
 
.byte 0 /* End of children of CU */
 
.Lcu1_end:
 
/* Line table */
.section .debug_line
.Lline1_begin:
.4byte .Lline1_end - .Lline1_start /* Initial length */
.Lline1_start:
.2byte 2 /* Version */
.4byte .Lline1_lines - .Lline1_hdr /* header_length */
.Lline1_hdr:
.byte 1 /* Minimum insn length */
.byte 1 /* default_is_stmt */
.byte 1 /* line_base */
.byte 1 /* line_range */
.byte 0x10 /* opcode_base */
 
/* Standard lengths */
.byte 0
.byte 1
.byte 1
.byte 1
.byte 1
.byte 0
.byte 0
.byte 0
.byte 1
.byte 0
.byte 0
.byte 1
.byte 0
.byte 0
.byte 0
 
/* Include directories */
.byte 0
 
/* File names */
.ascii "file1.txt\0"
.uleb128 0
.uleb128 0
.uleb128 0
 
.byte 0
 
.Lline1_lines:
.byte 0 /* DW_LNE_set_address */
.uleb128 5
.byte 2
.4byte .Lbegin_func_cu1
 
.byte 3 /* DW_LNS_advance_line */
.sleb128 3 /* ... to 4 */
 
.byte 1 /* DW_LNS_copy */
 
.byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */
 
.byte 0 /* DW_LNE_set_address */
.uleb128 5
.byte 2
.4byte .Lend_func_cu1
 
.byte 0 /* DW_LNE_end_of_sequence */
.uleb128 1
.byte 1
 
.Lline1_end:
 
/* Abbrev table -- compressed */
.section .zdebug_abbrev
.Labbrev1_begin:
.ascii "ZLIB"
.4byte 0
.2byte 0
.byte 0
.byte 51
.byte 0x78
.byte 0x5e
.byte 0x63
.byte 0x14
.byte 0x64
.byte 0x14
.byte 0x60
.byte 0x13
.byte 0x62
.byte 0x14
.byte 0x64
.byte 0x64
.byte 0xe6
.byte 0x50
.byte 0xe5
.byte 0x10
.byte 0xe6
.byte 0x66
.byte 0x60
.byte 0x60
.byte 0xd2
.byte 0x63
.byte 0xb0
.byte 0xe7
.byte 0xb1
.byte 0xe2
.byte 0xb6
.byte 0xe6
.byte 0x66
.byte 0xe6
.byte 0xf0
.byte 0x14
.byte 0x16
.byte 0x64
.byte 0x14
.byte 0x62
.byte 0x74
.byte 0xe0
.byte 0x02
.byte 0x00
.byte 0x25
.byte 0x78
.byte 0x02
.byte 0x81
.byte 0x78
.byte 0x9c
.byte 0x63
.byte 0x60
.byte 0x60
.byte 0x56
.byte 0x61
.byte 0x60
.byte 0xe6
.byte 0xe0
.byte 0xe6
.byte 0xb6
.byte 0xe3
.byte 0x66
.byte 0x00
.byte 0x02
.byte 0x00
.byte 0x04
.byte 0x9c
.byte 0x00
.byte 0x92
/binutils-all/objdump.s
0,0 → 1,9
 
.*dw2-compressed.o: file format .*
 
Contents of section .zdebug_abbrev:
0000 5a4c4942 00000000 00000033 785e6314 ZLIB.......3x\^c.
0010 64146013 62146464 e650e510 e6666060 d.`.b.dd.P...f``
0020 d263b0e7 b1e2b6e6 66e6f014 16641462 .c......f....d.b
0030 74e00200 25780281 789c6360 60566160 t...%x..x.c``Va`
0040 e6e0e6b6 e3660002 00049c00 92 .....f.......
/binutils-all/copy-1.s
0,0 → 1,6
.globl text_symbol
.text
text_symbol:
.long 1
.section .post_text_reserve,"w", %nobits
.space 160
/binutils-all/windres/dialogid.rc
0,0 → 1,9
// Test created based on bug report submitted to binutils mailing list
// See: http://sources.redhat.com/ml/binutils/2003-03/msg00312.html
 
101 DIALOGEX 0, 0, 200, 200
 
BEGIN
CONTROL 108, -1, "classname", 77, 11, 11, 83, 162
CONTROL "stringid", 102, "classname", 0x5000120e, 5, 5, 10, 10
END
/binutils-all/windres/bmpalign.rsd
0,0 → 1,38
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 6c000000 20000000 ffff0200 41000000 l... .......A...
0030 00000000 30100000 00000000 00000000 ....0...........
0040 28000000 01000000 01000000 01000400 (...............
0050 00000000 04000000 00000000 00000000 ................
0060 00000000 00000000 00000000 00008000 ................
0070 00800000 00808000 80000000 80008000 ................
0080 80800000 c0c0c000 80808000 0000ff00 ................
0090 00ff0000 00ffff00 ff000000 ff00ff00 ................
00a0 ffff0000 ffffff00 90000000 6c000000 ............l...
00b0 24000000 ffff0200 41004200 00000000 $.......A.B.....
00c0 00000000 30100000 00000000 00000000 ....0...........
00d0 28000000 01000000 01000000 01000400 (...............
00e0 00000000 04000000 00000000 00000000 ................
00f0 00000000 00000000 00000000 00008000 ................
0100 00800000 00808000 80000000 80008000 ................
0110 80800000 c0c0c000 80808000 0000ff00 ................
0120 00ff0000 00ffff00 ff000000 ff00ff00 ................
0130 ffff0000 ffffff00 90000000 6c000000 ............l...
0140 24000000 ffff0200 41004200 43000000 $.......A.B.C...
0150 00000000 30100000 00000000 00000000 ....0...........
0160 28000000 01000000 01000000 01000400 (...............
0170 00000000 04000000 00000000 00000000 ................
0180 00000000 00000000 00000000 00008000 ................
0190 00800000 00808000 80000000 80008000 ................
01a0 80800000 c0c0c000 80808000 0000ff00 ................
01b0 00ff0000 00ffff00 ff000000 ff00ff00 ................
01c0 ffff0000 ffffff00 90000000 6c000000 ............l...
01d0 28000000 ffff0200 41004200 43004400 (.......A.B.C.D.
01e0 00000000 00000000 30100000 00000000 ........0.......
01f0 00000000 28000000 01000000 01000000 ....(...........
0200 01000400 00000000 04000000 00000000 ................
0210 00000000 00000000 00000000 00000000 ................
0220 00008000 00800000 00808000 80000000 ................
0230 80008000 80800000 c0c0c000 80808000 ................
0240 0000ff00 00ff0000 00ffff00 ff000000 ................
0250 ff00ff00 ffff0000 ffffff00 90000000 ................
/binutils-all/windres/printstyle.rc
0,0 → 1,6
101 DIALOG DISCARDABLE 0, 0, 186, 95
STYLE 0
BEGIN
DEFPUSHBUTTON "OK",1,129,7,50,14
END
 
/binutils-all/windres/edittext.rsd
0,0 → 1,8
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 32000000 20000000 ffff0500 fffff501 2... ...........
0030 00000000 30100904 00000000 00000000 ....0...........
0040 00008880 00000000 01000000 0000a800 ................
0050 89000000 00000000 00008150 00000000 ...........P....
0060 1c003f00 89003400 e903ffff 81000000 ..?...4.........
0070 00000000 ....
/binutils-all/windres/nocaption.rsd
0,0 → 1,8
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
0030 00000000 30100904 00000000 00000000 ....0...........
0040 00008880 00000000 01000000 0000ba00 ................
0050 5f000000 00000000 01000150 00000000 _..........P....
0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
0070 4b000000 00000000 K.......
/binutils-all/windres/dialog1.rc
0,0 → 1,5
101 DIALOG DISCARDABLE 0, 0, 186, 95
BEGIN
DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
END
 
/binutils-all/windres/dlgfont.rsd
0,0 → 1,39
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 46000000 20000000 ffff0500 ffff6500 F... .........e.
0030 00000000 30100904 00000000 00000000 ....0...........
0040 40008880 00000000 01000000 0000ba00 @...............
0050 5f000000 00000000 08005400 61006800 _.........T.a.h.
0060 6f006d00 61000000 01000150 00000000 o.m.a......P....
0070 81000700 32000e00 0100ffff 80004f00 ....2.........O.
0080 4b000000 00000000 58000000 20000000 K.......X... ...
0090 ffff0500 ffff6600 00000000 30100904 ......f.....0...
00a0 00000000 00000000 0100ffff 00000000 ................
00b0 00000000 40008880 01000000 0000ba00 ....@...........
00c0 5f000000 00000000 08000000 00015400 _.............T.
00d0 61006800 6f006d00 61000000 00000000 a.h.o.m.a.......
00e0 00000000 01000150 81000700 32000e00 .......P....2...
00f0 01000000 ffff8000 4f004b00 00000000 ........O.K.....
0100 58000000 20000000 ffff0500 ffff6700 X... .........g.
0110 00000000 30100904 00000000 00000000 ....0...........
0120 0100ffff 00000000 00000000 40008880 ............@...
0130 01000000 0000ba00 5f000000 00000000 ........_.......
0140 08000000 00015400 61006800 6f006d00 ......T.a.h.o.m.
0150 61000000 00000000 00000000 01000150 a..............P
0160 81000700 32000e00 01000000 ffff8000 ....2...........
0170 4f004b00 00000000 58000000 20000000 O.K.....X... ...
0180 ffff0500 ffff6800 00000000 30100904 ......h.....0...
0190 00000000 00000000 0100ffff 00000000 ................
01a0 00000000 40008880 01000000 0000ba00 ....@...........
01b0 5f000000 00000000 08000000 00015400 _.............T.
01c0 61006800 6f006d00 61000000 00000000 a.h.o.m.a.......
01d0 00000000 01000150 81000700 32000e00 .......P....2...
01e0 01000000 ffff8000 4f004b00 00000000 ........O.K.....
01f0 58000000 20000000 ffff0500 ffff6900 X... .........i.
0200 00000000 30100904 00000000 00000000 ....0...........
0210 0100ffff 00000000 00000000 40008880 ............@...
0220 01000000 0000ba00 5f000000 00000000 ........_.......
0230 08000000 00015400 61006800 6f006d00 ......T.a.h.o.m.
0240 61000000 00000000 00000000 01000150 a..............P
0250 81000700 32000e00 01000000 ffff8000 ....2...........
0260 4f004b00 00000000 O.K.....
/binutils-all/windres/strtab2.rc
0,0 → 1,9
//#xfail x86_64-*-mingw*
#include "windows.h"
 
LANGUAGE 0, 0
 
STRINGTABLE MOVEABLE PURE DISCARDABLE
BEGIN
1 L"hello, world"
END
/binutils-all/windres/quoteclass.rc
0,0 → 1,8
// parse-only
 
101 DIALOG DISCARDABLE 0, 0, 186, 95
CLASS "myclass"
BEGIN
DEFPUSHBUTTON "OK",1,129,7,50,14
END
 
/binutils-all/windres/deflang.rsd
0,0 → 1,8
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
0030 00000000 30100904 00000000 00000000 ....0...........
0040 00008880 00000000 01000000 0000ba00 ................
0050 5f000000 00000000 01000150 00000000 _..........P....
0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
0070 4b000000 00000000 K.......
/binutils-all/windres/escapea.rsd
0,0 → 1,7
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 28000000 20000000 ffff0400 ffff1400 (... ...........
0030 00000000 30100904 00000000 00000000 ....0...........
0040 00000000 90002600 46006900 6c006500 ......&.F.i.l.e.
0050 00008000 11002600 4f007000 65006e00 ......&.O.p.e.n.
0060 08005e00 4f000000 ..^.O...
/binutils-all/windres/html2.hm
0,0 → 1,11
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<title>Windres</title>
</head>
 
<body>
This is a second test page for windres HTML resource.
</body>
</html>
/binutils-all/windres/escapex-2.rc
0,0 → 1,5
101 DIALOG DISCARDABLE 0, 0, 186, 95
BEGIN
LTEXT "\xB0ABC",-1,23,46,28,8
END
 
binutils-all/windres/escapex-2.rc Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: binutils-all/windres/edittext.rc =================================================================== --- binutils-all/windres/edittext.rc (nonexistent) +++ binutils-all/windres/edittext.rc (revision 818) @@ -0,0 +1,4 @@ +501 DIALOG DISCARDABLE 0, 0, 168, 137 +BEGIN + EDITTEXT 1001, 28, 63, 137, 52 +END Index: binutils-all/windres/nocaption.rc =================================================================== --- binutils-all/windres/nocaption.rc (nonexistent) +++ binutils-all/windres/nocaption.rc (revision 818) @@ -0,0 +1,4 @@ +101 DIALOG DISCARDABLE 0, 0, 186, 95 +BEGIN + DEFPUSHBUTTON "OK",1,129,7,50,14 +END Index: binutils-all/windres/sublang.rc =================================================================== --- binutils-all/windres/sublang.rc (nonexistent) +++ binutils-all/windres/sublang.rc (revision 818) @@ -0,0 +1,5 @@ +LANGUAGE 9, 1 +101 DIALOG DISCARDABLE 0, 0, 186, 95 +BEGIN + DEFPUSHBUTTON "OK",1,129,7,50,14 +END Index: binutils-all/windres/version_cat.rsd =================================================================== --- binutils-all/windres/version_cat.rsd (nonexistent) +++ binutils-all/windres/version_cat.rsd (revision 818) @@ -0,0 +1,55 @@ + +version.res: file format binary + +Contents of section .data: + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 ec020000 20000000 ffff1000 ffff0100 .... ........... + 0030 00000000 00000704 00000000 00000000 ................ + 0040 ec023400 00005600 53005f00 56004500 ..4...V.S._.V.E. + 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N. + 0060 46004f00 00000000 bd04effe 00000100 F.O............. + 0070 00000100 01000000 00000100 01000000 ................ + 0080 3f000000 00000000 04000000 01000000 ?............... + 0090 00000000 00000000 00000000 4c020000 ............L... + 00a0 00005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F. + 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o... + 00c0 28020000 00003000 34003000 37003000 (.....0.4.0.7.0. + 00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C. + 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a. + 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u. + 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B... + 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s. + 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n. + 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m. + 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r....... + 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V. + 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n..... + 0170 31002e00 30002e00 30002e00 31000000 1...0...0...1... + 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r. + 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e... + 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s... + 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L. + 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y. + 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c. + 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A. + 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t. + 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e. + 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d..... + 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i. + 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n. + 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d. + 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e... + 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u. + 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e..... + 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. . + 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e. + 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e. + 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o. + 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s. + 02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0... + 02e0 30002e00 31000000 44000000 00005600 0...1...D.....V. + 02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n. + 0300 66006f00 00000000 24000400 00005400 f.o.....$.....T. + 0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i. + 0320 6f006e00 00000000 0704e404 o.n......... Index: binutils-all/windres/deflang.rc =================================================================== --- binutils-all/windres/deflang.rc (nonexistent) +++ binutils-all/windres/deflang.rc (revision 818) @@ -0,0 +1,4 @@ +101 DIALOG DISCARDABLE 0, 0, 186, 95 +BEGIN + DEFPUSHBUTTON "OK",1,129,7,50,14 +END Index: binutils-all/windres/printstyle.rsd =================================================================== --- binutils-all/windres/printstyle.rsd (nonexistent) +++ binutils-all/windres/printstyle.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 36000000 20000000 ffff0500 ffff6500 6... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00000000 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 01000150 00000000 _..........P.... + 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O. + 0070 4b000000 00000000 K....... Index: binutils-all/windres/strtab1.rsd =================================================================== --- binutils-all/windres/strtab1.rsd (nonexistent) +++ binutils-all/windres/strtab1.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 38000000 20000000 ffff0600 ffff0100 8... ........... + 0030 00000000 30100000 00000000 00000000 ....0........... + 0040 00000c00 68006500 6c006c00 6f002c00 ....h.e.l.l.o.,. + 0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d..... + 0060 00000000 00000000 00000000 00000000 ................ + 0070 00000000 00000000 ........ Index: binutils-all/windres/strtab2.rsd =================================================================== --- binutils-all/windres/strtab2.rsd (nonexistent) +++ binutils-all/windres/strtab2.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 38000000 20000000 ffff0600 ffff0100 8... ........... + 0030 00000000 30100000 00000000 00000000 ....0........... + 0040 00000c00 68006500 6c006c00 6f002c00 ....h.e.l.l.o.,. + 0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d..... + 0060 00000000 00000000 00000000 00000000 ................ + 0070 00000000 00000000 ........ Index: binutils-all/windres/listbox.rsd =================================================================== --- binutils-all/windres/listbox.rsd (nonexistent) +++ binutils-all/windres/listbox.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 32000000 20000000 ffff0500 fffff501 2... ........... + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000a800 ................ + 0050 89000000 00000000 01008050 00000000 ...........P.... + 0060 1c003f00 89003400 e903ffff 83000000 ..?...4......... + 0070 00000000 .... Index: binutils-all/windres/capstyle.rsd =================================================================== --- binutils-all/windres/capstyle.rsd (nonexistent) +++ binutils-all/windres/capstyle.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 36000000 20000000 ffff0500 ffff6500 6... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 0000c880 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 01000150 00000000 _..........P.... + 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O. + 0070 4b000000 00000000 K....... Index: binutils-all/windres/checkbox.rsd =================================================================== --- binutils-all/windres/checkbox.rsd (nonexistent) +++ binutils-all/windres/checkbox.rsd (revision 818) @@ -0,0 +1,12 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 72000000 20000000 ffff0500 fffff501 r... ........... + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 0100ffff 00000000 00000000 00008880 ................ + 0050 02000000 0000a800 89000000 00000000 ................ + 0060 00000000 00000000 02000150 0c004c00 ...........P..L. + 0070 7b002900 ea030000 ffff8000 ffff6c00 {.)...........l. + 0080 00000000 00000000 00000000 02000150 ...............P + 0090 0c000f00 7b002900 e9030000 ffff8000 ....{.)......... + 00a0 74006900 63006b00 20006d00 65000000 t.i.c.k. .m.e... + 00b0 00000000 .... Index: binutils-all/windres/MSG00001.bin =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: binutils-all/windres/MSG00001.bin =================================================================== --- binutils-all/windres/MSG00001.bin (nonexistent) +++ binutils-all/windres/MSG00001.bin (revision 818)
binutils-all/windres/MSG00001.bin Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: binutils-all/windres/escapex-2.rsd =================================================================== --- binutils-all/windres/escapex-2.rsd (nonexistent) +++ binutils-all/windres/escapex-2.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 3a000000 20000000 ffff0500 ffff6500 :... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 00000250 00000000 _..........P.... + 0060 17002e00 1c000800 ffffffff 8200b000 ................ + 0070 41004200 43000000 00000000 A.B.C....... Index: binutils-all/windres/version_cat.rc =================================================================== --- binutils-all/windres/version_cat.rc (nonexistent) +++ binutils-all/windres/version_cat.rc (revision 818) @@ -0,0 +1,33 @@ +//#xfail x86_64-*-mingw* +#include "windows.h" + +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL + FILEFLAGS 0x0L + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040704e4" + BEGIN + VALUE L"Company" "Name", L"binutil\x0073" + VALUE "File" "Description", L"RC " L"compiler." + VALUE "File" "Version", "1.0.0.1" + VALUE "Internal" "Name", "windres" L".exe" + VALUE "Legal" "Copyright", "(c) FSF." " All rights are reserved." + VALUE "Original" "Filename", L"windres" ".exe" + VALUE "Product" "Name", "windows resource " "compiler" + VALUE "Product" "Version", "1.0.0.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x407, 1252 + END +END Index: binutils-all/windres/escapex.rsd =================================================================== --- binutils-all/windres/escapex.rsd (nonexistent) +++ binutils-all/windres/escapex.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 34000000 20000000 ffff0500 ffff6500 4... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 00000250 00000000 _..........P.... + 0060 17002e00 1c000800 ffffffff 8200b000 ................ + 0070 00000000 .... Index: binutils-all/windres/sublang.rsd =================================================================== --- binutils-all/windres/sublang.rsd (nonexistent) +++ binutils-all/windres/sublang.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 36000000 20000000 ffff0500 ffff6500 6... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 01000150 00000000 _..........P.... + 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O. + 0070 4b000000 00000000 K....... Index: binutils-all/windres/msupdate =================================================================== --- binutils-all/windres/msupdate (nonexistent) +++ binutils-all/windres/msupdate (revision 818) @@ -0,0 +1,40 @@ +#!/bin/sh +# Copyright 2001, 2007, 2009 Free Software Foundation, Inc. + +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-dejagnu@prep.ai.mit.edu + +# Written by DJ Delorie + +# Run this on a machine with Cygwin and Microsoft Visual C to create +# the RES files we match against. + +RC="rc" +if test x"$1" != x"" +then + RC="$1" +fi + +for i in *.rc +do + o=`echo $i | sed s/.rc/.res/` + d=`echo $i | sed s/.rc/.rsd/` + echo "$i -> $o -> $d" + $RC /fo$o $i + objdump -b binary -s $o | sed -n '/^ [0-9a-f][0-9a-f]* /p' > $d + rm $o +done
binutils-all/windres/msupdate Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: binutils-all/windres/dialog0.rc =================================================================== --- binutils-all/windres/dialog0.rc (nonexistent) +++ binutils-all/windres/dialog0.rc (revision 818) @@ -0,0 +1,4 @@ +101 DIALOG 0, 0, 186, 95 +BEGIN + DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14 +END Index: binutils-all/windres/messagetable.rsd =================================================================== --- binutils-all/windres/messagetable.rsd (nonexistent) +++ binutils-all/windres/messagetable.rsd (revision 818) @@ -0,0 +1,15 @@ + +messagetable.res: file format binary + +Contents of section .data: + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 70000000 20000000 ffff0b00 ffff7803 p... .........x. + 0030 00000000 30100704 00000000 00000000 ....0........... + 0040 01000000 00000000 05000000 10000000 ................ + 0050 14000000 4e6f7469 63653a20 25310d0a ....Notice: %1.. + 0060 00000000 0c000000 25310d0a 00000000 ........%1...... + 0070 10000000 5761726e 3a202531 0d0a0000 ....Warn: %1.... + 0080 10000000 4572726f 723a2025 310d0a00 ....Error: %1... + 0090 10000000 46617461 6c3a2025 310d0a00 ....Fatal: %1... + 00a0 10000000 25310d0a 25320d0a 00000000 ....%1..%2...... Index: binutils-all/windres/strtab1.rc =================================================================== --- binutils-all/windres/strtab1.rc (nonexistent) +++ binutils-all/windres/strtab1.rc (revision 818) @@ -0,0 +1,9 @@ +//#xfail x86_64-*-mingw* +#include "windows.h" + +LANGUAGE 0, 0 + +STRINGTABLE MOVEABLE PURE DISCARDABLE +BEGIN + 1 "hello, world" +END Index: binutils-all/windres/dialogsignature.rc =================================================================== --- binutils-all/windres/dialogsignature.rc (nonexistent) +++ binutils-all/windres/dialogsignature.rc (revision 818) @@ -0,0 +1,5 @@ +101 DIALOG DISCARDABLE 0, 0, 186, 95 +STYLE 1 +BEGIN + DEFPUSHBUTTON "OK",1,129,7,50,14 +END Index: binutils-all/windres/lang.rc =================================================================== --- binutils-all/windres/lang.rc (nonexistent) +++ binutils-all/windres/lang.rc (revision 818) @@ -0,0 +1,16 @@ +//#xfail x86_64-*-mingw* +#include "windows.h" + +LANGUAGE 0, 0 + +1 MENU MOVEABLE PURE DISCARDABLE +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN +BEGIN + POPUP "&Datei" { MENUITEM "foo", 1 } +END + +1 MENU MOVEABLE PURE DISCARDABLE +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +BEGIN + POPUP "&File" { MENUITEM "foo", 1 } +END Index: binutils-all/windres/scrollbar.rc =================================================================== --- binutils-all/windres/scrollbar.rc (nonexistent) +++ binutils-all/windres/scrollbar.rc (revision 818) @@ -0,0 +1,4 @@ +501 DIALOGEX 0, 0, 168, 137 +BEGIN + SCROLLBAR 1001,43,68,105,10,0,0,0x81f503e9 +END Index: binutils-all/windres/capstyle.rc =================================================================== --- binutils-all/windres/capstyle.rc (nonexistent) +++ binutils-all/windres/capstyle.rc (revision 818) @@ -0,0 +1,5 @@ +101 DIALOG DISCARDABLE 0, 0, 186, 95 +CAPTION "" +BEGIN + DEFPUSHBUTTON "OK",1,129,7,50,14 +END Index: binutils-all/windres/listbox.rc =================================================================== --- binutils-all/windres/listbox.rc (nonexistent) +++ binutils-all/windres/listbox.rc (revision 818) @@ -0,0 +1,4 @@ +501 DIALOG DISCARDABLE 0, 0, 168, 137 +BEGIN + LISTBOX 1001, 28, 63, 137, 52 +END Index: binutils-all/windres/html1.hm =================================================================== --- binutils-all/windres/html1.hm (nonexistent) +++ binutils-all/windres/html1.hm (revision 818) @@ -0,0 +1,11 @@ + + + + + Windres + + + +This is a test page for windres HTML resource. + + \ No newline at end of file Index: binutils-all/windres/version.rc =================================================================== --- binutils-all/windres/version.rc (nonexistent) +++ binutils-all/windres/version.rc (revision 818) @@ -0,0 +1,33 @@ +//#xfail x86_64-*-mingw* +#include "windows.h" + +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL + FILEFLAGS 0x0L + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040704e4" + BEGIN + VALUE L"CompanyName", L"binutil\x0073" + VALUE "FileDescription", "RC compiler." + VALUE "FileVersion", "1.0.0.1" + VALUE "InternalName", "windres.exe" + VALUE "LegalCopyright", "(c) FSF. All rights are reserved." + VALUE "OriginalFilename", "windres.exe" + VALUE "ProductName", "windows resource compiler" + VALUE "ProductVersion", "1.0.0.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x407, 1252 + END +END Index: binutils-all/windres/checkbox.rc =================================================================== --- binutils-all/windres/checkbox.rc (nonexistent) +++ binutils-all/windres/checkbox.rc (revision 818) @@ -0,0 +1,5 @@ +501 DIALOGEX DISCARDABLE 0, 0, 168, 137 +BEGIN + CHECKBOX 108, 1002, 12, 76, 123, 41 + CHECKBOX "tick me", 1001, 12, 15, 123, 41 +END Index: binutils-all/windres/escapex.rc =================================================================== --- binutils-all/windres/escapex.rc (nonexistent) +++ binutils-all/windres/escapex.rc (revision 818) @@ -0,0 +1,4 @@ +101 DIALOG DISCARDABLE 0, 0, 186, 95 +BEGIN + LTEXT "\xB0",-1,23,46,28,8 +END Index: binutils-all/windres/html.rsd =================================================================== --- binutils-all/windres/html.rsd (nonexistent) +++ binutils-all/windres/html.rsd (revision 818) @@ -0,0 +1,45 @@ + +html.res: file format binary + +Contents of section .data: + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 0d010000 20000000 ffff1700 ffff8100 .... ........... + 0030 00000000 30100704 00000000 00000000 ....0........... + 0040 3c21444f 43545950 4520646f 63747970 ...... .. + 00e0 20203c74 69746c65 3e57696e 64726573 Windres + 00f0 3c2f7469 746c653e 0d0a3c2f 68656164 ........Thi + 0110 73206973 20612074 65737420 70616765 s is a test page + 0120 20666f72 2077696e 64726573 2048544d for windres HTM + 0130 4c207265 736f7572 63652e0d 0a3c2f62 L resource........ + 0150 14010000 20000000 ffff1700 ffff8200 .... ........... + 0160 00000000 30100704 00000000 00000000 ....0........... + 0170 3c21444f 43545950 4520646f 63747970 ...... .. + 0210 20203c74 69746c65 3e57696e 64726573 Windres + 0220 3c2f7469 746c653e 0d0a3c2f 68656164 ........Thi + 0240 73206973 20612073 65636f6e 64207465 s is a second te + 0250 73742070 61676520 666f7220 77696e64 st page for wind + 0260 72657320 48544d4c 20726573 6f757263 res HTML resourc + 0270 652e0d0a 3c2f626f 64793e0d 0a3c2f68 e..... Index: binutils-all/windres/bmpalign.rc =================================================================== --- binutils-all/windres/bmpalign.rc (nonexistent) +++ binutils-all/windres/bmpalign.rc (revision 818) @@ -0,0 +1,9 @@ +LANGUAGE 0, 0 + +A BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp" + +AB BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp" + +ABC BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp" + +ABCD BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp" Index: binutils-all/windres/README =================================================================== --- binutils-all/windres/README (nonexistent) +++ binutils-all/windres/README (revision 818) @@ -0,0 +1,26 @@ +Instructions for adding tests: + +The files *.rc are hand-edited or copied from elsewhere. + +The script msupdate is used to generate the *.rsd files, which are +dumps of the RES formatted output of MSVC's RC utility. + +Within the *.rc file, the first N lines beginning with a special +comment can control the test. Comments are // /* or # (// is +recommended, as both rc and windres support those). Each line +contains one command: + + // parse-only + // xfail *-*-* + +parse-only must preceed any xfail commands, and indicates that a +comparison with the *.rsd file will not happen. xfail indicates when +a failure is expected. This should only be used for when you are +adding a new test that is known to fail because of a bug in windres, +and it should be removed when the bug is fixed. + +You can use pfail or cfail instead of xfail to indicate that only the +parsing or comparing should be xfailed. + +The windres tests only run for ix86 targets, because the +MSVC-generated *.rsd files are generated for that. Index: binutils-all/windres/combobox.rsd =================================================================== --- binutils-all/windres/combobox.rsd (nonexistent) +++ binutils-all/windres/combobox.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 32000000 20000000 ffff0500 fffff501 2... ........... + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000a800 ................ + 0050 89000000 00000000 01000150 00000000 ...........P.... + 0060 0a000a00 32003600 e903ffff 85000000 ....2.6......... + 0070 00000000 .... Index: binutils-all/windres/messagetable.rc =================================================================== --- binutils-all/windres/messagetable.rc (nonexistent) +++ binutils-all/windres/messagetable.rc (revision 818) @@ -0,0 +1,6 @@ +//#xfail x86_64-*-mingw* +#include "windows.h" + +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN + +888 MESSAGETABLE MSG00001.bin Index: binutils-all/windres/dlgfont.rc =================================================================== --- binutils-all/windres/dlgfont.rc (nonexistent) +++ binutils-all/windres/dlgfont.rc (revision 818) @@ -0,0 +1,29 @@ +101 DIALOG DISCARDABLE 0, 0, 186, 95 +FONT 8, "Tahoma" +BEGIN + DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14 +END + +102 DIALOGEX DISCARDABLE 0, 0, 186, 95 +FONT 8, "Tahoma" +BEGIN + DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14 +END + +103 DIALOGEX DISCARDABLE 0, 0, 186, 95 +FONT 8, "Tahoma", 0 +BEGIN + DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14 +END + +104 DIALOGEX DISCARDABLE 0, 0, 186, 95 +FONT 8, "Tahoma", 0, 0 +BEGIN + DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14 +END + +105 DIALOGEX DISCARDABLE 0, 0, 186, 95 +FONT 8, "Tahoma", 0, 0, 1 +BEGIN + DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14 +END Index: binutils-all/windres/dialogid.rsd =================================================================== --- binutils-all/windres/dialogid.rsd (nonexistent) +++ binutils-all/windres/dialogid.rsd (revision 818) @@ -0,0 +1,18 @@ + +fred.res: file format binary + +Contents of section .data: + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 94000000 20000000 ffff0500 ffff6500 .... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 0100ffff 00000000 00000000 00008880 ................ + 0050 02000000 0000c800 c8000000 00000000 ................ + 0060 00000000 00000000 4d000050 0b000b00 ........M..P.... + 0070 5300a200 ffffffff 43004c00 41005300 S.......C.L.A.S. + 0080 53004e00 41004d00 45000000 ffff6c00 S.N.A.M.E.....l. + 0090 00000000 00000000 00000000 0e120050 ...............P + 00a0 05000500 0a000a00 66000000 43004c00 ........f...C.L. + 00b0 41005300 53004e00 41004d00 45000000 A.S.S.N.A.M.E... + 00c0 73007400 72006900 6e006700 69006400 s.t.r.i.n.g.i.d. + 00d0 00000000 .... Index: binutils-all/windres/escapea.rc =================================================================== --- binutils-all/windres/escapea.rc (nonexistent) +++ binutils-all/windres/escapea.rc (revision 818) @@ -0,0 +1,7 @@ +20 MENU DISCARDABLE +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Open\a^O", 17 + END +END Index: binutils-all/windres/dialog0.rsd =================================================================== --- binutils-all/windres/dialog0.rsd (nonexistent) +++ binutils-all/windres/dialog0.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 36000000 20000000 ffff0500 ffff6500 6... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 01000150 00000000 _..........P.... + 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O. + 0070 4b000000 00000000 K....... Index: binutils-all/windres/windres.exp =================================================================== --- binutils-all/windres/windres.exp (nonexistent) +++ binutils-all/windres/windres.exp (revision 818) @@ -0,0 +1,136 @@ +# Copyright 2001, 2003, 2004, 2006, 2007, 2009 Free Software Foundation, Inc. + +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-dejagnu@prep.ai.mit.edu + +# Written by DJ Delorie + +if {![istarget "i*86-*-*"] && ![istarget "x86_64-*-mingw*"] } { + return +} + +if {![info exists WINDRES]} then { + return +} + +if {[which $WINDRES] == 0} then { + return +} + +set wr "$WINDRES --include-dir $srcdir/$subdir" + +if [file exists "$srcdir/../../winsup/w32api/include"] { + set wr "$wr --include-dir $srcdir/../../winsup/w32api/include" +} else { + send_log "\nWarning: Assuming windres can find the win32 headers\n\n" +} + +set res_list [lsort [glob -nocomplain $srcdir/$subdir/*.rc]] + +proc oneline { file } { + while { 1 } { + if { [gets $file line] == -1 } { + return "" + } + if [regexp "^ \[0-9a-z\]\[0-9a-z\]* " $line] { + return $line + } + } +} + +foreach res $res_list { + set sroot [file rootname $res] + set broot [file tail $sroot] + set done 0 + + set rc [open $res] + while { [gets $rc line] != -1 } { + if ![regexp "^(//|/\*|#)" $line] { + break + } + if [regexp "\[xp\]fail *(\[^ \]*)" $line junk sys] { + setup_xfail $sys + continue + } + } + + verbose "$wr -J rc -O res $res tmpdir/$broot.res" 1 + catch "exec $wr -J rc -O res $res tmpdir/$broot.res" err + + if ![string match "" $err] then { + send_log "$err\n" + verbose "$err" 1 + if [string match "*windows.h: No such file*" $err] then { + unsupported "windres/$broot (parse)" + } else { + fail "windres/$broot (parse)" + } + continue + } + pass "windres/$broot (parse)" + + set rc [open $res] + while { [gets $rc line] != -1 } { + if ![regexp "^(//|/\*|#)" $line] { + break + } + if [regexp "parse-only" $line] { + file delete "tmpdir/$broot.res" + set done 1 + break + } + if [regexp "\[xc\]fail *(\[^ \]*)" $line junk sys] { + setup_xfail $sys + continue + } + } + if { $done != 0 } { + continue + } + + verbose "$OBJDUMP -b binary -s tmpdir/$broot.res > tmpdir/$broot.dump" 1 + catch "exec $OBJDUMP -b binary -s tmpdir/$broot.res > tmpdir/$broot.dump" err + + if ![string match "" $err] then { + send_log "$err\n" + verbose "$err" 1 + fail "windres/$broot (compare)" + continue + } + + set pat [open "$sroot.rsd"] + set out [open "tmpdir/$broot.dump"] + set patline "foo" + + while { ![string match $patline ""] } { + set patline [oneline $pat] + set outline [oneline $out] + + if ![string match $patline $outline] { + send_log "< $patline\n" + send_log "> $outline\n" + fail "windres/$broot (compare)" + set done 1 + break + } + } + if { $done == 0 } { + pass "windres/$broot (compare)" + file delete "tmpdir/$broot.res" + file delete "tmpdir/$broot.dump" + } +} Index: binutils-all/windres/html.rc =================================================================== --- binutils-all/windres/html.rc (nonexistent) +++ binutils-all/windres/html.rc (revision 818) @@ -0,0 +1,7 @@ +//#xfail x86_64-*-mingw* +#include "windows.h" + +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN + +129 HTML "html1.hm" +130 HTML "html2.hm" Index: binutils-all/windres/dialog1.rsd =================================================================== --- binutils-all/windres/dialog1.rsd (nonexistent) +++ binutils-all/windres/dialog1.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 36000000 20000000 ffff0500 ffff6500 6... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 00008880 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 01000150 00000000 _..........P.... + 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O. + 0070 4b000000 00000000 K....... Index: binutils-all/windres/dialogsignature.rsd =================================================================== --- binutils-all/windres/dialogsignature.rsd (nonexistent) +++ binutils-all/windres/dialogsignature.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 36000000 20000000 ffff0500 ffff6500 6... .........e. + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 01000000 00000000 01000000 0000ba00 ................ + 0050 5f000000 00000000 01000150 00000000 _..........P.... + 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O. + 0070 4b000000 00000000 K....... Index: binutils-all/windres/lang.rsd =================================================================== --- binutils-all/windres/lang.rsd (nonexistent) +++ binutils-all/windres/lang.rsd (revision 818) @@ -0,0 +1,10 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 20000000 20000000 ffff0400 ffff0100 ... ........... + 0030 00000000 30100704 00000000 00000000 ....0........... + 0040 00000000 90002600 44006100 74006500 ......&.D.a.t.e. + 0050 69000000 80000100 66006f00 6f000000 i.......f.o.o... + 0060 1e000000 20000000 ffff0400 ffff0100 .... ........... + 0070 00000000 30100904 00000000 00000000 ....0........... + 0080 00000000 90002600 46006900 6c006500 ......&.F.i.l.e. + 0090 00008000 01006600 6f006f00 00000000 ......f.o.o..... Index: binutils-all/windres/scrollbar.rsd =================================================================== --- binutils-all/windres/scrollbar.rsd (nonexistent) +++ binutils-all/windres/scrollbar.rsd (revision 818) @@ -0,0 +1,8 @@ + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 40000000 20000000 ffff0500 fffff501 @... ........... + 0030 00000000 30100904 00000000 00000000 ....0........... + 0040 0100ffff 00000000 00000000 00008880 ................ + 0050 01000000 0000a800 89000000 00000000 ................ + 0060 e903f581 00000000 00000050 2b004400 ...........P+.D. + 0070 69000a00 e9030000 ffff8400 00000000 i............... Index: binutils-all/windres/combobox.rc =================================================================== --- binutils-all/windres/combobox.rc (nonexistent) +++ binutils-all/windres/combobox.rc (revision 818) @@ -0,0 +1,8 @@ +#define CBS_SIMPLE 0x1 +#define WS_TABSTOP 0x10000 + +501 DIALOG DISCARDABLE 0, 0, 168, 137 +BEGIN + COMBOBOX 1001,10,10,50,54, CBS_SIMPLE | WS_TABSTOP +END + Index: binutils-all/windres/bmp1.bmp =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: binutils-all/windres/bmp1.bmp =================================================================== --- binutils-all/windres/bmp1.bmp (nonexistent) +++ binutils-all/windres/bmp1.bmp (revision 818)
binutils-all/windres/bmp1.bmp Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: binutils-all/windres/version.rsd =================================================================== --- binutils-all/windres/version.rsd (nonexistent) +++ binutils-all/windres/version.rsd (revision 818) @@ -0,0 +1,55 @@ + +version.res: file format binary + +Contents of section .data: + 0000 00000000 20000000 ffff0000 ffff0000 .... ........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 ec020000 20000000 ffff1000 ffff0100 .... ........... + 0030 00000000 00000704 00000000 00000000 ................ + 0040 ec023400 00005600 53005f00 56004500 ..4...V.S._.V.E. + 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N. + 0060 46004f00 00000000 bd04effe 00000100 F.O............. + 0070 00000100 01000000 00000100 01000000 ................ + 0080 3f000000 00000000 04000000 01000000 ?............... + 0090 00000000 00000000 00000000 4c020000 ............L... + 00a0 00005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F. + 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o... + 00c0 28020000 00003000 34003000 37003000 (.....0.4.0.7.0. + 00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C. + 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a. + 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u. + 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B... + 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s. + 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n. + 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m. + 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r....... + 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V. + 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n..... + 0170 31002e00 30002e00 30002e00 31000000 1...0...0...1... + 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r. + 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e... + 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s... + 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L. + 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y. + 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c. + 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A. + 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t. + 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e. + 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d..... + 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i. + 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n. + 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d. + 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e... + 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u. + 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e..... + 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. . + 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e. + 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e. + 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o. + 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s. + 02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0... + 02e0 30002e00 31000000 44000000 00005600 0...1...D.....V. + 02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n. + 0300 66006f00 00000000 24000400 00005400 f.o.....$.....T. + 0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i. + 0320 6f006e00 00000000 0704e404 o.n......... Index: binutils-all/readelf.ss-64 =================================================================== --- binutils-all/readelf.ss-64 (nonexistent) +++ binutils-all/readelf.ss-64 (revision 818) @@ -0,0 +1,13 @@ + +Symbol table '.symtab' contains .* entries: + Num: Value Size Type Bind Vis Ndx Name + 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND + 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1 + 2: 0000000000000000 0 SECTION LOCAL DEFAULT 3 + 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4 + 4: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 static_text_symbol + 5: 0000000000000000 0 NOTYPE LOCAL DEFAULT 3 static_data_symbol +.* .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 1 text_symbol + .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol + .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 3 data_symbol + .: 0000000000000004 4 (COMMON|OBJECT) GLOBAL DEFAULT COM common_symbol Index: binutils-all/bfin/unknown-mode.s =================================================================== --- binutils-all/bfin/unknown-mode.s (nonexistent) +++ binutils-all/bfin/unknown-mode.s (revision 818) @@ -0,0 +1,8 @@ + .text + + // Below 4 bytes are "A1 += R6.H * R4.L (IS);" + // with a invalid mode "0xf". + .byte 0xe1 + .byte 0xc1 + .byte 0x34 + .byte 0x98 Index: binutils-all/bfin/objdump.exp =================================================================== --- binutils-all/bfin/objdump.exp (nonexistent) +++ binutils-all/bfin/objdump.exp (revision 818) @@ -0,0 +1,53 @@ +# Copyright 2009 +# Free Software Foundation, Inc. + +# 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 "bfin-*-*"]} then { + return +} + +if {[which $OBJDUMP] == 0} then { + perror "$OBJDUMP does not exist" + return +} + +send_user "Version [binutil_version $OBJDUMP]" + +################################### +# Set up the test of unknown-mode.s +################################### + +if {![binutils_assemble $srcdir/$subdir/unknown-mode.s tmpdir/unknown-mode.o]} then { + return +} + +if [is_remote host] { + set objfile [remote_download host tmpdir/unknown-mode.o] +} else { + set objfile tmpdir/unknown-mode.o +} + +# Make sure that the unknown mode does not cause abort. + +set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -D $objfile"] + +set want "e1 c1\[ \t\]*ILLEGAL.*34 98 .*\[\r\n\]" + +if [regexp $want $got] then { + pass "unknown mode test" +} else { + fail "unknown mode test" +} Index: ChangeLog-9303 =================================================================== --- ChangeLog-9303 (nonexistent) +++ ChangeLog-9303 (revision 818) @@ -0,0 +1,1044 @@ +2003-12-03 Nick Clifton + + * binutils-all/objdump.exp (cpus_expected): Add "msp". + +2003-10-06 Dave Brolley + + * binutils-all/objdump.exp (cpu_expected): Add fr550. + +2003-09-29 H.J. Lu + + * binutils-all/readelf.exp: Use is_elf_format. + + * binutils-all/readelf.h: Support IA64/ILP32. + * binutils-all/readelf.s: Likewise. + * binutils-all/readelf.ss: Likewise. + + * lib/utils-lib.exp (proc is_elf_format): Copy from ld + testsuite. Add ia64-*-hpux*. + +2003-06-29 Danny Smith + + * binutils-all/objcopy.exp: Initialise $test_prog to + testprog.exe on mingw targeted systems too. + +2003-06-28 Danny Smith + + * binutils-all/windres/checkbox.rc: New file. + * binutils-all/windres/checkbox.rsd: New file. + * binutils-all/windres/combobox.rc: New file. + * binutils-all/windres/combobox.rsd: New file. + * binutils-all/windres/edittext.rc: New file. + * binutils-all/windres/edittext.rsd: New file. + * binutils-all/windres/listbox.rc: New file. + * binutils-all/windres/listbox.rsd: New file. + * binutils-all/windres/scrollbar.rc: New file. + * binutils-all/windres/scrollbar.rsd: New file. + +2003-06-27 Thiemo Seufer + + * binutils-all/readelf.ss-tmips: Adjust symbol indices. + +2003-06-19 Nick Clifton + + * binutils-all/objcopy.exp: Replace occurances of testprog with + $test_prog. Initialise this variable to testprog.exe on Cygwin + targeted systems. + +2003-04-26 Nick Clifton + + * binutils-all/readelf.exp (prune_read_warnings): Rename to + prune_readelf_wi_warnings. + (readelf_wi_test): New proc: Test 'readelf -wi' by grepping + through its output. + Replace invocation of "readelf_test -wi" with "readelf_wi_test" + * binutils-all/readelf.wi: Delete. + +2003-04-23 Nick Clifton + + * binutils-all/readelf.exp (proc prune_readelf_warnings): New + function. + (proc readelf_test): Prune warning messages. + (readelf_test -wi): Add more expected failures. + * binutils-all/readelf.wi: Severly reduce expected output. + * binutils-all/testprog.c (string): Explicitly use unsigned + chars. + (stdio.h, string.h): Remove inclusion. + +2003-04-23 J"orn Rennecke + + * binutils-all/readelf.wi: Update. + +2003-04-22 Dimitrie O. Paun + + * binutils-all/windres/windres.exp: Add test for the new -J + option. Remove use of -I as it now generates a warning message. + +2003-04-03 Nick Clifton + + * binutils-all/windres/dialogid.rc: Replace "Static" with + "classname" so that compilation will match behaviour of the + Windows resource compiler. + +2003-03-31 Nick Clifton + + * binutils-all/windres/dialogid.rc: New test source file. + * binutils-all/windres/dialogid.rsd: New test expected results. + +2002-11-07 Casper S. Hornstrup + + * binutils-all/dlltool.exp: New file for testing dlltool. + * binutils-all/fastcall.def: New file for testing fastcall + exports. + * config/default.exp: Set DLLTOOL variable. + +2002-08-27 Alan Modra + + * binutils-all/objcopy.exp: Revert last change. + +2002-08-26 Alan Modra + + * binutils-all/objcopy.exp (strip_test): Adjust for "no symbols" on + stdout. + (strip_executable): Likewise. + +2002-08-13 Alan Modra + + * binutils-all/objdump.exp (cpus_expected): Add fr500, ip2022, + tic80, tms320c30. + * binutils-all/objcopy.exp (simple copy): Revise xfails. + +2002-05-29 Alan Modra + + * binutils-all/objcopy.exp (strip_test_with_saving_a_symbol): + Revert 2001-11-15. Instead allow `D main'. + +2002-04-16 Eric Kohl + + * binutils-all/windres/dialog0.rc: New test case: Check default + attributes for dialogs + * binutils-all/windres/dialog0.rsd: New file: Expected output. + * binutils-all/windres/dialog1.rc: New test case: Check + DISCARDABLE flag is propogated. + * binutils-all/windres/dialog1.rsd: New file: Expected output. + +2002-04-15 Eric Kohl + + * binutils-all/windres/dlgfont.rc: New test case: Checks FONT + statement in DIALOG and DIALOGEX resources. + * binutils-all/windres/dlgfont.rsd: Expected output. + +2002-04-11 Nick Clifton + + * binutils-all/ar.exp (long_filenames): Use 'file delete' instead + of 'exec rm -f'. + +2002-04-10 Nick Clifton + + * binutils-all/ar.exp (long_filenames): Delete the abc... files + upon successfully completion of the test. + + * binutils-all/windres/capstyle.rsd: Regenerate using MSVC. + * binutils-all/windres/deflang.rsd: Regenerate using MSVC. + * binutils-all/windres/dialogsignature.rsd: Regenerate using MSVC. + * binutils-all/windres/escapea.rsd: Regenerate using MSVC. + * binutils-all/windres/escapex.rsd: Regenerate using MSVC. + * binutils-all/windres/nocaption.rsd: Regenerate using MSVC. + * binutils-all/windres/printstyle.rsd: Regenerate using MSVC. + * binutils-all/windres/sublang.rsd: Regenerate using MSVC. + +2002-04-09 Nick Clifton + + * binutils-all/windres/capstyle.rc: New test case: Set default + style for captions. + * binutils-all/windres/capstyle.rsd: Expected output. + + * binutils-all/windres/deflang.rc: New test case: Check default + language. + * binutils-all/windres/deflang.rsd: Expected output. + + * binutils-all/windres/dialogsignature.rc: New test case for + decoding the dialog signature. + * binutils-all/windres/dialogsignature.rsd: Expected output. + + * binutils-all/windres/escapea.rc: New test case for encoding \a + escape sequence. + * binutils-all/windres/escapea.rsd: Expected output. + + * binutils-all/windres/escapex.rc: New test case for hex constants + in strings. + * binutils-all/windres/escapex.rsd: Expected output + + * binutils-all/windres/nocaption.rc: New test case dialogs without + captions. + * binutils-all/windres/nocaption.rsd: Expected output + + * binutils-all/windres/quoteclass.rc: New test case for quoted + CLASS definitions in DIALOG resources. + + * binutils-all/windres/sublang.rc: New test case: Check assignment + of sub-language. + * binutils-all/windres/sublang.rsd: Expected output. + +2002-02-18 Timothy Daly + + * binutils-all/readelf.r: Change expected output to match new, + narrowed-to-80-chars format. + * binutils-all/readelf.r-64: Change expected output to match new, + narrowed-to-80-chars format. + +2002-02-18 Hans-Peter Nilsson + + * binutils-all/objcopy.exp + (strip_executable_with_saving_a_symbol): Prune symbol Main in nm + output for mmix-knuth-mmixware. + +2002-02-13 Nick Clifton + + * binutils-all/readelf.ss-mips: Do not expect an explicit + ordering of the sections. + +2002-02-10 Nick Clifton + + * binutils-all/objdump.exp: Add 'xscale' to the list of expected + CPUs. + +2002-01-14 Nick Clifton + + * binutils-all/objcopy.exp: Expect xscale-coff to fail simple + objcopy test for the same reason as arm-coff. + +2001-11-29 H.J. Lu + + * binutils-all/objcopy.exp (strip_test): Add strip on archive. + +2001-11-15 Alan Modra + + * binutils-all/objcopy.exp: (strip_test_with_saving_a_symbol): + Allow '? main', to suit powerpc64. + +2001-11-14 Geoffrey Keating + + * binutils-all/readelf.exp: powerpc-*-eabi* is an ELF target. + +2001-10-03 Thiemo Seufer + + * binutils-all/readelf.exp: Exclude mips*-*-elf* from 'readelf -wi' + test. + +Tue Sep 4 20:25:41 2001 Jeffrey A Law (law@cygnus.com) + + * binutils/all/readelf.exp: Expect readelf -wi to + fail for the H8 series. + +2001-08-27 Alan Modra + + * binutils-all/readelf.s-64: Adjust offsets for powerpc64. Don't + use constructs like [45][08] when all combinations are not valid. + Instead use (48|50) to explicitly state which values are correct. + +2001-08-21 H.J. Lu + + * binutils-all/readelf.r: Updated for the readelf change. + + * binutils-all/readelf.r-64: New for the readelf change. + +2001-07-27 H.J. Lu + + * binutils-all/windres/windres.exp: Don't set xfail for + bmpalign (compare) on none-ix86/pe targets. + +2001-07-24 H.J. Lu + + * binutils-all/windres/windres.exp: Set xfail on none-ix86/pe + targets. + +2001-07-18 DJ Delorie + + * config/default.exp (WINDRES): Add. + * binutils-all/windres/windres.exp: New. + * binutils-all/windres/README: New. + * binutils-all/windres/bmp1.bmp: New. + * binutils-all/windres/bmpalign.rc: New. + * binutils-all/windres/bmpalign.rsd: New. + * binutils-all/windres/lang.rc: New. + * binutils-all/windres/lang.rsd: New. + * binutils-all/windres/msupdate: New. + * binutils-all/windres/strtab1.rc: New. + * binutils-all/windres/strtab1.rsd: New. + +2001-07-05 Ben Elliston + + * lib/utils-lib.exp (target_assemble): Remove duplicate copy. + (default_target_assemble): Likewise. + +2001-06-18 Thiemo Seufer + + * binutils-all/readelf.exp: Typo. + +2001-06-19 Andreas Jaeger + + * binutils-all/readelf.r: Don't check for specific info value to + pass testsuite on ia64 and alpha. + +2001-06-07 H.J. Lu + + * binutils-all/readelf.ss-mips: Support stabs. + * binutils-all/readelf.ss-tmips: Likewise. + +2001-05-25 H.J. Lu + + * binutils-all/readelf.exp (readelf_test): Set target_machine + to tmips for traditional mips. + + * binutils-all/readelf.s: Support traditional mips. + + * binutils-all/readelf.ss-tmips: New for traditional mips. + +2001-05-25 Alan Modra + + * binutils-all/readelf.exp: Replace linuxoldld with linux*oldld + and linuxaout with linux*aout. + * binutils-all/objcopy.exp: Remove xfail for linuxaout. + +2001-05-24 H.J. Lu + + * binutils-all/objdump.exp (cpus_expected): Add s390. + +2001-03-30 H.J. Lu + + * binutils-all/readelf.exp: Run on more ELF targets. + +2001-02-11 H.J. Lu + + * config/default.exp: Set up gcc_gas_flag. + + * binutils-all/objcopy.exp (copy_setup): Process gcc_gas_flag + for Linux only. + + * binutils-all/testprog.c: Include and don't use + exit (). + +2001-01-16 Matthew Green + + * binutils-all/readelf.s-64: Match readelf -S output. + +2000-12-09 Nick Clifton + + * binutils-all/objdump.exp (cpus_expected): Add tic54x and + tms320c54x. + +2000-11-28 Hans-Peter Nilsson + + * binutils-all/readelf.s: Adjust to readelf.c formatting changes. + +2000-11-02 Chris Demetriou + + * binutils-all/readelf.exp (regexp_diff): Add code + from gas testsuite to treat "#..." at beginning of line + as an indicator to skip extra non-matching lines at that + location. + (readelf_test): Add support for using a machine-specific + regexp comparison file. + (readelf -S test, readelf -s test): Remove v850*-*-* and + mips*-*-* from list of expected failures. + * binutils-all/readelf.s: Accomodate changes due to + additional sections (and therefore section numbering + differences) on v850*-*-* and mips*-*-* targets. + * binutils-all/readelf.ss: Likewise. + * binutils-all/readelf.ss-mips: New file, which matches + expected output of readelf -s test for mips*-*-*. + +2000-10-25 Hans-Peter Nilsson + + * binutils-all/readelf.exp (-wi test): Add cris-*-* to xfails. + +2000-10-19 Chris Demetriou + + * binutils-all/readelf.exp (readelf_test): Work properly + when multiple targets expect failtures. + (readelf -S test, readelf -s test): Expect mips*-*-* + to fail. + +2000-07-10 Alan Modra + + * lib/utils-lib.exp (default_binutils_assemble): Don't do the hppa + sed fudges for hppa-linux. + +2000-07-01 Frank Ch. Eigler + + * binutils-all/objdump.exp (cpus_expected, cpus_regex): Reorganize + syntax to display more tcl nature. + +2000-06-18 Stephane Carrez + + * binutils-all/objdump.exp (cpus_expected): Recognize m68hc11 and + m68hc12. + +2000-06-18 Nick Clifton + + * binutils-all/readelf.wi: Do not assume the compilation tag to be + unit 1. + + * binutils-all/objcopy.exp: Expect all arm variants to fail the + copying executable test. + +2000-06-14 Hans-Peter Nilsson + + * binutils-all/readelf.exp (regexp_diff): Do not break when a + mismatching line is found. + (readelf_find_size): New. + (readelf_size): New global variable. + (readelf_test): Add newline to send_log of command. + If $srcdir/$subdir/$regexp_file-$readelf_size exists, use it + instead of $srcdir/$subdir/$regexp_file. + (*-*elf test): Fix typo in message. + * binutils-all/readelf.s-64: New. + * binutils-all/readelf.ss-64: New. + +2000-05-02 Alan Modra + + * binutils-all/objcopy.exp (simple copy): Clear xfail for hppa-linux. + + * binutils-all/hppa/objdump.exp: Disable test for elf. + +2000-03-13 Nick Clifton + + * binutils-all/readelf.s: Adjust to match new format of readelf + output. + * binutils-all/readelf.ss: Adjust to match new format of readelf + output. + +1999-11-01 Nick Clifton + + * binutils-all/objcopy.exp: Expect simple objcopy test to fail + for COFF based ARM and Thumb ports. + +Tue Sep 14 00:28:17 1999 Jeffrey A Law (law@cygnus.com) + + * binutils-all/hppa/objdump.exp: Do not run for PA64. + +1999-09-04 Steve Chamberlain + + * binutils-all/objdump.exp: Add pj to cpus_expected. + +Sat Aug 28 00:24:27 1999 Jerry Quinn + + * binutils-all/hppa/freg.s: New file. + * binutils-all/hppa/objdump.exp: Add freg.s test. + +1999-08-09 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfail for simple copy test + for i*86-*-msdos*. + +1999-07-21 H.J. Lu + + * binutils-all/testprog.c: Include . + +1999-06-29 Nick Clifton + + * binutils-all/objdump.exp: Add fr30 and MCore to expected cpus + list. + + * binutils-all/readelf.r: Do not assume a fixed number of spaces + in the output. + +1999-06-10 Nick Clifton + + * binutils-all/readelf.wi: Update to match latest output. + * binutils-all/readelf.h: Update to match latest output. + +Wed Jun 9 11:59:22 1999 Andreas Schwab + + * binutils-all/objdump.exp: Tighten regexp to match `objdump -i' + output to avoid massive exponential behaviour. + +1999-05-28 Ian Lance Taylor + + * binutils-all/readelf.h: Update for changes of 1999-04-08. + +1999-03-12 Nick Clifton + + * binutils-all/readelf.wi: Remove FR30 specific components. + * binutils-all/readelf.s: Remove RELA specific components. + +1999-02-16 Nick Clifton + + * binutils-all/readelf.s: Do not assume section alignment is 4. + * binutils-all/readelf.r: Do not assume rela's are being used. + * binutils-all/readelf.exp: disable tests for non ELF based + targets. + +1999-02-02 Nick Clifton + + * binutils-all/readelf.wi: Amend to match new readelf output. + * binutils-all/readelf.r: Do not assume that RELAs will be used. + +1999-01-29 Nick Clifton + + * config/default.exp: Add definitions of READELF and READELFFLAGS. + + * binutils-all/readelf.exp: New file: Readelf tests + * binutils-all/readelf.h: New file: Expected results for 'readelf -h' + * binutils-all/readelf.s: New file: Expected results for 'readelf -S' + * binutils-all/readelf.ss: New file: Expected results for 'readelf -s' + * binutils-all/readelf.r: New file: Expected results for 'readelf -r' + * binutils-all/readelf.wi: New file: Expected results for 'readelf -wi' + +Wed Dec 9 19:11:39 1998 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objcopy.exp (copy_executable): Expect comparison + failure for mips*-*-elf. + +Fri Oct 16 22:57:12 1998 Felix Lee + + * binutils-all/objcopy.exp: fix "no symbols" message. + +Tue Jul 28 15:14:04 1998 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objcopy.exp: Keep "main" and "_main" for strip with + saving symbol tests. Look for either "main" or "_main" in the output + file. Fix test for "no symbols" in the output file. + +1998-07-22 Vladimir N. Makarov + + * binutils-all/objcopy.exp: Polish output about fail for objcopy + (simple copy), strip with/without saving a symbol for object file + and executable. + +Wed Jul 1 16:27:40 1998 Nick Clifton + + * binutils-all/objcopy.exp: ARM simple objcopy now passes. + +Wed Jun 24 09:20:21 1998 Nick Clifton + + * binutils-all/objdump.exp: Look for '.data' rather than 'data' + when parsing output of objdump -h. + * binutils-all/size.exp: Look for '.data' rather than 'data' when + parsing output of size -A. + +1998-07-20 Vladimir N. Makarov + + * binutils-all/objcopy.exp: Two new tests - strip object file with + saving a symbol and strip executable file with saving a symbol. + +Fri May 29 14:50:24 1998 Ian Lance Taylor + + * binutils-all/objcopy.exp: Don't xfail the simple objcopy test + when cross compiling. + +Thu Nov 6 14:32:37 1997 Bob Manson + + * lib/utils-lib.exp: Temporary definition of target_assemble and + default_target_assemble so that testing can work with older + dejagnu versions. + +Wed Sep 24 12:09:15 1997 Bob Manson + + * binutils-all/objcopy.exp(strip_executable): Make a new copy of + the executable being tested. + +Mon Sep 15 21:25:20 1997 Bob Manson + + * binutils-all/objcopy.exp: Compile the executables to be tested + on the target with a status wrapper (as necessary). + + * binutils-all/ar.exp: If testing on a remote host, don't bother + looking on the local host for the program being tested. Use the + correct filenames on the remote host. + + * binutils-all/nm.exp: Ditto. + + * binutils-all/size.exp: Ditto. + + * binutils-all/objdump.exp: Ditto. + (cpus_expected): Add the target CPU to the regexp of CPUs to be + expected, if it's not already there. + +Thu Aug 28 09:57:27 1997 Doug Evans + + * binutils-all/objdump.exp (cpus_expected): Add arc. + +Tue Aug 5 00:03:20 1997 Ian Lance Taylor + + * config/default.exp: Look for nm-new and strip-new. + +Tue Jun 3 17:12:54 1997 Bob Manson + + * config/default.exp: Remove expect_before statement. + + * binutils-all/objcopy.exp: Don't use global exec_output variable; + the output is returned from remote_load instead. + +Mon May 12 22:14:20 1997 Bob Manson + + * binutils-all/objcopy.exp(strip_test): Tests that + fail to compile are untested, not unresolved. + (copy_setup): Ditto. + + * lib/utils-lib.exp(default_binutils_assemble): Call + target_assemble instead of target_compile. + +Wed Apr 30 20:37:51 1997 Bob Manson + + Changes to support multilib and remote hosted testing, along with + general cleanups and simplifications. + + * lib/utils-lib.exp(binutil_version): Use remote_exec. + (default_binutils_run): Ditto. + (default_binutils_assemble): Remove first argument; call + target_compile to actually do the assembly. + (default_binutils_compile,default_binutils_remove,prune_warnings): + Delete. + + * config/default.exp: Remove AS and ASFLAGS. + (binutils_compile,binutils_remove): Delete. + (binutils_assemble): Remove first argument. + + * binutils-all/ar.exp: See if we're running the tests on + a remote host, and download/upload files as appropriate. + Replace calls to binutils_remove with remote_file. Replace + calls to binutils_compile with target_compile. Remove initial + argument to binutils_assemble. Use remote_load to execute + programs on the target. + * binutils-all/nm.exp: Ditto. + * binutils-all/objcopy.exp: Ditto. + * binutils-all/objdump.exp: Ditto. + * binutils-all/size.exp: Ditto. + +Mon Apr 14 12:36:41 1997 Ian Lance Taylor + + * binutils-all/ar.exp (long_filenames): Check for a file system + with a 14 character file name length limit. + +Tue Apr 1 09:52:15 1997 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objdump.exp: Handle d10v. + +Fri Feb 7 16:45:34 1997 Bob Manson + + * binutils-all/ar.exp: Use prune_warnings instead of + prune_system_crud. + * binutils-all/objcopy.exp: Ditto. + +Wed Jan 29 00:16:43 1997 Bob Manson + + * binutils-all/nm.exp: Use / between $srcdir and $subdir. + * binutils-all/objcopy.exp: Ditto. + * binutils-all/objdump.exp: Ditto. + * binutils-all/size.exp: Ditto. + * binutils-all/hppa/objdump.exp: Ditto. + + +Wed Oct 16 22:57:59 1996 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objdump.exp: Add mn10200 and mn10300 to expected + cpus list. + +Tue Oct 1 15:06:55 1996 Ian Lance Taylor + + * lib/utils-lib.exp (binutil_version): Fix for current version + printing. + +Sun Aug 4 22:25:40 1996 Ian Lance Taylor + + * binutils-all/objcopy.exp: Fix end of line matching in srec tests + to work with TCL 7.5. + +Sat Jun 29 12:51:30 1996 Ian Lance Taylor + + * binutils-all/objcopy.exp: Simple copy test works for i960 b.out + targets. + +Mon Jun 24 14:33:04 1996 Ian Lance Taylor + + * binutils-all/objcopy.exp: On OSF/1, the simple copy test will + succeed with gas, and fail with /bin/as, so mark it as an expected + failure only if it fails. + +Tue Mar 26 16:55:08 1996 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objcopy.exp: No longer expect adjust-section-vma + test to fail for hppa*-*-proelf*. + +Mon Mar 11 08:25:14 1996 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objdump.exp: Look for "$CODE$", not just "CODE". + +Wed Jan 31 11:55:13 1996 Jeffrey A Law (law@cygnus.com) + + * binutils-all/objcopy.exp: Expect adjust-section-vma tests to + fail for hppa*-*-proelf* targets. + +Thu Jan 25 13:53:04 1996 Ian Lance Taylor + + * binutils-all/objdump.exp: Update for objdump -h format change. + * binutils-all/objcopy.exp: Likewise. + +Mon Jan 15 18:14:14 1996 Ian Lance Taylor + + * binutils-all/objcopy.exp: Use the lma, not the vma, when testing + address adjustments. + +Fri Dec 15 16:31:55 1995 Ian Lance Taylor + + * binutils-all/objdump.exp: Update objdump -i test for current + objdump output. + +Mon Nov 27 15:15:09 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Correct fail calls to always use the + same string as the pass call. + +Wed Nov 22 13:18:58 1995 Ian Lance Taylor + + * lib/utils-lib.exp (prune_system_crud): Discard -g -O warnings + from native compilers on OSF/1 and SunOS. + +Fri Nov 17 10:36:09 1995 Ian Lance Taylor + + * lib/utils-lib.exp (default_binutils_compiler: Change error + message to say compilation rather than assembly. + +Wed Nov 15 18:34:42 1995 Ken Raeburn + + * binutils-all/objcopy.exp: Simple copy test does appear to work + on i*86-svr4. + +Wed Nov 15 12:19:28 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: If assembly fails, call unresolved. + Test running objcopy and strip on a final executable. + * binutils-all/testprog.c: New file. + * config/default.exp (STRIP, STRIPFLAGS): Define. + (binutils_compile): New procedure. + * lib/utils-lib.exp (default_binutils_compile): New procedure. + +Fri Nov 3 13:22:33 1995 Ian Lance Taylor + + * lib/utils-lib.exp (default_binutils_run): Don't use verbose + -log, reverting part of Oct 2 change. + +Wed Nov 1 15:09:57 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 + + * binutils-all/objcopy.exp: Add setup_xfails for + m68*-motorola-sysv* and m88*-motorola-sysv*. + +Wed Oct 4 14:38:31 1995 Ian Lance Taylor + + * binutils-all/nm.exp: Add setup_xfails for XCOFF. + +Mon Oct 2 12:41:48 1995 Ian Lance Taylor + + * binutils-all/ar.exp: New file. + * binutils-all/bintest.s: Make text_symbol and data_symbol global. + Add new static symbols static_text_symbol and static_data_symbol. + * binutils-all/nm.exp: Adjust accordingly. + * config/default.exp (AR): Set if not set. + (binutils_remove): New procedure. + * lib/utils-lib.exp (default_binutils_run): Call + prune_system_crud on program output. Use verbose -log instead of + both verbose and send_log. + (default_binutils_remove): New procedure. + + * lib/utils-lib.exp (default_binutils_assemble): Call + prune_system_crud on assembler output. + +Tue Sep 26 14:07:05 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfails for simple copy test + for i386 COFF targets. + +Wed Sep 13 13:20:21 1995 Ian Lance Taylor + + * lib/utils-lib.exp (prune_system_crud): Define if not defined. + * binutils-all/objcopy.exp: Call prune_system_crud on cmp output. + +Sat Aug 19 17:38:06 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add xfail for i*86-*-aout* for simple + copy test. + +Wed Aug 16 16:52:53 1995 Ian Lance Taylor + + * binutils-all/nm.exp: Add setup_xfail for mips*-sony-bsd* for + tests which fail on ECOFF targets. + + * binutils-all/objcopy.exp: Change i*86-*-linux xfail for simple + copy test to check for i*86-*-linuxaout* instead. + +Tue Aug 8 17:48:37 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfail for a29k-*-vxworks* + for simple copy test. + +Tue Jul 25 11:57:12 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Change setup_xfail for simple copy + test from i960-*-vxworks5.1 to i960-*-vxworks*. + +Mon Jul 10 12:25:46 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfail for z8*-*-coff for + simple copy test. + * binutils-all/objdump.exp (cpus_expected): Add z8001 and z8002. + +Sun May 21 20:32:53 1995 Jeff Law (law@snake.cs.utah.edu) + + * binutils-all/hppa/objdump.exp (addendbug): Handle PA ELF targets + too. + * binutils-all/objcopy.exp (simple copy): Don't expect PA ELF + targets to fail. + +Tue Apr 4 14:52:08 1995 Jeff Law (law@snake.cs.utah.edu) + + * binutils-all/hppa: Renamed from binutils-hppa. + +Wed Mar 29 12:02:43 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfail for simple copy test + for h8500-*-hms and h8500-*-coff. + +Tue Mar 28 11:18:28 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfail for simple copy test + for m68*-ericsson-ose and m88*-*-coff. + +Mon Mar 27 11:27:31 1995 Ian Lance Taylor + + * binutils-all/objcopy.exp: Add setup_xfail for simple copy test + for m68*-*-vxworks*. + +Fri Mar 24 11:44:25 1995 Ian Lance Taylor + + * binutils-hppa/objdump.exp: Correct hppa*-*-* check. + +Tue Mar 21 10:48:45 1995 Jeff Law (law@snake.cs.utah.edu) + + * binutils-hppa/addendbug.s: New testcase. + * binutils-hppa/objdump.exp: Run it. + +Mon Mar 20 11:31:05 1995 Ian Lance Taylor + + * lib/utils-lib.exp (default_binutils_run): Quote any dollar signs + in progargs before passing it to exec. + +Fri Mar 17 16:39:31 1995 Jeff Law (law@snake.cs.utah.edu) + + * config/hppa.sed: Sed script to transform bintest.s into proper + PA assembly code. + * binutils-all/nm.exp: Enable these tests on the PA. + * binutils-all/objcopy.exp: Enable these tests on the PA. Expect + simple copy to fail. + * binutils-all/objdump.exp: Enable these tests on the PA. Handle + "CODE" as a section name. + * binutils-all/size.exp: Enable these tests on the PA. + * lib/utils-lib.exp (default_binutils_assemble): For "hppa*-*-*", + run the assembly through a sed script before passing it to the + assembler. + +Wed Mar 15 16:47:13 1995 Ian Lance Taylor + + * binutils-all/objdump.exp: Force section sizes to be interpreted + in hex. Change objdump -h failure mode to always use the same + string. + +Thu Jan 5 13:01:43 1995 Ian Lance Taylor + + * binutils-all/nm.exp: Just check for irix4*, rather than + irix\[0-4\]*, to avoid DejaGnu bug. + +Thu Dec 15 19:35:31 1994 Ken Raeburn + + * binutils-all/objcopy.exp: Expect simple-objcopy test to fail + for various other targets for which gas doesn't use bfd: sh-hms, + m68k-hpux, m68k-sunos, m68k-coff, i386-linux, a29k-udi, a29k-coff, + i960-vxworks5.1, i960-coff, h8300-hms, h8300-coff. + +Wed Dec 14 15:54:46 1994 Ken Raeburn + + * binutils-all/size.exp: Skip tests requiring bintest.o on hppa, + since it (correctly) generates syntax errors on that platform. + * binutils-all/objdump.exp: Ditto. + * binutils-all/nm.exp: Ditto. + * binutils-all/objcopy.exp: Ditto. Also, move setup_xfail for + sh-coff to branch where objcopy execution produced no error + messages. Expect failure for hp300 also. + +Thu Dec 8 14:36:15 1994 Ken Raeburn + + * binutils-all/objdump.exp (cpus_expected): New variable, taken + from objdump -i test, added ns32k and powerpc, sorted. + (objdump -i, -f tests): Use $cpus_expected. + + * binutils-all/objcopy.exp: For simple-copy test, expect failure + for sh-coff. + +Tue Oct 25 16:00:14 1994 Ian Lance Taylor + + * binutils-all/objcopy.exp: Adjust --adjust-section-vma tests for + new S-record section handling. + +Tue Oct 18 11:18:21 1994 Ian Lance Taylor + + * binutils-all/nm.exp: nm with no arguments and nm -P do not work + as expected on ECOFF targets; add calls to setup_xfail. + + * binutils-all/objcopy.exp: New file. + * config/default.exp: Initialize OBJCOPY and OBJCOPYFLAGS. + +Fri Oct 14 14:46:22 1994 Ian Lance Taylor + + Rewrite testsuite. + * configure.in, Makefile.in: Remove. + * binutils-all/configure.in, binutils-all/Makefile.in: Remove. + * binutils-all/bintest.c: Remove. + * binutils-all/bintest.s: New file. + * binutils-all/nm.exp, binutils-all/objdump.exp: Rewrite. + * binutils-all/size.exp: Rewrite. + * config/default.exp: Load utils-lib.exp. Set AS and ASFLAGS. + Don't go up one directory from $base_dir. Create tmpdir. + (binutils_run, binutils-assemble): New procedures. + * config/unix.exp: Remove. + * config/mt-a29k-udi, config/mt-i386-aout: Remove. + * config/mt-i960-nindy, config/mt-lynx, config/mt-m68k: Remove. + * config/mt-mips-ecoff, config/mt-slite: Remove. + * config/mt-sparc-aout, config/mt-vxworks: Remove. + * lib/utils-lib.exp (binutil_version): Don't redirect standard + input when getting version. Don't unset errorInfo. + (default_binutils_run): New procedure. + (default_binutils_assemble): New procedure. + +Thu Sep 29 12:45:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * VMS does not permit `.' in directory names: renamed binutils.all + to binutils-all. + * configure.in (configdirs): Change binutils.all to binutils-all. + +Fri Sep 23 16:01:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Use mt-m68k for m68k*-*-aout* and m68k*-*-coff*, + not for m68k-*-*. + +Fri Sep 23 13:54:50 1994 Ken Raeburn + + * binutils.all/objdump.exp: Added ARM to list of CPU types. + +Thu Sep 22 11:04:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * binutils.all/objdump.exp: Update for new usage message. + * binutils.all/size.exp: Use a double backslash in the string to + get a single backslash to the regexp matcher. Accept $TEXT$, + $DATA$ and $BSS$ as well as .text, .data and .bss, for HP/UX. + +Fri Sep 2 12:53:10 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/unix.exp: If nm.new does not exist, use [transform nm]. + * config/default.exp: Likewise. + +Wed Aug 24 12:41:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in, binutils.all/configure.in: Change i386 to + i[345]86. + +Tue Jul 19 15:23:53 1994 Bill Cox (bill@rtl.cygnus.com) + + * config/mt-mips-ecoff: Add -Tidp.ld option. + +Thu Jun 30 12:41:55 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/default.exp: Use nm.new, not nm, from newly built tree. + +Tue May 17 14:04:05 1994 Bill Cox (bill@rtl.cygnus.com) + + * config/default.exp, config/unix.exp: Replace error + proc calls with perror. + +Tue May 10 11:20:54 1994 Stan Shebs (shebs@andros.cygnus.com) + + * configure.in (sparclite): Match on sparclite*-*-*. + +Wed Apr 13 18:25:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/unix.exp: Use nm.new, not nm, from newly built tree. + + * binutils.all/objdump.exp: Add more wildcards to list of + single-letter options in pattern for usage message. + + * binutils.all/nm.exp: Deleted debug-symbols test, since it only + works for a.out/stabs systems. Fixed regexps to make underscores + optional, since some C compilers don't prepend them. Deleted + check for foo.o symbol, since again some systems don't generate + it. + +Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com) + + * Makefile.in (check): Set TCL_LIBRARY for runtest. + +Mon Feb 14 19:34:03 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * Makefile.in: Use new config features of DejaGnu in site.exp + file. "Make check" should now work for all crosses. + +Fri Jan 28 18:00:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * binutils.all/objdump.exp: In usage message, accept + "section-name" as well as "section_name". + +Mon Jan 17 16:57:02 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * binutils.all/objdump.exp: Trim list of format names expected, + and accept any known CPU type. + +Thu Dec 2 20:50:24 1993 Rob Savoye (rob@darkstar.cygnus.com) + + * Makefile.in: Remove some stuff from the site.exp file. + * config/unix.exp: Add global before seeing if the variables for + nm, objdump, and size exist. + +Wed Nov 3 11:12:32 1993 Rob Savoye (rob@darkstar.cygnus.com) + + * config/udi.exp,unix.exp: Transform tool name. + * binutils.all/*.exp: Clear errorInfo after exec. + +Fri Jul 2 12:41:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * binutils.all/*.exp: Use -- for long arguments rather than +. + +Fri Jun 4 10:52:29 1993 david d `zoo' zuhn (zoo@cirdan.cygnus.com) + + * configure.in: change srctrigger to Makefile.in + +Wed May 26 17:27:46 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (FLAGS_TO_PASS): Pass down CC and CFLAGS. + +Fri May 7 13:58:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * binutils.all/objdump.exp: Update for new usage message. + +Mon Apr 19 14:08:52 1993 Rob Savoye (rob@darkstar.cygnus.com) + + * binutils.all/*.exp: Use the new util_test proc. + * Makefile.in: Create a local site.exp file with config info. + +Thu Mar 25 05:38:47 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * nm.all/configure.in (srcname): Delete extra quote. + +Mon Feb 22 07:54:03 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * binutils/testsuite: made modifications to testcases, etc., to allow + them to work properly given the reorganization of deja-gnu and the + relocation of the testcases from deja-gnu to a "tool" subdirectory. + +Sun Feb 21 10:55:55 1993 Mike Werner (mtw@poseidon.cygnus.com) + + * binutils/testsuite: Initial creation of binutils/testsuite. + Migrated dejagnu testcases and support files for testing nm to + binutils/testsuite from deja-gnu. These files were moved "as is" + with no modifications. This migration is part of a major overhaul + of dejagnu. The modifications to these testcases, etc., which + will allow them to work with the new version of dejagnu will be + made in a future update. Index: config/default.exp =================================================================== --- config/default.exp (nonexistent) +++ config/default.exp (revision 818) @@ -0,0 +1,121 @@ +# Copyright 1993, 1994, 1995, 1997, 1999, 2001, 2002, 2004, 2005, 2007, 2009 +# Free Software Foundation, Inc. + +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-dejagnu@prep.ai.mit.edu + +# This file was written by Rob Savoye. (rob@cygnus.com) + +load_lib utils-lib.exp + +if ![info exists NM] then { + set NM [findfile $base_dir/nm-new $base_dir/nm-new [transform nm]] +} +if ![info exists NMFLAGS] then { + set NMFLAGS "" +} +if ![info exists SIZE] then { + set SIZE [findfile $base_dir/size] +} +if ![info exists SIZEFLAGS] then { + set SIZEFLAGS "" +} +if ![info exists OBJDUMP] then { + set OBJDUMP [findfile $base_dir/objdump] +} +if ![info exists OBJDUMPFLAGS] then { + set OBJDUMPFLAGS "" +} +if ![info exists OBJCOPY] then { + set OBJCOPY [findfile $base_dir/objcopy] +} +if ![info exists OBJCOPYFLAGS] then { + set OBJCOPYFLAGS "" +} +if ![info exists AR] then { + set AR [findfile $base_dir/ar] +} +if ![info exists STRIP] then { + set STRIP [findfile $base_dir/strip-new $base_dir/strip-new [transform strip]] +} +if ![info exists STRIPFLAGS] then { + set STRIPFLAGS "" +} +if ![info exists READELF] then { + set READELF [findfile $base_dir/readelf] +} +if ![info exists READELFFLAGS] then { + set READELFFLAGS "" +} +if ![info exists WINDRES] then { + set WINDRES [findfile $base_dir/windres] +} +if ![info exists DLLTOOL] then { + set DLLTOOL [findfile $base_dir/dlltool] +} + +if ![file isdirectory tmpdir] {catch "exec mkdir tmpdir" status} + +# Make a copy from tmpdir/gas/as and tmpdir/gas/ld to the assembler +# and linker in the build tree, so that we can use a -B option to gcc +# to force it to use the newly built assembler/linker. +if {![file isdirectory tmpdir/gas]} {catch "exec mkdir tmpdir/gas" status} + +proc link_or_copy { src dst } { + if ![catch "exec ln -sf ../../../$src tmpdir/gas/$dst" status] then {return 0} + if ![catch "exec ln -f ../$src tmpdir/gas/$dst" status] then {return 0} + catch "exec cp -fpu ../$src tmpdir/gas/$dst" status +} + +if {[file isfile gas/as-new[exe_ext]]} then { + link_or_copy gas/as-new[exe_ext] as[exe_ext] +} else { + # For non-Windows hosts there may be an executable + # without a .exe suffix, so try copying that instead. + link_or_copy gas/as-new as[exe_ext] +} +# This may not be needed any more... +if {[file isfile ld/ld-new[exe_ext]]} then { + link_or_copy ld/ld-new[exe_ext] ld[exe_ext] +} else { + link_or_copy ld/ld-new ld[exe_ext] +} +if {[file isfile tmpdir/gas/as[exe_ext]]} then { + set gcc_gas_flag "-B[pwd]/tmpdir/gas/" + set dlltool_gas_flag "-S [pwd]/tmpdir/gas/as[exe_ext]" +} else { + # Testing an installed toolchain. + set gcc_gas_flag "" + set dlltool_gas_flag "" +} + +# +# binutils_run +# run a program, returning the output +# sets binutils_run_failed if the program does not exist +# +proc binutils_run { prog progargs } { + default_binutils_run $prog $progargs +} + +# +# binutils_assemble +# assemble a file +# +proc binutils_assemble { source object } { + default_binutils_assemble $source $object +} Index: config/hppa.sed =================================================================== --- config/hppa.sed (nonexistent) +++ config/hppa.sed (revision 818) @@ -0,0 +1,4 @@ +s/# Old OSF sed blows up if you have a sed command starting with "#"// +s/# Avoid it by putting the comments within real sed commands.// +s/# Fix the definition of common_symbol to be correct for the PA assemblers.// +s/ \.comm common_symbol,4/common_symbol .comm 4/ Index: lib/utils-lib.exp =================================================================== --- lib/utils-lib.exp (nonexistent) +++ lib/utils-lib.exp (revision 818) @@ -0,0 +1,673 @@ +# Copyright 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, +# 2009 Free Software Foundation, Inc. + +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-dejagnu@prep.ai.mit.edu + +# This file was written by Rob Savoye +# and extended by Ian Lance Taylor + +proc binutil_version { prog } { + if ![is_remote host] { + set path [which $prog] + if {$path == 0} then { + perror "$prog can't be run, file not found." + return "" + } + } else { + set path $prog + } + set state [remote_exec host $prog --version] + set tmp "[lindex $state 1]\n" + # Should find a way to discard constant parts, keep whatever's + # left, so the version string could be almost anything at all... + regexp "\[^\n\]* (cygnus-|)(\[-0-9.a-zA-Z-\]+)\[\r\n\].*" "$tmp" version cyg number + if ![info exists number] then { + return "$path (no version number)\n" + } + return "$path $number\n" +} + +# +# default_binutils_run +# run a program, returning the output +# sets binutils_run_failed if the program does not exist +# +proc default_binutils_run { prog progargs } { + global binutils_run_failed + global host_triplet + + set binutils_run_failed 0 + + if ![is_remote host] { + if {[which $prog] == 0} then { + perror "$prog does not exist" + set binutils_run_failed 1 + return "" + } + } + + send_log "$prog $progargs\n" + verbose "$prog $progargs" + + # Gotta quote dollar-signs because they get mangled by the + # shell otherwise. + regsub -all "\\$" "$progargs" "\\$" progargs + + set state [remote_exec host $prog $progargs] + set exec_output [prune_warnings [lindex $state 1]] + if {![string match "" $exec_output]} then { + send_log "$exec_output\n" + verbose "$exec_output" + } else { + if { [lindex $state 0] != 0 } { + set exec_output "$prog exited with status [lindex $state 0]" + send_log "$exec_output\n" + verbose "$exec_output" + } + } + return $exec_output +} + +# +# default_binutils_assemble +# assemble a file +# +proc default_binutils_assemble { source object } { + global srcdir + global host_triplet + + # The HPPA assembler syntax is a little different than most, to make + # the test source file assemble we need to run it through sed. + # + # This is a hack in that it won't scale well if other targets need + # similar transformations to assemble. We'll generalize the hack + # if/when other targets need similar handling. + if { [istarget "hppa*-*-*"] && ![istarget "*-*-linux*" ] } then { + set sed_file $srcdir/config/hppa.sed + send_log "sed -f $sed_file < $source > asm.s\n" + verbose "sed -f $sed_file < $source > asm.s" + catch "exec sed -f $sed_file < $source > asm.s" + set source asm.s + } + + set exec_output [target_assemble $source $object ""] + set exec_output [prune_warnings $exec_output] + + if [string match "" $exec_output] { + return 1 + } else { + send_log "$exec_output\n" + verbose "$exec_output" + perror "$source: assembly failed" + return 0 + } +} + +# +# is_elf_format +# true if the object format is known to be ELF +# +proc is_elf_format {} { + if { ![istarget *-*-sysv4*] \ + && ![istarget *-*-unixware*] \ + && ![istarget *-*-elf*] \ + && ![istarget *-*-eabi*] \ + && ![istarget hppa*64*-*-hpux*] \ + && ![istarget ia64-*-hpux*] \ + && ![istarget *-*-linux*] \ + && ![istarget *-*-irix5*] \ + && ![istarget *-*-irix6*] \ + && ![istarget *-*-netbsd*] \ + && ![istarget *-*-solaris2*] } { + return 0 + } + + if { [istarget *-*-linux*aout*] \ + || [istarget *-*-linux*oldld*] } { + return 0 + } + + if { ![istarget *-*-netbsdelf*] \ + && ([istarget *-*-netbsd*aout*] \ + || [istarget *-*-netbsdpe*] \ + || [istarget arm*-*-netbsd*] \ + || [istarget sparc-*-netbsd*] \ + || [istarget i*86-*-netbsd*] \ + || [istarget m68*-*-netbsd*] \ + || [istarget vax-*-netbsd*] \ + || [istarget ns32k-*-netbsd*]) } { + return 0 + } + return 1 +} + +# +# exe_ext +# Returns target executable extension, if any. +# +proc exe_ext {} { + if { [istarget *-*-mingw*] || [istarget *-*-cygwin*] } { + return ".exe" + } else { + return "" + } +} + +# Copied and modified from gas. + +# run_dump_test FILE (optional:) EXTRA_OPTIONS +# +# Assemble a .s file, then run some utility on it and check the output. +# +# There should be an assembly language file named FILE.s in the test +# suite directory, and a pattern file called FILE.d. `run_dump_test' +# will assemble FILE.s, run some tool like `objdump', `objcopy', or +# `nm' on the .o file to produce textual output, and then analyze that +# with regexps. The FILE.d file specifies what program to run, and +# what to expect in its output. +# +# The FILE.d file begins with zero or more option lines, which specify +# flags to pass to the assembler, the program to run to dump the +# assembler's output, and the options it wants. The option lines have +# the syntax: +# +# # OPTION: VALUE +# +# OPTION is the name of some option, like "name" or "objdump", and +# VALUE is OPTION's value. The valid options are described below. +# Whitespace is ignored everywhere, except within VALUE. The option +# list ends with the first line that doesn't match the above syntax. +# However, a line within the options that begins with a #, but doesn't +# have a recognizable option name followed by a colon, is considered a +# comment and entirely ignored. +# +# The optional EXTRA_OPTIONS argument to `run_dump_test' is a list of +# two-element lists. The first element of each is an option name, and +# the second additional arguments to be added on to the end of the +# option list as given in FILE.d. (If omitted, no additional options +# are added.) +# +# The interesting options are: +# +# name: TEST-NAME +# The name of this test, passed to DejaGNU's `pass' and `fail' +# commands. If omitted, this defaults to FILE, the root of the +# .s and .d files' names. +# +# as: FLAGS +# When assembling FILE.s, pass FLAGS to the assembler. +# +# PROG: PROGRAM-NAME +# The name of the program to run to analyze the .o file produced +# by the assembler. This can be omitted; run_dump_test will guess +# which program to run by seeing which of the flags options below +# is present. +# +# objdump: FLAGS +# nm: FLAGS +# objcopy: FLAGS +# Use the specified program to analyze the .o file, and pass it +# FLAGS, in addition to the .o file name. Note that they are run +# with LC_ALL=C in the environment to give consistent sorting +# of symbols. +# +# source: SOURCE +# Assemble the file SOURCE.s. If omitted, this defaults to FILE.s. +# This is useful if several .d files want to share a .s file. +# +# target: GLOBS... +# Run this test only on a specified list of targets. More precisely, +# each glob in the space-separated list is passed to "istarget"; if +# it evaluates true for any of them, the test will be run, otherwise +# it will be marked unsupported. +# +# not-target: GLOBS... +# Do not run this test on a specified list of targets. Again, +# the each glob in the space-separated list is passed to +# "istarget", and the test is run if it evaluates *false* for +# *all* of them. Otherwise it will be marked unsupported. +# +# skip: GLOBS... +# not-skip: GLOBS... +# These are exactly the same as "not-target" and "target", +# respectively, except that they do nothing at all if the check +# fails. They should only be used in groups, to construct a single +# test which is run on all targets but with variant options or +# expected output on some targets. (For example, see +# gas/arm/inst.d and gas/arm/wince_inst.d.) +# +# error: REGEX +# An error with message matching REGEX must be emitted for the test +# to pass. The PROG, objdump, nm and objcopy options have no +# meaning and need not supplied if this is present. +# +# warning: REGEX +# Expect a gas warning matching REGEX. It is an error to issue +# both "error" and "warning". +# +# stderr: FILE +# FILE contains regexp lines to be matched against the diagnostic +# output of the assembler. This does not preclude the use of +# PROG, nm, objdump, or objcopy. +# +# error-output: FILE +# Means the same as 'stderr', but also indicates that the assembler +# is expected to exit unsuccessfully (therefore PROG, objdump, nm, +# and objcopy have no meaning and should not be supplied). +# +# Each option may occur at most once. +# +# After the option lines come regexp lines. `run_dump_test' calls +# `regexp_diff' to compare the output of the dumping tool against the +# regexps in FILE.d. `regexp_diff' is defined later in this file; see +# further comments there. + +proc run_dump_test { name {extra_options {}} } { + global subdir srcdir + global OBJDUMP NM OBJCOPY READELF STRIP + global OBJDUMPFLAGS NMFLAGS OBJCOPYFLAGS READELFFLAGS STRIPFLAGS + global host_triplet + global env + global copyfile + global tempfile + + if [string match "*/*" $name] { + set file $name + set name [file tail $name] + } else { + set file "$srcdir/$subdir/$name" + } + set opt_array [slurp_options "${file}.d"] + if { $opt_array == -1 } { + perror "error reading options from $file.d" + unresolved $subdir/$name + return + } + set opts(addr2line) {} + set opts(ar) {} + set opts(nm) {} + set opts(objcopy) {} + set opts(objdump) {} + set opts(strip) {} + set opts(ranlib) {} + set opts(readelf) {} + set opts(size) {} + set opts(strings) {} + set opts(name) {} + set opts(PROG) {} + set opts(DUMPPROG) {} + set opts(source) {} + set opts(target) {} + set opts(not-target) {} + set opts(skip) {} + set opts(not-skip) {} + + foreach i $opt_array { + set opt_name [lindex $i 0] + set opt_val [lindex $i 1] + if ![info exists opts($opt_name)] { + perror "unknown option $opt_name in file $file.d" + unresolved $subdir/$name + return + } + if [string length $opts($opt_name)] { + perror "option $opt_name multiply set in $file.d" + unresolved $subdir/$name + return + } + set opts($opt_name) $opt_val + } + + foreach i $extra_options { + set opt_name [lindex $i 0] + set opt_val [lindex $i 1] + if ![info exists opts($opt_name)] { + perror "unknown option $opt_name given in extra_opts" + unresolved $subdir/$name + return + } + # add extra option to end of existing option, adding space + # if necessary. + if [string length $opts($opt_name)] { + append opts($opt_name) " " + } + append opts($opt_name) $opt_val + } + + if { $opts(name) == "" } { + set testname "$subdir/$name" + } else { + set testname $opts(name) + } + verbose "Testing $testname" + + if {$opts(PROG) == ""} { + perror "program isn't set in $file.d" + unresolved $testname + return + } + + set destopt "" + switch -- $opts(PROG) { + ar { set program ar } + objcopy { set program objcopy } + ranlib { set program ranlib } + strip { + set program strip + set destopt "-o" + } + strings { set program strings } + default { + perror "unrecognized program option $opts(PROG) in $file.d" + unresolved $testname + return } + } + + set dumpprogram "" + if { $opts(DUMPPROG) != "" } { + switch -- $opts(DUMPPROG) { + addr2line { set dumpprogram addr2line } + nm { set dumpprogram nm } + objdump { set dumpprogram objdump } + readelf { set dumpprogram readelf } + size { set dumpprogram size } + default { + perror "unrecognized dump program option $opts(DUMPPROG) in $file.d" + unresolved $testname + return } + } + } else { + # Guess which program to run, by seeing which option was specified. + foreach p {objdump nm readelf} { + if {$opts($p) != ""} { + if {$dumpprogram != ""} { + perror "ambiguous dump program in $file.d" + unresolved $testname + return + } else { + set dumpprogram $p + } + } + } + } + + # Handle skipping the test on specified targets. + # You can have both skip/not-skip and target/not-target, but you can't + # have both skip and not-skip, or target and not-target, in the same file. + if { $opts(skip) != "" } then { + if { $opts(not-skip) != "" } then { + perror "$testname: mixing skip and not-skip directives is invalid" + unresolved $testname + return + } + foreach glob $opts(skip) { + if {[istarget $glob]} { return } + } + } + if { $opts(not-skip) != "" } then { + set skip 1 + foreach glob $opts(not-skip) { + if {[istarget $glob]} { + set skip 0 + break + } + } + if {$skip} { return } + } + if { $opts(target) != "" } then { + if { $opts(not-target) != "" } then { + perror "$testname: mixing target and not-target directives is invalid" + unresolved $testname + return + } + set skip 1 + foreach glob $opts(target) { + if {[istarget $glob]} { + set skip 0 + break + } + } + if {$skip} { + unsupported $testname + return + } + } + if { $opts(not-target) != "" } then { + foreach glob $opts(not-target) { + if {[istarget $glob]} { + unsupported $testname + return + } + } + } + + if { $opts(source) == "" } { + set srcfile ${file}.s + } else { + set srcfile $srcdir/$subdir/$opts(source) + } + + set exec_output [binutils_assemble ${srcfile} $tempfile] + if [string match "" $exec_output] then { + send_log "$exec_output\n" + verbose "$exec_output" + fail $testname + return + } + + set progopts1 $opts($program) + eval set progopts \$[string toupper $program]FLAGS + eval set binary \$[string toupper $program] + + set exec_output [binutils_run $binary "$progopts $progopts1 $tempfile $destopt ${copyfile}.o"] + if ![string match "" $exec_output] { + send_log "$exec_output\n" + verbose "$exec_output" + fail $testname + return + } + + set progopts1 $opts($dumpprogram) + eval set progopts \$[string toupper $dumpprogram]FLAGS + eval set binary \$[string toupper $dumpprogram] + + if { ![is_remote host] && [which $binary] == 0 } { + untested $testname + return + } + + verbose "running $binary $progopts $progopts1" 3 + + set cmd "$binary $progopts $progopts1 ${copyfile}.o" + + # Ensure consistent sorting of symbols + if {[info exists env(LC_ALL)]} { + set old_lc_all $env(LC_ALL) + } + set env(LC_ALL) "C" + send_log "$cmd\n" + set comp_output [remote_exec host $cmd "" "/dev/null" "tmpdir/dump.out"] + if {[info exists old_lc_all]} { + set env(LC_ALL) $old_lc_all + } else { + unset env(LC_ALL) + } + if { [lindex $comp_output 0] != 0 } then { + send_log "$comp_output\n" + fail $testname + return + } + set comp_output [prune_warnings [lindex $comp_output 1]] + if ![string match "" $comp_output] then { + send_log "$comp_output\n" + fail $testname + return + } + + verbose_eval {[file_contents "tmpdir/dump.out"]} 3 + if { [regexp_diff "tmpdir/dump.out" "${file}.d"] } then { + fail $testname + verbose "output is [file_contents "tmpdir/dump.out"]" 2 + return + } + + pass $testname +} + +proc slurp_options { file } { + if [catch { set f [open $file r] } x] { + #perror "couldn't open `$file': $x" + perror "$x" + return -1 + } + set opt_array {} + # whitespace expression + set ws {[ ]*} + set nws {[^ ]*} + # whitespace is ignored anywhere except within the options list; + # option names are alphabetic plus dash + set pat "^#${ws}(\[a-zA-Z-\]*)$ws:${ws}(.*)$ws\$" + while { [gets $f line] != -1 } { + set line [string trim $line] + # Whitespace here is space-tab. + if [regexp $pat $line xxx opt_name opt_val] { + # match! + lappend opt_array [list $opt_name $opt_val] + } elseif {![regexp "^#" $line ]} { + break + } + } + close $f + return $opt_array +} + +# regexp_diff, based on simple_diff taken from ld test suite +# compares two files line-by-line +# file1 contains strings, file2 contains regexps and #-comments +# blank lines are ignored in either file +# returns non-zero if differences exist +# +proc regexp_diff { file_1 file_2 } { + + set eof -1 + set end_1 0 + set end_2 0 + set differences 0 + set diff_pass 0 + + if [file exists $file_1] then { + set file_a [open $file_1 r] + } else { + perror "$file_1 doesn't exist" + return 1 + } + + if [file exists $file_2] then { + set file_b [open $file_2 r] + } else { + perror "$file_2 doesn't exist" + close $file_a + return 1 + } + + verbose " Regexp-diff'ing: $file_1 $file_2" 2 + + while { 1 } { + set line_a "" + set line_b "" + while { [string length $line_a] == 0 } { + if { [gets $file_a line_a] == $eof } { + set end_1 1 + break + } + } + while { [string length $line_b] == 0 || [string match "#*" $line_b] } { + if [ string match "#pass" $line_b ] { + set end_2 1 + set diff_pass 1 + break + } elseif [ string match "#..." $line_b ] { + if { [gets $file_b line_b] == $eof } { + set end_2 1 + set diff_pass 1 + break + } + verbose "looking for \"^$line_b$\"" 3 + while { ![regexp "^$line_b$" "$line_a"] } { + verbose "skipping \"$line_a\"" 3 + if { [gets $file_a line_a] == $eof } { + set end_1 1 + break + } + } + break + } + if { [gets $file_b line_b] == $eof } { + set end_2 1 + break + } + } + + if { $diff_pass } { + break + } elseif { $end_1 && $end_2 } { + break + } elseif { $end_1 } { + send_log "extra regexps in $file_2 starting with \"^$line_b$\"\nEOF from $file_1\n" + verbose "extra regexps in $file_2 starting with \"^$line_b$\"\nEOF from $file_1" 3 + set differences 1 + break + } elseif { $end_2 } { + send_log "extra lines in $file_1 starting with \"^$line_a$\"\nEOF from $file_2\n" + verbose "extra lines in $file_1 starting with \"^$line_a$\"\nEOF from $file_2\n" 3 + set differences 1 + break + } else { + verbose "regexp \"^$line_b$\"\nline \"$line_a\"" 3 + if ![regexp "^$line_b$" "$line_a"] { + send_log "regexp_diff match failure\n" + send_log "regexp \"^$line_b$\"\nline \"$line_a\"\n" + verbose "regexp_diff match failure\n" 3 + set differences 1 + } + } + } + + if { $differences == 0 && !$diff_pass && [eof $file_a] != [eof $file_b] } { + send_log "$file_1 and $file_2 are different lengths\n" + verbose "$file_1 and $file_2 are different lengths" 3 + set differences 1 + } + + close $file_a + close $file_b + + return $differences +} + +proc file_contents { filename } { + set file [open $filename r] + set contents [read $file] + close $file + return $contents +} + +proc verbose_eval { expr { level 1 } } { + global verbose + if $verbose>$level then { eval verbose "$expr" $level } +} Index: ChangeLog =================================================================== --- ChangeLog (nonexistent) +++ ChangeLog (revision 818) @@ -0,0 +1,611 @@ +2009-09-08 Alan Modra + + * binutils-all/objdump.exp (cpus_expected): Add ms1. + +2009-09-07 Jan Kratochvil + + * binutils-all/testranges.s (.debug_info): Pad the only CU. + +2009-09-07 Jan Kratochvil + + * binutils-all/testranges.s: Replace all .long by .4byte. + +2009-09-04 DJ Delorie + + * binutils-all/objdump.exp: Add m16c and m32c to the list of + expected cpus. + +2009-09-02 Jie Zhang + + * binutils-all/bfin/unknown-mode.s: New test. + * binutils-all/bfin/objdump.exp: New test. + +2009-08-17 Nick Clifton + + * binutils-all/strip-10.d: Accept ": 10" for the type + of the UNIQUE symbol. + +2009-08-07 Daniel Jacobowitz + + * binutils-all/testranges.s: Use %progbits. Use ";#" for comments. + +2009-08-06 H.J. Lu + + PR binutils/10492 + * binutils-all/objcopy.exp: Run strip-10. + + * binutils-all/strip-10.d: New. + * binutils-all/unique.s: Likewise. + +2009-07-31 Daniel Gutson + Daniel Jacobowitz + + * binutils-all/arm/thumb2-cond.s: Use instructions instead of + .short. + +2009-07-29 Alan Modra + + * binutils-all/testranges.s: Replace .value with .short. + +2009-07-16 Dave Korn + H.J. Lu + + * binutils-all/objcopy.exp: Run testranges and testranges-ia64 + for ELF targets only. + +2009-07-16 H.J. Lu + + * binutils-all/objcopy.exp; Run testranges-ia64. + + * binutils-all/testranges.d: Don't run for ia64. + + * binutils-all/testranges-ia64.d: New. + * binutils-all/testranges-ia64.s: Likewise. + +2009-07-14 Jan Kratochvil + + * binutils-all/objcopy.exp (testranges): New test. + * binutils-all/testranges.d, binutils-all/testranges.s: New files. + +2009-06-25 Christopher Faylor + + * binutils-all/objcopy.exp: Move XFAIL from objcopy_test to + copy_executable. + +2009-06-25 Christopher Faylor + + * binutils-all/objcopy.exp: Always treat objcopy_test as XFAIL on + cygwin. + +2009-04-16 Alan Modra + + * binutils-all/localize-hidden-1.s: Use "==" instead of ".set". + * binutils-all/localize-hidden-2.s: Likewise. + +2009-04-02 Dave Korn + + * inutils-all/objcopy.exp (strip_executable): Delete remote dest + file before downloading. + (strip_executable_with_saving_a_symbol): Likewise. + (keep_debug_symbols_and_test_copy): Likewise. + +2009-03-11 Joseph Myers + + * binutils-all/objdump.W, binutils-all/objdump.s: Don't match + literal "tmpdir/" in expected output. + +2009-03-11 Chris Demetriou + + * binutils-all/ar.exp (deterministic_archive): New test. + +2009-03-09 H.J. Lu + + PR binutils/9933 + * binutils-all/copy-4.d: New. + + * binutils-all/objcopy.exp: Run copy-4. + +2009-03-03 John David Anglin + + * config/hppa.sed: Fix spelling. + +2009-03-02 John David Anglin + + * binutils-all/localize-hidden-1.s: Change .equ to .set. + * binutils-all/localize-hidden-2.s: Likewise. + +2009-01-29 Nick Clifton + + * binutils-all/objdump.W: Do not assume that high and low PC + addresses will have been computed. + +2008-10-06 Tom Tromey + + * binutils-all/objdump.W: Update. + +2008-10-03 H.J. Lu + + * binutils-all/group.s: Updated. + * binutils-all/group-2.s: Likewise. + * binutils-all/group-3.s: Likewise. + * binutils-all/group-4.s: Likewise. + * binutils-all/strip-7.d: Likewise. + * binutils-all/strip-9.d: Likewise. + +2008-10-01 H.J. Lu + + * binutils-all/group-4.s: New. + * binutils-all/strip-8.d: Likewise. + * binutils-all/strip-9.d: Likewise. + + * binutils-all/objcopy.exp: Test objcopy on group-4.s. Run + strip-8 and strip-9. + +2008-10-01 H.J. Lu + + * binutils-all/group-3.s: New. + * binutils-all/strip-6.d: Likewise. + * binutils-all/strip-7.d: Likewise. + + * binutils-all/objcopy.exp: Test objcopy on group-3.s. Run + strip-6 and strip-7. + +2008-10-01 H.J. Lu + + * binutils-all/group-2.s: New. + * binutils-all/strip-4.d: Likewise. + * binutils-all/strip-5.d: Likewise. + + * binutils-all/objcopy.exp: Test objcopy on group-2.s. Run + strip-4 and strip-5. + +2008-07-26 Alan Modra + + * binutils-all/objdump.exp: Run compressed debug test only for ELF. + +2008-07-11 Hans-Peter Nilsson + + * binutils-all/objdump.W: Generalize to adjust for targets with + non-byte-size instructions. + +2008-07-09 Craig Silverstein + + * binutils-all/objdump.exp: Add test for objdump -s on a file + with a compressed debug section. Add test for objdump -W on a + file that contains a compressed debug section. + * binutils-all/readelf.exp: Call readelf_compressed_wa_test. + (readelf_compressed_wa_test): New function. + * binutils-all/dw2-compressed.S: New file. + * binutils-all/objdump.W: New file. + * binutils-all/objdump.s: New file. + * binutils-all/readelf.wa: New file. + +2008-07-08 Kai Tietz + + * binutils-all/objcopy.exp (copy_setup): Check if host-triplet + is target-triplet for execution tests. + (copy_executable): Likewise. + (strip_executable): Likewise. + (strip_executable_with_saving_a_symbol): Likewise. + +2008-05-29 Jan Kratochvil + + * binutils-all/objcopy.exp: Call KEEP_DEBUG_SYMBOLS_AND_TEST_COPY. + (keep_debug_symbols_and_test_copy): New function. + (test5, test6): New variables. + +2008-03-27 Cary Coutant + + * binutils-all/ar.exp: Add thin archive tests. + +2008-02-26 Joseph Myers + + * config/default.exp (gcc_gas_flag, dlltool_gas_flag): Define to + empty for testing an installed toolchain. + +2008-02-04 Bob Wilson + + * binutils-all/objdump.exp (cpus_expected): Add xtensa. + +2007-10-26 Alan Modra + + * binutils-all/windres/windres.exp: Don't xfail. + +2007-10-16 Nick Clifton + + * binutils-all/readelf.ss: Accept COMMON in readelf's output. + * binutils-all/readelf.ss-64: Likewise. + * binutils-all/readelf.ss-mips: Likewise. + * binutils-all/readelf.ss-tmips: Likewise. + +2007-08-30 Nick Clifton + + * binutils-all/dumptest.s: New test file. + * binutils-all/readelf.exp: Add test of readelf's -p switch. + +2007-08-28 Mark Shinwell + Joseph Myers + + * binutils-all/ar.exp (long_filenames): Delete temporary files on + the host. + * binutils-all/arm/objdump.exp: Only check "which $OBJDUMP" if + host is local. + * binutils-all/objcopy.exp: Use ${srecfile} to get the name of the + srec file to be passed to binutils_run. + (objcopy_test_readelf): Use remote_exec. + * binutils-all/readelf.exp (readelf_find_size): Use remote_exec. + (readelf_test): Likewise. + (readelf_wi_test): Likewise. + * lib/utils-lib.exp (run_dump_test): Only check "which $binary" if + host is local. Use remote_exec. Use $tempfile not + tmpdir/bintest.o. + +2007-08-09 Alan Modra + + * binutils-all/copy-2.d (not-target): Match *-*-*aout. + * binutils-all/copy-3.d (not-target): Likewise. + * binutils-all/objcopy.exp (objcopy_test): Remove extraneous + setup_xfail. + * windres/windres.exp: Return unsupported rather than fail if + windows.h not found. + +2007-07-05 Nick Clifton + + * lib/utils-lib.exp: Update copyright notice to refer to GPLv3. + * config/default.exp, binutils-all/ar.exp, + binutils-all/dlltool.exp, binutils-all/nm.exp, + binutils-all/objcopy.exp, binutils-all/arm/objdump.exp, + binutils-all/hppa/objdump.exp, binutils-all/m68k/objdump.exp, + binutils-all/vax/objdump.exp, binutils-all/windres/windres.exp, + binutils-all/windres/msupdate: Likewise. + +2007-06-23 H.J. Lu + + * binutils-all/strip-3.d: Also strip .xtensa.info section. + +2007-05-24 Kai Tietz + + * binutils-all/windres/version_cat.rc: New. + * binutils-all/windres/version_cat.rsd: New. + +2007-05-23 Kai Tietz + + * binutils-all/windres/html.rc: New. + * binutils-all/windres/html.rsd: New. + * binutils-all/windres/html1.hm: New. + * binutils-all/windres/html2.hm: New. + * binutils-all/windres/messagetable.rc: New. + * binutils-all/windres/messagetable.rsd: New. + * binutils-all/windres/MSG00001.bin: New. + * binutils-all/windres/strtab2.rc: New. + * binutils-all/windres/strtab2.rsd: New. + * binutils-all/windres/version.rc: New. + * binutils-all/windres/version.rsd: New. + * binutils-all/windres/dialog.rsd: Fix expected results. + +2007-05-17 Joseph Myers + + * binutils-all/strip-3.d: Strip .pdr section. + +2007-05-15 Alan Modra + + * binutils-all/objcopy.exp: Only run needed-by-reloc test for ELF. + +2007-05-11 Alan Modra + + * binutils-all/needed-by-reloc.s: Use .long rather than .4byte. + +2007-05-08 Mark Shinwell + + * binutils-all/strip-3.d: Strip .ARM.attributes and .reginfo + sections. + +2007-05-02 Alan Modra + + * binutils-all/objcopy.exp (copy_setup): Don't perror, use send_log. + (copy_executable): Return early if test2 is blank. + Return unsupported rather than unresolved if we can't run + executables. Do test1 if we can compile. + +2007-04-24 Nathan Froyd + Phil Edwards + + * binutils-all/objcopy.exp: Add test for stripping a symbol + used in a relocation. + * binutils-all/needed-by-reloc.s: New file. + +2007-04-20 Nathan Froyd + Phil Edwards + Thomas de Lellis + + * binutils-all/objcopy.exp: Add test for --reverse-bytes. + +2007-04-21 Richard Earnshaw + + * binutils-all/readelf.exp (regexp_diff): Delete. + +2007-04-20 Richard Earnshaw + + * binutils-all/arm/thumb2-cond.s: Allow for tab expansion by the pty. + Rename the second test. + +2007-04-12 H.J. Lu + + PR binutils/4348 + * binutils-all/empty.s: New file. + * binutils-all/strip-3.d: Likewise. + + * binutils-all/objcopy.exp: Run strip-3 for ELF target. + +2007-02-27 Nathan Sidwell + + * binutils-all/objcopy.exp: Skip for uclinux targets. + +2007-02-14 Nick Clifton + + * binutils-all/readelf.exp (readelf_wi_test): Fix unexpected + output failure message. + +2007-01-08 Kai Tietz + + * copy-3.d: Renamed target x86_64-*-mingw64 to x86_64-*-mingw* + * dlltool.exp: Dito + * lang.rc: Dito + * strtab1.rc: Dito + * windres.exp: Dito + +2006-09-20 Kai Tietz + + * binutils-all/copy-3.d: Add support for target x86_64-pc-mingw64. + * binutils-all/dlltool.exp: Likewise. + * binutils-all/objcopy.exp: Likewise. + * binutils-all/windres/windres.exp: Likewise. + * binutils-all/windres/lang.rc: xfail it as long as there is no windows.h. + * binutils-all/windres/strtab1.rc: Likewise. + * lib/utils-lib.exp: Adjust executable prefix detection (as .exe). + +2006-09-14 H.J. Lu + + PR binutils/3181 + * binutils-all/objcopy.exp: Run strip-1 and strip-2 for ELF + targets. + + * binutils-all/strip-1.d: New file. + * binutils-all/strip-2.d: Likewise. + + * lib/utils-lib.exp (run_dump_test): Support strip. + +2006-08-15 Thiemo Seufer + Nigel Stephens + David Ung + + * binutils-all/readelf.exp (readelf_test): Handle mips*-sde-elf*. + +2006-06-24 Richard Sandiford + + * binutils-all/localize-hidden-1.d: Use objdump --syms instead + of readelf. + +2006-06-23 Richard Sandiford + + * binutils-all/localize-hidden-1.s, + * binutils-all/localize-hidden-1.d, + * binutils-all/localize-hidden-2.s, + * binutils-all/localize-hidden-2.d: New tests. + * binutils-all/objcopy.exp: Run them. + +2006-06-06 Paul Brook + + * binutils-all/arm/objdump.exp: New file. + * binutils-all/arm/thumb2-cond.s: New test. + +2006-05-03 H.J. Lu + + * binutils-all/copy-3.d: Fix a typo. + +2006-05-03 H.J. Lu + + * binutils-all/copy-3.d: New. + + * objcopy.exp: Run copy-3. + +2006-05-02 Dave Korn + + * binutils-all/copy-1.d (name): Correct spelling of 'setting'. + * binutils-all/copy-1.d (name): Likewise. + +2006-05-02 Nick Clifton + + * binutils-all/copy-2.d: Change the name of the section whose + flags are changed to "foo" so that the test will work with PE + based targets. Skip this test for AOUT based targeted. + * binutils-all/copytest.s: New file. + +2006-05-01 H.J. Lu + + * binutils-all/objcopy.exp: Run "copy-1" for ELF only. + +2006-05-01 Ben Elliston + + * binutils-all/objcopy.exp (objcopy_test_readelf): Remove stray ; + +2006-04-26 H.J. Lu + + PR binutils/2593 + * binutils-all/copy-1.d: New file. + * binutils-all/copy-1.s: Likewise. + * binutils-all/copy-2.d: Likewise. + + * binutils-all/objcopy.exp: Add run_dump_test "copy-1" and + run_dump_test "copy-2". + + * lib/utils-lib.exp (run_dump_test): New. + (slurp_options): Likewise. + (regexp_diff): Likewise. + (file_contents): Likewise. + (verbose_eval): Likewise. + +2006-04-25 H.J. Lu + + PR binutils/2467 + * binutils-all/objcopy.exp (strip_test): Also test "strip -g" + on archive. + +2006-04-10 H.J. Lu + + * lib/utils-lib.exp (default_binutils_run): Check exit status. + +2005-12-24 Ben Elliston + + * config/default.exp: Do not load the unneeded util-defs.exp. + +2005-11-15 Jan Beulich + + * config/default.exp (link_or_copy): New. Use it for setting + up assembler and linker for the compiler to use. + +2005-10-20 H.J. Lu + + PR ld/251 + * binutils-all/group.s: New file. + + * binutils-all/objcopy.exp (objcopy_test_readelf): New + procedure. + Use it to test ELF group. + +2005-10-19 H.J. Lu + + PR ld/1487 + * binutils-all/objcopy.exp (objcopy_test): New procedure. + Use it to test simple copy, ia64 link order and ELF unknown + section type. + + * binutils-all/unknown.s: New file. + +2005-10-19 H.J. Lu + + PR binutils/1321 + * binutils-all/link-order.s: New. + + * binutils-all/objcopy.exp: Check ia64 link order. + +2005-10-11 Danny Smith + + * binutils-all/windres/escapex-2.rc: New file. + * binutils-all/windres/escapex-2.rsd: Generate. + +2005-08-26 Christian Groessler + + * binutils-all/objcopy.exp: Don't setup_xfail "z8*-*". + +2005-08-18 Alan Modra + + * binutils-all/objcopy.exp: Remove a29k support. + * binutils-all/objdump.exp: Likewise, alliant and convex too. + +2005-05-07 Nick Clifton + + * Update the address and phone number of the FSF organization in + the GPL notices in the following files: + binutils-all/ar.exp, binutils-all/dlltool.exp, + binutils-all/nm.exp, binutils-all/objcopy.exp, + binutils-all/objdump.exp, binutils-all/readelf.exp, + binutils-all/size.exp, binutils-all/hppa/objdump.exp, + binutils-all/m68k/objdump.exp, binutils-all/vax/objdump.exp, + binutils-all/windres/msupdate, binutils-all/windres/windres.exp, + config/default.exp, lib/utils-lib.exp + +2005-04-04 Jan-Benedict Glaw + + * binutils-all/vax/objdump.exp: Condense the two tests into one + and add a "-M entry:" for the second label. + +2005-03-29 Jan-Benedict Glaw + + * binutils-all/vax: New directory. + * binutils-all/vax/objdump.exp: New script. Test the -Mentry: + switch added to the VAX disassembler. + * binutils-all/vax/entrymask.s: New assembler source file. + +2005-03-08 Ben Elliston + + * config/default.exp: Remove send_user call for stray output. + +2005-01-04 Martin Koegler + + * binutils-all/testprog.c: Add prototype for printf() and make + type of "string" array be "char" in order to avoid compile time + warnings. + +2004-12-31 Alan Modra + + * binutils-all/readelf.ss: Allow for both .rel and .rela sections. + +2004-11-04 Hans-Peter Nilsson + + * binutils-all/objdump.exp (cpus_expected): Append cris. + +2004-10-28 H.J. Lu + + * binutils-all/dlltool.exp: Set XFAIL if $target_xfail is yes. + +2004-10-23 Aaron W. LaFramboise + + * binutils-all/alias.def: New file. + * binutils-all/dlltool.exp: Two new -p tests. + * config/default.exp (dlltool_gas_flag): New variable. + Copy gas and lds executables into tmpdir/gas directory rather than + making symlinks which might not be supported by the host OS. + Attempt to handle the case where the host OS does not use the .exe + extension but the target OS does. + * lib/utils-lib.exp (exe_ext): New procedure. + +2004-07-12 Nick Clifton + + * binutils-all/dlltool.exp: Check that the -p switch is not + rejected. + +2004-07-09 Andreas Schwab + + * binutils-all/m68k/movem.s: New file. + + * binutils-all/m68k/objdump.exp: New file. + +2004-05-15 Nick Clifton + + * binutils-all/readelf.ss: Allow for ARM mapping symbols. + +2004-05-12 Ben Elliston + + * binutils-all/ar.exp: Remove stray semicolons. + * binutils-all/dlltool.exp: Likewise. + * binutils-all/objcopy.exp: Likewise. + * binutils-all/readelf.exp: Likewise. + * binutils-all/windres/windres.exp: Likewise. + * lib/utils-lib.exp: Likewise. + +2004-04-14 Richard Sandiford + + * binutils-all/readelf.ss-mips: Allow named section symbols. + +2004-03-30 Jakub Jelinek + + * binutils-all/objcopy.exp: Accept main as a data symbol as well. + +2004-02-27 Andreas Schwab + + * binutils-all/ar.exp (argument_parsing): New test. + +2004-02-20 Nathan Sidwell + + * binutils-all/objcopy.exp: Reorder arguments for POSIXLY_CORRECT + systems. + +For older changes see ChangeLog-9303 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End:

powered by: WebSVN 2.1.0

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