replacement shlib (BUGFIX)
Alex S. Crain
alex at umbc5.umbc.edu
Tue Jul 31 07:39:30 AEST 1990
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 at 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 at umbc3.umbc.edu
More information about the Comp.sys.att
mailing list