OSDN Git Service

"make utils" now successfully makes utils for target
[uclinux-h8/uClibc.git] / utils / ldconfig.c
index a5d3ce6..0c53cab 100644 (file)
@@ -31,7 +31,6 @@
 #include <stdarg.h>
 #include <string.h>
 #include <ctype.h>
-#include <getopt.h>
 #include <dirent.h>
 #include <unistd.h>
 #include <link.h>
@@ -279,12 +278,12 @@ char *is_shlib(const char *dir, const char *name, int *type,
                                if (fread(&exec, sizeof exec, 1, file) < 1)
                                        warnx("can't read header from %s, skipping", buff);
                                else if (N_MAGIC(exec) != ZMAGIC
-                                        && N_MAGIC(exec) != QMAGIC
-                                        && N_MAGIC_SWAP(exec) != ZMAGIC
-                                        && N_MAGIC_SWAP(exec) != QMAGIC) {
+                                && N_MAGIC(exec) != QMAGIC
+                                && N_MAGIC_SWAP(exec) != ZMAGIC
+                                && N_MAGIC_SWAP(exec) != QMAGIC) {
                                        elf_hdr = (ElfW(Ehdr) *) & exec;
                                        if (elf_hdr->e_ident[0] != 0x7f ||
-                                           strncmp(elf_hdr->e_ident+1, "ELF", 3) != 0)
+                                           strncmp((char *)elf_hdr->e_ident + 1, "ELF", 3) != 0)
                                        {
                                                /* silently ignore linker scripts */
                                                if (strncmp((char *)&exec, "/* GNU ld", 9) != 0)
@@ -918,6 +917,7 @@ int main(int argc, char **argv)
                if (chroot(chroot_dir) < 0) {
                        if (chdir(chroot_dir) < 0)
                                err(EXIT_FATAL, "couldn't chroot to %s (%s)", chroot_dir, strerror(errno));
+                       chroot_dir = ".";
                } else {
                        if (chdir("/") < 0)
                                err(EXIT_FATAL, "couldn't chdir to / (%s)", strerror(errno));