shithub: scc

Download patch

ref: 0717542bba2021b87f92ab99fbd1851618e17da5
parent: 582337f4ec80f5afcbcbf77965865afb9042a25a
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Sun Oct 31 04:16:50 EDT 2021

cc1: Disable longjmp()

We do not set the recovery points at this moment,
and it means that executing the longjmp() of
discard() will surely generate a segmentation
fault. This patch disables the call to longjmp()
with an exit() until we fix the recovery problem.

--- a/src/cmd/cc/cc1/lex.c
+++ b/src/cmd/cc/cc1/lex.c
@@ -852,5 +852,14 @@
 	}
 jump:
 	yytoken = c;
+	exit(EXIT_FAILURE);
+
+	/*
+	 * FIXME: We don't have a proper recover mechanism at this moment
+	 * and we don't set the recover point ever, so executing this
+	 * longjmp will generate surely a segmentation fault, so it does
+	 * not make sense to do it. We just exit until we can find time
+	 * to solve this problem.
+	 */
 	longjmp(recover, 1);
 }