[Bug target/115739] Building cross-compiler to sparc-wrs-vxworks fails since r15-1594-g55947b32c38a40
linkw at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 2 03:17:13 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115739
Kewen Lin <linkw at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu.org
--- Comment #2 from Kewen Lin <linkw at gcc dot gnu.org> ---
The commit dropped the define of SPARC_LONG_DOUBLE_TYPE_SIZE in sparc.cc and we
don't have a default one in sparc.h:
/* SPARC_LONG_DOUBLE_TYPE_SIZE is defined per OS even though the
SPARC ABI says that it is 128-bit wide. LONG_DOUBLE_TYPE_SIZE
get poisoned, so add SPARC_ prefix. */
/* #define SPARC_LONG_DOUBLE_TYPE_SIZE 128 */
Although we can bring back the define to sparc.cc, but per the above comments,
I think we want to define it in vxworks.h:
diff --git a/gcc/config/sparc/vxworks.h b/gcc/config/sparc/vxworks.h
index c1a9310fb3f..4cdb3b1685d 100644
--- a/gcc/config/sparc/vxworks.h
+++ b/gcc/config/sparc/vxworks.h
@@ -62,3 +62,7 @@ along with GCC; see the file COPYING3. If not see
/* This platform supports the probing method of stack checking (RTP mode).
8K is reserved in the stack to propagate exceptions in case of overflow.
*/
#define STACK_CHECK_PROTECT 8192
+
+/* SPARC_LONG_DOUBLE_TYPE_SIZE should be defined per OS. */
+#undef SPARC_LONG_DOUBLE_TYPE_SIZE
+#define SPARC_LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2)
Built well with the above fix.
More information about the Gcc-bugs
mailing list