old-cross-binutils/ld/testsuite/ld-sh/sh64/shdl-1.s
Alexandre Oliva 1b19eb81ea Contribute sh64-elf.
2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/crange3-cmpct.rd: Adjust offsets.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.
2002-01-28  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/abi32.xd: Formatting changes to match the current
output of objdump.
* ld-sh/sh64/cmpct1.xd: Likewise.
* ld-sh/sh64/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/mix1.xd: Likewise.
* ld-sh/sh64/mix2.xd: Likewise.
* ld-sh/sh64/rel32.xd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.
* ld-sh/sh64/sh64.exp: Likewise.  Reordered cranges and stack
sessions, to match changes in the linker script.
2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: Adjust relocation
info to reflect renumbering of relocation types.
2001-03-14  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/endian.dbd: New file, endian tests.
* ld-sh/sh64/endian.dld: Ditto.
* ld-sh/sh64/endian.ld:	 Ditto.
* ld-sh/sh64/endian.s:	Ditto.
* ld-sh/sh64/endian.sbd:  Ditto.
* ld-sh/sh64/endian.sld:  Ditto.
* ld-sh/sh64/sh64.exp: Add above tests.	 Add -L option to ld.
2001-03-12  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/relax.exp: New file, test disabling relaxing.
* ld-sh/sh64/relax1.s: Ditto.
* ld-sh/sh64/relax2.s: Ditto.
* ld-sh/sh64/relax3.s: Ditto.
* ld-sh/sh64/relax4.s: Ditto.
* ld-sh/sh64/relfail.exp: New file, test for bogus relocs.
* ld-sh/sh64/relfail.s: Ditto.
2001-03-12  DJ Delorie	<dj@redhat.com>
* ld-sh/sh.exp: This test isn't appropriate for SH64 since it
uses SH32 assembler files.
2001-03-07  DJ Delorie	<dj@redhat.com>
* ld-selective/selective.exp: Pass "-e _start" for sh64 to
accomodate expected start symbol in test.
2001-03-06  DJ Delorie	<dj@redhat.com>
* ld-scripts/crossref.exp: Pass -mshelf32 to the linker for sh64,
to match what gcc passes to the linker by default.
* ld-selective/selective.exp: Ditto.
* ld-srec/srec.exp: Ditto, plus XFAIL for sh64.
* ld-undefined/undefined.exp: Add XFAIL for sh64 (it's dwarf2).
2001-03-06  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/abi32.xd (stack): Adjust for new default stack layout.
* ld-sh/sh64/abi64.xd (stack): Ditto.
* ld-sh/sh64/cmpct1.xd (stack): Ditto.
* ld-sh/sh64/crange1.rd (stack): Ditto.
* ld-sh/sh64/crange2.rd (stack): Ditto.
* ld-sh/sh64/crange3-cmpct.rd (stack): Ditto.
* ld-sh/sh64/crange3-media.rd (stack): Ditto.
* ld-sh/sh64/crange3.rd (stack): Ditto.
* ld-sh/sh64/mix1.xd (stack): Ditto.
* ld-sh/sh64/mix2.xd (stack): Ditto.
* ld-sh/sh64/shdl32.xd (stack): Ditto.
* ld-sh/sh64/shdl64.xd (stack): Ditto.
2001-01-14  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/mix1.xd: Add SORT_ENTRIES for .cranges section.
* ld-sh/sh64/mix2.xd: Ditto.
2001-01-08  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.xd: Adjust for bit 0 set on an entry address
being SHmedia.
* ld-sh/sh64/shdl64.xd: Ditto.
* ld-sh/sh64/shdl32.xd: Ditto.
* ld-sh/sh64/mix2.xd: Ditto.
* ld-sh/sh64/crange3-media.rd: Ditto.
* ld-sh/sh64/abi64.xd: Ditto.
2001-01-06  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-2a.s (diversion2): New global symbol.
* ld-sh/sh64/crange1.rd: Adjust to presence of new symbol.
Adjust section type for .cranges; expect sorted contents.
* ld-sh/sh64/crange2.rd: Ditto.
* ld-sh/sh64/crange3.dd, ld-sh/sh64/crange3.rd: Ditto.
* ld-sh/sh64/crangerel1.rd: Adjust to presence of new symbol.
* ld-sh/sh64/crangerel2.rd: Ditto.
* ld-sh/sh64/mix1.xd: Adjust to DEBUGGING being set for .cranges.
* ld-sh/sh64/mix2.xd: Ditto.
* ld-sh/sh64/crange3-cmpct.rd, ld-sh/sh64/crange3-media.rd: New
tests.
* ld-sh/sh64/sh64.exp: Tweak test message.  Run new tests.
2001-01-05  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/shmix-1.s (start2): Add a NOP to provide a valid
target for (unexpanded) PTB.  Add an .align 2 to SHmedia code to
keep properly aligned.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd: Adjust accordingly.
* ld-sh/sh64/mix1-noexp.sd, ld-sh/sh64/mix2-noexp.sd,
ld-sh/sh64/abixx-noexp.sd: New tests for GAS -no-expand and
R_SH_PT_16 relocation.
* ld-sh/sh64/sh64.exp: Run new tests.
2000-12-30  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-2f.s, ld-sh/sh64/crange-2g.s,
ld-sh/sh64/crange-2h.s, ld-sh/sh64/crange-2i.s,
ld-sh/sh64/crange3.dd, ld-sh/sh64/crange3.rd: New tests.
* ld-sh/sh64/sh64.exp: Run new tests.
* ld-sh/sh64/crange1.rd: Correct section flags.
* ld-sh/sh64/crange2.rd: Ditto.
* ld-sh/sh64/crangerel1.rd: Ditto.
2000-12-18  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-1.s, ld-sh/sh64/crange-2a.s,
ld-sh/sh64/crange-2b.s, ld-sh/sh64/crange-2c.s,
ld-sh/sh64/crange-2d.s, ld-sh/sh64/crange-2e.s,
ld-sh/sh64/crange1.rd, ld-sh/sh64/crange2.rd,
ld-sh/sh64/crangerel1.rd, ld-sh/sh64/crangerel2.rd: New tests for
handling .cranges section.
* ld-sh/sh64/sh64.exp: Run new tests.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.sd,
ld-sh/sh64/mix2.xd: Adjust for .cranges section.
2000-12-15  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.sd, ld-sh/sh64/abi32.xd, ld-sh/sh64/abi64.sd,
ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.sd,
ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.sd, ld-sh/sh64/mix2.xd,
ld-sh/sh64/shdl32.xd, ld-sh/sh64/shdl64.xd: Adjust to .bss and
.data individually 8-byte aligned.
2000-12-09  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/rel-1.s, ld-sh/sh64/rel-2.s, ld-sh/sh64/rel32.xd,
ld-sh/sh64/rel64.xd, ld-sh/sh64/reldl-1.s, ld-sh/sh64/reldl-2.s,
ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: New tests.
* ld-sh/sh64/sh64.exp: Make it possible to use readelf as
inspection tool.  Run new tests.
2000-12-07  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi64.sd, ld-sh/sh64/abi32.sd, ld-sh/sh64/mix1.sd,
ld-sh/sh64/mix2.sd: Correct offsets in PT/PTA/PTB expansions.
* ld-sh/sh64/shdl-1.s, ld-sh/sh64/shdl-2.s, ld-sh/sh64/shdl64.sd,
ld-sh/sh64/shdl64.xd, ld-sh/sh64/shdl32.xd: New tests.
* ld-sh/sh64/sh64.exp: Run new tests.
2000-12-01  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/cmpct1.sd, ld-sh/sh64/cmpct1.xd,
ld-sh/sh64/shcmp-1.s: New test.
* ld-sh/sh64/sh64.exp: Add new test to sh64tests.  Reformat.
2000-11-30  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/sh64.exp: Use linker option -mshelf64 for 64-bit ABI
test.
* ld-sh/sh64/abi64.xd: Tweak for 64-bit ELF.
2000-11-29  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/sh64.exp (sh64tests): Use linker option -mshelf32 for
tests.
2000-11-27  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.sd, ld-sh/sh64/abi64.sd: Correct MOVI
registers.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd, ld-sh/sh64/shmix-1.s:
New test.
* ld-sh/sh64/mix2.sd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shmix-2.s,
ld-sh/sh64/shmix-3.s: New test.
* ld-sh/sh64/sh64.exp: Add new tests to sh64tests.
2000-11-26  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64: New testsuite.
2002-02-08 06:50:02 +00:00

359 lines
8.5 KiB
ArmAsm

! Test inter-file DataLabel support.
!
! We need to test symbols that are:
! * Global, defined in this file, with/without/both-with-without datalabel
! references.
! * The above in combinations where the reference is/is not from within
! the same section. The implementation is currently indifferent to that
! fact, but it seems likely to be something that can change.
! * Extern with/without/both-with-without datalabel-qualified references.
! * The above with reference from same *and* other file.
! * The above in combinations for where the symbol is/is not a
! STO_SH5_ISA32-marked symbol.
! There will be omissions and overlap in combinations. Add spotted
! omissions with complementary tests in other files.
.text
.mode SHmedia
! For good measure, we start with a nop to get a non-zero offset within
! the .text section.
.global start
start:
nop
! Referenced from the same file, same section, is ISA32, only referenced
! with datalabel qualifier.
.global foo
foo:
nop
movi (datalabel foo + 8) & 65535,r30
! Referenced from same file, same section, both with and without
! datalabel qualifier, is ISA32.
.global fooboth
fooboth:
nop
movi (datalabel fooboth + 16) & 65535,r40
movi (fooboth + 12) & 65535,r40
! Same as above, but in different order.
.global fooboth2
fooboth2:
nop
movi (fooboth2 + 12) & 65535,r40
movi (datalabel fooboth2 + 16) & 65535,r40
! Referenced from this file and another, same section, is ISA32.
.global foowithout
foowithout:
nop
movi (foowithout + 24) & 65535,r30
! Same as above, different section than definition.
.global foo_other
foo_other:
nop
.global foo_otherboth
foo_otherboth:
nop
.global foo_otherboth2
foo_otherboth2:
nop
.global foo_otherwithout
foo_otherwithout:
nop
.section .rodata
.long datalabel foo_other + 4
.long datalabel foo_otherboth + 40
.long foo_otherboth + 24
.long foo_otherboth2 + 24
.long datalabel foo_otherboth2 + 40
.long foo_otherwithout
.text
! Same as above, mixing references from same and other section.
.global foo_mix
foo_mix:
nop
movi (datalabel foo_mix + 8) & 65535,r30
.global foo_mix2
foo_mix2:
nop
movi (foo_mix2 + 8) & 65535,r30
.global foo_mixboth
foo_mixboth:
nop
movi (datalabel foo_mixboth + 80) & 65535,r30
movi (foo_mixboth + 80) & 65535,r30
.global foo_mixboth2
foo_mixboth2:
nop
movi (foo_mixboth2 + 64) & 65535,r30
movi (datalabel foo_mixboth2 + 64) & 65535,r30
.global foo_mixwithout
foo_mixwithout:
nop
movi (foo_mixwithout + 42) & 65535,r30
.global foo_mixwithout2
foo_mixwithout2:
nop
movi (foo_mixwithout2 + 24) & 65535,r30
.section .rodata
.long foo_mix + 4
.long datalabel foo_mix2 + 48
.long datalabel foo_mixboth + 400
.long foo_mixboth + 420
.long foo_mixboth2 + 248
.long datalabel foo_mixboth2 + 240
.long foo_mixwithout
! Same as above, referencing symbol in other file (reference only from
! this to other file).
.text
nop
movi (datalabel bar + 8) & 65535,r30
movi (datalabel barboth + 16) & 65535,r40
movi (barboth + 12) & 65535,r40
movi (barboth2 + 12) & 65535,r40
movi (datalabel barboth2 + 16) & 65535,r40
movi (barwithout + 24) & 65535,r30
.section .rodata
.long datalabel bar_other + 4
.long datalabel bar_otherboth + 40
.long bar_otherboth + 24
.long bar_otherboth2 + 24
.long datalabel bar_otherboth2 + 40
.long bar_otherwithout
.text
movi (datalabel bar_mix + 8) & 65535,r30
movi (bar_mix2 + 8) & 65535,r30
movi (datalabel bar_mixboth + 80) & 65535,r30
movi (bar_mixboth + 80) & 65535,r30
movi (bar_mixboth2 + 64) & 65535,r30
movi (datalabel bar_mixboth2 + 64) & 65535,r30
movi (bar_mixwithout + 42) & 65535,r30
movi (bar_mixwithout2 + 24) & 65535,r30
.section .rodata
.long bar_mix + 4
.long datalabel bar_mix2 + 48
.long datalabel bar_mixboth + 400
.long bar_mixboth + 420
.long bar_mixboth2 + 248
.long datalabel bar_mixboth2 + 240
.long bar_mixwithout
! Same as above, referencing symbol in other file *and* within that file.
.text
movi (datalabel baz + 8) & 65535,r30
movi (datalabel bazboth + 16) & 65535,r40
movi (bazboth + 12) & 65535,r40
movi (bazboth2 + 12) & 65535,r40
movi (datalabel bazboth2 + 16) & 65535,r40
movi (bazwithout + 24) & 65535,r30
.section .rodata
.long datalabel baz_other + 4
.long datalabel baz_otherboth + 40
.long baz_otherboth + 24
.long baz_otherboth2 + 24
.long datalabel baz_otherboth2 + 40
.long baz_otherwithout
.text
movi (datalabel baz_mix + 8) & 65535,r30
movi (baz_mix2 + 8) & 65535,r30
movi (datalabel baz_mixboth + 80) & 65535,r30
movi (baz_mixboth + 80) & 65535,r30
movi (baz_mixboth2 + 64) & 65535,r30
movi (datalabel baz_mixboth2 + 64) & 65535,r30
movi (baz_mixwithout + 42) & 65535,r30
movi (baz_mixwithout2 + 24) & 65535,r30
.section .rodata
.long baz_mix + 4
.long datalabel baz_mix2 + 48
.long datalabel baz_mixboth + 400
.long baz_mixboth + 420
.long baz_mixboth2 + 248
.long datalabel baz_mixboth2 + 240
.long baz_mixwithout
! Same as all of the above, but where the symbol is not an ISA32 one.
.data
.global dfoo
dfoo:
.long 0
.long (datalabel dfoo + 8)
.global dfooboth
dfooboth:
.long 0
.long (datalabel dfooboth + 16)
.long (dfooboth + 12)
.global dfooboth2
dfooboth2:
.long 0
.long (dfooboth2 + 12)
.long (datalabel dfooboth2 + 16)
.global dfoowithout
dfoowithout:
.long 0
.long (dfoowithout + 24)
.global dfoo_other
dfoo_other:
.long 0
.global dfoo_otherboth
dfoo_otherboth:
.long 0
.global dfoo_otherboth2
dfoo_otherboth2:
.long 0
.global dfoo_otherwithout
dfoo_otherwithout:
.long 0
.section .rodata
.long datalabel dfoo_other + 4
.long datalabel dfoo_otherboth + 40
.long dfoo_otherboth + 24
.long dfoo_otherboth2 + 24
.long datalabel dfoo_otherboth2 + 40
.long dfoo_otherwithout
.data
! Same as above, mixing references from same and other section.
.global dfoo_mix
dfoo_mix:
.long 0
.long (datalabel dfoo_mix + 8)
.global dfoo_mix2
dfoo_mix2:
.long 0
.long (dfoo_mix2 + 8)
.global dfoo_mixboth
dfoo_mixboth:
.long 0
.long (datalabel dfoo_mixboth + 80)
.long (dfoo_mixboth + 80)
.global dfoo_mixboth2
dfoo_mixboth2:
.long 0
.long (dfoo_mixboth2 + 64)
.long (datalabel dfoo_mixboth2 + 64)
.global dfoo_mixwithout
dfoo_mixwithout:
.long 0
.long (dfoo_mixwithout + 42)
.global dfoo_mixwithout2
dfoo_mixwithout2:
.long 0
.long (dfoo_mixwithout2 + 24)
.section .rodata
.long dfoo_mix + 4
.long datalabel dfoo_mix2 + 48
.long datalabel dfoo_mixboth + 400
.long dfoo_mixboth + 420
.long dfoo_mixboth2 + 248
.long datalabel dfoo_mixboth2 + 240
.long dfoo_mixwithout
! Same as above, referencing symbol in other file (reference only from
! this to other file).
.text
movi (datalabel dbarboth + 16) & 65535,r40
movi (dbarboth + 12) & 65535,r40
movi (dbarboth2 + 12) & 65535,r40
movi (datalabel dbarboth2 + 16) & 65535,r40
movi (dbarwithout + 24) & 65535,r30
.data
.long (datalabel dbar + 8)
.long datalabel dbar_other + 4
.long datalabel dbar_otherboth + 40
.long dbar_otherboth + 24
.long dbar_otherboth2 + 24
.long datalabel dbar_otherboth2 + 40
.long dbar_otherwithout
.text
movi (datalabel dbar_mix + 8) & 65535,r30
movi (dbar_mix2 + 8) & 65535,r30
movi (datalabel dbar_mixboth + 80) & 65535,r30
movi (dbar_mixboth + 80) & 65535,r30
movi (dbar_mixboth2 + 64) & 65535,r30
movi (datalabel dbar_mixboth2 + 64) & 65535,r30
movi (dbar_mixwithout + 42) & 65535,r30
movi (dbar_mixwithout2 + 24) & 65535,r30
.data
.long dbar_mix + 4
.long datalabel dbar_mix2 + 48
.long datalabel dbar_mixboth + 400
.long dbar_mixboth + 420
.long dbar_mixboth2 + 248
.long datalabel dbar_mixboth2 + 240
.long dbar_mixwithout
! Same as above, referencing symbol in other file *and* within that file.
.text
movi (datalabel dbazboth + 16) & 65535,r40
movi (dbazboth + 12) & 65535,r40
movi (dbazboth2 + 12) & 65535,r40
movi (datalabel dbazboth2 + 16) & 65535,r40
movi (dbazwithout + 24) & 65535,r30
.data
.long (datalabel dbaz + 8)
.long datalabel dbaz_other + 4
.long datalabel dbaz_otherboth + 40
.long dbaz_otherboth + 24
.long dbaz_otherboth2 + 24
.long datalabel dbaz_otherboth2 + 40
.long dbaz_otherwithout
.text
movi (datalabel dbaz_mix + 8) & 65535,r30
movi (dbaz_mix2 + 8) & 65535,r30
movi (datalabel dbaz_mixboth + 80) & 65535,r30
movi (dbaz_mixboth + 80) & 65535,r30
movi (dbaz_mixboth2 + 64) & 65535,r30
movi (datalabel dbaz_mixboth2 + 64) & 65535,r30
movi (dbaz_mixwithout + 42) & 65535,r30
movi (dbaz_mixwithout2 + 24) & 65535,r30
.data
.long dbaz_mix + 4
.long datalabel dbaz_mix2 + 48
.long datalabel dbaz_mixboth + 400
.long dbaz_mixboth + 420
.long dbaz_mixboth2 + 248
.long datalabel dbaz_mixboth2 + 240
.long dbaz_mixwithout