H. J. Lu - 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] |
- From: "H. J. Lu"
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 27 Sep 2004 10:06:20 -0700
- Subject: PATCH: bootstrap/17684: /usr/ccs/bin/ld: Can't create libgcc_s.sl
We should create a temporary file first and rename it later. But I am not 100% sure if this patch is parallel build safe.
H.J.
2004-09-27 H.J. Lu hongjiu.lu@intel.com
PR bootstrap/17684
* config/t-libunwind-elf (SHLIBUNWIND_LINK): Use a temporary
file for the shared library to be created.
* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
* config/t-slibgcc-sld (SHLIB_LINK): Likewise.--- gcc/config/t-libunwind-elf.busy 2004-09-08 08:16:15.000000000 -0700 +++ gcc/config/t-libunwind-elf 2004-09-27 08:47:50.000000000 -0700 @@ -10,9 +10,10 @@ 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 &&
- rm -f $(SHLIB_SOLINK) &&
+ -Wl,-z,text -Wl,-z,defs -o $(SHLIBUNWIND_NAME).tmp
+ @multilib_flags@ $(SHLIB_OBJS) -lc &&
+ rm -f (SHLIBSOLINK)(SHLIB_SOLINK) (SHLIBSOLINK)(SHLIBUNWIND_NAME) &&
+ 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-27 08:48:21.000000000 -0700 @@ -12,10 +12,11 @@ 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) &&
+ rm -f (SHLIBSOLINK)(SHLIB_SOLINK) (SHLIBSOLINK)(SHLIB_NAME).tmp &&
+ 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-27 08:48:59.000000000 -0700
@@ -14,8 +14,9 @@ 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) &&
- rm -f $(SHLIB_SOLINK) &&
+ -o (SHLIBNAME).tmp@multilibflags@(SHLIB_NAME).tmp @multilib_flags@ (SHLIBNAME).tmp@multilibflags@(SHLIB_OBJS) $(SHLIB_LC) &&
+ rm -f (SHLIBSOLINK)(SHLIB_SOLINK) (SHLIBSOLINK)(SHLIB_NAME) &&
+ 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-27 08:49:20.000000000 -0700 @@ -10,9 +10,10 @@ 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) &&
+ rm -f (SHLIBSOLINK)(SHLIB_SOLINK) (SHLIBSOLINK)(SHLIB_NAME) &&
+ 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.
Attachment:gcc-ld-path-6.patch
Description: Text document
Attachment:gcc-3.4-ld-path-13.patch
Description: Text document
- Follow-Ups:
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |