diff options
author | Mark Harris <mark.hsj@gmail.com> | 2017-02-04 16:57:41 -0800 |
---|---|---|
committer | Mark Harris <mark.hsj@gmail.com> | 2017-02-04 17:23:46 -0800 |
commit | c5a84df8fdaaeb383401362f3ae57224d10ce300 (patch) | |
tree | e6a4681b97e9b22bb7ab8bcf8fa1ce48e8d1cfe4 /celt/arm | |
parent | feabcdc6a4e81baedbf94b06cd07bf356b3c8486 (diff) | |
download | opus-c5a84df8fdaaeb383401362f3ae57224d10ce300.tar.gz |
arm2gnu.pl: Fix GNU ARM .type directive
Broken by 76e831d. Without the .type directive, SIGILL may be produced
if the C code is compiled in Thumb mode, because the compiler may assume
that the asm symbol is also Thumb and call it using a BL instruction.
Diffstat (limited to 'celt/arm')
-rwxr-xr-x | celt/arm/arm2gnu.pl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/celt/arm/arm2gnu.pl b/celt/arm/arm2gnu.pl index 6c922ac8..a2895f74 100755 --- a/celt/arm/arm2gnu.pl +++ b/celt/arm/arm2gnu.pl @@ -164,11 +164,11 @@ while (<>) { $prefix = ""; if ($proc) { - $prefix = $prefix.sprintf("\t.type\t%s, %%function; ",$proc) unless ($apple); + $prefix = $prefix.sprintf("\t.type\t%s, %%function", $proc) unless ($apple); # Make sure we $prefix isn't empty here (for the $apple case). # We handle mangling the label here, make sure it doesn't match # the label handling below (if $prefix would be empty). - $prefix = "; "; + $prefix = $prefix."; "; push(@proc_stack, $proc); s/^[A-Za-z_\.]\w+/$symprefix$&:/; } |