H. J. Lu - Re: PATCH: bootstrap/17684: /usr/ccs/bin/ld: Can't create libgcc_s.sl (original) (raw)

This is the mail archive of the gcc-patches@gcc.gnu.orgmailing 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]

On Mon, Sep 27, 2004 at 05:32:52PM -0700, H. J. Lu wrote:

On Mon, Sep 27, 2004 at 05:20:37PM -0700, H. J. Lu wrote:

On Tue, Sep 28, 2004 at 01:17:02AM +0200, Andreas Schwab wrote:

"H. J. Lu" hjl@lucon.org writes:

--- gcc/config/alpha/t-osf4.busy 2003-07-31 07:52:50.000000000 -0700 +++ gcc/config/alpha/t-osf4 2004-09-27 16:01:37.000000000 -0700 @@ -15,9 +15,13 @@ SHLIB_OBJS = @shlib_objs@ SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,-hidden_symbol,pthread* -Wl,-hidden_symbol,_pthread*
-Wl,-hidden_symbol,sched_get
* -Wl,-hidden_symbol,sched_yield
- -Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,$(SHLIB_SONAME)
+ -Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,$(SHLIB_SONAME).tmp
-o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) -lc &&
- rm -f $(SHLIB_SONAME) &&
+ rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIBUNWIND_NAME) ]; then
+ mv $(SHLIBUNWIND_NAME)
+ (SHLIBUNWINDNAME).‘basenamet(SHLIBUNWIND_NAME).basename t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.05764em;">S</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mord mathnormal">L</span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.05017em;">B</span><span class="mord mathnormal" style="margin-right:0.10903em;">U</span><span class="mord mathnormal" style="margin-right:0.10903em;">N</span><span class="mord mathnormal" style="margin-right:0.13889em;">W</span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.10903em;">N</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">D</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.10903em;">N</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.05764em;">ME</span><span class="mclose">)</span><span class="mord">.‘</span><span class="mord mathnormal">ba</span><span class="mord mathnormal">se</span><span class="mord mathnormal">nam</span><span class="mord mathnormal">e</span><span class="mord mathnormal">t</span></span></span></span>(STAGE_PREFIX); fi && \

You probably need to add "else true;", otherwise some old shells may return a spurious failure.

Sure. I also fixed a few typos.

Here is the one which should work.

Here is another update. We should treat libunwind.so.7 the same as libgcc_s.so.1.

H.J.

2004-09-28 H.J. Lu hongjiu.lu@intel.com

PR bootstrap/17684
* Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
(stage1-start): Remove and copy libunwind.a and
libunwind*$(SHLIB_EXT) instead of libunwind*.
(stage2-start): Likewise.
(stage3-start): Likewise.
(stage4-start): Likewise.
(stageprofile-start): Likewise.
(stagefeedback-start): Likewise.

* config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
the shared library to be created and don't remove the existing
shared library.
* config/arm/t-netbsd (SHLIB_LINK): Likewise.
* config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
* config/sh/t-linux (SHLIB_LINK): Likewise.
* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
* config/t-slibgcc-sld (SHLIB_LINK): Likewise.

* mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
files.

--- gcc/Makefile.in.busy 2004-09-28 08:43:31.000000000 -0700 +++ gcc/Makefile.in 2004-09-28 08:43:31.000000000 -0700 @@ -2801,7 +2801,7 @@ mostlyclean: lang.mostlyclean

that don't exist in the distribution.

clean: mostlyclean lang.clean -rm -f libgcc.a libgcc_eh.a libgcov.a - -rm -f libgcc_s$(SHLIB_EXT) libgcc_s$(SHLIB_EXT).1 + -rm -f libgcc_s$(SHLIB_EXT) libgcc_s$(SHLIB_EXT).1 libgcc_s$(SHLIB_EXT).1.stage? -rm -f libunwind* -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h -rm -f cs-* @@ -3629,7 +3629,7 @@ stage1-start: -if [ -f collect-ld$(exeext) ] ; then (cd stage1 && (LNS)../collect−ld(LN_S) ../collect-ld(LNS)../collectld(exeext) .) ; else true ; fi -rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a -rm -f stage1/libgcc_s*$(SHLIB_EXT) - -rm -f stage1/libunwind* + -rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT) -cp libgcc.a stage1 -$(RANLIB_FOR_TARGET) stage1/libgcc.a -cp libgcov.a stage1 @@ -3638,7 +3638,7 @@ stage1-start: $(RANLIB_FOR_TARGET) stage1/libgcc_eh.a;
fi -cp libgcc_s*$(SHLIB_EXT) stage1 - -cp libunwind* stage1 + -cp libunwind.a libunwind*$(SHLIB_EXT) stage1 -for f in .. (EXTRAMULTILIBPARTS);doif[x(EXTRA_MULTILIB_PARTS); do if [ x(EXTRAMULTILIBPARTS);doif[x${f} != x.. ]; then
cp stage1/$${f} . ;
else true;
@@ -3666,7 +3666,7 @@ stage2-start: -if [ -f collect-ld$(exeext) ] ; then (cd stage2 && (LNS)../collect−ld(LN_S) ../collect-ld(LNS)../collectld(exeext) .) ; else true ; fi -rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a -rm -f stage2/libgcc_s*$(SHLIB_EXT) - -rm -f stage2/libunwind* + -rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT) -cp libgcc.a stage2 -$(RANLIB_FOR_TARGET) stage2/libgcc.a -cp libgcov.a stage2 @@ -3675,7 +3675,7 @@ stage2-start: $(RANLIB_FOR_TARGET) stage2/libgcc_eh.a;
fi -cp libgcc_s*$(SHLIB_EXT) stage2 - -cp libunwind* stage2 + -cp libunwind.a libunwind*$(SHLIB_EXT) stage2 -for f in .. (EXTRAMULTILIBPARTS);doif[x(EXTRA_MULTILIB_PARTS); do if [ x(EXTRAMULTILIBPARTS);doif[x${f} != x.. ]; then
cp stage2/$${f} . ;
else true;
@@ -3699,7 +3699,7 @@ stage3-start: -if [ -f collect-ld$(exeext) ] ; then (cd stage3 && (LNS)../collect−ld(LN_S) ../collect-ld(LNS)../collectld(exeext) .) ; else true ; fi -rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a -rm -f stage3/libgcc_s*$(SHLIB_EXT) - -rm -f stage3/libunwind* + -rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT) -cp libgcc.a stage3 -$(RANLIB_FOR_TARGET) stage3/libgcc.a -cp libgcov.a stage3 @@ -3708,7 +3708,7 @@ stage3-start: $(RANLIB_FOR_TARGET) stage3/libgcc_eh.a;
fi -cp libgcc_s*$(SHLIB_EXT) stage3 - -cp libunwind* stage3 + -cp libunwind.a libunwind*$(SHLIB_EXT) stage3 -for f in .. (EXTRAMULTILIBPARTS);doif[x(EXTRA_MULTILIB_PARTS); do if [ x(EXTRAMULTILIBPARTS);doif[x${f} != x.. ]; then
cp stage3/$${f} . ;
else true;
@@ -3732,7 +3732,7 @@ stage4-start: -if [ -f collect-ld$(exeext) ] ; then (cd stage4 && (LNS)../collect−ld(LN_S) ../collect-ld(LNS)../collectld(exeext) .) ; else true ; fi -rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a -rm -f stage4/libgcc_s*$(SHLIB_EXT) - -rm -f stage4/libunwind* + -rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT) -cp libgcc.a stage4 -$(RANLIB_FOR_TARGET) stage4/libgcc.a -cp libgcov.a stage4 @@ -3741,7 +3741,7 @@ stage4-start: $(RANLIB_FOR_TARGET) stage4/libgcc_eh.a;
fi -cp libgcc_s*$(SHLIB_EXT) stage4 - -cp libunwind* stage4 + -cp libunwind.a libunwind*$(SHLIB_EXT) stage4 -for f in .. (EXTRAMULTILIBPARTS);doif[x(EXTRA_MULTILIB_PARTS); do if [ x(EXTRAMULTILIBPARTS);doif[x${f} != x.. ]; then
cp stage4/$${f} . ;
else true;
@@ -3763,7 +3763,7 @@ stageprofile-start: -if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && (LNS)../collect−ld(LN_S) ../collect-ld(LNS)../collectld(exeext) .) ; else true ; fi -rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a -rm -f stageprofile/libgcc_s*$(SHLIB_EXT) - -rm -f stageprofile/libunwind* + -rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT) -cp libgcc.a stageprofile -$(RANLIB_FOR_TARGET) stageprofile/libgcc.a -cp libgcov.a stageprofile @@ -3772,7 +3772,7 @@ stageprofile-start: $(RANLIB_FOR_TARGET) stageprofile/libgcc_eh.a;
fi -cp libgcc_s*$(SHLIB_EXT) stageprofile - -cp libunwind* stageprofile + -cp libunwind.a libunwind*$(SHLIB_EXT) stageprofile -for f in .. (EXTRAMULTILIBPARTS);doif[x(EXTRA_MULTILIB_PARTS); do if [ x(EXTRAMULTILIBPARTS);doif[x${f} != x.. ]; then
cp stageprofile/$${f} . ;
else true;
@@ -3794,7 +3794,7 @@ stagefeedback-start: -if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && (LNS)../collect−ld(LN_S) ../collect-ld(LNS)../collectld(exeext) .) ; else true ; fi -rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a -rm -f stagefeedback/libgcc_s*$(SHLIB_EXT) - -rm -f stagefeedback/libunwind* + -rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT) -rm -f .da -for dir in fixinc po testsuite $(SUBDIRS);
do
@@ -3808,7 +3808,7 @@ stagefeedback-start: $(RANLIB_FOR_TARGET) stagefeedback/libgcc_eh.a;
fi -cp libgcc_s
$(SHLIB_EXT) stagefeedback - -cp libunwind* stagefeedback + -cp libunwind.a libunwind*$(SHLIB_EXT) stagefeedback -for f in .. (EXTRAMULTILIBPARTS);doif[x(EXTRA_MULTILIB_PARTS); do if [ x(EXTRAMULTILIBPARTS);doif[x${f} != x.. ]; then
cp stagefeedback/$${f} . ;
else true;
--- gcc/config/alpha/t-osf4.busy 2003-07-31 07:52:50.000000000 -0700 +++ gcc/config/alpha/t-osf4 2004-09-28 08:43:31.000000000 -0700 @@ -15,9 +15,13 @@ SHLIB_OBJS = @shlib_objs@ SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,-hidden_symbol,pthread* -Wl,-hidden_symbol,_pthread*
-Wl,-hidden_symbol,sched_get
* -Wl,-hidden_symbol,sched_yield
- -Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,$(SHLIB_SONAME)
+ -Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,$(SHLIB_SONAME).tmp
-o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SONAME) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SONAME)

$(slibdir) double quoted to protect it from expansion while building

libgcc.mk. We want this delayed until actual install time.

--- gcc/config/arm/t-netbsd.busy 2003-09-25 09:02:43.000000000 -0700 +++ gcc/config/arm/t-netbsd 2004-09-28 08:43:31.000000000 -0700 @@ -11,8 +11,12 @@ SHLIB_OBJS = @shlib_objs@

SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,-soname,$(SHLIB_SONAME)
- -o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) -lc &&
+ -o (SHLIBNAME).tmp@multilibflags@(SHLIB_NAME).tmp @multilib_flags@ (SHLIBNAME).tmp@multilibflags@(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SONAME) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SONAME)

$(slibdir) double quoted to protect it from expansion while building

libgcc.mk. We want this delayed until actual install time.

--- gcc/config/mips/t-iris5-6.busy 2004-02-23 13:24:44.000000000 -0800 +++ gcc/config/mips/t-iris5-6 2004-09-28 08:43:31.000000000 -0700 @@ -9,8 +9,12 @@ SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual

SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,-soname,$(SHLIB_SONAME)
- -o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) -lc &&
+ -o (SHLIBNAME).tmp@multilibflags@(SHLIB_NAME).tmp @multilib_flags@ (SHLIBNAME).tmp@multilibflags@(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SOLINK)

