Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
f1843540
Commit
f1843540
authored
Apr 23, 2019
by
Vincent Pelletier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gcc: Fix gcc 5.5 FTBFS on glibc>=2.28 .
parent
00459ce9
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
87 additions
and
0 deletions
+87
-0
component/gcc/buildout.cfg
component/gcc/buildout.cfg
+4
-0
component/gcc/libsanitizer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch
...zer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch
+83
-0
No files found.
component/gcc/buildout.cfg
View file @
f1843540
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
extends =
extends =
../gettext/buildout.cfg
../gettext/buildout.cfg
../gmp/buildout.cfg
../gmp/buildout.cfg
../patch/buildout.cfg
../perl/buildout.cfg
../perl/buildout.cfg
../tar/buildout.cfg
../tar/buildout.cfg
../xz-utils/buildout.cfg
../xz-utils/buildout.cfg
...
@@ -19,6 +20,9 @@ url = http://ftp.gnu.org/gnu/gcc/gcc-5.5.0/gcc-5.5.0.tar.gz
...
@@ -19,6 +20,9 @@ url = http://ftp.gnu.org/gnu/gcc/gcc-5.5.0/gcc-5.5.0.tar.gz
md5sum = 781bc0195edeb0ceaace8428f63ae63d
md5sum = 781bc0195edeb0ceaace8428f63ae63d
# make install does not work when several core are used
# make install does not work when several core are used
make-targets = install -j1
make-targets = install -j1
patch-options = -p1
patches =
${:_profile_base_location_}/libsanitizer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch#1e5f33e89f9fe1ca3e406eabcc621762
[gcc]
[gcc]
<= gcc-common
<= gcc-common
...
...
component/gcc/libsanitizer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch
0 → 100644
View file @
f1843540
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment