Skip to content
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

Blockers for Clang support on all supported platforms #27257

Closed
psmarshall opened this issue Apr 16, 2019 · 12 comments
Closed

Blockers for Clang support on all supported platforms #27257

psmarshall opened this issue Apr 16, 2019 · 12 comments
Labels
build Issues and PRs related to build files or the CI.

Comments

@psmarshall
Copy link
Contributor

I'd like to discuss what the support for compiling with Clang is like on all supported platforms. The context is that the V8 team is thinking about experimenting with Clang plugins that will automatically generate stack maps. This means V8 C++ code could store tagged pointers to heap values directly on the stack, rather than indirectly through Handles.

Particularly I don't know what the support is like on AIX, FreeBSD etc.

Adding folks who might be interested.. @mhdawson @hannespayer @mlippautz @hashseed

@richardlau
Copy link
Member

cc @nodejs/platforms

@mhdawson
Copy link
Member

@ThePrez can you check out and answer for IBM i
@john-yan @miladfarca can you track down the answer for AIX
@john-yan, @miladfarca can you also answer for Linux on P, Linux on Z
@john-yan, @miladfarca can you follow up with Igor (could not find his github id just yet) on z/OS

@john-yan
Copy link

@mhdawson from what I know, clang/llvm doesn't support AIX. Linux on P/Z should be workable.
@joransiu Can you check with Igor on z/OS?

@miladfarca
Copy link
Contributor

Work might be underway for supporting clang on AIX but not supported at the moment: http://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html

@joransiu
Copy link
Contributor

@psmarshall : Just wanted to make sure I understand the proposed plugin here: Are we generating stack maps for select locations within V8 C++ functions, to map the frame slots that contain tagged pointers to heap?

Do you have details on which specific clang plugin APIs will be used?

@refack
Copy link
Contributor

refack commented Apr 16, 2019

/CC @nodejs/platform-smartos

There's also the @nodejs/build resource bottleneck 🤷‍♂️

Windows issue:
Refs: #19630

General BuildWG discussion:
Refs: nodejs/build#1543

P.S. We currently already do CI/CD on freeBSD with CLang

P.P.S. We need a cross-compiler toolchain for building ARM binaries nodejs/build#1238

@bnoordhuis
Copy link
Member

can you follow up with Igor (could not find his github id just yet) on z/OS

@IgorTodorovskiIBM?

@IgorTodorovskiIBM
Copy link

Node on z/OS ships with the IBM njsc compiler (which is based on clang). However, there are currently a few issues with respect to creating clang plugins that are being investigated.

@hashseed
Copy link
Member

There is no Clang plugin yet, but we will likely experiment on this front soon.

@jasnell jasnell added the build Issues and PRs related to build files or the CI. label Jun 26, 2020
@jasnell
Copy link
Member

jasnell commented Jun 26, 2020

@nodejs/build ... does this need to remain open?

@mhdawson
Copy link
Member

mhdawson commented Jul 2, 2020

@psmarshall any updates on this front?

@psmarshall
Copy link
Contributor Author

The current plan is to explore conservative stack scanning which doesn't rely on a clang plugin so this isn't relevant anymore. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI.
Projects
None yet
Development

No branches or pull requests