summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/ld
Commit message (Collapse)AuthorAgeFilesLines
* Fixed missing prototype for address_to_line(). One call passes anbde1999-07-041-1/+2
| | | | | int where an unsigned long is expected. This was fatal on i386's with 64-bit longs.
* Look in the new place for GCC bits.obrien1999-04-101-2/+2
|
* Change i386 in a few paths to ${MACHINE} to support MACHINE=pc98.kato1998-09-091-3/+3
|
* Install the legacy man file in section 1aout.jb1998-09-071-1/+2
|
* Add Xref to ldd(1).jkoshy1998-07-262-2/+4
| | | | PR: 7397
* Fixed printf format errors.bde1998-06-304-14/+18
|
* Add -DFREEBSD_AOUT to CFLAGS, to ensure that <link.h> gives us the correctpeter1998-06-121-2/+2
| | | | definitions, even when compiling the a.out ld under elf.
* These files were moved elsewhere (sbin/ldconfig, libexec/rtld-aout,peter1998-06-0120-5936/+0
| | | | usr.bin/ldd) as they stand alone and are under bsd-style license.
* Look for files in their new locations.peter1998-06-011-11/+7
|
* ELF preparation step 2:sos1998-05-263-6/+11
| | | | | | | | | | | | | | Move a.out libraries to /usr/lib/aout to make space for ELF libs. Make rtld usr /usr/lib/aout as default library path. Make ldconfig reject /usr/lib as an a.out library path. Fix various Makefiles for LIBDIR!=/usr/lib breakage. This will after a make world & reboot give a system that no longer uses /usr/lib/*, infact one could remove all the old libraries there, they are not used anymore. We are getting close to an ELF make world, but I'll let this all settle for a week or two...
* ELF preparation step 1:sos1998-05-251-1/+2
| | | | | | | | | | | | | | | Move our old a.out utils to /usr/libexec/aout. Enable binutils and put the utils in /usr/libexec/elf Enable objformat, a little helper program that calls the right utils based on /etc/objformat and $OBJFORMAT. This will enable the ELF generating tools. Remember that this is only step one, the system is still compiled and run in a.out format ONLY. Problem left to solve: The BSD manpages wins over the GNU equivalents as the are installed last. We need to distinguish between the manpages somehow...
* Add ELF support.dfr1998-05-012-11/+62
|
* Implement dladdr.jdp1998-02-061-4/+94
|
* Removed /etc/ld.so.conf reference from FILES section (people getalex1998-01-011-3/+1
| | | | | | | confused when they can't find it), but leave the reference to it as being a standard filename (which doesn't imply that it exists). Discussed with: jkh
* Use consistent spelling,hoek1997-12-251-1/+1
| | | | | | | | writeable -> writable (recall prior debate over this? :-) initialise -> initialize recognise -> recognize Merry Christmas! :)
* Make emacs work again. This is a workaround for the fact that thejdp1997-12-051-18/+33
| | | | | | | | | | | | | | | | | | | | emacs a.out file, self-generated by emacs's "unexec" function in "unexsunos4.c", is invalid. In particular, its "_end" symbol has the wrong value. The dynamic linker was using the value of that symbol to initialize its sbrk break level. The workaround is to peek at the executable's a.out header in memory, and calculate what "_end" should be based on the segment sizes. I will work out a fix for emacs and send it to the FSF. This dynamic linker workaround is still worthwhile, if only to avoid forcing all emacs users to build a new version. Note: xemacs gives a bogus warning at startup, for related reasons. The warning is harmless and can safely be ignored. I will send a patch to the xemacs maintainers to get rid of it, and meanwhile add a patch file to our port.
* Get rid of the dynamic linker's internal malloc package, and arrangejdp1997-11-294-863/+474
| | | | | | | | | | | | | | | | | | | | | | | | | | things so that it uses the same malloc as is used by the program being executed. This has several advantages, the big one being that you can now debug core dumps from dynamically linked programs and get useful information out of them. Until now, that didn't work. The internal malloc package placed the tables describing the loaded shared libraries in a mapped region of high memory that was not written to core files. Thus the debugger had no way of determining what was loaded where in memory. Now that the dynamic linker uses the application's malloc package (normally, but not necessarily, the system malloc), its tables end up in the regular heap area where they will be included in core dumps. The debugger now works very well indeed, thank you very much. Also ... Bring the program a little closer to conformance with style(9). There is still a long way to go. Add minimal const correctness changes to get rid of compiler warnings caused by the recent const changes in <dlfcn.h> and <link.h>. Improve performance by eliminating redundant calculations of symbols' hash values.
* In the "ldd -v" output, display the N_AUX information for eachjdp1997-11-281-3/+13
| | | | | symbol. It indicates whether the symbol refers to a function or a data object.
* Many places in the code NULL is used in integer context, wherephk1997-09-181-2/+2
| | | | | | | | | plain 0 should be used. This happens to work because we #define NULL to 0, but is stylistically wrong and can cause problems for people trying to port bits of code to other environments. PR: 2752 Submitted by: Arne Henrik Juul <arnej@imf.unit.no>
* spelling corrections.wosch1997-09-131-3/+3
| | | | | PR: docs/4450 Submitted by: josh@quick.net
* Touch up the code that implements "ldd -v".jdp1997-09-023-54/+86
| | | | | | | Bring the style of sods.c into better conformance. Add code to print the contents of each datum being relocated. Correct the logic that distinguishes between programs, shared libraries, and object files. Make the entire program "-Wall" clean.
* fix a few spelling changesjmg1997-08-301-1/+1
| | | | | | | | Submitted by: Josh Gilliam Closes PR's: 4429, 4431-4438 PS: He has agreed to submit all contrib fixes back to the original author.
* .Ar -l -> .Fl lsteve1997-08-232-4/+4
| | | | | PR: docs/3682 Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
* Add -R (rescan or refresh) option to rescan and rebuild the hintspeter1997-08-222-13/+27
| | | | | | | | | | | file based on the previous list of directories stored there which should overcome a weakness of the '-m' switch which can only add libs. This is an ideal way of updating the hints list after adding or removing a shlib since it will remove entries that are gone and doesn't need to have all the directories spelled out each time. (eg: rm -f /usr/lib/libtcl75*; ldconfig -R) This only works for version 2 hints files (which we've been generating for a year or so) which store the path.
* - In dlsym(), if the lookup fails using the original symbol, prepend annate1997-08-191-2/+30
| | | | | | | underscore and try looking it up again. This is a non-issue if we switch to ELF. Reviewed by: sef, jdp
* Implement dlsym(RTLD_NEXT, symbol).jdp1997-08-021-12/+64
|
* Allow ldconfig to accept files (containing directory paths) as well asjkh1997-07-112-9/+73
| | | | | | directory paths. Reviewed by: jkh & jdp Submitted by: Hans Zuidam <hans@brandinnovators.com>
* Configure static linkage in the normal way (default to -static usingbde1997-06-291-2/+2
| | | | NOSHARED?= yes).
* Configure static linkage in the normal way (default to -static usingbde1997-06-291-4/+6
| | | | | | NOSHARED?= yes). Split long lines.
* BYOC - Bring Your Own Calloc(3)phk1997-06-221-1/+14
| | | | Someday I'm going to face the music and dispose of this private malloc copy.
* Fix some old typos and misspellings.jdp1997-05-312-10/+10
|
* Document new -Bforcedynamic flag and -assert pure-text.dfr1997-05-292-6/+36
| | | | Reviewed by: jdp
* Typo fix.max1997-05-271-3/+3
| | | | | PR: 3693 Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
* Changes to support the kernel linker:dfr1997-05-133-8/+22
| | | | | | | | | | | | | | Add a -Bforcedynamic option which generates a dynamic object even if no shared libraries were given in the link. Make RRS in text section warnings conditional on "-assert pure-text" so that I can link non-PIC kernel modules without tons of link errors. Changes to bsd.lib.mk to follow. Fix a couple of bugs exposed by the fact that the kernel is not linked at zero. Reviewed by: jdp
* Fix a bug that caused the relocs for linker set members in sharedjdp1997-04-301-1/+3
| | | | | | | libraries to come out as 1-byte relocations instead of 4-byte relocations. Submitted by: Doug Rabson <dfr@nlsystems.com>
* Don't complain about no input files for `ld -f'. This fixes spuriousbde1997-04-251-2/+5
| | | | | | (ignored :-() errors for `make depend' in /sys/i386/boot/*. It's natural for there to be no libraries there and inconvenient to check for this in bsd.prog.mk.
* Fill the padding at the end of the runtime strings with zeros,jdp1997-04-251-2/+6
| | | | | | instead of leaving random data there. This makes the linker's output files more deterministic -- an important property for regression tests.
* Fixed `make depend' and related bogons. LDFLAGS was used forbde1997-04-161-10/+2
| | | | | | | | | | | ld-specific flags. LDFLAGS is really for ld-related flags for cc, not for ld, and some flags, e.g., -Bshareable, mean completely different things to cc and ld. Having the wrong things in LDFLAGS also broke the standard ${PROG} target. This was kludged around by using a special rule that depended on LDFLAGS being bogus. Fixing `make depend' broke the special rule but fixed the standard rule (except in the DESTDIR case, which was handled more strictly here than elsewhere).
* Don't print nonexistent library names for `ld -f [-Lfoo] -lbar'. Abde1997-04-111-2/+10
| | | | | | | | | dependency on `bar' is very unlikely to be correct. This is a quick fix for broken dependencies in gdb and many other places. The dependencies on internal libraries are now missing instead of wrong when `make depend' is run before the libraries are created.
* Add a new "-f" option to the linker, to print the resolved pathsjdp1997-03-223-5/+43
| | | | | | of all the files and libraries in the command line. Submitted by: bde (Bruce Evans)
* Revert $FreeBSD$ to $Id$peter1997-02-2236-36/+36
|
* Fix a bug involving alias (N_INDR) symbols. When building a sharedjdp1997-02-011-2/+8
| | | | | | | | | | | | | | | library with a shared object dependency that contained alias symbols, the linker incorrectly counted the number of symbols that would be written, resulting in a fatal internal error. Since our libc now contains some alias symbols (in "net/res_stubs.c"), this was sufficient to tickle the bug: "ld -Bshareable foo.so -lc". To fix it, I moved the accounting of alias symbols to a later point in the processing, where it is possible to count only those symbols that will actually be written to the output file. This fix is well-confined to affect alias symbols only. I have tested it with a full "make world". I am going to merge it into -2.2 after a few more days of living with it in -current.
* Use xmalloc instead of malloc in two places, so that out-of-memoryjdp1997-01-242-2/+2
| | | | | | conditions will be detected. Submitted by: Philippe Charnier <charnier@xp11.frmug.org>
* Pay attention to the environment variable "LD_IGNORE_MISSING_OBJECTS".jdp1997-01-172-1/+36
| | | | | | | | | If it is set to a nonempty string, then simply skip any missing shared libraries. This came up in a discussion long ago as a potentially useful feature at sysinstall time. For example, an X11 utility could be used without the X libraries being present, provided the utility had a mode in which no X functions were actually called.
* If a library is found in the hints file, but the library doesn't exist,jdp1997-01-141-0/+4
| | | | | | | | | ignore the hint. This is a straightforward fix, and it should go into 2.2 after a burn-in period of a few days. Noticed by: bde
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-1436-36/+36
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Sort cross references.wosch1997-01-133-9/+9
|
* Use the RTLD_NOW symbol, now that it is defined in <dlfcn.h>.jdp1997-01-121-4/+3
|
* Correct typos and spelling errors.jdp1997-01-121-5/+5
|
* Add support for the LD_BIND_NOW environment variable. If it is set to ajdp1997-01-122-23/+54
| | | | | | | | | | | | | | | | | | | | | nonempty string, then function calls are relocated at program start-up rather than lazily. This variable is standard on Sun and SVR4 systems. The dlopen() function now supports both lazy and immediate binding, as determined by its "mode" argument, which can be either 1 (RTLD_LAZY) or 2 (RTLD_NOW). I will add defines of these symbols to <dlfcn.h> as soon as I've done a little more checking to make sure they won't cause collisions or bootstrapping problems that would break "make world". The "LD_*" environment variables which alter dynamic linker behavior are now treated as unset if they are set to the empty string. This agrees with the standard SVR4 conventions for the dynamic linker. Add a work-around for programs compiled with certain buggy versions of crt0.o. The buggy versions failed to set the "crt_ldso" member of the interface structure. This caused certain error messages from the dynamic linker to begin with "(null)" instead of the pathname of the dynamic linker.
OpenPOWER on IntegriCloud