diff options
| author | KreitinnSoftware <80591934+KreitinnSoftware@users.noreply.github.com> | 2024-02-17 15:26:49 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-17 19:26:49 +0100 |
| commit | 477e531af9497616d3dac31af0263692e8c43ba3 (patch) | |
| tree | 87b61847d8804cfe805d377f5561eab68432ad04 | |
| parent | 47b8e2a98330c7381f973007436ba7faa8de27ec (diff) | |
| download | box64-477e531af9497616d3dac31af0263692e8c43ba3.tar.gz box64-477e531af9497616d3dac31af0263692e8c43ba3.zip | |
[ANDROID] Fix Build When Compiling with NDK 26b, [CI] Download Basic Android Libs from 'termux-docker' and update NDK to 26b (#1270)
* [CI] Download Basic Android Libs from termux-docker for speed-up CI build * [ANDROID] Fix 'SHT_CHECKSUM' error when compiling on NDK 26b * [CI] Update NDK for 26b
| -rw-r--r-- | .github/workflows/release.yml | 20 | ||||
| -rw-r--r-- | src/elfs/elfload_dump.c | 8 |
2 files changed, 12 insertions, 16 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bb532570..13a6072a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,19 +49,14 @@ jobs: if [[ ${{ matrix.platform }} != 'X64' && ${{ matrix.platform }} != 'OTHER_ARM' && ${{ matrix.platform }} != 'RISCV' ]]; then sudo apt-get -y install git cmake make python3 if [[ ${{ matrix.platform }} == 'ANDROID' || ${{ matrix.platform }} == 'TERMUX' ]]; then - wget https://dl.google.com/android/repository/android-ndk-r25b-linux.zip - unzip android-ndk-r25b-linux.zip - echo "BOX64_COMPILER=$PWD/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang" >> $GITHUB_ENV + wget https://dl.google.com/android/repository/android-ndk-r26b-linux.zip + unzip android-ndk-r26b-linux.zip + echo "BOX64_COMPILER=$PWD/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang" >> $GITHUB_ENV echo "BOX64_PLATFORM_MARCRO=-DANDROID=1 -DARM_DYNAREC=1 -DBAD_SIGNAL=1" >> $GITHUB_ENV - wget https://sinalbr.dl.sourceforge.net/project/waydroid/images/system/lineage/waydroid_arm64/lineage-18.1-20240210-VANILLA-waydroid_arm64-system.zip - unzip lineage-18.1-20240210-VANILLA-waydroid_arm64-system.zip - sudo mount system.img /mnt - sudo cp -rf /mnt/system / - sudo umount /mnt - sudo rm -rf /system/vendor - sudo chmod 755 -R /system/* - sudo chown -R $(whoami):$(whoami) /system/* - sudo ln -sf /system/apex /apex + git clone https://github.com/termux/termux-docker.git + sudo cp -rf termux-docker/system/arm /system + sudo chown -R $(whoami):$(whoami) /system + sudo chmod 755 -R /system else sudo apt-get -y install git gcc-aarch64-linux-gnu echo "BOX64_PLATFORM_MARCRO=-D${{ matrix.platform }}=1" >> $GITHUB_ENV @@ -146,7 +141,6 @@ jobs: INTERPRETER=qemu-aarch64-static QEMU_LD_PREFIX=/system/lib64 BOX64_DYNAREC=0 ctest -j$(nproc) --rerun-failed --output-on-failure INTERPRETER=qemu-aarch64-static QEMU_LD_PREFIX=/system/lib64 ctest -j$(nproc) --rerun-failed --output-on-failure elif [[ ${{ matrix.platform }} == 'TERMUX' ]]; then - INTERPRETER=qemu-aarch64-static QEMU_SET_ENV=LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib QEMU_LD_PREFIX=/system/lib64:/data/data/com.termux/files/usr/lib BOX64_DYNAREC=0 ctest -j$(nproc) --rerun-failed --output-on-failure INTERPRETER=qemu-aarch64-static QEMU_SET_ENV=LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib QEMU_LD_PREFIX=/system/lib64:/data/data/com.termux/files/usr/lib ctest -j$(nproc) --rerun-failed --output-on-failure else diff --git a/src/elfs/elfload_dump.c b/src/elfs/elfload_dump.c index 4c9cf228..2a8189b5 100644 --- a/src/elfs/elfload_dump.c +++ b/src/elfs/elfload_dump.c @@ -9,6 +9,10 @@ #include "elfload_dump.h" #include "elfloader_private.h" +#ifndef SHT_CHECKSUM +#define SHT_CHECKSUM 0x6ffffff8 +#endif + const char* DumpSection(Elf64_Shdr *s, char* SST) { static char buff[400]; switch (s->sh_type) { @@ -45,9 +49,7 @@ const char* DumpSection(Elf64_Shdr *s, char* SST) { GO(SHT_GNU_ATTRIBUTES); GO(SHT_GNU_HASH); GO(SHT_GNU_LIBLIST); - #ifndef TERMUX - GO(SHT_CHECKSUM); - #endif + GO(SHT_CHECKSUM); GO(SHT_LOSUNW); //GO(SHT_SUNW_move); GO(SHT_SUNW_COMDAT); |