From 76b8a6a7017f4b3ab7fa8f47bededd99af805969 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 18 Jun 2018 17:11:08 +0200 Subject: open_issues/gcc: Cilk Plus, and Intel MPX support have been removed in GCC trunk --- open_issues/gcc.mdwn | 141 ++------------------------------------------------- 1 file changed, 5 insertions(+), 136 deletions(-) diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 194a401a..44dc3a9e 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -1,5 +1,5 @@ [[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, -2015, 2016 Free Software Foundation, Inc."]] +2015, 2016, 2018 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -750,139 +750,6 @@ Last reviewed up to the Git mirror's commit * `libvtv/vtv_rts.cc`: `/proc/self/exe` usage, `PATH_MAX`. - * `libcilkrts` - - Disabled for Hurd. - - libcilkrts/Makefile.am: - - +# If we're building on Linux, use the Linux version script - +if LINUX_LINKER_SCRIPT - + libcilkrts_la_LDFLAGS += -Wl,--version-script,$(srcdir)/runtime/linux-symbols.ver - +endif - - libcilkrts/configure.ac: - - +# We have linker scripts for appropriate operating systems - +linux_linker_script=no - +case "${host}" in - + *-*-linux*) - + linux_linker_script=yes - + ;; - +esac - +AM_CONDITIONAL(LINUX_LINKER_SCRIPT, test "$linux_linker_script" = "yes") - - libcilkrts/runtime/cilk_malloc.c: - - +#if defined _WIN32 || defined _WIN64 || defined __linux__ - +#include - +#define HAS_MEMALIGN 1 - +#endif - - libcilkrts/runtime/config/x86/cilk-abi-vla.c: - - +#if defined(__x86_64) - + // For Intel64 linux & MACH ABI, all the parameters were passed in - + // register, so top of the stack frame above the return address - + // is just the size of the return address plus - + // distance_from_sp_to_alloca_area on the chance that the alloca - + // area isn't at the very bottom of the calling functions stack. - +#elif defined(__MACH__) - + // For ia32 MACH, parameter size is always a mutliple of 16 - + // bytes to keep the stack 16 byte aligned. So we need to round - + // number of parameters up to multiple of 4. - + param_size = 8 * sizeof(char *); - +#else - + // For both windows Intel64 ABI, and the IA32 windows and - + // linux ABIs, space is reserved on the stack for all these - + // parameters. param_size is 5 * size of a stack slot. - + param_size = 5 * sizeof(char *); - +#endif - - +#if defined(__x86_64) - + // For Intel64 linux & MACH ABI, all the parameters were passed in - + // register, so top of the stack frame above the return address - + // is just the size of the return address plus - + // distance_from_sp_to_alloca_area on the chance that the alloca - + // area isn't at the very bottom of the calling functions stack. - +#elif defined(__MACH__) - + // For ia32 MACH, parameter size is always a mutliple of 16 - + // bytes to keep the stack 16 byte aligned. So we need to round - + // number of parameters up to multiple of 4. - + param_size = 8 * sizeof(char *); - +#else - + // For both windows Intel64 ABI, and the IA32 windows and - + // linux ABIs, space is reserved on the stack for all these - + // parameters. param_size is 5 * size of a stack slot. - + param_size = 6 * sizeof(char *); - +#endif - - libcilkrts/runtime/os-unix.c: - - +#ifdef __linux__ - + // define _GNU_SOURCE before *any* #include. - + // Even will break later #includes if this macro is not - + // already defined when it is #included. - +# define _GNU_SOURCE - +#endif - - +#if defined __linux__ - +# include - +# include - - Syscall usage outside __linux__? - - Will run into: - - +#else - +#error "Unknown architecture" - - libcilkrts/runtime/sysdep-unix.c: - - +#ifdef __linux__ - + // define _GNU_SOURCE before *any* #include. - + // Even will break later #includes if this macro is not - + // already defined when it is #included. - +# define _GNU_SOURCE - +#endif - - +#ifdef __linux__ - +# include - +# include - +#endif - - +#if defined( __linux__) || defined(__VXWORKS__) - + pthread_t tid = *(pthread_t *)thread_id; - + if (i < 0 || i > g->total_workers) - + return 0; - + return g->sysdep->threads[i] == tid; - +#else - + // Needs to be implemented - + return 0; - +#endif - - IRC, freenode, #hurd, 2014-01-10: - - bwaarf, libcilkrts in gcc-4.9 - libcilkrts? - the runtime for the cilk language I guess - Yes. That most likely needs disabling for us. - I'll hve a look eventually. - As soon as I get - - resolved, actually. - - [[!debbug 734973]]. gcc-4.9/debian/patches/libcilkrts-targets.diff - - r235870 "Merge libcilkrts from upstream" is supposed to contain the Hurd - port (not yet reviewed/tested). - - * [low] `libmpx` - - Only enabled for GNU/Linux, but actually seems to be portable. - - gcc/config/i386/linux-common.h:MPX_SPEC - * `PIE_SPEC` diff --git ./gcc/config/gnu-user.h ./gcc/config/gnu-user.h @@ -1007,8 +874,10 @@ and laplace.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -`--disable-libcilkrts`, -`--disable-libmpx`, +`--disable-libcilkrts` (obsolete, Cilk Plus support removed in trunk r255195, +2017-11-28), +`--disable-libmpx` (obsolete, Intel MPX support removed in trunk r261304, +2018-06-08), `--disable-libsanitizer`, `--disable-libvtv`, until these is auto-detected/fixed/ported for GNU Hurd. -- cgit v1.2.3