1*fb1b10abSAndroid Build Coastguard Worker#!/usr/bin/env perl 2*fb1b10abSAndroid Build Coastguard Worker## 3*fb1b10abSAndroid Build Coastguard Worker## Copyright (c) 2013 The WebM project authors. All Rights Reserved. 4*fb1b10abSAndroid Build Coastguard Worker## 5*fb1b10abSAndroid Build Coastguard Worker## Use of this source code is governed by a BSD-style license 6*fb1b10abSAndroid Build Coastguard Worker## that can be found in the LICENSE file in the root of the source 7*fb1b10abSAndroid Build Coastguard Worker## tree. An additional intellectual property rights grant can be found 8*fb1b10abSAndroid Build Coastguard Worker## in the file PATENTS. All contributing project authors may 9*fb1b10abSAndroid Build Coastguard Worker## be found in the AUTHORS file in the root of the source tree. 10*fb1b10abSAndroid Build Coastguard Worker## 11*fb1b10abSAndroid Build Coastguard Worker 12*fb1b10abSAndroid Build Coastguard Workeruse FindBin; 13*fb1b10abSAndroid Build Coastguard Workeruse lib $FindBin::Bin; 14*fb1b10abSAndroid Build Coastguard Workeruse thumb; 15*fb1b10abSAndroid Build Coastguard Worker 16*fb1b10abSAndroid Build Coastguard Workerprint "; This file was created from a .asm file\n"; 17*fb1b10abSAndroid Build Coastguard Workerprint "; using the ads2armasm_ms.pl script.\n"; 18*fb1b10abSAndroid Build Coastguard Worker 19*fb1b10abSAndroid Build Coastguard Workerwhile (<STDIN>) 20*fb1b10abSAndroid Build Coastguard Worker{ 21*fb1b10abSAndroid Build Coastguard Worker undef $comment; 22*fb1b10abSAndroid Build Coastguard Worker undef $line; 23*fb1b10abSAndroid Build Coastguard Worker 24*fb1b10abSAndroid Build Coastguard Worker s/REQUIRE8//; 25*fb1b10abSAndroid Build Coastguard Worker s/PRESERVE8//; 26*fb1b10abSAndroid Build Coastguard Worker s/^\s*ARM\s*$//; 27*fb1b10abSAndroid Build Coastguard Worker s/AREA\s+\|\|(.*)\|\|/AREA |$1|/; 28*fb1b10abSAndroid Build Coastguard Worker s/qsubaddx/qsax/i; 29*fb1b10abSAndroid Build Coastguard Worker s/qaddsubx/qasx/i; 30*fb1b10abSAndroid Build Coastguard Worker 31*fb1b10abSAndroid Build Coastguard Worker thumb::FixThumbInstructions($_); 32*fb1b10abSAndroid Build Coastguard Worker 33*fb1b10abSAndroid Build Coastguard Worker s/ldrneb/ldrbne/i; 34*fb1b10abSAndroid Build Coastguard Worker s/ldrneh/ldrhne/i; 35*fb1b10abSAndroid Build Coastguard Worker s/^(\s*)ENDP.*/$&\n$1ALIGN 4/; 36*fb1b10abSAndroid Build Coastguard Worker 37*fb1b10abSAndroid Build Coastguard Worker print; 38*fb1b10abSAndroid Build Coastguard Worker} 39*fb1b10abSAndroid Build Coastguard Worker 40