This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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

Re: [PATCH] Updated glibc-gcc3.patch


On Wed, Nov 21, 2001 at 01:31:39PM +0100, Jakub Jelinek wrote:
> > > But what I'm worried more is the GCC_3.0 vs. GLIBC_2.2.5 thing which
> > > basically render this glibc change useless.
> > 
> > Show me examples.  Code.
> 
> E.g. try the attached testcase (replace the compilers so that one is gcc 3.1
> and one is gcc-2.96 (or 2.95, doesn't matter) and the third one can be equal
> to one of the two).
> Dies miserably when glibc has those symbols @ GLIBC_2.2.5, while works
> flawlessly if they are @ GCC_3.0.

Maybe I should be more precise on what tests exactly fails.
I have modified makefile so that instead of || exit it does || echo ABORTED.
It failed the following tests, ie.
- C program compiled with gcc 3.1 dlopening 2.96-RH C++ lib throwing
exceptions (as it dies on the first throw, it doesn't matter if it later
throws through dlopened C lib compiled with 2.96-RH or gcc 3.1)
- Mark's __frame_state_for tester compiled with gcc 3.1
- C program compiled with gcc 2.96-RH dlopening 2.96-RH C++ lib throwing
exceptions
- main C++ program compiled with gcc 2.96-RH dlopening 2.96-RH C++ lib
The rest of the tests passed.
The reason why those tests abort is what I described previously, .eh_frame
sections get registered in one registry (glibc) while when _Unwind_Find_FDE
is used, it looks into a different registry (libgcc_s). This is due to
libgcc_s relevant symbols being GCC_3.0 and their glibc counterparts being
GLIBC_2.2.5.

./t31.tst ./t12.so ./t21.so
Catching A within C++ DSO... ABORTED
./t31.tst ./t12.so ./t22.so
Catching A within C++ DSO... ABORTED
./t31.tst ./t12.so ./t23.so
Catching A within C++ DSO... ABORTED
./t31.tst ./t13.so ./t21.so
Catching A within C++ DSO... ABORTED
./t31.tst ./t13.so ./t22.so
Catching A within C++ DSO... ABORTED
./t31.tst ./t13.so ./t23.so
Catching A within C++ DSO... ABORTED
Cannot find frame info for tsearch
Cannot find frame info for lfind
Cannot find frame info for lsearch
Cannot find frame info for bsearch
Cannot find frame info for qsort
tsearch
lfind
lsearch
bsearch
qsort
ABORTED
./t42.tst ./t21.so
Catching A within C++ DSO... ABORTED
./t32.tst ./t12.so ./t21.so
Catching A within C++ DSO... ABORTED
./t32.tst ./t12.so ./t22.so
Catching A within C++ DSO... ABORTED
./t32.tst ./t12.so ./t23.so
Catching A within C++ DSO... ABORTED
./t42.tst ./t22.so
Catching A within C++ DSO... ABORTED
./t32.tst ./t13.so ./t21.so
Catching A within C++ DSO... ABORTED
./t32.tst ./t13.so ./t22.so
Catching A within C++ DSO... ABORTED
./t32.tst ./t13.so ./t23.so
Catching A within C++ DSO... ABORTED
./t42.tst ./t23.so
Catching A within C++ DSO... ABORTED
Cannot find frame info for tsearch
Cannot find frame info for lfind
Cannot find frame info for lsearch
Cannot find frame info for bsearch
Cannot find frame info for qsort
tsearch
lfind
lsearch
bsearch
qsort
ABORTED
./t43.tst ./t21.so
Catching A within C++ DSO... ABORTED
./t33.tst ./t12.so ./t21.so
Catching A within C++ DSO... ABORTED
./t33.tst ./t12.so ./t22.so
Catching A within C++ DSO... ABORTED
./t33.tst ./t12.so ./t23.so
Catching A within C++ DSO... ABORTED
./t43.tst ./t22.so
Catching A within C++ DSO... ABORTED
./t33.tst ./t13.so ./t21.so
Catching A within C++ DSO... ABORTED
./t33.tst ./t13.so ./t22.so
Catching A within C++ DSO... ABORTED
./t33.tst ./t13.so ./t23.so
Catching A within C++ DSO... ABORTED
./t43.tst ./t23.so
Catching A within C++ DSO... ABORTED
Cannot find frame info for tsearch
Cannot find frame info for lfind
Cannot find frame info for lsearch
Cannot find frame info for bsearch
Cannot find frame info for qsort
tsearch
lfind
lsearch
bsearch
qsort
ABORTED

	Jakub


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