This is the mail archive of the gcc-bugs@gcc.gnu.org mailing 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]

Re: c++/9265: exception handling faulty wenn linking PIC objects to non PIC ones


On Mon, Jan 13, 2003 at 04:42:07PM -0600, Wolfgang Bangerth wrote:
> 
> > > I have mainline snapshots from the last two years for about every two 
> > > weeks, and none of them shows the behavior you see.
> > 
> > You still didn't answer my question, which binutils you use.  Might be
> > this information is of some use to understand the problem.
> 
> I'm sorry. For the RedHat machine with the snapshot collection, it's 
> 2.11.90.0.8, for the SuSE machine it's 2.11.92.0.10.

Hmm, SuSE 8.1 has 2.12.90.0.12.  Is someone else with 2.12.x.x.x here
to test this?

> > > What do we do with this report?
> > 
> > I hope you do not ignore it.  My colleague and I have invested some
> > time to track this down to such a simple test case.  (The real world
> > test case were megabytes of code.)
> 
> I have no intention to _ignore_ the report, otherwise I would have closed 
> it after not being able to reproduce it. On the other hand, we rely on 
> being able to reproduce a problem to fix it, right?

Yes you are right.  Sorry, might be I was a bit too harsh here.  Hope
you don't mind.

> Volker, Christian, can one of you try to check this report on your 
> systems? I think I have to pull out of this since I can't contribute 
> anything any more...

Well, I did some more testing and found the following:

If I do compile and link with gcc 3.2.1, the resulting application is
faulty.  Linking is done by:

/opt/Pkg/Linux/i686/gcc321/lib/gcc-lib/i486-suse-linux/3.2.1/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /opt/Pkg/Linux/i686/gcc321/lib/gcc-lib/i486-suse-linux/3.2.1/crtbegin.o -L/opt/Pkg/Linux/i686/gcc321/lib/gcc-lib/i486-suse-linux/3.2.1 -L/opt/Pkg/Linux/i686/gcc321/lib/gcc-lib/i486-suse-linux/3.2.1/../../.. pic.o nopic.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /opt/Pkg/Linux/i686/gcc321/lib/gcc-lib/i486-suse-linux/3.2.1/crtend.o /usr/lib/crtn.o

If I replace _only_ crtbegin.o with the one from gcc 3.2 release, the
resulting application works perfectly sane.  So the bug must be
somewhere in crtstuff.  Well crtstuff.c itself was not changed, so
this must be something in a file included from there.  Or the reason
is that I have built the 3.2 release with binutils 2.11.x.x.x where I
have built the other compilers with 2.12.x.x.x.

Wolfgang could you send me the crtbegin.o files from the compilers
that you tried?

Robert

-- 
Robert Schiele			Tel.: +49-621-181-2517
Dipl.-Wirtsch.informatiker	mailto:rschiele@uni-mannheim.de

Attachment: msg00863/pgp00000.pgp
Description: PGP signature


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