Hello, dear ARM community members.
The actual ARM GNU Toolchain (https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads) contains linux kernel headers for userspace of kernel 4.20.13 (https://developer.arm.com/documentation/109845/13-3-Rel1/?lang=en).
The userspace header files are not very actual since linux 4.20.13 is 6 years old, the actual stable version is 6.11.3. E.g. the userspace API for GPIOs has been changed completely since version 4.20.13.
Due to this, some actual code could not be compiled with actual ARM GNU Toolchain.
I would like to ask:
make install_headers
arm-none-linux-gnueabihf-gcc -I ${LINUX-KERNEL-6.x.y-USERSPACE-HEADERS}/include ...
I need to set compilation of our software for our device at Arm DS-5 Community Edition by Intel/Altera at Windows platform. So, I could hardly use any other solution such as Visual Studio Code with Windows Subsystem for Linux, Cygwin or similar.
Compilation of highly customized OS for our device is done within buildroot running at virtualized Debian.
I would be glad if someone know answer to the questions above. Thank You a lot in advance.
Yours Jan Konečný.
Hi there, thanks for asking a question. Please let me know what forum is best to move your question to.https://community.arm.com/support-forums/f/compilers-and-libraries-forum This forum may suit your question.
Hello, Annie,
Well, I am very sorry that I have not choose the proper forum part. The suggested Compilers and libraries forum seems to be the right one.
Have I move my question to it or will You do it yourself?
Thank You and sorry one more time.
Jan Koenečný.
No need to apologize, I am here to help.Thank you for letting me know, I have now moved your question to Compilers and Libraries forum.
Well, nobody seems to be able to answer. So I will do it myself.
Using userspace headers of a newer linux kernel seems to be all right since Standard Library of C has to has backward compatibility (i.e. usable with even very old kernels) and kernel userspace API has to be, of course, orthogonal (i.e. independent) to version of Standard Library of C.
The reason for using an old linux kernel in a Arm toolchain is still not known for me.