Commit Graph

253 Commits

Author SHA1 Message Date
pk b1392e7c17 Properly round the allocated set vector space; reduces by one the number
of ways in which C++ programs will dump core.
1994-04-22 07:55:19 +00:00
pk c83756b171 Careful when claiming jump slots in the "force alias" case.
Taking the address of a function must not cause it to be relocated to
a possibly already allocated jump slot. C++ virtual function tables are
an example of this.
1994-04-15 10:05:39 +00:00
pk b6d3849691 Don't core dump on shared objects. We need an a.out flag really.
Some misc cleanup.
1994-04-10 08:54:30 +00:00
mycroft 31cfe023f3 Remove extra `\n' in message. 1994-04-10 01:52:02 +00:00
pk f8af116033 dlopen() should make a copy of argument (Thomas Eberhardt). 1994-04-07 19:46:30 +00:00
pk a426b2b937 ns32k support by Matthias Pfaller. 1994-04-07 19:44:46 +00:00
pk afc89926d8 Use machine architecture when examining object files for compatibility. 1994-04-07 19:43:37 +00:00
pk 12f28a9ba6 PC relative segment relocations don't need to be looked at at run-time (such
relocations occur on the ns32k).
Dump <strings.h> from header files.
1994-04-07 19:41:17 +00:00
pk 158618112b Terminate comment at a reasonable place. 1994-04-03 18:38:02 +00:00
pk b120bb4e37 Suck in lseek() prototype. 1994-03-31 14:17:29 +00:00
cgd 95d6a185be no more MAP_FILE 1994-03-28 02:07:04 +00:00
cgd abe52e6608 fix section typo; from Luke Mewburn <lm@rmit.edu.au> 1994-03-19 08:02:14 +00:00
chopps 8e6af40327 oops 1994-03-08 23:50:14 +00:00
chopps 3fcebc3096 flush instruction cache. 1994-03-08 06:52:33 +00:00
pk 1bb4f06e2a Libraries which are in the hints file but not in one's LD_LIBRARY_PATH (if
set) were not found.
1994-02-15 22:51:23 +00:00
pk 9b345fd6e5 Define an adjustment for {TEXT,DAT}_ADDRs.
Hide some things from rtld with #ifdef RTLD.
1994-02-10 21:21:27 +00:00
pk 637c349300 Update relocation addend correctly (affects Sparc only). 1994-02-10 20:58:50 +00:00
jtc fc1d8f3bac Fix spelling error in Copyright notice 1994-01-29 01:54:01 +00:00
pk bc9bb1a343 Like others, allow for SunOS .o files. 1994-01-28 21:02:21 +00:00
mycroft 89583c18ac Clean up deleted files. 1994-01-28 21:01:29 +00:00
pk d27581fb4b Use somewhat customized version of malloc, in stead of relying on a
crummy sbrk() backend; proper aligment must be guaranteed on all archs.
Drafting dlopen, dlsym, et.al.
1994-01-28 21:01:20 +00:00
pk 90cfba21cb Use `.type' directives generated by gcc.
Numerous internal changes & bug fixes.
NOTE: must re-compile & re-link shared libraries before used to link programs.
1994-01-28 20:56:09 +00:00
pk 64075b6a06 Remove reference to `mywrite()'. 1994-01-28 20:53:25 +00:00
pk ad127b0a0a Redone from scratch, but maintain SunOS compatibility. 1994-01-28 20:26:52 +00:00
cgd 2f6038ba19 switch a define to move things down a page. seems to work fine. 1994-01-21 18:59:19 +00:00
pk 14c0d3cb5e Don't barf if builtin directories happen to be non-existent. 1994-01-13 19:35:38 +00:00
pk 954ef13a90 Fill in gdb hook. 1994-01-12 19:19:09 +00:00
pk 1d9da4ac9e Must look at relocation before classifying local symbols (affects `ld -r -x'). 1994-01-06 00:20:47 +00:00
pk ebba6fe548 Fix bug with `-A' symbol-file handling. 1994-01-05 16:24:53 +00:00
pk a71feb52bb Remove some debris, causing "multiple defined" messages to be missed. 1993-12-23 09:37:43 +00:00
pk 0cc050772f Hooks for for shared C++ objects with static contructors/destructors. 1993-12-20 22:44:35 +00:00
pk a6aa50489e Add fflush(stdout) to get output in a intuitive order. 1993-12-16 08:33:36 +00:00
pk e6ec7ca3da Whoops, a couple of lines at the wrong place. 1993-12-15 13:26:46 +00:00
pk 37bd8761bb Fix bug causing spurious "duplicate symbol" error messages (which then
weren't printed)
1993-12-10 20:24:48 +00:00
mycroft a09abb4d2b Minor cleanup. 1993-12-10 05:10:22 +00:00
mycroft 8363f8736d Use MACHINE_ARCH. 1993-12-08 11:47:17 +00:00
pk 36a801eebd Isolate the tricky bits.. 1993-12-08 10:33:45 +00:00
pk fb781361ed Small nits. 1993-12-08 10:28:56 +00:00
pk a711901191 Parcelled out the heap allocator into separate file.
Changes prototype for findshlib() (corrected library search order for ld).
1993-12-08 10:28:05 +00:00
pk efa4a5a7aa *** empty log message *** 1993-12-08 10:16:08 +00:00
pk fa099af1f6 Many internal changes, most notably in the symbol counting stuff.
`ld -r -x'  now supported on all object files.
Support for long archive member names (AR_EFMT1 format),
	thanks to Bill Sommerfeld/Mark Eichin
