From c591a99200a557cf41e7546d3e9e078c5ce0c83d Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 30 Sep 2002 05:25:20 +0000 Subject: [PATCH] * ld-powerpc/reloc.s, ld-powerpc/reloc.d: New. * ld-powerpc/powerpc.exp: New. --- ld/testsuite/ChangeLog | 3 +++ ld/testsuite/ld-powerpc/powerpc.exp | 46 +++++++++++++++++++++++++++++++++++++ ld/testsuite/ld-powerpc/reloc.d | 16 +++++++++++++ ld/testsuite/ld-powerpc/reloc.s | 9 ++++++++ 4 files changed, 74 insertions(+) create mode 100644 ld/testsuite/ld-powerpc/powerpc.exp create mode 100644 ld/testsuite/ld-powerpc/reloc.d create mode 100644 ld/testsuite/ld-powerpc/reloc.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index eb3ef072ea..cadeeeae4a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2002-09-30 Alan Modra + * ld-powerpc/reloc.s, ld-powerpc/reloc.d: New. + * ld-powerpc/powerpc.exp: New. + * ld-i386/reloc.s, ld-i386/reloc.d: New. * ld-i386/i386.exp: Run new test. diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp new file mode 100644 index 0000000000..6915b483ae --- /dev/null +++ b/ld/testsuite/ld-powerpc/powerpc.exp @@ -0,0 +1,46 @@ +# Expect script for ld-powerpc tests +# Copyright (C) 2002 Free Software Foundation +# +# 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 +# the Free Software Foundation; either version 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# + +if { ![istarget "powerpc*-*-*"] } { + return +} + +# ELF only at the moment. + +if { [istarget "*-*-macos*"] || [istarget "*-*-netware*"] + || [istarget "*-*-pe"] || [istarget "*-*-winnt*"] + || [istarget "*-*-cygwin*"] || [istarget "*-*-aix*"] + || [istarget "*-*-beos*"] } { + return +} + +# List contains test-items with 3 items followed by 2 lists: +# 0:name 1:ld options 2:assembler options +# 3:filenames of assembler files 4: action and options. 5: name of output file + +# Actions: +# objdump: Apply objdump options on result. Compare with regex (last arg). +# nm: Apply nm options on result. Compare with regex (last arg). +# readelf: Apply readelf options on result. Compare with regex (last arg). + +set ppcelftests { + {"Reloc section order" "-shared" "" {reloc.s} + {{objdump -hw reloc.d}} "reloc.so"} +} + +run_ld_link_tests $ppcelftests diff --git a/ld/testsuite/ld-powerpc/reloc.d b/ld/testsuite/ld-powerpc/reloc.d new file mode 100644 index 0000000000..80a22bf9a3 --- /dev/null +++ b/ld/testsuite/ld-powerpc/reloc.d @@ -0,0 +1,16 @@ +# Test that orphan reloc sections are placed before .rela.plt even when +# .rela.plt is the only reloc section. Also tests that orphan non-alloc +# reloc sections go after alloc sections. + +#source: reloc.s +#ld: -shared +#objdump: -hw + +.*: +file format elf.* +#... +.*\.relaplatypus.* +#... +.*\.rela\.plt.* +#... +.*\.relaechidna.* +#pass diff --git a/ld/testsuite/ld-powerpc/reloc.s b/ld/testsuite/ld-powerpc/reloc.s new file mode 100644 index 0000000000..4e66151c86 --- /dev/null +++ b/ld/testsuite/ld-powerpc/reloc.s @@ -0,0 +1,9 @@ + .section echidna + .long .text + + .section platypus,"ax" + .long .text + + .text + b _start@plt + nop -- 2.11.0