This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/35752] [4.3/4.4 Regression]: Combined gcc + binutils source tree doesn't bootstrap with --enable-shared



------- Comment #47 from bonzini at gnu dot org  2008-04-21 14:39 -------
Subject: Re:  [4.3/4.4 Regression]: Combined gcc + binutils
 source tree doesn't bootstrap with --enable-shared


> It is probably possible to generate the wrapper script atomically.
> But this solution can become ugly: on w32 we may generate also a wrapper
> executable.

For win32 it suffices to:

1) create wrapper executable under random name
2) create wrapper script under random name
3) move wrapper script to correct name
4) move wrapper executable to correct name

If you invert 1 and 2, the patch is a mess because you have to move 
around a lot of code. :-)  If you invert 3 and 4, the executable may 
fail because of not finding a script -- this is actually another problem 
with the current code.

(BTW, were you libtool maintainers aware of this race/these races?)

> I still don't see a convincing argument why you don't use -no-fast-install.
> If the problem is that you don't like the relink to happen at 'make install'
> time, then why don't you generate two 'ld' programs, one for installation
> and one for use uninstalled, with -no-fast-install, or even -no-install.

The problem is that you want to make a combined tree with released gcc 
and binutils, and since this is arguably a gcc bug you want the latest 
gcc without the bug to compile a combined tree with any released 
binutils version.

At worse, we could just pass --disable-fast-install in the toplevel 
configure when gcc is present.  That could be a solution for 4.3 actually.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35752


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]