From d8dc04f8bd8b785b05e23243bf11e113310c34a5 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 15 Apr 2023 20:47:19 -0400 Subject: [PATCH 01/37] Set debug flag for sonar-scanner --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c0f4c8b7..14856aa2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,4 +55,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} run: | - sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" From d3cf2cec700a79ff310fcd795ad549653b78672b Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 29 Apr 2023 16:57:16 -0400 Subject: [PATCH 02/37] Update sonar-project.properties --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 7e4651bf..bd7d0354 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -6,7 +6,7 @@ sonar.organization=proot-me #sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -#sonar.sources=. +sonar.sources=. # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 From 94c9223e6aa297210c6a7264ff53a8ac20789ef0 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 29 Apr 2023 17:02:33 -0400 Subject: [PATCH 03/37] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 14856aa2..31b3b90d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,6 +53,6 @@ jobs: - name: Run sonar-scanner env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" From 9fb64a8f9fbeb35f7fe973d6c39b4c2a364d8be2 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 29 Apr 2023 19:59:02 -0400 Subject: [PATCH 04/37] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 31b3b90d..a0943cce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,4 +55,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | - sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" From e3c2b04eb33e45855eb166c44b4c71a70b20bec3 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Tue, 2 May 2023 08:16:18 -0400 Subject: [PATCH 05/37] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a0943cce..31b3b90d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,4 +55,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | - sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" From aba91d801cd5b3e76087f9edf300533b312394f7 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 3 May 2023 07:07:47 -0400 Subject: [PATCH 06/37] Update main.yml --- .github/workflows/main.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 31b3b90d..6d461f49 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: name: "${{ matrix.SECCOMP == '1' && 'seccomp' || 'no-seccomp' }}" runs-on: ubuntu-latest env: - BUILD_WRAPPER_OUT_DIR: tmp + BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory strategy: fail-fast: false matrix: @@ -36,8 +36,7 @@ jobs: - name: Build elf loader, proot, and care run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src loader.elf loader-m32.elf build.h - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS=--coverage LDFLAGS=--coverage make -C src proot care V=1 + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src clean loader.elf loader-m32.elf build.h proot care V=1 - name: Execute test suite continue-on-error: true From b907db3162a8e03e5db2206ae0b425a080932da1 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 3 May 2023 07:08:37 -0400 Subject: [PATCH 07/37] Update sonar-project.properties --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index bd7d0354..0f379be2 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -6,7 +6,7 @@ sonar.organization=proot-me #sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -sonar.sources=. +sonar.sources=src # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 From 53bdc00d63952dc6ac13563247bed5c5f2c3c95d Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Fri, 5 May 2023 09:05:25 -0400 Subject: [PATCH 08/37] Update main.yml --- .github/workflows/main.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6d461f49..7b8caa19 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,8 +11,8 @@ jobs: build: name: "${{ matrix.SECCOMP == '1' && 'seccomp' || 'no-seccomp' }}" runs-on: ubuntu-latest - env: - BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory + #env: + # BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory strategy: fail-fast: false matrix: @@ -29,20 +29,22 @@ jobs: - name: Install build dependencies run: | sudo apt-get update -qq - sudo apt-get install -qq clang-tools-12 curl gdb lcov libarchive-dev libtalloc-dev sloccount strace swig uthash-dev python3-dev lzop + sudo apt-get install -qq bear clang-tools-12 curl gdb lcov libarchive-dev libtalloc-dev sloccount strace swig uthash-dev python3-dev lzop - name: Gather analytics run: sloccount --details . - name: Build elf loader, proot, and care run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src clean loader.elf loader-m32.elf build.h proot care V=1 + #build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src clean loader.elf loader-m32.elf build.h proot care V=1 + bear -- make -C src clean loader.elf loader-m32.elf build.h proot care V=1 - name: Execute test suite continue-on-error: true timeout-minutes: 10 run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src make -C test -j $(nproc) QUIET_LOG=$PWD/test.log + #build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src make -C test -j $(nproc) QUIET_LOG=$PWD/test.log + env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src bear -- make -C test -j $(nproc) QUIET_LOG=$PWD/test.log - name: Output test log if: always() @@ -54,4 +56,5 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | - sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + sonar-scanner -X From a33b04a5e93fbc6666dc95838dd7d630bbe6df4b Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Fri, 5 May 2023 09:10:32 -0400 Subject: [PATCH 09/37] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7b8caa19..5cc1f7e7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,4 +57,4 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" - sonar-scanner -X + sonar-scanner From e7f5a8273790f22b891482287e9561939eae3d50 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 19 Apr 2023 08:33:45 -0400 Subject: [PATCH 10/37] Android compatibility in temp.c --- src/path/temp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/path/temp.c b/src/path/temp.c index 1cfb6747..998024fd 100644 --- a/src/path/temp.c +++ b/src/path/temp.c @@ -198,7 +198,12 @@ static int remove_temp_directory2(const char *path) int status; char *cwd; +#ifdef __ANDROID__ + cwd = malloc(PATH_MAX); + getcwd(cwd, PATH_MAX); +#else cwd = get_current_dir_name(); +#endif status = chmod(path, 0700); if (status < 0) { From cb7624364af6c644e2d8e8ab18875f1273b6575f Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 19 Apr 2023 09:05:21 -0400 Subject: [PATCH 11/37] Update copyright year --- doc/care/manual.rst | 2 +- doc/proot/manual.rst | 2 +- src/cli/proot.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/care/manual.rst b/doc/care/manual.rst index 137b8906..831fbe7e 100644 --- a/doc/care/manual.rst +++ b/doc/care/manual.rst @@ -442,7 +442,7 @@ Colophon ======== Visit https://proot-me.github.io/care for help, bug reports, suggestions, patches, ... -Copyright (C) 2022 PRoot Developers, licensed under GPL v2 or later. +Copyright (C) 2023 PRoot Developers, licensed under GPL v2 or later. :: diff --git a/doc/proot/manual.rst b/doc/proot/manual.rst index d9b4131c..a6603786 100644 --- a/doc/proot/manual.rst +++ b/doc/proot/manual.rst @@ -671,7 +671,7 @@ Colophon ======== Visit https://proot-me.github.io for help, bug reports, suggestions, patches, ... -Copyright (C) 2022 PRoot Developers, licensed under GPL v2 or later. +Copyright (C) 2023 PRoot Developers, licensed under GPL v2 or later. :: diff --git a/src/cli/proot.h b/src/cli/proot.h index 0ac57977..88c0661e 100644 --- a/src/cli/proot.h +++ b/src/cli/proot.h @@ -77,7 +77,7 @@ static Cli proot_cli = { .subtitle = "chroot, mount --bind, and binfmt_misc without privilege/setup", .synopsis = "proot [option] ... [command]", .colophon = "Visit https://proot-me.github.io for help, bug reports, suggestions, patches, ...\n\ -Copyright (C) 2022 PRoot Developers, licensed under GPL v2 or later.", +Copyright (C) 2023 PRoot Developers, licensed under GPL v2 or later.", .logo = "\ _____ _____ ___\n\ | __ \\ __ \\_____ _____| |_\n\ From b6fa7b59a2e97cde283f7b2cb1a62529bd2e982c Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 19 Apr 2023 10:42:21 -0400 Subject: [PATCH 12/37] Add uthash submodule --- .gitmodules | 3 +++ lib/uthash | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 lib/uthash diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..d9924b28 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lib/uthash"] + path = lib/uthash + url = https://github.com/proot-me/uthash diff --git a/lib/uthash b/lib/uthash new file mode 160000 index 00000000..ca98384c --- /dev/null +++ b/lib/uthash @@ -0,0 +1 @@ +Subproject commit ca98384ce7f30beb216f9a0bc88a3b4340ead729 From 474d7d464509bb29c5e19b4cb53c4302c7600d10 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 19 Apr 2023 11:02:52 -0400 Subject: [PATCH 13/37] Pin lib/uthash at v2.3.0 --- lib/uthash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/uthash b/lib/uthash index ca98384c..e493aa90 160000 --- a/lib/uthash +++ b/lib/uthash @@ -1 +1 @@ -Subproject commit ca98384ce7f30beb216f9a0bc88a3b4340ead729 +Subproject commit e493aa90a2833b4655927598f169c31cfcdf7861 From 94515813a472896ce64f0462e9f4b11afd7911e4 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 22 Apr 2023 10:15:08 -0400 Subject: [PATCH 14/37] Include lib directory in Makefile --- src/GNUmakefile | 2 +- src/extension/care/care.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GNUmakefile b/src/GNUmakefile index 38d89a95..65f6f7ae 100644 --- a/src/GNUmakefile +++ b/src/GNUmakefile @@ -20,7 +20,7 @@ PYTHON_MAJOR_VERSION = $(shell ${PYTHON} -c "import sys; print(sys.version_info. PYTHON_EMBED = $(shell ${PYTHON} -c "import sys; print('--embed' if sys.hexversion > 0x03080000 else '')" 2>/dev/null) HAS_PYTHON_CONFIG := $(shell ${PYTHON}-config --ldflags ${PYTHON_EMBED} 2>/dev/null) -CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I. -I$(VPATH) +CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I. -I$(VPATH) -I$(VPATH)/../lib/uthash/include CFLAGS += -g -Wall -Wextra -O2 CFLAGS += $(shell pkg-config --cflags talloc) LDFLAGS += -Wl,-z,noexecstack diff --git a/src/extension/care/care.c b/src/extension/care/care.c index ea15f8dc..cae1b28a 100644 --- a/src/extension/care/care.c +++ b/src/extension/care/care.c @@ -29,11 +29,11 @@ #include /* time(2), localtime(3), */ #include /* offsetof(3), */ #include /* talloc*, */ -#include /* ut*, UT*, HASH*, */ #include /* STAILQ_*, */ #include /* PRI*, */ #include /* AT_*, */ +#include "uthash.h" /* ut*, UT*, HASH*, */ #include "extension/care/care.h" #include "extension/care/final.h" #include "extension/care/archive.h" From d65be07d3df05e34973c7ada303e0dc263bb5cb3 Mon Sep 17 00:00:00 2001 From: David Leonard Date: Mon, 13 Feb 2023 16:09:01 +1000 Subject: [PATCH 15/37] Add option --mixed-mode to disable mixed execution Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: https://github.com/proot-me/proot/issues/343 --- src/GNUmakefile | 2 +- src/cli/proot.c | 6 ++++++ src/cli/proot.h | 10 ++++++++++ src/execve/enter.c | 2 +- src/tracee/tracee.h | 2 ++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/GNUmakefile b/src/GNUmakefile index 65f6f7ae..168a044a 100644 --- a/src/GNUmakefile +++ b/src/GNUmakefile @@ -184,7 +184,7 @@ care: $(OBJECTS) $(CARE_OBJECTS) # Special case to compute which files depend on the auto-generated # file "build.h". -USE_BUILD_H := $(patsubst $(SRC)%.c,%.o,$(shell egrep -sl 'include[[:space:]]+"build.h"' $(patsubst %.o,$(SRC)%.c,$(OBJECTS) $(CARE_OBJECTS)))) +USE_BUILD_H := $(patsubst $(SRC)%.c,%.o,$(shell grep -E -sl 'include[[:space:]]+"build.h"' $(patsubst %.o,$(SRC)%.c,$(OBJECTS) $(CARE_OBJECTS)))) $(USE_BUILD_H): build.h %.o: %.c diff --git a/src/cli/proot.c b/src/cli/proot.c index 1e2fa66e..429be4c5 100644 --- a/src/cli/proot.c +++ b/src/cli/proot.c @@ -143,6 +143,12 @@ static int handle_option_q(Tracee *tracee, const Cli *cli UNUSED, const char *va return 0; } +static int handle_option_mixed_mode(Tracee *tracee, const Cli *cli UNUSED, const char *value UNUSED) +{ + tracee->mixed_mode = value; + return 0; +} + static int handle_option_w(Tracee *tracee, const Cli *cli UNUSED, const char *value) { tracee->fs->cwd = talloc_strdup(tracee->fs, value); diff --git a/src/cli/proot.h b/src/cli/proot.h index 88c0661e..d363d8de 100644 --- a/src/cli/proot.h +++ b/src/cli/proot.h @@ -51,6 +51,7 @@ static const char *recommended_su_bindings[] = { static int handle_option_r(Tracee *tracee, const Cli *cli, const char *value); static int handle_option_b(Tracee *tracee, const Cli *cli, const char *value); static int handle_option_q(Tracee *tracee, const Cli *cli, const char *value); +static int handle_option_mixed_mode(Tracee *tracee, const Cli *cli, const char *value); static int handle_option_w(Tracee *tracee, const Cli *cli, const char *value); static int handle_option_v(Tracee *tracee, const Cli *cli, const char *value); static int handle_option_V(Tracee *tracee, const Cli *cli, const char *value); @@ -137,6 +138,15 @@ Copyright (C) 2023 PRoot Developers, licensed under GPL v2 or later.", \temulated by QEMU user-mode. The native execution of host programs\n\ \tis still effective and the whole host rootfs is bound to\n\ \t/host-rootfs in the guest environment.", + }, + { .class = "Regular options", + .arguments = { + { .name = "--mixed-mode", .separator = ' ', .value = "value" }, + { .name = NULL, .separator = '\0', .value = NULL } }, + .handler = handle_option_mixed_mode, + .description = "Disable the mixed-execution feature.", + .detail = "\tDo not treat ELF executables specially when they appear to be\n\ +\tnative executables of the host system.", }, { .class = "Regular options", .arguments = { diff --git a/src/execve/enter.c b/src/execve/enter.c index 0ae86d55..4ddb5295 100644 --- a/src/execve/enter.c +++ b/src/execve/enter.c @@ -382,7 +382,7 @@ static int expand_runner(Tracee* tracee, char host_path[PATH_MAX], char user_pat /* No need to adjust argv[] if it's a host binary (a.k.a * mixed-mode). */ - if (!is_host_elf(tracee, host_path)) { + if (tracee->mixed_mode || !is_host_elf(tracee, host_path)) { ArrayOfXPointers *argv; size_t nb_qemu_args; size_t i; diff --git a/src/tracee/tracee.h b/src/tracee/tracee.h index 1e40a38d..3e71e7da 100644 --- a/src/tracee/tracee.h +++ b/src/tracee/tracee.h @@ -204,6 +204,8 @@ typedef struct tracee { * execve sysexit. */ struct load_info *load_info; + /* Disable mixed-execution (native host) check */ + bool mixed_mode; /********************************************************************** * Private but inherited resources * From bb503372564ac536844e9fde25233582236db4ee Mon Sep 17 00:00:00 2001 From: Kimon Hoffmann Date: Mon, 16 Jan 2023 16:25:25 +0100 Subject: [PATCH 16/37] Fix test-0cf405b0 for newer versions of glibc. Newer versions of glibc apparently enforce argv to contain at least one argument, regardless of what what passed to execlp(). This behavioral change resulted in test-0cf405b0 performing an endless loop. This commit addresses this problem by setting an environment variable to indicate, whether the execlp() call has already been performed. --- test/test-0cf405b0.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/test-0cf405b0.c b/test/test-0cf405b0.c index 2566409e..00fc1b14 100644 --- a/test/test-0cf405b0.c +++ b/test/test-0cf405b0.c @@ -1,12 +1,13 @@ #include /* execlp(2), */ -#include /* exit(3), */ +#include /* exit(3), getenv(3), setenv(3)*/ #include /* strcmp(3), */ int main(int argc, char *argv[]) { - if (argc == 0) //strcmp(argv[0], "/proc/self/exe") == 0) + if (getenv("PROC_SELF_EXE") != NULL) exit(EXIT_SUCCESS); + setenv("PROC_SELF_EXE", "1", 1); execlp("/proc/self/exe", NULL); exit(EXIT_FAILURE); } From a89791ce91c66abf5956c969260352feb8976f51 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sun, 23 Apr 2023 19:36:28 +0000 Subject: [PATCH 17/37] Rename test-0cf405b0.c --- ...st-0cf405b0.c => fix_memory_corruption_execve_proc_self_exe.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/{test-0cf405b0.c => fix_memory_corruption_execve_proc_self_exe.c} (100%) diff --git a/test/test-0cf405b0.c b/test/fix_memory_corruption_execve_proc_self_exe.c similarity index 100% rename from test/test-0cf405b0.c rename to test/fix_memory_corruption_execve_proc_self_exe.c From 7278715d517afa65a0f4f485c9daa4e33a656507 Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Fri, 28 Apr 2023 13:55:50 +0200 Subject: [PATCH 18/37] Fix test-25069c12 and test-25069c13 for new kernels. Fix both tests in the same vein as [1]. Note that this behavior had been changed by Linux's [2], not by glibc as suggested by [1]. [1] 10dd605103bfc0856ae0247b2c2cc60e3e32489d [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dcd46d897adb70d63e025f175a00a89797d31a43 --- test/test-25069c12.c | 9 +++++---- test/test-25069c13.c | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/test/test-25069c12.c b/test/test-25069c12.c index 1f6cd52b..b9f27fa8 100644 --- a/test/test-25069c12.c +++ b/test/test-25069c12.c @@ -1,14 +1,15 @@ -#include /* execve(2), */ -#include /* exit(3), */ +#include /* execv(2), */ +#include /* exit(3), getenv(3), setenv(3), */ #include /* strcmp(3), */ int main(int argc, char *argv[]) { char *void_array[] = { NULL }; - if (argc == 0) + if (getenv("PROC_SELF_EXE") != NULL) exit(EXIT_SUCCESS); - execve("/proc/self/exe", void_array, void_array); + setenv("PROC_SELF_EXE", "1", 1); + execv("/proc/self/exe", void_array); exit(EXIT_FAILURE); } diff --git a/test/test-25069c13.c b/test/test-25069c13.c index dc14733b..af8b8d83 100644 --- a/test/test-25069c13.c +++ b/test/test-25069c13.c @@ -1,12 +1,13 @@ -#include /* execve(2), */ -#include /* exit(3), */ +#include /* execv(2), */ +#include /* exit(3), getenv(3), setenv(3), */ #include /* strcmp(3), */ int main(int argc, char *argv[]) { - if (argc == 0) + if (getenv("PROC_SELF_EXE") != NULL) exit(EXIT_SUCCESS); - execve("/proc/self/exe", NULL, NULL); + setenv("PROC_SELF_EXE", "1", 1); + execv("/proc/self/exe", NULL); exit(EXIT_FAILURE); } From d781f3433df175934b03de26eee98ad3f7c425d0 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 13 May 2023 01:45:30 -0500 Subject: [PATCH 19/37] Prepare for PRoot release v5.4.0 Prepare for CARE release v2.3.0 --- CHANGELOG.rst | 25 ++++++++++++++++++++++++- doc/care/manual.rst | 4 ++-- doc/howto-release.rst | 4 ++-- doc/proot/manual.rst | 4 ++-- src/cli/care.h | 2 +- src/cli/proot.h | 2 +- 6 files changed, 32 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6b15b975..8c8e15f9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -11,6 +11,29 @@ Unreleased Please see `Unreleased Changes`_ for more information. +5.4.0 - 2023-05-13 +------------------ + +Added +~~~~~ + +- faccessat2 syscall +- Enable SonarCloud for GitHub Actions +- Include uthash v2.3.0 as submodule +- Disable mixed execution with new --mixed-mode option + +Changed +~~~~~~~ + +- Rename test-0cf405b0.c to fix_memory_corruption_execve_proc_self_exe.c + +Fixed +~~~~~ + +- Android compatibility with cwd +- Running test-0cf405b0 for newer versions of glibc +- Running test-25069c12 and test-25069c13 on newer kernels + 5.3.1 - 2022-04-24 ------------------ @@ -221,6 +244,6 @@ Fixed - Non-executable stack for binaries. -.. _Unreleased Changes: https://github.com/proot-me/proot/compare/v5.3.1...master +.. _Unreleased Changes: https://github.com/proot-me/proot/compare/v5.4.0...master .. _Keep a Changelog: https://keepachangelog.com/en/1.0.0 .. _Semantic Versioning: https://semver.org/spec/v2.0.0.html diff --git a/doc/care/manual.rst b/doc/care/manual.rst index 831fbe7e..1c19a078 100644 --- a/doc/care/manual.rst +++ b/doc/care/manual.rst @@ -6,8 +6,8 @@ Comprehensive Archiver for Reproducible Execution ------------------------------------------------- -:Date: 2014-09-15 -:Version: 2.2 +:Date: 2023-05-13 +:Version: 2.3.0 :Manual section: 1 diff --git a/doc/howto-release.rst b/doc/howto-release.rst index c41dfc5f..6f624e13 100644 --- a/doc/howto-release.rst +++ b/doc/howto-release.rst @@ -41,8 +41,8 @@ Static Binaries The following commands will generate statically-linked binaries which can be optionally distributed for each release:: - make -C src loader.elf loader-m32.elf build.h - LDFLAGS="${LDFLAGS} -static" make -C src proot + make -C src clean loader.elf loader-m32.elf build.h + LDFLAGS="${LDFLAGS} -static" make -C src proot care Documentation Update -------------------- diff --git a/doc/proot/manual.rst b/doc/proot/manual.rst index a6603786..65dd4085 100644 --- a/doc/proot/manual.rst +++ b/doc/proot/manual.rst @@ -6,8 +6,8 @@ ``chroot``, ``mount --bind``, and ``binfmt_misc`` without privilege/setup ------------------------------------------------------------------------- -:Date: 2022-01-04 -:Version: 5.3.0 +:Date: 2023-05-13 +:Version: 5.4.0 :Manual section: 1 diff --git a/src/cli/care.h b/src/cli/care.h index 69f3645a..4cbf69f2 100644 --- a/src/cli/care.h +++ b/src/cli/care.h @@ -6,7 +6,7 @@ #include "cli/cli.h" #ifndef VERSION -#define VERSION "2.2" +#define VERSION "2.3.0" #endif #define CARE_MAX_SIZE 1024 diff --git a/src/cli/proot.h b/src/cli/proot.h index d363d8de..85366b6f 100644 --- a/src/cli/proot.h +++ b/src/cli/proot.h @@ -6,7 +6,7 @@ #include "cli/cli.h" #ifndef VERSION -#define VERSION "5.3.0" +#define VERSION "5.4.0" #endif static const char *recommended_bindings[] = { From 1d241326c25930b849cd1502fcd38692df2100b6 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 13 May 2023 08:55:55 -0500 Subject: [PATCH 20/37] Add comile_commands.json --- compile_commands.json | 1187 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1187 insertions(+) create mode 100644 compile_commands.json diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 00000000..a5ad374b --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,1187 @@ +[ + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + ".check_process_vm.o", + "./.check_process_vm.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/.check_process_vm.c", + "output": "/usr/src/proot/src/.check_process_vm.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + ".check_seccomp_filter.o", + "./.check_seccomp_filter.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/.check_seccomp_filter.c", + "output": "/usr/src/proot/src/.check_seccomp_filter.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-fPIC", + "-ffreestanding", + "-o", + "loader/loader.o", + "./loader/loader.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/loader.c", + "output": "/usr/src/proot/src/loader/loader.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-fPIC", + "-ffreestanding", + "-o", + "loader/assembly.o", + "./loader/assembly.S" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/assembly.S", + "output": "/usr/src/proot/src/loader/assembly.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-m32", + "-fPIC", + "-ffreestanding", + "-mregparm=3", + "-o", + "loader/loader-m32.o", + "./loader/loader.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/loader.c", + "output": "/usr/src/proot/src/loader/loader-m32.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-m32", + "-fPIC", + "-ffreestanding", + "-mregparm=3", + "-o", + "loader/assembly-m32.o", + "./loader/assembly.S" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/assembly.S", + "output": "/usr/src/proot/src/loader/assembly-m32.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/cli.o", + "./cli/cli.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/cli.c", + "output": "/usr/src/proot/src/cli/cli.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/proot.o", + "./cli/proot.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/proot.c", + "output": "/usr/src/proot/src/cli/proot.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/note.o", + "./cli/note.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/note.c", + "output": "/usr/src/proot/src/cli/note.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/enter.o", + "./execve/enter.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/enter.c", + "output": "/usr/src/proot/src/execve/enter.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/exit.o", + "./execve/exit.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/exit.c", + "output": "/usr/src/proot/src/execve/exit.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/shebang.o", + "./execve/shebang.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/shebang.c", + "output": "/usr/src/proot/src/execve/shebang.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/elf.o", + "./execve/elf.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/elf.c", + "output": "/usr/src/proot/src/execve/elf.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/ldso.o", + "./execve/ldso.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/ldso.c", + "output": "/usr/src/proot/src/execve/ldso.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/auxv.o", + "./execve/auxv.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/auxv.c", + "output": "/usr/src/proot/src/execve/auxv.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/aoxp.o", + "./execve/aoxp.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/aoxp.c", + "output": "/usr/src/proot/src/execve/aoxp.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/binding.o", + "./path/binding.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/binding.c", + "output": "/usr/src/proot/src/path/binding.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/glue.o", + "./path/glue.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/glue.c", + "output": "/usr/src/proot/src/path/glue.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/canon.o", + "./path/canon.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/canon.c", + "output": "/usr/src/proot/src/path/canon.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/path.o", + "./path/path.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/path.c", + "output": "/usr/src/proot/src/path/path.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/proc.o", + "./path/proc.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/proc.c", + "output": "/usr/src/proot/src/path/proc.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/temp.o", + "./path/temp.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/temp.c", + "output": "/usr/src/proot/src/path/temp.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/seccomp.o", + "./syscall/seccomp.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/seccomp.c", + "output": "/usr/src/proot/src/syscall/seccomp.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/syscall.o", + "./syscall/syscall.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/syscall.c", + "output": "/usr/src/proot/src/syscall/syscall.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/chain.o", + "./syscall/chain.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/chain.c", + "output": "/usr/src/proot/src/syscall/chain.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/enter.o", + "./syscall/enter.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/enter.c", + "output": "/usr/src/proot/src/syscall/enter.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/exit.o", + "./syscall/exit.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/exit.c", + "output": "/usr/src/proot/src/syscall/exit.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/sysnum.o", + "./syscall/sysnum.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/sysnum.c", + "output": "/usr/src/proot/src/syscall/sysnum.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/socket.o", + "./syscall/socket.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/socket.c", + "output": "/usr/src/proot/src/syscall/socket.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/heap.o", + "./syscall/heap.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/heap.c", + "output": "/usr/src/proot/src/syscall/heap.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/rlimit.o", + "./syscall/rlimit.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/rlimit.c", + "output": "/usr/src/proot/src/syscall/rlimit.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/tracee.o", + "./tracee/tracee.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/tracee.c", + "output": "/usr/src/proot/src/tracee/tracee.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/mem.o", + "./tracee/mem.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/mem.c", + "output": "/usr/src/proot/src/tracee/mem.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/reg.o", + "./tracee/reg.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/reg.c", + "output": "/usr/src/proot/src/tracee/reg.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/event.o", + "./tracee/event.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/event.c", + "output": "/usr/src/proot/src/tracee/event.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "ptrace/ptrace.o", + "./ptrace/ptrace.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/ptrace/ptrace.c", + "output": "/usr/src/proot/src/ptrace/ptrace.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "ptrace/user.o", + "./ptrace/user.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/ptrace/user.c", + "output": "/usr/src/proot/src/ptrace/user.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "ptrace/wait.o", + "./ptrace/wait.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/ptrace/wait.c", + "output": "/usr/src/proot/src/ptrace/wait.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/extension.o", + "./extension/extension.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/extension.c", + "output": "/usr/src/proot/src/extension/extension.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/kompat/kompat.o", + "./extension/kompat/kompat.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/kompat/kompat.c", + "output": "/usr/src/proot/src/extension/kompat/kompat.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/fake_id0/fake_id0.o", + "./extension/fake_id0/fake_id0.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/fake_id0/fake_id0.c", + "output": "/usr/src/proot/src/extension/fake_id0/fake_id0.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/link2symlink/link2symlink.o", + "./extension/link2symlink/link2symlink.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/link2symlink/link2symlink.c", + "output": "/usr/src/proot/src/extension/link2symlink/link2symlink.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/portmap/portmap.o", + "./extension/portmap/portmap.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/portmap/portmap.c", + "output": "/usr/src/proot/src/extension/portmap/portmap.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/portmap/map.o", + "./extension/portmap/map.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/portmap/map.c", + "output": "/usr/src/proot/src/extension/portmap/map.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/python/python.o", + "./extension/python/python.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/python/python.c", + "output": "/usr/src/proot/src/extension/python/python.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/python/proot_wrap.o", + "proot_wrap.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/proot_wrap.c", + "output": "/usr/src/proot/src/extension/python/proot_wrap.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/care.o", + "./cli/care.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/care.c", + "output": "/usr/src/proot/src/cli/care.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/care.o", + "./extension/care/care.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/care.c", + "output": "/usr/src/proot/src/extension/care/care.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/final.o", + "./extension/care/final.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/final.c", + "output": "/usr/src/proot/src/extension/care/final.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/extract.o", + "./extension/care/extract.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/extract.c", + "output": "/usr/src/proot/src/extension/care/extract.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/archive.o", + "./extension/care/archive.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/archive.c", + "output": "/usr/src/proot/src/extension/care/archive.o" + } +] From dd98250af07d0b2b52861ff39cbc707704f6d25a Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 13 May 2023 09:01:48 -0500 Subject: [PATCH 21/37] Enable debug flag --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5cc1f7e7..7b8caa19 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,4 +57,4 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" - sonar-scanner + sonar-scanner -X From 625710643425ffb894ef4263b9372629368f299d Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Sat, 13 May 2023 13:36:59 -0500 Subject: [PATCH 22/37] Update main.yml --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7b8caa19..6c1d7404 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,4 +57,9 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + + #ava.io.UncheckedIOException: java.nio.file.AccessDenie + ls -la /home/runner/work/proot/proot/test/rootfs/tmp/ + #8ed82090abe700785a60e5a8c6fc326 + sonar-scanner -X From f9f256f32f749d818a9fd6979cfc8b845163b118 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 20:46:33 -0500 Subject: [PATCH 23/37] Update main.yml --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6c1d7404..c8f26b20 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,8 +57,7 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" - - #ava.io.UncheckedIOException: java.nio.file.AccessDenie + whoami ls -la /home/runner/work/proot/proot/test/rootfs/tmp/ #8ed82090abe700785a60e5a8c6fc326 From 9efd15a1137ec4e2a2ee94149fb530882e10e499 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 20:57:57 -0500 Subject: [PATCH 24/37] Update main.yml --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c8f26b20..fa1c820d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,7 +58,7 @@ jobs: run: | #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" whoami - ls -la /home/runner/work/proot/proot/test/rootfs/tmp/ - #8ed82090abe700785a60e5a8c6fc326 + find /home/runner/work/proot/proot/test/ -type d -exec chmod 755 {} \; + find /home/runner/work/proot/proot/test/ -type f -exec chmod 644 {} \; sonar-scanner -X From a444bc4f5e5c2945f899dc8d3db2a3b21c09b187 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:02:46 -0500 Subject: [PATCH 25/37] Update sonar-project.properties --- sonar-project.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/sonar-project.properties b/sonar-project.properties index 0f379be2..817a21b0 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,6 +7,7 @@ sonar.organization=proot-me # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. sonar.sources=src +sonar.cfamily.compile-commands=compile_commands.json # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 From bf6a3eba7e8fc7fe9789137324c323e04ef93afe Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:24:44 -0500 Subject: [PATCH 26/37] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fa1c820d..690c8524 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -61,4 +61,4 @@ jobs: find /home/runner/work/proot/proot/test/ -type d -exec chmod 755 {} \; find /home/runner/work/proot/proot/test/ -type f -exec chmod 644 {} \; - sonar-scanner -X + sonar-scanner From 39cfe476bdff759cd79816191cd90f4d58f29fc4 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:26:15 -0500 Subject: [PATCH 27/37] Update sonar-project.properties --- sonar-project.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 817a21b0..e5430f74 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -6,8 +6,9 @@ sonar.organization=proot-me #sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -sonar.sources=src +sonar.sources=. sonar.cfamily.compile-commands=compile_commands.json # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 +sonar.host.url=https://sonarcloud.io From 442082ad95b5166180fa329b2ab1f8e5ef383210 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:28:24 -0500 Subject: [PATCH 28/37] Update sonar-project.properties --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index e5430f74..77f8921f 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -6,7 +6,7 @@ sonar.organization=proot-me #sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -sonar.sources=. +sonar.sources=src sonar.cfamily.compile-commands=compile_commands.json # Encoding of the source code. Default is default system encoding From abc61a4db2cc10a9027ab01844b641556f610ec3 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:28:43 -0500 Subject: [PATCH 29/37] Delete compile_commands.json --- compile_commands.json | 1187 ----------------------------------------- 1 file changed, 1187 deletions(-) delete mode 100644 compile_commands.json diff --git a/compile_commands.json b/compile_commands.json deleted file mode 100644 index a5ad374b..00000000 --- a/compile_commands.json +++ /dev/null @@ -1,1187 +0,0 @@ -[ - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - ".check_process_vm.o", - "./.check_process_vm.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/.check_process_vm.c", - "output": "/usr/src/proot/src/.check_process_vm.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - ".check_seccomp_filter.o", - "./.check_seccomp_filter.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/.check_seccomp_filter.c", - "output": "/usr/src/proot/src/.check_seccomp_filter.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-fPIC", - "-ffreestanding", - "-o", - "loader/loader.o", - "./loader/loader.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/loader.c", - "output": "/usr/src/proot/src/loader/loader.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-fPIC", - "-ffreestanding", - "-o", - "loader/assembly.o", - "./loader/assembly.S" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/assembly.S", - "output": "/usr/src/proot/src/loader/assembly.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-m32", - "-fPIC", - "-ffreestanding", - "-mregparm=3", - "-o", - "loader/loader-m32.o", - "./loader/loader.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/loader.c", - "output": "/usr/src/proot/src/loader/loader-m32.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-m32", - "-fPIC", - "-ffreestanding", - "-mregparm=3", - "-o", - "loader/assembly-m32.o", - "./loader/assembly.S" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/assembly.S", - "output": "/usr/src/proot/src/loader/assembly-m32.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/cli.o", - "./cli/cli.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/cli.c", - "output": "/usr/src/proot/src/cli/cli.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/proot.o", - "./cli/proot.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/proot.c", - "output": "/usr/src/proot/src/cli/proot.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/note.o", - "./cli/note.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/note.c", - "output": "/usr/src/proot/src/cli/note.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/enter.o", - "./execve/enter.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/enter.c", - "output": "/usr/src/proot/src/execve/enter.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/exit.o", - "./execve/exit.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/exit.c", - "output": "/usr/src/proot/src/execve/exit.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/shebang.o", - "./execve/shebang.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/shebang.c", - "output": "/usr/src/proot/src/execve/shebang.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/elf.o", - "./execve/elf.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/elf.c", - "output": "/usr/src/proot/src/execve/elf.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/ldso.o", - "./execve/ldso.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/ldso.c", - "output": "/usr/src/proot/src/execve/ldso.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/auxv.o", - "./execve/auxv.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/auxv.c", - "output": "/usr/src/proot/src/execve/auxv.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/aoxp.o", - "./execve/aoxp.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/aoxp.c", - "output": "/usr/src/proot/src/execve/aoxp.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/binding.o", - "./path/binding.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/binding.c", - "output": "/usr/src/proot/src/path/binding.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/glue.o", - "./path/glue.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/glue.c", - "output": "/usr/src/proot/src/path/glue.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/canon.o", - "./path/canon.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/canon.c", - "output": "/usr/src/proot/src/path/canon.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/path.o", - "./path/path.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/path.c", - "output": "/usr/src/proot/src/path/path.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/proc.o", - "./path/proc.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/proc.c", - "output": "/usr/src/proot/src/path/proc.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/temp.o", - "./path/temp.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/temp.c", - "output": "/usr/src/proot/src/path/temp.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/seccomp.o", - "./syscall/seccomp.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/seccomp.c", - "output": "/usr/src/proot/src/syscall/seccomp.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/syscall.o", - "./syscall/syscall.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/syscall.c", - "output": "/usr/src/proot/src/syscall/syscall.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/chain.o", - "./syscall/chain.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/chain.c", - "output": "/usr/src/proot/src/syscall/chain.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/enter.o", - "./syscall/enter.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/enter.c", - "output": "/usr/src/proot/src/syscall/enter.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/exit.o", - "./syscall/exit.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/exit.c", - "output": "/usr/src/proot/src/syscall/exit.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/sysnum.o", - "./syscall/sysnum.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/sysnum.c", - "output": "/usr/src/proot/src/syscall/sysnum.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/socket.o", - "./syscall/socket.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/socket.c", - "output": "/usr/src/proot/src/syscall/socket.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/heap.o", - "./syscall/heap.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/heap.c", - "output": "/usr/src/proot/src/syscall/heap.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/rlimit.o", - "./syscall/rlimit.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/rlimit.c", - "output": "/usr/src/proot/src/syscall/rlimit.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/tracee.o", - "./tracee/tracee.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/tracee.c", - "output": "/usr/src/proot/src/tracee/tracee.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/mem.o", - "./tracee/mem.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/mem.c", - "output": "/usr/src/proot/src/tracee/mem.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/reg.o", - "./tracee/reg.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/reg.c", - "output": "/usr/src/proot/src/tracee/reg.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/event.o", - "./tracee/event.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/event.c", - "output": "/usr/src/proot/src/tracee/event.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "ptrace/ptrace.o", - "./ptrace/ptrace.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/ptrace/ptrace.c", - "output": "/usr/src/proot/src/ptrace/ptrace.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "ptrace/user.o", - "./ptrace/user.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/ptrace/user.c", - "output": "/usr/src/proot/src/ptrace/user.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "ptrace/wait.o", - "./ptrace/wait.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/ptrace/wait.c", - "output": "/usr/src/proot/src/ptrace/wait.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/extension.o", - "./extension/extension.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/extension.c", - "output": "/usr/src/proot/src/extension/extension.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/kompat/kompat.o", - "./extension/kompat/kompat.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/kompat/kompat.c", - "output": "/usr/src/proot/src/extension/kompat/kompat.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/fake_id0/fake_id0.o", - "./extension/fake_id0/fake_id0.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/fake_id0/fake_id0.c", - "output": "/usr/src/proot/src/extension/fake_id0/fake_id0.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/link2symlink/link2symlink.o", - "./extension/link2symlink/link2symlink.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/link2symlink/link2symlink.c", - "output": "/usr/src/proot/src/extension/link2symlink/link2symlink.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/portmap/portmap.o", - "./extension/portmap/portmap.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/portmap/portmap.c", - "output": "/usr/src/proot/src/extension/portmap/portmap.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/portmap/map.o", - "./extension/portmap/map.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/portmap/map.c", - "output": "/usr/src/proot/src/extension/portmap/map.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/python/python.o", - "./extension/python/python.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/python/python.c", - "output": "/usr/src/proot/src/extension/python/python.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/python/proot_wrap.o", - "proot_wrap.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/proot_wrap.c", - "output": "/usr/src/proot/src/extension/python/proot_wrap.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/care.o", - "./cli/care.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/care.c", - "output": "/usr/src/proot/src/cli/care.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/care.o", - "./extension/care/care.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/care.c", - "output": "/usr/src/proot/src/extension/care/care.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/final.o", - "./extension/care/final.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/final.c", - "output": "/usr/src/proot/src/extension/care/final.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/extract.o", - "./extension/care/extract.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/extract.c", - "output": "/usr/src/proot/src/extension/care/extract.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/archive.o", - "./extension/care/archive.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/archive.c", - "output": "/usr/src/proot/src/extension/care/archive.o" - } -] From 6864092208f6dfcf7fb043095ada0eb9cb30769f Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:35:34 -0500 Subject: [PATCH 30/37] Update main.yml --- .github/workflows/main.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 690c8524..a9bfad18 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,8 +11,6 @@ jobs: build: name: "${{ matrix.SECCOMP == '1' && 'seccomp' || 'no-seccomp' }}" runs-on: ubuntu-latest - #env: - # BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory strategy: fail-fast: false matrix: @@ -36,14 +34,12 @@ jobs: - name: Build elf loader, proot, and care run: | - #build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src clean loader.elf loader-m32.elf build.h proot care V=1 bear -- make -C src clean loader.elf loader-m32.elf build.h proot care V=1 - name: Execute test suite continue-on-error: true timeout-minutes: 10 run: | - #build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src make -C test -j $(nproc) QUIET_LOG=$PWD/test.log env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src bear -- make -C test -j $(nproc) QUIET_LOG=$PWD/test.log - name: Output test log @@ -56,9 +52,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | - #sonar-scanner -X --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" - whoami find /home/runner/work/proot/proot/test/ -type d -exec chmod 755 {} \; find /home/runner/work/proot/proot/test/ -type f -exec chmod 644 {} \; - sonar-scanner From 18040ee6927e50a6a1a5e680ab50d09e7f9e70de Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 21:52:48 -0500 Subject: [PATCH 31/37] Re-add compile_commands.json --- compile_commands.json | 1187 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1187 insertions(+) create mode 100644 compile_commands.json diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 00000000..5ffa36c8 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,1187 @@ +[ + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-fPIC", + "-ffreestanding", + "-o", + "loader/loader.o", + "./loader/loader.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/loader.c", + "output": "/usr/src/proot/src/loader/loader.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-fPIC", + "-ffreestanding", + "-o", + "loader/assembly.o", + "./loader/assembly.S" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/assembly.S", + "output": "/usr/src/proot/src/loader/assembly.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-m32", + "-fPIC", + "-ffreestanding", + "-mregparm=3", + "-o", + "loader/loader-m32.o", + "./loader/loader.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/loader.c", + "output": "/usr/src/proot/src/loader/loader-m32.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-m32", + "-fPIC", + "-ffreestanding", + "-mregparm=3", + "-o", + "loader/assembly-m32.o", + "./loader/assembly.S" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/loader/assembly.S", + "output": "/usr/src/proot/src/loader/assembly-m32.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + ".check_process_vm.o", + "./.check_process_vm.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/.check_process_vm.c", + "output": "/usr/src/proot/src/.check_process_vm.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + ".check_seccomp_filter.o", + "./.check_seccomp_filter.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/.check_seccomp_filter.c", + "output": "/usr/src/proot/src/.check_seccomp_filter.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/cli.o", + "./cli/cli.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/cli.c", + "output": "/usr/src/proot/src/cli/cli.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/proot.o", + "./cli/proot.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/proot.c", + "output": "/usr/src/proot/src/cli/proot.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/note.o", + "./cli/note.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/note.c", + "output": "/usr/src/proot/src/cli/note.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/enter.o", + "./execve/enter.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/enter.c", + "output": "/usr/src/proot/src/execve/enter.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/exit.o", + "./execve/exit.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/exit.c", + "output": "/usr/src/proot/src/execve/exit.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/shebang.o", + "./execve/shebang.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/shebang.c", + "output": "/usr/src/proot/src/execve/shebang.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/elf.o", + "./execve/elf.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/elf.c", + "output": "/usr/src/proot/src/execve/elf.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/ldso.o", + "./execve/ldso.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/ldso.c", + "output": "/usr/src/proot/src/execve/ldso.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/auxv.o", + "./execve/auxv.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/auxv.c", + "output": "/usr/src/proot/src/execve/auxv.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "execve/aoxp.o", + "./execve/aoxp.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/execve/aoxp.c", + "output": "/usr/src/proot/src/execve/aoxp.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/binding.o", + "./path/binding.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/binding.c", + "output": "/usr/src/proot/src/path/binding.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/glue.o", + "./path/glue.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/glue.c", + "output": "/usr/src/proot/src/path/glue.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/canon.o", + "./path/canon.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/canon.c", + "output": "/usr/src/proot/src/path/canon.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/path.o", + "./path/path.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/path.c", + "output": "/usr/src/proot/src/path/path.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/proc.o", + "./path/proc.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/proc.c", + "output": "/usr/src/proot/src/path/proc.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "path/temp.o", + "./path/temp.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/path/temp.c", + "output": "/usr/src/proot/src/path/temp.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/seccomp.o", + "./syscall/seccomp.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/seccomp.c", + "output": "/usr/src/proot/src/syscall/seccomp.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/syscall.o", + "./syscall/syscall.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/syscall.c", + "output": "/usr/src/proot/src/syscall/syscall.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/chain.o", + "./syscall/chain.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/chain.c", + "output": "/usr/src/proot/src/syscall/chain.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/enter.o", + "./syscall/enter.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/enter.c", + "output": "/usr/src/proot/src/syscall/enter.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/exit.o", + "./syscall/exit.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/exit.c", + "output": "/usr/src/proot/src/syscall/exit.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/sysnum.o", + "./syscall/sysnum.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/sysnum.c", + "output": "/usr/src/proot/src/syscall/sysnum.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/socket.o", + "./syscall/socket.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/socket.c", + "output": "/usr/src/proot/src/syscall/socket.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/heap.o", + "./syscall/heap.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/heap.c", + "output": "/usr/src/proot/src/syscall/heap.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "syscall/rlimit.o", + "./syscall/rlimit.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/syscall/rlimit.c", + "output": "/usr/src/proot/src/syscall/rlimit.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/tracee.o", + "./tracee/tracee.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/tracee.c", + "output": "/usr/src/proot/src/tracee/tracee.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/mem.o", + "./tracee/mem.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/mem.c", + "output": "/usr/src/proot/src/tracee/mem.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/reg.o", + "./tracee/reg.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/reg.c", + "output": "/usr/src/proot/src/tracee/reg.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "tracee/event.o", + "./tracee/event.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/tracee/event.c", + "output": "/usr/src/proot/src/tracee/event.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "ptrace/ptrace.o", + "./ptrace/ptrace.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/ptrace/ptrace.c", + "output": "/usr/src/proot/src/ptrace/ptrace.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "ptrace/user.o", + "./ptrace/user.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/ptrace/user.c", + "output": "/usr/src/proot/src/ptrace/user.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "ptrace/wait.o", + "./ptrace/wait.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/ptrace/wait.c", + "output": "/usr/src/proot/src/ptrace/wait.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/extension.o", + "./extension/extension.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/extension.c", + "output": "/usr/src/proot/src/extension/extension.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/kompat/kompat.o", + "./extension/kompat/kompat.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/kompat/kompat.c", + "output": "/usr/src/proot/src/extension/kompat/kompat.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/fake_id0/fake_id0.o", + "./extension/fake_id0/fake_id0.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/fake_id0/fake_id0.c", + "output": "/usr/src/proot/src/extension/fake_id0/fake_id0.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/link2symlink/link2symlink.o", + "./extension/link2symlink/link2symlink.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/link2symlink/link2symlink.c", + "output": "/usr/src/proot/src/extension/link2symlink/link2symlink.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/portmap/portmap.o", + "./extension/portmap/portmap.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/portmap/portmap.c", + "output": "/usr/src/proot/src/extension/portmap/portmap.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/portmap/map.o", + "./extension/portmap/map.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/portmap/map.c", + "output": "/usr/src/proot/src/extension/portmap/map.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/python/python.o", + "./extension/python/python.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/python/python.c", + "output": "/usr/src/proot/src/extension/python/python.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/python/proot_wrap.o", + "proot_wrap.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/proot_wrap.c", + "output": "/usr/src/proot/src/extension/python/proot_wrap.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "cli/care.o", + "./cli/care.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/cli/care.c", + "output": "/usr/src/proot/src/cli/care.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/care.o", + "./extension/care/care.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/care.c", + "output": "/usr/src/proot/src/extension/care/care.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/final.o", + "./extension/care/final.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/final.c", + "output": "/usr/src/proot/src/extension/care/final.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/extract.o", + "./extension/care/extract.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/extract.c", + "output": "/usr/src/proot/src/extension/care/extract.o" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-D_FILE_OFFSET_BITS=64", + "-D_GNU_SOURCE", + "-I.", + "-I./", + "-I.//../lib/uthash/include", + "-I/usr/include/python3.10", + "-I/usr/include/python3.10", + "-g", + "-Wall", + "-Wextra", + "-O2", + "-c", + "-o", + "extension/care/archive.o", + "./extension/care/archive.c" + ], + "directory": "/usr/src/proot/src", + "file": "/usr/src/proot/src/extension/care/archive.c", + "output": "/usr/src/proot/src/extension/care/archive.o" + } +] From 6d64d56da2daa40231c5ab66825097fc1393a3c0 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 22:00:32 -0500 Subject: [PATCH 32/37] Use build wrapper --- .github/workflows/main.yml | 10 +- compile_commands.json | 1187 ------------------------------------ 2 files changed, 6 insertions(+), 1191 deletions(-) delete mode 100644 compile_commands.json diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a9bfad18..6ecdf7ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,6 +11,8 @@ jobs: build: name: "${{ matrix.SECCOMP == '1' && 'seccomp' || 'no-seccomp' }}" runs-on: ubuntu-latest + env: + BUILD_WRAPPER_OUT_DIR: tmp strategy: fail-fast: false matrix: @@ -27,20 +29,20 @@ jobs: - name: Install build dependencies run: | sudo apt-get update -qq - sudo apt-get install -qq bear clang-tools-12 curl gdb lcov libarchive-dev libtalloc-dev sloccount strace swig uthash-dev python3-dev lzop + sudo apt-get install -qq clang-tools-12 curl gdb lcov libarchive-dev libtalloc-dev sloccount strace swig uthash-dev python3-dev lzop - name: Gather analytics run: sloccount --details . - name: Build elf loader, proot, and care run: | - bear -- make -C src clean loader.elf loader-m32.elf build.h proot care V=1 + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS=--coverage LDFLAGS=--coverage make -C src clean loader.elf loader-m32.elf build.h proot care - name: Execute test suite continue-on-error: true timeout-minutes: 10 run: | - env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src bear -- make -C test -j $(nproc) QUIET_LOG=$PWD/test.log + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src bear -- make -C test -j $(nproc) QUIET_LOG=$PWD/test.log - name: Output test log if: always() @@ -54,4 +56,4 @@ jobs: run: | find /home/runner/work/proot/proot/test/ -type d -exec chmod 755 {} \; find /home/runner/work/proot/proot/test/ -type f -exec chmod 644 {} \; - sonar-scanner + sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" diff --git a/compile_commands.json b/compile_commands.json deleted file mode 100644 index 5ffa36c8..00000000 --- a/compile_commands.json +++ /dev/null @@ -1,1187 +0,0 @@ -[ - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-fPIC", - "-ffreestanding", - "-o", - "loader/loader.o", - "./loader/loader.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/loader.c", - "output": "/usr/src/proot/src/loader/loader.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-fPIC", - "-ffreestanding", - "-o", - "loader/assembly.o", - "./loader/assembly.S" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/assembly.S", - "output": "/usr/src/proot/src/loader/assembly.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-m32", - "-fPIC", - "-ffreestanding", - "-mregparm=3", - "-o", - "loader/loader-m32.o", - "./loader/loader.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/loader.c", - "output": "/usr/src/proot/src/loader/loader-m32.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-m32", - "-fPIC", - "-ffreestanding", - "-mregparm=3", - "-o", - "loader/assembly-m32.o", - "./loader/assembly.S" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/loader/assembly.S", - "output": "/usr/src/proot/src/loader/assembly-m32.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - ".check_process_vm.o", - "./.check_process_vm.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/.check_process_vm.c", - "output": "/usr/src/proot/src/.check_process_vm.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - ".check_seccomp_filter.o", - "./.check_seccomp_filter.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/.check_seccomp_filter.c", - "output": "/usr/src/proot/src/.check_seccomp_filter.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/cli.o", - "./cli/cli.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/cli.c", - "output": "/usr/src/proot/src/cli/cli.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/proot.o", - "./cli/proot.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/proot.c", - "output": "/usr/src/proot/src/cli/proot.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/note.o", - "./cli/note.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/note.c", - "output": "/usr/src/proot/src/cli/note.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/enter.o", - "./execve/enter.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/enter.c", - "output": "/usr/src/proot/src/execve/enter.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/exit.o", - "./execve/exit.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/exit.c", - "output": "/usr/src/proot/src/execve/exit.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/shebang.o", - "./execve/shebang.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/shebang.c", - "output": "/usr/src/proot/src/execve/shebang.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/elf.o", - "./execve/elf.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/elf.c", - "output": "/usr/src/proot/src/execve/elf.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/ldso.o", - "./execve/ldso.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/ldso.c", - "output": "/usr/src/proot/src/execve/ldso.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/auxv.o", - "./execve/auxv.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/auxv.c", - "output": "/usr/src/proot/src/execve/auxv.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "execve/aoxp.o", - "./execve/aoxp.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/execve/aoxp.c", - "output": "/usr/src/proot/src/execve/aoxp.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/binding.o", - "./path/binding.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/binding.c", - "output": "/usr/src/proot/src/path/binding.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/glue.o", - "./path/glue.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/glue.c", - "output": "/usr/src/proot/src/path/glue.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/canon.o", - "./path/canon.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/canon.c", - "output": "/usr/src/proot/src/path/canon.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/path.o", - "./path/path.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/path.c", - "output": "/usr/src/proot/src/path/path.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/proc.o", - "./path/proc.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/proc.c", - "output": "/usr/src/proot/src/path/proc.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "path/temp.o", - "./path/temp.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/path/temp.c", - "output": "/usr/src/proot/src/path/temp.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/seccomp.o", - "./syscall/seccomp.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/seccomp.c", - "output": "/usr/src/proot/src/syscall/seccomp.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/syscall.o", - "./syscall/syscall.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/syscall.c", - "output": "/usr/src/proot/src/syscall/syscall.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/chain.o", - "./syscall/chain.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/chain.c", - "output": "/usr/src/proot/src/syscall/chain.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/enter.o", - "./syscall/enter.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/enter.c", - "output": "/usr/src/proot/src/syscall/enter.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/exit.o", - "./syscall/exit.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/exit.c", - "output": "/usr/src/proot/src/syscall/exit.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/sysnum.o", - "./syscall/sysnum.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/sysnum.c", - "output": "/usr/src/proot/src/syscall/sysnum.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/socket.o", - "./syscall/socket.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/socket.c", - "output": "/usr/src/proot/src/syscall/socket.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/heap.o", - "./syscall/heap.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/heap.c", - "output": "/usr/src/proot/src/syscall/heap.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "syscall/rlimit.o", - "./syscall/rlimit.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/syscall/rlimit.c", - "output": "/usr/src/proot/src/syscall/rlimit.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/tracee.o", - "./tracee/tracee.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/tracee.c", - "output": "/usr/src/proot/src/tracee/tracee.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/mem.o", - "./tracee/mem.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/mem.c", - "output": "/usr/src/proot/src/tracee/mem.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/reg.o", - "./tracee/reg.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/reg.c", - "output": "/usr/src/proot/src/tracee/reg.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "tracee/event.o", - "./tracee/event.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/tracee/event.c", - "output": "/usr/src/proot/src/tracee/event.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "ptrace/ptrace.o", - "./ptrace/ptrace.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/ptrace/ptrace.c", - "output": "/usr/src/proot/src/ptrace/ptrace.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "ptrace/user.o", - "./ptrace/user.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/ptrace/user.c", - "output": "/usr/src/proot/src/ptrace/user.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "ptrace/wait.o", - "./ptrace/wait.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/ptrace/wait.c", - "output": "/usr/src/proot/src/ptrace/wait.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/extension.o", - "./extension/extension.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/extension.c", - "output": "/usr/src/proot/src/extension/extension.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/kompat/kompat.o", - "./extension/kompat/kompat.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/kompat/kompat.c", - "output": "/usr/src/proot/src/extension/kompat/kompat.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/fake_id0/fake_id0.o", - "./extension/fake_id0/fake_id0.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/fake_id0/fake_id0.c", - "output": "/usr/src/proot/src/extension/fake_id0/fake_id0.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/link2symlink/link2symlink.o", - "./extension/link2symlink/link2symlink.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/link2symlink/link2symlink.c", - "output": "/usr/src/proot/src/extension/link2symlink/link2symlink.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/portmap/portmap.o", - "./extension/portmap/portmap.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/portmap/portmap.c", - "output": "/usr/src/proot/src/extension/portmap/portmap.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/portmap/map.o", - "./extension/portmap/map.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/portmap/map.c", - "output": "/usr/src/proot/src/extension/portmap/map.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/python/python.o", - "./extension/python/python.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/python/python.c", - "output": "/usr/src/proot/src/extension/python/python.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/python/proot_wrap.o", - "proot_wrap.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/proot_wrap.c", - "output": "/usr/src/proot/src/extension/python/proot_wrap.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "cli/care.o", - "./cli/care.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/cli/care.c", - "output": "/usr/src/proot/src/cli/care.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/care.o", - "./extension/care/care.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/care.c", - "output": "/usr/src/proot/src/extension/care/care.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/final.o", - "./extension/care/final.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/final.c", - "output": "/usr/src/proot/src/extension/care/final.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/extract.o", - "./extension/care/extract.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/extract.c", - "output": "/usr/src/proot/src/extension/care/extract.o" - }, - { - "arguments": [ - "/usr/bin/gcc", - "-D_FILE_OFFSET_BITS=64", - "-D_GNU_SOURCE", - "-I.", - "-I./", - "-I.//../lib/uthash/include", - "-I/usr/include/python3.10", - "-I/usr/include/python3.10", - "-g", - "-Wall", - "-Wextra", - "-O2", - "-c", - "-o", - "extension/care/archive.o", - "./extension/care/archive.c" - ], - "directory": "/usr/src/proot/src", - "file": "/usr/src/proot/src/extension/care/archive.c", - "output": "/usr/src/proot/src/extension/care/archive.o" - } -] From 1aa16eb22feeaef790aaa1d07c6025b4392fbdd6 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 22:03:59 -0500 Subject: [PATCH 33/37] Update CFLAGS and LDFLAGS --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6ecdf7ec..ae0518fa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: - name: Build elf loader, proot, and care run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS=--coverage LDFLAGS=--coverage make -C src clean loader.elf loader-m32.elf build.h proot care + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-lgcov --coverage" make -C src clean loader.elf loader-m32.elf build.h proot care - name: Execute test suite continue-on-error: true From 7d4b5b576432b7d37e3ca99c35f8b503dabb57e3 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 22:06:56 -0500 Subject: [PATCH 34/37] Fix --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ae0518fa..4de7ed68 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: - name: Build elf loader, proot, and care run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-lgcov --coverage" make -C src clean loader.elf loader-m32.elf build.h proot care + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS="--coverage" LDFLAGS="-lgcov --coverage" make -C src clean loader.elf loader-m32.elf build.h proot care - name: Execute test suite continue-on-error: true From 46fffd1ea490e371f1f9eab9816eb18239424095 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 22:08:15 -0500 Subject: [PATCH 35/37] Remove --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4de7ed68..e65945a5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: - name: Build elf loader, proot, and care run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env CFLAGS="--coverage" LDFLAGS="-lgcov --coverage" make -C src clean loader.elf loader-m32.elf build.h proot care + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src clean loader.elf loader-m32.elf build.h proot care - name: Execute test suite continue-on-error: true From d1d8a1a14d70bd15a44d42b183f6ab9e211c19e2 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 22:09:43 -0500 Subject: [PATCH 36/37] f --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e65945a5..7cad3818 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,7 +42,7 @@ jobs: continue-on-error: true timeout-minutes: 10 run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src bear -- make -C test -j $(nproc) QUIET_LOG=$PWD/test.log + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} env ${{ matrix.SECCOMP == '0' && 'PROOT_NO_SECCOMP=1' || '' }} PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PWD/src make -C test -j $(nproc) QUIET_LOG=$PWD/test.log - name: Output test log if: always() From a2bdf3679861587c1620d7bae3dd1083c483929d Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Wed, 17 May 2023 22:10:28 -0500 Subject: [PATCH 37/37] f --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 77f8921f..e20ebdb2 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,7 +7,7 @@ sonar.organization=proot-me # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. sonar.sources=src -sonar.cfamily.compile-commands=compile_commands.json +#sonar.cfamily.compile-commands=compile_commands.json # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8