Commit | Line | Data |
---|---|---|
ffcb22f1 VB |
1 | --- ./hotspot-jdk-9+@TAG_VER@/src/os/linux/vm/os_linux.cpp 2017-01-13 05:11:16.000000000 +0530 |
2 | +++ ../os_linux.cpp 2017-02-05 11:25:25.918994081 +0530 | |
3 | @@ -98,7 +98,9 @@ | |
4 | # include <string.h> | |
5 | # include <syscall.h> | |
6 | # include <sys/sysinfo.h> | |
7 | +# ifndef __ANDROID__ | |
8 | # include <gnu/libc-version.h> | |
9 | +# endif | |
10 | # include <sys/ipc.h> | |
11 | # include <sys/shm.h> | |
12 | # include <link.h> | |
13 | @@ -496,6 +498,7 @@ | |
14 | // detecting pthread library | |
15 | ||
16 | void os::Linux::libpthread_init() { | |
17 | +#ifndef __ANDROID__ | |
18 | // Save glibc and pthread version strings. | |
19 | #if !defined(_CS_GNU_LIBC_VERSION) || \ | |
20 | !defined(_CS_GNU_LIBPTHREAD_VERSION) | |
21 | @@ -513,6 +516,10 @@ | |
22 | str = (char *)malloc(n, mtInternal); | |
23 | confstr(_CS_GNU_LIBPTHREAD_VERSION, str, n); | |
24 | os::Linux::set_libpthread_version(str); | |
25 | +#else | |
26 | + os::Linux::set_glibc_version("bionic 21"); | |
27 | + os::Linux::set_libpthread_version("pthread 21"); | |
28 | +#endif | |
29 | } | |
30 | ||
31 | ///////////////////////////////////////////////////////////////////////////// | |
32 | @@ -2809,7 +2816,10 @@ | |
33 | // If we are running with earlier version, which did not have symbol versions, | |
34 | // we should use the base version. | |
35 | void* os::Linux::libnuma_dlsym(void* handle, const char *name) { | |
36 | - void *f = dlvsym(handle, name, "libnuma_1.1"); | |
37 | + void *f = NULL; | |
38 | + #ifndef __ANDROID__ | |
39 | + f = dlvsym(handle, name, "libnuma_1.1"); | |
40 | + #endif | |
41 | if (f == NULL) { | |
42 | f = dlsym(handle, name); | |
43 | } | |
44 | @@ -5471,7 +5481,11 @@ | |
45 | // Linux doesn't yet have a (official) notion of processor sets, | |
46 | // so just return the system wide load average. | |
47 | int os::loadavg(double loadavg[], int nelem) { | |
48 | +#ifdef __ANDROID__ | |
49 | + return -1; | |
50 | +#else | |
51 | return ::getloadavg(loadavg, nelem); | |
52 | +#endif | |
53 | } | |
54 | ||
55 | void os::pause() { | |
56 | @@ -6194,7 +6208,15 @@ | |
57 | struct stat st; | |
58 | int ret = os::stat(filename, &st); | |
59 | assert(ret == 0, "failed to stat() file '%s': %s", filename, strerror(errno)); | |
60 | +#ifdef __ANDROID__ | |
61 | + struct timespec ts; | |
62 | + unsigned long ms = st.st_mtime; | |
63 | + ts.tv_sec = ms / 1000; | |
64 | + ts.tv_nsec = (ms % 1000) * 1000000; | |
65 | + return ts; | |
66 | +#else | |
67 | return st.st_mtim; | |
68 | +#endif | |
69 | } | |
70 | ||
71 | int os::compare_file_modified_times(const char* file1, const char* file2) { |