Package: libv8-2.2.18
Version: 2.2.18-1
Severity: important
Tags: patch

chromium-browser on openmoko freerunner (ARMv4) crashes on any
javascript (including bookmark manager) with

pure virtual method called terminate called without an active exception

This is apparently due to

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41354

With the help of Giuseppe Iuculano I came up with

Index: libv8-2.2.18/SConstruct
===================================================================
--- libv8-2.2.18.orig/SConstruct        2010-07-14 15:04:18.000000000 +0100
+++ libv8-2.2.18/SConstruct     2010-07-14 15:06:21.000000000 +0100
@@ -210,7 +210,8 @@
       },
       'unalignedaccesses:off' : {
         'CPPDEFINES' : ['CAN_USE_UNALIGNED_ACCESSES=0']
-      }
+      },
+      'CCFLAGS':      ['-march=armv4t', '-mno-thumb-interwork', 
'-fno-tree-sink']
     },
     'simulator:arm': {
       'CCFLAGS':      ['-m32'],
Index: libv8-2.2.18/src/platform-linux.cc
===================================================================
--- libv8-2.2.18.orig/src/platform-linux.cc     2010-07-14 15:07:12.000000000 
+0100
+++ libv8-2.2.18/src/platform-linux.cc  2010-07-14 15:18:59.000000000 +0100
@@ -289,9 +289,12 @@
 void OS::DebugBreak() {
 // TODO(lrn): Introduce processor define for runtime system (!= V8_ARCH_x,
 //  which is the architecture of generated code).
-#if (defined(__arm__) || defined(__thumb__)) && \
-    defined(CAN_USE_ARMV5_INSTRUCTIONS)
+#if defined(__arm__) || defined(__thumb__)
+# if defined(CAN_USE_ARMV5_INSTRUCTIONS)
   asm("bkpt 0");
+# else
+  asm("nop");
+# endif
 #elif defined(__mips__)
   asm("break");
 #else

that lets me use javascript on openmoko. The exact packages that work are

http://lindi.iki.fi/lindi/chromium/libv8-2.2.18_2.2.18-1+arm1+lindi1/libv8_2.2.18-1+arm1+lindi1.dsc

and

http://lindi.iki.fi/lindi/chromium/chromium-browser_5.0.375.99~r51029-3+arm1/chromium-browser_5.0.375.99~r51029-3+arm1.dsc

Can you merge the libv8 changes from the libv8*dsc?


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: armel (armv4tl)

Kernel: Linux 2.6.29-GTA02_lindi2-andy-tracking-mokodev
Locale: LANG=C, LC_CTYPE=fi_FI (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages libv8-2.2.18 depends on:
ii  libc6                         2.11.2-2   Embedded GNU C Library: Shared lib
ii  libgcc1                       1:4.4.4-6  GCC support library
ii  libstdc++6                    4.4.4-6    The GNU Standard C++ Library v3

libv8-2.2.18 recommends no packages.

libv8-2.2.18 suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to