Commit Graph

300 Commits

Author SHA1 Message Date
pk 0a97faa040 Assign my copyrights to TNF. 1998-09-05 13:08:38 +00:00
pk b912f72b52 Print `unreferenced' info separately from definition. 1998-09-04 09:50:47 +00:00
pk 795c860f6a The PLT symbol is also a special case when processing a shared library
symbol table (and so is the GOT symbol actually, but no one ever noticed..).

Re-enable PLT symbol.
1998-09-04 09:43:29 +00:00
matt 24d4c63088 Disable the the PLT symbol until I can get it to work properly. 1998-09-03 19:17:10 +00:00
matt 81c6c6b8c6 Fix core dump when plt_symbol didn't exist when needed with dynamic images. 1998-08-28 14:45:46 +00:00
matt c75dbabbf6 only emit __PROCEDURE_LINKAGE_TABLE_ if generating shared library. 1998-08-27 21:20:44 +00:00
matt 60f624ddb7 Fix some obvious bugs. 1998-08-26 15:32:02 +00:00
matt 2ffec21522 Create symbol for __PROCEDURE_LINKAGE_TABLE_. 1998-08-26 14:39:47 +00:00
matt 4da3f7cfd8 Add external symbol for __PROCEDURE_LINKAGE_TABLE_. Modify arguments
to md_make_gotreloc for VAX'es sake.
1998-08-26 14:37:40 +00:00
matt fb6da63fa6 More changes for shareable libraries and PIC code 1998-08-21 01:03:48 +00:00
matt 0111660e53 Get md.c to compile again. Get mdprologue.S to assemble. [Now at least
ld and rtld compile and link.]
1998-08-20 15:12:02 +00:00
matt 74018d8df6 Untested(!!) beginning of VAX a.out shared library support. This is a work
in progress.
1998-08-18 18:46:16 +00:00
mycroft 93f8d753f8 Small changes to make debugging a little easier. 1998-08-13 07:34:05 +00:00
mycroft 41a070136b When DEBUG, log init and fini calls. 1998-08-06 00:03:28 +00:00
mycroft 9ae60c44af More cruft. 1998-08-05 04:25:03 +00:00
mycroft 7625579cb3 GC some cruft. 1998-08-05 04:21:51 +00:00
mycroft 5d231ae38e Don't reset the reloc_index when we patch a jmpslot. We don't need to, and
this kluges around some cache issues.
1998-07-27 07:48:21 +00:00
ross d26b3c59c1 Elaborate on --export-dynamic somewhat. Edit -soname. s/ / /, as multiple
spaces are magic and unpaddable in troff.
1998-07-26 02:51:59 +00:00
mycroft cfaad53a4e Remove bogus change to use -O0. 1998-07-25 12:37:27 +00:00
ross 9535b6c2a3 Harmonize another ELF linker option: ignore export-dynamic in the COFF linker.
Elaborate on some of the ELF option descriptions, and don't say the options
are ignored...this man page is the one installed on ELF systems, too.
1998-07-25 11:58:49 +00:00
tv 77a275d732 Change ld.so default behavior to RTLD_LOCAL, and make RTLD_LOCAL into a
new flag bit.  Keep RTLD_GLOBAL as an actual flag bit so it won't be
re-used, or may be used for something later.  Mask the dlopen() mode bits
in ld.elf_so so a comparison against RTLD_NOW works.  (RTLD_{LOCAL,GLOBAL}
needs to be implemented for ld.elf_so.)
1998-07-14 22:18:36 +00:00
kleink 76bc8071eb Clear the error indicator after retrieval (xref. dlerror(3)). 1998-05-30 18:28:31 +00:00
tv b05a04267a In case NOPICINSTALL is set, get -lc_pic from src/lib/libc/(objdirname). 1998-05-21 00:31:05 +00:00
pk 294ed94908 Optimize symbol/string table access slightly by precomputing their
locations at load time. These values don't change once the object is loaded.
1998-05-19 12:15:38 +00:00
thorpej dd26162d11 Need <dlfcn.h> for Dl_info. 1998-05-14 01:55:28 +00:00
pk d123bc84d4 Implement `dladdr()': find nearest symbol given an address. 1998-05-12 21:22:28 +00:00
pk 79bd77e1cc Add `dladdr()' rtld entry point. 1998-05-12 21:21:21 +00:00
fair c46ab392dc Principally, change foo(N) to .Xr foo N
Also, do some other mdoc tagging.
1998-04-28 04:07:04 +00:00
fvdl 98712f00f0 If a good matching shared library is found, don't look in the next
directories. This is compatible with the SunOS behaviour. Also,
it fixes a problem where it was not possible for some 3rd party
package to have a library with the same name as a library already
in the system, and a lower version number. The highest version
would always be picked. This particular problem shows up with Mozilla,
which has a libutil.so.1.0
1998-04-04 01:00:29 +00:00
mycroft ab8a4c5234 Allow a non-RTLD_GLOBAL object to refer to symbols in itself. 1998-03-26 23:33:12 +00:00
pk d47d43b956 Use file size from fstat(2) to map the hints file, instead of fiddling
with incremental mmap()'s.  Squashes a bug which caused only the first
page of the hints file to unmapped.
1998-03-18 23:21:46 +00:00
pk 5ea8bb6d05 Implement RTLD_GLOBAL dlopen(3) flag.
Rename internal flags to avoid <dlfcn.h> name space collisions.
1998-03-15 23:10:21 +00:00
pk b5f4c3ad5e Check for short hints file (noticed by Chuck Silvers). 1998-03-15 21:24:27 +00:00
mycroft 28ad88290d Remove spurious extra newline. 1998-03-03 00:36:24 +00:00
cgd 8aaf609a0a allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:42:25 +00:00
mycroft 4462053ab3 Fill in missing (default) mmap(2) flags. 1998-02-20 09:27:18 +00:00
jonathan 730100e9cd Add emulation of binutils 2.x ld options:
-rpath dir, -shared, -soname, --whole-archive, --no-whole-archive
for compatibility with ELF ports and to aid migration to bintils.
Update manpage with new otions.
1998-02-20 03:12:50 +00:00
pk 9084f293a7 Print a warning message if we detect that a "copy symbol" has changed
size in a shared library.  Also, always use our expected size to copy
the item in, on the assumption that doing so generally minimizes the
damage (maybe it's better to just bail out?).
1998-02-17 23:07:33 +00:00
cgd 10cc9f3b70 RCS Id police 1998-01-05 22:00:34 +00:00
cgd cb1cb72951 bsd.prog.mk isn't needed here, and including it only gets us an
unnecessary obj dir.
1998-01-05 21:56:31 +00:00
pk f58457ccca Expand on shared object's `.init' functions a bit, and mention
`/usr/lib/c++rt.o'.
1997-11-13 22:25:23 +00:00
lukem da49bfcda7 use CPPFLAGS instead of CFLAGS 1997-10-25 10:10:19 +00:00
mark 919c9148f3 Add support for PIC code.
Add support for ld.so
1997-10-17 21:25:42 +00:00
christos 776130f509 Handle relocation of misaligned symbols. Handle all three cases by the same
macro for clarity.
1997-10-14 17:17:52 +00:00
mycroft e96e918e60 Use bsd.subdir.mk as appropriate. 1997-10-11 09:34:07 +00:00
thorpej c46d775b91 Document new flags and internal processing of ld.so.conf changes. 1997-08-27 06:43:07 +00:00
thorpej c48a53ac99 Enhancements from Jim Bernard <jbernard@tater.mines.edu>, to support
processing of /etc/ld.so.conf in ld.so itself (rather than in /etc/rc):
- added do_conf function and call to it in main to implement internal
  processing of /etc/ld.so.conf
- moved maintenance of dir_list to dodir, with an added argument to
  dodir to specify whether dir_list should be updated
- added option '-c' to suppress processing of /etc/ld.so.conf
- added option '-S' to suppress processing of std directories (but not
  /etc/ld.so.conf)
- modified option -s to suppress processing of _both_ std directories
  and /etc/ld.so.conf (i.e., it is equivalent to -cS)--this was done
  so that users and scripts that interpret -s as meaning "process
  only directories specified on the command line" would not be
  startled

From PR #4031.  One change was not committed, since it was unnecessary
(option variables are in the BSS, and do not need to be initialized to
0 explicitly).

Plus one change from me:
- getopt() returns -1 when completed, not EOF.
1997-08-26 19:29:57 +00:00
mikel 2bb07f9f5c xref ldconfig(8) not nonexistent ldconfig(1) 1997-07-16 04:34:36 +00:00
christos df79fb912d Add the necessary -I flag to pick up the libc/include/extern.h 1997-07-14 02:56:54 +00:00
matthias a57d8745e7 * Truncate the cinv table. It was twice as long as necessary as a result
of an earlier version of th code.
* Really align the cinv table modulo 0x200. Thank's to Ian for telling me
  where I goofed up.
1997-07-11 23:39:56 +00:00