svn-freebsd-ge...@chruetertee.ch writes: > Log: > update to 9.0b2 [...] > +--- ipc/chromium/src/base/dir_reader_linux.h.orig 2011-11-21 > 23:40:06.000000000 +0100 > ++++ ipc/chromium/src/base/dir_reader_linux.h 2011-11-21 23:40:26.000000000 > +0100 > +@@ -57,7 +57,7 @@ > + if (offset_ != size_) > + return true; > + > +- const int r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); > ++ const int r = syscall(SYS_getdents, fd_, buf_, sizeof(buf_)); > + if (r == 0) > + return false; > + if (r == -1) {
Does it work with plugins (e.g. flash)? Field offsets are different // offsetof() .d_reclen (linux_dirent) = 16 .d_name (linux_dirent) = 19 .d_reclen (dirent) = 4 .d_name (dirent) = 8 --- ipc/chromium/src/base/dir_reader_linux.h~ +++ ipc/chromium/src/base/dir_reader_linux.h @@ -9,6 +9,7 @@ #include <errno.h> #include <fcntl.h> #include <stdint.h> +#include <sys/dirent.h> #include <sys/syscall.h> #include <unistd.h> @@ -19,6 +20,8 @@ namespace base { +#define linux_dirent struct dirent +#if 0 struct linux_dirent { uint64_t d_ino; int64_t d_off; @@ -26,6 +29,7 @@ struct linux_dirent { unsigned char d_type; char d_name[0]; }; +#endif class DirReaderLinux { public: @@ -57,7 +61,7 @@ class DirReaderLinux { if (offset_ != size_) return true; - const int r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); + const int r = syscall(SYS_getdents, fd_, buf_, sizeof(buf_)); if (r == 0) return false; if (r == -1) { _______________________________________________ freebsd-gecko@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-gecko To unsubscribe, send any mail to "freebsd-gecko-unsubscr...@freebsd.org"