Do the right(?) thing with symbol aliases (N_INDR) for POSIX lover, especially
when equiping shared libraries with these (this was *not* fun).
Handle silly archives (.sa) for people who needs them; turn on by `-Bsilly'.
1993-12-08 10:13:47 +00:00
mycroft e331ce34d0 #include ctype.h, since we use isdigit(). 1993-12-07 03:04:28 +00:00
mycroft e977e5242b Prototype concat() more strongly, and remove bogus definitions of variables
in system .h files.
1993-12-07 01:44:23 +00:00
cgd 1bd5116d82 MACHINE_ARCH support 1993-12-05 00:55:26 +00:00
cgd 1d330d5df9 MACHINE_ARCH support 1993-12-05 00:49:23 +00:00
mycroft a284fbc30e Remove ${DESTDIR} from BINDIR. 1993-12-02 07:21:19 +00:00
paulus 5b59119fbb Machine-dependent part of ld for the m68k architecture,
allowing ld to support shared libraries on m68k-based machines.
1993-11-25 00:57:35 +00:00
mycroft e9e6f64ef6 Add /usr/X386/lib to the standard list of library paths. 1993-11-21 21:01:08 +00:00
pk ee0245d52d "ld -X -r": debug symbols starting with 'L' didn't make it to the symbol table.
Precursor to more massive changes in local symbol handling.
1993-11-14 19:01:40 +00:00
pk 4a64975120 Make `-Z' actually do something different again (old style ZMAGICs). 1993-11-14 16:51:17 +00:00
pk c6cb826f23 Call breakpoint `BPT' in stead of `TRAP'. 1993-11-13 11:20:17 +00:00
pk e5b3eedefb Eleminate duplicate inclusion of shared objects (libgcc!).
Start using auxiliary information (using `n_other') to tackle aliasing of
function addresses and direct function calls in shared objects.
NOTE: currently protected by `#ifdef EXPERIMENTAL'.
1993-11-10 21:53:30 +00:00
pk a2d3040ffb Added function `md_set_breakpoint()'.
Define for TRAP. NOTE: THIS IS DEFINED AS `ta 1'!. This may need to be
changed for NetBSD.
1993-11-10 21:46:03 +00:00
pk 47aca600bd Added function `md_set_breakpoint()'. 1993-11-10 21:40:50 +00:00
pk 2d6241585d Do the debugger hooks.
Revised algorithm for finding symbols using `nz_other' (auxialiary type info).
1993-11-10 21:37:39 +00:00
pk 168c91b813 Use strsep() in stead of strtok() and restore colons in eg. env. vars. 1993-11-08 13:20:39 +00:00
pk 9446d24503 md_init_header: our exec header differs from SunOS's. 1993-11-06 19:15:31 +00:00
pk 2fb1bba1ae Do a better job of recognising data in text segments, eg. `const char []'. 1993-11-05 12:47:11 +00:00
pk 10d19f6580 Less spurious "undefined symbol" msgs for shared library defined symbols. 1993-11-05 12:45:25 +00:00
pk fa3bfac6b2 Pull in archives containing definitions needed by shared objects. 1993-11-05 12:43:11 +00:00
pk 6e2bed1cac Print symbol name in "undefined" error msg. 1993-11-03 21:35:54 +00:00
cgd 0ea9b5363b add subdirs 1993-11-03 13:01:36 +00:00
cgd c12bc1839f add -static to 'LDFLAGS', as it goes in /sbin 1993-11-03 05:20:49 +00:00
mycroft 25d572fb12 This warning is fucking annoying, and ld already told us about it when we
linked the executable.  Make it #ifdef DEBUG.
1993-11-03 04:58:57 +00:00
pk 2fe519a144 Documented the -Bshareable option (now required to build shared objects). 1993-11-02 22:56:51 +00:00
pk 94aab0b5fc The N_SET* symbols are back in. C++ object files can now be linked again.
(not yet fit for *shared* C++ libraries).
1993-11-01 16:26:13 +00:00
pk be6ea65f08 Close those file descriptors. 1993-10-31 14:54:29 +00:00
pk 3f26fe8498 Check for EX_DYNAMIC flag in exec header. 1993-10-31 14:41:46 +00:00
pk abbf20b6e1 use SHAREABLE in init_header() in stead of `entry_symbol'. 1993-10-27 00:56:17 +00:00
pk b817714018 -Bshareable added to CFLAGS. 1993-10-27 00:55:24 +00:00
pk 762354917d use SHAREABLE in init_header() in stead of `entry_symbol'. 1993-10-27 00:54:58 +00:00
pk 4aa8c26f37 Improved handling of PIC code in "main stream" .o files.
Don't touch __DYNAMIC when `-r' is on.
Now must use `-Bshareable' to make shared libraries.
1993-10-27 00:53:39 +00:00
pk 8ea3d67031 Search for top-of-stack blew up if program had no environment strings. 1993-10-26 19:30:13 +00:00
cgd 130c0dd9d9 use gnu malloc 1993-10-26 06:56:08 +00:00
pk ecd08c7591 Make that #ifdef NetBSD, not __NetBSD__ 1993-10-24 00:52:40 +00:00
pk f385d97564 Use MID_MACHINE.
#ifdef NetBSD in stead of #ifdef sun
1993-10-24 00:48:20 +00:00
pk 0d1097aaf9 Use MID_MACHINE in stead of MID_I386 1993-10-24 00:47:05 +00:00
pk a0aae738e7 Changed prototype and internals of std_search_dir(). 1993-10-23 00:34:22 +00:00
pk bfca4dbe69 Utility to maintain shared library lookup "hints".
Does business in `/var/run/ld.so.hints'.
1993-10-23 00:16:57 +00:00
pk 843df2403a Support for `ld.so.hints'.
Handle set[ug]id programs.
No longer use the `lm_lob' field to access parent objects, add private
link map `parent' field in stead (SUN_COMPAT weirdness).
1993-10-22 21:18:58 +00:00
pk 6f8b7828cd Oops, we do have a man page. 1993-10-22 21:10:42 +00:00
pk 32c8052648 ldd: list shared library dependencies. 1993-10-22 21:09:57 +00:00
pk 8846fa47e1 Some definitions for the `ld.so.hints' file. 1993-10-22 21:04:19 +00:00
pk 05d16c3379 relocation for non-RRS shared library symbols wasn't always set correctly. 1993-10-22 21:00:08 +00:00
pk 69af39d0a8 No rounding of bss size to page boundary in ZMAGIC a.out's, the kernel
chokes on it.
Some other minor changes.
1993-10-21 00:52:52 +00:00
pk 7f6cef25a6 Renamed confusingly named macro.
Fixed bug that was the result of said confusion.
1993-10-21 00:00:09 +00:00
pk 01f65b81e3 Make better distinction between SunOS and BSD. 1993-10-19 21:42:38 +00:00
mycroft 3b25c72e2e Clean up deleted files. 1993-10-18 23:34:36 +00:00
pk a12fe8bc68 NOMAN no longer true.
Failed to mention -assert option.
1993-10-18 23:34:29 +00:00
pk 2e6174a0d8 Rudimentary manual page for ld(1). 1993-10-17 23:33:50 +00:00
pk 1dff6d7850 Define our copy of `errno', as it is no longer defined in libc. 1993-10-17 15:40:11 +00:00
pk 2dfde2bc39 Moved <link.h> here from usr.bin/ld as it is needed by other modules
and utilities (eg. crt0, libc, nm).
1993-10-17 00:51:30 +00:00
pk 0aebf1d941 A linker supporting shared libraries (sparc dependent code). 1993-10-16 21:54:33 +00:00
pk 3d68d0acae A linker supporting shared libraries (run-time part). 1993-10-16 21:54:08 +00:00
pk 34f24bf837 A linker supporting shared libraries (x86 dependent code). 1993-10-16 21:53:13 +00:00
pk 97ca10e374 A linker supporting shared libraries. 1993-10-16 21:52:27 +00:00
cgd d6ff5db170 converted to use gnu malloc, and depend on it correctly 1993-10-07 07:23:44 +00:00
mycroft d8e126d18b Don't barf if two file names are the same. 1993-09-05 18:19:31 +00:00
mycroft e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +00:00
cgd c8bdad0560 convert magic numbers to network byte order, and attendent changes 1993-06-18 06:49:30 +00:00
mycroft 47ec3b0c74 Pick up QMAGIC stuff from BSDI and remove -screwballmode. 1993-04-16 13:33:02 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00