Home | History | Annotate | Download | only in libsa
History log of /src/sys/lib/libsa/loadfile.c
RevisionDateAuthorComments
 1.33  21-May-2021  jmcneill Capture the endianness of the ELF file loaded in 'netbsd_elf_data', the
same way we do already for the class in 'netbsd_elf_class'.
 1.32  05-Apr-2019  christos branches: 1.32.16; 1.32.18;
Go back ot using 0x%x instead of %#x because we don't always support the
format. See subr_prf.c
 1.31  31-Mar-2019  christos fix warnings, printf formats, etc.
 1.30  20-May-2008  ad branches: 1.30.86;
Take $MACHINE into account when looking for modules.
 1.29  20-May-2008  ad Extract kernel version from the note section and stuff into a global
netbsd_version.
 1.28  28-Apr-2008  martin branches: 1.28.2;
Remove clause 3 and 4 from TNF licenses
 1.27  29-Dec-2007  tsutsui branches: 1.27.6; 1.27.8; 1.27.10;
ANSIfy.
 1.26  24-Nov-2007  isaki branches: 1.26.6;
style, indent, and ANSI-fy.
 1.25  09-Dec-2006  chs branches: 1.25.18; 1.25.20; 1.25.26;
in fdloadfile(), fail if we can't read the entire exec header.
 1.24  11-Dec-2005  christos branches: 1.24.20; 1.24.22; 1.24.24;
merge ktrace-lwp.
 1.23  07-Aug-2003  agc branches: 1.23.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.22  24-Feb-2003  pk branches: 1.22.2;
Introduce fdloadfile() to load an image from an open file descriptor;
implement loadfile() in terms of it.

This allows clients to open a file once and "load" it multiple times (e.g.
first with COUNT_KERNEL, then with LOAD_KERNEL) without the side-effects
of multiple open calls.
 1.21  11-Dec-2002  pk Only display the final progress counter if any of the LOAD_ flags was given.
Fix comment describing the return value.
 1.20  31-Oct-2001  thorpej Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
 1.19  31-Oct-2001  thorpej Build the loadfile() a.out, ECOFF, and ELF back-ends as separate
objects.
 1.18  30-Oct-2001  thorpej Split the exec formats included by loadfile() into separate files.
Primary goal: explcitly select which ELF format (elf32 or elf64) to
support for a cross tool which uses loadfile().
 1.17  31-Jul-2001  bjh21 branches: 1.17.4;
When loading ELF, zero out:
The e_shstrndx field in the ELF header, since we don't load .shstrtab.
The sh_name field in each section header, for the same reason.
The sh_offset field for any section we don't load.

This means the kernel has some chance of knowing what it's being given. It
also means that the behaviour of old kernels with new loaders should be
deterministic (if not terribly useful: they still can't find the symbol
table).
 1.16  31-Jul-2001  bjh21 G/C "off", since it was just tracking the difference between maxp and elfp.
 1.15  31-Jul-2001  bjh21 Fix a small memory leak when counting the size of the symbol table (shp was
ALLOC'ed if (LOAD_SYM|COUNT_SYM), but FREEd if (LOAD_SYM)).
 1.14  31-Jul-2001  bjh21 When loading an ELF kernel, don't load all the STRTAB sections. Instead, just
load those STRTAB sections that are referenced by a SYMTAB that we're loading.

The main advantage of this is that (at least with the binaries output by my
ARM ELF linker) this removes the need to seek backwards through the file, which
is a big win when loading a gzipped kernel.

While we're here, don't allocate space for string tables we don't load.
 1.13  19-Jul-2001  fvdl Avoid warnings about uninitialised usage.
 1.12  13-Jul-2001  christos Back out previous. The booter will need to find the symbol table itself,
as explained in the code.
 1.11  13-Jul-2001  christos From Nigel Pearson: Make SYMS and NSYMS work on ELF.
The MacOS booter needs them.
 1.10  03-Dec-2000  tsutsui branches: 1.10.2; 1.10.4;
Don't try to load a.out header if there is no space for it before text.
 1.9  11-Nov-2000  tsutsui Don't print "]" if loading kernel does not have symbol table.
 1.8  01-Nov-2000  ragge Add define NO_MID_CHECK that avoids checking of the a.out mid field.
 1.7  29-Dec-1999  hannken branches: 1.7.4;
Fix IS_DATA and IS_TEXT. PF_X and PF_W are valid on p_pflags, not p_ptype.
 1.6  13-Nov-1999  thorpej Backout my libsa changes.
 1.5  11-Nov-1999  thorpej Update for the improvements to libsa, and don't reference libkern.h.
 1.4  25-Oct-1999  kleink Update to match new SVR4-style definition names in <sys/exec_elf.h>.
 1.3  08-Oct-1999  itohy branches: 1.3.2; 1.3.4;
- a.out header is not a part of text segment in NMAGIC.
- Fix section alignment code.
Patch supplied by Izumi Tsutsui, PR #8575.
 1.2  28-Apr-1999  christos branches: 1.2.2; 1.2.4;
cosmetic printf change
 1.1  28-Apr-1999  christos MI loadfile (used by i386, pmax and sparc shortly)
 1.2.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1  21-Jun-1999  thorpej Sync w/ -current.
 1.3.4.1  15-Nov-1999  fvdl Sync with -current
 1.3.2.3  08-Dec-2000  bouyer Sync with HEAD.
 1.3.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.3.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.7.4.2  15-Mar-2003  he Apply patch (requested by gmcgarry in ticket #7):
Initialize some local variables so that this compiles cleanly with
later toolchains.
 1.7.4.1  15-Dec-2000  he Pull up revision 1.9 (requested by tsutsui):
Don't print ``]'' if loading kernel does not have a symbol table.
 1.10.4.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.4.1  03-Aug-2001  lukem update to -current
 1.10.2.3  11-Dec-2002  thorpej Sync with HEAD.
 1.10.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.10.2.1  24-Aug-2001  nathanw Catch up with -current.
 1.17.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.22.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.22.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.22.2.1  03-Aug-2004  skrll Sync with HEAD
 1.23.16.3  21-Jan-2008  yamt sync with head
 1.23.16.2  07-Dec-2007  yamt sync with head
 1.23.16.1  30-Dec-2006  yamt sync with head.
 1.24.24.1  12-Jan-2007  bouyer Pull up following revision(s) (requested by chs in ticket #348):
sys/lib/libsa/loadfile.c: revision 1.25
in fdloadfile(), fail if we can't read the entire exec header.
 1.24.22.1  10-Dec-2006  yamt sync with head.
 1.24.20.1  12-Jan-2007  ad Sync with head.
 1.25.26.2  18-Feb-2008  mjf Sync with HEAD.
 1.25.26.1  08-Dec-2007  mjf Sync with HEAD.
 1.25.20.1  09-Jan-2008  matt sync with HEAD
 1.25.18.1  27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.26.6.1  02-Jan-2008  bouyer Sync with HEAD
 1.27.10.2  04-May-2009  yamt sync with head.
 1.27.10.1  16-May-2008  yamt sync with head.
 1.27.8.2  04-Jun-2008  yamt sync with head
 1.27.8.1  18-May-2008  yamt sync with head.
 1.27.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.28.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.30.86.1  10-Jun-2019  christos Sync with HEAD
 1.32.18.1  31-May-2021  cjep sync with head
 1.32.16.1  17-Jun-2021  thorpej Sync w/ HEAD.

RSS XML Feed