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