Failed to build rescue with gcc 4.9
emaste at freebsd.org
Fri Apr 3 20:39:54 UTC 2015
On 3 April 2015 at 13:02, Warner Losh <imp at bsdimp.com> wrote:
> That shows that something in the list is needed. Likely only crunchhide.
> It doesn’t tell us why we need it, or when we started needing it, or what
> other conditions we might need it. This information is critical to document
> so we know when we can stop doing it in the future. I’m extremely reluctant
> to commit this until we know these details.
Yes, it's crunchide. It was broken prior to r277259:
| crunchide: Correct 64-bit section header offset
| For 64-bit binaries the Elf_Ehdr e_shoff is at offset 40, not 44.
| Instead of using an incorrect hardcoded offset, let the compiler
| figure it out for us with offsetof().
| Differential Revision: https://reviews.freebsd.org/D1543
It's not completely clear to me why we did not encounter this before;
a comment before the erroneous write states:
* update the offset of section header table in elf
* header if needed.
so I presume something about the object file created by gcc 4.9 causes
this code to be executed, while builds using the in-tree compiler did
More information about the freebsd-testing