microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.51k stars 1.55k forks source link

Add ARM64 support (linux) #2506

Closed bobbrow closed 4 years ago

bobbrow commented 6 years ago

2497 was opened as a result of missing ARM64 support on linux. Please upvote this issue if you need support for aarch64.

xueyunquan commented 6 years ago

I'd like to support this one. There are more and more aarch64 boards out there which run Desktop GUIs. Direct on-board coding & debugging would be very cool.

SX-GitHub commented 5 years ago

I bet there are more than 25 people desperately want this including myself, but nobody knows a feature request is posted here.

sean-mcmanus commented 5 years ago

@SX-GitHub Yes, that is 100%. We realize that only a small fraction of users will upvote, e.g. our most upvoted feature has only 300 upvotes. This issue is pretty high on the list: https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc , i.e. the 9th most upvoted for the language service features.

weizhiyi777 commented 5 years ago

These days I was working on jetson tx2 board and using vscode to program. So the support of arm64 is also very helpful to me.

sean-mcmanus commented 5 years ago

@bobbrow We seem to have 2 issues tracking "ARM" -- should we consolidate it to 1? I can't tell how the upvotes are for ARM in general or just ARM64, i.e. is this issue a duplicate of https://github.com/microsoft/vscode-cpptools/issues/429 ?

SX-GitHub commented 5 years ago

@sean-mcmanus This shouldn't be considered as duplicated. I've seen too many projects claiming support "ARM" but leave ARM64/AArch64 behind, one of the reasons is Raspberry Pis are so popular (ARMHF which is 32 bit) many developers prioritized ARMHF higher. However, virtually all newer Pi-like SBCs are ARM64, I'm also expecting the overdue Raspberry Pi 4 to be ARM64.

Souldat commented 5 years ago

Just wanted to voice my upvote for this as well. Would be really huge considering the newly added SSH remote debug / development in the latest version of visual studio code for working with systems like the raspberry pi from windows.

alexdewar commented 5 years ago

I would also love to see this, so I can run VS code on my Chromebook.

alexdewar commented 5 years ago

@sean-mcmannus Also, is the source code for the Microsoft.VSCode.CPP.Extension.linux binary available? I wouldn't mind trying to build the binaries for ARM64 myself.

sean-mcmanus commented 5 years ago

@alexdewar The source code is not available -- we don't know yet how much work would be required to build for ARM64 yet.

alexdewar commented 5 years ago

That's a pity. It's great that Microsoft have made VS code open source, but in this case without the source code it means we don't have the option of e.g. making a community build of this plugin. I'd really like to use VS code on my Chromebook but there wouldn't be a lot of point for me without proper C/C++ support.

RSDuck commented 5 years ago

it would be great to have a general ARM64/ARMv8 intellisense mode available on all platforms for cross compiling, additionally to gcc/msvc/clang-x64.

While the x64 mode works mostly, it e.g. reports false errors, when referencing registers in inline assembler.

TSKangetsu commented 5 years ago

really need 😢

krisklau commented 5 years ago

Would be great!

SergeyIcool commented 5 years ago

It will help us a lot!)

ItaloYeltsin commented 5 years ago

Looking forward for this feature!

movingChurch commented 4 years ago

i want that...

ldsolano17 commented 4 years ago

Looking for support as well!

ChihweiLHBird commented 4 years ago

I would like to run VS Code on the surface pro x in the future. ^_^

Liber-coder commented 4 years ago

I very need this feature, and I have been look for it for a long time.

RongoDog commented 4 years ago

This feature would greatly help with the disconnect between Apple and Nvidia... Since we don't have access to Nsight because mom and dad are fighting, we're forced to use raw command line tools to debug on the Jetson line of products. It would be wonderful to have a least gdb debugging and remote development work well through the vscode UI. Other IDEs, such as eclipse don't seem to measure up... Note this also helps those without a graphics card (and therefore CUDA) on their main machine. In fact, Jetson TX2 development board, being ARM based, doesn't even have support for the CUDA Toolkit :(

marty1885 commented 4 years ago

Well, bumping the issue again.

I'm running a few AArch64 servers for HPC and a AArch64 workstation. Having IntelliSense on them would be great that I don't have to write code on x86 then copy everything to ARM for testing. Instead I could have my entire workflow on ARM. Otherwise vscode on ARM is quite a good experience.

The same would be for RISC-V and PPC64. PPC64 have already been an established HPC platform and RISC-V is on the horizon. It would be great (at least for the HPC community) to have IntelliSense work on most architectures.

OscarKro commented 4 years ago

I have always used Ubuntu and other operating systems on all sorts of devices. I'm trying a Chromebook right now which has aarch64/arm64 processor. I really need this feature. Any updates on this? I want to use vscode, but not without intellisense for c++.

abarcovschi commented 4 years ago

I also really need this feature. Have been tracking it for a while now and no developments.

nexusza commented 4 years ago

If only I can upvote 1000+. Edge computing becoming a reality. We need this one :)

