mirror of
https://github.com/frida/releng.git
synced 2026-11-07 09:36:02 -10:00
c17fd5c7c402313dfb84df2d701203bf9c18fcbe
The one we had suits a Linux module: System V, and not position independent — the module loader resolves no GOT relocation, and the kernel code model expects the top 2GB. A Windows kernel follows another convention, and the agent's text is mapped a second time into each instrumented process, shared, so that flavor is position independent instead. Soft float is what kernel mode means rather than what either convention says, so both carry it. The convention is a property of the machine rather than the toolchain, so it rides in the machine file for whoever generates or inspects the code.
releng
Build system infrastructure to ensure fast and consistent builds across projects.
Intended to be used as a git submodule at /releng in projects.
Setting up a new project
- Set up the repo:
$ git init my-project
$ cd my-project
$ git submodule add https://github.com/frida/releng.git
$ cp releng/meson-scripts/* .
$ echo -e '/build/\n/deps/' > .gitignore
- Create
meson.buildcontaining:
project('my-project', 'vala', version: '1.0.0')
executable('hello', 'hello.vala', dependencies: dependency('glib-2.0'))
- Create
hello.valacontaining:
int main (string[] args) {
print ("Hello World from Vala!\n");
return 0;
}
- Build and run:
$ make
$ ./build/hello
Hello World from Vala!
$
Cross-compiling
iOS
$ ./configure --host=ios-arm64
$ make
Android
$ ./configure --host=android-arm64
$ make
Raspberry Pi
$ sudo apt-get install g++-arm-linux-gnueabihf
$ ./configure --host=arm-linux-gnueabihf
$ make
Languages
Python
87%
C
8.9%
JavaScript
1.7%
Shell
1.6%
Batchfile
0.5%
Other
0.3%