??? Irix 6.5 seems to eat the option fine (if we somehow remove the

-hidden_symbol option, which is documented to be ignored in conjunction

--- gcc/config/pa/t-hpux-shlib.busy 2003-03-03 12:04:07.000000000 -0800 +++ gcc/config/pa/t-hpux-shlib 2004-09-28 08:43:32.000000000 -0700 @@ -5,8 +5,12 @@ SHLIB_SONAME = @shlib_base_name@.1 SHLIB_OBJS = @shlib_objs@

SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
- -o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) -lc &&
+ -o (SHLIBNAME).tmp@multilibflags@(SHLIB_NAME).tmp @multilib_flags@ (SHLIBNAME).tmp@multilibflags@(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SONAME) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SONAME)

--- gcc/config/sh/t-linux.busy 2004-05-28 11:26:53.000000000 -0700 +++ gcc/config/sh/t-linux 2004-09-28 08:43:32.000000000 -0700 @@ -22,8 +22,12 @@ SHLIB_MAPFILES = $(srcdir)/config/sh/li SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,--soname=$(SHLIB_SONAME)
-Wl,--version-script=$(SHLIB_MAP)
- -o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) $(SHLIB_LC) &&
+ -o (SHLIBNAME).tmp@multilibflags@(SHLIB_NAME).tmp @multilib_flags@ (SHLIBNAME).tmp@multilibflags@(SHLIB_OBJS) $(SHLIB_LC) &&
rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(echo "/* GNU ld script";
echo " Use the shared library, but some functions are only in";
echo " the static library. */";
--- gcc/config/t-libunwind-elf.busy 2004-09-08 08:16:15.000000000 -0700 +++ gcc/config/t-libunwind-elf 2004-09-28 08:43:32.000000000 -0700 @@ -10,9 +10,14 @@ SHLIBUNWIND_NAME = @shlib_dir@@shlib_so_

SHLIBUNWIND_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared
-nodefaultlibs -Wl,-h,$(SHLIBUNWIND_SONAME)
- -Wl,-z,text -Wl,-z,defs
- -o (SHLIBUNWINDNAME)@multilibflags@(SHLIBUNWIND_NAME) @multilib_flags@ (SHLIBUNWINDNAME)@multilibflags@(SHLIB_OBJS) -lc &&
+ -Wl,-z,text -Wl,-z,defs -o $(SHLIBUNWIND_NAME).tmp
+ @multilib_flags@ $(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIBUNWIND_NAME) ]; then
+ mv -f $(SHLIBUNWIND_NAME)
+ (SHLIBUNWINDNAME).‘basename(SHLIBUNWIND_NAME).basename </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.05764em;">S</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mord mathnormal">L</span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.05017em;">B</span><span class="mord mathnormal" style="margin-right:0.10903em;">U</span><span class="mord mathnormal" style="margin-right:0.10903em;">N</span><span class="mord mathnormal" style="margin-right:0.13889em;">W</span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.10903em;">N</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">D</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.10903em;">N</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.05764em;">ME</span><span class="mclose">)</span><span class="mord">.‘</span><span class="mord mathnormal">ba</span><span class="mord mathnormal">se</span><span class="mord mathnormal">nam</span><span class="mord mathnormal">e</span></span></span></span>(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBUNWINDNAME).tmp(SHLIBUNWIND_NAME).tmp (SHLIBUNWINDNAME).tmp(SHLIBUNWIND_NAME) &&
(LNS)(LN_S) (LNS)(SHLIBUNWIND_NAME) $(SHLIB_SOLINK)

$(slibdir) double quoted to protect it from expansion while building

--- gcc/config/t-slibgcc-darwin.busy 2004-02-23 13:24:33.000000000 -0800 +++ gcc/config/t-slibgcc-darwin 2004-09-28 08:43:32.000000000 -0700 @@ -12,10 +12,14 @@ SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual

SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs
-Wl,-install_name,$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME)
- -Wl,-flat_namespace -o $(SHLIB_NAME)
+ -Wl,-flat_namespace -o $(SHLIB_NAME).tmp
$(SHLIB_VERSTRING)
@multilib_flags@ $(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SOLINK)

$(slibdir) double quoted to protect it from expansion while building

libgcc.mk. We want this delayed until actual install time.

--- gcc/config/t-slibgcc-elf-ver.busy 2004-02-23 13:24:33.000000000 -0800 +++ gcc/config/t-slibgcc-elf-ver 2004-09-28 08:43:32.000000000 -0700 @@ -14,8 +14,12 @@ SHLIB_LC = -lc SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,--soname=$(SHLIB_SONAME)
-Wl,--version-script=$(SHLIB_MAP)
- -o (SHLIBNAME)@multilibflags@(SHLIB_NAME) @multilib_flags@ (SHLIBNAME)@multilibflags@(SHLIB_OBJS) $(SHLIB_LC) &&
+ -o (SHLIBNAME).tmp@multilibflags@(SHLIB_NAME).tmp @multilib_flags@ (SHLIBNAME).tmp@multilibflags@(SHLIB_OBJS) $(SHLIB_LC) &&
rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SOLINK)

