Additional parsing tests for PA gas.

This commit is contained in:
Jeff Law 1993-10-29 05:06:18 +00:00
parent 64285e8321
commit 7b5b8e5117
40 changed files with 13828 additions and 0 deletions

View File

@ -0,0 +1,53 @@
# Sanitize.in for devo.
# $Id$
#
# Each directory to survive it's way into a release will need a file
# like this one called "./.Sanitize". All keyword lines must exist,
# and must exist in the order specified by this file. Each directory
# in the tree will be processed, top down, in the following order.
# Hash started lines like this one are comments and will be deleted
# before anything else is done. Blank lines will also be squashed
# out.
# The lines between the "Do-first:" line and the "Things-to-keep:"
# line are executed as a /bin/sh shell script before anything else is
# done in this
Do-first:
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
# called. Directories not listed will be removed in their entirety
# with rm -rf.
Things-to-keep:
align1.s
align2.s
block1.s
block2.s
calldatabug.s
entrybug.s
exportbug.s
exprbug.s
fixup7bug.s
global.s
linesepbug.s
lselbug.s
nosubspace.s
parse.exp
procbug.s
spacebug.s
stringer.s
undefbug.s
versionbug.s
Things-to-lose:
Do-last:
# End of file.

View File

@ -0,0 +1,41 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 1
.align 8
nop
; "8" assumed if no alignment given.
.align
nop
.align 4096
nop
.SPACE $PRIVATE$
.SUBSPA $BSS$
.ALIGN 8
$L00BSS:
home_buff:
.BLOCK 1024
.ALIGN 8
current_buff:
.BLOCK 1024
.ALIGN 4
lock_file:
.BLOCK 4
.ALIGN 8
L332.name:
.BLOCK 30
.ALIGN 4
L352.last_case_wa:
.BLOCK 4

View File

@ -0,0 +1,15 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 3

View File

@ -0,0 +1,18 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $DATA$
foo:
.block
bar:
.block 0x7fffffff
com:

View File

@ -0,0 +1,15 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $DATA$
foo:
.block -1

View File

