Hi Ben,

sorry for the late reply, I was (and still am) out of office.

On Mon, Dec 7, 2020 at 3:24 PM Ben Hutchings <[email protected]>
wrote:

> I'm currently working with a patch series that restores ppc32 support to
> V8 and Node, which I want to get upstream. I need to be able to cross-build
> for ppc32 from an x86 system (little-endian to big-endian).
>
> This patch series was originally developed for Node v12.16.1 with V8
> v7.8(ish), and was built with V8 snapshots disabled as they generally did
> not work in cross-builds. However, since snapshots are always enabled now,
> I need to make them work for this cross-build configuration.
>
> I've made a start on this, but it looks like a lot of the
> (de)serialisation code will need to be changed to allow for differing byte
> order between build- and run-time. (Word size seems to be less of an issue,
> so long as it's possible to run 32-bit programs on the build machine.)
>
> Questions:
>
>    1. Is it expected that snapshots should generally work in cross-builds?
>
> Yes, with restrictions. For example, host- and target bitness must match,
both must be 32- or 64-bit. I haven't thought much about byte order in this
context, but it seems possible. Have you tried building the x86 mksnapshot
as big-endian? Mksnapshot doesn't run any JS code and thus doesn't use the
JS heap; all it needs to do is create and serialize it properly. That seems
like a good first path to explore.

There are some older, slightly related docs here: Windows cross-compilation
<https://docs.google.com/document/d/1gUEKxe73GG7sXNmhdRwKfFFrt0LUBqkllP87wfF42M0/edit#>,
cross-compilation and mksnapshot
<https://docs.google.com/document/d/1A8p_OXE8fXE-IvL_qnpz7dYfs__VuUkVpivtLQFjY-Q/edit>
.

>
>    1. If they are expected to work, will it be acceptable to make a lot
>    of changes to (de)serialisation to make them work with differing byte 
> order?
>
> Yes, changes to support cross-byte-order builds would be acceptable in
general. I am hoping that their scope would remain small though.

>
>    1. If they are not expected to work, is there an escape hatch that
>    still allows them to be disabled in cross-builds?
>    2. Has anyone else worked on this problem, or otherwise have some
>    pointers for how to handle it?
>
> Ben.
>
> --
> --
> 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].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-dev/ee4bfba2-cee9-4302-96d8-79686ba8c95bn%40googlegroups.com
> <https://groups.google.com/d/msgid/v8-dev/ee4bfba2-cee9-4302-96d8-79686ba8c95bn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/CAH3p7oOAZnLkD%2BE5xNZzdfD2zBsBDZdsJQ3nCkRBU6hMkBKwSA%40mail.gmail.com.

Reply via email to