On 2014-01-22 09:54:17 +0200, Martin Storsjö wrote:
> On Wed, 22 Jan 2014, Janne Grunau wrote:
>
> > Makes sure all local function symbols are declared as .thumb_func
> > even if they are not directly called. fft4|65536_neon in
> > libavcodec/arm/fft_neon.S are only accessed through saved offset in
> > a table for example. Fixes fate-mdct-4 tests in libav on iOS.
> > ---
> > gas-preprocessor.pl | 17 +++++++++++------
> > 1 file changed, 11 insertions(+), 6 deletions(-)
> >
>
> Probably ok. In general I prefer to move more things to the later stages
> (since some processing can't be done before macros have been expanded
> etc), but these should probably be safe to handle at that point - assuming
> nobody does anything odd like hiding alternating .thumb/.arm statements
> within macros or so.

yes, makes sense and the patch much smaller

Janne
---8<---
Makes sure all local function symbols are declared as .thumb_func
even if they are not directly called. fft4|65536_neon in
libavcodec/arm/fft_neon.S are only accessed through saved offset in
a table for example. Fixes fate-mdct-4 tests in libav on iOS.
---
 gas-preprocessor.pl | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
index 2072ca3..1c9a1d5 100755
--- a/gas-preprocessor.pl
+++ b/gas-preprocessor.pl
@@ -471,6 +471,11 @@ foreach my $line (@pass1_lines) {
     # mach-o local symbol names start with L (no dot)
     $line =~ s/(?<!\w)\.(L\w+)/$1/g;
 
+    # recycle the commented '.func' directive for '.thumb_func'
+    if ($thumb) {
+        $line =~ s/$comm\.func/.thumb_func/x;
+    }
+
     if ($thumb and $line =~ /^\s*(\w+)\s*:/) {
         $thumb_labels{$1}++;
     }
-- 
1.8.5.3

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to