diff options
-rw-r--r-- | gas/testsuite/ChangeLog | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/frv/allinsn.exp | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/frv/fdpic.d | 51 | ||||
-rw-r--r-- | gas/testsuite/gas/frv/fdpic.s | 39 | ||||
-rw-r--r-- | gas/testsuite/lib/gas-defs.exp | 3 |
5 files changed, 109 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 1c9409d..c077fdb 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2004-01-06 Alexandre Oliva <aoliva@redhat.com> + + 2003-11-05 Alexandre Oliva <aoliva@redhat.com> + * lib/gas-defs.exp (is_elf_format): Match frv-uclinux. + 2003-09-18 Alexandre Oliva <aoliva@redhat.com> + * gas/frv/fdpic.s, gas/frv/fdpic.d: Renamed from ucpic*. + 2003-09-15 Alexandre Oliva <aoliva@redhat.com> + * gas/frv/ucpic.s, gas/frv/ucpic.d: Use gr15 as PIC register. Use + gprel12 for rodata symbol and gotoff12 for sdata symbol. + 2003-08-08 Alexandre Oliva <aoliva@redhat.com> + * gas/frv/ucpic.d: Test gotoff and gotofffuncdesc. + 2003-08-04 Alexandre Oliva <aoliva@redhat.com> + * gas/frv/ucpic.d, gas/frv/ucpic.s: New. + * gas/frv/allinsns.exp: Run it. + 2004-01-02 Albert Bartoszko <albar@nt.kegel.com.pl> * gas/msp430/opcode.s: Add test for an 'add' instruction which diff --git a/gas/testsuite/gas/frv/allinsn.exp b/gas/testsuite/gas/frv/allinsn.exp index 30cdf67..a9fc965 100644 --- a/gas/testsuite/gas/frv/allinsn.exp +++ b/gas/testsuite/gas/frv/allinsn.exp @@ -2,5 +2,7 @@ if [istarget frv*-*-*] { run_dump_test "allinsn" + + run_dump_test "fdpic" run_dump_test "reloc1" } diff --git a/gas/testsuite/gas/frv/fdpic.d b/gas/testsuite/gas/frv/fdpic.d new file mode 100644 index 0000000..a2e3425 --- /dev/null +++ b/gas/testsuite/gas/frv/fdpic.d @@ -0,0 +1,51 @@ +#as: +#objdump: -Dr +#name: frv fdpic + +.*: +file format .* + +Disassembly of section \.text: + +00000000 <foo>: + 0: a0 50 f0 00 subi gr15,0,gr16 + 0: R_FRV_GPREL12 bar + 4: 88 40 f0 00 addi gr15,0,gr4 + 4: R_FRV_GOT12 foo + 8: 8a c8 f0 00 ldi @\(gr15,0\),gr5 + 8: R_FRV_GOT12 foo + c: 8c f4 00 00 setlo lo\(0x0\),gr6 + c: R_FRV_GOTLO foo + 10: 8c f8 00 00 sethi hi\(0x0\),gr6 + 10: R_FRV_GOTHI foo + 14: 8e 40 f0 00 addi gr15,0,gr7 + 14: R_FRV_FUNCDESC_GOT12 foo + 18: 90 c8 f0 00 ldi @\(gr15,0\),gr8 + 18: R_FRV_FUNCDESC_GOT12 foo + 1c: 92 f4 00 00 setlo lo\(0x0\),gr9 + 1c: R_FRV_FUNCDESC_GOTLO foo + 20: 92 f8 00 00 sethi hi\(0x0\),gr9 + 20: R_FRV_FUNCDESC_GOTHI foo + 24: a0 40 f0 00 addi gr15,0,gr16 + 24: R_FRV_GOTOFF12 \.sdata + 28: 88 40 f0 00 addi gr15,0,gr4 + 28: R_FRV_GOTOFF12 foo + 2c: 8a c8 f0 00 ldi @\(gr15,0\),gr5 + 2c: R_FRV_GOTOFF12 foo + 30: 8c f4 00 00 setlo lo\(0x0\),gr6 + 30: R_FRV_GOTOFFLO foo + 34: 8c f8 00 00 sethi hi\(0x0\),gr6 + 34: R_FRV_GOTOFFHI foo + 38: 8e 40 f0 00 addi gr15,0,gr7 + 38: R_FRV_FUNCDESC_GOTOFF12 foo + 3c: 90 c8 f0 00 ldi @\(gr15,0\),gr8 + 3c: R_FRV_FUNCDESC_GOTOFF12 foo + 40: 92 f4 00 00 setlo lo\(0x0\),gr9 + 40: R_FRV_FUNCDESC_GOTOFFLO foo + 44: 92 f8 00 00 sethi hi\(0x0\),gr9 + 44: R_FRV_FUNCDESC_GOTOFFHI foo +Disassembly of section \.sdata: + +00000000 <baz>: + \.\.\. + 0: R_FRV_FUNCDESC foo + 4: R_FRV_32 foo diff --git a/gas/testsuite/gas/frv/fdpic.s b/gas/testsuite/gas/frv/fdpic.s new file mode 100644 index 0000000..82b3ed2 --- /dev/null +++ b/gas/testsuite/gas/frv/fdpic.s @@ -0,0 +1,39 @@ + .text + .global foo +foo: + subi gr15, #gprel12(bar), gr16 + + addi gr15, #got12(foo), gr4 + ldi @(gr15, #got12(foo)), gr5 + + setlo #gotlo(foo), gr6 + sethi #gothi(foo), gr6 + + addi gr15, #gotfuncdesc12(foo), gr7 + ldi @(gr15, #gotfuncdesc12(foo)), gr8 + + setlo #gotfuncdesclo(foo), gr9 + sethi #gotfuncdeschi(foo), gr9 + + addi gr15, #gotoff12(baz), gr16 + + addi gr15, #gotoff12(foo), gr4 + ldi @(gr15, #gotoff12(foo)), gr5 + + setlo #gotofflo(foo), gr6 + sethi #gotoffhi(foo), gr6 + + addi gr15, #gotofffuncdesc12(foo), gr7 + ldi @(gr15, #gotofffuncdesc12(foo)), gr8 + + setlo #gotofffuncdesclo(foo), gr9 + sethi #gotofffuncdeschi(foo), gr9 + + .section .rodata +bar: + + .section .sdata,"aw",@progbits + .p2align 2 +baz: + .picptr funcdesc(foo) + .word foo diff --git a/gas/testsuite/lib/gas-defs.exp b/gas/testsuite/lib/gas-defs.exp index 8116934..fec2778 100644 --- a/gas/testsuite/lib/gas-defs.exp +++ b/gas/testsuite/lib/gas-defs.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -193,6 +193,7 @@ proc is_elf_format {} { && ![istarget *-*-eabi*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-linux*] \ + && ![istarget frv-*-uclinux*] \ && ![istarget *-*-irix5*] \ && ![istarget *-*-irix6*] \ && ![istarget *-*-netbsd*] \ |