Can now link (linker output is in Disk BASIC format for now)
authorNick Downing <nick@ndcode.org>
Thu, 11 Aug 2022 14:13:22 +0000 (00:13 +1000)
committerNick Downing <nick@ndcode.org>
Thu, 11 Aug 2022 14:38:08 +0000 (00:38 +1000)
bin/aslink
usr/src/cmd/c.sh
usr/src/cmd/cc.c
usr/src/cmd/dump.c
usr/src/cmd/n.sh
usr/src/libc/csu/fmcrt0.s
usr/src/libc/csu/mcrt0.s
usr/src/libc/n.sh

index 2b33be9..e7305cb 100755 (executable)
Binary files a/bin/aslink and b/bin/aslink differ
index 4927c96..d26c224 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-git checkout ../../../bin/as ../../../bin/cc ../../../lib/c[012] c/cvopt
+git checkout ../../../bin/as ../../../bin/cc ../../../bin/ld ../../../lib/c[012] ../../../lib/*crt0.o ../../../lib/libc.a c/cvopt
 if ! test -d ../../../tmp
 then
   ln -s /tmp ../../../tmp
@@ -9,5 +9,8 @@ export PATH=`pwd`/../../../bin:`pwd`
 cc -n -s -O cc.c -o cc
 rm -f c/cvopt
 (echo ==== c =====; cd c; make cp)
-cp ../../../bin/aspdp11 ../../../bin/as
+rm ../../../bin/as
+/bin/ln -s aspdp11 ../../../bin/as
+rm ../../../bin/ld
+/bin/ln -s aslink ../../../bin/ld
 mv cc ../../../bin
index 38defab..73da020 100644 (file)
@@ -306,7 +306,11 @@ nocom:
        if (cflag==0 && nl!=0) {
                i = 0;
                av[0] = "ld";
+#if 1 /* Nick */
+               av[1] = "-L/lib";
+#else
                av[1] = "-X";