@ -0,0 +1,189 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.IMPORT printf,CODE
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
LC$0000
.STRING "%d %lf %d\x0a\x00"
.align 4
.EXPORT error__3AAAiidi
.EXPORT error__3AAAiidi,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=FR,ARGW4=FU,RTNVAL=GR
error__3AAAiidi
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw 2,-20(0,30)
copy 4,1
copy 30,4
stwm 1,128(0,30)
stw 9,8(0,4)
stw 8,12(0,4)
stw 7,16(0,4)
stw 6,20(0,4)
stw 5,24(0,4)
copy %r26,%r5
ldo -8(0),%r6
ldo -32(%r4),%r19
add %r19,%r6,%r7
stw %r25,0(0,%r7)
ldo -12(0),%r8
ldo -32(%r4),%r19
add %r19,%r8,%r9
stw %r24,0(0,%r9)
ldo -8(0),%r19
ldo -32(%r4),%r20
add %r20,%r19,%r19
ldo -24(0),%r20
ldo -32(%r4),%r21
add %r21,%r20,%r20
ldo -28(0),%r21
ldo -32(%r4),%r22
add %r22,%r21,%r21
ldw 0(0,%r21),%r22
stw %r22,-52(0,%r30)
ldil L'LC$0000,%r26
ldo R'LC$0000(%r26),%r26
ldw 0(0,%r19),%r25
fldds 0(0,%r20),%fr7
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl printf,2
nop
bl,n L$0002,0
bl,n L$0001,0
L$0002
L$0001
ldw 8(0,4),9
ldw 12(0,4),8
ldw 16(0,4),7
ldw 20(0,4),6
ldw 24(0,4),5
ldo 8(4),30
ldw -28(0,30),2
bv 0(2)
ldwm -8(30),4
.EXIT
.PROCEND
.align 4
.EXPORT ok__3AAAidi
.EXPORT ok__3AAAidi,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU,RTNVAL=GR
ok__3AAAidi
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw 2,-20(0,30)
copy 4,1
copy 30,4
stwm 1,128(0,30)
stw 9,8(0,4)
stw 8,12(0,4)
stw 7,16(0,4)
stw 6,20(0,4)
stw 5,24(0,4)
copy %r26,%r5
ldo -8(0),%r6
ldo -32(%r4),%r19
add %r19,%r6,%r7
stw %r25,0(0,%r7)
ldo -16(0),%r8
ldo -32(%r4),%r19
add %r19,%r8,%r9
fstds %fr7,0(0,%r9)
ldo -8(0),%r19
ldo -32(%r4),%r20
add %r20,%r19,%r19
ldo -16(0),%r20
ldo -32(%r4),%r21
add %r21,%r20,%r20
ldo -20(0),%r21
ldo -32(%r4),%r22
add %r22,%r21,%r21
ldw 0(0,%r21),%r22
stw %r22,-52(0,%r30)
ldil L'LC$0000,%r26
ldo R'LC$0000(%r26),%r26
ldw 0(0,%r19),%r25
fldds 0(0,%r20),%fr7
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl printf,2
nop
bl,n L$0004,0
bl,n L$0003,0
L$0004
L$0003
ldw 8(0,4),9
ldw 12(0,4),8
ldw 16(0,4),7
ldw 20(0,4),6
ldw 24(0,4),5
ldo 8(4),30
ldw -28(0,30),2
bv 0(2)
ldwm -8(30),4
.EXIT
.PROCEND
.IMPORT __main,CODE
.align 8
LC$0001
; .double 5.50000000000000000000e+00
.word 1075183616 ; = 0x40160000
.word 0 ; = 0x0
.align 4
.EXPORT main
.EXPORT main,PRIV_LEV=3,RTNVAL=GR
main
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw 2,-20(0,30)
copy 4,1
copy 30,4
stwm 1,128(0,30)
.CALL
bl __main,2
nop
ldo -24(0),%r19
ldo -32(%r30),%r20
add %r20,%r19,%r19
ldil L'LC$0001,%r20
ldo R'LC$0001(%r20),%r21
ldw 0(0,%r21),%r22
ldw 4(0,%r21),%r23
stw %r22,0(0,%r19)
stw %r23,4(0,%r19)
ldo 3(0),%r19
stw %r19,-60(0,%r30)
ldo 8(%r4),%r26
ldo 1(0),%r25
ldo 4(0),%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl error__3AAAiidi,2
nop
ldo 3(0),%r19
stw %r19,-52(0,%r30)
ldo 8(%r4),%r26
ldo 1(0),%r25
ldil L'LC$0001,%r19
ldo R'LC$0001(%r19),%r20
fldds 0(0,%r20),%fr7
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl ok__3AAAidi,2
nop
copy 0,%r28
bl,n L$0005,0
bl,n L$0005,0
L$0005
ldo 8(4),30
ldw -28(0,30),2
bv 0(2)
ldwm -8(30),4
.EXIT
.PROCEND

View File

@ -0,0 +1,24 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.PARAM foo,RTNVAL=GR
foo:
.PROC
.CALLINFO FRAME=128,NO_CALLS,ENTRY_GR=1,ENTRY_FR=11
.ENTRY
bv,n 0(%r2)
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$

View File

@ -0,0 +1,14 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR

View File

@ -0,0 +1,39 @@
.space $TEXT$
.subspa $CODE$
.align 8
.export icode,data
icode:
.proc
.callinfo frame=0,no_calls
.entry
bv,n 0(2)
.exit
nop
.procend
;
; FIRST, argv array of pointers to args, 1st is same as path.
;
.align 8
ic_argv:
.word ic_argv1-icode ; second, pointer to 1st argument
.word ic_path-icode ; first, pointer to init path
.word 0 ; fourth, NULL argv terminator (pad)
.word 0 ; third, NULL argv terminator
ic_path:
.blockz 4096 ; must be multiple of 4 bytes
.word 0 ; in case full string is used
.word 0 ; this will be the string terminator
ic_argv1:
.blockz 4096 ; must be multiple of 4 bytes
.word 0 ; in case full string is used
.word 0 ; this will be the string terminator
.export szicode,data
szicode:
.word szicode-icode
.word 0 ; must have at least one filler at end

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.IMPORT foo,data
.align 4
; Official gas code will not accept sym-$global$.
addil L%foo-$global$,%r27

