Commit 88071e4d authored by Thomas Gambier's avatar Thomas Gambier 🚴🏼

update default SlapOS gcc version to 10.5

Also remove old unused gcc version
parent 764b61ff
...@@ -35,7 +35,7 @@ depends = ...@@ -35,7 +35,7 @@ depends =
${patch:recipe} ${patch:recipe}
recipe = slapos.recipe.build recipe = slapos.recipe.build
# Latest version provided by SlapOS. # Latest version provided by SlapOS.
part = gcc-8.5 part = gcc-10.5
# Minimum version for all components that might be required for # Minimum version for all components that might be required for
# slapos.rebootstrap (see https://bugs.python.org/issue34112 about Python 3.7+). # slapos.rebootstrap (see https://bugs.python.org/issue34112 about Python 3.7+).
min_version = 5.4 min_version = 5.4
......
...@@ -10,7 +10,7 @@ extends = ...@@ -10,7 +10,7 @@ extends =
../binutils/buildout.cfg ../binutils/buildout.cfg
parts = parts =
gcc-8.5 gcc-10.5
[gcc-common] [gcc-common]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -63,39 +63,12 @@ extra-configure-options = ...@@ -63,39 +63,12 @@ extra-configure-options =
--with-fpu=vfp --with-fpu=vfp
--with-float=hard --with-float=hard
[gcc-5.5]
<= gcc-common
version = 5.5.0
md5sum = 0f70424213b4a1113c04ba66ddda0c1f
# make install does not work when several core are used
make-targets = install -j1
patch-binary = ${patch:location}/bin/patch
patch-options = -p1
patches =
${:_profile_base_location_}/libsanitizer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch#1e5f33e89f9fe1ca3e406eabcc621762
${:_profile_base_location_}/glibc2.30-ipc_perm.patch#563b7f5a38c2ea6bf741c328422b4c98
[gcc-8.5] [gcc-8.5]
<= gcc-common <= gcc-common
version = 8.5.0 version = 8.5.0
md5sum = 0c1f625768840187ef3b10adebe8e3b0 md5sum = 0c1f625768840187ef3b10adebe8e3b0
[gcc-10.2] [gcc-10.5]
<= gcc-common <= gcc-common
version = 10.2.0 version = 10.5.0
md5sum = e9fd9b1789155ad09bcf3ae747596b50 md5sum = c7d1958570fbd1cd859b015774b9987a
[gcc-minimal]
<= gcc-5.5
configure-options =
--disable-bootstrap
--disable-multilib
--with-gmp=${gmp:location}
--with-mpfr=${mpfr:location}
--with-mpc=${mpc:location}
--enable-languages=c
--without-isl
--without-cloog
environment =
LDFLAGS=-Wl,-rpath=${gmp:location}/lib -Wl,-rpath=${mpc:location}/lib -Wl,-rpath=${mpfr:location}/lib
PATH=${perl:location}/bin:${tar:location}/bin:%(PATH)s
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2020-02-28 11:49:29.763277856 +0000
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2020-02-28 11:49:45.092909823 +0000
@@ -198,8 +198,7 @@
unsigned long long __unused1;
unsigned long long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)
From 15f0e921f47a9b81c4a30295c8685ad37d3ff4e0 Mon Sep 17 00:00:00 2001
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 24 May 2018 19:52:32 +0000
Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux
Cherry-pick compiler-rt revision 333213:
<sys/ustat.h> has been removed from glibc 2.28 by:
commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Sun Mar 18 11:28:59 2018 +0800
Deprecate ustat syscall interface
This patch uses pre-computed size of struct ustat for Linux.
PR sanitizer/85835
* sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
include <sys/ustat.h> for Linux.
(SIZEOF_STRUCT_USTAT): New.
(struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260684 138bc75d-0d04-0410-961f-82ee72b054a4
---
libsanitizer/ChangeLog | 8 ++++++++
.../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++--
2 files changed, 21 insertions(+), 2 deletions(-)
# Hunk commented-out as this does not apply on gcc 5.5 .
#diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
#index 2ec1a9a..286b789 100644
#--- a/libsanitizer/ChangeLog
#+++ b/libsanitizer/ChangeLog
#@@ -1,3 +1,11 @@
#+2018-05-24 H.J. Lu <hongjiu.lu@intel.com>
#+
#+ PR sanitizer/85835
#+ * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
#+ include <sys/ustat.h> for Linux.
#+ (SIZEOF_STRUCT_USTAT): New.
#+ (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
#+
# 2018-04-26 Hans-Peter Nilsson <hp@axis.com>
#
# * configure.tgt <mips*-*-linux*>: Enable build, excluding
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 858bb21..de18e56 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <sys/ustat.h>
#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
@@ -250,7 +249,19 @@ namespace __sanitizer {
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned struct_ustat_sz = sizeof(struct ustat);
+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
+ // has been removed from glibc 2.28.
+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
+ || defined(__x86_64__)
+#define SIZEOF_STRUCT_USTAT 32
+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
+ || defined(__powerpc__) || defined(__s390__)
+#define SIZEOF_STRUCT_USTAT 20
+#else
+#error Unknown size of struct ustat
+#endif
+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
--
2.9.3
...@@ -16,6 +16,8 @@ parts = ...@@ -16,6 +16,8 @@ parts =
[gcc] [gcc]
# Always build GCC for Fortran (see openblas). # Always build GCC for Fortran (see openblas).
max_version = 0 max_version = 0
# also use old gcc version for old scipy version used in python2
part = gcc-8.5
[python] [python]
part = python2.7 part = python2.7
......
...@@ -32,6 +32,11 @@ parts = ...@@ -32,6 +32,11 @@ parts =
[python] [python]
part = python2.7 part = python2.7
[gcc]
# use old gcc version for old scipy version used in python2
max_version = 8
part = gcc-8.5
[neoppod-repository] [neoppod-repository]
recipe = slapos.recipe.build:gitclone recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/neoppod.git repository = https://lab.nexedi.com/nexedi/neoppod.git
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment