Commit Graph

46 Commits

Author SHA1 Message Date
pk 815031cee0 Look up commons in shared objects and replace the common definition if:
the so defn is data, not weak, and first class. Fixes PR#2153.
1996-03-05 22:00:30 +00:00
pk 4162cf6459 Simplify update of r_addend field in relocation record if `-r' is on.
The old quirky code did strange things.
1995-12-28 18:04:59 +00:00
pk d579c1b1db Handle object code with the "large" model PIC (eg. gcc's `-fPIC' option). 1995-08-04 21:49:00 +00:00
pk 7787772880 Add `-R' to record internal library search paths.
Usage note: `cc -Xlinker -R<path>'.
1995-06-30 12:33:56 +00:00
pk 4b7629e4ba Honour current umask when turning `x' bits on (from Joerg Wunsch). 1995-06-15 09:02:57 +00:00
pk ad760ce3d6 Implement compiled-in library search paths: any `-L' argument encountered
while `dynamic link-mode' is on, is recorded in the executable. The
run-time linker will search these paths after $LD_LIBRARY_PATH but
before the default set and those currently in the hints file.
The feature is disabled whenever for set[ug]id programs.
1995-06-04 21:56:22 +00:00
pk 9e92d48d1a Fix confusion over a.out header flags. 1995-01-29 14:47:06 +00:00
pk 8e0a22a5fb "weak symbol" support (fudged into `a.out' by means of the n_other field).
Weak symbols are to replace indirect (type N_INDR) symbols and will help
to clean up name spaces in libraries.

Also, some misc. bug fixes, including PR 586, and use stdio for the output
file entirely.
1994-12-23 20:32:51 +00:00
pk 80a2d73dcc Don't let N_INDR entries override already defined symbols. 1994-12-17 16:22:57 +00:00
pk 7df5d3ecf2 Another md macro to initialize a home-made struct reloc needed
for N_SET* type relocations in shared objects.
1994-11-30 18:24:56 +00:00
pk 1f746cfba1 Prevent infinite loop on dubious input. 1994-10-30 14:18:42 +00:00
pk 633e8b717d Workaround a problem with alias symbols.
Add some more symbol trace points.
1994-10-19 20:15:35 +00:00
pk 74920774ee init_rrs() no longer needed.
Adapt to changed flags.
1994-08-21 15:18:44 +00:00
pk 864ea66ef9 Use new a.out flags. 1994-08-13 08:42:33 +00:00
pk f5ca392cc8 Propagate warning symbols into shared libraries too.
Fix RRS relocation counters.
1994-07-23 08:40:45 +00:00
pk 2b43180d6d Propagate N_WARNING symbols to `-r' output. 1994-07-21 14:59:01 +00:00
pk 1d1aa8ff38 Some refinement in resolving symbols from shared objects. 1994-06-29 11:18:45 +00:00
pk af393037b0 N_WARNING symbols handling. 1994-06-24 13:33:40 +00:00
pk 3f8aad55bf Fix false assumption about external (N_EXT) symbols always being
in the global symbol table (reported by Geoff Rehmet).
Some misc. reformatting.
1994-06-16 13:41:52 +00:00
pk a6bf4f8176 Conversion to err()/warn() for error reports.
Minor bug fixes:
	a case of free()ing in the wrong order. (from Rick Murphey).
	processing alias symbol twice (sometimes).
Some miscellaneous cleanup.
1994-06-10 15:16:04 +00:00
pk 6082493356 `-A' implies `-Bstatic'
`-d' implies `-dc'
1994-05-25 16:09:40 +00:00
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
mycroft 31cfe023f3 Remove extra `\n' in message. 1994-04-10 01:52:02 +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 b120bb4e37 Suck in lseek() prototype. 1994-03-31 14:17:29 +00:00
pk 637c349300 Update relocation addend correctly (affects Sparc only). 1994-02-10 20:58:50 +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 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 0cc050772f Hooks for for shared C++ objects with static contructors/destructors. 1993-12-20 22:44:35 +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
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 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 2fb1bba1ae Do a better job of recognising data in text segments, eg. `const char []'. 1993-11-05 12:47:11 +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 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 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 97ca10e374 A linker supporting shared libraries. 1993-10-16 21:52:27 +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
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