Danny Milosavljevic writes: Hey Danny,
> On Thu, 18 Feb 2021 22:52:57 +0100 > Jan Nieuwenhuizen <[email protected]> wrote: > >> # CONFIG_OABI_COMPAT is not set >> >> ...certainly a lot easier to find when you know what you're looking >> for. >> >> @Danny: I'm wondering if we could (should?) try a kernel with OABI >> compatibility? I suppose it would be better to somehow target >> EABI...but I'm not sure that's possible with glibc-2.2.5 / gcc-2.95.3. >> Interesting choices here! > > OABI is older than year 2000, and the kernel docs say not to enable it. > It also breaks seccomp. > I doubt that people have it enabled, and thus would have trouble reproducing > our stuff. Okay, I agree; better to not go this route if we can avoid it. > Since this only affects the syscall interface and since also our > ELF headers specify EABI, I would just change the syscalls to EABI: > Just put the syscall number into r7 and use svc 0. Oh, if that's all we should be able to find and fix it? > I'd do it myself but I don't see what libc the gcc 2.95 we built has been > using. > Is it ours? > If so, how come it then uses svc 90000... in the first place? > We don't do that. > > Or is it using glibc ? Not it's not ours, it's gcc-core-mesboot0-2.95.3 binaries built against glibc-mesboot0-2.2.5. So then it's probably glibc-2.2.5 that is using/built for OABI. I didn't know of OABI before, but did look for EABI options and didn't find any in those early gcc/glibc's... We'll have to see if that glibc can be built for OABI, possibly by patching it. If we need to upgrade glibc then that may be an "interesting" undertaking... >From Vagrant's link, I found that Lenny (5.0) is the first armel (EABI) release, it uses glibc-2.7, gcc-4.1, binutils-2.18. > How do I build that gcc on novena? Where would the syscall headers that > I could change be? On latest wip-arm-bootstrap 3c78496c32 DRAFT gnu: mes: Update to 0.22-124-33cf5ea5e8. then building ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gcc-mesboot0)' will be using the gcc,glibc,binutils that's broken and configure will fail on running a conftest. You can get the PATH and other environment settings from that build. I have those settings also in a script: novena:~janneke/src/guix/gcc-mesboot.sh is a reproducer. Greetings, Janneke -- Jan Nieuwenhuizen <[email protected]> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
