From bac7e5292c3a1b084bb36a348f288eef6851cf34 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 5 Jun 2006 12:53:50 +0000 Subject: [PATCH] * 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. --- ld/testsuite/ChangeLog | 7 +++++++ ld/testsuite/ld-elf/sec64k.exp | 30 +++++++++++++++++------------- ld/testsuite/ld-elf/start.s | 6 +++--- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 0981bc4eda7..0c08e680eaf 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2006-06-05 Alan Modra + + * 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 * ld-powerpc/tlsexe.r: Update for removal of some section syms. diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index 13ee33e7014..784ed718fe8 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -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" diff --git a/ld/testsuite/ld-elf/start.s b/ld/testsuite/ld-elf/start.s index 9cbf231a3ab..d8655bef05c 100644 --- a/ld/testsuite/ld-elf/start.s +++ b/ld/testsuite/ld-elf/start.s @@ -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 -- 2.30.2