public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug libgomp/102838] [12 regression] Several tests SEGV in gomp_loop_ull_init Date: Wed, 17 Nov 2021 12:38:33 +0000 [thread overview] Message-ID: <bug-102838-4-xgNkHU4IBN@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-102838-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102838 --- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Ah, bet Solaris aligned_alloc relies on: "the value of size shall be an integral multiple of alignment" (glibc aligned_alloc doesn't). Does memalign or posix_memalign rely on that too, or just aligned_alloc? If just aligned_alloc, we could do incrementally: 2021-11-17 Jakub Jelinek <jakub@redhat.com> PR libgomp/102838 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over memalign over posix_memalign over aligned_alloc over fallback with malloc instead of aligned_alloc over _aligned_alloc over posix_memalign over memalign over fallback with malloc. For aligned_alloc, round up size up to multiple of al. --- libgomp/alloc.c.jj 2021-01-04 10:25:56.157037659 +0100 +++ libgomp/alloc.c 2021-11-17 13:32:25.246271672 +0100 @@ -65,18 +65,24 @@ gomp_aligned_alloc (size_t al, size_t si void *ret; if (al < sizeof (void *)) al = sizeof (void *); -#ifdef HAVE_ALIGNED_ALLOC - ret = aligned_alloc (al, size); -#elif defined(HAVE__ALIGNED_MALLOC) +#ifdef HAVE__ALIGNED_MALLOC ret = _aligned_malloc (size, al); -#elif defined(HAVE_POSIX_MEMALIGN) - if (posix_memalign (&ret, al, size) != 0) - ret = NULL; #elif defined(HAVE_MEMALIGN) { extern void *memalign (size_t, size_t); ret = memalign (al, size); } +#elif defined(HAVE_POSIX_MEMALIGN) + if (posix_memalign (&ret, al, size) != 0) + ret = NULL; +#lif defined(HAVE_ALIGNED_ALLOC) + { + size_t sz = (size + al - 1) & ~(al - 1); + if (__builtin_expect (sz >= size, 1)) + ret = aligned_alloc (al, sz); + else + ret = NULL; + } #else ret = NULL; if ((al & (al - 1)) == 0 && size)
next prev parent reply other threads:[~2021-11-17 12:38 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-19 13:03 [Bug libgomp/102838] New: " ro at gcc dot gnu.org 2021-10-19 13:03 ` [Bug libgomp/102838] " ro at gcc dot gnu.org 2021-10-19 13:12 ` jakub at gcc dot gnu.org 2021-10-19 14:01 ` jakub at gcc dot gnu.org 2021-10-19 14:22 ` jakub at gcc dot gnu.org 2021-10-20 7:40 ` cvs-commit at gcc dot gnu.org 2021-10-20 13:21 ` jakub at gcc dot gnu.org 2021-10-20 13:43 ` ro at CeBiTec dot Uni-Bielefeld.DE 2021-10-21 14:09 ` ro at CeBiTec dot Uni-Bielefeld.DE 2021-10-21 14:16 ` jakub at gcc dot gnu.org 2021-10-21 14:22 ` ro at CeBiTec dot Uni-Bielefeld.DE 2021-10-21 14:23 ` ro at gcc dot gnu.org 2021-10-21 14:37 ` jakub at gcc dot gnu.org 2021-11-08 10:16 ` tschwinge at gcc dot gnu.org 2021-11-16 11:19 ` jakub at gcc dot gnu.org 2021-11-17 12:08 ` ro at CeBiTec dot Uni-Bielefeld.DE 2021-11-17 12:38 ` jakub at gcc dot gnu.org [this message] 2021-11-17 13:05 ` ro at CeBiTec dot Uni-Bielefeld.DE 2021-11-18 8:10 ` cvs-commit at gcc dot gnu.org 2021-11-18 8:15 ` cvs-commit at gcc dot gnu.org 2021-11-18 12:12 ` jakub at gcc dot gnu.org 2021-11-19 12:12 ` ro at gcc dot gnu.org 2021-11-19 15:32 ` jakub at gcc dot gnu.org 2021-11-23 12:35 ` ro at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-102838-4-xgNkHU4IBN@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).