New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 731217 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 3
Type: Bug

Blocking:
issue 706592
issue 707031
issue 731302



Sign in to add a comment

Port //v8 to Fuchsia

Project Member Reported by scottmg@chromium.org, Jun 8 2017

Issue description

//v8 is required for a full port of //net, at least to include things like PAC, etc. //v8 is also a useful thing to have for just about any other future work.
 
Status: Started (was: Untriaged)
This will likely require support upstream, and e.g. bots on https://build.chromium.org/p/client.v8/console.
Blocking: 731302
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/357f0a960c4bb9ac7fbd4f096acb364d9063b4ce

commit 357f0a960c4bb9ac7fbd4f096acb364d9063b4ce
Author: Scott Graham <scottmg@chromium.org>
Date: Sun Jun 11 05:50:42 2017

fuchsia fyi: remove compile_targets in favour of src/testing/buildbot

base_unittests re-added with v8 target in https://codereview.chromium.org/2930193002/.

Bug:  707029 ,  731217 
Change-Id: I91e6470ad77165a7acbc9971e3c7c7e7d94694ac
Reviewed-on: https://chromium-review.googlesource.com/530188
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>

[modify] https://crrev.com/357f0a960c4bb9ac7fbd4f096acb364d9063b4ce/scripts/slave/recipe_modules/chromium_tests/chromium_fyi.py

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c72a612667a104ac5ce989ae210b53c8f87add23

commit c72a612667a104ac5ce989ae210b53c8f87add23
Author: scottmg <scottmg@chromium.org>
Date: Sun Jun 11 06:31:33 2017

Basic compilation on Fuchsia

Sufficient to compile //v8 in Chrome with target_os="fuchsia". Doesn't
link yet, due to missing implementations (primarily VirtualMemory, as
well as a few utility functions).

BUG= chromium:731217 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

Review-Url: https://codereview.chromium.org/2931143002
Cr-Commit-Position: refs/heads/master@{#45831}

[modify] https://crrev.com/c72a612667a104ac5ce989ae210b53c8f87add23/include/v8config.h
[modify] https://crrev.com/c72a612667a104ac5ce989ae210b53c8f87add23/src/base/platform/platform-posix.cc
[modify] https://crrev.com/c72a612667a104ac5ce989ae210b53c8f87add23/src/libsampler/sampler.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f11d0f36f4234997494fbb8d4cea10878047b86

commit 0f11d0f36f4234997494fbb8d4cea10878047b86
Author: scottmg <scottmg@chromium.org>
Date: Sun Jun 11 06:49:58 2017

Set fuchsia fyi bot to build //v8:d8 as well

(Also base_unittests, which is removed from build repo config in https://chromium-review.googlesource.com/c/530188/ )

BUG= 707029 ,  731217 

Review-Url: https://codereview.chromium.org/2930193002
Cr-Commit-Position: refs/heads/master@{#478530}

[modify] https://crrev.com/0f11d0f36f4234997494fbb8d4cea10878047b86/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/0f11d0f36f4234997494fbb8d4cea10878047b86/testing/buildbot/gn_isolate_map.pyl

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2094202be215a07f3fab6a3a24fda644fe6ab048

commit 2094202be215a07f3fab6a3a24fda644fe6ab048
Author: scottmg <scottmg@chromium.org>
Date: Mon Jun 12 17:50:06 2017

Fuchsia: implement OS::Allocate

Fix v8 link errors (in component_build=true)
https://build.chromium.org/p/chromium.fyi/builders/Fuchsia%20(dbg)

BUG= chromium:731217 

Review-Url: https://codereview.chromium.org/2930343002
Cr-Commit-Position: refs/heads/master@{#45878}

[modify] https://crrev.com/2094202be215a07f3fab6a3a24fda644fe6ab048/src/base/platform/platform-fuchsia.cc

Comment 8 by w...@chromium.org, Jul 15 2017

Components: Internals>PlatformIntegration
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/677e791073d90814ce47b4e285e0b68d8d110ac3

commit 677e791073d90814ce47b4e285e0b68d8d110ac3
Author: Scott Graham <scottmg@chromium.org>
Date: Tue Aug 15 20:07:37 2017

fuchsia: make exe runner do interactive runs, add d8_fuchsia runner

Bug:  731217 
Change-Id: Ib9e6e92f8fa9e909c7b494519f27e7da43180612
Reviewed-on: https://chromium-review.googlesource.com/615604
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494516}
[modify] https://crrev.com/677e791073d90814ce47b4e285e0b68d8d110ac3/BUILD.gn
[modify] https://crrev.com/677e791073d90814ce47b4e285e0b68d8d110ac3/build/fuchsia/exe_runner.py
[modify] https://crrev.com/677e791073d90814ce47b4e285e0b68d8d110ac3/build/fuchsia/runner_common.py
[modify] https://crrev.com/677e791073d90814ce47b4e285e0b68d8d110ac3/build/fuchsia/test_runner.py

After some attempted debugging, I discovered that printf wasn't working at all when running d8. This turned out to be because the common linker setup does -Wl,--as-needed, which will drop any -l<lib> if it's not directly referenced.
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c1ad674f71fdbf8616053868b7a02b4de9c9b05

commit 8c1ad674f71fdbf8616053868b7a02b4de9c9b05
Author: Scott Graham <scottmg@chromium.org>
Date: Tue Aug 15 22:53:38 2017

fuchsia: make sure mxio is always DT_NEEDED

Without this, --as-needed will drop mxio, which means stdio doesn't get
initialized, which means printfs disappear into void.

Before:
sgraham@river:/work/cr/src$ readelf -d out/fuch/d8
Dynamic section at offset 0xe0d2a8 contains 20 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libc.so]
 0x000000000000001e (FLAGS)              BIND_NOW
 0x000000006ffffffb (FLAGS_1)            Flags: NOW
 0x0000000000000015 (DEBUG)              0x0
...

After:
Dynamic section at offset 0xe0d2a8 contains 21 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libc.so]
 0x0000000000000001 (NEEDED)             Shared library: [libmxio.so]
 0x000000000000001e (FLAGS)              BIND_NOW
 0x000000006ffffffb (FLAGS_1)            Flags: NOW
 0x0000000000000015 (DEBUG)              0x0
...


and printf in main() of d8.cc shows up in the output.

Bug:  731217 
Change-Id: I66df1a91eb3fa2757c0a05ede37da113ccb80bdb
Reviewed-on: https://chromium-review.googlesource.com/616160
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494585}
[modify] https://crrev.com/8c1ad674f71fdbf8616053868b7a02b4de9c9b05/build/config/fuchsia/BUILD.gn

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/fcb15cc5be41cb367ce1b780dde52f39a38b54a6

