new version from Chris Torek
[unix-history] / usr / src / old / ld / ld.c
index 2fd4ad0..ab714d0 100644 (file)
@@ -11,7 +11,7 @@ char copyright[] =
 #endif not lint
 
 #ifndef lint
 #endif not lint
 
 #ifndef lint
-static char sccsid[] = "@(#)ld.c       5.6 (Berkeley) %G%";
+static char sccsid[] = "@(#)ld.c       5.10 (Berkeley) %G%";
 #endif not lint
 
 /*
 #endif not lint
 
 /*
@@ -403,7 +403,7 @@ char **argv;
                case 'u':
                case 'e':
                        if (++c >= argc)
                case 'u':
                case 'e':
                        if (++c >= argc)
-                               error(1, "-u or -c: arg missing");
+                               error(1, " -u or -e: arg missing");
                        enter(slookup(*p++));
                        if (ap[i]=='e')
                                entrypt = lastsym;
                        enter(slookup(*p++));
                        if (ap[i]=='e')
                                entrypt = lastsym;
@@ -1396,7 +1396,7 @@ putl(cp, v)
  * each relocation datum address by our base position in the new segment.
  */
 load2td(creloc, position, b1, b2)
  * each relocation datum address by our base position in the new segment.
  */
 load2td(creloc, position, b1, b2)
-       long creloc, offset;
+       long creloc, position;
        struct biobuf *b1, *b2;
 {
        register struct nlist *sp;
        struct biobuf *b1, *b2;
 {
        register struct nlist *sp;
@@ -1562,7 +1562,7 @@ char *s;
        if (sflag || xflag)
                return;
        cursym.n_un.n_name = s;
        if (sflag || xflag)
                return;
        cursym.n_un.n_name = s;
-       cursym.n_type = N_TEXT;
+       cursym.n_type = N_EXT | N_FN;
        cursym.n_value = torigin;
        symwrite(&cursym, sout);
 }
        cursym.n_value = torigin;
        symwrite(&cursym, sout);
 }
@@ -1749,7 +1749,7 @@ char *acp;
        if (text.size <= 0)
                return (1);
        getarhdr();
        if (text.size <= 0)
                return (1);
        getarhdr();
-       if (strncmp(archdr.ar_name, "__.SYMDEF", sizeof(archdr.ar_name)) != 0)
+       if (strncmp(archdr.ar_name, RANLIBMAG, sizeof(archdr.ar_name)) != 0)
                return (1);
        return (stb.st_mtime > atol(archdr.ar_date) ? 3 : 2);
 }
                return (1);
        return (stb.st_mtime > atol(archdr.ar_date) ? 3 : 2);
 }