This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] PR ld/21402: Skip PIE indirect5 and indirect6 tests on i386
- From: Alan Modra <amodra at gmail dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: binutils at sourceware dot org
- Date: Fri, 21 Apr 2017 10:38:58 +0930
- Subject: Re: [PATCH] PR ld/21402: Skip PIE indirect5 and indirect6 tests on i386
- Authentication-results: sourceware.org; auth=none
- References: <20170420194144.GA12307@intel.com>
On Thu, Apr 20, 2017 at 12:41:45PM -0700, H.J. Lu wrote:
> On i386, since GOT reference is needed to access global symbols in PIE,
> those symbols are made dynamic. Crash happens when there is a reference
> to the same global symbol with a different symbol type in a shared
> object. Since mixing different types of the same symbol doesn't work in
> general, this patch skips those tests on i386 as well as compiles non-PIE
> indirect5 and indirect6 tests with $NOPIE_LDFLAGS and $NOPIE_CFLAGS.
> I am checking in this patch.
This is wrong. i386 and other targets do need to handle different
symbol types. The classic example is an executable defining a
variable called "time" or "times", which conflicts with the libc
functions of the same name.
Please revert the xfail. It sets the wrong precedent for other target
Australia Development Lab, IBM