Failed to build rescue with gcc 4.9

Ed Maste 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
not.


More information about the freebsd-toolchain mailing list