On Fri, May 26, 2017 at 3:03 PM,  <[email protected]> wrote:
> Hi,
>
> Can anyone point in some direction to work on v8.
> Please.
> I did have a look a lot of issues.
>
> For e.g. how about something like this -
> https://bugs.chromium.org/p/v8/issues/detail?id=2051&q=&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Component%20Stars
> :)
>
> Thanks a lot in advance.
>
> - Umair

The x87 backend has bitrotted after the move to GN, maybe that is
something you would like to work on?

Fixing it up is a matter of adapting the build system (see attached
diff, apply to the build/ directory) and porting relevant patches.  I
did some work on it last month[0] but I ran out of time.  Feel free to
pick up where I left off, no attribution needed.

[0] https://github.com/bnoordhuis/v8/commits/x87

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/config/compiler/BUILD.gn b/config/compiler/BUILD.gn
index 092991d..38665a8 100644
--- a/config/compiler/BUILD.gn
+++ b/config/compiler/BUILD.gn
@@ -200,8 +200,8 @@ config("compiler") {
       # See also https://crbug.com/533294
       cflags += [ "--param=ssp-buffer-size=4" ]

-      # The x86 toolchain currently has problems with stack-protector.
-      if (is_android && current_cpu == "x86") {
+      # The x86 and x87 toolchains currently have problems with 
stack-protector.
+      if (is_android && (current_cpu == "x86" || current_cpu == "x87")) {
         cflags += [ "-fno-stack-protector" ]
       } else {
         cflags += [ "-fstack-protector" ]
@@ -582,6 +582,9 @@ config("compiler_cpu_abi") {
           "-mmmx",
         ]
       }
+    } else if (current_cpu == "x87") {
+      cflags += [ "-m32", "-march=i586" ]
+      ldflags += [ "-m32", "-march=i586" ]
     } else if (current_cpu == "arm") {
       if (is_clang && !is_android && !is_nacl) {
         cflags += [ "--target=arm-linux-gnueabihf" ]
diff --git a/config/features.gni b/config/features.gni
index d143dac..b925b0a 100644
--- a/config/features.gni
+++ b/config/features.gni
@@ -25,7 +25,8 @@ declare_args() {
   # Temporarily disable nacl on arm64 linux to get rid of compilation errors.
   # TODO(mcgrathr): When mipsel-nacl-clang is available, drop the exclusion.
   enable_nacl = !is_ios && !is_android && !is_chromecast &&
-                current_cpu != "mipsel" && !(is_linux && target_cpu == "arm64")
+                current_cpu != "mipsel" && current_cpu != "x87" &&
+                !(is_linux && target_cpu == "arm64")

   # Non-SFI is not yet supported on mipsel
   enable_nacl_nonsfi = current_cpu != "mipsel"
diff --git a/config/features.gni b/config/features.gni
index d143dac..b925b0a 100644
--- a/config/features.gni
+++ b/config/features.gni
@@ -25,7 +25,8 @@ declare_args() {
   # Temporarily disable nacl on arm64 linux to get rid of compilation errors.
   # TODO(mcgrathr): When mipsel-nacl-clang is available, drop the exclusion.
   enable_nacl = !is_ios && !is_android && !is_chromecast &&
-                current_cpu != "mipsel" && !(is_linux && target_cpu == "arm64")
+                current_cpu != "mipsel" && current_cpu != "x87" &&
+                !(is_linux && target_cpu == "arm64")

   # Non-SFI is not yet supported on mipsel
   enable_nacl_nonsfi = current_cpu != "mipsel"
diff --git a/toolchain/linux/BUILD.gn b/toolchain/linux/BUILD.gn
index 3be5c36..4bf6a02 100644
--- a/toolchain/linux/BUILD.gn
+++ b/toolchain/linux/BUILD.gn
@@ -102,6 +102,25 @@ gcc_toolchain("x86") {
   }
 }

+gcc_toolchain("x87") {
+  cc = "gcc"
+  cxx = "g++"
+
+  readelf = "readelf"
+  nm = "nm"
+  ar = "ar"
+  ld = cxx
+
+  # Output linker map files for binary size analysis.
+  enable_linker_map = true
+
+  toolchain_args = {
+    current_cpu = "x87"
+    current_os = "linux"
+    is_clang = false
+  }
+}
+
 clang_toolchain("clang_x64") {
   # Output linker map files for binary size analysis.
   enable_linker_map = true

Reply via email to