Discussion:
Shipping object files with software on SysV
(too old to reply)
Tavis Ormandy
2022-04-19 02:18:40 UTC
Permalink
I'm interested in the history of Lotus 1-2-3, and recently found a copy
of 1-2-3 for SysV386. I never used SysV, so don't know if this was
normal, but I was surprised to find the original object files on the
installation media.

These are big unstripped files with 20k symbols, it probably required
an extra floppy to ship this. Why would Lotus do that, was it
intentional? Did other commercial software packages for SysV do that?

$ ls
123.o.z_1 123.o.z_2 dl_init.o ld mkdlobj stub.o tail.o wyse50-lts123

$ file 123.o.z_1
123.o.z_1: packed data, 2519734 characters originally

If I concatenate those files...

$ cat 123.o.z_? | uncompress > 123.o
$ file 123.o
123.o: Intel 80386 COFF object file, not stripped, 5 sections, symbol offset=0x1efbdc, 19755 symbols, optional header size 28

The link timestamp is September 1990, and it looks like it was compiled
with GCC 1.3x.

$ objdump -p 123.o | grep Date
Time/Date Sat Sep 8 06:23:50 1990

It looks like these objects match the main executable, all the symbols
match up perfectly.

Thanks, Tavis.
--
_o) $ lynx lock.cmpxchg8b.com
/\\ _o) _o) $ finger ***@sdf.org
_\_V _( ) _( ) @taviso
Dennis Boone
2022-04-19 16:19:05 UTC
Permalink
Post by Tavis Ormandy
These are big unstripped files with 20k symbols, it probably required
an extra floppy to ship this. Why would Lotus do that, was it
intentional? Did other commercial software packages for SysV do that?
Over the years, I've seen a number of software packages ship the object
files for a product, along with a pre-linked executable. The intention
was to allow a user-compiled configuration / customization module to be
linked into a customized executable, to link in user exit functions, or
to select e.g. which database manager library was used by the resulting
executable. The example that comes to mind right now is L-Soft's
LISTSERV product, which (I think still) provides object files for the
core functionality, plus several different database access methods.
Re-link with the desired object module to select Oracle, MySQL, etc.

De
D.J.
2022-04-19 16:46:15 UTC
Permalink
Post by Tavis Ormandy
I'm interested in the history of Lotus 1-2-3, and recently found a copy
of 1-2-3 for SysV386. I never used SysV, so don't know if this was
normal, but I was surprised to find the original object files on the
installation media.
These are big unstripped files with 20k symbols, it probably required
an extra floppy to ship this. Why would Lotus do that, was it
intentional? Did other commercial software packages for SysV do that?
I don't think the Amiga version did that.

I know that the book for the Amiga version cationed to not go beyond a
certain number of rows. Although the Amiga could handle it, other
versions didn't.
--
Jim

Loading...