1 //===-- LibcGlue.cpp --------------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // This files adds functions missing from libc on earlier versions of Android 11 12 #include <android/api-level.h> 13 14 #include <sys/syscall.h> 15 16 #if __ANDROID_API__ < 21 17 18 #include <sys/types.h> 19 #include <sys/stat.h> 20 #include <fcntl.h> 21 #include <signal.h> 22 23 #include "lldb/Host/Time.h" 24 25 time_t timegm(struct tm* t) 26 { 27 return (time_t) timegm64(t); 28 } 29 30 int signalfd (int fd, const sigset_t *mask, int flags) 31 { 32 return syscall(__NR_signalfd4, fd, mask, _NSIG / 8, flags); 33 } 34 35 int posix_openpt(int flags) 36 { 37 return open("/dev/ptmx", flags); 38 } 39 40 #endif 41