texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] GCC 3.2 status update


From: Igor V. Kovalenko
Subject: Re: [Texmacs-dev] GCC 3.2 status update
Date: Tue, 12 Nov 2002 17:36:09 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020809

Joris van der Hoeven wrote:
On PIII-750 unoptimized TeXmacs is rather usable :)


Are there any problems left with the unoptimized version
in the case of gcc-3.2?

It does not crash, and allows me to edit docs and export PS files. I can't say 
more.


Gee, you have a foresight of kind :)
We can possibly eliminate the GCC/c++ PR 8287 which is fixed as of my current 
testing.
More to go, I wish GCC team a luck. IMHO they do a nice job.


I am afraid that I cannot longer say that they do a good job if something
which worked fine with the compiler from two years ago does not work fine
anymore after all "improvements". I do understand that a major change like 3.0
caused a lot of problems, most of which were fixed in 3.1. However, after that,
we may expect more stability, considering the fact that the gcc compiler
is a central piece of software for so many people.

Well, they have exposed some of the subtlier inconsistencies in code. Say, some
violations of standard-defined type aliasing rules may be now catastrophic.
I do not have the latest C++ standard so I again can't be an expert here.


Now to the problem update.
As of 20021109 the default optimized compilation does a segfault *immediately*
if not using TeXmacs own memory allocators. Just run and click in the text area.

If using own allocators you are able to invoke Help->Welcome page. Then try to
select first paragraph. When you release mouse button you get *triple* deletion
of tree object after which memory is guaranteed to be corrupted IMO. Well, with 
my
debugging patch there are two deletions of tree object that are reported, 
implying
there was another (the very first) one. 'this' address indicates that tree 
object
was on stack. When after these reports you click somewhere in the text area you 
have
another *two* reports (same diagnostics, same 'this' address) followed by a 
SIGSEGV.

This thing with higher-level optimizations still gets more involved. There is 
even
a bug in compiler causing debugging information to be generated incorrectly...


So if I understand you well, things are rather getting worse than better :^(((

AFAIK this bug should be present in all GCC>=3 versions... Does not affect
compiled code quality though.

So... I should admit that main Linux distributions still can accept TeXmacs 
package
along with the requirement to use 'compat'-gcc package and it's libstdc++ 
implementation.
Anyway, Mozilla project seems to have some problems with GCC-3.2. RedHat (to 
name one :)
is shipping Mozilla packages compiled with 'compat'-gcc (2.96) package.


OK. So the best thing would be to rewrite our configure script such that

1) We use g++-2.95.3 whenever the "compat" package is installed and
   we add this as a dependency in the TeXmacs.spec file.

2) Use non-optimized compilation whenever the compat package is
   not installed and there is only a bugged g++ compiler on the disc.

3) Add a line which makes the computer pray that everything will work.

I will also try to provide a compilation option so as to compile with
Boehme's gc as soon as I have time.


As to my plans regarding this topic, I'm sorry I should be rather busy with my 
PhD for
about a month from now on. Still, I'll find some time to test with GCC-3.2.1 
release :)


Well, I wish to thank you thousand times for all the help that you have
given so far, since debugging requires a lot of skill and patience.
Good luck for your PhD. in the meantime,

Joris


Thanks!

--
Regards,
Igor V. Kovalenko    mailto: iko at crec dot mipt dot ru





reply via email to

[Prev in Thread] Current Thread [Next in Thread]