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]

[Bug target/14537] sparc-rtems predefines unix


------- Additional Comments From joel at gcc dot gnu dot org  2004-03-11 20:24 -------

Based upon a review of config.gcc, I believe sparc-elf, sparc64-elf and 
sparclite-elf have the same problem since they include the solaris specific
config/sparc files.

The embedded sparc targets could probably be modified in a similar way and
longer term all share some common underlying file(s).

This has been a lurking issue but not a critical one.  We added a stub for
mprotect() to RTEMS a long time ago to workaround this the first time.  
But now the gnat run-time checks for defined(unix) and decides 
it is on a unix box instead of an embedded sparc.  This results
in real breakage.

Given the complexity of the conditionals in some of the Ada run-time code, I
wouldn't be surprised if they have discovered other cpp predefine 
inconsistencies and are covering them up.  Look at gcc/ada/init.c and
gcc/ada/sysdep.c have some pretty complicated conditionals.  I have to
wonder if some vxworks target doesn't have this problem based upon this
code from ctrl_c.c:

#if (defined (_AIX) || defined (unix)) && !defined (__vxworks)

which I read as meaning there is some VxWorks target with unix defined.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14537


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