home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
plbin.zip
/
pl
/
dld-3.2
/
ChangeLog
< prev
next >
Wrap
Text File
|
1992-05-26
|
4KB
|
120 lines
Fri Sep 7 02:20:38 1990 W. Wilson Ho (how at sundrops)
* finish dld.texinfo.
Fri Aug 24 02:01:08 1990 W. Wilson Ho (how at iris)
* update the manpages to reflect the changes of function names.
* add new function dld_get_bare_symbol() -- same as dld_get_symbol
except that no underscore (_) is prepended.
Thu Aug 23 00:41:44 1990 W. Wilson Ho (how at sundrops)
* put in changes to optimize the memory overhead:
* the nlist array is freed after the required entries (external
symbol definitions or references) have been inserted into the
symtab.
* relocation of local symbol references is done only once.
Afterwards, only the relocation info of external references
are saved and the rest is discarded.
* new structure "dld_reloc_info" is defined. "file_entry" uses this.
* loading of text and data segments is moved up frond and done
in read_file_symbols (). New function read_text_and_data() is
added.
* relocate_entry_symbols () now takes care of relocating local
references also. A call to relocate_local_refs() is added.
* New function: relocate_local_refs().
Read in the relocation info, perform the relocation by calling
do_local_relocation(), which also recorded the relocation
entry for external references. When these are done, free the
nlist array.
* perform_relocation() now works only on the new dld_reloc_info
structure.
Wed Aug 22 00:11:08 1990 W. Wilson Ho (how at sundrops)
* remove the field "refs" from defintion of symbol.
remove the function digest, change enter_global_ref() and
relocate_symbol_address() so that they modify sp->value directly.
* version 3.2
* rename which() to dld_which().
* rename all extern function to begin with "dld_"
* in dld_init, leave the value of {text,data,bss}_start_address of
the root module as zero, so that if the root module is unlinked,
kill_entry will not attempt to free these (invalid) addresses.
* include error handling in dld_init(). (setjmp and clean_up).
Tue Aug 21 17:16:08 1990 W. Wilson Ho (how at sundrops)
* add the already_unlink flag to struct file_entry so that no
module can be (soft) unlinked twice.
* fix bug in relocate_symbol_address():
while reading the text and data segments in core, only read in
a_text+a_data bytes, do not count the a_bss.
The object file does *not* contain the bss segment, only the
executing process does.
Mon Jun 11 14:24:57 1990 W. Wilson Ho (how at snowball)
* version 3.1.1.
* rename dld() to dlink()
Thu May 3 11:17:53 1990 W. Wilson Ho (how at iris)
* relocate_symbol_address(): zero the bss segment read in from the
object files.
Tue May 1 20:56:20 1990 W. Wilson Ho (how at snowball)
* modify get_symbol(), get_func(), unlink_by_symbol() and
function_executable_p() so tha a '_' is always prepended to the
given named before lookup.
* modify the test programs to accomodate the above changes.
Tue Apr 24 13:25:21 1990 W. Wilson Ho (how at snowball)
* dld susccessfully ported to sunOS4.0. However, programs using
dld cannot be linked with the system's shared library.
* update test/read-a.out.c to take care of sparc's data structure
of relocation info.
* merge in the relocation function for sparc, only
perform_relocation needs to be modified. Also add in the
RELOC_* macros.
* attempt to port to Sun OS 4.0. Differences of the two systems
includes:
<sys/exec.h>: OS4.0 has two more fields (a_dynamic and
a_toolversion), both of them can be safely
ignored.
<sys/nlist.h>: same
<sys/a.out.h>: Compatible between Sun3's running OS3.4 and
OS4.0. struct relocation_info is renamed to
reloc_info_68k in OS4.0, and the unused bits of
the structure in OS3.4 is now used. This has no
effect on dld.
For sparc, structure of reloc_info_sparc is
different, so is the way that addresses should be
relocated. This is not compatible with the
Sun3's.
* History:
* in this version, add new function function_executable_p() which
returns true if the given function can be safely executed.