-
-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test regression in 0.18.0: repeated-updates.sh, replace-add-needed.sh #515
Comments
I should probably double check it tomorrow when I'm not half asleep, but I wondered whether reverting #475 would also help fix the tests for m68k, and it does! In that case, it was just |
Certainly, applying #510 and running Please let me know the result of the following command. How many is the p_align of the LOAD segment?
As noted in the Where "the end of the file" means a position after any section that existed before patchelf was applied. In If #510 is not applied, patchelf aligns the in-file offset of the new section (and the new LOAD segment) with pagesize (0x1000). Thus, if the updated section is short, each time patchelf is run, the size of the output file will increased by 0x1000. However, as explained in #510, glibc before 2.35 has a bug that requires aligning in-file offset with p_align to work properly. When #510 is applied, each time patchelf is run, the size of the output file is increased by p_align. Since To prevent the file from becoming huge, it may be possible to take measures such as placing the new section where the old (overwritten) section was when the section is rewritten. But to do so, we will have to overturn the premise of |
Since this seems to affect multiple architectures, I ran this on some of my test machines. Affected: m68k (per Chewi above), alpha, sparc64, sparc 32-bit Unaffected: arm64, arm 32-bit, ppc64le, ppc64, ppc 32-bit, ia64, mips64, mips 32-bit, riscv64 |
In m68k's case, you have to align to 16-bit, although we are strongly considering building the whole system with |
Debian has applied the following very simple patch to solve/work around the issue on mips64el:
|
Between 0.17.2 and 0.18.0, we have one test regression and one new test that does not work on sparc64. I bisected this to #475 and confirmed that applying a revert on top of 0.18.0 successfully passes all tests - both the existing
replace-add-needed.sh
and the newrepeated-updates.sh
.As part of investigating this, I looked into #492 and #510. Applying the latter PR causes
replace-add-needed.sh
to pass, butrepeated-updates.sh
to get stuck in some sort of I/O loop, pegging the disk.I now have a proper onboarding flow for my exotic architecture testing environment. Details are available here - if you want access, just mention and I can provide free shell access on real hardware. @Mic92 still has access, but username has been changed to
g-mic92
.Downstream Gentoo bug
The text was updated successfully, but these errors were encountered: