I have an ARM9 platform that's running a pretty old Linux kernel (2.6.33.7 built with GCC 4.6.3). It's currently using a buildroot user-space built with that same compiler and uClibc 0.9.30.
Moving to a newer kernel is not an option because of performance issues. Using a significantly newer version of GCC to build the kernel would also require more than a little kernel hacking. So I probably have to stick with the existing kernel build.
For various reasons, updating to recent versions of a few user-space packages might be required. Are there likely to be compatibility problems building/running a user-space (e.g. with buildroot) using a recent toolchain (gcc 12.3, uClib-ng 1.0.45) for user-space and a kernel that old?
-- Grant
Hi Grant, Grant Edwards wrote,
I have an ARM9 platform that's running a pretty old Linux kernel (2.6.33.7 built with GCC 4.6.3). It's currently using a buildroot user-space built with that same compiler and uClibc 0.9.30.
Moving to a newer kernel is not an option because of performance issues. Using a significantly newer version of GCC to build the kernel would also require more than a little kernel hacking. So I probably have to stick with the existing kernel build.
For various reasons, updating to recent versions of a few user-space packages might be required. Are there likely to be compatibility problems building/running a user-space (e.g. with buildroot) using a recent toolchain (gcc 12.3, uClib-ng 1.0.45) for user-space and a kernel that old?
I think it will work. Just try it out. You can chroot into your new userland first and verify if everything works before you exchange your userland. Or you statically link your applications with your new toolchain.
best regards Waldemar
On 2024-03-15, Waldemar Brodkorb wbx@openadk.org wrote:
I have an ARM9 platform that's running a pretty old Linux kernel (2.6.33.7 built with GCC 4.6.3). It's currently using a buildroot user-space built with that same compiler and uClibc 0.9.30. [...] Are there likely to be compatibility problems building/running a user-space (e.g. with buildroot) using a recent toolchain (gcc 12.3, uClib-ng 1.0.45) for user-space and a kernel that old?
I think it will work. Just try it out. You can chroot into your new userland first and verify if everything works before you exchange your userland. Or you statically link your applications with your new toolchain.
Thanks, I'll do that. I was hoping I could do a quick test with a pre-built toolchain like the ones provided by bootlin, but the stable one they offer was built using Linux 4.19 headers, so I can see how using that build with a 2.6 kernel might cause problems.
-- Grant