+#endif
                av[2] = pref;
                j = 3;
                if (noflflag) {
index 986d424..607b13a 100644 (file)
@@ -39,7 +39,7 @@ int   density = 160;
 char   *ctime();
 char   *prdate();
 long   atol();
-int    fi;
+/*int  fi;*/
 long   tsize;
 long   esize;
 long   asize;
index 3642fe3..8a8b152 100755 (executable)
@@ -5,5 +5,5 @@ then
 fi
 export APOUT_ROOT=`pwd`/../../..
 export PATH=`pwd`/../../../bin:`pwd`
-#sh cmake dump.c
-./makeall
+sh cmake dump.c
+#./makeall
index 97a2f7e..f67f6df 100644 (file)
@@ -44,7 +44,7 @@ start:
        ash     #-3,r1
        bic     #~0o17777,r1
        mov     #cbufs,-(sp)
-       add     #3*[cbufs+1],r1
+       add     #3*(cbufs+1),r1
        mov     r1,-(sp)
        asl     r1
        mov     r1,-(sp)
index f1b5eb5..e0e2981 100644 (file)
@@ -39,7 +39,7 @@ start:
        ash     #-3,r1
        bic     #~0o17777,r1
        mov     #cbufs,-(sp)
-       add     #3*[cbufs+1],r1
+       add     #3*(cbufs+1),r1
        mov     r1,-(sp)
        asl     r1
        mov     r1,-(sp)
index 9b93ed7..1656eb9 100755 (executable)
@@ -5,8 +5,8 @@ then
 fi
 export APOUT_ROOT=`pwd`/../../..
 export PATH=`pwd`/../../../bin:`pwd`
-#./compall
 
+echo ./compall
 echo "=== getgrgid.c ==="; cc -c -O stdio/getgrgid.c
 echo "=== getgrnam.c ==="; cc -c -O stdio/getgrnam.c
 echo "=== getgrent.c ==="; cc -c -O stdio/getgrent.c
@@ -161,4 +161,171 @@ echo "=== lrem.s ==="; cc -c crt/lrem.s
 echo "=== mcount.s ==="; cc -c crt/mcount.s
 echo "=== csv.s ==="; cc -c crt/csv.s
 
-./mklib
+echo ./mklib
+for i in \
+getgrgid.o \
+getgrnam.o \
+getgrent.o \
+getpass.o \
+getpwnam.o \
+getpwuid.o \
+getpwent.o \
+timezone.o \
+fgetc.o \
+fputc.o \
+getchar.o \
+putchar.o \
+popen.o \
+freopen.o \
+fgets.o \
+fputs.o \
+getpw.o \
+fseek.o \
+ftell.o \
+rew.o \
+rdwr.o \
+system.o \
+fopen.o \
+fdopen.o \
+scanf.o \
+doscan.o \
+fprintf.o \
+gets.o \
+getw.o \
+printf.o \
+puts.o \
+putw.o \
+sprintf.o \
+ungetc.o \
+filbuf.o \
+setbuf.o \
+fltpr.o \
+doprnt.o \
+gcvt.o \
+ffltpr.o \
+strout.o \
+flsbuf.o \
+endopen.o \
+findiop.o \
+clrerr.o \
+data.o \
+cuexit.o \
+execvp.o \
+getenv.o \
+getlogin.o \
+perror.o \
+sleep.o \
+ttyslot.o \
+ttyname.o \
+abort.o \
+abs.o \
+atof.o \
+atoi.o \
+atol.o \
+crypt.o \
+ctime.o \
+calloc.o \
+malloc.o \
+ecvt.o \
+errlst.o \
+fakcu.o \
+fakfp.o \
+frexp11.o \
+isatty.o \
+l3.o \
+ldexp11.o \
+ldfps.o \
+mktemp.o \
+modf11.o \
+mon.o \
+mpx.o \
+nlist.o \
+qsort.o \
+rand.o \
+setjmp.o \
+stty.o \
+swab.o \
+tell.o \
+ctype_.o \
+index.o \
+rindex.o \
+strcat.o \
+strncat.o \
+strcmp.o \
+strncmp.o \
+strcpy.o \
+strncpy.o \
+strlen.o \
+access.o \
+acct.o \
+alarm.o \
+chdir.o \
+chroot.o \
+chmod.o \
+chown.o \
+close.o \
+creat.o \
+dup.o \
+execl.o \
+execle.o \
+execv.o \
+execve.o \
+exit.o \
+fork.o \
+fstat.o \
+getgid.o \
+getpid.o \
+getuid.o \
+ioctl.o \
+kill.o \
+link.o \
+lock.o \
+lseek.o \
+mknod.o \
+mount.o \
+mpxcall.o \
+nice.o \
+open.o \
+pause.o \
+phys.o \
+pipe.o \
+profil.o \
+ptrace.o \
+read.o \
+sbrk.o \
+setgid.o \
+setuid.o \
+signal.o \
+stat.o \
+stime.o \
+sync.o \
+time.o \
+times.o \
+umask.o \
+umount.o \
+unlink.o \
+utime.o \
+wait.o \
+write.o \
+aldiv.o \
+almul.o \
+alrem.o \
+cerror.o \
+ldiv.o \
+lmul.o \
+lrem.o \
+mcount.o \
+csv.o
+do
+  echo $i
+  cat $i
+  echo
+done >libc.a
+
+echo csu
+echo "=== crt0.s ==="; cc -c csu/crt0.s
+echo "=== fcrt0.s ==="; cc -c csu/fcrt0.s
+echo "=== fmcrt0.s ==="; cc -c csu/fmcrt0.s
+echo "=== mcrt0.s ==="; cc -c csu/mcrt0.s
+
+cp crt0.o fcrt0.o fmcrt0.o mcrt0.o libc.a ../../../lib