Revision: 11300
Author:   [email protected]
Date:     Fri Apr 13 00:59:09 2012
Log:      Fix native ARM build

BUG=v8:1744, v8:539

Review URL: https://chromiumcodereview.appspot.com/10008082
http://code.google.com/p/v8/source/detail?r=11300

Modified:
 /branches/bleeding_edge/Makefile
 /branches/bleeding_edge/build/common.gypi
 /branches/bleeding_edge/src/arm/macro-assembler-arm.h

=======================================
--- /branches/bleeding_edge/Makefile    Fri Mar 30 08:01:11 2012
+++ /branches/bleeding_edge/Makefile    Fri Apr 13 00:59:09 2012
@@ -261,7 +261,8 @@

 # Stores current GYPFLAGS in a file.
 $(ENVFILE).new:
-       @mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS)" > $(ENVFILE).new;
+       @mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS)" > $(ENVFILE).new; \
+           echo "CXX=$(CXX)" >> $(ENVFILE).new

 # Dependencies.
 dependencies:
=======================================
--- /branches/bleeding_edge/build/common.gypi   Fri Mar 30 08:01:11 2012
+++ /branches/bleeding_edge/build/common.gypi   Fri Apr 13 00:59:09 2012
@@ -280,9 +280,16 @@
       ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
          or OS=="netbsd"', {
         'conditions': [
-          [ 'target_arch=="ia32"', {
-            'cflags': [ '-m32' ],
-            'ldflags': [ '-m32' ],
+          [ 'v8_target_arch!="x64"', {
+            # Pass -m32 to the compiler iff it understands the flag.
+            'variables': {
+              'm32flag': '<!(' +
+                  '(echo | $(echo ${CXX:-$(which g++)}) -m32 -E - ' +
+                  '    > /dev/null 2>&1) ' +
+                  '&& echo -n "-m32" || true)',
+            },
+            'cflags': [ '<(m32flag)' ],
+            'ldflags': [ '<(m32flag)' ],
           }],
           [ 'v8_no_strict_aliasing==1', {
             'cflags': [ '-fno-strict-aliasing' ],
=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.h Wed Feb 22 04:47:42 2012 +++ /branches/bleeding_edge/src/arm/macro-assembler-arm.h Fri Apr 13 00:59:09 2012
@@ -1321,7 +1321,6 @@
 };


-#ifdef ENABLE_DEBUGGER_SUPPORT
// The code patcher is used to patch (typically) small parts of code e.g. for // debugging and other types of instrumentation. When using the code patcher // the exact number of bytes specified must be emitted. It is not legal to emit
@@ -1351,7 +1350,6 @@
   int size_;  // Number of bytes of the expected patch size.
   MacroAssembler masm_;  // Macro assembler used to generate the code.
 };
-#endif  // ENABLE_DEBUGGER_SUPPORT


// -----------------------------------------------------------------------------

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to