diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index fa7eeb87..dbe9c45c 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -10,393 +10,6 @@ on: pull_request: jobs: - build-alpine-static: - - timeout-minutes: 75 - runs-on: ubuntu-22.04 - - strategy: - matrix: - config: - - {arch: x86_64, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} - - {arch: aarch64, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} - - steps: - - name: Setup Alpine Linux - uses: jirutka/setup-alpine@v1 - with: - arch: ${{ matrix.config.arch }} - - - name: Install dependencies - shell: alpine.sh --root {0} - run: | - apk add git cmake gcc g++ make - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build libcurl - shell: alpine.sh {0} - run: | - cd external/src/curl - cmake . -DCMAKE_C_FLAGS="-Os ${{ matrix.config.flags }}" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j$(nproc) - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - shell: alpine.sh {0} - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j$(nproc) - - - name: Build libzmq - shell: alpine.sh {0} - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='-Os ${{ matrix.config.flags }}' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j$(nproc) - - - name: Build p2pool - shell: alpine.sh {0} - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DSTATIC_BINARY=ON -DARCH_ID=${{ matrix.config.arch }} - make -j$(nproc) - - - name: Run RandomX tests - shell: alpine.sh {0} - run: | - build/p2pool --test - build/external/src/RandomX/randomx-tests - - - name: Build tests - shell: alpine.sh {0} - run: | - cd tests - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DSTATIC_LIBS=ON -DARCH_ID=${{ matrix.config.arch }} - make -j$(nproc) - - - name: Run tests - shell: alpine.sh {0} - run: | - cd tests/build - gunzip *.gz - ./p2pool_tests - - - name: List directory - run: | - cd build - ls -la - file p2pool - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-alpine-static-${{ matrix.config.arch }} - path: build/p2pool - - build-ubuntu: - - timeout-minutes: 10 - runs-on: ${{ matrix.config.os }} - - strategy: - matrix: - config: - - {os: ubuntu-20.04, c: gcc-11, cpp: g++-11} - - {os: ubuntu-22.04, c: gcc-12, cpp: g++-12} - - steps: - - name: Install dependencies - run: | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt update - sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev ${{ matrix.config.c }} ${{ matrix.config.cpp }} - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cpp }} -DCMAKE_C_FLAGS='-flto=2' -DCMAKE_CXX_FLAGS='-flto=2' - make -j$(nproc) - - - name: Run RandomX tests - run: | - build/p2pool --test - build/external/src/RandomX/randomx-tests - - - name: Build tests - run: | - cd tests - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cpp }} -DCMAKE_C_FLAGS='-flto=2' -DCMAKE_CXX_FLAGS='-flto=2' - make -j$(nproc) - - - name: Run tests - run: | - cd tests/build - gunzip *.gz - ./p2pool_tests - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-${{ matrix.config.os }} - path: build/p2pool - - build-ubuntu-static-libs: - - timeout-minutes: 15 - runs-on: ubuntu-22.04 - - strategy: - matrix: - config: - - {flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} - - steps: - - name: Install dependencies - run: | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt update - sudo apt install -y git build-essential cmake libgss-dev gcc-12 g++-12 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_FLAGS="-Os ${{ matrix.config.flags }}" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j$(nproc) - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j$(nproc) - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='-Os ${{ matrix.config.flags }}' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j$(nproc) - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DSTATIC_LIBS=ON - make -j$(nproc) - - - name: Run RandomX tests - run: | - build/p2pool --test - build/external/src/RandomX/randomx-tests - - - name: Build tests - run: | - cd tests - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DSTATIC_LIBS=ON - make -j$(nproc) - - - name: Run tests - run: | - cd tests/build - gunzip *.gz - ./p2pool_tests - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-ubuntu-static-libs - path: build/p2pool - - build-ubuntu-aarch64: - - timeout-minutes: 15 - runs-on: ${{ matrix.config.os }} - - strategy: - matrix: - config: - - {os: ubuntu-20.04, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} - - {os: ubuntu-22.04, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} - - steps: - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y git build-essential cmake gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu qemu-user - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_C_FLAGS="-Os ${{ matrix.config.flags }}" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j$(nproc) - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j$(nproc) - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='-Os ${{ matrix.config.flags }}' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j$(nproc) - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_STRIP=/usr/bin/aarch64-linux-gnu-strip -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DSTATIC_LIBS=ON -DARCH_ID=aarch64 - make -j$(nproc) - - - name: Run RandomX tests - run: | - qemu-aarch64 -L /usr/aarch64-linux-gnu build/p2pool --test - qemu-aarch64 -L /usr/aarch64-linux-gnu build/external/src/RandomX/randomx-tests - - - name: Build tests - run: | - cd tests - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_STRIP=/usr/bin/aarch64-linux-gnu-strip -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections' -DSTATIC_LIBS=ON -DARCH_ID=aarch64 - make -j$(nproc) - - - name: Run tests - run: | - cd tests/build - gunzip *.gz - qemu-aarch64 -L /usr/aarch64-linux-gnu ./p2pool_tests - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-${{ matrix.config.os }}-aarch64 - path: build/p2pool - - build-windows-msys2: - - timeout-minutes: 45 - runs-on: windows-latest - - strategy: - matrix: - config: - - {c: "gcc", cxx: "g++", flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=maybe-uninitialized -Wno-error=attributes"} - - {c: "clang", cxx: "clang++", flags: "-flto -ffunction-sections -fuse-ld=lld -Wno-unused-command-line-argument"} - - defaults: - run: - shell: msys2 {0} - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Setup MSYS2 - uses: eine/setup-msys2@v2 - with: - update: true - install: mingw-w64-x86_64-toolchain mingw-w64-x86_64-clang mingw-w64-x86_64-lld mingw-w64-x86_64-cmake make - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -G "Unix Makefiles" -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_C_FLAGS="-Os ${{ matrix.config.flags }}" -DCURL_TARGET_WINDOWS_VERSION=0x0600 -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j$(nproc) - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -G "Unix Makefiles" -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j$(nproc) - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -G "Unix Makefiles" -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} -DCMAKE_C_FLAGS='-Os ${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='-Os ${{ matrix.config.flags }}' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DZMQ_HAVE_IPC=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j$(nproc) - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -G "Unix Makefiles" -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} -DCMAKE_C_FLAGS="${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections" -DCMAKE_CXX_FLAGS="${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections" -DSTATIC_LIBS=ON - make -j$(nproc) - - - name: Run RandomX tests - run: | - build/p2pool.exe --test - build/external/src/RandomX/randomx-tests.exe - - - name: Build tests - run: | - cd tests - mkdir build - cd build - cmake .. -G "Unix Makefiles" -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} -DCMAKE_C_FLAGS="${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections" -DCMAKE_CXX_FLAGS="${{ matrix.config.flags }} -Wl,-s -Wl,--gc-sections" -DSTATIC_LIBS=ON - make -j$(nproc) - - - name: Run tests - run: | - cd tests/build - gunzip *.gz - ./p2pool_tests.exe - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-msys2-${{ matrix.config.c }}.exe - path: build/p2pool.exe - build-windows-msbuild: timeout-minutes: 20 @@ -405,11 +18,15 @@ jobs: strategy: matrix: config: - - {vs: Visual Studio 16 2019, os: 2019, msbuild: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\MSBuild\\Current\\Bin\\amd64\\", rx: "ON", upnp: "ON"} - - {vs: Visual Studio 16 2019, os: 2019, msbuild: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\MSBuild\\Current\\Bin\\amd64\\", rx: "OFF", upnp: "ON"} - - {vs: Visual Studio 16 2019, os: 2019, msbuild: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\MSBuild\\Current\\Bin\\amd64\\", rx: "OFF", upnp: "OFF"} + - {vs: Visual Studio 16 2019, os: 2019, vspath: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise", rx: "ON", upnp: "ON"} steps: + - name: Check p2pool.exe imports + if: matrix.config.rx == 'ON' && matrix.config.upnp == 'ON' + run: | + & "${{ matrix.config.vspath }}\\VC\\Auxiliary\\Build\\vcvarsall.bat" amd64 + dumpbin /IMPORTS build/Release/p2pool.exe + - name: Checkout repository uses: actions/checkout@v3 with: @@ -423,14 +40,14 @@ jobs: mkdir build cd build cmake .. -G "${{ matrix.config.vs }}" -DWITH_RANDOMX=${{ matrix.config.rx }} -DWITH_UPNP=${{ matrix.config.upnp }} - & "${{ matrix.config.msbuild }}msbuild" -v:m /m /p:Configuration=Release p2pool.vcxproj + & "${{ matrix.config.vspath }}\\MSBuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=Release p2pool.vcxproj - name: Run RandomX tests if: matrix.config.rx == 'ON' run: | build/Release/p2pool.exe --test cd build/external/src/RandomX - & "${{ matrix.config.msbuild }}msbuild" -v:m /m /p:Configuration=Release randomx-tests.vcxproj + & "${{ matrix.config.vspath }}\\MSBuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=Release randomx-tests.vcxproj Release/randomx-tests.exe - name: Build tests @@ -439,7 +56,7 @@ jobs: mkdir build cd build cmake .. -G "${{ matrix.config.vs }}" - & "${{ matrix.config.msbuild }}msbuild" -v:m /m /p:Configuration=Debug p2pool_tests.vcxproj + & "${{ matrix.config.vspath }}\\MSBuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=Debug p2pool_tests.vcxproj - name: Run tests run: | @@ -450,225 +67,5 @@ jobs: - name: Archive binary uses: actions/upload-artifact@v3 with: - name: p2pool-msbuild-${{ matrix.config.os }}-randomx-${{ matrix.config.rx }}-upnp-${{ matrix.config.upnp }}.exe + name: p2pool-vs-${{ matrix.config.os }}-randomx-${{ matrix.config.rx }}-upnp-${{ matrix.config.upnp }}.exe path: build/Release/p2pool.exe - - build-macos: - - timeout-minutes: 20 - runs-on: macos-11 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="-Os -flto" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j3 - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='-Os -flto' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j3 - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@15)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='-Os -flto' -DCMAKE_CXX_FLAGS='-Os -flto' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j3 - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@15)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="-flto" -DCMAKE_CXX_FLAGS="-flto" -DSTATIC_LIBS=ON - make -j3 - - - name: Run RandomX tests - run: | - build/p2pool --test - build/external/src/RandomX/randomx-tests - - - name: Build tests - run: | - cd tests - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@15)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="-flto" -DCMAKE_CXX_FLAGS="-flto" -DSTATIC_LIBS=ON - make -j3 - - - name: Run tests - run: | - cd tests/build - gunzip *.gz - ./p2pool_tests - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-macos-11 - path: build/p2pool - - build-macos-aarch64: - - timeout-minutes: 20 - runs-on: macos-11 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_FLAGS="-Os -target arm64-apple-macos-11" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j3 - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os -target arm64-apple-macos-11' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j3 - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os -target arm64-apple-macos-11' -DCMAKE_CXX_FLAGS='-Os -target arm64-apple-macos-11' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j3 - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS="-target arm64-apple-macos-11" -DCMAKE_CXX_FLAGS="-target arm64-apple-macos-11" -DSTATIC_LIBS=ON -DWITH_LTO=OFF -DARCH_ID=aarch64 - make -j3 - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-macos-11-aarch64 - path: build/p2pool - - build-freebsd: - - timeout-minutes: 75 - runs-on: ${{ matrix.os.host }} - - strategy: - matrix: - os: - - name: freebsd - architecture: x86-64 - version: '12.4' - host: ubuntu-22.04 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Build p2pool - uses: cross-platform-actions/action@v0.19.0 - with: - operating_system: ${{ matrix.os.name }} - architecture: ${{ matrix.os.architecture }} - version: ${{ matrix.os.version }} - shell: bash - run: | - sudo pkg install -y cmake - cd external/src/curl - cmake . -DCMAKE_C_FLAGS="-Os -flto" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j2 - cd lib && mkdir .libs && cp libcurl.a .libs - cd ../../libuv - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os -flto' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j2 - cd ../../libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-Os -flto' -DCMAKE_CXX_FLAGS='-Os -flto' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j2 - cd ../../../.. - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-flto' -DCMAKE_CXX_FLAGS='-flto' -DSTATIC_LIBS=ON - make -j2 - ./p2pool --test - external/src/RandomX/randomx-tests - cd ../tests - mkdir build - cd build - cmake .. -DCMAKE_C_FLAGS='-flto' -DCMAKE_CXX_FLAGS='-flto' -DSTATIC_LIBS=ON - make -j2 - gunzip *.gz - ./p2pool_tests - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-${{ matrix.os.name }}-${{ matrix.os.version }} - path: build/p2pool - - build-openbsd: - - timeout-minutes: 75 - runs-on: ${{ matrix.os.host }} - - strategy: - matrix: - os: - - name: openbsd - architecture: x86-64 - version: '7.2' - host: ubuntu-22.04 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Build p2pool - uses: cross-platform-actions/action@v0.19.0 - with: - operating_system: ${{ matrix.os.name }} - architecture: ${{ matrix.os.architecture }} - version: ${{ matrix.os.version }} - shell: bash - run: | - sudo pkg_add -I cmake libuv zeromq curl - mkdir build && cd build - cmake .. - make -j2 - cd ../tests - mkdir build && cd build - cmake .. - make -j2 - gunzip *.gz - ./p2pool_tests - - - name: Archive binary - uses: actions/upload-artifact@v3 - with: - name: p2pool-${{ matrix.os.name }}-${{ matrix.os.version }} - path: build/p2pool diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml deleted file mode 100644 index c9b86c79..00000000 --- a/.github/workflows/clang-tidy.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: clang-tidy - -on: - push: - paths-ignore: - - 'docker-compose/**' - - 'docs/**' - - 'README.md' - - pull_request: - -jobs: - clang-tidy: - runs-on: ubuntu-22.04 - - steps: - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y libuv1-dev libzmq3-dev libcurl4-openssl-dev - - - name: Install clang - run: | - wget https://apt.llvm.org/llvm.sh - chmod +x llvm.sh - sudo ./llvm.sh 17 - sudo apt-get install -y clang-tidy-17 - clang-tidy-17 --verify-config - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: cmake p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DDEV_CLANG_TIDY=ON - - - name: Run clang-tidy - run: | - cd src - clang-tidy-17 *.cpp -p ../build -checks=-clang-diagnostic-undefined-internal -warnings-as-errors=* -header-filter=^[^\.] diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index b005be3e..00000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,81 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - paths-ignore: - - 'docker-compose/**' - - 'docs/**' - - 'README.md' - - pull_request: - - schedule: - - cron: '44 11 * * 0' - -jobs: - analyze: - name: Analyze - timeout-minutes: 20 - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'cpp' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] - # Learn more: - # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed - - steps: - - name: Install dependencies - run: | - sudo apt update && sudo apt install git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/cppcheck.yml b/.github/workflows/cppcheck.yml deleted file mode 100644 index 4a3cc7fd..00000000 --- a/.github/workflows/cppcheck.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: cppcheck - -on: - push: - paths-ignore: - - 'docker-compose/**' - - 'docs/**' - - 'README.md' - - pull_request: - - schedule: - - cron: '57 0 * * *' - -jobs: - cppcheck-ubuntu: - - timeout-minutes: 50 - runs-on: ubuntu-latest - - steps: - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y libuv1-dev libzmq3-dev libcurl4-openssl-dev - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Checkout cppcheck - uses: actions/checkout@v3 - with: - repository: danmar/cppcheck - path: cppcheck-main - - - name: Build cppcheck - run: | - cd cppcheck-main - make -j$(nproc) cppcheck - - - name: cmake p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DSTATIC_LIBS=ON - python ../cppcheck/remove_external.py compile_commands.json - - - name: Run cppcheck - run: | - cd cppcheck - ./run.sh - - - name: Archive full error list - uses: actions/upload-artifact@v3 - with: - name: errors_full-linux - path: cppcheck/errors_full.txt - - cppcheck-windows: - - timeout-minutes: 50 - runs-on: windows-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Checkout cppcheck - uses: actions/checkout@v3 - with: - repository: danmar/cppcheck - path: cppcheck-main - - - name: Build cppcheck - run: | - cd cppcheck-main - & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild.exe" /m /p:Configuration=Release /p:Platform=x64 - - - name: Setup cmake - uses: lukka/get-cmake@latest - - - name: cmake p2pool - run: | - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -DSTATIC_LIBS=ON - - - name: Run cppcheck - run: | - cd cppcheck - ./run.cmd - - - name: Archive full error list - uses: actions/upload-artifact@v3 - with: - name: errors_full-windows - path: cppcheck/errors_full.txt diff --git a/.github/workflows/msvc-analysis.yml b/.github/workflows/msvc-analysis.yml deleted file mode 100644 index d3b2d7a6..00000000 --- a/.github/workflows/msvc-analysis.yml +++ /dev/null @@ -1,68 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# -# Find more information at: -# https://github.com/microsoft/msvc-code-analysis-action - -name: Microsoft C++ Code Analysis - -on: - push: - paths-ignore: - - 'docker-compose/**' - - 'docs/**' - - 'README.md' - - pull_request: - - schedule: - - cron: '40 10 * * 0' - -env: - # Path to the CMake build directory. - build: '${{ github.workspace }}/build' - config: 'Release' - -jobs: - analyze: - name: Analyze - timeout-minutes: 15 - runs-on: windows-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Configure CMake - run: cmake -B ${{ env.build }} -DCMAKE_BUILD_TYPE=${{ env.config }} - - # Build is not required unless generated source files are used - # - name: Build CMake - # run: cmake --build ${{ env.build }} - - - name: Initialize MSVC Code Analysis - uses: microsoft/msvc-code-analysis-action@24c285ab36952c9e9182f4b78dfafbac38a7e5ee - # Provide a unique ID to access the sarif output path - id: run-analysis - with: - cmakeBuildDirectory: ${{ env.build }} - buildConfiguration: ${{ env.config }} - # Ruleset file that will determine what checks will be run - ruleset: NativeRecommendedRules.ruleset - - # Upload SARIF file to GitHub Code Scanning Alerts - - name: Upload SARIF to GitHub - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: ${{ steps.run-analysis.outputs.sarif }} - - # Upload SARIF file as an Artifact to download and view - - name: Upload SARIF as an Artifact - uses: actions/upload-artifact@v3 - with: - name: sarif-file - path: ${{ steps.run-analysis.outputs.sarif }} diff --git a/.github/workflows/source-snapshot.yml b/.github/workflows/source-snapshot.yml deleted file mode 100644 index dabb933c..00000000 --- a/.github/workflows/source-snapshot.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: source-snapshot - -on: [push, pull_request] - -jobs: - source-snapshot: - runs-on: ubuntu-22.04 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Compress source code - run: | - mkdir build - XZ_OPT=-e9 tar --exclude=".git" --exclude="build" -f build/p2pool_source.tar.xz -c ../p2pool --xz - - - name: Archive source code - uses: actions/upload-artifact@v3 - with: - name: p2pool_source.tar.xz - path: build/p2pool_source.tar.xz diff --git a/.github/workflows/test-sync.yml b/.github/workflows/test-sync.yml deleted file mode 100644 index 6c202048..00000000 --- a/.github/workflows/test-sync.yml +++ /dev/null @@ -1,414 +0,0 @@ -name: Sync test - -on: - push: - paths-ignore: - - 'docker-compose/**' - - 'docs/**' - - 'README.md' - - pull_request: - - schedule: - - cron: '17 0/3 * * *' - -jobs: - sync-test-ubuntu-tsan: - - timeout-minutes: 30 - runs-on: ubuntu-22.04 - - steps: - - name: Install dependencies - run: | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt update - sudo apt install -y git build-essential cmake gcc-12 g++-12 - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_C_FLAGS='-fsanitize=thread -Os -fno-omit-frame-pointer -g' -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j$(nproc) - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_C_FLAGS='-fsanitize=thread -Os -fno-omit-frame-pointer -g' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j$(nproc) - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_C_FLAGS='-fsanitize=thread -Os -fno-omit-frame-pointer -g' -DCMAKE_CXX_FLAGS='-fsanitize=thread -Os -fno-omit-frame-pointer -g' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j$(nproc) - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DDEV_TEST_SYNC=ON -DDEV_WITH_TSAN=ON -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DWITH_LTO=OFF -DSTATIC_LIBS=ON - make -j$(nproc) - - - name: Run p2pool - run: | - cd build - mkdir data - python ../tests/src/stratum_dummy.py 1 & - python ../tests/src/stratum_dummy.py 2 & - python ../tests/src/stratum_dummy.py 3 & - TSAN_OPTIONS="suppressions=../tests/src/tsan_sup.txt halt_on_error=1" ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build - grep 'Synchronization finished successfully' p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_ubuntu_data_tsan - path: | - build/*.log - build/data/ - - sync-test-ubuntu-msan: - timeout-minutes: 30 - runs-on: ubuntu-22.04 - - steps: - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y git build-essential cmake ninja-build - - - name: Install clang - run: | - wget https://apt.llvm.org/llvm.sh - chmod +x llvm.sh - sudo ./llvm.sh 17 - - - name: Build libcxx_msan - run: | - git clone --depth=1 https://github.com/llvm/llvm-project -b release/17.x - cd llvm-project - mkdir build - cmake -G Ninja -S runtimes -B build -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DLLVM_USE_SANITIZER=MemoryWithOrigins - ninja -C build cxx cxxabi - cd build - mkdir /tmp/libcxx_msan - cp -r include /tmp/libcxx_msan - cp -r lib /tmp/libcxx_msan - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_COMPILER=clang-17 -DCMAKE_C_FLAGS='-fsanitize=memory -fsanitize-recover -fsanitize-memory-track-origins -Os -fno-omit-frame-pointer -g' -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j$(nproc) - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=clang-17 -DCMAKE_C_FLAGS='-fsanitize=memory -fsanitize-recover -fsanitize-memory-track-origins -Os -fno-omit-frame-pointer -g' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j$(nproc) - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DCMAKE_C_FLAGS='-fsanitize=memory -fsanitize-recover -fsanitize-memory-track-origins -Os -fno-omit-frame-pointer -g' -DCMAKE_CXX_FLAGS='-nostdinc++ -nostdlib++ -fsanitize=memory -fsanitize-recover -fsanitize-memory-track-origins -Os -fno-omit-frame-pointer -g -isystem /tmp/libcxx_msan/include/c++/v1 -L/tmp/libcxx_msan/lib -lc++ -lc++abi -Wno-unused-command-line-argument' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j$(nproc) - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DCMAKE_C_FLAGS='-fsanitize=memory -fsanitize-recover -fsanitize-memory-track-origins -fno-omit-frame-pointer -g' -DCMAKE_CXX_FLAGS='-nostdinc++ -nostdlib++ -fsanitize=memory -fsanitize-recover -fsanitize-memory-track-origins -isystem /tmp/libcxx_msan/include/c++/v1 -L/tmp/libcxx_msan/lib -Wl,-rpath /tmp/libcxx_msan/lib -lc++ -lc++abi -Wno-unused-command-line-argument -fuse-ld=lld-17 -fno-omit-frame-pointer -g' -DDEV_TEST_SYNC=ON -DDEV_WITH_MSAN=ON -DSTATIC_LIBS=ON - make -j$(nproc) - - - name: Run p2pool - run: | - cd build - mkdir data - python ../tests/src/stratum_dummy.py 1 & - python ../tests/src/stratum_dummy.py 2 & - python ../tests/src/stratum_dummy.py 3 & - MSAN_OPTIONS="halt_on_error=1" ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build - grep 'Synchronization finished successfully' p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_ubuntu_data_msan - path: | - build/*.log - build/data/ - - sync-test-ubuntu-ubsan: - - timeout-minutes: 30 - runs-on: ubuntu-22.04 - - steps: - - name: Install dependencies - run: | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt update - sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev gcc-12 g++-12 - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DDEV_TEST_SYNC=ON -DDEV_WITH_UBSAN=ON -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_C_FLAGS="-flto=2" -DCMAKE_CXX_FLAGS="-flto=2" - make -j$(nproc) - - - name: Run p2pool - run: | - cd build - mkdir data - python ../tests/src/stratum_dummy.py 1 & - python ../tests/src/stratum_dummy.py 2 & - python ../tests/src/stratum_dummy.py 3 & - UBSAN_OPTIONS="suppressions=../tests/src/ubsan_sup.txt halt_on_error=1" ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build - grep 'Synchronization finished successfully' p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_ubuntu_data_ubsan - path: | - build/*.log - build/data/ - - sync-test-ubuntu-asan: - - timeout-minutes: 30 - runs-on: ubuntu-22.04 - - steps: - - name: Install dependencies - run: | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt update - sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev gcc-12 g++-12 - - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: true - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DDEV_TEST_SYNC=ON -DDEV_WITH_ASAN=ON -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_C_FLAGS="-flto=2" -DCMAKE_CXX_FLAGS="-flto=2" - make -j$(nproc) - - - name: Run p2pool - run: | - cd build - mkdir data - python ../tests/src/stratum_dummy.py 1 & - python ../tests/src/stratum_dummy.py 2 & - python ../tests/src/stratum_dummy.py 3 & - ASAN_OPTIONS="detect_stack_use_after_return=1 atexit=1" ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build - grep 'Synchronization finished successfully' p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_ubuntu_data_asan - path: | - build/*.log - build/data/ - - sync-test-macos: - - timeout-minutes: 30 - runs-on: macos-11 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install dependencies - run: | - HOMEBREW_NO_AUTO_UPDATE=1 brew install pyenv - pyenv install 3:latest - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="-Os -flto" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j3 - cd lib && mkdir .libs && cp libcurl.a .libs - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='-Os -flto' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j3 - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@15)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='-Os -flto' -DCMAKE_CXX_FLAGS='-Os -flto' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j3 - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@15)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@15)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@15)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@15)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="-flto" -DCMAKE_CXX_FLAGS="-flto" -DSTATIC_LIBS=ON -DDEV_TEST_SYNC=ON - make -j3 - - - name: Run p2pool - run: | - cd build - mkdir data - python3 ../tests/src/stratum_dummy.py 1 & - python3 ../tests/src/stratum_dummy.py 2 & - python3 ../tests/src/stratum_dummy.py 3 & - ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build - grep 'Synchronization finished successfully' p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_macos_data - path: | - build/*.log - build/data/ - - sync-test-windows-debug-asan: - - timeout-minutes: 30 - runs-on: windows-2022 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Setup cmake - uses: lukka/get-cmake@latest - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -DDEV_TEST_SYNC=ON - & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=Debug p2pool.vcxproj - - - name: Run p2pool - run: | - cd build/Debug - mkdir data - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 1" - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 2" - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 3" - ./p2pool.exe --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build/Debug - findstr /C:"Synchronization finished successfully" p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_windows_data_debug_asan - path: | - build/Debug/*.log - build/Debug/data/ - - sync-test-windows-leaks: - - timeout-minutes: 30 - runs-on: windows-2022 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Setup cmake - uses: lukka/get-cmake@latest - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -DDEV_TEST_SYNC=ON -DDEV_TRACK_MEMORY=ON - & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=RelWithDebInfo p2pool.vcxproj - - - name: Run p2pool - run: | - cd build/RelWithDebInfo - mkdir data - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 1" - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 2" - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 3" - ./p2pool.exe --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --host xmr2.rs.me --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --mini --out-peers 200 --data-api data --local-api --loglevel 6 - - - name: Check p2pool.log - run: | - cd build/RelWithDebInfo - findstr /C:"Synchronization finished successfully" p2pool.log - - - name: Archive p2pool.log - uses: actions/upload-artifact@v3 - with: - name: p2pool_windows_data_leaks - path: | - build/RelWithDebInfo/*.log - build/RelWithDebInfo/data/ diff --git a/1.txt b/1.txt new file mode 100644 index 00000000..eb6a4d8f --- /dev/null +++ b/1.txt @@ -0,0 +1,339 @@ +Microsoft (R) COFF/PE Dumper Version 14.29.30152.0 +Copyright (C) Microsoft Corporation. All rights reserved. + + +Dump of file p2pool.exe + +File Type: EXECUTABLE IMAGE + + Section contains the following imports: + + WS2_32.dll + 140175738 Import Address Table + 1401C5128 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + Ordinal 111 + Ordinal 1 + Ordinal 9 + A5 getaddrinfo + A4 freeaddrinfo + 45 WSAPoll + Ordinal 15 + Ordinal 2 + Ordinal 151 + B6 inet_pton + 24 WSACreateEvent + 1F WSACloseEvent + Ordinal 112 + 4A WSARecvFrom + 4D WSASend + 48 WSARecv + B5 inet_ntop + 26 WSADuplicateSocketW + Ordinal 23 + Ordinal 22 + Ordinal 18 + 57 WSASocketW + Ordinal 20 + Ordinal 17 + Ordinal 12 + Ordinal 11 + Ordinal 14 + 3A WSAIoctl + Ordinal 5 + A9 getnameinfo + 56 WSASocketA + Ordinal 116 + Ordinal 115 + Ordinal 21 + Ordinal 19 + Ordinal 16 + Ordinal 13 + Ordinal 8 + Ordinal 7 + Ordinal 6 + Ordinal 10 + Ordinal 4 + Ordinal 3 + + IPHLPAPI.DLL + 140175080 Import Address Table + 1401C4A70 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + 122 if_indextoname + 43 GetAdaptersAddresses + 47 GetBestInterface + + DNSAPI.dll + 140175068 Import Address Table + 1401C4A58 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + 74 DnsQuery_A + 40 DnsFree + + KERNEL32.dll + 1401750A0 Import Address Table + 1401C4A90 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + 3C6 LoadLibraryExW + 4DC RtlPcToFileHeader + 4E0 RtlUnwindEx + 1C7 GetCPInfo + 2DE GetStringTypeW + 236 GetDriveTypeW + 10A DecodePointer + 131 EncodePointer + 1B2 FreeLibraryAndExitThread + 597 SystemTimeToTzSpecificLocalTime + F2 CreateThread + 3B3 LCMapStringEx + 165 ExitThread + 27D GetModuleHandleExW + 557 SetStdHandle + 530 SetFilePointer + 51E SetEndOfFile + 5BF UnmapViewOfFile + 267 GetLastError + 1A8 FlushViewOfFile + C3 CreateFileA + 86 CloseHandle + C4 CreateFileMappingA + 3E1 MapViewOfFile + 1A5 FlushFileBuffers + 2D9 GetStdHandle + 616 WriteConsoleA + 507 SetConsoleMode + 202 GetConsoleMode + 1AC FormatMessageA + 56B SetThreadPriority + 221 GetCurrentThread + 56C SetThreadPriorityBoost + 382 IsDebuggerPresent + 58B Sleep + 466 RaiseException + 367 InitializeCriticalSection + 135 EnterCriticalSection + 3C0 LeaveCriticalSection + 111 DeleteCriticalSection + 450 QueryPerformanceCounter + 451 QueryPerformanceFrequency + 30E GetTickCount + 1B1 FreeLibrary + 2B5 GetProcAddress + 3C4 LoadLibraryA + 53B SetHandleInformation + 5E6 WaitForSingleObject + 222 GetCurrentThreadId + 5B5 TryEnterCriticalSection + 21E GetCurrentProcessId + 264 GetHandleInformation + 53F SetLastError + D0 CreateIoCompletionPort + 2D2 GetQueuedCompletionStatusEx + 36D InitializeSRWLock + 4B6 ReleaseSRWLockExclusive + 4B7 ReleaseSRWLockShared + 0 AcquireSRWLockExclusive + 1 AcquireSRWLockShared + 362 InitOnceExecuteOnce + 30F GetTickCount64 + 27E GetModuleHandleW + 52D SetFileCompletionNotificationModes + 60D WideCharToMultiByte + 12F DuplicateHandle + 5B4 TryAcquireSRWLockShared + 364 InitializeConditionVariable + 5EF WakeConditionVariable + 5EE WakeAllConditionVariable + 58C SleepConditionVariableCS + 524 SetEvent + 4B8 ReleaseSemaphore + BC CreateEventA + 21D GetCurrentProcess + 4D1 ResumeThread + 5AC TlsAlloc + 5AE TlsGetValue + 5AF TlsSetValue + 5AD TlsFree + 28B GetNativeSystemInfo + E9 CreateSemaphoreA + 255 GetFileType + 426 PostQueuedCompletionStatus + CB CreateFileW + 4CA ResetEvent + 45B QueueUserWorkItem + 249 GetFileAttributesExW + 5C5 UnregisterWait + 29C GetNumberOfConsoleInputEvents + 46E ReadConsoleInputW + 474 ReadConsoleW + 620 WriteConsoleW + 173 FillConsoleOutputCharacterW + 171 FillConsoleOutputAttribute + 1F6 GetConsoleCursorInfo + 4F9 SetConsoleCursorInfo + 208 GetConsoleScreenBufferInfo + 4FB SetConsoleCursorPosition + 510 SetConsoleTextAttribute + 61A WriteConsoleInputW + 477 ReadFile + 621 WriteFile + 9C ConnectNamedPipe + 548 SetNamedPipeHandleState + 425 PeekNamedPipe + DC CreateNamedPipeW + 72 CancelIoEx + 73 CancelSynchronousIo + 595 SwitchToThread + 3D2 LocalFree + 286 GetNamedPipeHandleStateA + 284 GetNamedPipeClientProcessId + 289 GetNamedPipeServerProcessId + 3F2 MultiByteToWideChar + 4F7 SetConsoleCtrlHandler + 523 SetErrorMode + 2D1 GetQueuedCompletionStatus + BA CreateDirectoryW + 17B FindClose + 186 FindFirstFileW + 192 FindNextFileW + 4DF RtlUnwind + 24C GetFileAttributesW + 24E GetFileInformationByHandle + 253 GetFileSizeEx + 257 GetFinalPathNameByHandleW + 260 GetFullPathNameW + 4BD RemoveDirectoryW + 531 SetFilePointerEx + 534 SetFileTime + 121 DeviceIoControl + 2EA GetSystemInfo + 2F0 GetSystemTimeAsFileTime + 469 ReOpenFile + AD CopyFileW + 3EB MoveFileExW + CF CreateHardLinkW + 24F GetFileInformationByHandleEx + F0 CreateSymbolicLinkW + 71 CancelIo + 107 DebugBreak + 217 GetCurrentDirectoryW + 59A TerminateProcess + 243 GetExitCodeProcess + 5C6 UnregisterWaitEx + 3B4 LCMapStringW + 274 GetLongPathNameW + 476 ReadDirectoryChangesW + 23E GetEnvironmentStringsW + 1B0 FreeEnvironmentStringsW + 522 SetEnvironmentVariableW + 27A GetModuleFileNameW + 170 FileTimeToSystemTime + 27B GetModuleHandleA + 3C5 LoadLibraryExA + 2D7 GetStartupInfoW + 1AD FormatMessageW + 369 InitializeCriticalSectionEx + 2E6 GetSystemDirectoryA + 5E7 WaitForSingleObjectEx + 23F GetEnvironmentVariableA + 58E SleepEx + 5D0 VerSetConditionMask + 5D4 VerifyVersionInfoW + 5DB VirtualProtect + 5D8 VirtualFree + 5D5 VirtualAlloc + 265 GetLargePageMinimum + 352 HeapFree + 34E HeapAlloc + 2BB GetProcessHeap + 58D SleepConditionVariableSRW + 244 GetExitCodeThread + 36C InitializeSListHead + BF CreateEventW + 368 InitializeCriticalSectionAndSpinCount + 389 IsProcessorFeaturePresent + 57B SetUnhandledExceptionFilter + 5BC UnhandledExceptionFilter + 4E1 RtlVirtualUnwind + 4DA RtlLookupFunctionEntry + 52B SetFileAttributesW + 1F0 GetConsoleCP + 164 ExitProcess + 1DC GetCommandLineA + 1DD GetCommandLineW + 228 GetDateFormatW + 313 GetTimeFormatW + 9B CompareStringW + 26B GetLocaleInfoW + 390 IsValidLocale + 31B GetUserDefaultLCID + 159 EnumSystemLocalesW + 355 HeapReAlloc + 357 HeapSize + 181 FindFirstFileExW + 38E IsValidCodePage + 1B8 GetACP + 29E GetOEMCP + 315 GetTimeZoneInformation + 4AD RegisterWaitForSingleObject + 230 GetDiskFreeSpaceW + 4D3 RtlCaptureContext + + USER32.dll + 140175708 Import Address Table + 1401C50F8 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + 182 GetMessageA + 1C1 GetSystemMetrics + 286 MapVirtualKeyW + BB DispatchMessageA + 3AF TranslateMessage + + ADVAPI32.dll + 140175000 Import Address Table + 1401C49F0 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + 1F AdjustTokenPrivileges + 1AE LookupPrivilegeValueA + C7 CryptDestroyHash + D9 CryptHashData + C4 CryptCreateHash + D5 CryptGetHashParam + DC CryptReleaseContext + C1 CryptAcquireContextA + 323 SystemFunction036 + 215 OpenProcessToken + 2E8 SetSecurityDescriptorDacl + 18F InitializeSecurityDescriptor + + bcrypt.dll + 140175898 Import Address Table + 1401C5288 Import Name Table + 0 time date stamp + 0 Index of first forwarder reference + + 1D BCryptGenRandom + + Summary + + 294000 .data + D000 .pdata + 52000 .rdata + 3000 .reloc + 1000 .rsrc + 174000 .text + 1000 _RANDOMX + 1000 _RDATA