From 7826e8dada7e3beb6137a6b25e9dbb9332355d4c Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 27 Feb 2025 13:05:12 -0500 Subject: [PATCH 1/2] gcc-solaris: add zlib to sysroot paths --- gcc-solaris/sysroot-paths.bash | 2 ++ gcc-solaris/sysroot-paths.lst | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/gcc-solaris/sysroot-paths.bash b/gcc-solaris/sysroot-paths.bash index d6e44ff..e89238b 100755 --- a/gcc-solaris/sysroot-paths.bash +++ b/gcc-solaris/sysroot-paths.bash @@ -17,6 +17,8 @@ pkg_fmri_urls=' http://pkg.oracle.com/solaris/release/manifest/0/system/library/security/crypto@11.4,5.11-11.4.42.0.0.111.1:20211203T214125Z http://pkg.oracle.com/solaris/release/manifest/0/system/linker@11.4-11.4.0.0.1.15.0:20180817T003258Z http://pkg.oracle.com/solaris/release/manifest/0/system/linker@11.4,5.11-11.4.42.0.0.111.1:20211203T214307Z + http://pkg.oracle.com/solaris/release/manifest/0/library/zlib@1.2.11,11.4-11.4.42.0.0.111.0:20211203T203816Z + http://pkg.oracle.com/solaris/release/manifest/0/library/zlib@1.2.11,5.11-11.4.0.0.1.14.0:20180814T170708Z ' # Fetch package manifests and parse out a list of relevant paths. diff --git a/gcc-solaris/sysroot-paths.lst b/gcc-solaris/sysroot-paths.lst index b95969a..7444d1b 100644 --- a/gcc-solaris/sysroot-paths.lst +++ b/gcc-solaris/sysroot-paths.lst @@ -168,6 +168,8 @@ lib/amd64/libxnet.so lib/amd64/libxnet.so.1 lib/amd64/libxprop.so lib/amd64/libxprop.so.1 +lib/amd64/libz.so +lib/amd64/libz.so.1 lib/amd64/nss_dns.so.1 lib/amd64/nss_files.so.1 lib/amd64/nss_nis.so.1 @@ -333,6 +335,8 @@ lib/libxnet.so lib/libxnet.so.1 lib/libxprop.so lib/libxprop.so.1 +lib/libz.so +lib/libz.so.1 lib/nss_dns.so.1 lib/nss_files.so.1 lib/nss_nis.so.1 @@ -506,6 +510,8 @@ lib/sparcv9/libxnet.so lib/sparcv9/libxnet.so.1 lib/sparcv9/libxprop.so lib/sparcv9/libxprop.so.1 +lib/sparcv9/libz.so +lib/sparcv9/libz.so.1 lib/sparcv9/nss_dns.so.1 lib/sparcv9/nss_files.so.1 lib/sparcv9/nss_nis.so.1 @@ -2098,6 +2104,8 @@ usr/include/wordexp.h usr/include/xpol.h usr/include/xti.h usr/include/xti_inet.h +usr/include/zconf.h +usr/include/zlib.h usr/include/zone.h usr/include/zonestat.h usr/lib/0@0.so.1 @@ -2353,6 +2361,8 @@ usr/lib/amd64/libxprop.so usr/lib/amd64/libxprop.so.1 usr/lib/amd64/libzoneinfo.so usr/lib/amd64/libzoneinfo.so.1 +usr/lib/amd64/libz.so +usr/lib/amd64/libz.so.1 usr/lib/amd64/nss_ad.so.1 usr/lib/amd64/nss_dns.so.1 usr/lib/amd64/nss_files.so.1 @@ -2360,6 +2370,7 @@ usr/lib/amd64/nss_ldap.so.1 usr/lib/amd64/nss_nis.so.1 usr/lib/amd64/passwdutil.so.1 usr/lib/amd64/pkgconfig/uuid.pc +usr/lib/amd64/pkgconfig/zlib.pc usr/lib/amd64/straddr.so usr/lib/amd64/straddr.so.2 usr/lib/amd64/values-Xa.o @@ -2629,6 +2640,8 @@ usr/lib/libxnet.so usr/lib/libxnet.so.1 usr/lib/libzoneinfo.so usr/lib/libzoneinfo.so.1 +usr/lib/libz.so +usr/lib/libz.so.1 usr/lib/mdb/proc/amd64/ld.so usr/lib/mdb/proc/ld.so usr/lib/mdb/proc/sparcv9/ld.so @@ -2639,6 +2652,7 @@ usr/lib/nss_ldap.so.1 usr/lib/nss_nis.so.1 usr/lib/passwdutil.so.1 usr/lib/pkgconfig/uuid.pc +usr/lib/pkgconfig/zlib.pc usr/lib/sparcv9/0@0.so.1 usr/lib/sparcv9/crt1.o usr/lib/sparcv9/crti.o @@ -2887,6 +2901,8 @@ usr/lib/sparcv9/libxprop.so usr/lib/sparcv9/libxprop.so.1 usr/lib/sparcv9/libzoneinfo.so usr/lib/sparcv9/libzoneinfo.so.1 +usr/lib/sparcv9/libz.so +usr/lib/sparcv9/libz.so.1 usr/lib/sparcv9/nss_ad.so.1 usr/lib/sparcv9/nss_dns.so.1 usr/lib/sparcv9/nss_files.so.1 @@ -2894,6 +2910,7 @@ usr/lib/sparcv9/nss_ldap.so.1 usr/lib/sparcv9/nss_nis.so.1 usr/lib/sparcv9/passwdutil.so.1 usr/lib/sparcv9/pkgconfig/uuid.pc +usr/lib/sparcv9/pkgconfig/zlib.pc usr/lib/sparcv9/straddr.so usr/lib/sparcv9/straddr.so.2 usr/lib/sparcv9/values-Xa.o -- GitLab From c65c8ba19df3607ebf6ac39c5b0380223e6a0b7b Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 27 Feb 2025 15:04:48 -0500 Subject: [PATCH 2/2] gcc-solaris: add cross-compilers from linux-x86_64 to sunos-{x86_64,sparc64} --- .gitlab-ci.yml | 16 ++++++++++++++++ .gitlab/ci/make-release.sh | 8 +++++++- gcc-solaris/package-linux.bash | 28 +++++++++++++++++++++++++++- gcc-solaris/sysroot.md | 12 ++++++++---- 4 files changed, 58 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e8ee54..535f956 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 4852e79..8697942 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 282850a..0458a0c 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" <