View File

@ -0,0 +1,20 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
; Basic immediate instruction tests.
;
; We could/should test some of the corner cases for register and
; immediate fields. We should also check the assorted field
; selectors to make sure they're handled correctly.
foo:
.WORD 0 !.IMPORT $bar$,DATA

View File

@ -0,0 +1,18 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
; In gas-1.36 the ldil instruction using parenthesis generated
; garbage bits while the one without parens worked fine.
ldil L%(0x00040000 | 0x00000008 | 0x00000002),%r21
ldo L%(0x00040000 | 0x00000008 | 0x00000002) (%r21),%r21
ldil L%0x00040000 | 0x00000008 | 0x00000002,%r21
ldo L%0x00040000 | 0x00000008 | 0x00000002 (%r21),%r21

View File

@ -0,0 +1,21 @@
.SPACE $TEXT$
.align 4
.EXPORT mpn_add_n
.EXPORT mpn_add_n,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
mpn_add_n:
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
add %r0,%r0,%r0 ; reset cy
Loop:
ldws,ma 4(0,%r25),%r20
ldws,ma 4(0,%r24),%r19
addc %r19,%r20,%r19
addib,<> -1,%r23,Loop
stws,ma %r19,4(0,%r26)
bv 0(2)
addc %r0,%r0,%r28

View File

