svn commit: r442109 - in head/devel/llvm38: . files

Brooks Davis brooks at FreeBSD.org
Tue May 30 18:14:46 UTC 2017


Author: brooks
Date: Tue May 30 18:14:45 2017
New Revision: 442109
URL: https://svnweb.freebsd.org/changeset/ports/442109

Log:
  Apply ino64 patches.
  
  PR:		219601

Added:
  head/devel/llvm38/files/compiler-rt-patch-canonical-syscalls
     - copied unchanged from r441621, head/devel/llvm-devel/files/compiler-rt-patch-canonical-syscalls
  head/devel/llvm38/files/compiler-rt-patch-ino64
     - copied unchanged from r441622, head/devel/llvm-devel/files/compiler-rt-patch-ino64
Modified:
  head/devel/llvm38/Makefile

Modified: head/devel/llvm38/Makefile
==============================================================================
--- head/devel/llvm38/Makefile	Tue May 30 18:05:23 2017	(r442108)
+++ head/devel/llvm38/Makefile	Tue May 30 18:14:45 2017	(r442109)
@@ -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

Copied: head/devel/llvm38/files/compiler-rt-patch-canonical-syscalls (from r441621, head/devel/llvm-devel/files/compiler-rt-patch-canonical-syscalls)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/llvm38/files/compiler-rt-patch-canonical-syscalls	Tue May 30 18:14:45 2017	(r442109, copy of r441621, head/devel/llvm-devel/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);

Copied: head/devel/llvm38/files/compiler-rt-patch-ino64 (from r441622, head/devel/llvm-devel/files/compiler-rt-patch-ino64)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/llvm38/files/compiler-rt-patch-ino64	Tue May 30 18:14:45 2017	(r442109, copy of r441622, head/devel/llvm-devel/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
+   };


More information about the svn-ports-all mailing list