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
This commit is contained in:
parent
5f76080a4d
commit
a83db43632
@ -381,6 +381,7 @@ ifneq ($(call enabled,DIST-SRCS),)
|
|||||||
DIST-SRCS-$(ARCH_ARM)$(ARCH_X86)$(ARCH_X86_64) += build/make/obj_int_extract.c
|
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.pl
|
||||||
DIST-SRCS-$(ARCH_ARM) += build/make/ads2gas_apple.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-$(ARCH_ARM) += build/make/thumb.pm
|
||||||
DIST-SRCS-yes += $(target:-$(TOOLCHAIN)=).mk
|
DIST-SRCS-yes += $(target:-$(TOOLCHAIN)=).mk
|
||||||
endif
|
endif
|
||||||
|
38
build/make/ads2armasm_ms.pl
Executable file
38
build/make/ads2armasm_ms.pl
Executable file
@ -0,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;
|
||||||
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user