raix commented 4 years ago

+1 would be great, feeling a bit of pain when doing remote development on the jetson nano. Looking forward to the release of https://github.com/microsoft/vscode-cpptools/pull/5064

ZgblKylin commented 4 years ago

+1 Working on nvidia xavier devices, which is aarch64(arm64). The plugin doesn't work is really a big trouble.

nexusza commented 4 years ago

Is there anyone here that has a temporary alternative yet?

thymbahutymba commented 4 years ago

+1

Nufflee commented 4 years ago

+1

macdew commented 4 years ago

+1 please for aarch64 remote development

peter-pri commented 4 years ago

I am running vscode (1.44) natively on my Jetson Nano. vscode has some build-in C/C++ support but I need Intellisense also !

cfriedt commented 4 years ago

It gives me the sads ... 😭 ENOSUPPORT

eungiHong commented 4 years ago

I am running vscode (1.44) natively on my Jetson Nano. vscode has some build-in C/C++ support but I need Intellisense also !

How did you run vscode on Jetson Nano? Could you please tell how to do this? Since C/C++ extension does not surppot ARM64, I can't run debug on cpp files.

es6rc commented 4 years ago

+1 need support for aarch64 development

nathanrpage97 commented 4 years ago

@bobbrow Curious Is there a reason this is in milestone 0.30.0 while #429 is in milestone 0.29.0?

jharmer95 commented 4 years ago

@bobbrow Curious Is there a reason this is in milestone 0.30.0 while #429 is in milestone 0.29.0?

Well they are different architectures, and the Raspberry Pi (armhf) is probably the most popular ARM computer so in that regard it makes sense that they would want to try it there first and apply what they learned to ARM64 But I'm just guessing, not involved with the project

ghost commented 4 years ago

+1

kjnixpark commented 4 years ago

+1

alexdewar commented 4 years ago

@jharmer95 In #429 it seems that people are talking about support for ARM CPUs in general, including ARM64 (aka ARMv8), rather than just armhf (ARMv7). ARM64 is used for Raspberry Pi 3 and 4 as well as all recent Chromebooks etc. so if anything I'd imagine that ARM64 support would be the most sensible thing to go for first.

jharmer95 commented 4 years ago

@jharmer95 In #429 it seems that people are talking about support for ARM CPUs in general, including ARM64 (aka ARMv8), rather than just armhf (ARMv7). ARM64 is used for Raspberry Pi 3 and 4 as well as all recent Chromebooks etc. so if anything I'd imagine that ARM64 support would be the most sensible thing to go for first.

These devices certainly use ARM64 processors, but all of them you have listed with their default OS are not using aarch64 software because they are actually running a 32-bit kernel and/or userland hence the reason why armhf might be a more desirable target

alexdewar commented 4 years ago

@jharmer95 In #429 it seems that people are talking about support for ARM CPUs in general, including ARM64 (aka ARMv8), rather than just armhf (ARMv7). ARM64 is used for Raspberry Pi 3 and 4 as well as all recent Chromebooks etc. so if anything I'd imagine that ARM64 support would be the most sensible thing to go for first.

These devices certainly use ARM64 processors, but all of them you have listed with their default OS are not using aarch64 software because they are actually running a 32-bit kernel and/or userland hence the reason why armhf might be a more desirable target

Good point.

sean-mcmanus commented 4 years ago

I moved it to 0.29.0. I don't know a reason why the ARM64 support would take longer, but if I find a reason it should be delayed I can move this back.

burness commented 4 years ago

really need

7oud commented 4 years ago

look forward it

blieusong commented 4 years ago

please heeelp. Yes arm64 support for the C/C++ extension would be very nice in my view. Thanks!

rossburton commented 4 years ago

Yes, please. My development environment is a local Macbook with VS Code, doing remote SSH to an arm64 server.

Jeremaiha-xmetix commented 4 years ago

Has anyone been able to run PlatformIO-Arduino with VSCode on Jetson Nano B01 ?

StevenFrawley commented 4 years ago

Need this to develop on both an ARM64 target (Jetson), and for same but remotely from Ubuntu. Needed to support government work, which I know is sometimes an oxymoron...

sean-mcmanus commented 4 years ago

We built a vsix that just uses our ARM binaries and it works for us when we test on the 64-bit aarch64 Raspberry Pi 4 OS -- does that seem okay or does anyone know if there's a problem that could cause it to not work in some scenarios? We could possibly release that tomorrow if anyone wants to try it earlier.

Also, does anyone really want our processes to use >2-4 GB of memory on their ARM64 devices? Our thought was that would be undesirable anyway in most cases, and on Windows we only publish a 32-bit binary so that it crashes from out of memory instead of using all the memory on the machine in cases where a rare infinite memory "leak" bug is hit.

Our aarch64/ARM64 build is hitting some failure that we're still investigating (might take a few more days).