summaryrefslogtreecommitdiff
authorLawrence Mok <lawrence.mok@amlogic.com>2013-11-09 02:21:43 (GMT)
committer Lawrence Mok <lawrence.mok@amlogic.com>2013-11-09 02:21:43 (GMT)
commitd85fc7a8267a445d41b85fde521157e09d08a8f9 (patch)
treed83d3dfb20121ed903ced716a4b063d294ad13f5
parentfdf8b029aab2b06e25880fc5a0165b26d38b19f4 (diff)
downloadbusybox-d85fc7a8267a445d41b85fde521157e09d08a8f9.zip
busybox-d85fc7a8267a445d41b85fde521157e09d08a8f9.tar.gz
busybox-d85fc7a8267a445d41b85fde521157e09d08a8f9.tar.bz2
fix 4.4 compile
Diffstat
-rwxr-xr-xandroid/libc/arch-arm/syscalls/adjtimex.S3
-rwxr-xr-xandroid/libc/arch-arm/syscalls/getsid.S3
-rwxr-xr-xandroid/libc/arch-arm/syscalls/stime.S3
-rwxr-xr-xandroid/libc/arch-arm/syscalls/swapoff.S3
-rwxr-xr-xandroid/libc/arch-arm/syscalls/swapon.S3
-rwxr-xr-xandroid/libc/arch-arm/syscalls/sysinfo.S3
-rw-r--r--android/reboot.c41
7 files changed, 26 insertions, 33 deletions
diff --git a/android/libc/arch-arm/syscalls/adjtimex.S b/android/libc/arch-arm/syscalls/adjtimex.S
index 66c2d2d..dabdb90 100755
--- a/android/libc/arch-arm/syscalls/adjtimex.S
+++ b/android/libc/arch-arm/syscalls/adjtimex.S
@@ -1,6 +1,5 @@
/* autogenerated by gensyscalls.py */
#include <asm/unistd.h>
-#include <sys/glibc-syscalls.h>
.text
.type adjtimex, #function
@@ -16,5 +15,5 @@ adjtimex:
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
- b __set_syscall_errno
+ b __set_errno
.fnend
diff --git a/android/libc/arch-arm/syscalls/getsid.S b/android/libc/arch-arm/syscalls/getsid.S
index e103b97..fd9e9ee 100755
--- a/android/libc/arch-arm/syscalls/getsid.S
+++ b/android/libc/arch-arm/syscalls/getsid.S
@@ -1,6 +1,5 @@
/* autogenerated by gensyscalls.py */
#include <asm/unistd.h>
-#include <sys/glibc-syscalls.h>
.text
.type getsid, #function
@@ -16,5 +15,5 @@ getsid:
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
- b __set_syscall_errno
+ b __set_errno
.fnend
diff --git a/android/libc/arch-arm/syscalls/stime.S b/android/libc/arch-arm/syscalls/stime.S
index f737916..e53684c 100755
--- a/android/libc/arch-arm/syscalls/stime.S
+++ b/android/libc/arch-arm/syscalls/stime.S
@@ -1,7 +1,6 @@
/* autogenerated by gensyscalls.py */
#define __KERNEL__
#include <asm/unistd.h>
-#include <sys/glibc-syscalls.h>
#ifndef __NR_stime
#define __NR_stime (__NR_SYSCALL_BASE + 25)
@@ -21,5 +20,5 @@ stime:
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
- b __set_syscall_errno
+ b __set_errno
.fnend
diff --git a/android/libc/arch-arm/syscalls/swapoff.S b/android/libc/arch-arm/syscalls/swapoff.S
index ea41be4..7117295 100755
--- a/android/libc/arch-arm/syscalls/swapoff.S
+++ b/android/libc/arch-arm/syscalls/swapoff.S
@@ -1,6 +1,5 @@
/* autogenerated by gensyscalls.py */
#include <asm/unistd.h>
-#include <sys/glibc-syscalls.h>
.text
.type swapoff, #function
@@ -16,5 +15,5 @@ swapoff:
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
- b __set_syscall_errno
+ b __set_errno
.fnend
diff --git a/android/libc/arch-arm/syscalls/swapon.S b/android/libc/arch-arm/syscalls/swapon.S
index 309af9f..fb86331 100755
--- a/android/libc/arch-arm/syscalls/swapon.S
+++ b/android/libc/arch-arm/syscalls/swapon.S
@@ -1,6 +1,5 @@
/* autogenerated by gensyscalls.py */
#include <asm/unistd.h>
-#include <sys/glibc-syscalls.h>
.text
.type swapon, #function
@@ -16,5 +15,5 @@ swapon:
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
- b __set_syscall_errno
+ b __set_errno
.fnend
diff --git a/android/libc/arch-arm/syscalls/sysinfo.S b/android/libc/arch-arm/syscalls/sysinfo.S
index 6eaee6b..3ffad4e 100755
--- a/android/libc/arch-arm/syscalls/sysinfo.S
+++ b/android/libc/arch-arm/syscalls/sysinfo.S
@@ -1,6 +1,5 @@
/* autogenerated by gensyscalls.py */
#include <asm/unistd.h>
-#include <sys/glibc-syscalls.h>
.text
.type sysinfo, #function
@@ -16,5 +15,5 @@ sysinfo:
ldmfd sp!, {r4, r7}
movs r0, r0
bxpl lr
- b __set_syscall_errno
+ b __set_errno
.fnend
diff --git a/android/reboot.c b/android/reboot.c
index f8546de..0bc50c0 100644
--- a/android/reboot.c
+++ b/android/reboot.c
@@ -1,35 +1,34 @@
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
+#include <cutils/properties.h>
#include <cutils/android_reboot.h>
#include <unistd.h>
int reboot_main(int argc, char *argv[])
{
int ret;
- int nosync = 0;
- int poweroff = 0;
- int flags = 0;
+ size_t prop_len;
+ char property_val[PROPERTY_VALUE_MAX];
+ const char *cmd = "reboot";
+ char *optarg = "";
opterr = 0;
do {
int c;
- c = getopt(argc, argv, "np");
-
+ c = getopt(argc, argv, "p");
+
if (c == EOF) {
break;
}
-
+
switch (c) {
- case 'n':
- nosync = 1;
- break;
case 'p':
- poweroff = 1;
+ cmd = "shutdown";
break;
case '?':
- fprintf(stderr, "usage: %s [-n] [-p] [rebootcommand]\n", argv[0]);
+ fprintf(stderr, "usage: %s [-p] [rebootcommand]\n", argv[0]);
exit(EXIT_FAILURE);
}
} while (1);
@@ -39,20 +38,20 @@ int reboot_main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
- if(nosync)
- /* also set NO_REMOUNT_RO as remount ro includes an implicit sync */
- flags = ANDROID_RB_FLAG_NO_SYNC | ANDROID_RB_FLAG_NO_REMOUNT_RO;
+ if (argc > optind)
+ optarg = argv[optind];
+
+ prop_len = snprintf(property_val, sizeof(property_val), "%s,%s", cmd, optarg);
+ if (prop_len >= sizeof(property_val)) {
+ fprintf(stderr, "reboot command too long: %s\n", optarg);
+ exit(EXIT_FAILURE);
+ }
- if(poweroff)
- ret = android_reboot(ANDROID_RB_POWEROFF, flags, 0);
- else if(argc > optind)
- ret = android_reboot(ANDROID_RB_RESTART2, flags, argv[optind]);
- else
- ret = android_reboot(ANDROID_RB_RESTART, flags, 0);
+ ret = property_set(ANDROID_RB_PROPERTY, property_val);
if(ret < 0) {
perror("reboot");
exit(EXIT_FAILURE);
}
- fprintf(stderr, "reboot returned\n");
+ fprintf(stderr, "Done\n");
return 0;
}