summaryrefslogtreecommitdiffstats
path: root/native_client_sdk
diff options
context:
space:
mode:
authorjvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-31 21:33:23 +0000
committerjvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-31 21:33:23 +0000
commit38dc08c95f92769f8385ff7e962aa384d8071fd2 (patch)
tree78912262b24ec2b3fafa2e345b75a8080988f7d2 /native_client_sdk
parent363ce5ee17d71d1048f0999a0ab7e3a3d06c2b59 (diff)
downloadchromium_src-38dc08c95f92769f8385ff7e962aa384d8071fd2.zip
chromium_src-38dc08c95f92769f8385ff7e962aa384d8071fd2.tar.gz
chromium_src-38dc08c95f92769f8385ff7e962aa384d8071fd2.tar.bz2
NaClSDK: Have "CONFIG=Debug TOOLCHAIN=pnacl make debug" use bitcode instead.
Then the release and config modes are similar. The only difference is the -O level would have fewer optimized-out variables, etc. BUG=http://code.google.com/p/nativeclient/issues/detail?id=3765 NOTRY=true (nacl sdk only change) Review URL: https://codereview.chromium.org/217903002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260657 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'native_client_sdk')
-rw-r--r--native_client_sdk/doc_generated/sdk/examples.html9
-rw-r--r--native_client_sdk/src/doc/sdk/examples.rst9
-rw-r--r--native_client_sdk/src/resources/Makefile.example.template4
-rw-r--r--native_client_sdk/src/resources/common.js2
-rw-r--r--native_client_sdk/src/tools/common.mk3
-rw-r--r--native_client_sdk/src/tools/nacl_llvm.mk26
6 files changed, 10 insertions, 43 deletions
diff --git a/native_client_sdk/doc_generated/sdk/examples.html b/native_client_sdk/doc_generated/sdk/examples.html
index 4111fc0..6fd6100 100644
--- a/native_client_sdk/doc_generated/sdk/examples.html
+++ b/native_client_sdk/doc_generated/sdk/examples.html
@@ -127,12 +127,9 @@ make[1]: Entering directory `pepper_31/examples/api/core'
make[1]: Leaving directory `pepper_31/examples/api/core'
make TOOLCHAIN=pnacl
make[1]: Entering directory `pepper_31/examples/api/core'
- CXX pnacl/Debug/core_pnacl.o
- LINK pnacl/Debug/core.bc
- FINALIZE pnacl/Debug/core.pexe
- TRANSLATE pnacl/Debug/core_x86_32.nexe
- TRANSLATE pnacl/Debug/core_x86_64.nexe
- TRANSLATE pnacl/Debug/core_arm.nexe
+ CXX pnacl/Debug/core.o
+ LINK pnacl/Debug/core_unstripped.bc
+ FINALIZE pnacl/Debug/core_unstripped.pexe
CREATE_NMF pnacl/Debug/core.nmf
make[1]: Leaving directory `pepper_31/examples/api/core'
make TOOLCHAIN=linux
diff --git a/native_client_sdk/src/doc/sdk/examples.rst b/native_client_sdk/src/doc/sdk/examples.rst
index a0b567a..5feb472 100644
--- a/native_client_sdk/src/doc/sdk/examples.rst
+++ b/native_client_sdk/src/doc/sdk/examples.rst
@@ -124,12 +124,9 @@ all available toolchains::
make[1]: Leaving directory `pepper_31/examples/api/core'
make TOOLCHAIN=pnacl
make[1]: Entering directory `pepper_31/examples/api/core'
- CXX pnacl/Debug/core_pnacl.o
- LINK pnacl/Debug/core.bc
- FINALIZE pnacl/Debug/core.pexe
- TRANSLATE pnacl/Debug/core_x86_32.nexe
- TRANSLATE pnacl/Debug/core_x86_64.nexe
- TRANSLATE pnacl/Debug/core_arm.nexe
+ CXX pnacl/Debug/core.o
+ LINK pnacl/Debug/core_unstripped.bc
+ FINALIZE pnacl/Debug/core_unstripped.pexe
CREATE_NMF pnacl/Debug/core.nmf
make[1]: Leaving directory `pepper_31/examples/api/core'
make TOOLCHAIN=linux
diff --git a/native_client_sdk/src/resources/Makefile.example.template b/native_client_sdk/src/resources/Makefile.example.template
index 940c714..1c0892a 100644
--- a/native_client_sdk/src/resources/Makefile.example.template
+++ b/native_client_sdk/src/resources/Makefile.example.template
@@ -96,12 +96,8 @@ $(eval $(call SO_RULE,{{name}},$({{sources}})))
[[ elif target['TYPE'] == 'so-standalone':]]
$(eval $(call SO_RULE,{{name}},$({{sources}}),,,1))
[[ else:]]
-ifeq ($(CONFIG),Release)
$(eval $(call LINK_RULE,{{name}}_unstripped,$({{sources}}),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,{{name}},{{name}}_unstripped))
-else
-$(eval $(call LINK_RULE,{{name}},$({{sources}}),$(LIBS),$(DEPS)))
-endif
[[]]
$(eval $(call NMF_RULE,$(TARGET),)){{post}}
diff --git a/native_client_sdk/src/resources/common.js b/native_client_sdk/src/resources/common.js
index a108fad..a935614 100644
--- a/native_client_sdk/src/resources/common.js
+++ b/native_client_sdk/src/resources/common.js
@@ -39,7 +39,7 @@ var common = (function() {
mimetype = 'application/x-ppapi-release';
else
mimetype = 'application/x-ppapi-debug';
- } else if (tool == 'pnacl' && isRelease) {
+ } else if (tool == 'pnacl') {
mimetype = 'application/x-pnacl';
}
return mimetype;
diff --git a/native_client_sdk/src/tools/common.mk b/native_client_sdk/src/tools/common.mk
index b491631..75aaaad 100644
--- a/native_client_sdk/src/tools/common.mk
+++ b/native_client_sdk/src/tools/common.mk
@@ -503,8 +503,11 @@ run_package: check_for_chrome all
$(CHROME_PATH_ESCAPE) --load-and-launch-app=$(CURDIR) $(CHROME_ARGS)
GDB_ARGS += -D $(GDB_PATH)
+# PNaCl's nexe is acquired with "remote get nexe <path>" instead of the NMF.
+ifeq (,$(findstring $(TOOLCHAIN),pnacl))
GDB_ARGS += -D --eval-command="nacl-manifest $(abspath $(OUTDIR))/$(TARGET).nmf"
GDB_ARGS += -D $(GDB_DEBUG_TARGET)
+endif
.PHONY: debug
debug: check_for_chrome all $(PAGE)
diff --git a/native_client_sdk/src/tools/nacl_llvm.mk b/native_client_sdk/src/tools/nacl_llvm.mk
index 2beb574..61e08f2 100644
--- a/native_client_sdk/src/tools/nacl_llvm.mk
+++ b/native_client_sdk/src/tools/nacl_llvm.mk
@@ -16,7 +16,6 @@ PNACL_LINK := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=c++)
PNACL_LIB := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=ar)
PNACL_STRIP := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=strip)
PNACL_FINALIZE := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=finalize)
-PNACL_TRANSLATE := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=translate)
#
# Compile Macro
@@ -94,19 +93,8 @@ endef
# $5 = List of lib dirs
# $6 = Other Linker Args
#
-# For debugging, we translate the pre-finalized .bc file.
-#
define LINKER_RULE
all: $(1).pexe
-$(1)_x86_32.nexe : $(1).bc
- $(call LOG,TRANSLATE,$$@,$(PNACL_TRANSLATE) --allow-llvm-bitcode-input -arch x86-32 $$^ -o $$@)
-
-$(1)_x86_64.nexe : $(1).bc
- $(call LOG,TRANSLATE,$$@,$(PNACL_TRANSLATE) --allow-llvm-bitcode-input -arch x86-64 $$^ -o $$@)
-
-$(1)_arm.nexe : $(1).bc
- $(call LOG,TRANSLATE,$$@,$(PNACL_TRANSLATE) --allow-llvm-bitcode-input -arch arm $$^ -o $$@)
-
$(1).pexe: $(1).bc
$(call LOG,FINALIZE,$$@,$(PNACL_FINALIZE) -o $$@ $$^)
@@ -125,9 +113,6 @@ endef
# $5 = POSIX Linker Switches
# $6 = VC Linker Switches
#
-# NOTE: For Debug builds we translate the .bc file to a .nexe instead of
-# using the finalizing to a .pexe. This enables debugging.
-#
define LINK_RULE
$(call LINKER_RULE,$(OUTDIR)/$(1),$(foreach src,$(2),$(call SRC_TO_OBJ,$(src))),$(filter-out pthread,$(3)),$(4),$(LIB_PATHS),$(5))
endef
@@ -164,11 +149,7 @@ endef
#
NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py
-ifeq ($(CONFIG),Debug)
-EXECUTABLES=$(OUTDIR)/$(1)_x86_32.nexe $(OUTDIR)/$(1)_x86_64.nexe $(OUTDIR)/$(1)_arm.nexe
-else
EXECUTABLES=$(OUTDIR)/$(1).pexe $(OUTDIR)/$(1)_unstripped.bc
-endif
define NMF_RULE
all: $(OUTDIR)/$(1).nmf
@@ -186,10 +167,3 @@ all: $(OUTDIR)/$(1).html
$(OUTDIR)/$(1).html: $(EXECUTABLES)
$(call LOG,CREATE_HTML,$$@,$(CREATE_HTML) -o $$@ $$^)
endef
-
-
-#
-# Determine which executable to pass into the debugger. For pnacl, this is
-# the .bc -> .nexe translated app.
-#
-GDB_DEBUG_TARGET = $(abspath $(OUTDIR))/$(TARGET)_$(SYSARCH).nexe