From 023ff7c6baa32294095d7ae7b21421424bfd9021 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:11 -0700 Subject: [PATCH 01/38] binutils: update to 2.39. --- ...e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch | 60 ----------------- .../fix-libcollector-without-java.patch | 53 +++++++++++++++ .../patches/ppc64-revert-gnu-attributes.patch | 66 +++++-------------- srcpkgs/binutils/template | 25 ++++--- 4 files changed, 87 insertions(+), 117 deletions(-) delete mode 100644 srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch create mode 100644 srcpkgs/binutils/patches/fix-libcollector-without-java.patch diff --git a/srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch b/srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch deleted file mode 100644 index a55432d83cff..000000000000 --- a/srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 16 Nov 2020 06:37:53 -0800 -Subject: [PATCH] elf: Set rel_from_abs to 1 for __ehdr_start - -bfdlink.h has - - /* Symbol will be converted from absolute to section-relative. Set for - symbols defined by a script from "dot" (also SEGMENT_START or ORIGIN) - outside of an output section statement. */ - unsigned int rel_from_abs : 1; - -linker.c has - -.{* Return TRUE if the symbol described by a linker hash entry H -. is going to be absolute. Linker-script defined symbols can be -. converted from absolute to section-relative ones late in the -. link. Use this macro to correctly determine whether the symbol -. will actually end up absolute in output. *} -.#define bfd_is_abs_symbol(H) \ -. (((H)->type == bfd_link_hash_defined \ -. || (H)->type == bfd_link_hash_defweak) \ -. && bfd_is_abs_section ((H)->u.def.section) \ -. && !(H)->rel_from_abs) -. - -Set rel_from_abs to 1 for __ehdr_start which will be converted from -absolute to section-relative in assign_file_positions_for_load_sections. - - PR ld/26869 - * ldelf.c (ldelf_before_allocation): Set rel_from_abs to 1 for - __ehdr_start. - * testsuite/ld-i386/i386.exp: Run pr26869. - * testsuite/ld-i386/pr26869.d: New file. - * testsuite/ld-i386/pr26869.s: Likewise. - -(cherry picked from commit cbd5b99cce073273f668b154d4514e8e7e7ccc51) ---- - ld/ChangeLog | 9 +++++++++ - ld/ldelf.c | 2 ++ - ld/testsuite/ld-i386/i386.exp | 1 + - ld/testsuite/ld-i386/pr26869.d | 14 ++++++++++++++ - ld/testsuite/ld-i386/pr26869.s | 3 +++ - 5 files changed, 29 insertions(+) - create mode 100644 ld/testsuite/ld-i386/pr26869.d - create mode 100644 ld/testsuite/ld-i386/pr26869.s - -diff --git a/ld/ldelf.c b/ld/ldelf.c -index bada3ade2d7..831d032fe56 100644 ---- a/ld/ldelf.c -+++ b/ld/ldelf.c -@@ -1589,6 +1589,8 @@ ldelf_before_allocation (char *audit, char *depaudit, - (char *) &ehdr_start->u + sizeof ehdr_start->u.def.next, - sizeof ehdr_start_save_u); - ehdr_start->type = bfd_link_hash_defined; -+ /* It will be converted to section-relative later. */ -+ ehdr_start->rel_from_abs = 1; - ehdr_start->u.def.section = bfd_abs_section_ptr; - ehdr_start->u.def.value = 0; - } diff --git a/srcpkgs/binutils/patches/fix-libcollector-without-java.patch b/srcpkgs/binutils/patches/fix-libcollector-without-java.patch new file mode 100644 index 000000000000..54384875f358 --- /dev/null +++ b/srcpkgs/binutils/patches/fix-libcollector-without-java.patch @@ -0,0 +1,53 @@ +From 49ddd814ac1071af7c4f45d5f8398b91862f2c7f Mon Sep 17 00:00:00 2001 +From: Vladimir Mezentsev +Date: Wed, 17 Aug 2022 19:55:23 -0700 +Subject: [PATCH] gprofng: fix bug 29479 Collection fails when built without + java support + +gprofng/ChangeLog +2022-08-17 Vladimir Mezentsev + + PR gprofng/29479 + * libcollector/collector.c: Add #if defined(GPROFNG_JAVA_PROFILING) for + java specific code. + * libcollector/unwind.c: Likewise. +--- + gprofng/libcollector/collector.c | 2 ++ + gprofng/libcollector/unwind.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c +index 93c9d3330de5..ceff2c1caccb 100644 +--- a/gprofng/libcollector/collector.c ++++ b/gprofng/libcollector/collector.c +@@ -913,8 +913,10 @@ __collector_open_experiment (const char *exp, const char *params, sp_origin_t or + __collector_ext_unwind_key_init (1, NULL); + + /* start java attach if suitable */ ++#if defined(GPROFNG_JAVA_PROFILING) + if (exp_origin == SP_ORIGIN_DBX_ATTACH) + __collector_jprofile_start_attach (); ++#endif + start_sec_time = CALL_UTIL (time)(NULL); + __collector_start_time = collector_interface.getHiResTime (); + TprintfT (DBG_LT0, "\t__collector_open_experiment; resetting start_time\n"); +diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c +index 119243788020..f8e11823c81e 100644 +--- a/gprofng/libcollector/unwind.c ++++ b/gprofng/libcollector/unwind.c +@@ -557,6 +557,7 @@ __collector_get_frame_info (hrtime_t ts, int mode, void *arg) + int size = max_frame_size; + + #define MIN(a,b) ((a)<(b)?(a):(b)) ++#if defined(GPROFNG_JAVA_PROFILING) + /* get Java info */ + if (__collector_java_mode && __collector_java_asyncgetcalltrace_loaded && context && !pseudo_context) + { +@@ -569,6 +570,7 @@ __collector_get_frame_info (hrtime_t ts, int mode, void *arg) + size -= sz; + } + } ++#endif + + /* get native stack */ + if (context) diff --git a/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch b/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch index 5de937f4fcce..1c208dd8955c 100644 --- a/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch +++ b/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch @@ -1,39 +1,24 @@ -From b1faf99f3e546df2cd302bb1ad36a2078224fe8b Mon Sep 17 00:00:00 2001 +From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001 From: Ariadne Conill -Date: Fri, 30 Oct 2020 16:59:48 -0600 +Date: Tue, 21 Sep 2021 14:53:13 +0000 Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared libraries" +This revert is needed to avoid wrongly tagging objects with the incompatible +IBM long double ABI, which is not supported by musl and will result in +linking errors if used. + This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba. --- - bfd/ChangeLog | 6 ------ - bfd/elf32-tic6x.c | 3 --- - ld/ChangeLog | 6 ------ - ld/ldlang.c | 9 ++++----- - 4 files changed, 4 insertions(+), 20 deletions(-) + bfd/elf32-tic6x.c | 3 --- + ld/ldlang.c | 10 ++++------ + 2 files changed, 4 insertions(+), 9 deletions(-) -diff --git a/bfd/ChangeLog b/bfd/ChangeLog -index 9fac12538a..b5461494e8 100644 ---- a/bfd/ChangeLog -+++ b/bfd/ChangeLog -@@ -1422,12 +1422,6 @@ - accessing root.u.def of symbols. Also check root.u.def.section - is non-NULL. Reverse tests so as to make the logic positive. - --2020-05-01 Alan Modra -- -- PR 25882 -- * elf32-tic6x.c (elf32_tic6x_merge_attributes): Don't transfer -- Tag_ABI_PIC or Tag_ABI_PID from dynamic objects to the output. -- - 2020-05-01 Alan Modra - - PR 25882 diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c -index b8b916bfd3..91bb6a10b1 100644 +index 5754f3cb860..3ad1d612749 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c -@@ -3748,9 +3748,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info) +@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info) case Tag_ABI_PIC: case Tag_ABI_PID: @@ -43,36 +28,20 @@ index b8b916bfd3..91bb6a10b1 100644 if (out_attr[i].i > in_attr[i].i) out_attr[i].i = in_attr[i].i; break; -diff --git a/ld/ChangeLog b/ld/ChangeLog -index 4eec7d2977..b93452f70c 100644 ---- a/ld/ChangeLog -+++ b/ld/ChangeLog -@@ -1319,12 +1319,6 @@ - * testsuite/ld-aarch64/farcall-group.d: New test driver. - * testsuite/ld-aarch64/aarch64-elf.exp: Run the new test. - --2020-05-01 Alan Modra -- -- PR 25882 -- * ldlang.c (lang_check): Call bfd_merge_private_bfd_data for -- shared libraries. -- - 2020-05-01 Alan Modra - - * po/BLD-POTFILES.in: Regenerate. diff --git a/ld/ldlang.c b/ld/ldlang.c -index 9977195074..173d8ec349 100644 +index 37b64c89ee1..f13beaef9d9 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c -@@ -6972,12 +6972,11 @@ lang_check (void) +@@ -7071,13 +7071,11 @@ lang_check (void) bfd_printable_name (input_bfd), input_bfd, bfd_printable_name (link_info.output_bfd)); } - - /* If the input bfd has no contents, it shouldn't set the - private data of the output bfd. */ -- else if ((input_bfd->flags & DYNAMIC) != 0 -- || bfd_count_sections (input_bfd) != 0) +- else if (!file->flags.just_syms +- && ((input_bfd->flags & DYNAMIC) != 0 +- || bfd_count_sections (input_bfd) != 0)) + else if (bfd_count_sections (input_bfd)) { + /* If the input bfd has no contents, it shouldn't set the @@ -82,5 +51,4 @@ index 9977195074..173d8ec349 100644 /* If we aren't supposed to warn about mismatched input -- -2.29.2 - +2.33.0 diff --git a/srcpkgs/binutils/template b/srcpkgs/binutils/template index 6270f8618c87..c355a5fc8016 100644 --- a/srcpkgs/binutils/template +++ b/srcpkgs/binutils/template @@ -1,19 +1,20 @@ # Template file for 'binutils' pkgname=binutils -version=2.35.1 -revision=4 +version=2.39 +revision=1 bootstrap=yes +hostmakedepends="pkgconf" makedepends="zlib-devel" short_desc="GNU binary utilities" maintainer="Enno Boland " license="GPL-3.0-or-later" homepage="http://www.gnu.org/software/binutils/" distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.xz" -checksum=3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 +checksum=645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 subpackages="binutils-doc" if [ "$CHROOT_READY" ]; then - hostmakedepends="flex perl texinfo" + hostmakedepends+=" flex perl texinfo" makedepends+=" elfutils-devel" checkdepends="bc" depends="binutils-doc" @@ -35,15 +36,21 @@ do_configure() { local conf if [ "$CHROOT_READY" ]; then - conf+=" --with-debuginfod" + conf+=" --with-debuginfod --enable-shared" else - conf+=" --without-debuginfod --disable-install-libbfd" + conf+=" --without-debuginfod --disable-shared --disable-install-libbfd" fi if [ "$CROSS_BUILD" ]; then # we don't want --with-sysroot=${XBPS_CROSS_BASE} like gnu-configure conf+=" --host=${XBPS_CROSS_TRIPLET} --with-build-sysroot=${XBPS_CROSS_BASE}" fi + # gprofng currently only supports x86 and aarch64 glibc. + case "$XBPS_TARGET_MACHINE" in + x86_64|i386|aarch64) conf+=" --enable-gprofng" ;; + *) conf+=" --disable-gprofng" ;; + esac + case "$XBPS_TARGET_MACHINE" in ppc*) conf+=" --enable-secureplt" @@ -76,13 +83,14 @@ do_configure() { --libdir=/usr/lib \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ + --sysconfdir=/etc \ --disable-werror \ - --disable-shared \ --disable-nls \ --enable-threads \ --enable-plugins \ --enable-relro \ --enable-gold \ + --enable-new-dtags \ --enable-deterministic-archives \ --enable-64-bit-bfd \ --enable-ld=default \ @@ -142,7 +150,8 @@ binutils-devel_package() { pkg_install() { vmove usr/include vmove "usr/lib/*.a" - vmove "usr/lib/*.so" + vmove "usr/lib/libbfd.so" + vmove "usr/lib/libopcodes.so" } } From a3a9127f29ca775d5e8cfab5ee07092a41327fb3 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:11 -0700 Subject: [PATCH 02/38] gdb: resolve conflict with binutils 2.39 --- srcpkgs/gdb/template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gdb/template b/srcpkgs/gdb/template index 9c5f17ffc519..b666348fea19 100644 --- a/srcpkgs/gdb/template +++ b/srcpkgs/gdb/template @@ -1,7 +1,7 @@ # Template file for 'gdb' pkgname=gdb version=12.1 -revision=2 +revision=3 build_style=gnu-configure pycompile_dirs="/usr/share/gdb/python" configure_args="--disable-werror --disable-nls --with-system-readline @@ -48,7 +48,8 @@ vopt_conflict debuginfod static post_install() { # resolve conflicts with binutils - rm -r ${DESTDIR}/usr/{include,lib,share/info/bfd.info*} + rm -rf ${DESTDIR}/usr/{include,lib} + rm -rf ${DESTDIR}/usr/share/info/{bfd,ctf-spec}.info* } gdb-common_package() { From 28c6739b1887608bdf582fb06f573f3137928cb0 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:11 -0700 Subject: [PATCH 03/38] gcc: update to 12.2.0. --- common/shlibs | 10 +-- srcpkgs/gcc/files/gccgo-musl.patch | 71 +++------------ srcpkgs/gcc/files/libgnarl-musl.patch | 18 ++-- srcpkgs/gcc/files/libssp-musl.patch | 10 +-- .../gcc/patches/force-override-clocale.patch | 21 +++++ srcpkgs/gcc/patches/libffi_gnulinux.patch | 11 --- .../gcc/patches/libgcc-ibm128-no-tag.patch | 10 ++- srcpkgs/gcc/patches/mips-sgidefs_h.patch | 2 +- srcpkgs/gcc/template | 87 +++++++++---------- 9 files changed, 101 insertions(+), 139 deletions(-) create mode 100644 srcpkgs/gcc/patches/force-override-clocale.patch delete mode 100644 srcpkgs/gcc/patches/libffi_gnulinux.patch diff --git a/common/shlibs b/common/shlibs index 0814612ced32..3ee7969839ad 100644 --- a/common/shlibs +++ b/common/shlibs @@ -60,7 +60,7 @@ libcc1plugin.so.0 gcc-6.2.1_1 libitm.so.1 libitm-4.7.3_1 liblto_plugin.so.0 gcc-4.7.3_1 libgcc_s.so.1 libgcc-4.4.0_1 -libgo.so.16 libgo-10.2.0_1 +libgo.so.21 libgo-12.2.0_1 libgccjit.so.0 libgccjit-10.2.1pre1_1 libperl.so.5.36 perl-5.36.0_1 libgmp.so.10 gmp-5.0.1_1 @@ -858,8 +858,8 @@ libgdkmm-2.4.so.1 gtkmm2-2.24.0_1 libgtkmm-2.4.so.1 gtkmm2-2.24.0_1 libquadmath.so.0 libquadmath-4.4.0_1 libgfortran.so.5 libgfortran-8.2.0_1 -libgnarl-10.so libada-10.2.0_1 -libgnat-10.so libada-10.2.0_1 +libgnarl-12.so libada-12.2.0_1 +libgnat-12.so libada-12.2.0_1 libwebp.so.7 libwebp-0.6.0_1 libwebpmux.so.3 libwebp-0.6.0_1 libwebpdemux.so.2 libwebp-0.5.0_1 @@ -1711,8 +1711,8 @@ libextractor.so.3 libextractor-1.1_1 libextractor_common.so.1 libextractor-1.1_1 libpano13.so.3 libpano13-2.9.19_1 libubsan.so.1 libsanitizer-8.2.0_1 -libtsan.so.0 libsanitizer-6.3.0_1 -libasan.so.6 libsanitizer-10.2.0_1 +libtsan.so.2 libsanitizer-12.2.0_1 +libasan.so.8 libsanitizer-12.2.0_1 liblsan.so.0 libsanitizer-6.3.0_1 libvtv.so.0 libvtv-6.3.0_1 libatomic.so.1 libatomic-4.9.0_1 diff --git a/srcpkgs/gcc/files/gccgo-musl.patch b/srcpkgs/gcc/files/gccgo-musl.patch index 9762739615af..12ec68dd8aa3 100644 --- a/srcpkgs/gcc/files/gccgo-musl.patch +++ b/srcpkgs/gcc/files/gccgo-musl.patch @@ -53,17 +53,6 @@ URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc p := sysMmap(addr, n, prot, flags, fd, off) if uintptr(p) == _MAP_FAILED { return nil, errno() ---- a/libgo/go/runtime/signal_gccgo.go -+++ b/libgo/go/runtime/signal_gccgo.go -@@ -111,7 +111,7 @@ func getsig(i uint32) uintptr { - if sigaction(i, nil, &sa) < 0 { - // On GNU/Linux glibc rejects attempts to call - // sigaction with signal 32 (SIGCANCEL) or 33 (SIGSETXID). -- if GOOS == "linux" && (i == 32 || i == 33) { -+ if GOOS == "linux" && (i == 32 || i == 33 || i == 34) { - return _SIG_DFL - } - throw("sigaction read failure") --- a/libgo/go/syscall/errstr.go +++ b/libgo/go/syscall/errstr.go @@ -5,7 +5,6 @@ @@ -140,55 +129,6 @@ URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc plwoff = &lwoff } n, err = splice(rfd, plroff, wfd, plwoff, len, flags) ---- a/libgo/mksigtab.sh -+++ b/libgo/mksigtab.sh -@@ -82,7 +82,7 @@ checksig _SIGPWR '{_SigNotify, "SIGPWR: power failure restart"}' - checksig _SIGEMT '{_SigThrow, "SIGEMT: emulate instruction executed"}' - checksig _SIGINFO '{_SigNotify, "SIGINFO: status request from keyboard"}' - checksig _SIGTHR '{_SigNotify, "SIGTHR: reserved"}' --checksig _SIGPOLL '{_SigNotify, "SIGPOLL: pollable event occurred"}' -+#checksig _SIGPOLL '{_SigNotify, "SIGPOLL: pollable event occurred"}' - checksig _SIGWAITING '{_SigNotify, "SIGWAITING: reserved signal no longer used by"}' - checksig _SIGLWP '{_SigNotify, "SIGLWP: reserved signal no longer used by"}' - checksig _SIGFREEZE '{_SigNotify, "SIGFREEZE: special signal used by CPR"}' -@@ -95,10 +95,12 @@ checksig _SIGLOST ' {_SigNotify, "SIGLOST: resource lost (Sun); server died (G - - # Special handling of signals 32 and 33 on GNU/Linux systems, - # because they are special to glibc. -+# Signal 34 is additionally special to Linux systems with musl. - if test "${GOOS}" = "linux"; then -- SIGLIST=$SIGLIST"_32__33_" -+ SIGLIST=$SIGLIST"_32__33__34_" - echo ' 32: {_SigSetStack + _SigUnblock, "signal 32"}, /* SIGCANCEL; see issue 6997 */' - echo ' 33: {_SigSetStack + _SigUnblock, "signal 33"}, /* SIGSETXID; see issues 3871, 9400, 12498 */' -+ echo ' 34: {_SigSetStack + _SigUnblock, "signal 34"}, /* see issue 30062 */' - fi - - if test "${GOOS}" = "aix"; then ---- a/libgo/runtime/go-signal.c 2020-07-23 08:35:19.004402840 +0200 -+++ b/libgo/runtime/go-signal.c 2020-08-09 21:35:54.352886232 +0200 -@@ -224,7 +224,11 @@ - #elif defined(__alpha__) && defined(__linux__) - ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.sc_pc; - #elif defined(__PPC__) && defined(__linux__) -- ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.regs->nip; -+ #ifdef __PPC64__ -+ ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.gp_regs[32]; -+ #else -+ ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.gregs[32]; -+ #endif - #elif defined(__PPC__) && defined(_AIX) - ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.jmp_context.iar; - #elif defined(__aarch64__) && defined(__linux__) -@@ -333,7 +337,7 @@ - runtime_printf("sp %X\n", m->sc_regs[30]); - runtime_printf("pc %X\n", m->sc_pc); - } --#elif defined(__PPC__) && defined(__LITTLE_ENDIAN__) && defined(__linux__) -+#elif defined(__PPC__) && defined(__LITTLE_ENDIAN__) && defined(__linux__) && defined(__GLIBC__) - { - mcontext_t *m = &((ucontext_t*)(context))->uc_mcontext; - int i; --- a/libgo/runtime/runtime.h +++ b/libgo/runtime/runtime.h @@ -500,10 +500,13 @@ int __go_setcontext(__go_context_t*); @@ -220,3 +160,14 @@ URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc #if defined(HAVE_SYS_UTSNAME_H) #include #endif +--- a/libgo/go/runtime/os_linux.go ++++ b/libgo/go/runtime/os_linux.go +@@ -365,7 +365,7 @@ func setThreadCPUProfiler(hz int32) { + var sevp _sigevent + sevp.sigev_notify = _SIGEV_THREAD_ID + sevp.sigev_signo = _SIGPROF +- *((*int32)(unsafe.Pointer(&sevp._sigev_un))) = int32(mp.procid) ++ *((*int32)(unsafe.Pointer(&sevp.__sev_fields))) = int32(mp.procid) + ret := timer_create(_CLOCK_THREAD_CPUTIME_ID, &sevp, &timerid) + if ret != 0 { + // If we cannot create a timer for this M, leave profileTimerValid false diff --git a/srcpkgs/gcc/files/libgnarl-musl.patch b/srcpkgs/gcc/files/libgnarl-musl.patch index 99a734c42c90..91c95949e0e9 100644 --- a/srcpkgs/gcc/files/libgnarl-musl.patch +++ b/srcpkgs/gcc/files/libgnarl-musl.patch @@ -5,7 +5,7 @@ Reason: Patch libgnarl to not use function missing from musl. diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/libgnarl/s-osinte__linux.ads --- a/gcc/ada/libgnarl/s-osinte__linux.ads 2018-01-11 00:55:25.000000000 -0800 +++ b/gcc/ada/libgnarl/s-osinte__linux.ads 2018-11-01 16:16:23.372452951 -0700 -@@ -394,12 +394,6 @@ package System.OS_Interface is +@@ -403,12 +403,6 @@ package System.OS_Interface is PTHREAD_RWLOCK_PREFER_WRITER_NP : constant := 1; PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP : constant := 2; @@ -18,7 +18,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/l function pthread_rwlock_init (mutex : access pthread_rwlock_t; attr : access pthread_rwlockattr_t) return int; -@@ -464,11 +458,6 @@ package System.OS_Interface is +@@ -470,11 +464,6 @@ package System.OS_Interface is protocol : int) return int; pragma Import (C, pthread_mutexattr_setprotocol); @@ -33,7 +33,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/l diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/libgnarl/s-taprop__linux.adb --- a/gcc/ada/libgnarl/s-taprop__linux.adb 2018-01-11 00:55:25.000000000 -0800 +++ b/gcc/ada/libgnarl/s-taprop__linux.adb 2018-11-13 11:28:36.433964449 -0800 -@@ -202,9 +202,6 @@ package body System.Task_Primitives.Oper +@@ -198,9 +198,6 @@ package body System.Task_Primitives.Oper pragma Import (C, GNAT_pthread_condattr_setup, "__gnat_pthread_condattr_setup"); @@ -43,7 +43,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l -- We do not have pragma Linker_Options ("-lcap"); here, because this -- library is not present on many Linux systems. 'libcap' is the Linux -- "capabilities" library, called by __gnat_has_cap_sys_nice. -@@ -214,38 +211,6 @@ package body System.Task_Primitives.Oper +@@ -210,38 +207,6 @@ package body System.Task_Primitives.Oper -- Convert Ada priority to Linux priority. Priorities are 1 .. 99 on -- GNU/Linux, so we map 0 .. 98 to 1 .. 99. @@ -76,13 +76,13 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l - return Ceiling_Support; - end Get_Ceiling_Support; - -- pragma Warnings (Off, "non-static call not allowed in preelaborated unit"); +- pragma Warnings (Off, "non-preelaborable call not allowed*"); - Ceiling_Support : constant Boolean := Get_Ceiling_Support; -- pragma Warnings (On, "non-static call not allowed in preelaborated unit"); +- pragma Warnings (On, "non-preelaborable call not allowed*"); -- True if the locking policy is Ceiling_Locking, and the current process -- has permission to use this policy. The process has permission if it is -- running as 'root', or if the capability was set by the setcap command, -@@ -348,7 +313,9 @@ package body System.Task_Primitives.Oper +@@ -344,7 +309,9 @@ package body System.Task_Primitives.Oper -- Init_Mutex -- ---------------- @@ -92,7 +92,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l Mutex_Attr : aliased pthread_mutexattr_t; Result, Result_2 : C.int; -@@ -360,16 +327,7 @@ package body System.Task_Primitives.Oper +@@ -356,16 +323,7 @@ package body System.Task_Primitives.Oper return Result; end if; @@ -110,7 +110,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l Result := pthread_mutexattr_setprotocol (Mutex_Attr'Access, PTHREAD_PRIO_INHERIT); pragma Assert (Result = 0); -@@ -409,11 +367,6 @@ package body System.Task_Primitives.Oper +@@ -405,11 +363,6 @@ package body System.Task_Primitives.Oper Result := pthread_rwlockattr_init (RWlock_Attr'Access); pragma Assert (Result = 0); diff --git a/srcpkgs/gcc/files/libssp-musl.patch b/srcpkgs/gcc/files/libssp-musl.patch index b21a2c29e57c..99f248401a1c 100644 --- a/srcpkgs/gcc/files/libssp-musl.patch +++ b/srcpkgs/gcc/files/libssp-musl.patch @@ -2,9 +2,9 @@ First part taken from Alpine. Second part added to prevent gccgo from thinking it can -fsplit-stack on musl. ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -874,10 +874,15 @@ proper position among the other output files. */ +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -984,10 +984,15 @@ proper position among the other output f #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}" #endif @@ -22,10 +22,10 @@ Second part added to prevent gccgo from thinking it can -fsplit-stack on musl. #else #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ "|fstack-protector-strong|fstack-protector-explicit" \ -@@ -1155,7 +1160,7 @@ static const char *cc1_options = +@@ -1280,7 +1285,7 @@ static const char *cc1_options = %{-version:--version}\ %{-help=*:--help=%*}\ - %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ + %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\ - %{fsyntax-only:-o %j} %{-param*}\ + %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ %{coverage:-fprofile-arcs -ftest-coverage}\ diff --git a/srcpkgs/gcc/patches/force-override-clocale.patch b/srcpkgs/gcc/patches/force-override-clocale.patch new file mode 100644 index 000000000000..8af8a7150dd9 --- /dev/null +++ b/srcpkgs/gcc/patches/force-override-clocale.patch @@ -0,0 +1,21 @@ +This is necessary when building a gnu cross compiler for a musl target. +Otherwise, even if clocale manually is set to gnu, it will be reset to generic +when the test is performed using AC_EGREP_CPP(). +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -16493,6 +16493,7 @@ fi + + # Sanity check model, and test for special functionality. + if test $enable_clocale_flag = gnu; then ++ if test $enable_clocale = auto; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -16509,6 +16510,7 @@ else + enable_clocale_flag=generic + fi + rm -f conftest* ++ fi + + + # Set it to scream when it hurts. diff --git a/srcpkgs/gcc/patches/libffi_gnulinux.patch b/srcpkgs/gcc/patches/libffi_gnulinux.patch deleted file mode 100644 index 98245bd5be1a..000000000000 --- a/srcpkgs/gcc/patches/libffi_gnulinux.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libffi/src/closures.c -+++ b/libffi/src/closures.c -@@ -34,7 +34,7 @@ - #include - - #if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE --# if __gnu_linux__ && !defined(__ANDROID__) -+# if __linux__ && !defined(__ANDROID__) - /* This macro indicates it may be forbidden to map anonymous memory - with both write and execute permission. Code compiled when this - option is defined will attempt to map such pages once, but if it diff --git a/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch b/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch index bdf5c75d917d..26d80356ad0d 100644 --- a/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch +++ b/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch @@ -29,10 +29,14 @@ diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux index 4f6d4c4..fa93bb6 100644 --- a/libgcc/config/rs6000/t-linux +++ b/libgcc/config/rs6000/t-linux -@@ -1,3 +1,3 @@ +@@ -1,6 +1,6 @@ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver --HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc -+HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute -mno-minimal-toc +-HOST_LIBGCC2_CFLAGS += -mlong-double-128 ++HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute + + # This is a way of selecting -mcmodel=small for ppc64, which gives + # smaller and faster libgcc code. Directly specifying -mcmodel=small + -- 2.24.0 diff --git a/srcpkgs/gcc/patches/mips-sgidefs_h.patch b/srcpkgs/gcc/patches/mips-sgidefs_h.patch index dddfe10e8c06..cd0ae7a380df 100644 --- a/srcpkgs/gcc/patches/mips-sgidefs_h.patch +++ b/srcpkgs/gcc/patches/mips-sgidefs_h.patch @@ -3,7 +3,7 @@ @@ -42,7 +42,7 @@ #define _MIPS_SIM_NABI32 2 #define _MIPS_SIM_ABI64 3 - #elif !defined(__OpenBSD__) + #elif !defined(__OpenBSD__) && !defined(__FreeBSD__) -# include +# include #endif diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index ab3643de4f98..a20af7c0ef2e 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -3,18 +3,14 @@ # which use the version number. pkgname=gcc -# we are using a 10-stable git snapshot alpine is using in order -# to get regression fixes not yet incorporate into a stable release -# it should be possible to switch back to stable with 10.3 or 11 -version=10.2.1pre1 -revision=3 -_patchver="${version%pre*}" -_minorver="${_patchver%.*}" +version=12.2.0 +revision=1 +_minorver="${version%.*}" _majorver="${_minorver%.*}" -_gmp_version=6.2.0 +_gmp_version=6.2.1 _mpfr_version=4.1.0 -_mpc_version=1.1.0 -_isl_version=0.21 +_mpc_version=1.2.1 +_isl_version=0.24 create_wrksrc=yes short_desc="GNU Compiler Collection" maintainer="Enno Boland " @@ -22,16 +18,16 @@ homepage="http://gcc.gnu.org" license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" # *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz distfiles=" - https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz + ${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2" -checksum="772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526 +checksum="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f - 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e - d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859" + 17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 + fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0" nopie=yes lib32disabled=yes @@ -52,8 +48,11 @@ if [ "$CHROOT_READY" ]; then hostmakedepends="tar texinfo perl flex" else _have_gccgo=no + # libzstd fails to link in bootstrap with glibc 2.36 + # when zlib has been compiled with glibc 2.32. + LDFLAGS="-lzstd -pthread" fi -makedepends="zlib-devel" +makedepends="zlib-devel libzstd-devel" depends="binutils libgcc-devel-${version}_${revision} libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}" checkdepends="dejagnu" @@ -70,13 +69,13 @@ if [ "$build_option_gnatboot" ]; then case "$XBPS_TARGET_MACHINE" in x86_64) _gnat_tarball="gnat-gpl-2017-x86_64-linux-bin.tar.gz" - distfiles+=" http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7>$_gnat_tarball" + distfiles+=" https://community.download.adacore.com/v1/9682e2e1f2f232ce03fe21d77b14c37a0de5649b?filename=$_gnat_tarball>$_gnat_tarball" checksum+=" b942bcac20dea39748b39f8b624d9619f60a8dee2e8195dbe3829c835b0956e6" build_options_default="gnatboot" ;; i686) _gnat_tarball="gnat-gpl-2014-x86-linux-bin.tar.gz" - distfiles+=" http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248>$_gnat_tarball" + distfiles+=" https://community.download.adacore.com/v1/c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6?filename=$_gnat_tarball>$_gnat_tarball" checksum+=" 3b693510f5d22a240abb3034934c1adbd80ccd6e4f61a4f491cc408fdfd9c042" build_options_default="gnatboot" ;; @@ -155,8 +154,8 @@ if [ "$CROSS_BUILD" ]; then fi post_extract() { - mv gcc-${version/pre/_pre}/* gcc-${version/pre/_pre}/.??* . - rmdir gcc-${version/pre/_pre} + mv gcc-${version}/* gcc-${version}/.??* . + rmdir gcc-${version} mv gmp-${_gmp_version} gmp mv mpfr-${_mpfr_version} mpfr mv mpc-${_mpc_version} mpc @@ -186,9 +185,9 @@ pre_configure() { sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in if [ "$XBPS_TARGET_LIBC" = musl ]; then - patch -p1 -i ${FILESDIR}/libgnarl-musl.patch - patch -p1 -i ${FILESDIR}/libssp-musl.patch - patch -p1 -i ${FILESDIR}/gccgo-musl.patch + for p in ${FILESDIR}/*-musl.patch; do + patch -p1 -i $p + done fi } do_configure() { @@ -343,16 +342,16 @@ do_install() { # Make version a symlink of major version to make all versions # from the same series work automagically. - mv ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver} \ + mv ${DESTDIR}/usr/lib/gcc/${_triplet}/${version} \ ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver} ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver} \ - ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver} + ${DESTDIR}/usr/lib/gcc/${_triplet}/${version} # Ditto for c++ headers. - mv ${DESTDIR}/usr/include/c++/${_patchver} \ + mv ${DESTDIR}/usr/include/c++/${version} \ ${DESTDIR}/usr/include/c++/${_minorver} ln -sfr ${DESTDIR}/usr/include/c++/${_minorver} \ - ${DESTDIR}/usr/include/c++/${_patchver} + ${DESTDIR}/usr/include/c++/${version} # cc symlink ln -sfr ${DESTDIR}/usr/bin/gcc ${DESTDIR}/usr/bin/cc @@ -361,7 +360,7 @@ do_install() { # lto plugin symlink vmkdir usr/lib/bfd-plugins - ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver}/liblto_plugin.so \ + ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${version}/liblto_plugin.so \ ${DESTDIR}/usr/lib/bfd-plugins # Remove "fixed" header @@ -372,13 +371,9 @@ do_install() { rm -f ${DESTDIR}/usr/lib/libffi* rm -f ${DESTDIR}/usr/share/man/man3/ffi* - # Remove all python scripts in libdir. - rm -f ${DESTDIR}/usr/lib/*.py - - # Remove more python stuff. - if [ -d ${DESTDIR}/usr/share/gcc-${_patchver}/python ]; then - rm -rf ${DESTDIR}/usr/share/gcc-${_patchver}/python - fi + # Move libstdc++ gdb helpers to location where gdb can autoload them + mkdir -p ${DESTDIR}/usr/share/gdb/auto-load/usr/lib + mv ${DESTDIR}/usr/lib/*.py ${DESTDIR}/usr/share/gdb/auto-load/usr/lib # Install c89 and c99 wrappers and its manpages, from NetBSD. for f in c89 c99; do @@ -397,7 +392,7 @@ gcc-ada_package() { depends="gcc>=${_minorver} libada-devel>=${_minorver}" short_desc+=" - Ada compiler frontend" pkg_install() { - for f in gnat{,bind,chop,clean,find,kr,link,ls,make,name,prep,xref}; do + for f in gnat{,bind,chop,clean,kr,link,ls,make,name,prep}; do vmove usr/bin/${f} done } @@ -450,7 +445,7 @@ gcc-fortran_package() { if [ "$CROSS_BUILD" ]; then # A number of OMP modules are not built when cross # compiling gcc. Copy them from the cross compiler. - local src="/usr/lib/gcc/${_triplet}/${_patchver}/finclude" + local src="/usr/lib/gcc/${_triplet}/${version}/finclude" local dst="usr/lib/gcc/${_triplet}/${_minorver}/finclude" for f in omp_lib.f90 omp_lib.h omp_lib.mod omp_lib_kinds.mod \ openacc.f90 openacc.mod openacc_kinds.mod openacc_lib.h; do @@ -517,7 +512,7 @@ libgfortran_package() { short_desc+=" - Fortran library" pkg_install() { vmove "usr/lib/libgfortran.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -538,7 +533,7 @@ libgo_package() { nostrip=yes pkg_install() { vmove "usr/lib/libgo.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -554,7 +549,7 @@ libobjc_package() { short_desc+=" - Objective-C library" pkg_install() { vmove "usr/lib/libobjc.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -573,7 +568,7 @@ libquadmath_package() { short_desc+=" - quadmath library" pkg_install() { vmove "usr/lib/libquadmath.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -615,7 +610,7 @@ libgcc_package() { noverifyrdeps=yes pkg_install() { vmove "usr/lib/libgcc_s.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -646,7 +641,7 @@ libgomp_package() { short_desc+=" - OpenMP v4.0 library" pkg_install() { vmove "usr/lib/libgomp*.so.*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -701,7 +696,7 @@ libssp_package() { short_desc+=" - SSP (StackSmashingProtection) library" pkg_install() { vmove "usr/lib/libssp.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } @@ -718,7 +713,9 @@ libstdc++-devel_package() { libstdc++_package() { short_desc+=" - Standard C++ Library" pkg_install() { + vmove usr/share/gdb + vmove usr/share/gcc-${version}/python vmove "usr/lib/libstdc++.so*" - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION + vlicense COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } From 702e0027427e1a8bc67b306fb005979136950558 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:11 -0700 Subject: [PATCH 04/38] libtool: rebuild for gcc 12 --- srcpkgs/libtool/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template index fc5c53a9c3e9..aebad9294eef 100644 --- a/srcpkgs/libtool/template +++ b/srcpkgs/libtool/template @@ -1,7 +1,7 @@ # Template file for 'libtool' pkgname=libtool version=2.4.7 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="texinfo perl automake help2man xz" depends="tar sed" From e0e5fe3cda4fef4a1eafac3ec8d735cb1aeb3280 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 05/38] libiberty-devel: update to 20220713. --- srcpkgs/libiberty-devel/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libiberty-devel/template b/srcpkgs/libiberty-devel/template index 7e01bbb851fd..d9618e3806ba 100644 --- a/srcpkgs/libiberty-devel/template +++ b/srcpkgs/libiberty-devel/template @@ -1,6 +1,6 @@ # Template file for 'libiberty-devel' pkgname=libiberty-devel -version=20210106 +version=20220713 revision=1 build_wrksrc=libiberty build_style=gnu-configure @@ -10,7 +10,7 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="http://gcc.gnu.org/" distfiles="http://deb.debian.org/debian/pool/main/libi/libiberty/libiberty_${version}.orig.tar.xz" -checksum=9df153d69914c0f5a9145e0abbb248e72feebab6777c712a30f1c3b8c19047d4 +checksum=b59050f48c8a0f9c9e6fba5d17c7a4f11d1329de0c0dca7331b767a6d2bbe8d9 conflicts="binutils-devel<=2.35.1_3" CFLAGS="-fPIC" From 11abea7e3e8946c5dff9a5cd728050e89ee6b84f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 06/38] glibc: update to 2.36. --- common/shlibs | 60 ++-- ...e-hash-style-both-for-building-glibc.patch | 51 ++++ .../glibc/patches/glibc-c-utf8-locale.patch | 286 ------------------ srcpkgs/glibc/template | 66 ++-- 4 files changed, 109 insertions(+), 354 deletions(-) create mode 100644 srcpkgs/glibc/patches/0001-Revert-Do-not-use-hash-style-both-for-building-glibc.patch delete mode 100644 srcpkgs/glibc/patches/glibc-c-utf8-locale.patch diff --git a/common/shlibs b/common/shlibs index 3ee7969839ad..3f90cbd1ace3 100644 --- a/common/shlibs +++ b/common/shlibs @@ -17,38 +17,38 @@ # one (order top->bottom) is preferred over the next ones. # libc.so musl-1.1.24_7 -libc.so.6 glibc-2.32_1 -libm.so.6 glibc-2.32_1 -libpthread.so.0 glibc-2.32_1 -librt.so.1 glibc-2.32_1 -libdl.so.2 glibc-2.32_1 -ld-linux-x86-64.so.2 glibc-2.32_1 x86_64 -ld-linux.so.2 glibc-2.32_1 i686 -ld-linux.so.3 glibc-2.32_1 armv5tel -ld-linux-aarch64.so.1 glibc-2.32_1 aarch64 -ld64.so.2 glibc-2.32_1 ppc64 -ld.so.1 glibc-2.32_1 mips -ld.so.1 glibc-2.32_1 ppc -ld-linux-armhf.so.3 glibc-2.32_1 -libresolv.so.2 glibc-2.32_1 -libanl.so.1 glibc-2.32_1 -libthread_db.so.1 glibc-2.32_1 -libutil.so.1 glibc-2.32_1 -libnsl.so.1 glibc-2.32_1 -libnss_db.so.2 glibc-2.32_1 -libnss_files.so.2 glibc-2.32_1 -libnss_compat.so.2 glibc-2.32_1 -libnss_dns.so.2 glibc-2.32_1 -libnss_hesiod.so.2 glibc-2.32_1 -libcrypt.so.1 glibc-2.32_1 -libBrokenLocale.so.1 glibc-2.32_1 +libc.so.6 glibc-2.36_1 +libm.so.6 glibc-2.36_1 +libpthread.so.0 glibc-2.36_1 +librt.so.1 glibc-2.36_1 +libdl.so.2 glibc-2.36_1 +ld-linux-x86-64.so.2 glibc-2.36_1 x86_64 +ld-linux.so.2 glibc-2.36_1 i686 +ld-linux.so.3 glibc-2.36_1 armv5tel +ld-linux-aarch64.so.1 glibc-2.36_1 aarch64 +ld64.so.2 glibc-2.36_1 ppc64 +ld.so.1 glibc-2.36_1 mips +ld.so.1 glibc-2.36_1 ppc +ld-linux-armhf.so.3 glibc-2.36_1 +libresolv.so.2 glibc-2.36_1 +libanl.so.1 glibc-2.36_1 +libthread_db.so.1 glibc-2.36_1 +libutil.so.1 glibc-2.36_1 +libnsl.so.1 glibc-2.36_1 +libnss_db.so.2 glibc-2.36_1 +libnss_files.so.2 glibc-2.36_1 +libnss_compat.so.2 glibc-2.36_1 +libnss_dns.so.2 glibc-2.36_1 +libnss_hesiod.so.2 glibc-2.36_1 +libcrypt.so.1 glibc-2.36_1 +libBrokenLocale.so.1 glibc-2.36_1 libSimGearCore.so.2020.3.13 simgear-2020.3.13_1 libSimGearScene.so.2020.3.13 simgear-2020.3.13_1 -libmemusage.so glibc-2.32_1 -libSegFault.so glibc-2.32_1 -libpcprofile.so glibc-2.32_1 -libcidn.so.1 glibc-2.32_1 -libmvec.so.1 glibc-2.32_1 +libmemusage.so glibc-2.36_1 +libSegFault.so glibc-2.36_1 +libpcprofile.so glibc-2.36_1 +libcidn.so.1 glibc-2.36_1 +libmvec.so.1 glibc-2.36_1 libcddgmp.so.0 cddlib-0.94m_1 libcdd.so.0 cddlib-0.94m_1 libz.so.1 zlib-1.2.3_1 diff --git a/srcpkgs/glibc/patches/0001-Revert-Do-not-use-hash-style-both-for-building-glibc.patch b/srcpkgs/glibc/patches/0001-Revert-Do-not-use-hash-style-both-for-building-glibc.patch new file mode 100644 index 000000000000..9c5553e92609 --- /dev/null +++ b/srcpkgs/glibc/patches/0001-Revert-Do-not-use-hash-style-both-for-building-glibc.patch @@ -0,0 +1,51 @@ +Temporary workaround for EAC bug. + +See: https://sourceware.org/bugzilla/show_bug.cgi?id=29456 + +From 8e90e2cc5e57d7ca3a40602d278e9642a8b66716 Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Tue, 13 Sep 2022 14:30:35 -0700 +Subject: [PATCH] Revert "Do not use --hash-style=both for building glibc + shared objects" + +This reverts commit e47de5cb2d4dbecb58f569ed241e8e95c568f03c. +--- + Makeconfig | 9 +++++++++ + Makerules | 7 +++++++ + 5 files changed, 61 insertions(+) + +diff --git a/Makeconfig b/Makeconfig +index ba70321af1..e2131d4389 100644 +--- a/Makeconfig ++++ b/Makeconfig +@@ -371,6 +371,13 @@ dt-relr-ldflag = + no-dt-relr-ldflag = + endif + ++# For the time being we unconditionally use 'both'. At some time we ++# should declare statically linked code as 'out of luck' and compile ++# with --hash-style=gnu only. ++hashstyle-LDFLAGS = -Wl,--hash-style=both ++LDFLAGS.so += $(hashstyle-LDFLAGS) ++LDFLAGS-rtld += $(hashstyle-LDFLAGS) ++ + ifeq (no,$(build-pie-default)) + pie-default = $(no-pie-ccflag) + else # build-pie-default +diff --git a/Makerules b/Makerules +index d1e139d03c..44134e37ce 100644 +--- a/Makerules ++++ b/Makerules +@@ -558,6 +558,9 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules + -Wl,--verbose 2>/dev/null | \ + sed > $@T \ + -e '/^=========/,/^=========/!d;/^=========/d' \ ++ -e 's/^.*\.gnu\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ ++ -e '/^[ ]*\.hash[ ]*:.*$$/{h;d;}' \ ++ -e '/DATA_SEGMENT_ALIGN/{H;g}' \ + -e 's/^.*\*(\.dynbss).*$$/& \ + PROVIDE(__start___libc_freeres_ptrs = .); \ + *(__libc_freeres_ptrs) \ +-- +2.37.3 + diff --git a/srcpkgs/glibc/patches/glibc-c-utf8-locale.patch b/srcpkgs/glibc/patches/glibc-c-utf8-locale.patch deleted file mode 100644 index 7215e1558b62..000000000000 --- a/srcpkgs/glibc/patches/glibc-c-utf8-locale.patch +++ /dev/null @@ -1,286 +0,0 @@ -Short description: Add C.UTF-8 support. -Author(s): Fedora glibc team -Origin: PATCH -Upstream status: not-submitted - -This patch needs to upstream as part of Carlos O'Donell -'s work on enabling upstream C.UTF-8 support. This -work is currently blocked on cleaning up the test results to prove that -full code-point sorting is working as intended. - -Note that this patch does not provide full code-point sorting as -expected. - -This patch needs to upstream as soon as possible since it would be nice -to have this in F29 and fixed. - -From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001 -From: Mike FABIAN -Date: Mon, 10 Aug 2015 15:58:12 +0200 -Subject: [PATCH] Add a C.UTF-8 locale - ---- - localedata/SUPPORTED | 1 + - localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 239 insertions(+) - create mode 100644 localedata/locales/C - -diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED -index 8ca023e..2a78391 100644 ---- a/localedata/SUPPORTED -+++ b/localedata/SUPPORTED -@@ -1,6 +1,7 @@ - # This file names the currently supported and somewhat tested locales. - # If you have any additions please file a glibc bug report. - SUPPORTED-LOCALES=\ -+C.UTF-8/UTF-8 \ - aa_DJ.UTF-8/UTF-8 \ - aa_DJ/ISO-8859-1 \ - aa_ER/UTF-8 \ -diff --git a/localedata/locales/C b/localedata/locales/C -new file mode 100644 -index 0000000..fdf460e ---- /dev/null -+++ b/localedata/locales/C -@@ -0,0 +1,238 @@ -+escape_char / -+comment_char % -+% Locale for C locale in UTF-8 -+ -+LC_IDENTIFICATION -+title "C locale" -+source "" -+address "" -+contact "" -+email "mfabian@redhat.com" -+tel "" -+fax "" -+language "C" -+territory "" -+revision "1.0" -+date "2015-08-10" -+% -+category "i18n:2012";LC_IDENTIFICATION -+category "i18n:2012";LC_CTYPE -+category "i18n:2012";LC_COLLATE -+category "i18n:2012";LC_TIME -+category "i18n:2012";LC_NUMERIC -+category "i18n:2012";LC_MONETARY -+category "i18n:2012";LC_MESSAGES -+category "i18n:2012";LC_PAPER -+category "i18n:2012";LC_NAME -+category "i18n:2012";LC_ADDRESS -+category "i18n:2012";LC_TELEPHONE -+category "i18n:2012";LC_MEASUREMENT -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+ -+translit_start -+include "translit_combining";"" -+translit_end -+ -+END LC_CTYPE -+ -+LC_COLLATE -+order_start forward -+ -+.. -+ -+ -+.. -+ -+ -+.. -+ -+ -+.. -+ -+ -+.. -+ -+ -+.. -+ -+UNDEFINED -+order_end -+END LC_COLLATE -+ -+LC_MONETARY -+% This is the 14652 i18n fdcc-set definition for -+% the LC_MONETARY category -+% (except for the int_curr_symbol and currency_symbol, they are empty in -+% the 14652 i18n fdcc-set definition and also empty in -+% glibc/locale/C-monetary.c. But localedef complains in that case). -+% -+% Using "USD" for int_curr_symbol. But maybe "XXX" would be better? -+% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217) -+int_curr_symbol "" -+% Using "$" for currency_symbol. But maybe would be better? -+% U+00A4 is the "generic currency symbol" -+% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29) -+currency_symbol "" -+mon_decimal_point "" -+mon_thousands_sep "" -+mon_grouping -1 -+positive_sign "" -+negative_sign "" -+int_frac_digits -1 -+frac_digits -1 -+p_cs_precedes -1 -+int_p_sep_by_space -1 -+p_sep_by_space -1 -+n_cs_precedes -1 -+int_n_sep_by_space -1 -+n_sep_by_space -1 -+p_sign_posn -1 -+n_sign_posn -1 -+% -+END LC_MONETARY -+ -+LC_NUMERIC -+% This is the POSIX Locale definition for -+% the LC_NUMERIC category. -+% -+decimal_point "" -+thousands_sep "" -+grouping -1 -+END LC_NUMERIC -+ -+LC_TIME -+% This is the POSIX Locale definition for -+% the LC_TIME category. -+% -+% Abbreviated weekday names (%a) -+abday "";"";/ -+ "";"";/ -+ "";"";/ -+ "" -+ -+% Full weekday names (%A) -+day "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "" -+ -+% Abbreviated month names (%b) -+abmon "";"";/ -+ "";"";/ -+ "";"";/ -+ "";"";/ -+ "";"";/ -+ "";"" -+ -+% Full month names (%B) -+mon "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "";/ -+ "" -+ -+% Week description, consists of three fields: -+% 1. Number of days in a week. -+% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday). -+% 3. The weekday number to be contained in the first week of the year. -+% -+% ISO 8601 conforming applications should use the values 7, 19971201 (a -+% Monday), and 4 (Thursday), respectively. -+week 7;19971201;4 -+first_weekday 1 -+first_workday 1 -+ -+% Appropriate date and time representation (%c) -+% "%a %b %e %H:%M:%S %Y" -+d_t_fmt "" -+ -+% Appropriate date representation (%x) -+% "%m/%d/%y" -+d_fmt "" -+ -+% Appropriate time representation (%X) -+% "%H:%M:%S" -+t_fmt "" -+ -+% Appropriate AM/PM time representation (%r) -+% "%I:%M:%S %p" -+t_fmt_ampm "" -+ -+% Equivalent of AM/PM (%p) "AM"/"PM" -+% -+am_pm "";"" -+ -+% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y" -+date_fmt "" -+END LC_TIME -+ -+LC_MESSAGES -+% This is the POSIX Locale definition for -+% the LC_NUMERIC category. -+% -+yesexpr "" -+noexpr "" -+yesstr "" -+nostr "" -+END LC_MESSAGES -+ -+LC_PAPER -+% This is the ISO/IEC 14652 "i18n" definition for -+% the LC_PAPER category. -+% (A4 paper, this is also used in the built in C/POSIX -+% locale in glibc/locale/C-paper.c) -+height 297 -+width 210 -+END LC_PAPER -+ -+LC_NAME -+% This is the ISO/IEC 14652 "i18n" definition for -+% the LC_NAME category. -+% "%p%t%g%t%m%t%f" -+% (also used in the built in C/POSIX locale in glibc/locale/C-name.c) -+name_fmt "/ -+" -+END LC_NAME -+ -+LC_ADDRESS -+% This is the ISO/IEC 14652 "i18n" definition for -+% the LC_ADDRESS category. -+% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N" -+% (also used in the built in C/POSIX locale in glibc/locale/C-address.c) -+postal_fmt "/ -+/ -+/ -+/ -+" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+% This is the ISO/IEC 14652 "i18n" definition for -+% the LC_TELEPHONE category. -+% "+%c %a %l" -+tel_int_fmt "/ -+" -+% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c) -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+% This is the ISO/IEC 14652 "i18n" definition for -+% the LC_MEASUREMENT category. -+% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c) -+%metric -+measurement 1 -+END LC_MEASUREMENT -+ --- -2.4.3 - diff --git a/srcpkgs/glibc/template b/srcpkgs/glibc/template index c62a4d2aedf1..6cd4c0980cbb 100644 --- a/srcpkgs/glibc/template +++ b/srcpkgs/glibc/template @@ -1,14 +1,16 @@ # Template file for 'glibc' pkgname=glibc -version=2.32 -revision=2 +version=2.36 +revision=1 +_patchver="72-g0f90d6204d" +wrksrc="glibc-${version}-${_patchver}" bootstrap=yes short_desc="GNU C library" maintainer="Enno Boland " license="GPL-2.0-or-later, LGPL-2.1-or-later, BSD-3-Clause" homepage="http://www.gnu.org/software/libc" -distfiles="${GNU_SITE}/glibc/glibc-${version}.tar.xz" -checksum=1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +distfiles="https://vasilek.cz/paste/glibc-${version}-${_patchver}.tar.xz" +checksum=656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57 # Do not strip these files, objcopy errors out. nostrip_files=" XBS5_ILP32_OFFBIG @@ -20,27 +22,28 @@ nostrip_files=" POSIX_V6_LP64_OFF64 POSIX_V7_LP64_OFF64 XBS5_LP64_OFF64 - ld-${version}.so - libdl-${version}.so - libanl-${version}.so - libcidn-${version}.so - libresolv-${version}.so - libcrypt-${version}.so - libpthread-${version}.so - libm-${version}.so - libutil-${version}.so - libthread_db-1.0.so - librt-${version}.so - libnsl-${version}.so - libc-${version}.so - libBrokenLocale-${version}.so - libnss_compat-${version}.so - libnss_db-${version}.so - libnss_dns-${version}.so - libnss_files-${version}.so - libnss_hesiod-${version}.so - libnss_nisplus-${version}.so - libnss_nis-${version}.so" + ld-linux-x86-64.so.2 + ld-linux.so.2 + ld-linux.so.3 + ld-linux-aarch64.so.1 + ld64.so.2 + ld.so.1 + ld-linux-armhf.so.3 + libresolv.so.2 + libcrypt.so.1 + libm.so.6 + libthread_db.so.1 + libnsl.so.1 + libc.so.6 + libc_malloc_debug.so.0 + libmemusage.so + libmvec.so.1 + libBrokenLocale.so.1 + libnss_compat.so.2 + libnss_db.so.2 + libnss_dns.so.2 + libnss_files.so.2 + libnss_hesiod.so.2" conf_files=" /etc/rpc @@ -54,7 +57,6 @@ lib32files="/usr/lib/gconv/gconv-modules" lib32symlinks="ld-linux.so.2" # There's no point in building this for musl. archs="~*-musl" -nopie=yes do_configure() { mkdir build @@ -163,18 +165,6 @@ do_install() { rm -f ${DESTDIR}/usr/bin/z{dump,ic} mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin - - # Create xbps.d(5) arch override file for 32-bit architectures - # 32-bit userlands may be used with 64-bit kernels and then - # xbps will report an incorrect architecture by default - case "$XBPS_TARGET_MACHINE" in - i686|ppc|ppcle|armv*) - vmkdir usr/share/xbps.d - echo "architecture=${XBPS_TARGET_MACHINE}" > \ - ${DESTDIR}/usr/share/xbps.d/arch-32bit.conf - ;; - *) ;; - esac } glibc-devel_package() { From 19a4afeb0224d41a41b2d4c9762d0a28f2b66e70 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 07/38] musl: add support for SIGEV_THREAD_ID timers https://git.musl-libc.org/cgit/musl/commit/?id=7c71792e87691451f2a6b76348e83ad1889f1dcb --- ...d-support-for-SIGEV_THREAD_ID-timers.patch | 74 +++++++++++++++++++ srcpkgs/musl/template | 2 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/musl/patches/add-support-for-SIGEV_THREAD_ID-timers.patch diff --git a/srcpkgs/musl/patches/add-support-for-SIGEV_THREAD_ID-timers.patch b/srcpkgs/musl/patches/add-support-for-SIGEV_THREAD_ID-timers.patch new file mode 100644 index 000000000000..e20dff5ba0d4 --- /dev/null +++ b/srcpkgs/musl/patches/add-support-for-SIGEV_THREAD_ID-timers.patch @@ -0,0 +1,74 @@ +From 7c71792e87691451f2a6b76348e83ad1889f1dcb Mon Sep 17 00:00:00 2001 +From: James Y Knight +Date: Sun, 30 Jun 2019 21:55:20 -0400 +Subject: [PATCH] add support for SIGEV_THREAD_ID timers + +This is like SIGEV_SIGNAL, but targeted to a particular thread's +tid, rather than the process. +--- + include/signal.h | 16 +++++++++++++--- + src/time/timer_create.c | 8 ++++++-- + 2 files changed, 19 insertions(+), 5 deletions(-) + +diff --git a/include/signal.h b/include/signal.h +index fbdf667b2..9ed929e4f 100644 +--- a/include/signal.h ++++ b/include/signal.h +@@ -180,14 +180,24 @@ struct sigevent { + union sigval sigev_value; + int sigev_signo; + int sigev_notify; +- void (*sigev_notify_function)(union sigval); +- pthread_attr_t *sigev_notify_attributes; +- char __pad[56-3*sizeof(long)]; ++ union { ++ char __pad[64 - 2*sizeof(int) - sizeof(union sigval)]; ++ pid_t sigev_notify_thread_id; ++ struct { ++ void (*sigev_notify_function)(union sigval); ++ pthread_attr_t *sigev_notify_attributes; ++ } __sev_thread; ++ } __sev_fields; + }; + ++#define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id ++#define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function ++#define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes ++ + #define SIGEV_SIGNAL 0 + #define SIGEV_NONE 1 + #define SIGEV_THREAD 2 ++#define SIGEV_THREAD_ID 4 + + int __libc_current_sigrtmin(void); + int __libc_current_sigrtmax(void); +diff --git a/src/time/timer_create.c b/src/time/timer_create.c +index 5ddfda278..4bef23905 100644 +--- a/src/time/timer_create.c ++++ b/src/time/timer_create.c +@@ -71,11 +71,15 @@ int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict + switch (evp ? evp->sigev_notify : SIGEV_SIGNAL) { + case SIGEV_NONE: + case SIGEV_SIGNAL: ++ case SIGEV_THREAD_ID: + if (evp) { + ksev.sigev_value = evp->sigev_value; + ksev.sigev_signo = evp->sigev_signo; + ksev.sigev_notify = evp->sigev_notify; +- ksev.sigev_tid = 0; ++ if (evp->sigev_notify == SIGEV_THREAD_ID) ++ ksev.sigev_tid = evp->sigev_notify_thread_id; ++ else ++ ksev.sigev_tid = 0; + ksevp = &ksev; + } + if (syscall(SYS_timer_create, clk, ksevp, &timerid) < 0) +@@ -107,7 +111,7 @@ int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict + + ksev.sigev_value.sival_ptr = 0; + ksev.sigev_signo = SIGTIMER; +- ksev.sigev_notify = 4; /* SIGEV_THREAD_ID */ ++ ksev.sigev_notify = SIGEV_THREAD_ID; + ksev.sigev_tid = td->tid; + if (syscall(SYS_timer_create, clk, &ksev, &timerid) < 0) + timerid = -1; diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template index 34e6ed4fba6e..afb33cd868b5 100644 --- a/srcpkgs/musl/template +++ b/srcpkgs/musl/template @@ -2,7 +2,7 @@ pkgname=musl reverts="1.2.0_1" version=1.1.24 -revision=11 +revision=12 archs="*-musl" bootstrap=yes build_style=gnu-configure From 2c1c8ba98946106950bb8db7f6aeba83e358d6f0 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 08/38] gcc-multilib: update to 12.2.0. --- srcpkgs/gcc-multilib/template | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template index f28eb237c287..ba9bafcadfd6 100644 --- a/srcpkgs/gcc-multilib/template +++ b/srcpkgs/gcc-multilib/template @@ -3,15 +3,15 @@ archs="x86_64" _triplet="x86_64-unknown-linux-gnu" pkgname=gcc-multilib -version=10.2.1pre1 +version=12.2.0 revision=1 _majorver="${version%.*}" short_desc="GNU Compiler Collection (multilib files)" maintainer="Orphaned " homepage="http://gcc.gnu.org" license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" -distfiles="https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz" -checksum=772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz" +checksum=e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff hostmakedepends="perl flex tar zip unzip" makedepends="zlib-devel libmpc-devel isl15-devel libfl-devel @@ -70,7 +70,7 @@ do_build() { make ${makejobs} } do_install() { - local _pc_triplet=x86_64-pc-linux-gnu _version=${version%pre1} + local _pc_triplet=x86_64-pc-linux-gnu # Install to a tempdir and then only copy relevant files. cd ${wrksrc} make DESTDIR=${wrksrc}/${pkgname}-build install @@ -80,9 +80,9 @@ do_install() { vmkdir usr/include/c++/${_majorver}/${_triplet} vmkdir usr/lib/gcc/${_triplet}/${_majorver} - cp -a ${wrksrc}/${pkgname}-build/usr/lib/gcc/${_pc_triplet}/${_version}/32 \ + cp -a ${wrksrc}/${pkgname}-build/usr/lib/gcc/${_pc_triplet}/${version}/32 \ ${DESTDIR}/usr/lib/gcc/${_triplet}/${_majorver}/ - cp -a ${wrksrc}/${pkgname}-build/usr/include/c++/${_version}/${_pc_triplet}/32 \ + cp -a ${wrksrc}/${pkgname}-build/usr/include/c++/${version}/${_pc_triplet}/32 \ ${DESTDIR}/usr/include/c++/${_majorver}/${_triplet} vinstall ${wrksrc}/host-${_pc_triplet}/gcc/specs 644 usr/lib/gcc/${_triplet}/${_majorver} From 3f112430e1c969475dc57212db706f1ea4574b78 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 09/38] libgccjit: update to 12.2.0. --- srcpkgs/libgccjit/files/libgccjit-musl.patch | 63 -------------------- srcpkgs/libgccjit/template | 24 +++----- 2 files changed, 9 insertions(+), 78 deletions(-) delete mode 100644 srcpkgs/libgccjit/files/libgccjit-musl.patch diff --git a/srcpkgs/libgccjit/files/libgccjit-musl.patch b/srcpkgs/libgccjit/files/libgccjit-musl.patch deleted file mode 100644 index d2ed16928c82..000000000000 --- a/srcpkgs/libgccjit/files/libgccjit-musl.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/gcc/jit/jit-playback.c b/gcc/jit/jit-playback.c -index 5bccf591a..35f5e35ef 100644 ---- a/gcc/jit/jit-playback.c -+++ b/gcc/jit/jit-playback.c -@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -+#include -+ - #include "config.h" - #include "system.h" - #include "coretypes.h" -@@ -41,8 +43,6 @@ along with GCC; see the file COPYING3. If not see - #include "diagnostic.h" - #include "stmt.h" - --#include -- - #include "jit-playback.h" - #include "jit-result.h" - #include "jit-builtins.h" -diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c -index a237d574f..5785e3269 100644 ---- a/gcc/jit/jit-recording.c -+++ b/gcc/jit/jit-recording.c -@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -+#include -+ - #include "config.h" - #include "system.h" - #include "coretypes.h" -@@ -25,8 +27,6 @@ along with GCC; see the file COPYING3. If not see - #include "pretty-print.h" - #include "toplev.h" - --#include -- - #include "jit-builtins.h" - #include "jit-recording.h" - #include "jit-playback.h" -diff --git a/gcc/jit/libgccjit.c b/gcc/jit/libgccjit.c -index f9c33c63c..75f21d275 100644 ---- a/gcc/jit/libgccjit.c -+++ b/gcc/jit/libgccjit.c -@@ -18,13 +18,13 @@ You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -+#include - #include "config.h" - #include "system.h" - #include "coretypes.h" - #include "timevar.h" - #include "typed-splay-tree.h" - #include "cppbuiltin.h" --#include - - #include "libgccjit.h" - #include "jit-recording.h" diff --git a/srcpkgs/libgccjit/template b/srcpkgs/libgccjit/template index 0b37c3ee9f8b..fde1affd54b7 100644 --- a/srcpkgs/libgccjit/template +++ b/srcpkgs/libgccjit/template @@ -3,18 +3,12 @@ # which use the version number. pkgname=libgccjit -# we are using a 10-stable git snapshot alpine is using in order -# to get regression fixes not yet incorporate into a stable release -# it should be possible to switch back to stable with 10.3 or 11 -version=10.2.1pre1 +version=12.2.0 revision=1 -_patchver="${version%pre*}" -_minorver="${_patchver%.*}" -_majorver="${_minorver%.*}" -_gmp_version=6.2.0 +_gmp_version=6.2.1 _mpfr_version=4.1.0 -_mpc_version=1.1.0 -_isl_version=0.21 +_mpc_version=1.2.1 +_isl_version=0.24 create_wrksrc=yes short_desc="Just-In-Time Compilation library for GCC" maintainer="Lane Biocini " @@ -22,16 +16,16 @@ homepage="https://gcc.gnu.org" license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" # *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz distfiles=" - https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz + ${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2" -checksum="772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526 +checksum="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f - 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e - d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859" + 17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 + fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0" nopie=yes lib32disabled=yes makedepends="zlib-devel" From 540268409c801ec1d7194a78027611da82ee867f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 10/38] build-style/void-cross: Update flags for gcc12 and glibc 2.36 gcov can't be built without libc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289 Remove -no-pie from build. glibc 2.35 and newer uses -static-pie by default: https://sourceware.org/pipermail/glibc-cvs/2021q4/075916.html --- common/build-style/void-cross.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh index 92f03f8130f5..4804193d8395 100644 --- a/common/build-style/void-cross.sh +++ b/common/build-style/void-cross.sh @@ -53,6 +53,7 @@ _void_cross_build_binutils() { --sbindir=/usr/bin \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ + --sysconfdir=/etc \ --target=${tgt} \ --with-sysroot=/usr/${tgt} \ --disable-nls \ @@ -60,7 +61,9 @@ _void_cross_build_binutils() { --disable-multilib \ --disable-werror \ --disable-gold \ + --disable-gprofng \ --enable-relro \ + --enable-new-dtags \ --enable-plugins \ --enable-64-bit-bfd \ --enable-deterministic-archives \ @@ -132,6 +135,7 @@ _void_cross_build_bootstrap_gcc() { --disable-libssp \ --disable-libitm \ --disable-libatomic \ + --disable-gcov \ --disable-threads \ --disable-sjlj-exceptions \ --enable-languages=c \ @@ -381,6 +385,7 @@ _void_cross_build_gcc() { extra_args+=" --disable-gnu-unique-object" extra_args+=" libat_cv_have_ifunc=no" else + extra_args+=" --enable-clocale=gnu" extra_args+=" --enable-gnu-unique-object" fi @@ -460,6 +465,14 @@ do_build() { local binutils_ver linux_ver gcc_ver libc_ver libucontext_ver local tgt=${sourcepkg/cross-} + export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" + export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" + + # Disable explicit -fno-PIE, gcc/binutils/libc will figure this out itself. + export CFLAGS="${CFLAGS//-fno-PIE/}" + export CXXFLAGS="${CXXFLAGS//-fno-PIE/}" + export LDFLAGS="${LDFLAGS//-no-pie/}" + _void_cross_test_ver binutils _void_cross_test_ver linux _void_cross_test_ver gcc @@ -625,6 +638,9 @@ do_install() { # then remove it because it conflicts with libquadmath package rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.* + # Remove libdep linker plugin because it conflicts with system binutils + rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep* + # Remove leftover symlinks rm -f ${DESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE} rm -f ${DESTDIR}/lib* From 2895b35f82e3a24cad5975a880ca5f7c93d5fa2a Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 5 Nov 2022 11:33:12 -0700 Subject: [PATCH 11/38] qemu: remove broken patch The necessary patch has been imported into musl so no need to cast the sigevent struct to a more glibc-like one. --- .../musl-fix-sigevent-and-sigval_t.patch | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 srcpkgs/qemu/patches/musl-fix-sigevent-and-sigval_t.patch diff --git a/srcpkgs/qemu/patches/musl-fix-sigevent-and-sigval_t.patch b/srcpkgs/qemu/patches/musl-fix-sigevent-and-sigval_t.patch deleted file mode 100644 index 4b4f1117c15f..000000000000 --- a/srcpkgs/qemu/patches/musl-fix-sigevent-and-sigval_t.patch +++ /dev/null @@ -1,27 +0,0 @@ -Note: Remove this patch with musl 1.2.2 - ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -5020,10 +5020,21 @@ - #ifndef HAVE_SIGEV_NOTIFY_THREAD_ID - #define sigev_notify_thread_id _sigev_un._tid - #endif - --static inline abi_long target_to_host_sigevent(struct sigevent *host_sevp, -+struct host_sigevent { -+ union sigval sigev_value; -+ int sigev_signo; -+ int sigev_notify; -+ union { -+ char _pad[64 - sizeof(int) * 2 - sizeof(union sigval)]; -+ int _tid; -+ } _sigev_un; -+}; -+ -+static inline abi_long target_to_host_sigevent(struct sigevent *sevp, - abi_ulong target_addr) - { -+ struct host_sigevent *host_sevp = (struct host_sigevent *) sevp; - struct target_sigevent *target_sevp; - - if (!lock_user_struct(VERIFY_READ, target_sevp, target_addr, 1)) { From aaaf08aef9c30b8a5285824c659d2873bcc085eb Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sat, 19 Nov 2022 13:26:24 -0800 Subject: [PATCH 12/38] mk-configure: rebuild for gcc 12 --- srcpkgs/mk-configure/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/mk-configure/template b/srcpkgs/mk-configure/template index 9d12f11a9799..c50d8adf213f 100644 --- a/srcpkgs/mk-configure/template +++ b/srcpkgs/mk-configure/template @@ -1,7 +1,7 @@ # Template file for 'mk-configure' pkgname=mk-configure version=0.37.0 -revision=1 +revision=2 build_style=gnu-makefile make_cmd=bmake make_install_args="MANDIR=/usr/share/man" From 2766ca2ea8c097001c4aa88a017de9d3ee7dc0d1 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 13/38] cross-aarch64-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-aarch64-linux-gnu/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template index 18de21aa3ccd..9e6fb75c198d 100644 --- a/srcpkgs/cross-aarch64-linux-gnu/template +++ b/srcpkgs/cross-aarch64-linux-gnu/template @@ -1,15 +1,16 @@ # Template file for 'cross-aarch64-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-aarch64-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--with-arch=armv8-a" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Leah Neukirchen " @@ -17,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From a35f78cd51b135076e5871aa18230d2af4cb3ca0 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 14/38] cross-aarch64-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-aarch64-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template index bb6a770afb79..ba14c96bccea 100644 --- a/srcpkgs/cross-aarch64-linux-musl/template +++ b/srcpkgs/cross-aarch64-linux-musl/template @@ -1,29 +1,30 @@ # Template file for 'cross-aarch64-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-aarch64-linux-musl -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=armv8-a" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From a637a7d7f5011f90c442167c79ea4022136a59ab Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 15/38] cross-arm-linux-gnueabi: update to gcc 12.2.0. --- srcpkgs/cross-arm-linux-gnueabi/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template index a3aba72aa93a..5c774e16f430 100644 --- a/srcpkgs/cross-arm-linux-gnueabi/template +++ b/srcpkgs/cross-arm-linux-gnueabi/template @@ -1,15 +1,16 @@ # Template file for 'cross-arm-linux-gnueabi' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-arm-linux-gnueabi -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--with-arch=armv5te --with-float=soft" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -17,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 74d7621c29619881231be62cd6efc4c28c1733cd Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 16/38] cross-arm-linux-gnueabihf: update to gcc 12.2.0. --- srcpkgs/cross-arm-linux-gnueabihf/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template index d9ab86cf2ecc..d6298ab639a4 100644 --- a/srcpkgs/cross-arm-linux-gnueabihf/template +++ b/srcpkgs/cross-arm-linux-gnueabihf/template @@ -1,15 +1,16 @@ # Template file for 'cross-arm-linux-gnueabihf' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-arm-linux-gnueabihf -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -17,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 4cab8b8ef1086c7498b6432b5b30715d7fcc6f7f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 17/38] cross-arm-linux-musleabi: update to gcc 12.2.0. --- srcpkgs/cross-arm-linux-musleabi/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template index 6692d891e1bd..24df78e8fd8e 100644 --- a/srcpkgs/cross-arm-linux-musleabi/template +++ b/srcpkgs/cross-arm-linux-musleabi/template @@ -1,29 +1,30 @@ # Template file for 'cross-arm-linux-musleabi' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-arm-linux-musleabi -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=armv5te --with-float=soft" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From 5c19dd58e72ac9b9fccbb71d830c62e7a1ef08b8 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 18/38] cross-arm-linux-musleabihf: update to gcc 12.2.0. --- srcpkgs/cross-arm-linux-musleabihf/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template index bb62bd5ebc55..8093700f909c 100644 --- a/srcpkgs/cross-arm-linux-musleabihf/template +++ b/srcpkgs/cross-arm-linux-musleabihf/template @@ -1,29 +1,30 @@ # Template file for 'cross-arm-linux-musleabihf' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-arm-linux-musleabihf -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From c3e99201416a036ba3070537b56eb1f7bf407368 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 19/38] cross-armv7l-linux-gnueabihf: update to gcc 12.2.0. --- srcpkgs/cross-armv7l-linux-gnueabihf/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template index 30c89b6294ef..92665326428b 100644 --- a/srcpkgs/cross-armv7l-linux-gnueabihf/template +++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template @@ -1,15 +1,16 @@ # Template file for 'cross-armv7l-linux-gnueabihf' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-armv7l-linux-gnueabihf -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -17,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 1e3cccbd7ca501249af7db2af27a9cb718a5cd61 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:28 -0800 Subject: [PATCH 20/38] cross-armv7l-linux-musleabihf: update to gcc 12.2.0. --- .../cross-armv7l-linux-musleabihf/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template index 0a588cdf1a58..e5af2c9ccbf2 100644 --- a/srcpkgs/cross-armv7l-linux-musleabihf/template +++ b/srcpkgs/cross-armv7l-linux-musleabihf/template @@ -1,29 +1,30 @@ # Template file for 'cross-armv7l-linux-musleabihf' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-armv7l-linux-musleabihf -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From 0b2ba6ca95b5a0a4249ee74eba4cc9a3419e9a01 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 21/38] cross-i686-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-i686-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template index 8be16a230d8d..d624bb7a3254 100644 --- a/srcpkgs/cross-i686-linux-musl/template +++ b/srcpkgs/cross-i686-linux-musl/template @@ -1,28 +1,29 @@ # Template file for 'cross-i686-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-i686-linux-musl -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From 6b98e37c0753c292bdf0eab151aa4348ba54da40 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 22/38] cross-i686-pc-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-i686-pc-linux-gnu/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template index 263a43f7a7b8..6a9e54db807a 100644 --- a/srcpkgs/cross-i686-pc-linux-gnu/template +++ b/srcpkgs/cross-i686-pc-linux-gnu/template @@ -1,14 +1,15 @@ # Template file for 'cross-i686-pc-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-i686-pc-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -16,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From db8745f4c9dc7ca8032246afa0c836b161b876fe Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 23/38] cross-mips-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-mips-linux-musl/template | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template index 9b5d5819b1a0..67a5c413396c 100644 --- a/srcpkgs/cross-mips-linux-musl/template +++ b/srcpkgs/cross-mips-linux-musl/template @@ -1,28 +1,29 @@ # Template file for 'cross-mips-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 pkgname=cross-mips-linux-musl -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=mips32r2 --with-float=soft --with-linker-hash-style=sysv" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz - https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz + https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From d8936278496f2d7f260f3a9eb351caa5dd58829f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 24/38] cross-mips-linux-muslhf: update to gcc 12.2.0. --- srcpkgs/cross-mips-linux-muslhf/template | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template index d7590af9ec03..bdf8600ce95b 100644 --- a/srcpkgs/cross-mips-linux-muslhf/template +++ b/srcpkgs/cross-mips-linux-muslhf/template @@ -1,28 +1,29 @@ # Template file for 'cross-mips-linux-muslhf' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 pkgname=cross-mips-linux-muslhf -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=mips32r2 --with-float=hard --with-linker-hash-style=sysv" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="hipperson0 " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz - https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz + https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From a91ba3ab1f5491e1676bf8400a497fb8b5c3cf3b Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 25/38] cross-mipsel-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-mipsel-linux-musl/template | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template index 1acba7016dbc..de49387d517b 100644 --- a/srcpkgs/cross-mipsel-linux-musl/template +++ b/srcpkgs/cross-mipsel-linux-musl/template @@ -1,28 +1,29 @@ # Template file for 'cross-mipsel-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 pkgname=cross-mipsel-linux-musl -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=mips32r2 --with-float=soft --with-linker-hash-style=sysv" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz - https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz + https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 8bc659104ffe164ac97f12f2fd2e5d59df6c8b2b Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 26/38] cross-mipsel-linux-muslhf: update to gcc 12.2.0. --- srcpkgs/cross-mipsel-linux-muslhf/template | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template index e4a55f028bc4..b27ce6475a38 100644 --- a/srcpkgs/cross-mipsel-linux-muslhf/template +++ b/srcpkgs/cross-mipsel-linux-muslhf/template @@ -1,28 +1,29 @@ # Template file for 'cross-mipsel-linux-muslhf' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 pkgname=cross-mipsel-linux-muslhf -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross configure_args="--with-arch=mips32r2 --with-float=hard --with-linker-hash-style=sysv" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz - https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz + https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 40ce097d0da9b33d69ea2e6ed0ef77920c6564a9 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 27/38] cross-powerpc-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-powerpc-linux-gnu/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template index b97a21d0d72e..79579e093b12 100644 --- a/srcpkgs/cross-powerpc-linux-gnu/template +++ b/srcpkgs/cross-powerpc-linux-gnu/template @@ -1,15 +1,16 @@ # Template file for 'cross-powerpc-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-powerpc-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Thomas Batten " @@ -17,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From bb5eda3a1f95d385cb229ef3089ee196433e6194 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 28/38] cross-powerpc-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-powerpc-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template index f9b22f0610d3..9bb6acd359b6 100644 --- a/srcpkgs/cross-powerpc-linux-musl/template +++ b/srcpkgs/cross-powerpc-linux-musl/template @@ -1,28 +1,29 @@ # Template file for 'cross-powerpc-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 pkgname=cross-powerpc-linux-musl -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify --disable-decimal-float" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Thomas Batten " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 2bfb33cab984f72552d48eb97b93573a05a240f7 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 29/38] cross-powerpc64-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-powerpc64-linux-gnu/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template index 35cfcaa6f02e..2d153d00add6 100644 --- a/srcpkgs/cross-powerpc64-linux-gnu/template +++ b/srcpkgs/cross-powerpc64-linux-gnu/template @@ -1,16 +1,17 @@ # Template file for 'cross-powerpc64-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-powerpc64-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2 --enable-targets=powerpc-linux" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -18,12 +19,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 088c1f270345f4fdb7f0171cc506d04eea09b26f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 30/38] cross-powerpc64-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-powerpc64-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template index 016f18776a6d..e0848fe0bff7 100644 --- a/srcpkgs/cross-powerpc64-linux-musl/template +++ b/srcpkgs/cross-powerpc64-linux-musl/template @@ -1,30 +1,31 @@ # Template file for 'cross-powerpc64-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-powerpc64-linux-musl -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From d01c23315371342661778d3b72ae1ef5eec93cf3 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 31/38] cross-powerpc64le-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-powerpc64le-linux-gnu/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template index 463d7e92d20d..8d8e010e15c0 100644 --- a/srcpkgs/cross-powerpc64le-linux-gnu/template +++ b/srcpkgs/cross-powerpc64le-linux-gnu/template @@ -1,16 +1,17 @@ # Template file for 'cross-powerpc64le-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-powerpc64le-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2 --enable-targets=powerpcle-linux" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -18,12 +19,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 45cd9b49fbcba201ba2bdc22f8800087c6b83cdf Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 32/38] cross-powerpc64le-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-powerpc64le-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template index c17a3cccfe29..0915e524545f 100644 --- a/srcpkgs/cross-powerpc64le-linux-musl/template +++ b/srcpkgs/cross-powerpc64le-linux-musl/template @@ -1,30 +1,31 @@ # Template file for 'cross-powerpc64le-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-powerpc64le-linux-musl -version=0.34 -revision=4 +version=0.35 +revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux" hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From 64c0b945f24ec94e530688bd71d6a9a7216eae46 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 33/38] cross-powerpcle-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-powerpcle-linux-gnu/template | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template index 9aede3c465ce..687be8a44c6c 100644 --- a/srcpkgs/cross-powerpcle-linux-gnu/template +++ b/srcpkgs/cross-powerpcle-linux-gnu/template @@ -1,15 +1,16 @@ # Template file for 'cross-powerpcle-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-powerpcle-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -17,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes @@ -35,6 +36,8 @@ if [ "$XBPS_TARGET_MACHINE" = "ppcle" ]; then broken="Can't build crosstoolchain to itself" fi +broken="glibc uses big-endian specific instructions on 32-bit powerpc" + cross-powerpcle-linux-gnu-libc_package() { short_desc+=" - glibc files" nostrip=yes From d5f02e5268f846de43a4ab778ff47d99335fa400 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:29 -0800 Subject: [PATCH 34/38] cross-powerpcle-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-powerpcle-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template index 045cfda987fe..bb984b9c42eb 100644 --- a/srcpkgs/cross-powerpcle-linux-musl/template +++ b/srcpkgs/cross-powerpcle-linux-musl/template @@ -1,28 +1,29 @@ # Template file for 'cross-powerpcle-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 pkgname=cross-powerpcle-linux-musl -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross configure_args="--enable-secureplt --disable-vtable-verify --disable-decimal-float" hostmakedepends="texinfo tar gcc-objc flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From 85a5a757bdfc2fd60cfcfba1baba26eb4e40e21c Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:30 -0800 Subject: [PATCH 35/38] cross-x86_64-linux-gnu: update to gcc 12.2.0. --- srcpkgs/cross-x86_64-linux-gnu/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-x86_64-linux-gnu/template b/srcpkgs/cross-x86_64-linux-gnu/template index 8918f3c22a1c..930aaf2a508b 100644 --- a/srcpkgs/cross-x86_64-linux-gnu/template +++ b/srcpkgs/cross-x86_64-linux-gnu/template @@ -1,14 +1,15 @@ # Template file for 'cross-x86_64-linux-gnu' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 -_glibc_version=2.32 +_binutils_version=2.39 +_gcc_version=12.2.0 +_glibc_version=2.36 _linux_version=5.10.4 pkgname=cross-x86_64-linux-gnu -version=0.34 +version=0.35 revision=1 build_style=void-cross hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " @@ -16,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 - 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff + 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec" nocross=yes From a58db29069b41feea8d7e639f8433d550671dd1e Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 6 Nov 2022 11:33:30 -0800 Subject: [PATCH 36/38] cross-x86_64-linux-musl: update to gcc 12.2.0. --- srcpkgs/cross-x86_64-linux-musl/template | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template index a941e7e02f6f..ac5b1c46ab82 100644 --- a/srcpkgs/cross-x86_64-linux-musl/template +++ b/srcpkgs/cross-x86_64-linux-musl/template @@ -1,28 +1,29 @@ # Template file for 'cross-x86_64-linux-musl' -_binutils_version=2.35.1 -_gcc_version=10.2.1_pre1 +_binutils_version=2.39 +_gcc_version=12.2.0 _musl_version=1.1.24 _linux_version=5.10.4 _libucontext_version=1.0 pkgname=cross-x86_64-linux-musl -version=0.34 -revision=3 +version=0.35 +revision=1 build_style=void-cross hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3" -makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel" +makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel + zlib-devel libzstd-devel" depends="${pkgname}-libc-${version}_${revision}" short_desc="Void cross toolchain for ${pkgname/cross-}" maintainer="Orphaned " -homepage="https://www.voidlinux.org/" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" +homepage="https://www.voidlinux.org/" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz - https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz https://musl.libc.org/releases/musl-${_musl_version}.tar.gz ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz" -checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607 - 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590 +checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 + e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb" From e3f723657e13ee121cde2b5175ccc053f586b8d9 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Fri, 18 Nov 2022 02:01:19 -0800 Subject: [PATCH 37/38] cross-vpkg-dummy: update to 0.39. --- srcpkgs/cross-vpkg-dummy/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template index d83e38dc63ac..aeafb749dd5f 100644 --- a/srcpkgs/cross-vpkg-dummy/template +++ b/srcpkgs/cross-vpkg-dummy/template @@ -1,6 +1,6 @@ # Template file for 'cross-vpkg-dummy' pkgname=cross-vpkg-dummy -version=0.38 +version=0.39 revision=1 build_style=meta short_desc="Dummy meta-pkg for cross building packages with xbps-src" @@ -54,8 +54,8 @@ conflicts=" gcc-objc++>=0" shlib_provides=" libgcc_s.so.1 - libgnat-10.so - libgnarl-10.so + libgnat-12.so + libgnarl-12.so libstdc++.so.6 libgfortran.so.5" From e2b48842758ad97e7d95d65e0659d140e2d8f644 Mon Sep 17 00:00:00 2001 From: Marcin Puc Date: Sun, 27 Nov 2022 22:59:45 +0100 Subject: [PATCH 38/38] llvm: update to 15.0.5 --- common/shlibs | 7 +- srcpkgs/clang | 2 +- srcpkgs/clang-analyzer | 2 +- srcpkgs/clang-tools-extra | 2 +- srcpkgs/libclang | 2 +- srcpkgs/libclang-cpp | 2 +- srcpkgs/libcxx | 2 +- srcpkgs/libcxx-devel | 2 +- srcpkgs/libcxxabi | 2 +- srcpkgs/libcxxabi-devel | 2 +- srcpkgs/libllvm15 | 1 + srcpkgs/libomp | 2 +- srcpkgs/libomp-devel | 2 +- srcpkgs/lld | 2 +- srcpkgs/lld-devel | 2 +- srcpkgs/lldb | 2 +- srcpkgs/lldb-devel | 2 +- srcpkgs/llvm-libunwind | 2 +- srcpkgs/llvm-libunwind-devel | 2 +- srcpkgs/llvm/template | 6 +- .../llvm15/files/llvm-Config-llvm-config.h | 9 + ...clang-001-fix-unwind-chain-inclusion.patch | 44 ++ .../patches/clang-002-add-musl-triples.patch | 110 +++++ .../clang-003-ppc64-dynamic-linker-path.patch | 13 + .../patches/clang-004-ppc64-musl-elfv2.patch | 48 ++ .../compiler-rt-sanitizer-ppc64-musl.patch | 35 ++ .../compiler-rt-xray-ppc64-musl.patch.skip | 62 +++ srcpkgs/llvm15/patches/libcxx-musl.patch | 26 ++ srcpkgs/llvm15/patches/libcxx-ppc.patch | 22 + .../llvm15/patches/libcxx-ssp-nonshared.patch | 11 + srcpkgs/llvm15/patches/libcxxabi-dl.patch | 25 + .../llvm15/patches/libunwind-ppc32.patch.skip | 63 +++ srcpkgs/llvm15/patches/lldb-musl.patch | 40 ++ srcpkgs/llvm15/patches/llvm-001-musl.patch | 57 +++ .../patches/llvm-002-musl-ppc64-elfv2.patch | 30 ++ .../patches/llvm-003-ppc-secureplt.patch | 11 + .../patches/llvm-004-override-opt.patch | 18 + .../llvm15/patches/llvm-005-ppc-bigpic.patch | 36 ++ .../patches/llvm-006-aarch64-mf_exec.patch | 25 + srcpkgs/llvm15/template | 434 ++++++++++++++++++ srcpkgs/llvm15/update | 3 + 41 files changed, 1147 insertions(+), 23 deletions(-) create mode 120000 srcpkgs/libllvm15 create mode 100644 srcpkgs/llvm15/files/llvm-Config-llvm-config.h create mode 100644 srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch create mode 100644 srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch create mode 100644 srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch create mode 100644 srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch create mode 100644 srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch create mode 100644 srcpkgs/llvm15/patches/compiler-rt-xray-ppc64-musl.patch.skip create mode 100644 srcpkgs/llvm15/patches/libcxx-musl.patch create mode 100644 srcpkgs/llvm15/patches/libcxx-ppc.patch create mode 100644 srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch create mode 100644 srcpkgs/llvm15/patches/libcxxabi-dl.patch create mode 100644 srcpkgs/llvm15/patches/libunwind-ppc32.patch.skip create mode 100644 srcpkgs/llvm15/patches/lldb-musl.patch create mode 100644 srcpkgs/llvm15/patches/llvm-001-musl.patch create mode 100644 srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch create mode 100644 srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch create mode 100644 srcpkgs/llvm15/patches/llvm-004-override-opt.patch create mode 100644 srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch create mode 100644 srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch create mode 100644 srcpkgs/llvm15/template create mode 100644 srcpkgs/llvm15/update diff --git a/common/shlibs b/common/shlibs index 3f90cbd1ace3..8afb88b47e23 100644 --- a/common/shlibs +++ b/common/shlibs @@ -985,11 +985,12 @@ libuchardet.so.0 uchardet-0.0.6_1 libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1 libyajl.so.2 yajl-2.0.1_1 libconfuse.so.2 confuse-3.2.1_1 -liblldb.so.12 lldb-12.0.0_1 -libclang.so.12 libclang-12.0.0_1 -libclang-cpp.so.12 libclang-cpp-12.0.0_1 +liblldb.so.15 lldb-15.0.5_1 +libclang.so.15 libclang-15.0.5_1 +libclang-cpp.so.15 libclang-cpp-15.0.5_1 libLLVM-11.so libllvm11-11.0.0_1 libLLVM-12.so libllvm12-12.0.0_1 +libLLVM-15.so libllvm15-15.0.5_1 libisofs.so.6 libisofs-0.6.24_1 libmpack.so.0 libmpack-1.0.5_1 libGeoIP.so.1 libgeoip-1.4.8_1 diff --git a/srcpkgs/clang b/srcpkgs/clang index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/clang +++ b/srcpkgs/clang @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/clang-analyzer b/srcpkgs/clang-analyzer index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/clang-analyzer +++ b/srcpkgs/clang-analyzer @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/clang-tools-extra b/srcpkgs/clang-tools-extra index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/clang-tools-extra +++ b/srcpkgs/clang-tools-extra @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libclang b/srcpkgs/libclang index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libclang +++ b/srcpkgs/libclang @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libclang-cpp b/srcpkgs/libclang-cpp index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libclang-cpp +++ b/srcpkgs/libclang-cpp @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libcxx b/srcpkgs/libcxx index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libcxx +++ b/srcpkgs/libcxx @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libcxx-devel b/srcpkgs/libcxx-devel index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libcxx-devel +++ b/srcpkgs/libcxx-devel @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libcxxabi b/srcpkgs/libcxxabi index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libcxxabi +++ b/srcpkgs/libcxxabi @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libcxxabi-devel b/srcpkgs/libcxxabi-devel index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libcxxabi-devel +++ b/srcpkgs/libcxxabi-devel @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libllvm15 b/srcpkgs/libllvm15 new file mode 120000 index 000000000000..ad57a969b9f9 --- /dev/null +++ b/srcpkgs/libllvm15 @@ -0,0 +1 @@ +llvm15 \ No newline at end of file diff --git a/srcpkgs/libomp b/srcpkgs/libomp index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libomp +++ b/srcpkgs/libomp @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/libomp-devel b/srcpkgs/libomp-devel index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/libomp-devel +++ b/srcpkgs/libomp-devel @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/lld b/srcpkgs/lld index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/lld +++ b/srcpkgs/lld @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/lld-devel b/srcpkgs/lld-devel index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/lld-devel +++ b/srcpkgs/lld-devel @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/lldb b/srcpkgs/lldb index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/lldb +++ b/srcpkgs/lldb @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/lldb-devel b/srcpkgs/lldb-devel index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/lldb-devel +++ b/srcpkgs/lldb-devel @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/llvm-libunwind b/srcpkgs/llvm-libunwind index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/llvm-libunwind +++ b/srcpkgs/llvm-libunwind @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/llvm-libunwind-devel b/srcpkgs/llvm-libunwind-devel index cd60fd7a981b..ad57a969b9f9 120000 --- a/srcpkgs/llvm-libunwind-devel +++ b/srcpkgs/llvm-libunwind-devel @@ -1 +1 @@ -llvm12 \ No newline at end of file +llvm15 \ No newline at end of file diff --git a/srcpkgs/llvm/template b/srcpkgs/llvm/template index a92db6f94f9f..d14430090161 100644 --- a/srcpkgs/llvm/template +++ b/srcpkgs/llvm/template @@ -1,10 +1,10 @@ # Template file for 'llvm' pkgname=llvm -version=12.0.0 +version=15.0.0 revision=1 build_style=meta -depends="llvm12" -replaces="llvm11>=0 llvm10>=0 llvm9>=0 llvm8>=0 llvm7>=0 llvm6.0>=0 llvm3.9>=0" +depends="llvm15" +replaces="llvm12>=0 llvm11>=0 llvm10>=0 llvm9>=0 llvm8>=0 llvm7>=0 llvm6.0>=0 llvm3.9>=0" short_desc="LLVM meta package" maintainer="Enno Boland " license="Public Domain" diff --git a/srcpkgs/llvm15/files/llvm-Config-llvm-config.h b/srcpkgs/llvm15/files/llvm-Config-llvm-config.h new file mode 100644 index 000000000000..2fa08c9be696 --- /dev/null +++ b/srcpkgs/llvm15/files/llvm-Config-llvm-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "llvm-config-32.h" +#elif __WORDSIZE == 64 +#include "llvm-config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch new file mode 100644 index 000000000000..e4eaa7783e7a --- /dev/null +++ b/srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch @@ -0,0 +1,44 @@ +From 352974169f0d2b5da3d5321f588f5e3b5941330e Mon Sep 17 00:00:00 2001 +From: Andrea Brancaleoni +Date: Tue, 8 Sep 2015 22:14:57 +0200 +Subject: [PATCH 2/7] fix unwind chain inclusion + +--- + lib/Headers/unwind.h | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/lib/Headers/unwind.h b/lib/Headers/unwind.h +index 303d792..44e10cc 100644 +--- a/clang/lib/Headers/unwind.h ++++ b/clang/lib/Headers/unwind.h +@@ -9,9 +9,6 @@ + + /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ + +-#ifndef __CLANG_UNWIND_H +-#define __CLANG_UNWIND_H +- + #if defined(__APPLE__) && __has_include_next() + /* Darwin (from 11.x on) provide an unwind.h. If that's available, + * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE, +@@ -39,6 +36,9 @@ + # endif + #else + ++#ifndef __CLANG_UNWIND_H ++#define __CLANG_UNWIND_H ++ + #include + + #ifdef __cplusplus +@@ -322,6 +322,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *); + } + #endif + ++#endif /* __CLANG_UNWIND_H */ ++ + #endif + +-#endif /* __CLANG_UNWIND_H */ +-- +2.5.1 diff --git a/srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch b/srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch new file mode 100644 index 000000000000..25688d40dbc2 --- /dev/null +++ b/srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch @@ -0,0 +1,110 @@ +--- a/clang/lib/Driver/ToolChains/Gnu.cpp ++++ b/clang/lib/Driver/ToolChains/Gnu.cpp +@@ -2086,7 +2086,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", + "armv7hl-redhat-linux-gnueabi", + "armv6hl-suse-linux-gnueabi", +- "armv7hl-suse-linux-gnueabi"}; ++ "armv7hl-suse-linux-gnueabi", ++ "armv7l-linux-gnueabihf"}; + static const char *const ARMebLibDirs[] = {"/lib"}; + static const char *const ARMebTriples[] = {"armeb-linux-gnueabi", + "armeb-linux-androideabi"}; +@@ -2153,8 +2154,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + "powerpc64-suse-linux", "powerpc-montavista-linuxspe"}; + static const char *const PPCLELibDirs[] = {"/lib32", "/lib"}; + static const char *const PPCLETriples[] = {"powerpcle-linux-gnu", +- "powerpcle-unknown-linux-gnu", +- "powerpcle-linux-musl"}; ++ "powerpcle-unknown-linux-gnu"}; + + static const char *const PPC64LibDirs[] = {"/lib64", "/lib"}; + static const char *const PPC64Triples[] = { +@@ -2235,6 +2235,87 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + return; + } + ++ if (TargetTriple.isMusl()) { ++ static const char *const AArch64MuslTriples[] = {"aarch64-linux-musl"}; ++ static const char *const ARMHFMuslTriples[] = { ++ "arm-linux-musleabihf", "armv7l-linux-musleabihf" ++ }; ++ static const char *const ARMMuslTriples[] = {"arm-linux-musleabi"}; ++ static const char *const X86_64MuslTriples[] = {"x86_64-linux-musl"}; ++ static const char *const X86MuslTriples[] = {"i686-linux-musl"}; ++ static const char *const MIPSMuslTriples[] = { ++ "mips-linux-musl", "mipsel-linux-musl", ++ "mipsel-linux-muslhf", "mips-linux-muslhf" ++ }; ++ static const char *const PPCMuslTriples[] = {"powerpc-linux-musl"}; ++ static const char *const PPCLEMuslTriples[] = {"powerpcle-linux-musl"}; ++ static const char *const PPC64MuslTriples[] = {"powerpc64-linux-musl"}; ++ static const char *const PPC64LEMuslTriples[] = {"powerpc64le-linux-musl"}; ++ ++ switch (TargetTriple.getArch()) { ++ case llvm::Triple::aarch64: ++ LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs)); ++ TripleAliases.append(begin(AArch64MuslTriples), end(AArch64MuslTriples)); ++ BiarchLibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs)); ++ BiarchTripleAliases.append(begin(AArch64MuslTriples), end(AArch64MuslTriples)); ++ break; ++ case llvm::Triple::arm: ++ LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs)); ++ if (TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { ++ TripleAliases.append(begin(ARMHFMuslTriples), end(ARMHFMuslTriples)); ++ } else { ++ TripleAliases.append(begin(ARMMuslTriples), end(ARMMuslTriples)); ++ } ++ break; ++ case llvm::Triple::x86_64: ++ LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); ++ TripleAliases.append(begin(X86_64MuslTriples), end(X86_64MuslTriples)); ++ BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs)); ++ BiarchTripleAliases.append(begin(X86MuslTriples), end(X86MuslTriples)); ++ break; ++ case llvm::Triple::x86: ++ LibDirs.append(begin(X86LibDirs), end(X86LibDirs)); ++ TripleAliases.append(begin(X86MuslTriples), end(X86MuslTriples)); ++ BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); ++ BiarchTripleAliases.append(begin(X86_64MuslTriples), end(X86_64MuslTriples)); ++ break; ++ case llvm::Triple::mips: ++ LibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs)); ++ TripleAliases.append(begin(MIPSMuslTriples), end(MIPSMuslTriples)); ++ break; ++ case llvm::Triple::ppc: ++ LibDirs.append(begin(PPCLibDirs), end(PPCLibDirs)); ++ TripleAliases.append(begin(PPCMuslTriples), end(PPCMuslTriples)); ++ BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs)); ++ BiarchTripleAliases.append(begin(PPC64MuslTriples), end(PPC64MuslTriples)); ++ break; ++ case llvm::Triple::ppcle: ++ LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs)); ++ TripleAliases.append(begin(PPCLEMuslTriples), end(PPCLEMuslTriples)); ++ BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs)); ++ BiarchTripleAliases.append(begin(PPC64LEMuslTriples), end(PPC64LEMuslTriples)); ++ break; ++ case llvm::Triple::ppc64: ++ LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs)); ++ TripleAliases.append(begin(PPC64MuslTriples), end(PPC64MuslTriples)); ++ BiarchLibDirs.append(begin(PPCLibDirs), end(PPCLibDirs)); ++ BiarchTripleAliases.append(begin(PPCMuslTriples), end(PPCMuslTriples)); ++ break; ++ case llvm::Triple::ppc64le: ++ LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs)); ++ TripleAliases.append(begin(PPC64LEMuslTriples), end(PPC64LEMuslTriples)); ++ BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs)); ++ BiarchTripleAliases.append(begin(PPCLEMuslTriples), end(PPCLEMuslTriples)); ++ break; ++ default: ++ break; ++ } ++ TripleAliases.push_back(TargetTriple.str()); ++ if (TargetTriple.str() != BiarchTriple.str()) ++ BiarchTripleAliases.push_back(BiarchTriple.str()); ++ return; ++ } ++ + // Android targets should not use GNU/Linux tools or libraries. + if (TargetTriple.isAndroid()) { + static const char *const AArch64AndroidTriples[] = { diff --git a/srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch new file mode 100644 index 000000000000..4ad6412d1e6c --- /dev/null +++ b/srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch @@ -0,0 +1,13 @@ +--- a/clang/lib/Driver/ToolChains/Linux.cpp ++++ b/clang/lib/Driver/ToolChains/Linux.cpp +@@ -504,10 +504,6 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { + Loader = "ld.so.1"; + break; + case llvm::Triple::ppc64: +- LibDir = "lib64"; +- Loader = +- (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; +- break; + case llvm::Triple::ppc64le: + LibDir = "lib64"; + Loader = diff --git a/srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch new file mode 100644 index 000000000000..21fc8003c5f1 --- /dev/null +++ b/srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch @@ -0,0 +1,48 @@ +--- a/clang/lib/Basic/Targets/PPC.h ++++ b/clang/lib/Basic/Targets/PPC.h +@@ -415,11 +415,10 @@ public: + LongDoubleFormat = &llvm::APFloat::IEEEdouble(); + } else if ((Triple.getArch() == llvm::Triple::ppc64le)) { + DataLayout = "e-m:e-i64:64-n32:64"; +- ABI = "elfv2"; + } else { + DataLayout = "E-m:e-i64:64-n32:64"; +- ABI = "elfv1"; + } ++ ABI = "elfv2"; + + if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) { + LongDoubleWidth = LongDoubleAlign = 64; +--- a/clang/lib/CodeGen/TargetInfo.cpp ++++ b/clang/lib/CodeGen/TargetInfo.cpp +@@ -10927,9 +10927,9 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() { + return SetCGInfo(new AIXTargetCodeGenInfo(Types, /*Is64Bit*/ true)); + + if (Triple.isOSBinFormatELF()) { +- PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv1; +- if (getTarget().getABI() == "elfv2") +- Kind = PPC64_SVR4_ABIInfo::ELFv2; ++ PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv2; ++ if (getTarget().getABI() == "elfv1") ++ Kind = PPC64_SVR4_ABIInfo::ELFv1; + bool IsSoftFloat = CodeGenOpts.FloatABI == "soft"; + + return SetCGInfo( +--- a/clang/lib/Driver/ToolChains/Clang.cpp ++++ b/clang/lib/Driver/ToolChains/Clang.cpp +@@ -1920,14 +1920,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args, + const llvm::Triple &T = getToolChain().getTriple(); + if (T.isOSBinFormatELF()) { + switch (getToolChain().getArch()) { +- case llvm::Triple::ppc64: { +- if ((T.isOSFreeBSD() && T.getOSMajorVersion() >= 13) || +- T.isOSOpenBSD() || T.isMusl()) +- ABIName = "elfv2"; +- else +- ABIName = "elfv1"; +- break; +- } ++ case llvm::Triple::ppc64: + case llvm::Triple::ppc64le: + ABIName = "elfv2"; + break; diff --git a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch b/srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch new file mode 100644 index 000000000000..360cfc1ba7f1 --- /dev/null +++ b/srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch @@ -0,0 +1,35 @@ +--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +@@ -74,6 +74,10 @@ + #include + #endif + ++#if SANITIZER_LINUX && defined(__powerpc__) ++#include ++#endif ++ + #if SANITIZER_LINUX && !SANITIZER_ANDROID + #include + #endif +--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -94,7 +94,7 @@ + # include + # include + # if defined(__mips64) || defined(__aarch64__) || defined(__arm__) || \ +- defined(__hexagon__) || SANITIZER_RISCV64 ++ defined(__hexagon__) || defined(__powerpc__) || SANITIZER_RISCV64 + # include + # ifdef __arm__ + typedef struct user_fpregs elf_fpregset_t; +--- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +@@ -31,7 +31,7 @@ + #include // for pid_t + #include // for iovec + #include // for NT_PRSTATUS +-#if (defined(__aarch64__) || SANITIZER_RISCV64) && !SANITIZER_ANDROID ++#if (defined(__aarch64__) || defined(__powerpc__) || SANITIZER_RISCV64) && !SANITIZER_ANDROID + // GLIBC 2.20+ sys/user does not include asm/ptrace.h + # include + #endif diff --git a/srcpkgs/llvm15/patches/compiler-rt-xray-ppc64-musl.patch.skip b/srcpkgs/llvm15/patches/compiler-rt-xray-ppc64-musl.patch.skip new file mode 100644 index 000000000000..d0b61c80c897 --- /dev/null +++ b/srcpkgs/llvm15/patches/compiler-rt-xray-ppc64-musl.patch.skip @@ -0,0 +1,62 @@ +--- a/compiler-rt/lib/xray/xray_powerpc64.inc ++++ b/compiler-rt/lib/xray/xray_powerpc64.inc +@@ -12,7 +12,13 @@ + + #include + #include ++#ifdef __GLIBC__ + #include ++#else ++#include ++#include ++#include ++#endif + + #include "xray_defs.h" + +@@ -20,13 +26,45 @@ namespace __xray { + + ALWAYS_INLINE uint64_t readTSC(uint8_t &CPU) XRAY_NEVER_INSTRUMENT { + CPU = 0; ++#ifdef __GLIBC__ + return __ppc_get_timebase(); ++#else ++ return __builtin_ppc_get_timebase(); ++#endif + } + + inline uint64_t getTSCFrequency() XRAY_NEVER_INSTRUMENT { + static std::mutex M; + std::lock_guard Guard(M); ++#ifdef __GLIBC__ + return __ppc_get_timebase_freq(); ++#else ++ /* FIXME: a less dirty implementation? */ ++ static uint64_t base; ++ if (!base) { ++ FILE *f = fopen("/proc/cpuinfo", "rb"); ++ if (f) { ++ ssize_t nr; ++ /* virtually always big enough to hold the line */ ++ char buf[512]; ++ while (fgets(buf, sizeof(buf), f)) { ++ char *ret = strstr(buf, "timebase"); ++ if (!ret) { ++ continue; ++ } ++ ret += sizeof("timebase") - 1; ++ ret = strchr(ret, ':'); ++ if (!ret) { ++ continue; ++ } ++ base = strtoul(ret + 1, nullptr, 10); ++ break; ++ } ++ fclose(f); ++ } ++ } ++ return base; ++#endif + } + + inline bool probeRequiredCPUFeatures() XRAY_NEVER_INSTRUMENT { diff --git a/srcpkgs/llvm15/patches/libcxx-musl.patch b/srcpkgs/llvm15/patches/libcxx-musl.patch new file mode 100644 index 000000000000..bbd31ffc2cb1 --- /dev/null +++ b/srcpkgs/llvm15/patches/libcxx-musl.patch @@ -0,0 +1,26 @@ +--- a/libcxx/include/locale ++++ b/libcxx/include/locale +@@ -742,7 +742,11 @@ __num_get_signed_integral(const char* __a, const char* __a_end, + typename remove_reference::type __save_errno = errno; + errno = 0; + char *__p2; ++#if defined(__linux__) && !defined(__GLIBC__) ++ long long __ll = strtoll(__a, &__p2, __base); ++#else + long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ++#endif + typename remove_reference::type __current_errno = errno; + if (__current_errno == 0) + errno = __save_errno; +@@ -782,7 +786,11 @@ __num_get_unsigned_integral(const char* __a, const char* __a_end, + typename remove_reference::type __save_errno = errno; + errno = 0; + char *__p2; ++#if defined(__linux__) && !defined(__GLIBC__) ++ unsigned long long __ll = strtoull(__a, &__p2, __base); ++#else + unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ++#endif + typename remove_reference::type __current_errno = errno; + if (__current_errno == 0) + errno = __save_errno; diff --git a/srcpkgs/llvm15/patches/libcxx-ppc.patch b/srcpkgs/llvm15/patches/libcxx-ppc.patch new file mode 100644 index 000000000000..7a92f8004e1c --- /dev/null +++ b/srcpkgs/llvm15/patches/libcxx-ppc.patch @@ -0,0 +1,22 @@ +This ensures `is_iec559` is defined correctly under all long double ABIs, +including musl and its 64-bit long double. Also, `__ppc__` or `__ppc64__` +is not defined on gcc. + +--- a/libcxx/include/limits ++++ b/libcxx/include/limits +@@ -426,8 +426,14 @@ protected: + _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");} + _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __LDBL_DENORM_MIN__;} + +-#if (defined(__ppc__) || defined(__ppc64__)) ++#if defined(__powerpc__) || defined(__powerpc64__) ++#if (__LDBL_MAX_EXP__ > __DBL_MAX_EXP__) || (__LDBL_MANT_DIG__ == __DBL_MANT_DIG__) ++ /* IEEE 754 quadruple or double precision */ ++ static _LIBCPP_CONSTEXPR const bool is_iec559 = true; ++#else ++ /* 128-bit IBM double-double */ + static _LIBCPP_CONSTEXPR const bool is_iec559 = false; ++#endif + #else + static _LIBCPP_CONSTEXPR const bool is_iec559 = true; + #endif diff --git a/srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch b/srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch new file mode 100644 index 000000000000..70292beb2fcd --- /dev/null +++ b/srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch @@ -0,0 +1,11 @@ +--- a/libcxx/CMakeLists.txt ++++ b/libcxx/CMakeLists.txt +@@ -769,6 +769,8 @@ function(cxx_link_system_libraries target) + target_link_libraries(${target} PRIVATE atomic) + endif() + ++#ssp target_link_libraries(${target} PRIVATE ssp_nonshared) ++ + if (MINGW) + target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") + endif() diff --git a/srcpkgs/llvm15/patches/libcxxabi-dl.patch b/srcpkgs/llvm15/patches/libcxxabi-dl.patch new file mode 100644 index 000000000000..3a15f9db8c98 --- /dev/null +++ b/srcpkgs/llvm15/patches/libcxxabi-dl.patch @@ -0,0 +1,25 @@ +Also link to -ldl to prevent undefined references. + +--- a/libcxxabi/src/CMakeLists.txt ++++ b/libcxxabi/src/CMakeLists.txt +@@ -73,6 +73,7 @@ + endif() + + add_library_flags_if(LIBCXXABI_HAS_C_LIB c) ++ add_library_flags_if(LIBCXXABI_HAS_C_LIB dl) + endif() + + if (LIBCXXABI_USE_LLVM_UNWINDER) +--- a/libcxx/CMakeLists.txt ++++ b/libcxx/CMakeLists.txt +@@ -745,6 +745,10 @@ + target_link_libraries(${target} PRIVATE m) + endif() + ++ if (LIBCXX_HAS_C_LIB) ++ target_link_libraries(${target} PRIVATE dl) ++ endif() ++ + if (LIBCXX_HAS_RT_LIB) + target_link_libraries(${target} PRIVATE rt) + endif() diff --git a/srcpkgs/llvm15/patches/libunwind-ppc32.patch.skip b/srcpkgs/llvm15/patches/libunwind-ppc32.patch.skip new file mode 100644 index 000000000000..74aa7576ecf9 --- /dev/null +++ b/srcpkgs/llvm15/patches/libunwind-ppc32.patch.skip @@ -0,0 +1,63 @@ +This fixes build at least with gcc9 which does not define `__ppc__`. + +--- a/libunwind/include/__libunwind_config.h ++++ b/libunwind/include/__libunwind_config.h +@@ -49,7 +49,7 @@ + # define _LIBUNWIND_CONTEXT_SIZE 167 + # define _LIBUNWIND_CURSOR_SIZE 179 + # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 +-# elif defined(__ppc__) ++# elif defined(__powerpc__) + # define _LIBUNWIND_TARGET_PPC 1 + # define _LIBUNWIND_CONTEXT_SIZE 117 + # define _LIBUNWIND_CURSOR_SIZE 124 +--- a/libunwind/src/UnwindRegistersRestore.S ++++ b/libunwind/src/UnwindRegistersRestore.S +@@ -392,7 +392,7 @@ Lnovec: + PPC64_LR(3) + bctr + +-#elif defined(__ppc__) ++#elif defined(__powerpc__) + + DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind13Registers_ppc6jumptoEv) + // +--- a/libunwind/src/UnwindRegistersSave.S ++++ b/libunwind/src/UnwindRegistersSave.S +@@ -554,7 +554,7 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext) + blr + + +-#elif defined(__ppc__) ++#elif defined(__powerpc__) + + // + // extern int unw_getcontext(unw_context_t* thread_state) +--- a/libunwind/src/config.h ++++ b/libunwind/src/config.h +@@ -95,12 +95,12 @@ + #define _LIBUNWIND_BUILD_SJLJ_APIS + #endif + +-#if defined(__i386__) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc64__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__powerpc64__) + #define _LIBUNWIND_SUPPORT_FRAME_APIS + #endif + + #if defined(__i386__) || defined(__x86_64__) || \ +- defined(__ppc__) || defined(__ppc64__) || defined(__powerpc64__) || \ ++ defined(__powerpc__) || defined(__powerpc64__) || \ + (!defined(__APPLE__) && defined(__arm__)) || \ + (defined(__arm64__) || defined(__aarch64__)) || \ + defined(__mips__) +--- a/libunwind/src/libunwind.cpp ++++ b/libunwind/src/libunwind.cpp +@@ -42,7 +42,7 @@ _LIBUNWIND_HIDDEN int __unw_init_local(unw_cursor_t *cursor, + # define REGISTER_KIND Registers_x86_64 + #elif defined(__powerpc64__) + # define REGISTER_KIND Registers_ppc64 +-#elif defined(__ppc__) ++#elif defined(__powerpc__) + # define REGISTER_KIND Registers_ppc + #elif defined(__aarch64__) + # define REGISTER_KIND Registers_arm64 diff --git a/srcpkgs/llvm15/patches/lldb-musl.patch b/srcpkgs/llvm15/patches/lldb-musl.patch new file mode 100644 index 000000000000..026c5e1e61ba --- /dev/null +++ b/srcpkgs/llvm15/patches/lldb-musl.patch @@ -0,0 +1,40 @@ +--- a/lldb/source/Plugins/Process/Linux/Procfs.h ++++ b/lldb/source/Plugins/Process/Linux/Procfs.h +@@ -10,6 +10,7 @@ + // sys/procfs.h on Android/Linux for all supported architectures. + + #include ++#include + + #include "lldb/lldb-types.h" + +@@ -17,23 +18,13 @@ + + #include + +-#ifdef __ANDROID__ +-#if defined(__arm64__) || defined(__aarch64__) +-typedef unsigned long elf_greg_t; +-typedef elf_greg_t +- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; +-typedef struct user_fpsimd_state elf_fpregset_t; +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#elif defined(__mips__) +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#endif +-#else // __ANDROID__ ++#if !defined(__GLIBC__) && defined(__powerpc__) ++#define pt_regs musl_pt_regs ++#include ++#undef pt_regs ++#else + #include +-#endif // __ANDROID__ ++#endif + + namespace lldb_private { + namespace process_linux { diff --git a/srcpkgs/llvm15/patches/llvm-001-musl.patch b/srcpkgs/llvm15/patches/llvm-001-musl.patch new file mode 100644 index 000000000000..f2a3f8d62813 --- /dev/null +++ b/srcpkgs/llvm15/patches/llvm-001-musl.patch @@ -0,0 +1,57 @@ +From faca3fbd15d0c3108493c3c54cd93138e049ac43 Mon Sep 17 00:00:00 2001 +From: Andrea Brancaleoni +Date: Tue, 8 Sep 2015 22:03:02 +0200 +Subject: [PATCH 3/3] musl + +--- + include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++ + lib/Support/DynamicLibrary.cpp | 2 +- + lib/Support/Unix/Signals.inc | 6 +++--- + utils/unittest/googletest/src/gtest.cc | 1 + + 5 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h +index 34a8a1e3..1214ece5 100644 +--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.h ++++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.h +@@ -18,6 +18,15 @@ + #include "llvm/IR/PassManager.h" + #include "llvm/Pass.h" + ++#undef fopen64 ++#undef fseeko64 ++#undef fstat64 ++#undef fstatvfs64 ++#undef ftello64 ++#undef lstat64 ++#undef stat64 ++#undef tmpfile64 ++ + namespace llvm { + template class ArrayRef; + class Triple; +diff --git a/lib/Support/Unix/DynamicLibrary.inc b/lib/Support/Unix/DynamicLibrary.inc +index a2a37996..2f86c470 100644 +--- a/llvm/lib/Support/Unix/DynamicLibrary.inc ++++ b/llvm/lib/Support/Unix/DynamicLibrary.inc +@@ -102,7 +102,7 @@ static void *DoSearch(const char* SymbolName) { + + // This macro returns the address of a well-known, explicit symbol + #define EXPLICIT_SYMBOL(SYM) \ +- if (!strcmp(SymbolName, #SYM)) return &SYM ++ if (!strcmp(SymbolName, #SYM)) return (void *)&SYM + + // Under glibc we have a weird situation. The stderr/out/in symbols are both + // macros and global variables because of standards requirements. So, we +diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc +index d882ab2e..f1fb12d0 100644 +--- a/llvm/utils/unittest/googletest/src/gtest.cc ++++ b/llvm/utils/unittest/googletest/src/gtest.cc +@@ -128,6 +128,7 @@ + + #if GTEST_CAN_STREAM_RESULTS_ + # include // NOLINT ++# include // NOLINT + # include // NOLINT + # include // NOLINT + # include // NOLINT diff --git a/srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch new file mode 100644 index 000000000000..0071d964bd37 --- /dev/null +++ b/srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch @@ -0,0 +1,30 @@ +This patches LLVM to use ELFv2 on ppc64 unconditionally unless overridden. We +need this because unlike most distros we use ELFv2 for both glibc and musl +on big endian ppc64. + +diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp +index 0634833e..b7cbc2e7 100644 +--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp ++++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp +@@ -222,9 +222,8 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT, + + switch (TT.getArch()) { + case Triple::ppc64le: +- return PPCTargetMachine::PPC_ABI_ELFv2; + case Triple::ppc64: +- return PPCTargetMachine::PPC_ABI_ELFv1; ++ return PPCTargetMachine::PPC_ABI_ELFv2; + default: + return PPCTargetMachine::PPC_ABI_UNKNOWN; + } +diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll +index 8b1cf6b5..296a2afa 100644 +--- a/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll ++++ b/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll +@@ -1,4 +1,5 @@ +-; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv1 ++; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2 ++; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-musl < %s | FileCheck %s -check-prefix=CHECK-ELFv2 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2 diff --git a/srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch b/srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch new file mode 100644 index 000000000000..b5d15974375d --- /dev/null +++ b/srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch @@ -0,0 +1,11 @@ +--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp ++++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp +@@ -165,7 +165,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) { + + if ((TargetTriple.isOSFreeBSD() && TargetTriple.getOSMajorVersion() >= 13) || + TargetTriple.isOSNetBSD() || TargetTriple.isOSOpenBSD() || +- TargetTriple.isMusl()) ++ isTargetLinux()) + SecurePlt = true; + + if (HasSPE && IsPPC64) diff --git a/srcpkgs/llvm15/patches/llvm-004-override-opt.patch b/srcpkgs/llvm15/patches/llvm-004-override-opt.patch new file mode 100644 index 000000000000..51d0e4b31b32 --- /dev/null +++ b/srcpkgs/llvm15/patches/llvm-004-override-opt.patch @@ -0,0 +1,18 @@ +This allows us to override the optimization level as not all platforms can +deal with -O3. + +--- a/llvm/CMakeLists.txt ++++ b/llvm/CMakeLists.txt +@@ -918,6 +918,12 @@ if( MINGW AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) + llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "-O2") + endif() + ++set(VOID_CXX_OPT_FLAGS "" CACHE STRING "Optimization level to use") ++ ++if (NOT VOID_CXX_OPT_FLAGS STREQUAL "") ++ llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "${VOID_CXX_OPT_FLAGS}") ++endif() ++ + # Put this before tblgen. Else we have a circular dependence. + add_subdirectory(lib/Demangle) + add_subdirectory(lib/Support) diff --git a/srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch b/srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch new file mode 100644 index 000000000000..d332687b9d92 --- /dev/null +++ b/srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch @@ -0,0 +1,36 @@ +From f3dbdd49c06bfafc1d6138094cf42889c14d38b6 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Sun, 3 Nov 2019 10:57:27 -0600 +Subject: [PATCH] [LLVM][PowerPC] Assume BigPIC if no PIC level is specified + +--- + llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 2 +- + llvm/lib/Target/PowerPC/PPCMCInstLower.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp +index cce21f32..87ca5f9b 100644 +--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp ++++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +@@ -520,7 +520,7 @@ void PPCAsmPrinter::EmitTlsCall(const MachineInstr *MI, + + // Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI. + if (Kind == MCSymbolRefExpr::VK_PLT && Subtarget->isSecurePlt() && +- M->getPICLevel() == PICLevel::BigPIC) ++ M->getPICLevel() != PICLevel::SmallPIC) + TlsRef = MCBinaryExpr::createAdd( + TlsRef, MCConstantExpr::create(32768, OutContext), OutContext); + const MachineOperand &MO = MI->getOperand(2); +diff --git a/lib/Target/PowerPC/PPCMCInstLower.cpp b/lib/Target/PowerPC/PPCMCInstLower.cpp +index 5cc180d7..a5b02565 100644 +--- a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp ++++ b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp +@@ -117,7 +117,7 @@ static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol, + const MCExpr *Expr = MCSymbolRefExpr::create(Symbol, RefKind, Ctx); + // If -msecure-plt -fPIC, add 32768 to symbol. + if (Subtarget->isSecurePlt() && TM.isPositionIndependent() && +- M->getPICLevel() == PICLevel::BigPIC && ++ M->getPICLevel() != PICLevel::SmallPIC && + MO.getTargetFlags() == PPCII::MO_PLT) + Expr = + MCBinaryExpr::createAdd(Expr, MCConstantExpr::create(32768, Ctx), Ctx); diff --git a/srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch b/srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch new file mode 100644 index 000000000000..a00abd216665 --- /dev/null +++ b/srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch @@ -0,0 +1,25 @@ +Fix failures in AllocationTests/MappedMemoryTest.* on aarch64: + + Failing Tests (8): + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.AllocAndRelease/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.DuplicateNear/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.EnabledWrite/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.MultipleAllocAndRelease/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.SuccessiveNear/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.UnalignedNear/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroNear/3 + LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroSizeNear/3 + +Upstream-Issue: https://bugs.llvm.org/show_bug.cgi?id=14278#c10 + +--- a/llvm/lib/Support/Unix/Memory.inc ++++ b/llvm/lib/Support/Unix/Memory.inc +@@ -58,7 +58,7 @@ static int getPosixProtectionFlags(unsigned Flags) { + return PROT_READ | PROT_WRITE | PROT_EXEC; + case llvm::sys::Memory::MF_EXEC: + #if (defined(__FreeBSD__) || defined(__POWERPC__) || defined (__ppc__) || \ +- defined(_POWER) || defined(_ARCH_PPC)) ++ defined(_POWER) || defined(_ARCH_PPC) || (defined(__linux__) && defined(__aarch64__))) + // On PowerPC, having an executable page that has no read permission + // can have unintended consequences. The function InvalidateInstruction- + // Cache uses instructions dcbf and icbi, both of which are treated by diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template new file mode 100644 index 000000000000..7c08c890d8c3 --- /dev/null +++ b/srcpkgs/llvm15/template @@ -0,0 +1,434 @@ +# Template file for 'llvm15' +pkgname=llvm15 +version=15.0.5 +revision=1 +build_wrksrc=llvm +build_style=cmake +configure_args=" + -DCMAKE_BUILD_TYPE=Release -Wno-dev + -DENABLE_LINKER_BUILD_ID=YES + -DLLDB_USE_SYSTEM_SIX=YES + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES + -DLIBCXXABI_USE_LLVM_UNWINDER=YES + -DLIBCXXABI_ENABLE_STATIC_UNWINDER=YES + -DLIBOMP_ENABLE_SHARED=YES + -DLIBOMP_INSTALL_ALIASES=NO + -DLLVM_INCLUDE_DOCS=YES + -DLLVM_BUILD_DOCS=YES + -DLLVM_ENABLE_SPHINX=YES + -DSPHINX_WARNINGS_AS_ERRORS=NO + -DLLVM_INSTALL_UTILS=YES + -DLLVM_BUILD_LLVM_DYLIB=YES + -DLLVM_LINK_LLVM_DYLIB=YES + -DLLVM_ENABLE_RTTI=YES + -DLLVM_ENABLE_FFI=YES + -DLLVM_BINUTILS_INCDIR=/usr/include" +hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx + python3-recommonmark python3-sphinx-automodapi" +makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel + libxml2-devel binutils-devel libatomic-devel" +depends="libllvm15>=${version}_${revision}" +short_desc="Low Level Virtual Machine" +maintainer="Orphaned " +license="Apache-2.0" +homepage="https://www.llvm.org" +distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz" +checksum=9c4278a6b8884eb7f4ae7dfe3c8e5445019824885e47cfdf1392563c47316fd6 +lib32disabled=yes +python_version=3 + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES" + makedepends+=" libexecinfo-devel" + depends+=" libexecinfo-devel" +fi + +# "operand out of range" assembler failures +case "$XBPS_TARGET_MACHINE" in + ppc64*) ;; + ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;; +esac + +_enabled_projects="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;libunwind;lld" + +_lldb_enable=yes +_libomp_enable=no + +case "$XBPS_TARGET_MACHINE" in + ppc64le*) ;; + ppc*|i686*) _lldb_enable=no ;; +esac + +case "$XBPS_TARGET_MACHINE" in + x86_64*|aarch64*|ppc64*) _libomp_enable=yes;; +esac + +subpackages="clang-tools-extra" + +# must go before clang +if [ "$_libomp_enable" = "yes" ]; then + _enabled_projects+=";openmp" + subpackages+=" libomp libomp-devel" + # because of cmake nonsense referencing libomptarget.so.* + depends+=" libomp>=${version}_${revision}" +fi + +subpackages+=" clang clang-analyzer libclang libclang-cpp + llvm-libunwind llvm-libunwind-devel libcxx libcxx-devel + libcxxabi libcxxabi-devel libllvm15" + +if [ "$_lldb_enable" = "yes" ]; then + # XXX fails to cross compile due to python + _enabled_projects+=";lldb" + subpackages+=" lldb lldb-devel" +fi + +subpackages+=" lld lld-devel" + +configure_args+=" -DLLVM_ENABLE_PROJECTS=${_enabled_projects}" + +post_patch() { + if [ "$_lldb_enable" = "yes" ]; then + if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + vsed -i 's|__ptrace_request|int|g' \ + ${wrksrc}/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp + fi + # disable docs for lldb as they fail to generate + vsed -i '/add_subdirectory(docs)/d' \ + ${wrksrc}/lldb/CMakeLists.txt + fi + + # update config.guess for better platform detection + cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \ + ${wrksrc}/llvm/cmake + + # fix linker failures on some archs + vsed -i 's,check_library_exists(gcc_s .*,set(LIBCXXABI_HAS_GCC_S_LIB ON),' \ + ${wrksrc}/libcxxabi/cmake/config-ix.cmake + vsed -i 's,check_library_exists(gcc .*,set(LIBCXXABI_HAS_GCC_LIB ON),' \ + ${wrksrc}/libcxxabi/cmake/config-ix.cmake + + # need libssp_nonshared on some musl platforms (because of nodefaultlibs) + case "$XBPS_TARGET_MACHINE" in + ppc64*) ;; + ppc*-musl|i686-musl|mips*-musl) + vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \ + ${wrksrc}/libunwind/src/CMakeLists.txt + vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \ + ${wrksrc}/libcxxabi/src/CMakeLists.txt + vsed -i 's,#ssp,,' ${wrksrc}/libcxx/CMakeLists.txt + ;; + esac + + case "$XBPS_TARGET_MACHINE" in + x86_64-musl) # some sanitizer currently only on x86_64 stuff needs backtrace + vsed -i 's,# Set common link flags.,list(APPEND SANITIZER_COMMON_LINK_LIBS execinfo),' \ + ${wrksrc}/compiler-rt/CMakeLists.txt + ;; + arm*-musl|i686-musl) # sanitizer code is broken since it duplicates some libc bits + vsed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' \ + ${wrksrc}/compiler-rt/cmake/config-ix.cmake + ;; + esac +} + +pre_configure() { + local triplet + + # Vastly reduce size of debugging symbols: + CFLAGS=${CFLAGS/ -g/ -g1} + CXXFLAGS=${CXXFLAGS/ -g/ -g1} + + # since gcc9, the build likes to blow up for ppc32 apparently because + # of clang being too large for a 24-bit relative call to the PLT, so + # optimize for size instead + case "$XBPS_TARGET_MACHINE" in + ppc64*) ;; + mips*-musl|ppc*) configure_args+=" -DVOID_CXX_OPT_FLAGS=-Os" ;; + esac + + if [ "$CROSS_BUILD" ]; then + msg_normal "Building host tblgen\n" + mkdir -p build/HOST + cd build/HOST + CC="$BUILD_CC" CXX="$BUILD_CXX" CFLAGS="$BUILD_CFLAGS" \ + CXXFLAGS="$BUILD_CXXFLAGS" LDFLAGS="$BUILD_LDFLAGS" \ + cmake ../.. -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_PROJECTS=${_enabled_projects} + make ${makejobs} -C utils/TableGen + make ${makejobs} -C tools/clang/utils/TableGen + [ "$_lldb_enable" = "yes" ] && make ${makejobs} -C tools/lldb/utils/TableGen + configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/llvm-tblgen" + configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/clang-tblgen" + [ "$_lldb_enable" = "yes" ] && configure_args+=" -DLLDB_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/lldb-tblgen" + cd ../.. + fi + + case "$XBPS_TARGET_MACHINE" in + i686*) _arch="X86";; + x86_64*) _arch="X86";; + armv5*) _arch="Armv5te";; + armv6*) _arch="Armv6";; + armv7*) _arch="Armv7";; + aarch64*) _arch="AArch64";; + mips*) _arch="Mips";; + ppc*) _arch="PowerPC";; + riscv64*) _arch="RISCV64";; + esac + + triplet=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET} + + configure_args+=" -DLLVM_TARGET_ARCH=${_arch}" + configure_args+=" -DLLVM_HOST_TRIPLE=${triplet}" + configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=${triplet}" +} + +do_install() { + cd build + cmake -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -P cmake_install.cmake + + # Required for multilib. + if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then + for _header in llvm-config; do + mv ${DESTDIR}/usr/include/llvm/Config/${_header}{,-64}.h + vinstall ${FILESDIR}/llvm-Config-${_header}.h 644 \ + usr/include/llvm/Config ${_header}.h + done + fi + + # Remove llvm-config-host in cross builds. + if [ "$CROSS_BUILD" ]; then + rm -f ${DESTDIR}/usr/bin/llvm-config-host + fi + + # Install libcxxabi headers + vinstall ${wrksrc}/libcxxabi/include/__cxxabi_config.h 644 usr/include + vinstall ${wrksrc}/libcxxabi/include/cxxabi.h 644 usr/include + + # Install libunwind headers + vinstall ${wrksrc}/libunwind/include/__libunwind_config.h 644 usr/include + vinstall ${wrksrc}/libunwind/include/libunwind.h 644 usr/include + vinstall ${wrksrc}/libunwind/include/unwind.h 644 usr/include + vinstall ${wrksrc}/libunwind/include/mach-o/compact_unwind_encoding.h \ + 644 usr/include/mach-o +} + +clang-analyzer_package() { + pycompile_dirs="usr/share/scan-view" + depends="clang-${version}_${revision} python3 perl" + short_desc+=" - A source code analysis framework" + homepage="https://clang-analyzer.llvm.org/" + pkg_install() { + vmove "usr/bin/scan-*" + vmove "usr/libexec/*analyzer" + vmove "usr/share/scan-*" + vmove usr/share/man/man1/scan-build.1 + } +} + +clang-tools-extra_package() { + lib32disabled=yes + depends="clang-${version}_${revision} python3" + short_desc+=" - Extra Clang tools" + homepage="https://clang.llvm.org/extra/" + pkg_install() { + vmove usr/bin/clang-apply-replacements + vmove usr/bin/clang-doc + vmove usr/bin/clang-include-fixer + vmove usr/bin/clang-query + vmove usr/bin/clang-rename + vmove usr/bin/clang-reorder-fields + vmove usr/bin/clang-tidy + vmove usr/bin/clangd + vmove usr/bin/diagtool + vmove usr/bin/find-all-symbols + vmove usr/bin/hmaptool + vmove usr/bin/modularize + vmove usr/bin/pp-trace + vmove usr/bin/sancov + vmove usr/include/clang-tidy + vmove "usr/lib/libclangApplyReplacements*" + vmove "usr/lib/libclangDoc*" + vmove "usr/lib/libclangIncludeFixer*" + vmove "usr/lib/libclangReorderFields*" + vmove "usr/lib/libclangQuery*" + vmove "usr/lib/libclangTidy*" + vmove "usr/share/clang/*include-fixer*" + vmove "usr/share/clang/*rename*" + vmove "usr/share/clang/*tidy*" + vmove usr/share/doc/LLVM/clang-tools + vmove usr/share/man/man1/diagtool.1 + vmove usr/share/man/man1/extraclangtools.1 + } +} + +clang_package() { + lib32disabled=yes + depends="libstdc++-devel libgcc-devel binutils ${XBPS_TARGET_LIBC}-devel + libclang-${version}_${revision}" + short_desc+=" - C language family frontend" + homepage="https://clang.llvm.org/" + pkg_install() { + vmove "usr/bin/*clang*" + vmove usr/bin/c-index-test + vmove usr/include/clang + vmove usr/include/clang-c + vmove usr/lib/clang + vmove usr/lib/cmake/clang + vmove "usr/lib/libclang*.a" + vmove "usr/lib/libclang*.so" + vmove usr/share/clang + vmove usr/share/doc/LLVM/clang + vmove usr/share/man/man1/clang.1 + } +} + +libclang_package() { + short_desc+=" - C frontend runtime library" + pkg_install() { + vmove "usr/lib/libclang.so.*" + } +} + +libclang-cpp_package() { + short_desc+=" - C frontend runtime library (C++ interface)" + pkg_install() { + vmove "usr/lib/libclang-cpp.so.*" + } +} + +lld_package() { + lib32disabled=yes + short_desc+=" - linker" + homepage="https://lld.llvm.org" + pkg_install() { + vmove usr/bin/ld.lld* + vmove usr/bin/ld64.lld* + vmove usr/bin/lld* + vmove usr/bin/wasm-ld + vmove usr/share/doc/LLVM/lld + } +} + +lld-devel_package() { + lib32disabled=yes + short_desc+=" - linker - development files" + homepage="https://lld.llvm.org" + depends="lld>=${version}_${revision}" + pkg_install() { + vmove usr/include/lld + vmove usr/lib/cmake/lld + vmove "usr/lib/liblld*a" + } +} + +lldb_package() { + lib32disabled=yes + depends+=" python3-six" + short_desc+=" - LLDB debugger" + homepage="https://lldb.llvm.org/" + pkg_install() { + vmove usr/bin/*lldb* + vmove usr/lib/liblldb*so.* + vmove /usr/lib/python* + } +} + +lldb-devel_package() { + lib32disabled=yes + depends="lldb>=${version}_${revision}" + short_desc+=" - LLDB debugger - development files" + pkg_install() { + vmove usr/include/lldb + vmove "usr/lib/liblldb*.so" + } +} + +llvm-libunwind_package() { + short_desc+=" - libunwind" + pkg_install() { + vmove "usr/lib/${XBPS_TRIPLET}/libunwind.so.*" + } +} + +llvm-libunwind-devel_package() { + short_desc+=" - libunwind - development files" + depends="llvm-libunwind>=${version}_${revision}" + conflicts="libunwind-devel>=0" + pkg_install() { + vmove usr/include/mach-o + vmove "usr/include/*unwind*" + vmove "usr/lib/${XBPS_TRIPLET}/libunwind.a" + vmove "usr/lib/${XBPS_TRIPLET}/libunwind.so" + vmove usr/share/doc/LLVM/libunwind + } +} + +libcxxabi_package() { + short_desc+=" - low level support for libc++" + pkg_install() { + vmove "usr/lib/${XBPS_TRIPLET}/libc++abi.so.*" + } +} + +libcxxabi-devel_package() { + short_desc+=" - low level support for libc++ - development files" + depends="libcxxabi>=${version}_${revision}" + pkg_install() { + vmove "usr/include/*cxxabi*" + vmove "usr/lib/${XBPS_TRIPLET}/libc++abi.so" + vmove "usr/lib/${XBPS_TRIPLET}/libc++abi.a" + } +} + +libcxx_package() { + short_desc+=" - C++ standard library" + pkg_install() { + vmove "usr/lib/${XBPS_TRIPLET}/libc++.so.*" + } +} + +libcxx-devel_package() { + short_desc+=" - C++ standard library - development files" + depends="libcxx>=${version}_${revision}" + pkg_install() { + vmove usr/include/c++ + vmove "usr/lib/${XBPS_TRIPLET}/libc++.so" + vmove "usr/lib/${XBPS_TRIPLET}/libc++.a" + vmove "usr/lib/${XBPS_TRIPLET}/libc++experimental.a" + vmove usr/share/doc/LLVM/libcxx + } +} + +libomp_package() { + short_desc+=" - Clang OpenMP support library" + pkg_install() { + vmove usr/lib/libarcher.so + vmove usr/lib/libomp.so + vmove usr/lib/libompd.so + vmove "usr/lib/libomptarget.rtl.*.so" + vmove "usr/lib/libomp*.so.*" + } +} + +libomp-devel_package() { + short_desc+=" - Clang OpenMP support library - development files" + depends="libomp>=${version}_${revision}" + pkg_install() { + vmove "usr/include/omp*.h" + vmove "usr/lib/clang/${version}/include/omp*.h" + vmove "usr/lib/libarcher*" + vmove "usr/lib/libomp*.so" + vmove usr/lib/cmake/openmp + vmove usr/share/doc/LLVM/openmp + vmove usr/share/man/man1/llvmopenmp.1 + } +} + +libllvm15_package() { + short_desc+=" - runtime library" + pkg_install() { + vmove "usr/lib/libLLVM-*.so*" + } +} diff --git a/srcpkgs/llvm15/update b/srcpkgs/llvm15/update new file mode 100644 index 000000000000..e95cf26b3586 --- /dev/null +++ b/srcpkgs/llvm15/update @@ -0,0 +1,3 @@ +site="https://github.com/llvm/llvm-project/releases" +pattern="llvmorg-\K(\d+.){2}\d+(-rc\d+)?" +ignore="*-rc*"