[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;