mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
Apply ino64 patches.
PR: 219601
This commit is contained in:
parent
e782fd9ca9
commit
9bef9f7a1b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=442109
@ -306,6 +306,8 @@ post-patch:
|
||||
post-patch-COMPILER_RT-on:
|
||||
cd ${WRKSRC_compiler_rt} && patch < ${PATCHDIR}/compiler-rt-patch-svn-261229
|
||||
cd ${WRKSRC_compiler_rt} && patch < ${PATCHDIR}/compiler-rt-patch-svn-294806
|
||||
cd ${WRKSRC_compiler_rt} && patch < ${PATCHDIR}/compiler-rt-patch-canonical-syscalls
|
||||
cd ${WRKSRC_compiler_rt} && patch < ${PATCHDIR}/compiler-rt-patch-ino64
|
||||
.if ${ARCH} == "amd64"
|
||||
cd ${WRKSRC_compiler_rt} && patch < ${PATCHDIR}/compiler-rt-patch-no-m32
|
||||
.endif
|
||||
|
35
devel/llvm38/files/compiler-rt-patch-canonical-syscalls
Normal file
35
devel/llvm38/files/compiler-rt-patch-canonical-syscalls
Normal file
@ -0,0 +1,35 @@
|
||||
diff --git lib/sanitizer_common/sanitizer_linux.cc lib/sanitizer_common/sanitizer_linux.cc
|
||||
index 7328a5c0ac1..4b59a39ee27 100644
|
||||
--- lib/sanitizer_common/sanitizer_linux.cc
|
||||
+++ lib/sanitizer_common/sanitizer_linux.cc
|
||||
@@ -223,7 +223,8 @@ static void kernel_stat_to_stat(struct kernel_stat *in, struct stat *out) {
|
||||
|
||||
uptr internal_stat(const char *path, void *buf) {
|
||||
#if SANITIZER_FREEBSD
|
||||
- return internal_syscall(SYSCALL(stat), path, buf);
|
||||
+ return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path,
|
||||
+ (uptr)buf, 0);
|
||||
#elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
|
||||
return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path,
|
||||
(uptr)buf, 0);
|
||||
@@ -247,7 +248,8 @@ uptr internal_stat(const char *path, void *buf) {
|
||||
|
||||
uptr internal_lstat(const char *path, void *buf) {
|
||||
#if SANITIZER_FREEBSD
|
||||
- return internal_syscall(SYSCALL(lstat), path, buf);
|
||||
+ return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path,
|
||||
+ (uptr)buf, AT_SYMLINK_NOFOLLOW);
|
||||
#elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
|
||||
return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path,
|
||||
(uptr)buf, AT_SYMLINK_NOFOLLOW);
|
||||
@@ -590,7 +592,9 @@ uptr internal_getppid() {
|
||||
}
|
||||
|
||||
uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count) {
|
||||
-#if SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
|
||||
+#if SANITIZER_FREEBSD
|
||||
+ return internal_syscall(SYSCALL(getdirentries), fd, (uptr)dirp, count, NULL);
|
||||
+#elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
|
||||
return internal_syscall(SYSCALL(getdents64), fd, (uptr)dirp, count);
|
||||
#else
|
||||
return internal_syscall(SYSCALL(getdents), fd, (uptr)dirp, count);
|
15
devel/llvm38/files/compiler-rt-patch-ino64
Normal file
15
devel/llvm38/files/compiler-rt-patch-ino64
Normal file
@ -0,0 +1,15 @@
|
||||
--- lib/sanitizer_common/sanitizer_platform_limits_posix.h.orig 2017-05-24 19:09:24.000000000 +0000
|
||||
+++ lib/sanitizer_common/sanitizer_platform_limits_posix.h 2017-05-24 20:12:47.183536000 +0000
|
||||
@@ -485,7 +485,12 @@
|
||||
};
|
||||
#elif SANITIZER_FREEBSD
|
||||
struct __sanitizer_dirent {
|
||||
+#if __FreeBSD_version < 1200031
|
||||
unsigned int d_fileno;
|
||||
+#else
|
||||
+ unsigned long long d_fileno;
|
||||
+ unsigned long long d_off;
|
||||
+#endif
|
||||
unsigned short d_reclen;
|
||||
// more fields that we don't care about
|
||||
};
|
Loading…
Reference in New Issue
Block a user