This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[3.1] More regressions on S/390 - revert lib64 patch
- From: "Ulrich Weigand" <Ulrich dot Weigand at de dot ibm dot com>
- To: mark at codesourcery dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 26 Apr 2002 21:01:31 +0200
- Subject: [3.1] More regressions on S/390 - revert lib64 patch
- Sensitivity:
Hello Mark,
we've unfortunately discovered another serious regression on s390, this
time caused by the recent change to support /usr/lib64 systems.
Due to this change, the start files (crti.o etc.) are now always used
from the absolute path given (/usr/lib/crti.o or /usr/lib64/crti.o).
This differs from the previous behaviour where the compiler driver
searched various directories (hard-coded /usr/lib as well as prefixes
specified by the backend and -B command line switches) for a file
named crti.o.
Unfortunately, current glibc versions rely on this search algorithm:
when building libpthread.so, it is necessary to use a special variant
of crti.o, which calls additional initialization routines, instead of
the system crti.o. The glibc Makefile achieves this by passing an
-B argument specifying the libpthread build directory to the gcc
driver when linking libpthread.so. This caused the crti.o file found
there to be used.
After the recent patch, the gcc driver always uses the system crti.o
file, which means that the special libpthread init routines are not
called when libpthread.so is loaded. This causes a variety of serious
problems with any application using threads (often crashes on startup).
It appears that a proper fix for this problem is not easy; therefore
I'd like to simply revert this patch for the 3.1 release. OK?
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com