]> Cypherpunks repositories - gostls13.git/commitdiff
change 6l library directory flag to -L,
authorRuss Cox <rsc@golang.org>
Thu, 30 Apr 2009 20:32:39 +0000 (13:32 -0700)
committerRuss Cox <rsc@golang.org>
Thu, 30 Apr 2009 20:32:39 +0000 (13:32 -0700)
to match traditional c linkers.

R=r
DELTA=42  (8 added, 12 deleted, 22 changed)
OCL=28101
CL=28115

src/cmd/6l/l.h
src/cmd/6l/obj.c
src/cmd/6l/span.c
src/cmd/gotest/gotest

index 84791564638a8102bea1360c8bfc320c5e821986..3e6892c47e1cddf298497f906f578ce2da9785b8 100644 (file)
@@ -288,7 +288,7 @@ EXTERN      vlong   INITDAT;
 EXTERN int32   INITRND;
 EXTERN vlong   INITTEXT;
 EXTERN char*   INITENTRY;              /* entry point */
-EXTERN char*   PKGDIR;
+EXTERN char*   LIBDIR;
 EXTERN Biobuf  bso;
 EXTERN int32   bsssize;
 EXTERN int     cbc;
index b65c7f313b489faa962509f983015ca91df1bc8f..31fb978e165eab6409bc39533b355ece850d7fbd 100644 (file)
@@ -70,6 +70,13 @@ isobjfile(char *f)
        return v;
 }
 
+void
+usage(void)
+{
+       fprint(2, "usage: 6l [-options] [-E entry] [-H head] [-L dir] [-T text] [-R rnd] [-o out] files...\n");
+       exits("usage");
+}
+
 void
 main(int argc, char *argv[])
 {
@@ -87,7 +94,7 @@ main(int argc, char *argv[])
        INITDAT = -1;
        INITRND = -1;
        INITENTRY = 0;
-       PKGDIR = nil;
+       LIBDIR = nil;
 
        ARGBEGIN {
        default:
@@ -96,37 +103,26 @@ main(int argc, char *argv[])
                        debug[c]++;
                break;
        case 'o': /* output to (next arg) */
-               outfile = ARGF();
+               outfile = EARGF(usage());
                break;
        case 'E':
-               a = ARGF();
-               if(a)
-                       INITENTRY = a;
+               INITENTRY = EARGF(usage());
                break;
        case 'H':
-               a = ARGF();
-               if(a)
-                       HEADTYPE = atolwhex(a);
+               HEADTYPE = atolwhex(EARGF(usage()));
+               break;
+       case 'L':
+               LIBDIR = EARGF(usage());
                break;
        case 'T':
-               a = ARGF();
-               if(a)
-                       INITTEXT = atolwhex(a);
+               INITTEXT = atolwhex(EARGF(usage()));
                break;
        case 'D':
-               a = ARGF();
-               if(a)
-                       INITDAT = atolwhex(a);
+               INITDAT = atolwhex(EARGF(usage()));
                break;
        case 'R':
-               a = ARGF();
-               if(a)
-                       INITRND = atolwhex(a);
+               INITRND = atolwhex(EARGF(usage()));
                break;
-       case 'P':
-               a = ARGF();
-               if(a)
-                       PKGDIR = a;
                break;
        case 'x':       /* produce export table */
                doexp = 1;
@@ -690,10 +686,10 @@ addlib(char *src, char *obj)
        }
 
        if(search) {
-               // try dot, -P "pkgdir", and then goroot.
-               snprint(pname, sizeof pname, ".%s", name);
-               if(access(pname, AEXIST) < 0 && PKGDIR != nil)
-                       snprint(pname, sizeof pname, "%s/%s", PKGDIR, name);
+               // try dot, -L "libdir", and then goroot.
+               snprint(pname, sizeof pname, "./%s", name);
+               if(access(pname, AEXIST) < 0 && LIBDIR != nil)
+                       snprint(pname, sizeof pname, "%s/%s", LIBDIR, name);
                if(access(pname, AEXIST) < 0)
                        snprint(pname, sizeof pname, "%s/pkg/%s", goroot, name);
                strcpy(name, pname);
index fea4979e42236bc6e44d82f7d02016f96db1d02a..97d4910e2539fbb10925476338417ad06e51a83f 100644 (file)
@@ -282,12 +282,12 @@ asmlc(void)
                if(p->line == oldlc || p->as == ATEXT || p->as == ANOP) {
                        if(p->as == ATEXT)
                                curtext = p;
-                       if(debug['L'])
+                       if(debug['O'])
                                Bprint(&bso, "%6llux %P\n",
                                        p->pc, p);
                        continue;
                }
-               if(debug['L'])
+               if(debug['O'])
                        Bprint(&bso, "\t\t%6ld", lcsize);
                v = (p->pc - oldpc) / MINLC;
                while(v) {
@@ -295,7 +295,7 @@ asmlc(void)
                        if(v < 127)
                                s = v;
                        cput(s+128);    /* 129-255 +pc */
-                       if(debug['L'])
+                       if(debug['O'])
                                Bprint(&bso, " pc+%ld*%d(%ld)", s, MINLC, s+128);
                        v -= s;
                        lcsize++;
@@ -309,7 +309,7 @@ asmlc(void)
                        cput(s>>16);
                        cput(s>>8);
                        cput(s);
-                       if(debug['L']) {
+                       if(debug['O']) {
                                if(s > 0)
                                        Bprint(&bso, " lc+%ld(%d,%ld)\n",
                                                s, 0, s);
@@ -324,14 +324,14 @@ asmlc(void)
                }
                if(s > 0) {
                        cput(0+s);      /* 1-64 +lc */
-                       if(debug['L']) {
+                       if(debug['O']) {
                                Bprint(&bso, " lc+%ld(%ld)\n", s, 0+s);
                                Bprint(&bso, "%6llux %P\n",
                                        p->pc, p);
                        }
                } else {
                        cput(64-s);     /* 65-128 -lc */
-                       if(debug['L']) {
+                       if(debug['O']) {
                                Bprint(&bso, " lc%ld(%ld)\n", s, 64-s);
                                Bprint(&bso, "%6llux %P\n",
                                        p->pc, p);
@@ -344,7 +344,7 @@ asmlc(void)
                cput(s);
                lcsize++;
        }
-       if(debug['v'] || debug['L'])
+       if(debug['v'] || debug['O'])
                Bprint(&bso, "lcsize = %ld\n", lcsize);
        Bflush(&bso);
 }
index 12db03bf30533070efe04eca11fb6b4047aa3b96..3f2b04abfd572ba47725ec419237bffe1ddd84ae 100755 (executable)
@@ -13,7 +13,7 @@ GC=${GC:-${O}g}
 GL=${GL:-${O}l}
 export GC GL
 GC="$GC -I _obj"
-GL="$GL -P _obj"
+GL="$GL -L _obj"
 
 gofiles=""
 loop=true