diff options
author | brooks <brooks@FreeBSD.org> | 2017-05-31 02:14:45 +0800 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2017-05-31 02:14:45 +0800 |
commit | fc950e7a0bde86ca7c86cd1fdccc64b033a58630 (patch) | |
tree | e4239d2affa1e1d20b2cf99724d0316d8dcbd5c1 /devel | |
parent | 4dff561d94fe854d2872bfa79a0b68e74dee565e (diff) | |
download | freebsd-ports-gnome-fc950e7a0bde86ca7c86cd1fdccc64b033a58630.tar.gz freebsd-ports-gnome-fc950e7a0bde86ca7c86cd1fdccc64b033a58630.tar.zst freebsd-ports-gnome-fc950e7a0bde86ca7c86cd1fdccc64b033a58630.zip |
Apply ino64 patches.
PR: 219601
Diffstat (limited to 'devel')
-rw-r--r-- | devel/llvm38/Makefile | 2 | ||||
-rw-r--r-- | devel/llvm38/files/compiler-rt-patch-canonical-syscalls | 35 | ||||
-rw-r--r-- | devel/llvm38/files/compiler-rt-patch-ino64 | 15 |
3 files changed, 52 insertions, 0 deletions
diff --git a/devel/llvm38/Makefile b/devel/llvm38/Makefile index 626b2e4dbb2e..df984db339ee 100644 --- a/devel/llvm38/Makefile +++ b/devel/llvm38/Makefile @@ -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 diff --git a/devel/llvm38/files/compiler-rt-patch-canonical-syscalls b/devel/llvm38/files/compiler-rt-patch-canonical-syscalls new file mode 100644 index 000000000000..f68f299e8a03 --- /dev/null +++ b/devel/llvm38/files/compiler-rt-patch-canonical-syscalls @@ -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); diff --git a/devel/llvm38/files/compiler-rt-patch-ino64 b/devel/llvm38/files/compiler-rt-patch-ino64 new file mode 100644 index 000000000000..1e251f7f515c --- /dev/null +++ b/devel/llvm38/files/compiler-rt-patch-ino64 @@ -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 + }; |