Set CC and CXX for GCC compile farm builds
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8f9bcc5..d1cc5e6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -89,27 +89,48 @@ jobs:
- CFARM_HOST: gcc117.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: aarch64-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
- CFARM_HOST: gcc400.fsffrance.org
CFARM_PORT: 25465
CFARM_TRIPLE: loongarch64-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
- CFARM_HOST: gcc230.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: mips-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
- CFARM_HOST: gcc102.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: sparc64-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
+ - CFARM_HOST: gcc102.fsffrance.org
+ CFARM_PORT: 22
+ CFARM_TRIPLE: sparc64-linux-gnu
+ CFARM_CC: "gcc -m32"
+ CFARM_CXX: "g++ -m32"
- CFARM_HOST: gcc91.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: riscv64-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
- CFARM_HOST: gcc103.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: aarch64-m1-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
- CFARM_HOST: gcc112.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: powerpc64le-linux-gnu
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
- CFARM_HOST: gcc111.fsffrance.org
CFARM_PORT: 22
CFARM_TRIPLE: powerpc-ibm-aix7.1.5.0
+ CFARM_CC: "gcc"
+ CFARM_CXX: "g++"
steps:
@@ -125,11 +146,16 @@ jobs:
echo "${{ secrets.CFARM_KEY }}" > /tmp/cfk
chmod go-rw /tmp/cfk
+ - name: Generate build dir name
+ id: build-dir
+ run: |
+ echo '::set-output name=BUILD_DIR=t/$GITHUB_RUN_NUMBER-$RANDOM'
+
- name: Check for host availability
id: check-host
run: |
set +e
- ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "mkdir -p t/$GITHUB_RUN_NUMBER"
+ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "mkdir -p ${{ steps.build-dir.outputs.BUILD_DIR }}"
if test $? -ne 0; then
echo "Remote host is unavailable."
echo '::set-output name=HOST_OK::NO'
@@ -147,24 +173,24 @@ jobs:
if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }}
run: |
echo ${{ steps.check-host.outputs.HOST_OK }}
- scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -P ${{ matrix.CFARM_PORT }} -r * ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }}:t/$GITHUB_RUN_NUMBER
+ scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -P ${{ matrix.CFARM_PORT }} -r * ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }}:${{ steps.build-dir.outputs.BUILD_DIR }}
- name: Run configure and make
if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }}
run: |
- ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd t/$GITHUB_RUN_NUMBER; if test -f ~/.profile; then source ~/.profile; fi; ./configure --host=${{ matrix.CFARM_TRIPLE }}) || true; exit 0"
- ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd t/$GITHUB_RUN_NUMBER; if test -f ~/.profile; then source ~/.profile; fi; make;) || true; exit 0"
+ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd ${{ steps.build-dir.outputs.BUILD_DIR }}; if test -f ~/.profile; then source ~/.profile; fi; CC=${{ matrix.CFARM_CC }} CXX=${{ matrix.CFARM_CXX }} ./configure --host=${{ matrix.CFARM_TRIPLE }}) || true; exit 0"
+ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd ${{ steps.build-dir.outputs.BUILD_DIR }}; if test -f ~/.profile; then source ~/.profile; fi; make;) || true; exit 0"
- name: Run tests
if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }}
run: |
- ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd t/$GITHUB_RUN_NUMBER; if test -f ~/.profile; then source ~/.profile; fi; make check & CHECKPID=\$!; while kill -0 \$CHECKPID 2>/dev/null; do echo 'Waiting for tests to finish'; sleep 5; done;)"
+ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd ${{ steps.build-dir.outputs.BUILD_DIR }}; if test -f ~/.profile; then source ~/.profile; fi; make check & CHECKPID=\$!; while kill -0 \$CHECKPID 2>/dev/null; do echo 'Waiting for tests to finish'; sleep 5; done;)"
- name: Copy results and clean up
if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }}
run: |
- scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -P ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }}:t/$GITHUB_RUN_NUMBER/*/testsuite/*.log .
- ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "rm -rf t/$GITHUB_RUN_NUMBER"
+ scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -P ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }}:${{ steps.build-dir.outputs.BUILD_DIR }}/*/testsuite/*.log .
+ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "rm -rf ${{ steps.build-dir.outputs.BUILD_DIR }}"
- name: Install rlgl and run
if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }}
diff --git a/README.md b/README.md
index 99ee834..66fb386 100644
--- a/README.md
+++ b/README.md
@@ -198,7 +198,7 @@ See the git log for details at http://github.com/libffi/libffi.
3.4.3 TBD
Fix x32 static trampolines.
- All struct args are passed by value, regardless of size.
+ All struct args are passed by value, regardless of size, as per ABIs.
Add support for Loongson's LoonArch64 architecture.
Fix ILP32 aarch64 support.