frida-core icon indicating copy to clipboard operation
frida-core copied to clipboard

Devkit Compile Issue - memfd_create

Open sashakiwi opened this issue 3 years ago • 2 comments

The downloaded version of libfrida-core.a (inside the Linux 64-bit devkit) does not include any reference to memfd_create. (grep memfd_create libfrida-core.a returns nothing) However, when compiled on our systems, the resulting libfrida-core.a DOES contain references to memfd_create. This version (unlike the downloaded one) fails when trying to compile using it on various Linux operating systems.

libfrida-core.a(closures.c.o): In function open_temp_exec_file_memfd': /home/white/Projects/New/v14.2.18/origin/build/fs-tmp-linux-x86_64/libffi/../../../deps/libffi/src/closures.c:535: undefined reference to memfd_create' collect2: error: ld returned 1 exit status

How is the downloaded version compiled (or on what OS version?) so it doesn't contain this reference? Or, what are we doing wrong?

sashakiwi avatar Jun 11 '21 14:06 sashakiwi

I ran into the same problem as you.

I think the version of libfrida-core.a you downloaded was compiled with a higher version of glibc, and the glibc on your machine does not have "memfd_create".

mrcino avatar Dec 28 '21 08:12 mrcino

To be precise, libffi uses ‘memfd_create’

mrcino avatar Dec 28 '21 08:12 mrcino