-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange CPU architecture handling/checking at build time #40576
Labels
build
Issues and PRs related to build files or the CI.
Comments
I have a vague recollection that this was intentional as |
bnoordhuis
added a commit
to bnoordhuis/io.js
that referenced
this issue
Feb 9, 2022
I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: nodejs#40576
nodejs-github-bot
pushed a commit
that referenced
this issue
Feb 11, 2022
I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: #40576 PR-URL: #41905 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
bengl
pushed a commit
to bengl/node
that referenced
this issue
Feb 21, 2022
I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: nodejs#40576 PR-URL: nodejs#41905 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
bengl
pushed a commit
to bengl/node
that referenced
this issue
Feb 21, 2022
I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: nodejs#40576 PR-URL: nodejs#41905 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
danielleadams
pushed a commit
to danielleadams/node
that referenced
this issue
Apr 21, 2022
I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: nodejs#40576 PR-URL: nodejs#41905 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
danielleadams
pushed a commit
that referenced
this issue
Apr 24, 2022
I added support for x32 back in 2014 but it's been in a state of disrepair ever since, not in the least because it was never a fully supported architecture in upstream V8. V8 dropped x32 support entirely in or around 2018 so the removal from Node's build system is long overdue. Refs: #40576 PR-URL: #41905 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
While attempting to track down the possible values for
target_arch
/process.arch
I noticed that there is some strange stuff going on with regard to node's CPU architecture references at build time. Specifically:tools/v8_gypfiles/v8.gyp references
"mips64"
for(v8_)target_arch
, which is not a value permitted/used by configure.py anywhere.tools/v8_gypfiles/v8.gyp appears to be missing support for
"x32"
(although tools/v8_gypfiles/toolchain.gypi seems to check for it), which is allowed by configure.py. At the very least the sources for the relevant builtins-*.cc file are missing for this platform.tools/v8_gypfiles/v8.gyp does the same check twice in the same conditional. Not sure if the second check should be removed or if one of the values was supposed to be something like
"riscv32"
."riscv32"
, then we should probably add this to configure.py and elsewhere.configure.py can return
"riscv32"
fromhost_arch_cc()
(whose return value gets set totarget_arch
when not cross compiling). This arch is not listed as a valid arch in configure.py (and further leads me to believe that one of the checks in the previous point should've been"riscv32"
).host_arch_cc()
in configure.py also seems to return'ppc64'
when checking for the__PPC__
define, which AFAICT is 32-bit and thus should be'ppc'
instead.host_arch_cc()
is missing support for checking for x32 ABI, which AFAICT should be doable by checking both__ILP32__
and__x86_64__
.process.arch docs seem to be outdated. Depending on if/how any of the above issues get resolved, at least the following values appear to be missing:
'mips64'
'mips64el'
'riscv64'
Also the following
process.arch
values should be removed from the documented list because they don't show up anywhere in the build system(?):'s390'
The text was updated successfully, but these errors were encountered: