[comp.os.minix] rebuilding libc.a

rmtodd@uokmax.UUCP (Richard Michael Todd) (07/22/87)

In article <364@louie.udel.EDU> ncoverby%NDSUVAX.BITNET@wiscvm.wisc.edu writes:
>From: Glen Overby <ncoverby%NDSUVAX.BITNET@wiscvm.wisc.edu>
>I have been attempting to recompile Minix with the V1.2 patches posted
>recently, but there are a few routines missing from the v1.1 libc.a. All
>the missing routines exist in source form, but when I compiled them and
>appended them to the archive (ar r), cc still reports some missing routines
>(which ARE in libc.a), so apparently my libc.a needs to be re-ordered.
>My question: has anybody rebuilt the Minix library from scratch ON MINIX,
>and how did you do it?
'ar r' is broke.  It somehow screws up the library ordering.  What I do is
have a subdirectory of src/lib called libobjs, cd to that directory, 
copy libc.a to that directory, unpack EVERYTHING out of it ("ar x libc.a"),
delete libc.a, move my altered versions of the *.s files into the libobjs
directory, and rebuild the archive from scratch with a shell script.  My shell
script consists of "ar av libc.a" commands with the library modules specified
on the command line in order.  An article I recently posted on how to 
fix the library so that all buffers get flushed on exit() contained the shell
script I use to rebuild the library.  Here it is in case you didn't see it the
first time:
--------------------------cut here for make.libc script ------------------
ar av libc.a getgrent.s getpwent.s crypt.s
ar av libc.a fgets.s fprintf.s fputs.s fread.s freopen.s fclose.s
ar av libc.a fopen.s fseek.s ftell.s fwrite.s gets.s scanf.s getc.s printdat.s
ar av libc.a fflush.s setbuf.s sprintf.s doprintf.s putc.s ungetc.s strcmp.s
ar av libc.a access.s chdir.s chmod.s chown.s chroot.s creat.s dup.s dup2.s
ar av libc.a exec.s exit.s fakecleanup.s fork.s isatty.s fstat.s getegid.s getenv.s
ar av libc.a geteuid.s getgid.s getpass.s close.s getuid.s ioctl.s kill.s
ar av libc.a link.s lseek.s malloc.s brk.s brk2.s brksize.s mknod.s mktemp.s
ar av libc.a getpid.s mount.s open.s perror.s pipe.s prints.s read.s setgid.s
ar av libc.a setuid.s sleep.s alarm.s pause.s signal.s catchsig.s stat.s
ar av libc.a stime.s strcat.s strcpy.s strlen.s strncat.s strncmp.s strncpy.s
ar av libc.a sync.s time.s times.s umask.s umount.s unlink.s utime.s wait.s 
ar av libc.a stderr.s write.s syslib.s call.s atoi.s message.s sendrec.s
ar av libc.a printk.s abort.s itoa.s stb.s abs.s atol.s ctype.s index.s bcopy.s
ar av libc.a getutil.s rand.s rindex.s adi.s and.s cii.s cms.s cmu4.s com.s
ar av libc.a csa2.s csb2.s cuu.s .dup.s dvi.s dvi4.s dvu.s dvu4.s exg.s fakfp.s
ar av libc.a gto.s iaar.s ilar.s inn.s ior.s isar.s lar2.s loi.s mli.s mli4.s
ar av libc.a ngi.s nop.s rck.s rmi.s rmi4.s rmu.s rmu4.s rol.s ror.s sar2.s
ar av libc.a sbi.s set.s sli.s sri.s sti.s xor.s error.s unknown.s trp.s
ar av libc.a setjmp.s
--------------------------------------------------------------------------
Richard Todd
USSnail:820 Annie Court,Norman OK 73069
UUCP: {allegra!cbosgd|ihnp4}!okstate!uokmax!rmtodd