guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: core-updates schedule


From: Ludovic Courtès
Subject: Re: core-updates schedule
Date: Mon, 20 Aug 2018 18:07:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hello,

Marius Bakke <address@hidden> skribis:

> Ricardo Wurmus <address@hidden> writes:
>
>> Ludovic Courtès <address@hidden> writes:
>>
>>> Today I’ll try switching to glibc 2.28, and if it works well, I’d like
>>> to make it the last big change in ‘core-updates’.
>>
>> Marius was working glibc 2.28 and that was the last big change I wanted
>> to allow into core-updates.  I don’t know how close Marius was in
>> getting this done.

Awesome.

(One of the nice things is that we can then get rid of glibc/hurd.  \o/)

> One problem with glibc 2.28 is that many (most?) packages that bundle
> gnulib needs patching.  I've attached patches below that fixes some of
> the packages.  Is the "substitution" style okay, or are origin patches
> preferred?

Either way i fine IMO.

> Another thing we should get in is coreutils: version 2.30 has a recent
> enough gnulib, but I could not figure out the new test failure.  Any
> takers?  :-)

I can take a look.

FWIW I also came up with the attached patch for GCC 5.5, which otherwise
fails to build with:

--8<---------------cut here---------------start------------->8---
../../../../gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:141:23:
 fatal error: sys/ustat.h: No such file or directory
compilation terminated.
--8<---------------cut here---------------end--------------->8---

I’d be tempted to do both the upgrade and the fixes in a single commit,
so that each commit yields something that builds.

Thanks!

Ludo’.

The 'ustat' function and corresponding headers has been removed in
version 2.28 of libc.  Adjust libsanitizer accordingly.

diff --git a/libsanitizer/sanitizer_common/sanitizer_common_syscalls.inc 
b/libsanitizer/sanitizer_common/sanitizer_common_syscalls.inc
index 5e83ce9786c..4e98cbaf89d 100644
--- a/libsanitizer/sanitizer_common/sanitizer_common_syscalls.inc
+++ b/libsanitizer/sanitizer_common/sanitizer_common_syscalls.inc
@@ -921,16 +921,6 @@ POST_SYSCALL(newfstat)(long res, long fd, void *statbuf) {
   }
 }
 
-#if !SANITIZER_ANDROID
-PRE_SYSCALL(ustat)(long dev, void *ubuf) {}
-
-POST_SYSCALL(ustat)(long res, long dev, void *ubuf) {
-  if (res >= 0) {
-    if (ubuf) POST_WRITE(ubuf, struct_ustat_sz);
-  }
-}
-#endif  // !SANITIZER_ANDROID
-
 PRE_SYSCALL(stat64)(const void *filename, void *statbuf) {
   if (filename)
     PRE_READ(filename,
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 
b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 6992f2cd8ac..ec975ba9f3a 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -150,7 +150,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>
@@ -243,7 +242,6 @@ namespace __sanitizer {
 #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
 
 #if SANITIZER_LINUX && !SANITIZER_ANDROID
-  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
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 
b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index 304d04e3935..3c23dcdb261 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -185,7 +185,6 @@ namespace __sanitizer {
     int v[10];
   };
 
-  extern unsigned struct_ustat_sz;
   extern unsigned struct_rlimit64_sz;
   extern unsigned struct_statvfs64_sz;
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]