$(slibdir) double quoted to protect it from expansion while building

libgcc.mk. We want this delayed until actual install time.

--- gcc/config/t-slibgcc-sld.busy 2004-02-23 13:24:33.000000000 -0800 +++ gcc/config/t-slibgcc-sld 2004-09-28 08:43:32.000000000 -0700 @@ -10,9 +10,13 @@ SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual

SHLIB_LINK = (GCCFORTARGET)(GCC_FOR_TARGET) (GCCFORTARGET)(LIBGCC2_CFLAGS) -shared -nodefaultlibs
-Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs
- -Wl,-M,$(SHLIB_MAP) -o $(SHLIB_NAME)
+ -Wl,-M,$(SHLIB_MAP) -o $(SHLIB_NAME).tmp
@multilib_flags@ $(SHLIB_OBJS) -lc &&
rm -f $(SHLIB_SOLINK) &&
+ if [ -f $(SHLIB_NAME) ]; then
+ mv -f (SHLIBNAME)(SHLIB_NAME) (SHLIBNAME)(SHLIB_NAME).basename $(STAGE_PREFIX);
+ else true; fi &&
+ mv (SHLIBNAME).tmp(SHLIB_NAME).tmp (SHLIBNAME).tmp(SHLIB_NAME) &&
(LNS)(LN_S) (LNS)(SHLIB_NAME) $(SHLIB_SOLINK)

$(slibdir) double quoted to protect it from expansion while building

libgcc.mk. We want this delayed until actual install time.

--- gcc/mklibgcc.in.busy 2004-09-08 08:17:29.000000000 -0700 +++ gcc/mklibgcc.in 2004-09-28 11:05:26.000000000 -0700 @@ -554,6 +554,7 @@ echo ' if [ -d (stage)/(stage)/(stage)/$dir ]; then echo ' done' echo ' -for dir in '"${dirs}"'; do ' echo ' mv dir/'"${objext}"' (stage)/(stage)/(stage)/$dir; ' +echo ' mv dir/'"${objext}s"' (stage)/(stage)/(stage)/$dir || true; ' echo ' test ! -f dir/stacknote.s || mv dir/stacknote.s (stage)/(stage)/(stage)/$dir; ' echo ' test ! -f dir/libgcc.a || mv dir/lib* (stage)/(stage)/(stage)/$dir; ' echo ' done'


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