diff options
| author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2018-08-02 07:43:28 +0000 |
|---|---|---|
| committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2018-08-02 07:43:28 +0000 |
| commit | 711a4538f87f46e595287e9c292e0ad70a1d2129 (patch) | |
| tree | 155fc40bf531a0844c755e86c738763650361c49 /libexec/rtld-elf/rtld.c | |
| parent | 17e2c2661b2dce496ed35c3a1a3f616618b9ed07 (diff) | |
Notes
Diffstat (limited to 'libexec/rtld-elf/rtld.c')
| -rw-r--r-- | libexec/rtld-elf/rtld.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 75bb6ca8d53d..43240568b3e8 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -408,8 +408,8 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) phdr = (const Elf_Phdr *)aux_info[AT_PHDR]->a_un.a_ptr; if (phdr == obj_rtld.phdr) { if (!trust) { - rtld_printf("Tainted process refusing to run binary %s\n", - argv0); + _rtld_error("Tainted process refusing to run binary %s", + argv0); rtld_die(); } dbg("opening main program in direct exec mode"); @@ -420,7 +420,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) if (!explicit_fd) fd = open_binary_fd(argv0, search_in_path); if (fstat(fd, &st) == -1) { - _rtld_error("failed to fstat FD %d (%s): %s", fd, + _rtld_error("Failed to fstat FD %d (%s): %s", fd, explicit_fd ? "user-provided descriptor" : argv0, rtld_strerror(errno)); rtld_die(); @@ -447,8 +447,8 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) dir_enable = true; } if (!dir_enable) { - rtld_printf("No execute permission for binary %s\n", - argv0); + _rtld_error("No execute permission for binary %s", + argv0); rtld_die(); } @@ -477,7 +477,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) break; } } else { - rtld_printf("no binary\n"); + _rtld_error("No binary"); rtld_die(); } } @@ -962,6 +962,7 @@ rtld_die(void) if (msg == NULL) msg = "Fatal error"; + rtld_fdputstr(STDERR_FILENO, _BASENAME_RTLD ": "); rtld_fdputstr(STDERR_FILENO, msg); rtld_fdputchar(STDERR_FILENO, '\n'); _exit(1); @@ -2441,7 +2442,7 @@ do_load_object(int fd, const char *name, char *path, struct stat *sbp, return NULL; } if (fs.f_flags & MNT_NOEXEC) { - _rtld_error("Cannot execute objects on %s\n", fs.f_mntonname); + _rtld_error("Cannot execute objects on %s", fs.f_mntonname); return NULL; } } @@ -5317,12 +5318,12 @@ open_binary_fd(const char *argv0, bool search_in_path) if (search_in_path && strchr(argv0, '/') == NULL) { pathenv = getenv("PATH"); if (pathenv == NULL) { - rtld_printf("-p and no PATH environment variable\n"); + _rtld_error("-p and no PATH environment variable"); rtld_die(); } pathenv = strdup(pathenv); if (pathenv == NULL) { - rtld_printf("Cannot allocate memory\n"); + _rtld_error("Cannot allocate memory"); rtld_die(); } fd = -1; @@ -5348,8 +5349,7 @@ open_binary_fd(const char *argv0, bool search_in_path) } if (fd == -1) { - rtld_printf("Opening %s: %s\n", argv0, - rtld_strerror(errno)); + _rtld_error("Cannot open %s: %s", argv0, rtld_strerror(errno)); rtld_die(); } return (fd); @@ -5393,7 +5393,7 @@ parse_args(char* argv[], int argc, bool *use_pathp, int *fdp) opt = arg[j]; if (opt == 'h') { print_usage(argv[0]); - rtld_die(); + _exit(0); } else if (opt == 'f') { /* * -f XX can be used to specify a descriptor for the @@ -5403,13 +5403,13 @@ parse_args(char* argv[], int argc, bool *use_pathp, int *fdp) */ if (j != arglen - 1) { /* -f must be the last option in, e.g., -abcf */ - _rtld_error("invalid options: %s", arg); + _rtld_error("Invalid options: %s", arg); rtld_die(); } i++; fd = parse_integer(argv[i]); if (fd == -1) { - _rtld_error("invalid file descriptor: '%s'", + _rtld_error("Invalid file descriptor: '%s'", argv[i]); rtld_die(); } @@ -5418,7 +5418,7 @@ parse_args(char* argv[], int argc, bool *use_pathp, int *fdp) } else if (opt == 'p') { *use_pathp = true; } else { - rtld_printf("invalid argument: '%s'\n", arg); + _rtld_error("Invalid argument: '%s'", arg); print_usage(argv[0]); rtld_die(); } |
