Portál AbcLinuxu, 18. června 2025 20:09
[ 614.587196] lua[1708]: unhandled signal 11 code 0x1 at 0x957a3710 in libcrypto.so.3[957a7000+233000] [ 614.587330] CPU: 1 PID: 1708 Comm: lua Not tainted 5.10.0 #4 [ 614.591083] epc : 957a3712 ra : 958dcc0e sp : 9d860860 [ 614.596119] gp : 692ce8b0 tp : 95b08470 t0 : 00000000 [ 614.601303] t1 : 9582c0cc t2 : 00000000 s0 : 6931c5f8 [ 614.606361] s1 : 00000000 a0 : 6931c6f0 a1 : 00000002 [ 614.611523] a2 : 00000001 a3 : 00000002 a4 : 00000003 [ 614.616605] a5 : 00000008 a6 : 95aed500 a7 : 000000d7 [ 614.621782] s2 : 00000008 s3 : 6931c63c s4 : 6931c660 [ 614.626848] s5 : 00000007 s6 : 9d860868 s7 : 00000014 [ 614.632021] s8 : 00000002 s9 : 00008000 s10: 00000923 [ 614.637090] s11: 6936603c t3 : 957a3712 t4 : 2f333400 [ 614.642283] t5 : 333a2200 t6 : 00000008 [ 614.646119] status: 80006020 badaddr: 957a3710 cause: 0000000cgdb bohužel přeložený v destičce nemám. Našel jsem, že bych měl hledat, co se volá v knihovně (asi openssl) na adrese 0x957a3710, ale to by mělo být v rámci 0x957a7000 až 0x957a7000+0x233000, což není. Dokázal by mi někdo trochu poradit jak dál, proč je adresa chyby nižší než base adresa knihovny? Předpokládám, že kód úplně chybný není, když funguje na PC a armech, je možné, že by chyba mohla vzniknout špatnými bylo parametry při překladu, nebo tak něco?
CROSS_COMPILE=$(AGCCBIN)/riscv32-buildroot-linux-uclibc- CC = $(CROSS_COMPILE)gcc -Os -pipe -march=rv32imafdc -lcrypto LUA_CFLAGS = -I../../buildroot/output/build/lua-5.1.5/src LIBCRYPTO_CFLAGS = -I../../buildroot/output/build/libopenssl-3.4.1/include/crypto -L../../buildroot/output/build/libopenssl-3.4.1/ CFLAGS ?= -O2 -Wall all: crypto.so %.o: %.c $(CC) -c $(CFLAGS) $(LLDFLAGS) -fPIC $(LUA_CFLAGS) $(LIBCRYPTO_CFLAGS) -o $@ $< lcrypto.o: crypto.so: lcrypto.o $(CC) -shared lcrypto.o -o $@ clean: rm -f crypto.so lcrypto.o
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.