Skip to content

Commit

Permalink
[GTK] Build the Udis86 disassembler
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=129679

Reviewed by Michael Saboff.

.: 

* GNUmakefile.am: Add the Udis86_nosources variable.
* Source/cmake/OptionsGTK.cmake: Enable the Udis86 disassembler.

Source/JavaScriptCore: 

* GNUmakefile.am: Generate the Udis86-related derived sources. Distribute the required files.
* GNUmakefile.list.am: Add the Udis86 disassembler files to the build.

Source/WTF: 

* wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
[email protected] committed Mar 4, 2014
1 parent fb58f98 commit e5efac6
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 3 deletions.
10 changes: 10 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
2014-03-04 Zan Dobersek <[email protected]>

[GTK] Build the Udis86 disassembler
https://bugs.webkit.org/show_bug.cgi?id=129679

Reviewed by Michael Saboff.

* GNUmakefile.am: Add the Udis86_nosources variable.
* Source/cmake/OptionsGTK.cmake: Enable the Udis86 disassembler.

2014-03-04 Martin Robinson <[email protected]>

[GTK] Simplify the GObject DOM bindings API break check into one step
Expand Down
1 change: 1 addition & 0 deletions GNUmakefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ javascriptcore_built_sources :=
javascriptcore_built_nosources :=
llint_nosources :=
offlineasm_nosources :=
udis86_nosources :=
platform_webcore_cppflags :=
platform_cppflags :=
platform_built_sources :=
Expand Down
10 changes: 10 additions & 0 deletions Source/JavaScriptCore/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
2014-03-04 Zan Dobersek <[email protected]>

[GTK] Build the Udis86 disassembler
https://bugs.webkit.org/show_bug.cgi?id=129679

Reviewed by Michael Saboff.

* GNUmakefile.am: Generate the Udis86-related derived sources. Distribute the required files.
* GNUmakefile.list.am: Add the Udis86 disassembler files to the build.

2014-03-04 Andreas Kling <[email protected]>

Fix too-narrow assertion I added in r165054.
Expand Down
8 changes: 7 additions & 1 deletion Source/JavaScriptCore/GNUmakefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ javascriptcore_cppflags += \
-I$(srcdir)/Source/JavaScriptCore/debugger \
-I$(srcdir)/Source/JavaScriptCore/dfg \
-I$(srcdir)/Source/JavaScriptCore/disassembler \
-I$(srcdir)/Source/JavaScriptCore/disassembler/udis86 \
-I$(srcdir)/Source/JavaScriptCore/ftl \
-I$(srcdir)/Source/JavaScriptCore/heap \
-I$(srcdir)/Source/JavaScriptCore/inspector \
Expand Down Expand Up @@ -127,6 +128,10 @@ DerivedSources/JavaScriptCore/JSCBuiltins.h: DerivedSources/JavaScriptCore/JSCBu
DerivedSources/JavaScriptCore/JSCBuiltins.cpp: $(srcdir)/Source/JavaScriptCore/generate-js-builtins $(javascriptcore_builtins_js_nosources)
$(AM_V_GEN)$(PYTHON) $^ $@

DerivedSources/JavaScriptCore/udis86_itab.h: DerivedSources/JavaScriptCore/udis86_itab.c
DerivedSources/JavaScriptCore/udis86_itab.c: $(udis86_nosources)
$(AM_V_GEN)$(PYTHON) $(srcdir)/Source/JavaScriptCore/disassembler/udis86/itab.py --outputDir DerivedSources/JavaScriptCore $(srcdir)/Source/JavaScriptCore/disassembler/udis86/optable.xml

