17684 – [3.4/4.0 Regression] /usr/ccs/bin/ld: Can't create libgcc_s.sl (original) (raw)
Description John David Anglin 2004-09-27 00:06:21 UTC
In stage 2:
./xgcc -B./ -B/opt/gnu/gcc/gcc-4.0.0/hppa2.0w-hp-hpux11.11/bin/ -isystem /opt/gn u/gcc/gcc-4.0.0/hppa2.0w-hp-hpux11.11/include -isystem /opt/gnu/gcc/gcc-4.0.0/hp pa2.0w-hp-hpux11.11/sys-include -L/mnt/gnu/gcc-3.3/objdir/gcc/../ld -O2 -DIN_GC C -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-sty le-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D_ _GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -o libgcc_s.sl libgcc/./_muldi3 .o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3. o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdi sf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc /./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o lib gcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtf di.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc /./_enable_execute_stack.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_ab svsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_su bvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_ne gvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_ffssi2.o libgcc/./_ffsdi 2.o libgcc/./_clz.o libgcc/./_clzsi2.o libgcc/./_clzdi2.o libgcc/./_ctzsi2.o lib gcc/./_ctzdi2.o libgcc/./_popcount_tab.o libgcc/./_popcountsi2.o libgcc/./_popco untdi2.o libgcc/./_paritysi2.o libgcc/./_paritydi2.o libgcc/./_divdi3.o libgcc/. /_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgc c/./_udivmoddi4.o libgcc/./lib2funcs.o libgcc/./quadlib.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./ unwind-c.o -lc && rm -f libgcc_s.1 && ln -s libgcc_s.sl libgcc_s.1 /usr/ccs/bin/ld: Can't create libgcc_s.sl /usr/ccs/bin/ld: Text file busy collect2: ld returned 1 exit status make[3]: *** [libgcc_s.sl] Error 1
This is probably caused by this change:
2004-09-23 H.J. Lu <hongjiu.lu@intel.com>
[PR bootstrap/17369](show%5Fbug.cgi?id=17369 "RESOLVED FIXED - [3.4/4.0 regression] [ia64] Bootstrap failure with binutils-2.15.90.0.1.1")
* Makefile.in (@set_gcc_lib_path@): Added.
* configure.ac: Include ../config/gcc-lib-path.m4. Use
TL_AC_GNU_MAKE_GCC_LIB_PATH.
* configure: Regenerated.It's not possible to replace a shared library that's busy on any 32-bit HP-UX port.
Comment 1 Drea Pinski 2004-09-27 00:13:23 UTC
This is also a 3.4 regression also because that patch was applied to the 3.4 branch.
Comment 2 dave 2004-09-27 02:54:09 UTC
Subject: Re: [3.4/4.0 Regression] /usr/ccs/bin/ld: Can't
This is also a 3.4 regression also because that patch was applied to the 3.4 branch.
Confirmed as 3.4 regression as well.
Dave
Comment 3 Drea Pinski 2004-09-27 11:42:57 UTC
Confirmed.
Comment 5 John David Anglin 2004-09-27 20:54:49 UTC
The patch doesn't actually change the file that needs to change,
config/pa/t-hpux-shlib. The suggested change shown for the t' files in the patch doesn't work. The rm' fails for the same reason
as the link.
I don't know what's actually using the library. However, it's generally possible to rename libraries. I'm trying that approach.
Comment 7 dave 2004-09-27 21:43:34 UTC
Subject: Re: [3.4/4.0 Regression] /usr/ccs/bin/ld: Can't
It is possible that GNU "make" may be linked against -lgcc_s on some platforms.
Actually, it looks like its bash. It is linked against libreadline. For some reason, libreadline has SHLIB_PATH enabled and it has a dependency on libgcc_s.sl.
Dave
Subject: Re: [3.4/4.0 Regression] /usr/ccs/bin/ld: Can't
Oops. Please try this one
Works.
Suggestions:
- Remove `t' from stage suffix.
- Use
-f' in firstmv'. - Make sure that `make clean' removes these files.
In my testing, I found that I didn't need separate files for each stage.
Dave
Subject: Re: [3.4/4.0 Regression] /usr/ccs/bin/ld: Can't
Here is the new one:
Clean isn't right:
make clean ... rm -f libgcc_s.sl libgcc_s.sl.1 libgcc_s.sl.1.stage? ...
ls -d libgcc*
libgcc_s.1 libgcc_s.sl.stage1 libgcc_s.sl.stage2
Otherwise, the patch works for me.
Dave
Comment 18 Drea Pinski 2004-10-18 17:00:13 UTC
Fixed.