On Fri, Mar 20, 2026 at 10:10 PM Luc Park-Chouinard <lucchouina@gmail.com> wrote:
Mkbaseop needs to be compiled for the host (so gcc NOT CC).
I thought I saw support for that in Petr's patch.
"Do not hard-code to gcc except for mkbaseop.c"

 
Ah, sorry about that; I was wrong. I forgot to update the eppic repo locally. 
 
After updating the eppic code, the current patch works now. So: Ack

Thanks
Lianbo

On Thu, Mar 19, 2026 at 8:06 PM lijiang <lijiang@redhat.com> wrote:
Hi, Petr
Thank you for the patch.

On Wed, Mar 18, 2026 at 11:36 AM <devel-request@lists.crash-utility.osci.io> wrote:
Date: Thu, 12 Mar 2026 21:17:22 +0100
From: Petr Tesařík <petr@tesarici.cz> (by way of Petr Tesařík
        <petr@tesarici.cz>)
Subject: [Crash-utility] [PATCH 1/1] Fix cross-compilation of eppic.so
        and snapper.so
To: devel@lists.crash-utility.osci.io
Cc: Jianyun Gao <jianyungao89@gmail.com>
Message-ID: <20260312211722.4cab3d5a@meshulam.tesarici.cz>
Content-Type: text/plain; charset=US-ASCII

When cross-compiling, the extension modules must be built for the
target architecture, not the host architecture.

Do not hard-code "gcc" (which is usually the host compiler), but
use $(CC) to pick the right compiler.

I got an error after applying the current patch:

$ make CROSS_COMPILE=aarch64-linux-gnu- extensions
aarch64-linux-gnu-gcc -Wall -g -shared -rdynamic -o dminfo.so dminfo.c -fPIC -DARM64  -DGDB_16_2
aarch64-linux-gnu-gcc -Wall -g -shared -rdynamic -o echo.so echo.c -fPIC -DARM64  -DGDB_16_2
cd eppic/libeppic && make
bison -peppic -v -t -d eppic.y
eppic.y: warning: 135 shift/reduce conflicts [-Wconflicts-sr]
eppic.y: warning: 22 reduce/reduce conflicts [-Wconflicts-rr]
eppic.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_util.o eppic_util.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_node.o eppic_node.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_var.o eppic_var.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_func.o eppic_func.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_str.o eppic_str.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_op.o eppic_op.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_num.o eppic_num.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_stat.o eppic_stat.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_builtin.o eppic_builtin.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_type.o eppic_type.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_case.o eppic_case.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_api.o eppic_api.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_member.o eppic_member.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_alloc.o eppic_alloc.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_define.o eppic_define.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_input.o eppic_input.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC   -c -o eppic_print.o eppic_print.c
bison -peppicpp -v -t -d eppicpp.y
eppicpp.y: warning: 23 shift/reduce conflicts [-Wconflicts-sr]
eppicpp.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC -c eppicpp.tab.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC -c eppic.tab.c
flex -L -Peppic -t eppic.l > lex.eppic.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC -c lex.eppic.c
flex -Peppicpp -t eppicpp.l  > lex.eppicpp.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC -c lex.eppicpp.c
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC -o mkbaseop mkbaseop.c
./mkbaseop > baseops.c
/bin/sh: 1: ./mkbaseop: Exec format error
make[5]: [Makefile:71: baseops.o] Error 126 (ignored)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Did I miss anything else?

...
aarch64-linux-gnu-gcc -g -O0 -fno-omit-frame-pointer -fPIC -c baseops.c
ar cur libeppic.a eppic_util.o eppic_node.o eppic_var.o eppic_func.o eppic_str.o eppic_op.o eppic_num.o eppic_stat.o eppic_builtin.o eppic_type.o eppic_case.o eppic_api.o eppic_member.o eppic_alloc.o eppic_define.o eppic_input.o eppic_print.o eppicpp.tab.o eppic.tab.o lex.eppic.o lex.eppicpp.o baseops.o
ar: `u' modifier ignored since `D' is the default (see `U')
aarch64-linux-gnu-gcc -g -O0 -Ieppic/libeppic -I.. -nostartfiles -shared -rdynamic -o eppic.so eppic/applications/crash/eppic.c -fPIC -DARM64 -DGDB_16_2 -Leppic/libeppic -leppic
aarch64-linux-gnu-gcc -Wall -g -I. -shared -rdynamic -o snap.so snap.c -fPIC -DARM64  -DGDB_16_2

Thanks
Lianbo
 
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
 extensions/eppic.mk | 2 +-
 extensions/snap.mk  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/extensions/eppic.mk b/extensions/eppic.mk
index 9435793..b51a84b 100644
--- a/extensions/eppic.mk
+++ b/extensions/eppic.mk
@@ -68,7 +68,7 @@ lib-eppic:
        cd eppic/libeppic && make

 eppic.so: ../defs.h $(APPFILE) lib-eppic
-       gcc -g -O0 -Ieppic/libeppic -I.. -nostartfiles -shared -rdynamic -o eppic.so $(APPFILE) -fPIC $(TARGET_FLAGS) $(GDB_FLAGS) -Leppic/libeppic -leppic
+       $(CC) -g -O0 -Ieppic/libeppic -I.. -nostartfiles -shared -rdynamic -o eppic.so $(APPFILE) -fPIC $(TARGET_FLAGS) $(GDB_FLAGS) -Leppic/libeppic -leppic

 clean:
        if  [ -d eppic/libeppic ]; \
diff --git a/extensions/snap.mk b/extensions/snap.mk
index 2fb4ed6..ac3f723 100644
--- a/extensions/snap.mk
+++ b/extensions/snap.mk
@@ -47,4 +47,4 @@ endif
 all: snap.so

 snap.so: $(INCDIR)/defs.h snap.c
-       gcc -Wall -g -I$(INCDIR) -shared -rdynamic -o snap.so snap.c -fPIC -D$(TARGET) $(TARGET_CFLAGS) $(GDB_FLAGS)
+       $(CC) -Wall -g -I$(INCDIR) -shared -rdynamic -o snap.so snap.c -fPIC -D$(TARGET) $(TARGET_CFLAGS) $(GDB_FLAGS)
--
2.53.0
--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-leave@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki


--

     - Luc