@ -0,0 +1,188 @@
# Copyright (C) 1993 Free Software Foundation, Inc.
# This program 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
# Written by the Center for Software Science at the University of Utah
# and by Cygnus Support.
proc do_string_tests {} {
set testname "stringer.s: Test embedded quotes and octal escapes in strings"
set x 0
gas_start "stringer.s" "-al"
# Instead of having a variable for each match string just increment the
# total number of matches seen. That's simpler when testing large numbers
# of instructions (as these tests to).
while 1 {
expect {
-re "^ +\[0-9\]+ 0000 23696E63\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 6C756465\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 6B2E6465\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 66220A00\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0014 09307831\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 3233\[^\n\]*\n" { set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { error "timeout\n"; break }
eof { break }
}
}
# This was intended to do any cleanup necessary. It kinda looks like it
# isn't needed, but just in case, please keep it in for now.
gas_finish
# Did we find what we were looking for? If not, flunk it.
if [expr $x==6] then { pass $testname } else { fail $testname }
}
proc do_lsel_test {} {
set testname "lselbugs.s: lselbug"
set x 0
gas_start "lselbug.s" "-al"
# Make sure we correctly handle field selectors.
while 1 {
expect {
-re "^ +\[0-9\]+ 0000 22A04000\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0004 36B50100\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0008 22A04000\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 000c 36B50100\[^\n\]*\n" { set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { error "timeout\n"; break }
eof { break }
}
}
# This was intended to do any cleanup necessary. It kinda looks like it
# isn't needed, but just in case, please keep it in for now.
gas_finish
# Did we find what we were looking for? If not, flunk it.
if [expr $x==4] then { pass $testname } else { fail $testname }
}
proc do_valid_align_tests {} {
set testname "align1.s: valid alignment tests"
set x 0
gas_start "align1.s" "-al"
# Make sure we correctly handle field selectors.
while 1 {
expect {
-re "^ +\[0-9\]+ 0000 08000240\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0008 08000240\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 1000 08000240\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0000\[^\n\]*BLOCK\[^\n\]*1024\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0400\[^\n\]*BLOCK\[^\n\]*1024\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0800\[^\n\]*BLOCK\[^\n\]*4\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0804\[^\n\]*ALIGN\[^\n\]*8\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0808\[^\n\]*BLOCK\[^\n\]*30\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0826\[^\n\]*ALIGN\[^\n\]*4\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0828\[^\n\]*BLOCK\[^\n\]*4\[^\n\]*\n"
{ set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { error "timeout\n"; break }
eof { break }
}
}
# This was intended to do any cleanup necessary. It kinda looks like it
# isn't needed, but just in case, please keep it in for now.
gas_finish
# Did we find what we were looking for? If not, flunk it.
if [expr $x==10] then { pass $testname } else { fail $testname }
}
if [istarget hppa*-*-*] then {
# GAS-2.0 does not always parse ! as a line separator when it should.
setup_xfail hppa*-*-*
gas_test "linesepbug.s" "" "" "line separator bug"
# Make sure GAS accepts syntax for accessing static data.
gas_test "global.s" "" "" "check for sym-\$global\$ acceptance"
# GAS-2.0 (and 1.36 for that matter) can not handle a .proc which
# has no label before it.
setup_xfail hppa*-*-*
gas_test "procbug.s" "" "" "Label following .proc"
# One is required to explicitly IMPORT any non-local symbol used
# in an assembly file. Make sure we give an error if we use
# an undefined symbol.
setup_xfail hppa*-*-*
gas_test_error "undefbug.s" "" "Check for error when using undefined symbol"
# This file has code and assembler directives before switching into any
# space/subspace pair. This should report an error.
gas_test_error "nosubspace.s" "" "Check for error if no subspace directive"
# This file should return errors for both the ENTRY_GR and ENTRY_FR
# directives (they are out-of-range)
gas_test_error "entrybug.s" "" "Check for error on entry_gr and entry_fr"
# Make sure embedded quotes and octal escapes in strings work
do_string_tests
# Make sure we do not die on a .version directive
gas_test "versionbug.s" "" "" ".version directive"
# Make sure we give an error on a bogus .space directive.
# recent version of gas2 went into infinite loops printing
# errors on this test.
gas_test_error "spacebug.s" "" "Check for error on bogus .space directive"
# GAS should give an error for this test.
gas_test_error "calldatabug.s" "" "Check for invalid aguments on .call"
# Old versions of gas incorrectly gave errors on some valid .EXPORT lines
gas_test "exportbug.s" "" "" "syntax check for an old .EXPORT bug"
# Old versions of gas choked on this file for some reason
gas_test "fixup7bug.s" "" "" "check for old \"fixup7\" gas bug"
# Test an L% selector parsing bug which existed in gas-1.36
do_lsel_test
# First check how some valid alignments are handled.
do_valid_align_tests
# Now check to make sure an invalid argument is flagged as an error.
gas_test_error "align2.s" "" "Check for error on bogus argument to .align"
# GAS can't handle upper bound for a PA .block[z] directive
setup_xfail hppa*-*-*
gas_test "block.s" "" "" "Check min/max values for .block"
# Now check for an invalid argument
gas_test_error "block2" "" "Check for error on bogus argument to .block"
# GAS-1.36 choked on this file.
# FIXME. Should check relocations made for this test!
gas_test "exprbug.s" "" "" "Check for sym1-sym2 acceptance"
}

View File

@ -0,0 +1,7 @@
.space $TEXT$
.subspa $CODE$
.align 4
.export divu,entry
.proc
.callinfo
divu: stws,ma %r4,4(%r5) ; save registers on stack

View File

@ -0,0 +1,3 @@
start: .long 0, 1, 2, 3, 4, 5, 6, 7
.space 0x20 - (. - start)
foo: .long 42

View File

@ -0,0 +1,19 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $PRIVATE$
.SUBSPA $DATA$
; GAS used to mis-parse the embedded quotes
.STRING "#include \"awk.def\"\x0a\x00"
; Octal escapes used to consume > 3 chars which led to this
; string being screwed in a big way.
.STRING "\0110x123"

View File

@ -0,0 +1,14 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
bl somewhere,%r2
nop

View File

@ -0,0 +1,9 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.VERSION "abc123"

View File

@ -0,0 +1,53 @@
# Sanitize.in for devo.
# $Id$
#
# Each directory to survive it's way into a release will need a file
# like this one called "./.Sanitize". All keyword lines must exist,
# and must exist in the order specified by this file. Each directory
# in the tree will be processed, top down, in the following order.
# Hash started lines like this one are comments and will be deleted
# before anything else is done. Blank lines will also be squashed
# out.
# The lines between the "Do-first:" line and the "Things-to-keep:"
# line are executed as a /bin/sh shell script before anything else is
# done in this
Do-first:
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
# called. Directories not listed will be removed in their entirety
# with rm -rf.
Things-to-keep:
align1.s
align2.s
block1.s
block2.s
calldatabug.s
entrybug.s
exportbug.s
exprbug.s
fixup7bug.s
global.s
linesepbug.s
lselbug.s
nosubspace.s
parse.exp
procbug.s
spacebug.s
stringer.s
undefbug.s
versionbug.s
Things-to-lose:
Do-last:
# End of file.

View File

@ -0,0 +1,41 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 1
.align 8
nop
; "8" assumed if no alignment given.
.align
nop
.align 4096
nop
.SPACE $PRIVATE$
.SUBSPA $BSS$
.ALIGN 8
$L00BSS:
home_buff:
.BLOCK 1024
.ALIGN 8
current_buff:
.BLOCK 1024
.ALIGN 4
lock_file:
.BLOCK 4
.ALIGN 8
L332.name:
.BLOCK 30
.ALIGN 4
L352.last_case_wa:
.BLOCK 4

View File

@ -0,0 +1,15 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 3

View File

@ -0,0 +1,18 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $DATA$
foo:
.block
bar:
.block 0x7fffffff
com:

View File

@ -0,0 +1,15 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $DATA$
foo:
.block -1

View File

@ -0,0 +1,189 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.IMPORT printf,CODE
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
LC$0000
.STRING "%d %lf %d\x0a\x00"
.align 4
.EXPORT error__3AAAiidi
.EXPORT error__3AAAiidi,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=FR,ARGW4=FU,RTNVAL=GR
error__3AAAiidi
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw 2,-20(0,30)
copy 4,1
copy 30,4
stwm 1,128(0,30)
stw 9,8(0,4)
stw 8,12(0,4)
stw 7,16(0,4)
stw 6,20(0,4)
stw 5,24(0,4)
copy %r26,%r5
ldo -8(0),%r6
ldo -32(%r4),%r19
add %r19,%r6,%r7
stw %r25,0(0,%r7)
ldo -12(0),%r8
ldo -32(%r4),%r19
add %r19,%r8,%r9
stw %r24,0(0,%r9)
ldo -8(0),%r19
ldo -32(%r4),%r20
add %r20,%r19,%r19
ldo -24(0),%r20
ldo -32(%r4),%r21
add %r21,%r20,%r20
ldo -28(0),%r21
ldo -32(%r4),%r22
add %r22,%r21,%r21
ldw 0(0,%r21),%r22
stw %r22,-52(0,%r30)
ldil L'LC$0000,%r26
ldo R'LC$0000(%r26),%r26
ldw 0(0,%r19),%r25
fldds 0(0,%r20),%fr7
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl printf,2
nop
bl,n L$0002,0
bl,n L$0001,0
L$0002
L$0001
ldw 8(0,4),9
ldw 12(0,4),8
ldw 16(0,4),7
ldw 20(0,4),6
ldw 24(0,4),5
ldo 8(4),30
ldw -28(0,30),2
bv 0(2)
ldwm -8(30),4
.EXIT
.PROCEND
.align 4
.EXPORT ok__3AAAidi
.EXPORT ok__3AAAidi,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU,RTNVAL=GR
ok__3AAAidi
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw 2,-20(0,30)
copy 4,1
copy 30,4
stwm 1,128(0,30)
stw 9,8(0,4)
stw 8,12(0,4)
stw 7,16(0,4)
stw 6,20(0,4)
stw 5,24(0,4)
copy %r26,%r5
ldo -8(0),%r6
ldo -32(%r4),%r19
add %r19,%r6,%r7
stw %r25,0(0,%r7)
ldo -16(0),%r8
ldo -32(%r4),%r19
add %r19,%r8,%r9
fstds %fr7,0(0,%r9)
ldo -8(0),%r19
ldo -32(%r4),%r20
add %r20,%r19,%r19
ldo -16(0),%r20
ldo -32(%r4),%r21
add %r21,%r20,%r20
ldo -20(0),%r21
ldo -32(%r4),%r22
add %r22,%r21,%r21
ldw 0(0,%r21),%r22
stw %r22,-52(0,%r30)
ldil L'LC$0000,%r26
ldo R'LC$0000(%r26),%r26
ldw 0(0,%r19),%r25
fldds 0(0,%r20),%fr7
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl printf,2
nop
bl,n L$0004,0
bl,n L$0003,0
L$0004
L$0003
ldw 8(0,4),9
ldw 12(0,4),8
ldw 16(0,4),7
ldw 20(0,4),6
ldw 24(0,4),5
ldo 8(4),30
ldw -28(0,30),2
bv 0(2)
ldwm -8(30),4
.EXIT
.PROCEND
.IMPORT __main,CODE
.align 8
LC$0001
; .double 5.50000000000000000000e+00
.word 1075183616 ; = 0x40160000
.word 0 ; = 0x0
.align 4
.EXPORT main
.EXPORT main,PRIV_LEV=3,RTNVAL=GR
main
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw 2,-20(0,30)
copy 4,1
copy 30,4
stwm 1,128(0,30)
.CALL
bl __main,2
nop
ldo -24(0),%r19
ldo -32(%r30),%r20
add %r20,%r19,%r19
ldil L'LC$0001,%r20
ldo R'LC$0001(%r20),%r21
ldw 0(0,%r21),%r22
ldw 4(0,%r21),%r23
stw %r22,0(0,%r19)
stw %r23,4(0,%r19)
ldo 3(0),%r19
stw %r19,-60(0,%r30)
ldo 8(%r4),%r26
ldo 1(0),%r25
ldo 4(0),%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl error__3AAAiidi,2
nop
ldo 3(0),%r19
stw %r19,-52(0,%r30)
ldo 8(%r4),%r26
ldo 1(0),%r25
ldil L'LC$0001,%r19
ldo R'LC$0001(%r19),%r20
fldds 0(0,%r20),%fr7
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl ok__3AAAidi,2
nop
copy 0,%r28
bl,n L$0005,0
bl,n L$0005,0
L$0005
ldo 8(4),30
ldw -28(0,30),2
bv 0(2)
ldwm -8(30),4
.EXIT
.PROCEND

View File

@ -0,0 +1,24 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.PARAM foo,RTNVAL=GR
foo:
.PROC
.CALLINFO FRAME=128,NO_CALLS,ENTRY_GR=1,ENTRY_FR=11
.ENTRY
bv,n 0(%r2)
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$

View File

@ -0,0 +1,14 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR

View File

@ -0,0 +1,39 @@
.space $TEXT$
.subspa $CODE$
.align 8
.export icode,data
icode:
.proc
.callinfo frame=0,no_calls
.entry
bv,n 0(2)
.exit
nop
.procend
;
; FIRST, argv array of pointers to args, 1st is same as path.
;
.align 8
ic_argv:
.word ic_argv1-icode ; second, pointer to 1st argument
.word ic_path-icode ; first, pointer to init path
.word 0 ; fourth, NULL argv terminator (pad)
.word 0 ; third, NULL argv terminator
ic_path:
.blockz 4096 ; must be multiple of 4 bytes
.word 0 ; in case full string is used
.word 0 ; this will be the string terminator
ic_argv1:
.blockz 4096 ; must be multiple of 4 bytes
.word 0 ; in case full string is used
.word 0 ; this will be the string terminator
.export szicode,data
szicode:
.word szicode-icode
.word 0 ; must have at least one filler at end

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.IMPORT foo,data
.align 4
; Official gas code will not accept sym-$global$.
addil L%foo-$global$,%r27

View File

@ -0,0 +1,20 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
; Basic immediate instruction tests.
;
; We could/should test some of the corner cases for register and
; immediate fields. We should also check the assorted field
; selectors to make sure they're handled correctly.
foo:
.WORD 0 !.IMPORT $bar$,DATA

View File

@ -0,0 +1,18 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
; In gas-1.36 the ldil instruction using parenthesis generated
; garbage bits while the one without parens worked fine.
ldil L%(0x00040000 | 0x00000008 | 0x00000002),%r21
ldo L%(0x00040000 | 0x00000008 | 0x00000002) (%r21),%r21
ldil L%0x00040000 | 0x00000008 | 0x00000002,%r21
ldo L%0x00040000 | 0x00000008 | 0x00000002 (%r21),%r21

View File

@ -0,0 +1,21 @@
.SPACE $TEXT$
.align 4
.EXPORT mpn_add_n
.EXPORT mpn_add_n,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
mpn_add_n:
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
add %r0,%r0,%r0 ; reset cy
Loop:
ldws,ma 4(0,%r25),%r20
ldws,ma 4(0,%r24),%r19
addc %r19,%r20,%r19
addib,<> -1,%r23,Loop
stws,ma %r19,4(0,%r26)
bv 0(2)
addc %r0,%r0,%r28

View File

@ -0,0 +1,188 @@
# Copyright (C) 1993 Free Software Foundation, Inc.
# This program 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
# Written by the Center for Software Science at the University of Utah
# and by Cygnus Support.
proc do_string_tests {} {
set testname "stringer.s: Test embedded quotes and octal escapes in strings"
set x 0
gas_start "stringer.s" "-al"
# Instead of having a variable for each match string just increment the
# total number of matches seen. That's simpler when testing large numbers
# of instructions (as these tests to).
while 1 {
expect {
-re "^ +\[0-9\]+ 0000 23696E63\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 6C756465\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 6B2E6465\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 66220A00\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0014 09307831\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 3233\[^\n\]*\n" { set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { error "timeout\n"; break }
eof { break }
}
}
# This was intended to do any cleanup necessary. It kinda looks like it
# isn't needed, but just in case, please keep it in for now.
gas_finish
# Did we find what we were looking for? If not, flunk it.
if [expr $x==6] then { pass $testname } else { fail $testname }
}
proc do_lsel_test {} {
set testname "lselbugs.s: lselbug"
set x 0
gas_start "lselbug.s" "-al"
# Make sure we correctly handle field selectors.
while 1 {
expect {
-re "^ +\[0-9\]+ 0000 22A04000\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0004 36B50100\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0008 22A04000\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 000c 36B50100\[^\n\]*\n" { set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { error "timeout\n"; break }
eof { break }
}
}
# This was intended to do any cleanup necessary. It kinda looks like it
# isn't needed, but just in case, please keep it in for now.
gas_finish
# Did we find what we were looking for? If not, flunk it.
if [expr $x==4] then { pass $testname } else { fail $testname }
}
proc do_valid_align_tests {} {
set testname "align1.s: valid alignment tests"
set x 0
gas_start "align1.s" "-al"
# Make sure we correctly handle field selectors.
while 1 {
expect {
-re "^ +\[0-9\]+ 0000 08000240\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0008 08000240\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 1000 08000240\[^\n\]*\n" { set x [expr $x+1] }
-re "^ +\[0-9\]+ 0000\[^\n\]*BLOCK\[^\n\]*1024\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0400\[^\n\]*BLOCK\[^\n\]*1024\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0800\[^\n\]*BLOCK\[^\n\]*4\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0804\[^\n\]*ALIGN\[^\n\]*8\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0808\[^\n\]*BLOCK\[^\n\]*30\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0826\[^\n\]*ALIGN\[^\n\]*4\[^\n\]*\n"
{ set x [expr $x+1] }
-re "^ +\[0-9\]+ 0828\[^\n\]*BLOCK\[^\n\]*4\[^\n\]*\n"
{ set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { error "timeout\n"; break }
eof { break }
}
}
# This was intended to do any cleanup necessary. It kinda looks like it
# isn't needed, but just in case, please keep it in for now.
gas_finish
# Did we find what we were looking for? If not, flunk it.
if [expr $x==10] then { pass $testname } else { fail $testname }
}
if [istarget hppa*-*-*] then {
# GAS-2.0 does not always parse ! as a line separator when it should.
setup_xfail hppa*-*-*
gas_test "linesepbug.s" "" "" "line separator bug"
# Make sure GAS accepts syntax for accessing static data.
gas_test "global.s" "" "" "check for sym-\$global\$ acceptance"
# GAS-2.0 (and 1.36 for that matter) can not handle a .proc which
# has no label before it.
setup_xfail hppa*-*-*
gas_test "procbug.s" "" "" "Label following .proc"
# One is required to explicitly IMPORT any non-local symbol used
# in an assembly file. Make sure we give an error if we use
# an undefined symbol.
setup_xfail hppa*-*-*
gas_test_error "undefbug.s" "" "Check for error when using undefined symbol"
# This file has code and assembler directives before switching into any
# space/subspace pair. This should report an error.
gas_test_error "nosubspace.s" "" "Check for error if no subspace directive"
# This file should return errors for both the ENTRY_GR and ENTRY_FR
# directives (they are out-of-range)
gas_test_error "entrybug.s" "" "Check for error on entry_gr and entry_fr"
# Make sure embedded quotes and octal escapes in strings work
do_string_tests
# Make sure we do not die on a .version directive
gas_test "versionbug.s" "" "" ".version directive"
# Make sure we give an error on a bogus .space directive.
# recent version of gas2 went into infinite loops printing
# errors on this test.
gas_test_error "spacebug.s" "" "Check for error on bogus .space directive"
# GAS should give an error for this test.
gas_test_error "calldatabug.s" "" "Check for invalid aguments on .call"
# Old versions of gas incorrectly gave errors on some valid .EXPORT lines
gas_test "exportbug.s" "" "" "syntax check for an old .EXPORT bug"
# Old versions of gas choked on this file for some reason
gas_test "fixup7bug.s" "" "" "check for old \"fixup7\" gas bug"
# Test an L% selector parsing bug which existed in gas-1.36
do_lsel_test
# First check how some valid alignments are handled.
do_valid_align_tests
# Now check to make sure an invalid argument is flagged as an error.
gas_test_error "align2.s" "" "Check for error on bogus argument to .align"
# GAS can't handle upper bound for a PA .block[z] directive
setup_xfail hppa*-*-*
gas_test "block.s" "" "" "Check min/max values for .block"
# Now check for an invalid argument
gas_test_error "block2" "" "Check for error on bogus argument to .block"
# GAS-1.36 choked on this file.
# FIXME. Should check relocations made for this test!
gas_test "exprbug.s" "" "" "Check for sym1-sym2 acceptance"
}

View File

@ -0,0 +1,7 @@
.space $TEXT$
.subspa $CODE$
.align 4
.export divu,entry
.proc
.callinfo
divu: stws,ma %r4,4(%r5) ; save registers on stack

View File

@ -0,0 +1,3 @@
start: .long 0, 1, 2, 3, 4, 5, 6, 7
.space 0x20 - (. - start)
foo: .long 42

View File

@ -0,0 +1,19 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $PRIVATE$
.SUBSPA $DATA$
; GAS used to mis-parse the embedded quotes
.STRING "#include \"awk.def\"\x0a\x00"
; Octal escapes used to consume > 3 chars which led to this
; string being screwed in a big way.
.STRING "\0110x123"

View File

@ -0,0 +1,14 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
bl somewhere,%r2
nop

View File

@ -0,0 +1,9 @@
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.VERSION "abc123"