linuxfromscratch:rangeoverpackages:wasm-micro-runtime-wamr-2.4.4

일반적으로 컴파일 하면 Firefox같이 샌드박스 사용하는 프로그램들이 실행되지 않았음.

$ firefox 
XPCOMGlueLoad error for file /usr/lib/firefox/libmozgtk.so:
libiwasm.so.2: cannot enable executable stack as shared object requires: Invalid argument
Couldn't load XPCOM.

아래의 내용은 제미나이가 추천한 원인 파악 및 해결책

readelf -l /usr/lib/libiwasm.so.2 | grep -A1 GNU_STACK
GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
               0x0000000000000000 0x0000000000000000  RWE    0x10

여기서 RWE의 “E” execution이 보안 정책 위반으로 문제의 원인이라고 함.

ELFUtils가 있으면 execstack 또는 eu-stack를 다음과 같이 실행.

sudo execstack -c /usr/lib/libiwasm.so.2

다음과 같이 옵션을 추가해서 해결함.

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release \
      -DBUILD_SHARED_LIBS=ON \
      -DCMAKE_ASM_FLAGS="-Wa,--noexecstack" \
      -DCMAKE_C_FLAGS="-z noexecstack"

  • linuxfromscratch/rangeoverpackages/wasm-micro-runtime-wamr-2.4.4.txt
  • 마지막으로 수정됨: 2026/01/31 13:13
  • 저자 baecy