X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Fpivot_root.c;h=28af00cc1530c723ec0e7fd15a5740182fdfb00f;hb=64bb95a361c9d82e2abed90e0402459c68fb14b2;hp=e0071014888f525870f8531e4218a496a098909a;hpb=67991cf824f8df27e74c92d754fb507681c69ce6;p=oweals%2Fbusybox.git diff --git a/util-linux/pivot_root.c b/util-linux/pivot_root.c index e00710148..28af00cc1 100644 --- a/util-linux/pivot_root.c +++ b/util-linux/pivot_root.c @@ -3,37 +3,25 @@ * pivot_root.c - Change root file system. Based on util-linux 2.10s * * busyboxed by Evin Robertson + * pivot_root syscall stubbed by Erik Andersen, so it will compile + * regardless of the kernel being used. + * + * Licensed under GPL version 2, see file LICENSE in this tarball for details. */ -#include "busybox.h" -#include -#include -#include -#include - -#ifndef __NR_pivot_root -#error Sorry, but this kernel does not support the pivot_root syscall -#endif - -static _syscall2(int,pivot_root,const char *,new_root,const char *,put_old) +#include "libbb.h" +extern int pivot_root(const char * new_root,const char * put_old); +int pivot_root_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int pivot_root_main(int argc, char **argv) { - if (argc != 3) - show_usage(); - - if (pivot_root(argv[1],argv[2]) < 0) - perror_msg_and_die("pivot_root"); + if (argc != 3) + bb_show_usage(); - return EXIT_SUCCESS; + if (pivot_root(argv[1], argv[2]) < 0) { + /* prints "pivot_root: " */ + bb_perror_nomsg_and_die(); + } + return EXIT_SUCCESS; } - - -/* -Local Variables: -c-file-style: "linux" -c-basic-offset: 4 -tab-width: 4 -End: -*/