From c3fb42fcd9a15ee8a599eb3454080678940b1c5d Mon Sep 17 00:00:00 2001 From: Mathias Boulay Date: Wed, 10 Apr 2024 01:04:29 +0200 Subject: [PATCH] debug: print info about class loading --- .github/workflows/build.yml | 127 +++++++++--------------------------- patches/jdk17u_android.diff | 10 +++ 2 files changed, 40 insertions(+), 97 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b75c854..b73a212 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,110 +5,43 @@ on: pull_request: workflow_dispatch: schedule: - - cron: '0 1 1 */2 *' + - cron: "0 1 1 */2 *" jobs: build_android: strategy: matrix: - arch: [ "aarch32", "aarch64", "x86", "x86_64" ] + arch: ["aarch64"] fail-fast: false name: "Build for Android ${{matrix.arch}}" runs-on: ubuntu-22.04 steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: set up JDK 1.17 - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - - name: Install build dependencies - run: | - sudo apt update - sudo apt -y install autoconf python3 python-is-python3 unzip zip systemtap-sdt-dev libxtst-dev libasound2-dev libelf-dev libfontconfig1-dev libx11-dev libxext-dev libxrandr-dev libxrender-dev libxtst-dev libxt-dev - - name: Build with CI build script - run: bash "ci_build_arch_${{matrix.arch}}.sh" - - name: Upload JDK build output - uses: actions/upload-artifact@v4 - with: - name: "jdk17-${{matrix.arch}}" - path: jdk17*.tar.xz - - name: Upload JRE build output - uses: actions/upload-artifact@v4 - with: - name: 'jre17-${{matrix.arch}}' - path: jre17*.tar.xz - - name: Upload JRE debuginfo build output - uses: actions/upload-artifact@v4 - with: - name: "jre17-debuginfo-${{matrix.arch}}" - path: dizout - - build_iosport: - name: "Build for iOS aarch64" - runs-on: MacStadium - continue-on-error: true - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Build with CI build script - run: | - export PATH=/opt/procursus/bin:/opt/homebrew/bin:$PATH - export JAVA_HOME=$(/usr/libexec/java_home -v 17) - export BUILD_IOS=1 - bash "ci_build_arch_aarch64.sh" - -# - name: Upload JDK build output -# uses: actions/upload-artifact@v4 -# with: -# name: "jdk17-ios-aarch64" -# path: jdk17*.tar.xz - - - name: Upload JRE build output - uses: actions/upload-artifact@v4 - with: - name: 'jre17-ios-aarch64' - path: jre17*.tar.xz - - - name: Upload JRE debuginfo build output - uses: actions/upload-artifact@v4 - with: - name: "jre17-ios-debuginfo-aarch64" - path: dizout - - pojav: - needs: build_android - runs-on: ubuntu-22.04 - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Get jre17-aarch32 - uses: actions/download-artifact@v4 - with: - name: jre17-aarch32 - path: pojav - - name: Get jre17-aarch64 - uses: actions/download-artifact@v4 - with: - name: jre17-aarch64 - path: pojav - - name: Get jre17-x86 - uses: actions/download-artifact@v4 - with: - name: jre17-x86 - path: pojav - - name: Get jre17-x86_64 - uses: actions/download-artifact@v4 - with: - name: jre17-x86_64 - path: pojav - - name: Repack JRE - run: bash "repackjre.sh" $GITHUB_WORKSPACE/pojav $GITHUB_WORKSPACE/pojav/jre17-pojav - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: jre17-pojav - path: pojav/jre17-pojav/* + - name: Checkout repository + uses: actions/checkout@v4 + - name: set up JDK 1.17 + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: temurin + - name: Install build dependencies + run: | + sudo apt update + sudo apt -y install autoconf python3 python-is-python3 unzip zip systemtap-sdt-dev libxtst-dev libasound2-dev libelf-dev libfontconfig1-dev libx11-dev libxext-dev libxrandr-dev libxrender-dev libxtst-dev libxt-dev + - name: Build with CI build script + run: bash "ci_build_arch_${{matrix.arch}}.sh" + - name: Upload JDK build output + uses: actions/upload-artifact@v4 + with: + name: "jdk17-${{matrix.arch}}" + path: jdk17*.tar.xz + - name: Upload JRE build output + uses: actions/upload-artifact@v4 + with: + name: "jre17-${{matrix.arch}}" + path: jre17*.tar.xz + - name: Upload JRE debuginfo build output + uses: actions/upload-artifact@v4 + with: + name: "jre17-debuginfo-${{matrix.arch}}" + path: dizout diff --git a/patches/jdk17u_android.diff b/patches/jdk17u_android.diff index 24b2e85..1cfb3c2 100644 --- a/patches/jdk17u_android.diff +++ b/patches/jdk17u_android.diff @@ -2522,3 +2522,13 @@ index be578a0bb..ce5e8b400 100644 +#if !defined(__GLIBC__) && !defined(__ANDROID__) // Alpine doesn't know these types, define them typedef unsigned int __uint32_t; +diff --git a/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java b/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java +index 75922c34e..a1672ec05 100644 +--- a/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java ++++ b/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java +@@ -175,4 +175,5 @@ public class ClassLoaders { + throws ClassNotFoundException + { ++ System.out.println("AppClassLoader.loadClass: " + cn); + // for compatibility reasons, say where restricted package list has + // been updated to list API packages in the unnamed module.