summaryrefslogtreecommitdiffstats
path: root/Source/JavaScriptCore/disassembler
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-11-07 11:22:47 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2012-11-07 11:22:47 +0100
commitcfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch)
tree24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/JavaScriptCore/disassembler
parent69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff)
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/JavaScriptCore/disassembler')
-rw-r--r--Source/JavaScriptCore/disassembler/udis86/differences.txt2
-rw-r--r--Source/JavaScriptCore/disassembler/udis86/itab.py16
2 files changed, 13 insertions, 5 deletions
diff --git a/Source/JavaScriptCore/disassembler/udis86/differences.txt b/Source/JavaScriptCore/disassembler/udis86/differences.txt
index 3ef51efcf..dc225b6ff 100644
--- a/Source/JavaScriptCore/disassembler/udis86/differences.txt
+++ b/Source/JavaScriptCore/disassembler/udis86/differences.txt
@@ -20,3 +20,5 @@ here:
- Made the code in udis86_syn.h use vsnprintf() instead of vsprintf().
- Fixed udis86_syn-att.c's jump destination printing to work correctly in 64-bit mode.
+
+- Add --outputDir option to itab.py.
diff --git a/Source/JavaScriptCore/disassembler/udis86/itab.py b/Source/JavaScriptCore/disassembler/udis86/itab.py
index 27fa9b3f3..07e20a6e1 100644
--- a/Source/JavaScriptCore/disassembler/udis86/itab.py
+++ b/Source/JavaScriptCore/disassembler/udis86/itab.py
@@ -23,6 +23,8 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+from optparse import OptionParser
+import os
import sys
sys.path.append( '../scripts' );
@@ -194,10 +196,11 @@ class UdItabGenerator( ud_opcode.UdOpcodeTables ):
MnemonicAliases = ( "invalid", "3dnow", "none", "db", "pause" )
- def __init__( self ):
+ def __init__( self, outputDir ):
# first itab entry (0) is Invalid
self.Itab.append( self.InvalidEntry )
self.MnemonicsTable.extend( self.MnemonicAliases )
+ self.outputDir = outputDir
def toGroupId( self, id ):
return 0x8000 | id
@@ -289,7 +292,7 @@ class UdItabGenerator( ud_opcode.UdOpcodeTables ):
def genItabH( self ):
- self.ItabH = open( "udis86_itab.h", "w" )
+ self.ItabH = open( os.path.join(self.outputDir, "udis86_itab.h"), "w" )
# Generate Table Type Enumeration
self.ItabH.write( "#ifndef UD_ITAB_H\n" )
@@ -328,7 +331,7 @@ class UdItabGenerator( ud_opcode.UdOpcodeTables ):
def genItabC( self ):
- self.ItabC = open( "udis86_itab.c", "w" )
+ self.ItabC = open( os.path.join(self.outputDir, "udis86_itab.c"), "w" )
self.ItabC.write( "/* itab.c -- generated by itab.py, do no edit" )
self.ItabC.write( " */\n" );
self.ItabC.write( "#include \"udis86_decode.h\"\n\n" );
@@ -344,9 +347,12 @@ class UdItabGenerator( ud_opcode.UdOpcodeTables ):
self.genItabH()
def main():
- generator = UdItabGenerator()
+ parser = OptionParser()
+ parser.add_option("--outputDir", dest="outputDir", default="")
+ options, args = parser.parse_args()
+ generator = UdItabGenerator(os.path.normpath(options.outputDir))
optableXmlParser = ud_optable.UdOptableXmlParser()
- optableXmlParser.parse( sys.argv[ 1 ], generator.addInsnDef )
+ optableXmlParser.parse( args[ 0 ], generator.addInsnDef )
generator.genItab()