Port to Fil-C
Bruno Haible via Bug reports for the GNU m4 macro processor <[email protected]> Mon, 27 Jul 2026 09:47:43 +0200
| Newsgroups | gmane.comp.gnu.m4.bugs |
|---|---|
| Message-ID | <11544885.rMLUfLXkoz@cagnes> |
This is a multi-part message in MIME format. --nextPart5059511.CbtlEUcBR6 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Hi, When I build the current sources of m4 (with current gnulib) under Fil-C, "make check" shows many errors like this one: +filc safety error: cannot read pointer with null object. + pointer: 0x730c54b8f020,<null> + expected 8 bytes with ptr aligned to 8 bytes. +semantic origin: + (m4) builtin.c:516:17: define_macro +check scheduled at: + (m4) builtin.c:516:17: define_macro + (m4) builtin.c:558:3: m4_define + (m4) macro.c:284:7: call_macro (inlined) + (m4) macro.c:381:3: expand_macro (inlined) + (m4) macro.c:118:9: expand_token + (m4) macro.c:68:5: expand_input + (m4) m4.c:462:3: process_file + (m4) m4.c:772:11: main + (libc.so) src/env/__libc_start_main.c:79:7: __libc_start_main + (libpizlo.so) <runtime>: start_program +[2319380] filc panic: thwarted a futile attempt to violate memory safety. The attached patch fixes them all. --nextPart5059511.CbtlEUcBR6 Content-Disposition: attachment; filename="0001-Port-to-Fil-C.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="UTF-8"; name="0001-Port-to-Fil-C.patch" From 9c868357699b00b963fe97ea1daf27547fe7617b Mon Sep 17 00:00:00 2001 From: Bruno Haible <[email protected]> Date: Mon, 27 Jul 2026 09:44:01 +0200 Subject: [PATCH] Port to Fil-C. * src/macro.c (expand_macro): With Fil-C, don't use uintptr_t. --- src/macro.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/macro.c b/src/macro.c index ac7553b4..eba8e0a8 100644 --- a/src/macro.c +++ b/src/macro.c @@ -360,7 +360,7 @@ expand_macro (symbol *sym) collect_arguments (sym, &argv_stack, use_argc_stack ? &argc_stack : &arguments); - #ifdef UINTPTR_MAX + #if defined UINTPTR_MAX && !defined __FILC__ typedef uintptr_t uptrchar; /* Pacify gcc -Wcast-align. */ #else typedef char *uptrchar; -- 2.53.0 --nextPart5059511.CbtlEUcBR6--