* ld-elf/sec64k.exp: Add "main" symbol. Use dc.a for addresses.

Cater for different address sizes.  Match end of line when
	comparing symbols.
	* ld-elf/start.s: Use dc.a for addresses.
This commit is contained in:
Alan Modra 2006-06-05 12:53:50 +00:00
parent 65ede3f489
commit bac7e5292c
3 changed files with 27 additions and 16 deletions

View File

@ -1,3 +1,10 @@
2006-06-05 Alan Modra <amodra@bigpond.net.au>
* ld-elf/sec64k.exp: Add "main" symbol. Use dc.a for addresses.
Cater for different address sizes. Match end of line when
comparing symbols.
* ld-elf/start.s: Use dc.a for addresses.
2006-06-02 Alan Modra <amodra@bigpond.net.au>
* ld-powerpc/tlsexe.r: Update for removal of some section syms.

View File

@ -1,5 +1,5 @@
# Expect script for tests for >64k sections
# Copyright 2002, 2003 Free Software Foundation, Inc.
# Copyright 2002, 2003, 2006 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -50,12 +50,16 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } {
}
if { $i == 0 } {
puts $ofd " .global start"
puts $ofd "start:"
puts $ofd " .global _start"
puts $ofd " .global __start"
puts $ofd "_start:"
puts $ofd " .global __start"
puts $ofd "__start:"
puts $ofd " .global main"
puts $ofd "main:"
puts $ofd " .global foo_0"
puts $ofd "foo_0: .long 0"
puts $ofd "foo_0: .dc.a 0"
}
# Make sure the used section is not covered by common linker scripts.
@ -65,9 +69,9 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } {
puts $ofd " .section .foo.\\secn,\"ax\""
puts $ofd " .global foo_\\secn"
puts $ofd "foo_\\secn:"
puts $ofd " .long foo_\\secp"
puts $ofd " .dc.a foo_\\secp"
puts $ofd "bar_\\secn:"
puts $ofd " .long bar_\\secn"
puts $ofd " .dc.a bar_\\secn"
puts $ofd " .endm"
puts $ofd " secn = [expr $i * $secs_per_file]"
puts $ofd " .rept $secs_per_file"
@ -103,16 +107,16 @@ puts $ofd " \\\[65536\\\] (.rel\[a\]?)?\\.foo\\.\[0-9\]+ .*"
puts $ofd "#..."
puts $ofd " 340..: 0+\[ \]+0\[ \]+SECTION\[ \]+LOCAL\[ \]+DEFAULT\[ \]+68... "
puts $ofd "#..."
puts $ofd " 340..: 0+4\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[23\] bar_1"
puts $ofd " 340..: 0+(2|4|8)\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[23\] bar_1$"
puts $ofd "#..."
puts $ofd ".* bar_34000"
puts $ofd ".* bar_34000$"
puts $ofd "#..."
# Global symbols are not in "alphanumeric" order, so we just check
# that the first and the last are present in any order (assuming no
# duplicates).
puts $ofd ".* (\[0-9\] foo_1|68... foo_34000)"
puts $ofd ".* (\[0-9\] foo_1|68... foo_34000)$"
puts $ofd "#..."
puts $ofd ".* (\[0-9\] foo_1|68... foo_34000)"
puts $ofd ".* (\[0-9\] foo_1|68... foo_34000)$"
puts $ofd "#pass"
close $ofd
run_dump_test "tmpdir/$test1"
@ -134,16 +138,16 @@ puts $ofd " \\\[65536\\\] \\.foo\\.\[0-9\]+ .*"
puts $ofd "#..."
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+SECTION\[ \]+LOCAL\[ \]+DEFAULT\[ \]+662.. "
puts $ofd "#..."
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[0-9\] bar_1"
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[0-9\] bar_1$"
puts $ofd "#..."
puts $ofd ".* bar_66000"
puts $ofd ".* bar_66000$"
puts $ofd "#..."
# Global symbols are not in "alphanumeric" order, so we just check
# that the first and the last are present in any order (assuming no
# duplicates).
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)"
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)$"
puts $ofd "#..."
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)"
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)$"
puts $ofd "#pass"
close $ofd
run_dump_test "tmpdir/$test2"

View File

@ -1,10 +1,10 @@
.text
.global start /* Used by SH targets. */
start:
.global _start
_start:
.global __start
__start:
.global start /* Used by SH targets. */
start:
.global main /* Used by HPPA targets. */
main:
.long 0
.dc.a 0