This is the mail archive of the
binutils@sourceware.org
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
maintainers.
--
Alan Modra
Australia Development Lab, IBM