From: Andrew Crabtree Message-Id: <199808251659.AA071054390@typhoon.rose.hp.com> Subject: Re: GCC incompatibilities To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Tue, 25 Aug 1998 9:59:50 PDT Cc: andrewc AT rosemail DOT rose DOT hp DOT com, djgpp-workers AT delorie DOT com, robert DOT hoehne AT gmx DOT net In-Reply-To: ; from "Eli Zaretskii" at Aug 25, 98 2:36 pm Reply-To: andrewc AT rosemail DOT rose DOT hp DOT com Precedence: bulk > Are there *any* problems whatsoever related to C? I can't say for sure. The only ones I could think of would be related to gcc's implementation of 'long long'. Where it calls into functions in libgcc.a. There could be others too, but they would not seem to be the norm (unlike exception handling in c++). > stock libc.a good for GCC 2.8.1/EGCS/PGCC? I think it is. > Is Robert's recommendation to use -fno-exceptions -fno-rtti at all > relevant to C programs which mix objects compiled by different > versions of GCC? Neither of those two options should affect c programs at all, those are c++ only. > Do I understand correctly that the stack alignment issue (corrected in > v2.02, btw) only affects speed *iff* one of those -mXXX switches are > used, but otherwise has no effect? No. The stack alignment issue affects speed of all executables compiled with any version of any compiler. Thats why I had DJ fix it in DJDEV, since it is more than just a pgcc specific change. Code compiled with some -m options are only compatible with other code compiled with that same -m options (crt code, libs, everything). Conceptually the idea is identical to the problem many people have converting protocol stacks from 16 bit dos compilers to djgpp. The always want to know how to pack there structures. The -m options add extra padding without requiring you to tag the code with a __attribute__ or anything. This changes the offsets at which data is stored. So, if you pass the data from one file to another and they weren't compiled the same things tend to blow up. Andy -- _______ ___________________________________________________________ / Andrew Crabtree / Workgroup Networks Division ____ ___ / Hewlett-Packard / / / / Roseville, CA __/ __/ _____/ 916/785-1675 / andrewc AT rosemail DOT rose DOT hp DOT com ___________ __/ _____________________________________________________