www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/08/25/13:00:19

From: Andrew Crabtree <andrewc AT typhoon DOT rose DOT hp DOT com>
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: <Pine.SUN.3.91.980825143624.7520F-100000@is>; from "Eli Zaretskii" at Aug 25, 98 2:36 pm
Reply-To: andrewc AT rosemail DOT rose DOT hp DOT com

> 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
___________   __/   _____________________________________________________

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019