$(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/JavaScriptCore/LLIntAssembly.h

jsc: $(javascriptcore_built_nosources) Programs/jsc$(EXEEXT)
Expand Down Expand Up @@ -230,7 +235,8 @@ EXTRA_DIST += \
Source/JavaScriptCore/THANKS \
$(javascriptcore_builtins_js_nosources) \
$(llint_nosources) \
$(offlineasm_nosources)
$(offlineasm_nosources) \
$(udis86_nosources)

CLEANFILES += \
$(javascriptcore_built_nosources) \
Expand Down
25 changes: 24 additions & 1 deletion Source/JavaScriptCore/GNUmakefile.list.am
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ javascriptcore_built_nosources += \
DerivedSources/JavaScriptCore/Bytecodes.h \
DerivedSources/JavaScriptCore/InitBytecodes.asm \
DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h \
DerivedSources/JavaScriptCore/LLIntAssembly.h
DerivedSources/JavaScriptCore/LLIntAssembly.h \
DerivedSources/JavaScriptCore/udis86_itab.c \
DerivedSources/JavaScriptCore/udis86_itab.h

javascriptcore_builtins_js_nosources += \
$(wildcard $(srcdir)/Source/JavaScriptCore/builtins/*.js)
Expand Down Expand Up @@ -463,7 +465,22 @@ javascriptcore_sources += \
Source/JavaScriptCore/disassembler/Disassembler.h \
Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp \
Source/JavaScriptCore/disassembler/LLVMDisassembler.h \
Source/JavaScriptCore/disassembler/UDis86Disassembler.cpp \
Source/JavaScriptCore/disassembler/UDis86Disassembler.h \
Source/JavaScriptCore/disassembler/X86Disassembler.cpp \
Source/JavaScriptCore/disassembler/udis86/udis86.c \
Source/JavaScriptCore/disassembler/udis86/udis86.h \
Source/JavaScriptCore/disassembler/udis86/udis86_decode.c \
Source/JavaScriptCore/disassembler/udis86/udis86_decode.h \
Source/JavaScriptCore/disassembler/udis86/udis86_extern.h \
Source/JavaScriptCore/disassembler/udis86/udis86_input.c \
Source/JavaScriptCore/disassembler/udis86/udis86_input.h \
Source/JavaScriptCore/disassembler/udis86/udis86_itab_holder.c \
Source/JavaScriptCore/disassembler/udis86/udis86_syn.c \
Source/JavaScriptCore/disassembler/udis86/udis86_syn.h \
Source/JavaScriptCore/disassembler/udis86/udis86_syn-att.c \
Source/JavaScriptCore/disassembler/udis86/udis86_syn-intel.c \
Source/JavaScriptCore/disassembler/udis86/udis86_types.h \
Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h \
Source/JavaScriptCore/ftl/FTLAbbreviations.h \
Source/JavaScriptCore/ftl/FTLAbstractHeap.cpp \
Expand Down Expand Up @@ -1326,6 +1343,12 @@ offlineasm_nosources += \
Source/JavaScriptCore/offlineasm/transform.rb \
Source/JavaScriptCore/offlineasm/x86.rb

udis86_nosources += \
Source/JavaScriptCore/disassembler/udis86/itab.py \
Source/JavaScriptCore/disassembler/udis86/optable.xml \
Source/JavaScriptCore/disassembler/udis86/ud_opcode.py \
Source/JavaScriptCore/disassembler/udis86/ud_optable.py

# minidom
Programs_minidom_SOURCES = \
Source/JavaScriptCore/API/tests/JSNode.c \
Expand Down
9 changes: 9 additions & 0 deletions Source/WTF/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
2014-03-04 Zan Dobersek <[email protected]>

[GTK] Build the Udis86 disassembler
https://bugs.webkit.org/show_bug.cgi?id=129679

Reviewed by Michael Saboff.

* wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.

2014-03-02 Jaehun Lim <[email protected]>

[EFL] Remove m_initEfl from RunLoop.
Expand Down
2 changes: 1 addition & 1 deletion Source/WTF/wtf/Platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@
/* If possible, try to enable a disassembler. This is optional. We proceed in two
steps: first we try to find some disassembler that we can use, and then we
decide if the high-level disassembler API can be enabled. */
#if !defined(WTF_USE_UDIS86) && ENABLE(JIT) && ((OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK)) || (PLATFORM(EFL) && OS(LINUX))) \
#if !defined(WTF_USE_UDIS86) && ENABLE(JIT) && ((OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK)) || (OS(LINUX) && (PLATFORM(EFL) || PLATFORM(GTK)))) \
&& (CPU(X86) || CPU(X86_64))
#define WTF_USE_UDIS86 1
#endif
Expand Down
1 change: 1 addition & 0 deletions Source/cmake/OptionsGTK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ set(includedir "${prefix}/include")
set(VERSION ${PROJECT_VERSION})

set(WTF_USE_SOUP 1)
set(WTF_USE_UDIS86 1)

set(WTF_OUTPUT_NAME WTFGTK)
set(JavaScriptCore_OUTPUT_NAME javascriptcoregtk-${WEBKITGTK_API_VERSION})
Expand Down

0 comments on commit e5efac6

Please sign in to comment.