commit fcb15cc5be41cb367ce1b780dde52f39a38b54a6
Author: Scott Graham <scottmg@chromium.org>
Date: Fri Aug 18 17:23:55 2017

fuchsia: Don't CHECK(false) on EnableInProcessStackDumping.

In-process capture of exceptions doesn't work well because there's no
symbols on-device. Instead, just let the system crashlogger output a
backtrace that the run script can symbolize.

Bug:  chromium:731217 
Change-Id: I9a509a29e55229a5d8675c9bdc890b50a6a9bfb9
Reviewed-on: https://chromium-review.googlesource.com/619947
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47440}
[modify] https://crrev.com/fcb15cc5be41cb367ce1b780dde52f39a38b54a6/src/base/debug/stack_trace_fuchsia.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Aug 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08098c41886a24eb813bc3981f8b9e94c4973614

commit 08098c41886a24eb813bc3981f8b9e94c4973614
Author: Scott Graham <scottmg@chromium.org>
Date: Fri Aug 18 22:26:05 2017

fuchsia: Undo interactive mode for runner

Losing symbolized stacks was annoying, and it didn't turn out to be that
useful to be able to type stuff into d8, so just revert interactive
mode so that d8 and headless_shell get symbolized stacks again.

Bug:  731217 
Change-Id: Ib6213be3f6185f95f193218d4fb25b7a08db98c7
Reviewed-on: https://chromium-review.googlesource.com/621304
Commit-Queue: Scott Graham <scottmg@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495718}
[modify] https://crrev.com/08098c41886a24eb813bc3981f8b9e94c4973614/build/fuchsia/exe_runner.py
[modify] https://crrev.com/08098c41886a24eb813bc3981f8b9e94c4973614/build/fuchsia/runner_common.py
[modify] https://crrev.com/08098c41886a24eb813bc3981f8b9e94c4973614/build/fuchsia/test_runner.py

Status: Fixed (was: Started)

Sign in to add a comment