From 3385c6500defc873cd57bf293c938f81421165d6 Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Tue, 4 Jan 2022 20:41:41 -0800 Subject: [PATCH 1/3] binutils: update to 2.37 --- ...e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch | 60 ----- .../patches/bfd-close-file-descriptor.patch | 232 ++++++++++++++++++ .../patches/binutils-missing-man-pages.patch | 32 +++ .../patches/ppc64-revert-gnu-attributes.patch | 65 ++--- srcpkgs/binutils/template | 19 +- 5 files changed, 296 insertions(+), 112 deletions(-) delete mode 100644 srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch create mode 100644 srcpkgs/binutils/patches/bfd-close-file-descriptor.patch create mode 100644 srcpkgs/binutils/patches/binutils-missing-man-pages.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/bfd-close-file-descriptor.patch b/srcpkgs/binutils/patches/bfd-close-file-descriptor.patch new file mode 100644 index 000000000000..192d4e02d456 --- /dev/null +++ b/srcpkgs/binutils/patches/bfd-close-file-descriptor.patch @@ -0,0 +1,232 @@ +From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Mon, 26 Jul 2021 05:59:55 -0700 +Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd + +Close the file descriptor if there is no archive plugin file descriptor +to avoid running out of file descriptors on thin archives with many +archive members. + +bfd/ + + PR ld/28138 + * plugin.c (bfd_plugin_close_file_descriptor): Close the file + descriptor there is no archive plugin file descriptor. + +ld/ + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for + native build. + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. + * testsuite/ld-plugin/pr28138.c: New file. + * testsuite/ld-plugin/pr28138-1.c: Likewise. + * testsuite/ld-plugin/pr28138-2.c: Likewise. + * testsuite/ld-plugin/pr28138-3.c: Likewise. + * testsuite/ld-plugin/pr28138-4.c: Likewise. + * testsuite/ld-plugin/pr28138-5.c: Likewise. + * testsuite/ld-plugin/pr28138-6.c: Likewise. + * testsuite/ld-plugin/pr28138-7.c: Likewise. + +(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) +(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) +--- + bfd/plugin.c | 8 +++++++ + ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ + 10 files changed, 104 insertions(+) + create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c + create mode 100644 ld/testsuite/ld-plugin/pr28138.c + +diff --git a/bfd/plugin.c b/bfd/plugin.c +index 6cfa2b66470..3bab8febe88 100644 +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + ++ /* Close the file descriptor if there is no archive plugin file ++ descriptor. */ ++ if (abfd->archive_plugin_fd == -1) ++ { ++ close (fd); ++ return; ++ } ++ + abfd->archive_plugin_fd_open_count--; + /* Dup the archive plugin file descriptor for later use, which + will be closed by _bfd_archive_close_and_cleanup. */ +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index def69e43ab3..999d911ce6a 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { + } + } + ++run_cc_link_tests [list \ ++ [list \ ++ "Build pr28138.a" \ ++ "-T" "" \ ++ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ ++ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ ++ ] \ ++ [list \ ++ "Build pr28138.o" \ ++ "" "" \ ++ {pr28138.c} {} \ ++ ] \ ++] ++ ++set exec_output [run_host_cmd "sh" \ ++ "-c \"ulimit -n 20; \ ++ $CC -Btmpdir/ld -o tmpdir/pr28138 \ ++ tmpdir/pr28138.o tmpdir/pr28138.a\""] ++set exec_output [prune_warnings $exec_output] ++if [string match "" $exec_output] then { ++ if { [isnative] } { ++ set exec_output [run_host_cmd "tmpdir/pr28138" ""] ++ if [string match "PASS" $exec_output] then { ++ pass "PR ld/28138" ++ } else { ++ fail "PR ld/28138" ++ } ++ } else { ++ pass "PR ld/28138" ++ } ++} else { ++ fail "PR ld/28138" ++} ++ + set testname "Build liblto-11.a" + remote_file host delete "tmpdir/liblto-11.a" + set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] +diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c +new file mode 100644 +index 00000000000..51d119e1642 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-1.c +@@ -0,0 +1,6 @@ ++extern int a0(void); ++int ++a1(void) ++{ ++ return 1 + a0(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c +new file mode 100644 +index 00000000000..1120cd797e9 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-2.c +@@ -0,0 +1,6 @@ ++extern int a1(void); ++int ++a2(void) ++{ ++ return 1 + a1(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c +new file mode 100644 +index 00000000000..ec464947ee6 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-3.c +@@ -0,0 +1,6 @@ ++extern int a2(void); ++int ++a3(void) ++{ ++ return 1 + a2(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c +new file mode 100644 +index 00000000000..475701b2c5c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-4.c +@@ -0,0 +1,6 @@ ++extern int a3(void); ++int ++a4(void) ++{ ++ return 1 + a3(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c +new file mode 100644 +index 00000000000..e24f86c363e +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-5.c +@@ -0,0 +1,6 @@ ++extern int a4(void); ++int ++a5(void) ++{ ++ return 1 + a4(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c +new file mode 100644 +index 00000000000..b5b938bdb21 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-6.c +@@ -0,0 +1,6 @@ ++extern int a5(void); ++int ++a6(void) ++{ ++ return 1 + a5(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c +new file mode 100644 +index 00000000000..4ef75bf0f0c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-7.c +@@ -0,0 +1,6 @@ ++extern int a6(void); ++int ++a7(void) ++{ ++ return 1 + a6(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c +new file mode 100644 +index 00000000000..68252c9f382 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138.c +@@ -0,0 +1,20 @@ ++#include ++ ++extern int a7(void); ++ ++int ++a0(void) ++{ ++ return 0; ++} ++ ++int ++main() ++{ ++ if (a7() == 7) ++ { ++ printf ("PASS\n"); ++ return 0; ++ } ++ return 1; ++} +-- +2.27.0 + diff --git a/srcpkgs/binutils/patches/binutils-missing-man-pages.patch b/srcpkgs/binutils/patches/binutils-missing-man-pages.patch new file mode 100644 index 000000000000..905f6620cc39 --- /dev/null +++ b/srcpkgs/binutils/patches/binutils-missing-man-pages.patch @@ -0,0 +1,32 @@ +From 96a7037cd8573cf065aa6b12baca68696f96d9ca Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Mon, 26 Jul 2021 22:51:18 +0100 +Subject: [PATCH] texi2pod.pl: add no-op --no-split option support [PR28144] + +Change 2faf902da ("generate single html manual page by default") +added use of --no-split option to makeinfo. binutils reuses +makeinfo options for texi2pod.pl wrapper. Unsupported option +led to silent manpage truncation. + +The change adds no-op option support. + +etc/ + + * texi2pod.pl: Handle no-op --no-split option. +--- + etc/texi2pod.pl | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/etc/texi2pod.pl b/etc/texi2pod.pl +index 11f70d156be..dcf2b437640 100644 +--- a/etc/texi2pod.pl ++++ b/etc/texi2pod.pl +@@ -59,6 +59,8 @@ + $flag = shift; + } + push (@ipath, $flag); ++ } elsif (/^--no-split$/) { ++ # ignore option for makeinfo compatibility + } elsif (/^-/) { + usage(); + } else { diff --git a/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch b/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch index 5de937f4fcce..6e1fa7731c9e 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,5 @@ 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..743618a216c3 100644 --- a/srcpkgs/binutils/template +++ b/srcpkgs/binutils/template @@ -1,25 +1,36 @@ # Template file for 'binutils' pkgname=binutils -version=2.35.1 -revision=4 +version=2.37 +revision=1 bootstrap=yes +hostmakedepends="pkg-config" 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=820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c subpackages="binutils-doc" if [ "$CHROOT_READY" ]; then - hostmakedepends="flex perl texinfo" + hostmakedepends+=" flex perl texinfo" makedepends+=" elfutils-devel" checkdepends="bc" depends="binutils-doc" subpackages+=" binutils-devel" fi +pre_configure() { + # Binutils 2.37 ships empty man pages; we apply a patch that fixes the + # build system so that it doesn't generate empty man pages, but we need + # to delete the empty man pages for the build system to regenerate + # them. + if [ "$CHROOT_READY" ]; then + find -name \*.1 -delete + fi +} + _get_triplet() { if [ -z "$XBPS_TRIPLET" ]; then echo $( From 6a5e4f2dd647ff6825bd1729db48aa28fec61f83 Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Tue, 4 Jan 2022 20:42:09 -0800 Subject: [PATCH 2/3] gcc: update to 11.2.1git20211128 --- common/shlibs | 2 +- srcpkgs/gcc/files/libgnarl-musl.patch | 39 +++-- srcpkgs/gcc/files/libssp-musl.patch | 49 +----- ...upport-for-musl-typedef-macro-guards.patch | 106 +++++++++++++ srcpkgs/gcc/patches/fsplit-stack-musl.patch | 112 ++++++++++++++ .../gcc/patches/libgcc-ibm128-no-tag.patch | 21 +-- srcpkgs/gcc/patches/musl-ada.patch | 141 ++++++++++-------- srcpkgs/gcc/template | 30 ++-- 8 files changed, 352 insertions(+), 148 deletions(-) create mode 100644 srcpkgs/gcc/patches/0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch create mode 100644 srcpkgs/gcc/patches/fsplit-stack-musl.patch diff --git a/common/shlibs b/common/shlibs index 999d3ad714b8..cbfc366082d8 100644 --- a/common/shlibs +++ b/common/shlibs @@ -58,7 +58,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.19 libgo-11.2.0_1 libperl.so.5.34 perl-5.34.0_1 libgmp.so.10 gmp-5.0.1_1 libgmpxx.so.4 gmpxx-6.0.0_2 diff --git a/srcpkgs/gcc/files/libgnarl-musl.patch b/srcpkgs/gcc/files/libgnarl-musl.patch index 99a734c42c90..ec60c82f9289 100644 --- a/srcpkgs/gcc/files/libgnarl-musl.patch +++ b/srcpkgs/gcc/files/libgnarl-musl.patch @@ -2,10 +2,16 @@ Source: Alpine Linux Upstream: Unknown 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 +--- + gcc/ada/libgnarl/s-osinte__linux.ads | 11 ------ + gcc/ada/libgnarl/s-taprop__linux.adb | 53 ++-------------------------- + 2 files changed, 3 insertions(+), 61 deletions(-) + +diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads +index 2272f83d68d..1d78456544a 100644 +--- a/gcc/ada/libgnarl/s-osinte__linux.ads ++++ b/gcc/ada/libgnarl/s-osinte__linux.ads +@@ -401,12 +401,6 @@ package System.OS_Interface is PTHREAD_RWLOCK_PREFER_WRITER_NP : constant := 1; PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP : constant := 2; @@ -18,7 +24,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 +@@ -468,11 +462,6 @@ package System.OS_Interface is protocol : int) return int; pragma Import (C, pthread_mutexattr_setprotocol); @@ -30,10 +36,11 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/l type struct_sched_param is record sched_priority : int; -- scheduling priority end record; -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 +diff --git a/gcc/ada/libgnarl/s-taprop__linux.adb b/gcc/ada/libgnarl/s-taprop__linux.adb +index 757a6cdfdad..82df94f6a00 100644 +--- a/gcc/ada/libgnarl/s-taprop__linux.adb ++++ b/gcc/ada/libgnarl/s-taprop__linux.adb +@@ -198,9 +198,6 @@ package body System.Task_Primitives.Operations is pragma Import (C, GNAT_pthread_condattr_setup, "__gnat_pthread_condattr_setup"); @@ -43,7 +50,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.Operations is -- Convert Ada priority to Linux priority. Priorities are 1 .. 99 on -- GNU/Linux, so we map 0 .. 98 to 1 .. 99. @@ -76,13 +83,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.Operations is -- Init_Mutex -- ---------------- @@ -92,7 +99,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.Operations is return Result; end if; @@ -110,7 +117,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.Operations is Result := pthread_rwlockattr_init (RWlock_Attr'Access); pragma Assert (Result = 0); @@ -122,4 +129,6 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l Result := pthread_rwlock_init (L.RW'Access, RWlock_Attr'Access); pragma Assert (Result in 0 | ENOMEM); +-- +2.34.0 diff --git a/srcpkgs/gcc/files/libssp-musl.patch b/srcpkgs/gcc/files/libssp-musl.patch index b21a2c29e57c..ed4444dcdc52 100644 --- a/srcpkgs/gcc/files/libssp-musl.patch +++ b/srcpkgs/gcc/files/libssp-musl.patch @@ -1,19 +1,9 @@ -First part taken from Alpine. - -Second part added to prevent gccgo from thinking it can -fsplit-stack on musl. +Taken from Alpine. --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -874,10 +874,15 @@ proper position among the other output files. */ - #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}" - #endif +@@ -997,8 +997,7 @@ proper position among the other output files. */ -+#ifdef ENABLE_DEFAULT_SSP -+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} " -+#else -+#define NO_SSP_SPEC "" -+#endif -+ #ifndef LINK_SSP_SPEC #ifdef TARGET_LIBC_PROVIDES_SSP -#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ @@ -22,15 +12,6 @@ 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 = - %{-version:--version}\ - %{-help=*:--help=%*}\ - %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ -- %{fsyntax-only:-o %j} %{-param*}\ -+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ - %{coverage:-fprofile-arcs -ftest-coverage}\ - %{fprofile-arcs|fprofile-generate*|coverage:\ - %{!fprofile-update=single:\ --- a/gcc/params.opt +++ b/gcc/params.opt @@ -853,7 +853,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim @@ -42,29 +23,3 @@ Second part added to prevent gccgo from thinking it can -fsplit-stack on musl. The lower bound for a buffer to be considered for stack smashing protection. -param=stack-clash-protection-guard-size= ---- a/gcc/config/i386/gnu-user-common.h -+++ b/gcc/config/i386/gnu-user-common.h -@@ -64,9 +64,3 @@ along with GCC; see the file COPYING3. If not see - - /* Static stack checking is supported by means of probes. */ - #define STACK_CHECK_STATIC_BUILTIN 1 -- --/* We only build the -fsplit-stack support in libgcc if the -- assembler has full support for the CFI directives. */ --#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE --#define TARGET_CAN_SPLIT_STACK --#endif ---- a/gcc/config/i386/gnu.h -+++ b/gcc/config/i386/gnu.h -@@ -40,11 +40,6 @@ along with GCC. If not, see . - /* i386 glibc provides __stack_chk_guard in %gs:0x14. */ - #define TARGET_THREAD_SSP_OFFSET 0x14 - --/* We only build the -fsplit-stack support in libgcc if the -- assembler has full support for the CFI directives. */ --#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE --#define TARGET_CAN_SPLIT_STACK --#endif - /* We steal the last transactional memory word. */ - #define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30 - #endif diff --git a/srcpkgs/gcc/patches/0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch b/srcpkgs/gcc/patches/0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch new file mode 100644 index 000000000000..c22f7f43f3d7 --- /dev/null +++ b/srcpkgs/gcc/patches/0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch @@ -0,0 +1,106 @@ +From 5a76cf60df5c9ba274f1d0dcd79fc0cbad9d0fe0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= +Date: Thu, 25 Nov 2021 17:44:04 +0100 +Subject: [PATCH] stddef.h: add support for musl typedef macro guards + +The stddef.h header checks/sets various hardcoded toolchain/os specific +macro guards to prevent redefining types such as ptrdiff_t, wchar_t, or +size_t. However, without this patch, the file does not check/set the +typedef macro guards for musl libc. This causes types such as size_t to +be defined twice for files which include both musl's stddef.h as well as +GCC's ginclude/stddef.h. This is, for example, the case for +libgo/sysinfo.c. If libgo/sysinfo.c has multiple typedefs for size_t +this confuses -fdump-go-spec and causes size_t not to be included in the +generated type definitions thereby causing a gcc-go compilation failure +on musl with the following error message: + + sysinfo.go:7765:13: error: use of undefined type '_size_t' + 7765 | type Size_t _size_t + | ^ + libcall_posix.go:49:35: error: non-integer len argument in make + 49 | b := make([]byte, len) + | + +This commit fixes this issue by ensuring that ptrdiff_t, wchar_t, and size_t +are only defined once in the pre-processed libgo/sysinfo.c file by enhancing +gcc/ginclude/stddef.h with musl-specific typedef macro guards. +--- + gcc/ginclude/stddef.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h +index 66619fe43b1..50d710a5ab9 100644 +--- a/gcc/ginclude/stddef.h ++++ b/gcc/ginclude/stddef.h +@@ -128,6 +128,7 @@ _TYPE_wchar_t; + #ifndef ___int_ptrdiff_t_h + #ifndef _GCC_PTRDIFF_T + #ifndef _PTRDIFF_T_DECLARED /* DragonFly */ ++#ifndef __DEFINED_ptrdiff_t /* musl libc */ + #define _PTRDIFF_T + #define _T_PTRDIFF_ + #define _T_PTRDIFF +@@ -137,10 +138,12 @@ _TYPE_wchar_t; + #define ___int_ptrdiff_t_h + #define _GCC_PTRDIFF_T + #define _PTRDIFF_T_DECLARED ++#define __DEFINED_ptrdiff_t + #ifndef __PTRDIFF_TYPE__ + #define __PTRDIFF_TYPE__ long int + #endif + typedef __PTRDIFF_TYPE__ ptrdiff_t; ++#endif /* __DEFINED_ptrdiff_t */ + #endif /* _PTRDIFF_T_DECLARED */ + #endif /* _GCC_PTRDIFF_T */ + #endif /* ___int_ptrdiff_t_h */ +@@ -174,6 +177,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; + #ifndef _SIZE_T_DEFINED + #ifndef _BSD_SIZE_T_DEFINED_ /* Darwin */ + #ifndef _SIZE_T_DECLARED /* FreeBSD 5 */ ++#ifndef __DEFINED_size_t /* musl libc */ + #ifndef ___int_size_t_h + #ifndef _GCC_SIZE_T + #ifndef _SIZET_ +@@ -191,6 +195,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; + #define _SIZE_T_DEFINED + #define _BSD_SIZE_T_DEFINED_ /* Darwin */ + #define _SIZE_T_DECLARED /* FreeBSD 5 */ ++#define __DEFINED_size_t /* musl libc */ + #define ___int_size_t_h + #define _GCC_SIZE_T + #define _SIZET_ +@@ -215,6 +220,7 @@ typedef long ssize_t; + #endif /* _SIZET_ */ + #endif /* _GCC_SIZE_T */ + #endif /* ___int_size_t_h */ ++#endif /* __DEFINED_size_t */ + #endif /* _SIZE_T_DECLARED */ + #endif /* _BSD_SIZE_T_DEFINED_ */ + #endif /* _SIZE_T_DEFINED */ +@@ -251,6 +257,7 @@ typedef long ssize_t; + #ifndef _BSD_WCHAR_T_DEFINED_ /* Darwin */ + #ifndef _BSD_RUNE_T_DEFINED_ /* Darwin */ + #ifndef _WCHAR_T_DECLARED /* FreeBSD 5 */ ++#ifndef __DEFINED_wchar_t /* musl libc */ + #ifndef _WCHAR_T_DEFINED_ + #ifndef _WCHAR_T_DEFINED + #ifndef _WCHAR_T_H +@@ -272,6 +279,7 @@ typedef long ssize_t; + #define __INT_WCHAR_T_H + #define _GCC_WCHAR_T + #define _WCHAR_T_DECLARED ++#define __DEFINED_wchar_t + + /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_ + instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other +@@ -326,6 +334,7 @@ typedef __WCHAR_TYPE__ wchar_t; + #endif + #endif + #endif ++#endif /* __DEFINED_wchar_t */ + #endif /* _WCHAR_T_DECLARED */ + #endif /* _BSD_RUNE_T_DEFINED_ */ + #endif +-- +2.34.0 + diff --git a/srcpkgs/gcc/patches/fsplit-stack-musl.patch b/srcpkgs/gcc/patches/fsplit-stack-musl.patch new file mode 100644 index 000000000000..6b7b60d9d04b --- /dev/null +++ b/srcpkgs/gcc/patches/fsplit-stack-musl.patch @@ -0,0 +1,112 @@ +Subject: [PATCH v2] Disable -fsplit-stack support on non-glibc targets +From: Sören Tempel + +The -fsplit-stack option requires the pthread_t TCB definition in the +libc to provide certain struct fields at specific hardcoded offsets. As +far as I know, only glibc provides these fields at the required offsets. +Most notably, musl libc does not have these fields. However, since gcc +accesses the fields using a fixed offset, this does not cause a +compile-time error, but instead results in a silent memory corruption at +run-time with musl libc. For example, on s390x libgcc's +__stack_split_initialize CTOR will overwrite the cancel field in the +pthread_t TCB on musl. + +The -fsplit-stack option is used within the gcc code base itself by +gcc-go (if available). On musl-based systems with split-stack support +(i.e. s390x or x86) this causes Go programs compiled with gcc-go to +misbehave at run-time. + +This patch fixes gcc-go on musl by disabling -fsplit-stack in gcc itself +since it is not supported on non-glibc targets anyhow. This is achieved +by checking if gcc targets a glibc-based system. This check has been +added for x86 and s390x, the rs6000 config already checks for +TARGET_GLIBC_MAJOR. Other architectures do not have split-stack +support. With this patch applied, the gcc-go configure script will +detect that -fsplit-stack support is not available and will not use it. + +See https://www.openwall.com/lists/musl/2012/10/16/12 + +This patch was written under the assumption that glibc is the only libc +implementation which supports the required fields at the required +offsets in the pthread_t TCB. The patch has been tested on Alpine Linux +Edge on the s390x and x86 architectures by bootstrapping Google's Go +implementation with gcc-go. + +Signed-off-by: Sören Tempel + +gcc/ChangeLog: + + * common/config/s390/s390-common.c (s390_supports_split_stack): + Only support split-stack on glibc targets. + * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto. + * config/i386/gnu.h (defined): Ditto. +--- +This version of the patch addresses feedback by Andrew Pinski and uses +OPTION_GLIBC as well as opts->x_linux_libc == LIBC_GLIBC to detect glibc +targets (instead of relying on TARGET_GLIBC_MAJOR). + + gcc/common/config/s390/s390-common.c | 11 +++++++++-- + gcc/config/i386/gnu-user-common.h | 5 +++-- + gcc/config/i386/gnu.h | 6 +++++- + 3 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/gcc/common/config/s390/s390-common.c b/gcc/common/config/s390/s390-common.c +index b6bc8501742..fc86e0bc5e7 100644 +--- a/gcc/common/config/s390/s390-common.c ++++ b/gcc/common/config/s390/s390-common.c +@@ -116,13 +116,20 @@ s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED, + + /* -fsplit-stack uses a field in the TCB, available with glibc-2.23. + We don't verify it, since earlier versions just have padding at +- its place, which works just as well. */ ++ its place, which works just as well. For other libc implementations ++ we disable the feature entirely to avoid corrupting the TCB. */ + + static bool + s390_supports_split_stack (bool report ATTRIBUTE_UNUSED, + struct gcc_options *opts ATTRIBUTE_UNUSED) + { +- return true; ++ if (opts->x_linux_libc == LIBC_GLIBC) { ++ return true; ++ } else { ++ if (report) ++ error("%<-fsplit-stack%> currently only supported on GNU/Linux"); ++ return false; ++ } + } + + #undef TARGET_DEFAULT_TARGET_FLAGS +diff --git a/gcc/config/i386/gnu-user-common.h b/gcc/config/i386/gnu-user-common.h +index 00226f5a455..6e13315b5a3 100644 +--- a/gcc/config/i386/gnu-user-common.h ++++ b/gcc/config/i386/gnu-user-common.h +@@ -66,7 +66,8 @@ along with GCC; see the file COPYING3. If not see + #define STACK_CHECK_STATIC_BUILTIN 1 + + /* We only build the -fsplit-stack support in libgcc if the +- assembler has full support for the CFI directives. */ +-#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE ++ assembler has full support for the CFI directives and ++ targets glibc. */ ++#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE && OPTION_GLIBC + #define TARGET_CAN_SPLIT_STACK + #endif +diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h +index 25fbc07f58c..adfe817201e 100644 +--- a/gcc/config/i386/gnu.h ++++ b/gcc/config/i386/gnu.h +@@ -35,7 +35,11 @@ along with GCC. If not, see . + crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" + #endif + +-#ifdef TARGET_LIBC_PROVIDES_SSP ++/* -fsplit-stack uses a field in the TCB at a fixed offset. This ++ field is only available for glibc. Disable -fsplit-stack for ++ other libc implementation to avoid silent TCB corruptions. */ ++ ++#if defined (TARGET_LIBC_PROVIDES_SSP) && OPTION_GLIBC + + /* i386 glibc provides __stack_chk_guard in %gs:0x14. */ + #define TARGET_THREAD_SSP_OFFSET 0x14 + diff --git a/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch b/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch index bdf5c75d917d..c2acec586cfc 100644 --- a/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch +++ b/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch @@ -17,22 +17,25 @@ diff --git a/libgcc/config/rs6000/t-ibm-ldouble b/libgcc/config/rs6000/t-ibm-ldo index b132784..fb5eca8 100644 --- a/libgcc/config/rs6000/t-ibm-ldouble +++ b/libgcc/config/rs6000/t-ibm-ldouble -@@ -1,6 +1,6 @@ - # GCC 128-bit long double support routines. - LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c +@@ -3,4 +3,6 @@ --HOST_LIBGCC2_CFLAGS += -mlong-double-128 -+HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute + HOST_LIBGCC2_CFLAGS += -mlong-double-128 ++HOST_LIBGCC2_CFLAGS += -mno-gnu-attribute ++ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ibm-ldouble.ver 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 @@ - SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver +@@ -2,6 +2,8 @@ --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 += -mno-gnu-attribute ++ + # This is a way of selecting -mcmodel=small for ppc64, which gives + # smaller and faster libgcc code. Directly specifying -mcmodel=small + # would need to take into account targets for which -mcmodel is invalid. -- 2.24.0 diff --git a/srcpkgs/gcc/patches/musl-ada.patch b/srcpkgs/gcc/patches/musl-ada.patch index c2c79df0adb7..3a7075f96311 100644 --- a/srcpkgs/gcc/patches/musl-ada.patch +++ b/srcpkgs/gcc/patches/musl-ada.patch @@ -1,20 +1,81 @@ +From 0b879c9a3ef83b3b08a0d72bfe89816d52489408 Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Fri, 21 Aug 2020 07:07:48 +0000 +Subject: [PATCH] ada: musl support fixes + +--- + gcc/ada/Makefile.rtl | 10 +++++----- + gcc/ada/adaint.c | 34 +++++++++++++++++++--------------- + gcc/ada/adaint.h | 10 ++++------ + gcc/ada/terminals.c | 8 ++++---- + 4 files changed, 32 insertions(+), 30 deletions(-) + +diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl +index 987eff0abba..03c8bc6f496 100644 +--- a/gcc/ada/Makefile.rtl ++++ b/gcc/ada/Makefile.rtl +@@ -1748,7 +1748,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),) + s-intman.adb #include #endif + -+#if defined (linux) ++#if defined (linux) || defined(__linux__) +#define _GNU_SOURCE 1 +#include +#endif #ifdef __PikeOS__ #define __BSD_VISIBLE 1 -@@ -3255,7 +3260,6 @@ __gnat_lwp_self (void) +@@ -3442,7 +3447,6 @@ __gnat_lwp_self (void) #endif #if defined (__linux__) @@ -22,7 +83,7 @@ index 3b0aea9..ee0bb69 100644 /* glibc versions earlier than 2.7 do not define the routines to handle dynamically allocated CPU sets. For these targets, we use the static -@@ -3265,7 +3269,7 @@ __gnat_lwp_self (void) +@@ -3452,7 +3456,7 @@ __gnat_lwp_self (void) /* Dynamic cpu sets */ @@ -31,7 +92,7 @@ index 3b0aea9..ee0bb69 100644 __gnat_cpu_alloc (size_t count) { return CPU_ALLOC (count); -@@ -3278,33 +3282,33 @@ __gnat_cpu_alloc_size (size_t count) +@@ -3465,33 +3469,33 @@ __gnat_cpu_alloc_size (size_t count) } void @@ -73,7 +134,7 @@ index 3b0aea9..ee0bb69 100644 } size_t -@@ -3314,23 +3318,23 @@ __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED) +@@ -3501,23 +3505,23 @@ __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED) } void @@ -103,10 +164,10 @@ index 3b0aea9..ee0bb69 100644 #endif /* !CPU_ALLOC */ #endif /* __linux__ */ diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h -index 0d12f7e..a063b47 100644 +index 85997b9ba68..fd10e5b5589 100644 --- a/gcc/ada/adaint.h +++ b/gcc/ada/adaint.h -@@ -316,13 +316,11 @@ extern void *__gnat_lwp_self (void); +@@ -325,13 +325,11 @@ extern void *__gnat_lwp_self (void); /* Routines for interface to required CPU set primitives */ @@ -124,56 +185,11 @@ index 0d12f7e..a063b47 100644 #endif #if defined (_WIN32) ---- a/gcc/ada/Makefile.rtl 2020-07-23 08:35:17.052381336 +0200 -+++ b/gcc/ada/Makefile.rtl 2020-07-23 08:35:17.052381336 +0200 -@@ -1533,7 +1533,7 @@ - s-intman.adb Date: Tue, 4 Jan 2022 22:51:14 -0800 Subject: [PATCH 3/3] libtool: revbump for gcc update --- srcpkgs/libtool/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template index b9972df70341..46ddf4f1c70d 100644 --- a/srcpkgs/libtool/template +++ b/srcpkgs/libtool/template @@ -1,7 +1,7 @@ # Template file for 'libtool' pkgname=libtool version=2.4.6 -revision=6 +revision=7 build_style=gnu-configure hostmakedepends="texinfo perl automake help2man xz" depends="tar sed"