add directory libs

This commit is contained in:
gohigh
2024-02-19 00:25:00 -05:00
parent a4964ba92d
commit 07129c3397
135 changed files with 3543 additions and 0 deletions

12
libs/jumplibs/README Normal file
View File

@@ -0,0 +1,12 @@
This is an attempt to make shared libraries for:
f2c: in file libf2c04.TZ
no examples.
readline: in file librl02.TZ
examples in bash0.Z (bash 1.12) and gdb0.Z (gdb 4.7).
graphics file formats: in file libgr01.TZ
examples in xv0.Z, pbm0.TZ, jpeg0.TZ, urt0.TZ
Rob Hooft (hooft@chem.ruu.nl)

View File

@@ -0,0 +1,11 @@
Hi,
Since I packaged these files I noticed a small (?) problem with distributing
shared images. The images have a large hole in the file, and it seems that
'tar' cannot reproduce this hole. So: If you are installing the packages by
tar, the shared images in /lib/*.so.* will take up more space than needed.
If you want to have the full advantage of the shared images: please get the
'makehole' program by HLU, and use it on the supplied *.so.* files.
Rob Hooft (hooft@chem.ruu.nl)

View File

@@ -0,0 +1,20 @@
Notice:
This is a compressed binary of BASH. This binary is linked with my
readline jumptable lib, so you'll need the package librl01.TZ as
well to use the program. Source code and manual of the program
are available as bash112.TZ.
Jumplib info:
The readline jumplib looks like a big file, but actually it is
only a little bigger than the savings on bash. If you ever plan
to use it in another program, you'll probably gain diskspace.
Warning:
The readline jumptable lib is in a testing phase. The binary works
correctly as far as I can tell. I've used it for a few days now....
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Free Software Foundation

BIN
libs/jumplibs/bash0.Z Normal file

Binary file not shown.

View File

@@ -0,0 +1,9 @@
Notice:
This is the original source of GNU BASH version 1.12
It is supplied to keep the source near the binaries.
Uploaded by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Free Software Foundation

BIN
libs/jumplibs/bash112.TZ Normal file

Binary file not shown.

139
libs/jumplibs/building.txt Normal file
View File

@@ -0,0 +1,139 @@
It could be expected:
> Thanks a lot for your effort. I have a favor to ask. How do you make
> the jump libs? (or even the classic shared libs for that matter).
I'm totally ignorant on building non-jumped shared libs. I've done that
in the past, but the procedure has undergone major changes.
I've had some help from David Engel myself.
A (too) short description:
-1) This document assumes that you know what a jump-lib is, and how it
(basically) works.
0) Get one of my libs (package librl01.TZ comes to mind), and clean
out the source directories. Also get the shlib package from HLU,
which has good examples for very complex libraries like libc and
libX11. Mine are much simpler, and my adapted scripts are not
able to cope with cross-compiling and other goodies.
1) Create the new soucre dir, build the normal lib, and run:
nm libXXX.a | grep \ D\ | awk '{print $3}' > global.data
nm libXXX.a | grep \ T\ | awk '{print $3}' |\
sed 's/^_//' | sort >global.text
(note that I'm thinking while I'm typing).
2) If the global.data file is not empty then you basically have a problem,
because data cannot be accessed by jumptables: it has to stay in exactly
the same position over the years. All the data variables like:
int global_var = 3;
in the code have to be replaced by something like:
#ifndef jump
int global_var = 3;
#else
extern in global_var;
#endif
and you have to create an extra C file (I called it 00_DATA.c to
make it different from all the others) in which you collect all the
global data. In this example the following line is added:
int global_var = 3;
You could embed the whole 00_DATA.c file in '#ifdef jump' '#endif'.
If there any 'struct's in the global data, it is wise to put in
some dummy variables with HaRd_TO_gUeSS names, to allow for growth
in later versions.
I don't have any experience with data that is in the BSS section.
Basically it is not possible to have a 'jump' BSS section, so if
variables from the BSS section are needed globally, they must
be initialised, and therefore moved to the DATA section.
If some of the detected 'global data' will not be needed from
outside the library (so: from your program) then you don't need
to move it to 00_DATA.c, but YOU BETTER BE SURE because it could
break backward compatibility if you prove to be wrong.
3) Ok, now adapt the Makefile and recompile the library, specifying
'-Djump'. Don't forget to add in the 00_DATA.o in the library.
4) Copy the library and the 00_DATA.o file up one level. I did this in
the Makefile that is located there, so you can probably change
the Makefile to do it for you.
5) cd to the jump directory and 'rm lib*' there. There is also one
subdirectory, which has the name of the library (eg c, for libc;
rl, for readline). If you're planning to be compatible with the
minix filesystem (I for instance still only run that), you'll
have to choose a name not exceeding 3 characters. Remove the
directory from the package you got, and create your own new one.
6) Now modify the Makefile in the 'jump' directory, to let it
know where it is, and specify the lib-dependent stuff at the top.
In my 'f2c' and 'gr' libs, I had to add in a kludge, this is in
the target 'xtra'. If you're using one of these as your example,
you should get rid of the 'xtra' target and its references too.
Mail hlu@eecs.wsu.edu (as long as this address can be reached,
otherwise try david@ods.com) to get address space for your
lib. If you're just experimenting this is not necessary, but
anyway please make sure that your lib doesn't collide with other
shared libs present on your system.
Modify the SYSTEM LIBRARIES field to contain all the libs your
lib will depend on.
7) cd into your libname directory below jump (let's call it XX for
now), and copy the 'text.global' file here that you've built
earlier. Call it libXX.jump1. Look at this file: it should contain
the names of all functions that are callable from the outside.
If you ever want to rebuild your library YOU MAY NEVER CHANGE THIS
FILE AGAIN, EXCEPT FOR ADDING NAMES AT THE END!!!!. that is the
principle of the jump lib: everything stays exactly at the same
place. Only if you bump your MAJOR version number in the Makefile,
you may completely replace this file: in that case you completely
lose your compatibility with earlier versions.
8) cd up again to the 'jump' directory. type 'Make' and hope for the
best. If you (or I) forgot something or did something wrong, the
scripts will warn you. If you can't find out what goes wrong, add
'set -x' to the script that fails, and watch it go by.
9) If your lib depends on anything else than libc, and you're afraid
that the other lib will sometimes not be linked in, please get my
'libgr' package, and see how I solved this for the Math lib: look
for math.c. The problem here is that some programs may need
'libtiff' and not need any math function, while 'libtiff' itself
needs the math lib. With help of 'math.c' it is insured that any
program needing the libtiff.a part of the lib is always linked
with the jump table math lib.
10) If this is a re-build of an old jumplib: now check if all global
data addresses have stayed the same. Use 'nm' to do this.
If it is the first time:
You can also run nm on all the stub-libs, then recompile your
lib with another optimisation level (-O6 = -O2 !!), rebuild the
jumplib and see if some addresses in the stublibs change. That
could indicate that you forgot something, and will lose
compatibility at the next upgrade. Take corrective action
immediately.
11) If you have a function that does a call-back to your program at
a known entrypoint, you have another problem. Please get my 'libf2c'
package and study my kludge: It concerns the file 'main.c', which
calls the fortran __MAIN__ program.
Please if you find out errors or omissions in this document, let me
know! You can also ask me questions: I'll see if I can answer them.
Rob Hooft (hooft@chem.ruu.nl)

8
libs/jumplibs/f2c.README Normal file
View File

@@ -0,0 +1,8 @@
Notice:
This is my f2c binary. Uploaded for your convenience.
Uploaded by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
AT&T

BIN
libs/jumplibs/f2c.TZ Normal file

Binary file not shown.

BIN
libs/jumplibs/f2c.Z Normal file

Binary file not shown.

20
libs/jumplibs/gdb0.README Normal file
View File

@@ -0,0 +1,20 @@
Notice:
This is a compressed binary of GDB. This binary is linked with my
readline jumptable lib, so you'll need the package librl02.TZ as
well to use the program. Source code and manual of the program
are available at prep.ai.mit.edu as gdb-4.7.tar.Z
Jumplib info:
The readline jumplib looks like a big file, but actually it is
only a little bigger than the savings on bash. If you ever plan
to use it in 2 programs, you'll gain diskspace.
Warning:
The readline jumptable lib is in a testing phase. The binary works
correctly as far as I can tell. I've used it for a few days now....
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Free Software Foundation

BIN
libs/jumplibs/gdb0.Z Normal file

Binary file not shown.

View File

@@ -0,0 +1,15 @@
Notice:
This is a package of the programs 'djpeg' and 'cjpeg'. These binaries
are linked with my graphics jumptable lib, so you'll need the package
libgr01.TZ as well to use the programs. Source code and manuals of
the programs is in package jpegsrc3.TZ
Warning:
The graphics jumptable lib is in a testing phase. The binaries work
correctly as far as I can tell.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
The independent JPEG group.

BIN
libs/jumplibs/jpeg0.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,10 @@
Notice:
This is the original source of the third release of 'cjpeg', 'djpeg' and
'libjpeg.a' from the independent JPEG group. It is supplied to keep the
source near the binaries.
Uploaded by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
The independent JPEG group.

BIN
libs/jumplibs/jpegsrc3.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,29 @@
Notice:
This is a release of a jumptable version of the libraries
for 'f2c', a free fortran to C conversion program.
Jumptable and static libs and the shared image are supplied.
The package further contains only that sources that are needed to
rebuild the libraries.
Original sources are available via anonymous ftp from research.att.com,
and change quite frequently.
Jumplib info:
The jumplib looks like a big file, but it contains a big hole,
so actually it is only a little bigger than the savings you make
with just a few programs.
Warning:
The f2c jumptable lib is in a testing phase. I've tested it with a
small number of fortran programs, and they worked correctly.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
AT&T
History:
Table 0.1 : First implementation of a f2c jumptable
Table 0.2 : Uses a more recent release of the f2c libs
Table 0.3 : Fixes a bug in floating point formats
Table 0.4 : Fixes a bug in SIGNAL

BIN
libs/jumplibs/libf2c04.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,27 @@
Notice:
This is the first release of a jumptable version of the libraries
'pbm', 'pgm', 'ppm', 'pnm' (from the pbmplus package), 'rle' (from
the utah raster toolkit), 'jpeg' (from the independent jpeg group),
and 'tiff' (taken from the XV package).
Jumptable and static libs and the shared image are supplied.
The package further contains only that sources that are needed to
rebuild the libraries.
Original sources are available in the packages mentioned above.
Jumplib info:
The jumplib looks like a big file, but it contains a hole,
so actually it is quite a bit smaller. The savings on the binaries
from the pbmplus package is more than 1 MB, and on the binaries
for the Utah Raster Toolkit too. Programs using the 'jpeg' software
are about 50kB smaller when linked with this lib. For a good example
get 'xv'.
Warning:
The graphics jumptable lib is in a testing phase.
every binary I've tested worked ok so far.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
AT&T

BIN
libs/jumplibs/libgr01.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,25 @@
Notice:
This is a release of a jumptable version of the gnu 'readline'
library.
Jumptable and static libs and the shared image are supplied.
The package further contains only that sources that are needed to
rebuild the libraries.
Jumplib info:
The jumplib looks like a big file, but it contains a big hole,
so actually it is only about 55kB. The savings on binaries
are almost this big...
Warning:
The readline jumptable lib is in a testing phase.
I've only tested 'bash', and that works fine so far.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Free Software Foundation
History:
Table 0.1: Uses the readline sources from BASH 1.12
Table 0.2: Uses the readline sources from GDB 4.7

BIN
libs/jumplibs/librl02.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,16 @@
Notice:
This is a package of the binaries from the 'pbmplus' package. The
binaries are linked with my graphics jumptable lib, so you'll
need the package libgr01.TZ as well to use the programs. Source
code and manual of the program are available at other spots in
in a 'pbmplus' package. Version of the package used was 10dec91.
Warning:
The graphics jumptable lib is in a testing phase. The binaries work
correctly as far as I can tell. I've not tested all of them....
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Jef Poskanzer

BIN
libs/jumplibs/pbmplus0.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,15 @@
Notice:
This is a package of the program 'pbmtodot'. Included are binary, manual
page, and source. It is a program to print a 'pbm' file on a dot matrix
printer. The executable is linked with my graphics jumptable lib, so
you'll need the package libgr01.TZ as well to use the binary.
Warning:
The graphics jumptable lib is in a testing phase. The binary works
correctly as far as I can tell.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Ian Phillipps

BIN
libs/jumplibs/pbmtodot.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,16 @@
Notice:
This is a package of the program 'ppmqvga'. Included are binary, manual
page, and source. It is a program to reduce the number of colors in a
'ppm' file in a way that is optimal for a 256 color VGA display.
The executable is linked with my graphics jumptable lib, so
you'll need the package libgr01.TZ as well to use the binary.
Warning:
The graphics jumptable lib is in a testing phase. The binary works
correctly as far as I can tell.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Bill Davidsen

BIN
libs/jumplibs/ppmqvga.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,20 @@
Notice:
This is a package of the programs 'rayshade' and 'raypaint'. Included i
are only binaries; manuals, and source are in raysh406.TZ. It is a
program to make ray-traces images.
The executable is linked with my graphics jumptable lib, so
you'll need the package libgr01.TZ as well to use it.
Warning:
The graphics jumptable lib is in a testing phase. The rayshade binary
works. I didn't test raypaint. You'll need X11v2.1 to use my raypaint
binary.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Version:
4 patchlevel 6.
Author:
Craig Kolb

BIN
libs/jumplibs/raysh0.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,12 @@
Notice:
This is the source of the 'rayshade' program package. It is supplied
to keep the source with the binaries.
Uploaded by:
Rob Hooft (hooft@chem.ruu.nl)
Version:
4 patchlevel 6.
Author:
Craig Kolb

BIN
libs/jumplibs/raysh406.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,12 @@
Notice:
This is the source of the Utah Raster Toolkit. It is supplied
to keep the source with the binaries.
Uploaded by:
Rob Hooft (hooft@chem.ruu.nl)
Version:
3.1a
Author:
Many people

BIN
libs/jumplibs/urt-31a.TZ Normal file

Binary file not shown.

16
libs/jumplibs/urt0.README Normal file
View File

@@ -0,0 +1,16 @@
Notice:
This is a package of the programs from the Utah Raster Toolkit. These
binaries are linked with my graphics jumptable lib, so you'll need the
package libgr01.TZ as well to use the programs. Source code and manuals of
the programs are in package urt-31a.TZ
Warning:
The graphics jumptable lib is in a testing phase. The binaries work
correctly as far as I can tell. You'll need X11v2.1 for the X11-dependent
binaries.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
Many people

BIN
libs/jumplibs/urt0.TZ Normal file

Binary file not shown.

View File

@@ -0,0 +1,11 @@
Notice:
This is the source to the 'xv' program. It is supplied to keep the
source near the binary. The source is 'frozen' to keep it smaller than
a floppy. If you can't melt frozen files go and look for the 'freeze'
package, or for another source of xv.....
Uploaded by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
John Bradley

BIN
libs/jumplibs/xv-221.TF Normal file

Binary file not shown.

17
libs/jumplibs/xv0.README Normal file
View File

@@ -0,0 +1,17 @@
Notice:
This is a compressed binary of xv. This binary is linked with my
graphics jumptable lib, so you'll need the package libgr01.TZ as
well to use the program. Source code and manual of the program
are available as xv-221.TF. It is frozen, and not compressed,
because otherwise it would be bigger than a floppy.
Warning:
The graphics jumptable lib is in a testing phase. The binary works
correctly as far as I can tell. You'll need X11v2.1 for linux to run
this binary.
Packaged by:
Rob Hooft (hooft@chem.ruu.nl)
Author:
John Bradley

BIN
libs/jumplibs/xv0.Z Normal file

Binary file not shown.