[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug target/14537] sparc-rtems predefines unix
From: |
joel at gcc dot gnu dot org |
Subject: |
[Bug target/14537] sparc-rtems predefines unix |
Date: |
11 Mar 2004 20:24:14 -0000 |
------- 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