Control: forwarded -1 https://github.com/NixOS/patchelf/issues/594

On Saturday, April 19 2025, I wrote:

> On Saturday, April 19 2025, I wrote:
>
> I'll keep debugging it.

And so I did.

First of all, I've just uploaded patchelf 0.18.0-1.4 which will skip the
failing test on mips64el, since I haven't been able to find a proper
fix.  But I think I have a few clues about what might be happening, and
I'll report an upstream bug to let them know.

If we look at the build logs for the FTBFS, we see the following
excerpt:

--8<---------------cut here---------------start------------->8---
shifting new PT_LOAD segment by 65536 bytes to work around a Linux kernel bug
rewriting section '.note.gnu.build-id' from offset 0x2a8 (size 36) to offset 
0x60000 (size 36)
rewriting section '.interp' from offset 0x2cc (size 15) to offset 0x60028 (size 
15)
rewriting section '.MIPS.abiflags' from offset 0x2e0 (size 24) to offset 
0x60038 (size 24)
rewriting section '.MIPS.xhash' from offset 0x2f8 (size 22228) to offset 
0x60050 (size 22228)
rewriting section '.dynstr' from offset 0x119e8 (size 11085) to offset 0x65728 
(size 51978)
--8<---------------cut here---------------end--------------->8---

Note the presence of the .MIPS.xhash section.

Meanwhile, on eberlin, we see:

--8<---------------cut here---------------start------------->8---
rewriting section '.MIPS.abiflags' from offset 0x200 (size 24) to offset 
0x60000 (size 24)
rewriting section '.MIPS.options' from offset 0x218 (size 200) to offset 
0x60018 (size 200)
rewriting section '.dynamic' from offset 0x308 (size 480) to offset 0x600e0 
(size 496)
rewriting section '.dynstr' from offset 0xf078 (size 10978) to offset 0x602d0 
(size 10992)
--8<---------------cut here---------------end--------------->8---

Note the absence of .MIPS.xhash.

This pointed me to something that either glibc or Linux might be doing
here.  Both systems are running the same glibc version (2.47-1), but
while the official builder is running Linux 6.1.0-33-loongson, eberlin
is running Linux 4.19.0-21-loongson-3.

I believe this extra section might be confusing patchelf, but I wasn't
able to debug further because I couldn't find another mips64el machine
with a recent Linux.  I could use QEMU for it, but this would take even
longer and unfortunately I don't have much time now.

Anyway, the build should now pass and the package.  I have also
submitted an upstream issue here:

  https://github.com/NixOS/patchelf/issues/594

Let's hope they have more luck when tackling this issue.

Cheers,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
https://sergiodj.net/

Attachment: signature.asc
Description: PGP signature

Reply via email to