This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH][i386]Fix PR 57756
- From: Sriraman Tallam <tmsriram at google dot com>
- To: Mike Stump <mikestump at comcast dot net>
- Cc: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, Steve Ellcey <sellcey at mips dot com>, Diego Novillo <dnovillo at google dot com>, David Edelsohn <dje dot gcc at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, David Edelsohn <dje at gcc dot gnu dot org>, David Li <davidxl at google dot com>, Richard Biener <richard dot guenther at gmail dot com>
- Date: Thu, 17 Oct 2013 19:47:36 -0700
- Subject: Re: [PATCH][i386]Fix PR 57756
- Authentication-results: sourceware.org; auth=none
- References: <CAD_=9DRW+3ZrSa8mqqCdLrSHODHeKzx6uUV4EkgX6O1EQaOm9Q at mail dot gmail dot com> <1382027306 dot 2558 dot 16 dot camel at ubuntu-sellcey> <20131017165206 dot GA25894 at ibm-tiger dot the-meissners dot org> <CAAs8Hmz2iRtgbPVBqSqvU+1XHbChhzigHmXEscU6rPrbMDYysg at mail dot gmail dot com> <16677523-21ED-4FC8-B668-32233B329808 at comcast dot net> <CAAs8Hmx_NeMyj-Dd_vXuvgaRm460=kmhEZuwAOaOYUzg3Ga=1A at mail dot gmail dot com> <CAAs8HmyzU7VfAoEVUdqvqWDTSKLJzYfeP38H4+2XUayQPSFNtA at mail dot gmail dot com>
On Thu, Oct 17, 2013 at 4:51 PM, Sriraman Tallam <email@example.com> wrote:
> On Thu, Oct 17, 2013 at 3:08 PM, Sriraman Tallam <firstname.lastname@example.org> wrote:
>> On Thu, Oct 17, 2013 at 1:23 PM, Mike Stump <email@example.com> wrote:
>>> On Oct 17, 2013, at 10:23 AM, Sriraman Tallam <firstname.lastname@example.org> wrote:
>>>>> You probably want to do something similar to what I did in the powerpc.
>>>> I would need the help of target maintainers to fix it this way since
>>>> it touches every target and it would take time for me to build and
>>>> test every target.
>>> For changes that only need a compile to ensure one didn't brake a port, a configure and build of a target is 2 minutes. Over night (6 hours), you can 180 targets. Before you laugh, there are people that have done this sort of building in the past as well. The hardest part, literally, would be to come up with the list of targets.
>> Thanks. This is the list of affected targets extracted from the link
>> JBG pointed to: http://toolchain.lug-owl.de/buildbot/?limit=1500
>> Status: With the patch below, x86_64, i386 and powerpc native
>> bootstrap is fine. x86_64 has one test regression in
>> gfortran.dg/lto/pr45586 which I am looking into. Also, mips and
>> mips-64 cross-compiler builds fine.
>> I can check cross-compile builds on all the affected targets listed
>> above. If this all works, I suggest using this patch to put out the
>> current fires and proceed with individual changes to each target
>> later. Also, there are some test case failures when built in non-sse
>> configs in i386. I can get to it after unbreaking this. Is this
> I am running cross-compile builds on all the 33 failing targets. Like
> Mike said, it is only taking a few minutes per target. If there is no
> objection, I *will check in* this patch in another 2 hours provided
> all 33 targets succeed. This will atleast unblock all targets.
I can build cross-compile on 32/33 targets. I cannot build
nios2-unknown-elf alone, I get "*** Configuration nios2-unknown-elf
not supported" error. I ran "configure ... target=<blah>" and "make
all-gcc" for all the affected targets.
I have submitted this one line fix.
* opth-gen.awk: Define target_flags_explicit
--- gcc/opth-gen.awk (revision 203807)
+++ gcc/opth-gen.awk (working copy)
@@ -114,6 +114,7 @@ print "};"
print "extern struct gcc_options global_options;"
print "extern const struct gcc_options global_options_init;"
print "extern struct gcc_options global_options_set;"
+print "#define target_flags_explicit global_options_set.x_target_flags"
Known problems even after this:
* i386 test regressions, -mno--sse mode reported by Jakub and a
pr45586 fortran test failure. I am working on fixing them.
>> Index: opth-gen.awk
>> --- opth-gen.awk (revision 203779)
>> +++ opth-gen.awk (working copy)
>> @@ -114,6 +114,7 @@
>> print "extern struct gcc_options global_options;"
>> print "extern const struct gcc_options global_options_init;"
>> print "extern struct gcc_options global_options_set;"
>> +print "#define target_flags_explicit global_options_set.x_target_flags"
>> print "#endif"
>> print "#endif"
>> print ""