Date: Tue, 11 Jan 2011 12:58:36 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Kostik Belousov <kostikbel@gmail.com> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r217260 - projects/binutils-2.17/contrib/binutils/ld/emultempl Message-ID: <4D2C45EC.8080305@FreeBSD.org> In-Reply-To: <20110111114940.GG2518@deviant.kiev.zoral.com.ua> References: <201101111048.p0BAmowJ017937@svn.freebsd.org> <20110111114940.GG2518@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-01-11 12:49, Kostik Belousov wrote: >> - && ((iself&& sh_type == SHT_NOTE) >> - || (!iself&& CONST_STRNEQ (secname, ".note")))) >> + && CONST_STRNEQ (secname, ".note")) > I am not sure, but it looks likely that (iself&& sh_type == SHT_NOTE) > part of condition better be kept. Well, this specific test is what causes the .note section to end up somewhere else than behind .interp. I arrived at this by bisecting, but the precise mechanism behind this failure is not clear to me yet. For some reason, at that point, iself is always nonzero, but sh_type is *not* SHT_NOTE, even for .note sections. So then ld decides to put the .note section somewhere far down the list of sections, increasing the chance it will fall out of the first page of the executable. This particular test was changed to fix binutils PR ld/1467, in commit: http://sourceware.org/git/?p=binutils.git;a=commit;h=7f55fa5745fbe04b91e1fbd668d102f3166e03d8 However, the PR seems to be fixing a rather hypothetical situation, which we seem to have never encountered, as the 'issue' had always been in our binutils before.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D2C45EC.8080305>