[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #51 from mrs at gcc dot gnu.org 2011-08-31 17:48:05 UTC --- So, I propose we fix this now and deal with any potential fallout later. Slightly bug pushing, which I'm not terribly fond of, but, better than leaving it sit. The other fix, arguable better, would be to never use a public common for this lto data. I don't understand and know lto well enough to know what to suggest. If things can look at private symbols, maybe make it private. If it doesn't have to be storage, make it an absolute value. Add a target hook to generate it, and then do something special for darwin. Make it a hard define, which is weak. Try one's hand at COMDAT on it. When it comes to shared libraries, having any trace of common could be a deal killer anyway.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #52 from Iain Sandoe 2011-09-22 09:34:49 UTC --- Created attachment 25336 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25336 remove ranlib special casing from the darwin port so, this has taken a long time... Mike's throw-away comment about Ada took some answering ;) (well, at least we now have Ada bootstrap on powerpc again). Anyway, I have nearly finished testing this on Darwin 9 and Darwin 10 (normal bootstraps). I would appreciate some help with testing on Darwin 11 and with lto-bootstraps on Darwin 10 (since my resources are stretched to the limit right now). === In summary, for current usable toolsets that are able to bootstrap 4.6 or 4.7 on Darwin 8 .. 10, I can see no reason that we should (or need to) retain a special case for ranlib on Darwin. Since Darwin < 8 will _not_ bootstrap 4.6 with its native toolset (it needs at least odcctools from Darwin 8) then it is academic whether the special casing would still apply to an earlier toolset. I am happy for someone else to push this through if time is of concern (not able to devote much right now).
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #53 from janus at gcc dot gnu.org 2011-09-22 10:51:49 UTC --- (In reply to comment #52) > Created attachment 25336 [details] > remove ranlib special casing from the darwin port > > [...] > > I would appreciate some help with testing on Darwin 11 and with lto-bootstraps > on Darwin 10 (since my resources are stretched to the limit right now). Is this patch supposed to fix the duplicate symbol issues? On Darwin 11.1 I still get (also with the patch): ld: duplicate symbol _trim_filename in libcommon.a(diagnostic.o) and errors.o for architecture x86_64
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #54 from Iain Sandoe 2011-09-22 11:01:05 UTC --- (In reply to comment #53) > (In reply to comment #52) > > Created attachment 25336 [details] > > remove ranlib special casing from the darwin port > > > > [...] > > > > I would appreciate some help with testing on Darwin 11 and with > > lto-bootstraps > > on Darwin 10 (since my resources are stretched to the limit right now). > > Is this patch supposed to fix the duplicate symbol issues? On Darwin 11.1 I > still get (also with the patch): yes (assuming that those problems are still the result of the common symbols). > > ld: duplicate symbol _trim_filename in libcommon.a(diagnostic.o) and errors.o > for architecture x86_64 The patch is in the standard form for submission - you will need to regenerate configure and gcc/configure (or it will have essentially no effect). I use: autoconf -I. -Iconfig (in the root) and autoconf -I. -I.. -I../config (in ./gcc) you must use autoconf etc. as per the GCC pre-requisites;
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #55 from Jack Howarth 2011-09-22 15:31:13 UTC --- The proposed patch (with the necessary 177598-pr48108-WIP applied.. hint, hint) completes an lto-boostrap on darwin11 without issues for... Using built-in specs. COLLECT_GCC=gcc-fsf-4.7 COLLECT_LTO_WRAPPER=/sw/lib/gcc4.7/libexec/gcc/x86_64-apple-darwin11.2.0/4.7.0/lto-wrapper Target: x86_64-apple-darwin11.2.0 Configured with: ../gcc-4.7-20110922/configure --prefix=/sw --prefix=/sw/lib/gcc4.7 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.7/info --with-build-config=bootstrap-lto --enable-stage1-languages=c,lto --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.7 --enable-checking=yes --enable-cloog-backend=isl Thread model: posix gcc version 4.7.0 20110922 (experimental) (GCC) will post regression test later tonight to gcc-testresults.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #56 from Jack Howarth 2011-09-22 23:59:25 UTC --- Regtest results for darwin11 at http://gcc.gnu.org/ml/gcc-testresults/2011-09/msg02262.html.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #57 from Dominique d'Humieres 2011-09-23 10:16:28 UTC --- > I would appreciate some help with testing on Darwin 11 and with lto-bootstraps > on Darwin 10 (since my resources are stretched to the limit right now). See pr50492 for bootstrap with --with-build-config=bootstrap-lto which blocks any testing of the patch with it. Without this option, the results are the same as those without the patch.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 Nenad Vukicevic changed: What|Removed |Added CC||nenad at intrepid dot com --- Comment #58 from Nenad Vukicevic 2011-10-21 19:12:47 UTC --- Is there a final patch for this? Or more testing is required.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #59 from Iain Sandoe 2011-10-21 19:23:53 UTC --- (In reply to comment #58) > Is there a final patch for this? Or more testing is required. http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01245.html http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01246.html I will ping these over the weekend also you would need: http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01622.html if you want to do LTO bootstraps.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #60 from Iain Sandoe 2011-11-18 10:52:37 UTC --- Author: iains Date: Fri Nov 18 10:52:32 2011 New Revision: 181469 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181469 Log: toplevel: PR target/49992 * configure.ac: Remove ranlib special-casing for Darwin. * configure: Regenerate. gcc: PR target/49992 * configure.ac: Remove ranlib special-casing for Darwin. * configure: Regenerate. Modified: trunk/ChangeLog trunk/configure trunk/configure.ac trunk/gcc/ChangeLog trunk/gcc/configure trunk/gcc/configure.ac
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #61 from Iain Sandoe 2011-11-18 10:54:24 UTC --- Author: iains Date: Fri Nov 18 10:54:21 2011 New Revision: 181470 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181470 Log: gcc/ada: 2011-11-18 Tristan Gingold Iain Sandoe PR target/49992 * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove. * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing for Darwin. Modified: trunk/gcc/ada/ChangeLog trunk/gcc/ada/gcc-interface/Makefile.in trunk/gcc/ada/mlib-tgt-specific-darwin.adb
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #62 from Iain Sandoe 2011-11-18 11:45:48 UTC --- Author: iains Date: Fri Nov 18 11:45:44 2011 New Revision: 181471 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181471 Log: toplevel: PR target/49992 * configure.ac: Remove ranlib special-casing for Darwin. * configure: Regenerate. gcc: PR target/49992 * configure.ac: Remove ranlib special-casing for Darwin. * configure: Regenerate. Modified: branches/gcc-4_6-branch/ChangeLog branches/gcc-4_6-branch/configure branches/gcc-4_6-branch/configure.ac branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/configure branches/gcc-4_6-branch/gcc/configure.ac
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #63 from Iain Sandoe 2011-11-18 11:47:01 UTC --- Author: iains Date: Fri Nov 18 11:46:58 2011 New Revision: 181472 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181472 Log: gcc/ada: 2011-11-18 Tristan Gingold Iain Sandoe PR target/49992 * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove. * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing for Darwin. Modified: branches/gcc-4_6-branch/gcc/ada/ChangeLog branches/gcc-4_6-branch/gcc/ada/gcc-interface/Makefile.in branches/gcc-4_6-branch/gcc/ada/mlib-tgt-specific-darwin.adb
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 Iain Sandoe changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Comment #64 from Iain Sandoe 2011-11-18 11:48:54 UTC --- fixed, although it might be nice one day if we could rationalize the error interfaces so that it is not necessary to link both sets for the plugin generator files.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 Iain Sandoe changed: What|Removed |Added Component|lto |target --- Comment #43 from Iain Sandoe 2011-08-11 13:48:56 UTC --- (In reply to comment #42) > Ick. Oh well. Ick, indeed this is (yet another) reason to have our own tool-chain. >Ok, how about outright removing for all darwin releases the -c > setting? I think the only thing this could break was fortran. Darwin9 (including java and fortran) are unaffected by removing the '-c' (no surprise really, since it correctly ignores common symbols in the archive toc). I'd like to check Darwin 8 before making the change global - and my ppc machine is busy - so let's hang fire for a couple of days. As things stand, Darwin 7 is only capable of building the c compiler using XCode 1.5 toolset [c++, fortran etc. require section support not available in XCode 1.5]. I did manage to build trunk of 4.6 on Darwin 7 by using odcctools-98 (plus some config header mods). Thus, if Darwin 8 works without regression, then I'd say that we've realistically covered all bases that apply to Darwin versions that are capable of building trunk (since any earlier version would have to use odcctools). > I have no clue about what to do for Ada. :-( I'll pre-approve the solution > you two decide > on. It's on my TODO to bootstrap a version of ADA - I guess that means doing a canadian from linux - likely to be a bundle of laughs (unless you know of a downloadable ada binary for Darwin 9 or 10 at least). Changing the topic to target - although there's a latent issue with the two diagnostic implemenations, (and I will post comment 6, when the reg-tests are done on linux) the actual bug is a target one.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #44 from Jack Howarth 2011-08-11 14:28:31 UTC --- (In reply to comment #42) > Ick. Oh well. Ok, how about outright removing for all darwin releases the -c > setting? I think the only thing this could break was fortran. I have no clue > about what to do for Ada. :-( I'll pre-approve the solution you two decide > on. I see no evidence of breakage on fortran... http://gcc.gnu.org/ml/gcc-testresults/2011-08/msg01198.html Note that... XPASS: gfortran.dg/graphite/interchange-1.f -O scan-tree-dump-times graphite "will be interchanged" 1 is occurring on other targets.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #45 from Mike Stump 2011-08-11 16:32:50 UTC --- On Aug 11, 2011, at 6:48 AM, iains at gcc dot gnu.org wrote: > It's on my TODO to bootstrap a version of ADA - I guess that means doing a > canadian from linux - likely to be a bundle of laughs (unless you know of a > downloadable ada binary for Darwin 9 or 10 at least). Jack or the Ada folks might have a pointer. google turns up http://aadl.enst.fr/ocarina/releases/, if you have ppc or rosetta.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #46 from Jack Howarth 2011-08-11 17:19:14 UTC --- (In reply to comment #45) > Jack or the Ada folks might have a pointer. google turns up > http://aadl.enst.fr/ocarina/releases/, if you have ppc or rosetta. I've never added ada to the language set for the fink gcc4x packages because I object to the concept of having to add an external dependency on a prebuilt ada compiler in order to bootstrap FSF gcc.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #47 from Jack Howarth 2011-08-11 23:06:45 UTC --- (In reply to comment #43) > Changing the topic to target - although there's a latent issue with the two > diagnostic implemenations, (and I will post comment 6, when the reg-tests are > done on linux) the actual bug is a target one. Iain, Note that error posted in Comment 41. There are additional duplicated symbols in errors.c that conflict with those in diagnostic.c (in that case fancy_abort). So if you intend to proceed with the patch in comment 6, it should be expanded to address all the duplicated symbols which can potentially conflict. Alternative, we can simply drop the use of '-c' with ranlib and be done with it.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #48 from Jack Howarth 2011-08-12 00:51:20 UTC --- Patch posted at http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01083.html.
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #49 from Iain Sandoe 2011-08-12 08:51:32 UTC --- (In reply to comment #47) > (In reply to comment #43) > > > Changing the topic to target - although there's a latent issue with the two > > diagnostic implemenations, (and I will post comment 6, when the reg-tests > > are > > done on linux) the actual bug is a target one. > Note that error posted in Comment 41. There are additional duplicated > symbols in errors.c that conflict with those in diagnostic.c (in that case > fancy_abort). So if you intend to proceed with the patch in comment 6, it > should be expanded to address all the duplicated symbols which can potentially > conflict. comment 6 does not rename the duplicated symbols. In fact what it does is to rename "fatal" = > "fatal_error" in the gen* and errors.c, so that it is not necessary to link errors.o when libcommon.a is available. Looking at comment 41, it doesn't look as if you had applied comment 6 when the test was carried out - since the link line includes both errors.o and libcommon.a. >Alternative, we can simply drop the use of '-c' with ranlib and be > done with it. let's complete the testing on darwin 8 - and, if that is OK, I'll produce a patch to remove the special casing of ranlib on darwin entirely (as suggested by Mike).
[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992 --- Comment #50 from Iain Sandoe 2011-08-14 08:10:32 UTC --- (In reply to comment #42) > I have no clue about what to do for Ada. Ada is unaffected on i686-darwin9 ... ... it won't bootstrap on powerpc-darwin9 for 4.6 or trunk (investigating). have to see what can be done to bootstrap on darwin10. === powerpc-darwin9-X-darwin8 using cctools 622 is also unaffected. (native bootstrap on darwin8 will have to wait until the investigation of ada bootstrap issue is complete).