summaryrefslogtreecommitdiffstats
path: root/sys/kern/link_aout.c
Commit message (Collapse)AuthorAgeFilesLines
* Change the conditionaal so that we only build this on i386 instead ofdfr2000-09-291-1/+1
| | | | trying to build it on all non-alpha arches.
* Move the truncation code out of vn_open and into the open system callmckusick2000-07-041-2/+3
| | | | | | | | | | after the acquisition of any advisory locks. This fix corrects a case in which a process tries to open a file with a non-blocking exclusive lock. Even if it fails to get the lock it would still truncate the file even though its open failed. With this change, the truncation is done only after the lock is successfully acquired. Obtained from: BSD/OS
* Remove unneeded #include <vm/vm_zone.h>phk2000-04-301-1/+0
| | | | Generated by: src/tools/tools/kerninclude
* First round implementation of a fine grain enhanced module to modulepeter2000-04-291-77/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | version dependency system. This isn't quite finished, but it is at a useful stage to do a functional checkpoint. Highlights: - version and dependency metadata is gathered via linker sets, so things are handled the same for static kernels and code built to live in a kld. - The dependencies are at module level (versus at file level). - Dependencies determine kld symbol search order - this means that you cannot link against symbols in another file unless you depend on it. This is so that you cannot accidently unload the target out from underneath the ones referencing it. - It is flexible enough that we can put tags in #include files and macros so that we can get decent hooks for enforcing recompiles on incompatable ABI changes. eg: if we change struct proc, we could force a recompile for all kld's that reference the proc struct. - Tangled dependency references at boot time are sorted. Files are relocated once all their dependencies are already relocated. Caveats: - Loader support is incomplete, but has been worked on seperately. - Actual enforcement of the version number tags is not active yet - just the module dependencies are live. The actual structure of versioning hasn't been agreed on yet. (eg: major.minor, or whatever) - There is some backwards compatability for old modules without metadata but I'm not sure how good it is. This is based on work originally done by Boris Popov (bp@freebsd.org), but I'm not sure he'd recognize much of it now. Don't blame him. :-) Also, ideas have been borrowed from Mike Smith.
* * Rewrite to use kobj(9) instead of hard-coded function tables.dfr2000-04-241-77/+69
| | | | | | | * Report link errors to stdout with uprintf() so that the user can see what went wrong (PR kern/9214). * Add support code to allow module symbols to be loaded into GDB using the debugger's "sharedlibrary" command.
* Fixed a cast of a pointer to an integer of a possibly different size.bde1999-12-241-2/+2
| | | | | Fixed casts of non-`void *' pointers to uintptr_t. Fixed related style bugs. This file uses perfectly non-KNF formatting for casts.
* Change incorrect NULLs to 0seivind1999-12-211-1/+1
|
* Introduce NDFREE (and remove VOP_ABORTOP)eivind1999-12-151-0/+3
|
* Take a shot at implementing the fix for PR 15014 for the a.out kernelpeter1999-11-281-4/+6
| | | | | | | linker as well. PR: 15014 Submitted by: Vladimir N. Silyaev <vns@delta.odessa.ua>
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add enough include files to make this actually compile on an a.out system.eivind1999-05-151-1/+8
|
* Use KERNBASE for the load address of the kernel rather than magic constantspeter1999-05-081-6/+3
| | | | as it seems to work.. (at least on i386/elf).
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-281-8/+8
| | | | kernel compile
* Don't try to call SYSUNINIT functions if there was a link error.dfr1999-01-251-1/+4
| | | | Reviewed by: Peter Wemm <peter@netplex.com.au>
* The handle for the kernel is common. With this fix, ELF kernels can loadpeter1998-11-041-10/+5
| | | | a.out kld modules, and a.out kernels can load ELF kld modules.
* Initialize the a.out kld loader after elf, so that elf gets first shot atpeter1998-11-031-2/+2
| | | | a kldload attempt.
* Nitpicking and dusting performed on a train. Removes trivial warningsphk1998-10-251-2/+1
| | | | about unused variables, labels and other lint.
* Fix some bugs in link_aout.c caused by using uninitialized malloc space.peter1998-10-161-1/+4
| | | | Pre-Approved by: jkh
* Updates for KLD backends.peter1998-10-091-34/+102
| | | | | | | | | | | | | | | - symbol_values checks that the symbol is indeed belonging to the correct symbol and string table pairs before looking up. (since there could be many pairs, and KLD/DDB need to find out). - different ops for files versus preload modules - the unload mechanism is different. (a preloaded module has to be deleted on unload since the in-core image is tainted by relocation and variables used) - Do not build an a.out kernel module if we're running on an elf kernel. :-) Note that it should theoretically be possible to mix a.out and elf KLD modules providing -mno-underscores was used to compile it, or some other symbol conversion takes place. - Support preload modules (even though /boot/loader doesn't yet) - Search the module path when loading files.
* Avoid a possible memory leak.dfr1998-09-111-2/+8
|
* Make ELF kernels build again.jdp1998-08-161-1/+3
|
* Use [u]intptr_t instead of [u_]long for casts between pointers andbde1998-08-161-2/+2
| | | | integers. Don't forget to cast to (void *) as well.
* Modify the internal interfaces to the kernel linker to make it possibledfr1998-08-121-8/+69
| | | | for DDB to use its symbol tables.
* Cast pointers to uintptr_t/intptr_t instead of to u_long/long,bde1998-07-151-4/+4
| | | | | | | respectively. Most of the longs should probably have been u_longs, but this changes is just to prevent warnings about casts between pointers and integers of different sizes, not to fix poorly chosen types.
* Don't depend on gcc's feature of casting lvalues.bde1998-07-071-2/+3
|
* This commit fixes various 64bit portability problems required fordfr1998-06-071-1/+6
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* Fixed a sloppy common-style definitions.bde1997-11-201-1/+8
|
* Remove a bunch of variables which were unused both in GENERIC and LINT.phk1997-11-071-5/+1
| | | | Found by: -Wunused
* make a couple functions static...jmg1997-10-241-3/+3
| | | | | also change module_register_static to module_register_init as this function initalizes the module for both dynamic and static modules...
* Removed unused #includes.bde1997-08-021-7/+1
|
* This is the kernel linker. To use it, you will first need to applydfr1997-05-071-0/+448
the patches in freefall:/home/dfr/ld.diffs to your ld sources and set BINFORMAT to aoutkld when linking the kernel. Library changes and userland utilities will appear in a later commit.
OpenPOWER on IntegriCloud