Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
3c8007f1
Commit
3c8007f1
authored
Nov 02, 2012
by
Johann
Committed by
Gerrit Code Review
Nov 02, 2012
Browse files
Merge "ads2gas.pl: various enhancements to work with flash."
parents
3b783d22
b0e1c5f8
Changes
1
Hide whitespace changes
Inline
Side-by-side
build/make/ads2gas.pl
View file @
3c8007f1
...
...
@@ -26,12 +26,22 @@ print "\t.equ DO1STROUNDING, 0\n";
while
(
<
STDIN
>
)
{
undef
$comment
;
undef
$line
;
$comment_char
=
"
;
";
$comment_sub
=
"
@
";
# Handle comments.
if
(
/$comment_char/
)
{
$comment
=
"";
(
$line
,
$comment
)
=
/(.*?)$comment_char(.*)/
;
$_
=
$line
;
}
# Load and store alignment
s/@/,:/g
;
# Comment character
s/;/@/g
;
# Hexadecimal constants prefaced by 0x
s/#&/#0x/g
;
...
...
@@ -62,6 +72,17 @@ while (<STDIN>)
# Convert LTORG to .ltorg
s/LTORG/.ltorg/g
;
# Convert endfunc to nothing.
s/endfunc//ig
;
# Convert FUNCTION to nothing.
s/FUNCTION//g
;
s/function//g
;
s/ENTRY//g
;
s/MSARMASM/0/g
;
s/^\s+end\s+$//g
;
# Convert IF :DEF:to .if
# gcc doesn't have the ability to do a conditional
# if defined variable that is set by IF :DEF: on
...
...
@@ -106,6 +127,7 @@ while (<STDIN>)
if
(
s/RN\s+([Rr]\d+|lr)/.req $1/
)
{
print
;
print
"
$comment_sub$comment
\n
"
if
defined
$comment
;
next
;
}
...
...
@@ -114,6 +136,9 @@ while (<STDIN>)
s/EXPORT\s+\|([\$\w]*)\|/.global $1 \n\t.type $1, function/
;
s/IMPORT\s+\|([\$\w]*)\|/.global $1/
;
s/EXPORT\s+([\$\w]*)/.global $1/
;
s/export\s+([\$\w]*)/.global $1/
;
# No vertical bars required; make additional symbol with prepended
# underscore
s/^\|(\$?\w+)\|/_$1\n\t$1:/g
;
...
...
@@ -129,6 +154,10 @@ while (<STDIN>)
# ARM code
s/\sARM/.arm/g
;
# NEON code
s/(vld1.\d+\s+)(q\d+)/$1\{$2\}/g
;
s/(vtbl.\d+\s+[^,]+),([^,]+)/$1,\{$2\}/g
;
# eabi_attributes numerical equivalents can be found in the
# "ARM IHI 0045C" document.
...
...
@@ -157,7 +186,7 @@ while (<STDIN>)
}
# EQU directive
s/(
.*)EQU(.*
)/.equ $1, $2/
;
s/(
\S+\s+)EQU(\s+\S+
)/.equ $1, $2/
;
# Begin macro definition
if
(
/MACRO/
)
{
...
...
@@ -172,6 +201,7 @@ while (<STDIN>)
s/MEND/.endm/
;
# No need to tell it where to stop assembling
next
if
/^\s*END\s*$/
;
print
;
print
"
$comment_sub$comment
\n
"
if
defined
$comment
;
}
# Mark that this object doesn't need an executable stack.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment