As assembler

I use the Arm ‘as’ assembler on the RPi for two small libraries. However, the Jetson nano version of ‘as’ gives errors with assembler programs that assembled correctly on the RPi. Is there a difference between the two Debian versions of ‘as’?

I can’t answer what the differences are, but there are several cases of newer compilers not necessarily being compatible. Thus, NVIDIA does make available the cross-compiler known to work with specific products. I don’t know if the assembler in the particular cross compiler will be any different than the one on the RPi, but you might give it a try. See:
https://developer.nvidia.com/embedded/downloads#?search=gcc&tx=$product,jetson_nano

Note that likely you’d want the R32.2 version (later versions of L4T would use the same cross tools). These have to install on a host PC, but if you find it works, then you could find the native aarch64 Linaro version.

Btw, if you are building user space content in a cross-compiler (or cross-assembler), then setup gets trickier than with a kernel build. Kernels are bare metal and don’t need to link anything (they would need header files, but no cross-linker and no cross-libraries to link to). If you are setting up for user space cross-compile, then you not only do you need to tools, you also need a linker and content to link to.

For the content to link to, if you know you have the content on the actual Jetson, e.g., you’ve installed a library on the Jetson, then a clone of the Jetson’s rootfs can be mounted on loopback on your host PC and used for the library content. You’d still need the Linaro cross-linker, but that is generally easier than finding all of the libraries.

On the other hand, if you do download the version of the GCC tool chain for the 64-bit aarch64 BSP, and simply look at the release version of the “as”/“aarch64-linux-gnu-as”, then you could find out where to download this for native use instead of cross-compile use and avoid all of the cross-compile user space setup.

Note: You might also include what the errors were, e.g., runtime only, or during build, and what lead up to the error.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.