live-bootstrap/sysc/gcc-4.7.4/patches/gcc-10-libgcc-builtin-macro...

46 lines
1.7 KiB
Diff

SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
SPDX-FileCopyrightText: 2014 Joseph Myers <joseph@codesourcery.com>
SPDX-License-Identifier: GPL-3.0-or-later
GCC 10 uses a variety of compiler builtin macros in libgcc.
These macros do not exist in GCC 4.7, so we add them in.
(Taken straight from GCC 10).
(We could -D them in GCC 10, but this is a simpler unobtrusive
solution, and is arguably more correct).
--- gcc/c-family/c-cppbuiltin.c 2023-01-25 16:56:44.122222376 +1100
+++ gcc/c-family/c-cppbuiltin.c 2023-01-25 17:01:52.500855016 +1100
@@ -850,6 +850,30 @@
builtin_define_with_int_value ("__LIBGCC_TRAMPOLINE_SIZE__",
TRAMPOLINE_SIZE);
+ /* For libgcc unwinder code. */
+#ifdef DONT_USE_BUILTIN_SETJMP
+ cpp_define (pfile, "__LIBGCC_DONT_USE_BUILTIN_SETJMP__");
+#endif
+#ifdef DWARF_ALT_FRAME_RETURN_COLUMN
+ builtin_define_with_int_value ("__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__",
+ DWARF_ALT_FRAME_RETURN_COLUMN);
+#endif
+ builtin_define_with_int_value ("__LIBGCC_DWARF_FRAME_REGISTERS__",
+ DWARF_FRAME_REGISTERS);
+#ifdef EH_RETURN_STACKADJ_RTX
+ cpp_define (pfile, "__LIBGCC_EH_RETURN_STACKADJ_RTX__");
+#endif
+#ifdef JMP_BUF_SIZE
+ builtin_define_with_int_value ("__LIBGCC_JMP_BUF_SIZE__",
+ JMP_BUF_SIZE);
+#endif
+ builtin_define_with_int_value ("__LIBGCC_STACK_POINTER_REGNUM__",
+ STACK_POINTER_REGNUM);
+
+ /* For libgcov. */
+ builtin_define_with_int_value ("__LIBGCC_VTABLE_USES_DESCRIPTORS__",
+ TARGET_VTABLE_USES_DESCRIPTORS);
+
/* For use in assembly language. */
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);