[libav-devel] [GASPP PATCH] Comment out "it" instructions for armasm

Martin Storsjö martin at martin.st
Thu Oct 3 12:05:25 CEST 2019


On Thu, 3 Oct 2019, Janne Grunau wrote:

> On 2019-10-02 11:53:28 +0300, Martin Storsjö wrote:
>> Armasm implicitly adds it instructions as needed. In VS 2019 16.3,
>> there's a bug [1] in armasm making it fail to parse these it instructions
>> (but it can still add them implicitly just fine).
>> 
>> I'm not sure if it really is worth working around this issue, or just
>> wait for it to hopefully be fixed by the next release again.
>> 
>> [1] https://developercommunity.visualstudio.com/content/problem/757709/armasm-fails-to-handle-it-instructions.html
>> ---
>>  gas-preprocessor.pl | 4 ++++
>>  1 file changed, 4 insertions(+)
>> 
>> diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
>> index b6c2786..9d8fb5d 100755
>> --- a/gas-preprocessor.pl
>> +++ b/gas-preprocessor.pl
>> @@ -1168,6 +1168,10 @@ sub handle_serialized_line {
>>          $line =~ s/fmxr/vmsr/;
>>          $line =~ s/fmrx/vmrs/;
>>          $line =~ s/fadds/vadd.f32/;
>> +        # Armasm in VS 2019 16.3 errors out on "it" instructions. But
>> +        # armasm implicitly adds the necessary it instructions anyway, so we
>> +        # can just filter it out.
>> +        $line =~ s/^\s*it[te]*\s+/$comm$&/;
>>      }
>>      if ($as_type eq "armasm" and $arch eq "aarch64") {
>>          # Convert "b.eq" into "beq"
>
> I guess ok-ish since armasm can handle implicit it instructions. Do you 
> have expectation when a fixed version might be released? If it's more 
> than a couple of weeks I'd say the workaround is worth it.

There's roughly one stable release per 3 months, and the first preview for 
the next one (16.4) was already posted. In some cases, bugfixes do get 
into the next release (if deemed urgent enough I guess), but otherwise 
into current+2. So estimate of fix in a stable release is anywhere between 
2 and 5 months maybe.

If I would have caught this in August when the first preview actually 
containing the new broken armasm was out, it might have been possible to 
have it fixed sooner...

// Martin


More information about the libav-devel mailing list