ref: a83db43632ba99c4232a059d2b1c9266c99886d2
parent: 5f76080a4dc0d65931c709e2309913532c9cfcf7
author: Martin Storsjo <martin@martin.st>
date: Tue Nov 20 11:05:40 EST 2012
Add a script for converting ads arm assembly to microsoft armasm format The formats are basically the same, but a few minor details need to be adjusted. Addiitonally, when building for the WinRT/Windows Phone 8 platforms, one has to build for thumb, so convert instructions accordingly. Change-Id: I3c3902aa20fd3bfc29168d3a1bf17111e5481dcb
--- a/build/make/Makefile
+++ b/build/make/Makefile
@@ -381,6 +381,7 @@
DIST-SRCS-$(ARCH_ARM)$(ARCH_X86)$(ARCH_X86_64) += build/make/obj_int_extract.c
DIST-SRCS-$(ARCH_ARM) += build/make/ads2gas.pl
DIST-SRCS-$(ARCH_ARM) += build/make/ads2gas_apple.pl
+ DIST-SRCS-$(ARCH_ARM) += build/make/ads2armasm_ms.pl
DIST-SRCS-$(ARCH_ARM) += build/make/thumb.pm
DIST-SRCS-yes += $(target:-$(TOOLCHAIN)=).mk
endif
--- /dev/null
+++ b/build/make/ads2armasm_ms.pl
@@ -1,0 +1,38 @@
+#!/usr/bin/perl
+##
+## Copyright (c) 2013 The WebM project authors. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license
+## that can be found in the LICENSE file in the root of the source
+## tree. An additional intellectual property rights grant can be found
+## in the file PATENTS. All contributing project authors may
+## be found in the AUTHORS file in the root of the source tree.
+##
+
+use FindBin;
+use lib $FindBin::Bin;
+use thumb;
+
+print "; This file was created from a .asm file\n";
+print "; using the ads2armasm_ms.pl script.\n";
+
+while (<STDIN>)
+{
+ undef $comment;
+ undef $line;
+
+ s/REQUIRE8//;
+ s/PRESERVE8//;
+ s/^\s*ARM\s*$//;
+ s/AREA\s+\|\|(.*)\|\|/AREA |$1|/;
+ s/qsubaddx/qsax/i;
+ s/qaddsubx/qasx/i;
+
+ thumb::FixThumbInstructions($_);
+
+ s/ldrneb/ldrbne/i;
+ s/ldrneh/ldrhne/i;
+
+ print;
+}
+
--
⑨