diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e8ee54c3494ff5a705d38aab81d591fd4995ca9..535f956d2c0d24482e5f904689f1985a2cf97b47 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,12 +141,24 @@ package:gcc-solaris-linux-x86_64-cross-sunos-i386: script: - gcc-solaris/package-linux.bash i386 > gcc-i386.log 2>&1 +package:gcc-solaris-linux-x86_64-cross-sunos-x86_64: + extends: + - .package:gcc_solaris + script: + - gcc-solaris/package-linux.bash x86_64 > gcc-x86_64.log 2>&1 + package:gcc-solaris-linux-x86_64-cross-sunos-sparc: extends: - .package:gcc_solaris script: - gcc-solaris/package-linux.bash sparc > gcc-sparc.log 2>&1 +package:gcc-solaris-linux-x86_64-cross-sunos-sparc64: + extends: + - .package:gcc_solaris + script: + - gcc-solaris/package-linux.bash sparc64 > gcc-sparc64.log 2>&1 + upload:gcc-solaris: extends: - .upload_job @@ -154,7 +166,9 @@ upload:gcc-solaris: - .rules needs: - package:gcc-solaris-linux-x86_64-cross-sunos-i386 + - package:gcc-solaris-linux-x86_64-cross-sunos-x86_64 - package:gcc-solaris-linux-x86_64-cross-sunos-sparc + - package:gcc-solaris-linux-x86_64-cross-sunos-sparc64 variables: UPLOAD_FILES: gcc-*-cross-sunos-*.tar.xz @@ -165,7 +179,9 @@ release:gcc-solaris: - .rules needs: - package:gcc-solaris-linux-x86_64-cross-sunos-i386 + - package:gcc-solaris-linux-x86_64-cross-sunos-x86_64 - package:gcc-solaris-linux-x86_64-cross-sunos-sparc + - package:gcc-solaris-linux-x86_64-cross-sunos-sparc64 - job: upload:gcc-solaris artifacts: false diff --git a/.gitlab/ci/make-release.sh b/.gitlab/ci/make-release.sh index 4852e798403921703f3b375e96767d77e0ebafd2..8697942551bc4fc7ef032e59de0b023bdba98fc2 100755 --- a/.gitlab/ci/make-release.sh +++ b/.gitlab/ci/make-release.sh @@ -50,13 +50,19 @@ case "$CI_COMMIT_TAG" in gcc-solaris/v*) # Asset discovery. linux_x86_64_cross_sunos_i386="$( ls gcc-*-linux-x86_64-cross-sunos-i386.tar.xz )" + linux_x86_64_cross_sunos_x86_64="$( ls gcc-*-linux-x86_64-cross-sunos-x86_64.tar.xz )" linux_x86_64_cross_sunos_sparc="$( ls gcc-*-linux-x86_64-cross-sunos-sparc.tar.xz )" + linux_x86_64_cross_sunos_sparc64="$( ls gcc-*-linux-x86_64-cross-sunos-sparc64.tar.xz )" readonly linux_x86_64_cross_sunos_i386 + readonly linux_x86_64_cross_sunos_x86_64 readonly linux_x86_64_cross_sunos_sparc + readonly linux_x86_64_cross_sunos_sparc64 make_release \ --assets-link "{\"name\":\"$CI_COMMIT_TAG Linux x86_64 cross to SunOS i386\",\"url\":\"$urlbase/$linux_x86_64_cross_sunos_i386\"}" \ - --assets-link "{\"name\":\"$CI_COMMIT_TAG Linux x86_64 cross to SunOS sparc\",\"url\":\"$urlbase/$linux_x86_64_cross_sunos_sparc\"}" + --assets-link "{\"name\":\"$CI_COMMIT_TAG Linux x86_64 cross to SunOS x86_64\",\"url\":\"$urlbase/$linux_x86_64_cross_sunos_x86_64\"}" \ + --assets-link "{\"name\":\"$CI_COMMIT_TAG Linux x86_64 cross to SunOS sparc\",\"url\":\"$urlbase/$linux_x86_64_cross_sunos_sparc\"}" \ + --assets-link "{\"name\":\"$CI_COMMIT_TAG Linux x86_64 cross to SunOS sparc64\",\"url\":\"$urlbase/$linux_x86_64_cross_sunos_sparc64\"}" ;; gfortran-macos/v*) # Asset discovery. diff --git a/gcc-solaris/package-linux.bash b/gcc-solaris/package-linux.bash index 282850a0f74a2a457c2faaf6cdfdb9693f5a8984..0458a0c259f3eddb8dc069a26219b219ae91430f 100755 --- a/gcc-solaris/package-linux.bash +++ b/gcc-solaris/package-linux.bash @@ -8,14 +8,36 @@ readonly arch case "$arch" in i386) target=i386-pc-solaris2.10 + lib_arch32= + lib_arch64=/amd64 + lib_arch_default=$lib_arch32 sysroot_tarball="sysroot-i386-pc-solaris2.10-sunos5.10-1.tar.xz" sysroot_sha256sum="1b9251699f4e412ba5b0fde9c0fb96ceef6b8a1f47f0c1f2146ba0ba9da458b8" ;; + x86_64) + target=x86_64-pc-solaris2.10 + lib_arch32= + lib_arch64=/amd64 + lib_arch_default=$lib_arch64 + sysroot_tarball="sysroot-x86_64-pc-solaris2.10-sunos5.10-1.tar.xz" + sysroot_sha256sum="bea632b3ae755f89a1c0e64775437a9b29001a3fc3a3c2c6247b921776059231" + ;; sparc) target=sparc-sun-solaris2.10 + lib_arch32= + lib_arch64=/sparcv9 + lib_arch_default=$lib_arch32 sysroot_tarball="sysroot-sparc-sun-solaris2.10-sunos5.10-1.tar.xz" sysroot_sha256sum="e6c668a63dc00de443d07cbe2be779335642ffe1b818ba85d23ab543982aaf23" ;; + sparc64) + target=sparc64-sun-solaris2.10 + lib_arch32= + lib_arch64=/sparcv9 + lib_arch_default=$lib_arch64 + sysroot_tarball="sysroot-sparc64-sun-solaris2.10-sunos5.10-1.tar.xz" + sysroot_sha256sum="fd60cc1be951ae314ff2b4246ac055c8e5b21c39b4cd41b23ebcec709451d90f" + ;; *) echo >&2 "Unknown architecture: $arch" exit 1 @@ -92,7 +114,11 @@ popd readonly gcc="/opt/cross/bin/$target-gcc" readonly specs="$(dirname $("$gcc" -print-libgcc-file-name))/specs" "$gcc" -dumpspecs > "$specs" -sed -i '/^\*link:$/ {n;s|$| -rpath-link /opt/cross/sysroot/'"$target"'/usr/lib -rpath-link /opt/cross/sysroot/'"$target"'/lib|}' "$specs" +sed -i ' + /^\*link_arch32:$/ {n;s|$| -rpath-link %R/usr/lib'"$lib_arch32"' -rpath-link %R/lib'"$lib_arch32"'|} + /^\*link_arch64:$/ {n;s|$| -rpath-link %R/usr/lib'"$lib_arch64"' -rpath-link %R/lib'"$lib_arch64"'|} + /^\*link_arch_default:$/ {n;s|$| -rpath-link %R/usr/lib'"$lib_arch_default"' -rpath-link %R/lib'"$lib_arch_default"'|} +' "$specs" cat >"/opt/cross/README.$target" <