alex@umbc5.umbc.edu (Alex S. Crain) (07/31/90)
As Jeffery Buhrt pointed out to me, (thanX jeff!), I miscounted soem addresses in the shlib.ifile that I posted with my replacement shared library package a while back. Here is a replacement file. As A side note, Jeff has been building shared librares with much success, so the stuff really does work (I never got the chance to test it much). Enjoy ... ################################# :alex. #Disclamer: Anyone who agrees # Systems Programmer #with me deserves what they get.# University of Maryland Baltimore County ################################# alex@umbc3.umbc.edu #!/bin/sh # shar: Shell Archiver (v1.22) # # Run the following text with /bin/sh to create: # shlib.ifile # sed 's/^X//' << 'SHAR_EOF' > shlib.ifile && XMEMORY { X user_mem : origin = 0x80000 , length = 0x37ff000 X} X XSECTIONS { X .text 0x80000 BLOCK(1024) : {} X GROUP ALIGN(65536) BLOCK(1024) : { X .data : {} X .bss : {} X .lib : {} X } X} X Xtimezone = 0x00300000; Xtzname = 0x00300004; Xpatblack = 0x00300014; Xpatwhite = 0x00300034; Xpatgray = 0x00300054; Xpatltgray = 0x00300074; X_iob = 0x0030009c; X_bufendtab = 0x003001b8; X_ctype = 0x0030020c; Xsys_errlist = 0x0030030e; X_iob2 = 0x00300bc0; X_buf2endtab = 0x00300f0c; X_dbase = 0x00301000; Xerrno = _dbase + 0x0; Xenviron = _dbase + 0x4; XPC = _dbase + 0x8; XBC = _dbase + 0xc; XUP = _dbase + 0x10; Xospeed = _dbase + 0x14; XLINES = _dbase + 0x18; XCOLS = _dbase + 0x1c; Xwncur = _dbase + 0x20; Xoptind = _dbase + 0x22; Xoptarg = _dbase + 0x26; Xopterr = _dbase + 0x2a; Xoptopt = _dbase + 0x2e; Xsys_nerr = _dbase + 0x32; XFPA_flag = _dbase + 0x36; XFPA_s = _dbase + 0x3a; XFPA_d = _dbase + 0x3e; X_sibuf = 0x00306000; X_sobuf = 0x00306408; X_tbase = 0x00310000; Xshlbat = _tbase + 0x0; Xshlbatid = _tbase + 0x6; Xaccess = _tbase + 0xc; Xalarm = _tbase + 0x12; Xbrk = _tbase + 0x18; Xibrk = _tbase + 0x1e; Xsbrk = _tbase + 0x24; Xchdir = _tbase + 0x2a; Xchmod = _tbase + 0x30; Xchown = _tbase + 0x36; Xchroot = _tbase + 0x3c; Xclose = _tbase + 0x42; Xcreat = _tbase + 0x48; Xdup = _tbase + 0x4e; Xexecl = _tbase + 0x54; Xexecv = _tbase + 0x5a; Xexecle = _tbase + 0x60; Xexecve = _tbase + 0x66; Xexeclp = _tbase + 0x6c; Xexecvp = _tbase + 0x72; Xexit = _tbase + 0x78; X_exit = _tbase + 0x7e; Xfcntl = _tbase + 0x84; Xfork = _tbase + 0x8a; Xgetpid = _tbase + 0x90; Xgetpgrp = _tbase + 0x96; Xgetppid = _tbase + 0x9c; Xgetuid = _tbase + 0xa2; Xgeteuid = _tbase + 0xa8; Xgetgid = _tbase + 0xae; Xgetegid = _tbase + 0xb4; Xgtty = _tbase + 0xba; Xioctl = _tbase + 0xc0; Xkill = _tbase + 0xc6; Xlink = _tbase + 0xcc; Xlocking = _tbase + 0xd2; Xlseek = _tbase + 0xd8; Xmknod = _tbase + 0xde; Xmount = _tbase + 0xe4; Xmsgctl = _tbase + 0xea; Xmsgget = _tbase + 0xf0; Xmsgsnd = _tbase + 0xf6; Xmsgrcv = _tbase + 0xfc; Xnice = _tbase + 0x102; Xopen = _tbase + 0x108; Xopeni = _tbase + 0x10e; Xpause = _tbase + 0x114; Xpipe = _tbase + 0x11a; Xprofil = _tbase + 0x120; Xptrace = _tbase + 0x126; Xread = _tbase + 0x12c; Xsemctl = _tbase + 0x132; Xsemget = _tbase + 0x138; Xsemop = _tbase + 0x13e; Xsetpgrp = _tbase + 0x144; Xsetuid = _tbase + 0x14a; Xsetgid = _tbase + 0x150; Xshmctl = _tbase + 0x156; Xshmget = _tbase + 0x15c; Xshmat = _tbase + 0x162; Xshmdt = _tbase + 0x168; X/* signal = _tbase + 0x16e; */ Xstat = _tbase + 0x174; Xstty = _tbase + 0x17a; Xfstat = _tbase + 0x180; Xstime = _tbase + 0x186; Xswrite = _tbase + 0x18c; Xsync = _tbase + 0x192; Xsyslocal = _tbase + 0x198; Xtime = _tbase + 0x19e; Xtimes = _tbase + 0x1a4; Xulimit = _tbase + 0x1aa; Xumask = _tbase + 0x1b0; Xumount = _tbase + 0x1b6; Xuname = _tbase + 0x1bc; Xunlink = _tbase + 0x1c2; Xustat = _tbase + 0x1c8; Xutime = _tbase + 0x1ce; Xwait = _tbase + 0x1d4; Xwrite = _tbase + 0x1da; Xabort = _tbase + 0x1e0; Xabs = _tbase + 0x1e6; Xatof = _tbase + 0x1ec; Xclock = _tbase + 0x1f2; Xcrypt = _tbase + 0x1f8; Xsetkey = _tbase + 0x1fe; Xencrypt = _tbase + 0x204; Xctermid = _tbase + 0x20a; Xctime = _tbase + 0x210; Xlocaltime = _tbase + 0x216; Xgmtime = _tbase + 0x21c; Xasctime = _tbase + 0x222; Xtzset = _tbase + 0x228; Xcuserid = _tbase + 0x22e; Xecvt = _tbase + 0x234; Xfcvt = _tbase + 0x23a; Xgcvt = _tbase + 0x240; Xfclose = _tbase + 0x246; Xfflush = _tbase + 0x24c; Xfopen = _tbase + 0x252; Xfreopen = _tbase + 0x258; Xfdopen = _tbase + 0x25e; Xfread = _tbase + 0x264; Xfwrite = _tbase + 0x26a; Xfrexp = _tbase + 0x270; Xldexp = _tbase + 0x276; Xmodf = _tbase + 0x27c; Xfseek = _tbase + 0x282; Xrewind = _tbase + 0x288; Xftell = _tbase + 0x28e; Xftw = _tbase + 0x294; Xfgetc = _tbase + 0x29a; Xgetw = _tbase + 0x2a0; Xgetcwd = _tbase + 0x2a6; Xgetenv = _tbase + 0x2ac; Xgetgrent = _tbase + 0x2b2; Xgetgrgid = _tbase + 0x2b8; Xgetgrnam = _tbase + 0x2be; Xsetgrent = _tbase + 0x2c4; Xendgrent = _tbase + 0x2ca; Xgetlogin = _tbase + 0x2d0; Xgetopt = _tbase + 0x2d6; Xgetpass = _tbase + 0x2dc; Xgetpw = _tbase + 0x2e2; Xgetpwent = _tbase + 0x2e8; Xgetpwuid = _tbase + 0x2ee; Xgetpwnam = _tbase + 0x2f4; Xsetpwent = _tbase + 0x2fa; Xendpwent = _tbase + 0x300; Xgets = _tbase + 0x306; Xgetchar = _tbase + 0x30c; Xfgets = _tbase + 0x312; Xgetutent = _tbase + 0x318; Xgetutid = _tbase + 0x31e; Xgetutline = _tbase + 0x324; Xpututline = _tbase + 0x32a; Xsetutent = _tbase + 0x330; Xendutent = _tbase + 0x336; Xutmpname = _tbase + 0x33c; Xmalloc = _tbase + 0x342; Xfree = _tbase + 0x348; Xrealloc = _tbase + 0x34e; Xcalloc = _tbase + 0x354; Xcfree = _tbase + 0x35a; Xmemccpy = _tbase + 0x360; Xmemchr = _tbase + 0x366; Xmemcmp = _tbase + 0x36c; Xmemcpy = _tbase + 0x372; Xmemset = _tbase + 0x378; Xmktemp = _tbase + 0x37e; Xmonitor = _tbase + 0x384; Xperror = _tbase + 0x38a; Xpopen = _tbase + 0x390; Xpclose = _tbase + 0x396; Xprintf = _tbase + 0x39c; Xfprintf = _tbase + 0x3a2; Xsprintf = _tbase + 0x3a8; Xfputc = _tbase + 0x3ae; Xputw = _tbase + 0x3b4; Xputpwent = _tbase + 0x3ba; Xputs = _tbase + 0x3c0; Xputchar = _tbase + 0x3c6; Xfputs = _tbase + 0x3cc; Xscanf = _tbase + 0x3d2; Xfscanf = _tbase + 0x3d8; Xsscanf = _tbase + 0x3de; Xsetbuf = _tbase + 0x3e4; Xsleep = _tbase + 0x3ea; Xssignal = _tbase + 0x3f0; Xgsignal = _tbase + 0x3f6; Xstrcat = _tbase + 0x3fc; Xstrncat = _tbase + 0x402; Xstrcmp = _tbase + 0x408; Xstrncmp = _tbase + 0x40e; Xstrcpy = _tbase + 0x414; Xstrncpy = _tbase + 0x41a; Xstrlen = _tbase + 0x420; Xstrchr = _tbase + 0x426; Xstrrchr = _tbase + 0x42c; Xstrpbrk = _tbase + 0x432; Xstrspn = _tbase + 0x438; Xstrcspn = _tbase + 0x43e; Xstrtok = _tbase + 0x444; Xstrtol = _tbase + 0x44a; Xatol = _tbase + 0x450; Xatoi = _tbase + 0x456; Xswab = _tbase + 0x45c; Xsystem = _tbase + 0x462; Xtmpfile = _tbase + 0x468; Xtmpnam = _tbase + 0x46e; Xtempnam = _tbase + 0x474; Xttyname = _tbase + 0x47a; Xisatty = _tbase + 0x480; Xttyslot = _tbase + 0x486; Xungetc = _tbase + 0x48c; X_filbuf = _tbase + 0x492; X_flsbuf = _tbase + 0x498; Xlmul__ = _tbase + 0x49e; Xlmul = _tbase + 0x4a4; Xldiv__ = _tbase + 0x4aa; Xldiv = _tbase + 0x4b0; Xlrem__ = _tbase + 0x4b6; Xlrem = _tbase + 0x4bc; Xaldiv = _tbase + 0x4c2; Xalmul = _tbase + 0x4c8; Xalrem = _tbase + 0x4ce; Xulmul = _tbase + 0x4d4; Xuldiv__ = _tbase + 0x4da; Xuldiv = _tbase + 0x4e0; Xulrem__ = _tbase + 0x4e6; Xulrem = _tbase + 0x4ec; Xqsort = _tbase + 0x4f2; Xl3tol = _tbase + 0x4f8; Xltol3 = _tbase + 0x4fe; Xtgetflag = _tbase + 0x504; Xtgetent = _tbase + 0x50a; Xtgetstr = _tbase + 0x510; Xtgetnum = _tbase + 0x516; Xtgoto = _tbase + 0x51c; Xtputs = _tbase + 0x522; Xform = _tbase + 0x528; Xmenu = _tbase + 0x52e; Xmessage = _tbase + 0x534; Xsetattr = _tbase + 0x53a; Xpb_open = _tbase + 0x540; Xadf_gtxcd = _tbase + 0x546; Xadf_gtwrd = _tbase + 0x54c; Xpb_gets = _tbase + 0x552; Xpb_check = _tbase + 0x558; Xpb_weof = _tbase + 0x55e; Xpb_seek = _tbase + 0x564; Xpb_puts = _tbase + 0x56a; Xpb_name = _tbase + 0x570; Xpb_empty = _tbase + 0x576; Xpb_gbuf = _tbase + 0x57c; Xadf_gttok = _tbase + 0x582; Xwrefresh = _tbase + 0x588; Xtrack = _tbase + 0x58e; Xwcreate = _tbase + 0x594; Xinitscr = _tbase + 0x59a; Xcbreak = _tbase + 0x5a0; Xattroff = _tbase + 0x5a6; Xnl = _tbase + 0x5ac; Xattron = _tbase + 0x5b2; Xflushinp = _tbase + 0x5b8; Xnoecho = _tbase + 0x5be; Xinch = _tbase + 0x5c4; Xgetch = _tbase + 0x5ca; Xsavetty = _tbase + 0x5d0; Xresetty = _tbase + 0x5d6; Xecho = _tbase + 0x5dc; Xnocbreak = _tbase + 0x5e2; Xnonl = _tbase + 0x5e8; Xwdelete = _tbase + 0x5ee; Xwprexec = _tbase + 0x5f4; Xwpostwait = _tbase + 0x5fa; Xwgetc = _tbase + 0x600; Xkcodemap = _tbase + 0x606; Xkeypad = _tbase + 0x60c; Xwsigintr = _tbase + 0x612; Xwind = _tbase + 0x618; Xwsigcatch = _tbase + 0x61e; Xwinit = _tbase + 0x624; Xwsetbuf = _tbase + 0x62a; Xiswind = _tbase + 0x630; Xwexit = _tbase + 0x636; Xendwin = _tbase + 0x63c; Xwgetpos = _tbase + 0x642; Xwgoto = _tbase + 0x648; Xwinstr = _tbase + 0x64e; Xwreadmouse = _tbase + 0x654; Xwsetmouse = _tbase + 0x65a; Xwgetmouse = _tbase + 0x660; Xwnl = _tbase + 0x666; Xwndelay = _tbase + 0x66c; Xwprompt = _tbase + 0x672; Xwguser = _tbase + 0x678; Xwcmd = _tbase + 0x67e; Xwslk = _tbase + 0x684; Xwlabel = _tbase + 0x68a; Xwuser = _tbase + 0x690; Xwprintf = _tbase + 0x696; Xprintw = _tbase + 0x69c; Xwputc = _tbase + 0x6a2; Xwputs = _tbase + 0x6a8; Xwrastop = _tbase + 0x6ae; Xwselect = _tbase + 0x6b4; Xwgetsel = _tbase + 0x6ba; Xwsetstat = _tbase + 0x6c0; Xwgetstat = _tbase + 0x6c6; Xsetty = _tbase + 0x6cc; Xfixterm = _tbase + 0x6d2; Xphysclr = _tbase + 0x6d8; Xresetterm = _tbase + 0x6de; Xsetterm = _tbase + 0x6e4; Xgetterm = _tbase + 0x6ea; Xbaudrate = _tbase + 0x6f0; Xparseline = _tbase + 0x6f6; Xslkcol = _tbase + 0x6fc; Xsetjmp = _tbase + 0x702; Xlongjmp = _tbase + 0x708; Xafmulf = _tbase + 0x70e; Xafdivf = _tbase + 0x714; Xafaddf = _tbase + 0x71a; X_cvfd = _tbase + 0x720; X_cvif = _tbase + 0x726; Xfltused = _tbase + 0x72c; Xnlist = _tbase + 0x732; Xfmul = _tbase + 0x738; Xfdiv = _tbase + 0x73e; Xfadd = _tbase + 0x744; Xfsub = _tbase + 0x74a; X_cvdf = _tbase + 0x750; X_cvdi = _tbase + 0x756; X_cvid = _tbase + 0x75c; X_cvfi = _tbase + 0x762; Xafadd = _tbase + 0x768; Xafsub = _tbase + 0x76e; Xafsubf = _tbase + 0x774; Xafmul = _tbase + 0x77a; Xexhelp = _tbase + 0x780; Xtolower = _tbase + 0x786; Xwicon = _tbase + 0x78c; Xwicoff = _tbase + 0x792; Xtoupper = _tbase + 0x798; Xl64a = _tbase + 0x79e; Xa64l = _tbase + 0x7a4; X_bufsync = _tbase + 0x7aa; Xsetuname = _tbase + 0x7b0; Xauldiv = _tbase + 0x7b6; Xeprintf = _tbase + 0x7bc; Xdbsub__ = _tbase + 0x7c2; Xdbadd__ = _tbase + 0x7c8; Xdbdiv__ = _tbase + 0x7ce; Xdbmul__ = _tbase + 0x7d4; Xltodb__ = _tbase + 0x7da; Xdbtol__ = _tbase + 0x7e0; Xdbtofl__ = _tbase + 0x7e6; Xfltodb__ = _tbase + 0x7ec; Xltofl__ = _tbase + 0x7f2; Xfltol__ = _tbase + 0x7f8; Xultodb__ = _tbase + 0x7fe; Xultofl__ = _tbase + 0x804; Xaulmul = _tbase + 0x80a; Xafdiv = _tbase + 0x810; Xdbtst__ = _tbase + 0x816; Xfltst__ = _tbase + 0x81c; Xplock = _tbase + 0x822; Xdial = _tbase + 0x828; Xcallout = _tbase + 0x82e; Xundial = _tbase + 0x834; Xdrand48 = _tbase + 0x83a; Xerand48 = _tbase + 0x840; Xlrand48 = _tbase + 0x846; Xmrand48 = _tbase + 0x84c; Xsrand48 = _tbase + 0x852; Xjrand48 = _tbase + 0x858; Xseed48 = _tbase + 0x85e; Xlcong48 = _tbase + 0x864; Xrand = _tbase + 0x86a; Xsrand = _tbase + 0x870; Xftok = _tbase + 0x876; Xputenv = _tbase + 0x87c; Xtargets = _tbase + 0x882; Xn_targets = _tbase + 0x888; Xwtargeton = _tbase + 0x88e; Xw_target = _tbase + 0x894; X_fpachk = _tbase + 0x89a; X_assert = _tbase + 0x8a0; Xbsearch = _tbase + 0x8a6; Xhcreate = _tbase + 0x8ac; Xhsearch = _tbase + 0x8b2; Xhdestroy = _tbase + 0x8b8; Xtsearch = _tbase + 0x8be; Xtdelete = _tbase + 0x8c4; Xtwalk = _tbase + 0x8ca; Xnrand48 = _tbase + 0x8d0; X X_Etbase = 0x00330000; X__eprintf = _Etbase + 0x00; X__builtin_new = _Etbase + 0x06; X__builtin_vec_new = _Etbase + 0x0c; X__set_new_handler = _Etbase + 0x12; Xset_new_handler = _Etbase + 0x18; X__builtin_delete = _Etbase + 0x1e; X__builtin_vec_delete = _Etbase + 0x24; X__umulsi3 = _Etbase + 0x2a; X__mulsi3 = _Etbase + 0x30; X__udivsi3 = _Etbase + 0x36; X__divsi3 = _Etbase + 0x3c; X__umodsi3 = _Etbase + 0x42; X__modsi3 = _Etbase + 0x48; X__lshrsi3 = _Etbase + 0x4e; X__lshlsi3 = _Etbase + 0x54; X__ashrsi3 = _Etbase + 0x5a; X__ashlsi3 = _Etbase + 0x60; X__divdf3 = _Etbase + 0x66; X__muldf3 = _Etbase + 0x6c; X__negdf2 = _Etbase + 0x72; X__adddf3 = _Etbase + 0x78; X__subdf3 = _Etbase + 0x7e; X__cmpdf2 = _Etbase + 0x84; X__fixunsdfsi = _Etbase + 0x8a; X__fixdfsi = _Etbase + 0x90; X__floatsidf = _Etbase + 0x96; X__truncdfsf2 = _Etbase + 0x9c; X__extendsfdf2 = _Etbase + 0xa2; X__addsf3 = _Etbase + 0xa8; X__negsf2 = _Etbase + 0xae; X__subsf3 = _Etbase + 0xb4; X__cmpsf2 = _Etbase + 0xba; X__mulsf3 = _Etbase + 0xc0; X__divsf3 = _Etbase + 0xc6; X__builtin_saveregs = _Etbase + 0xcc; X__adddi3 = _Etbase + 0xd2; X__subdi3 = _Etbase + 0xd8; X__muldi3 = _Etbase + 0xde; X__divdi3 = _Etbase + 0xe4; X__moddi3 = _Etbase + 0xea; X__udivdi3 = _Etbase + 0xf0; X__umoddi3 = _Etbase + 0xf6; X__negdi2 = _Etbase + 0xfc; X__anddi3 = _Etbase + 0x102; X__iordi3 = _Etbase + 0x108; X__xordi3 = _Etbase + 0x10e; X__lshrdi3 = _Etbase + 0x114; X__lshldi3 = _Etbase + 0x11a; X__ashldi3 = _Etbase + 0x120; X__ashrdi3 = _Etbase + 0x126; X__one_cmpldi2 = _Etbase + 0x12c; X__bdiv = _Etbase + 0x132; X__cmpdi2 = _Etbase + 0x138; X__ucmpdi2 = _Etbase + 0x13e; X__fixunsdfdi = _Etbase + 0x144; X__fixdfdi = _Etbase + 0x14a; X__floatdidf = _Etbase + 0x150; X__new_handler = _Etbase + 0x156; Xacct = _Etbase + 0x15c; Xaulrem = _Etbase + 0x162; Xclearerr = _Etbase + 0x168; X_doprnt = _Etbase + 0x16e; X_doscan = _Etbase + 0x174; X_dtop = _Etbase + 0x17a; X_cleanup = _Etbase + 0x180; X_findiop = _Etbase + 0x186; Xlfind = _Etbase + 0x18c; Xlockf = _Etbase + 0x192; Xlsearch = _Etbase + 0x198; X_ltostr = _Etbase + 0x19e; Xmcount = _Etbase + 0x1a4; X_ptod = _Etbase + 0x1aa; Xsetvbuf = _Etbase + 0x1b0; X_sighnd = _Etbase + 0x1b6; Xstrtod = _Etbase + 0x1bc; Xtell = _Etbase + 0x1c2; Xtfind = _Etbase + 0x1c8; Xvfprintf = _Etbase + 0x1ce; Xvprintf = _Etbase + 0x1d4; Xvsprintf = _Etbase + 0x1da; Xsignal = _Etbase + 0x1e0; /* we need this to resolve some static symbols */ Xopendir = _Etbase + 0x1e6; Xreaddir = _Etbase + 0x1ec; Xtelldir = _Etbase + 0x1f2; Xseekdir = _Etbase + 0x1f8; Xrewinddir = _Etbase + 0x1fe; Xclosedir = _Etbase + 0x204; Xgetdents = _Etbase + 0x20a; Xdaylight = _Etbase + 0x210; SHAR_EOF chmod 0644 shlib.ifile || echo "restore of shlib.ifile fails" exit 0 ################################# :alex. #Disclamer: Anyone who agrees # Systems Programmer #with me deserves what they get.# University of Maryland Baltimore County ################################# alex@umbc3.umbc.edu