2013/4/4 Carl Eugen Hoyos <ceho...@ag.or.at>

> Lars Hammarstrand <lars.hammarstrand@...> writes:
>
> > --as='/Users/Shared/xbmc-depends/buildtools-native/bin/
> gas-preprocessor.pl
>
> Which version of gas-preprocessor.pl is this?
> A version prior to October 2012 would likely
> explain the crashes you are seeing.
>
>
Spot on! Exactly what I was thinking about some day ago. Unfortunately it's
hard to tell which version xbmc is using since gas-preprocessor.pl lacks
version info. I did a quick check and compared a version I found online,
and sure enough, there were some address alignment updates in there among
other stuff. Didn't find any gas-preprocessor.pl in the ffmpeg repo thus
where do you find one which is supported by ffmpeg?

diff: xbmc gas-preprocessor.pl / downloaded:

379a380,384
> my $thumb = 0;
>
> my %thumb_labels;
> my %call_targets;
>
398a404,406
>     $thumb = 1 if $line =~ /\.code\s+16|\.thumb/;
>     $thumb = 0 if $line =~ /\.code\s+32|\.arm/;
>
403c411
<             $label = ".Literal_$literal_num";
---
>             $label = "Literal_$literal_num";
408a417
>         $line .= ".align 2\n";
414a424,439
>     # thumb add with large immediate needs explicit add.w
>     if ($thumb and $line =~ /add\s+.*#([^@]+)/) {
>         $line =~ s/add/add.w/ if eval_expr($1) > 255;
>     }
>
>     # mach-o local symbol names start with L (no dot)
>     $line =~ s/(?<!\w)\.(L\w+)/$1/g;
>
>     if ($thumb and $line =~ /^\s*(\w+)\s*:/) {
>         $thumb_labels{$1}++;
>     }
>
>     if ($line =~ /^\s*((\w+:)?blx?|\.globl)\s+(\w+)/) {
>         $call_targets{$3}++;
>     }
>
491a517
> print ASMFILE ".align 2\n";
495a522,524
> map print(ASMFILE ".thumb_func $_\n"),
>     grep exists $thumb_labels{$_}, keys %call_targets;
>
--
_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to