# 03:58:10 |
cpackham |
quits : Ping timeout: 276 seconds |
# 18:37:23 |
smoothdev |
joins #crosstool-ng |
# 18:40:00 |
smoothdev |
Hello, thanks for crosstool-ng, it is amazing! Iâm trying to sort an issue after several tries. I want to update a vendor arm toolchain, which is currently gcc 3.3.2, glibc 2.2.4, linux 2.6.14 |
# 18:40:50 |
smoothdev |
I was able to make a first attempt for none (not linux) toolchain with latest gcc 13.2, and compile a kernel module of my own, this is already amazing. |
# 18:41:40 |
smoothdev |
My current issue is trying to make the toolchain for linux, so I can compile standalone programs, and Iâm facing main issue with glibc. |
# 18:43:43 |
smoothdev |
last glibc which supports <= kernel 2.6.14 seems to be 2.16, I had issues with getting the toolchain built for either default one selected by crosstool-ng, or me trying to fix it to 2.2.4 |
# 18:44:39 |
smoothdev |
so with trying glibc 2.16 (from git tag glibc 2.16.90), Iâm facing [ERROR] checking sysdep dirs... configure: error: The arm is not supported. |
# 18:46:49 |
smoothdev |
Also, with glibc 2.2.4, crosstool-ng failed to find extensions nltp and ports, so I think this is currently not supported |
# 18:47:12 |
smoothdev |
with glibc du jour, it fails due to wanting linux kernel >= 3.2 |
# 18:49:17 |
smoothdev |
so any guidance or things I could try, to get past this would be helpful. Iâm not familiar enough to consider updating the image on the hardware, so I think for now, Iâm constrained with kernel and glibc as it is set. |
# 19:06:23 |
milkylainen |
Glibc 2.2.4? wow. Isn't that like 20 years something? |
# 19:06:57 |
milkylainen |
I don't think you can expect a modern ct-ng to help you with that. |
# 19:07:24 |
milkylainen |
smoothdev: I'd say your best bet is either doing it manually or using a very old ct-ng release. |
# 19:08:40 |
milkylainen |
smoothdev: probably need an old env too. If you don't intend to fix all env related issues. |
# 19:24:20 |
milkylainen |
22 years ago. |
# 19:40:54 |
cpackham |
joins #crosstool-ng |
# 19:48:51 |
smoothdev |
@milkylainen, I have to start somewhere :) to do it manually, Iâm at several tries I did in the past, just to compile something like gcc 3.3.2 or the given glibc, and didnât succeed, while with crosstool-ng, I actually was able to get a recent compiler that already works for my kernel modules. Iâd also like to contribute to crosstool-ng with eventual patches I could add. |
# 19:49:20 |
smoothdev |
Is there a specific reason to believe an old version of ct-ng would work, if I need to build recent compiler? |
# 19:51:09 |
smoothdev |
For example, there is one patch I need to do in the 2.6 kernel to accept GCC > 4, could I get any guidance how to do it properly (through patches in contrib)? |
# 20:25:48 |
milkylainen |
smoothdev: Maybe I misunderstood. What are you targeting with what versions? |
# 20:26:28 |
milkylainen |
In general, you won't get a new CC to build older code without a lot of headache and fixing. |
# 20:33:35 |
milkylainen |
older as in 22 years of diff. |
# 21:00:45 |
smoothdev |
Iâm targetting hardware from Artila, called M508 (M501 series), I can already use new compiler, after fixing my kernel headers for the âvermagicâ check on GCC version. |
# 21:01:58 |
smoothdev |
Iâd like to be able to build userspace binaries with the recent compiler as it seems to work well for kernel module already, crosstool-ng really seems to make it easy to try the config, but I think I need to look at glibc in particular. |
# 21:02:59 |
smoothdev |
I also intend to bring support for rust (nothing to do with crosstool-ng, but it also ties into libc support so I can link properly) |
# 21:05:19 |
milkylainen |
So. An ARMv4t. |
# 21:06:24 |
milkylainen |
Using a glibc 2.2.4? With kernel something? |
# 21:09:21 |
smoothdev |
glibc 2.2.4, linux kernel 2.6.14, gcc 3.3.2 is the vendor supplied toolchain |
# 21:09:50 |
smoothdev |
Iâm wondering if crosstool-ng has some form of support where Iâd basically point to the sysinclude & libc binaries to make the new gcc? |
# 21:12:42 |
smoothdev |
I donât even understand properly what kind of things gcc needs to be able to make a linux-gnueabi distribution in my context, does it need to compile glibc for the machine hosting the compiler first or just needs to generate the binaries matching the target? |
# 21:15:02 |
smoothdev |
Iâm running crosstool-ng on debian 12 aarch64, but I donât think it matters, I tried in docker (macos host) but it was giving weird errors while unpacking glibc tarball, I figured it works better on vm than docker. |
# 21:31:47 |
cpackham |
quits : Ping timeout: 264 seconds |
# 21:35:06 |
smoothdev |
Iâm trying with glibc 2.23 (last before it switches to 3.2 kernel) and it seems to build, I donât know what will be the implications for the binaries Iâll compile though, but it is same trade off than when I tried glibc 2.16. |
# 21:43:40 |
zagura |
The setup sounds quite ancient. Anyway, good luck with building it. |
# 21:43:42 |
zagura |
:) |
# 21:45:13 |
wilsonjholmes |
quits : Read error: Connection reset by peer |
# 21:45:37 |
wilsonjholmes |
joins #crosstool-ng |
# 21:46:03 |
wilsonjholmes |
quits : Write error: Connection reset by peer |
# 21:46:44 |
wilsonjholmes |
joins #crosstool-ng |
# 22:04:39 |
smoothdev |
somehow, the compiler generates binaries that refer to ld-linux.so.3 and not ld-linux.so.2 so it is not working properly, not sure if there is a work around, also my binary has GLIBC2.4 stuff in it (expected since I made the toolchain with glibc 2.16, last before switch to 3.2 kernel) |
# 22:34:48 |
cpackham |
joins #crosstool-ng |