summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/elf.h
Commit message (Collapse)AuthorAgeFilesLines
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-2/+2
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* On the i386, load the ELF dynamic linker where an mmap(0, ...) wouldjdp1999-02-191-5/+7
| | | | | | | | | put it, just like on the Alpha. It was wrong to load it at the fixed address 0x08000000. That should only be done if the dynamic linker is an executable (not a shared object) with a specific load address encoded in the object file itself. This fixes the recent breakage in the Linux emulator.
* Change the load address of the ELF dynamic linker from "2L*MAXDSIZ"jdp1999-02-071-1/+11
| | | | | | | | | | | | | | | | | | | | | | | to an architecture-specific value defined in <machine/elf.h>. This solves problems on large-memory systems that have a high value for MAXDSIZ. The load address is controlled by a new macro ELF_RTLD_ADDR(vmspace). On the i386 it is hard-wired to 0x08000000, which is the standard SVR4 location for the dynamic linker. On the Alpha, the dynamic linker is loaded MAXDSIZ bytes beyond the start of the program's data segment. This is the same place a userland mmap(0, ...) call would put it, so it ends up just below all the shared libraries. The rationale behind the calculation is that it allows room for the data segment to grow to its maximum possible size. These changes have been tested on the i386 for several months without problems. They have been tested on the Alpha as well, though not for nearly as long. I would like to merge the changes into 3.1 within a week if no problems have surfaced as a result of them.
* Add an ELF_MACHINE_OK() macro for compatability with the Alpha version.peter1998-10-181-1/+3
|
* Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These givejdp1998-09-141-1/+3
| | | | | | | | the relevant characteristics of the native machine, for building and checking Elf_Ehdr structures. Add structures to represent ELF "note" headers. Add defines for the note types used in ELF core files.
* Revamp the ELF include files to better support architecture-independentjdp1998-08-161-1/+6
| | | | | | | | | | | | | | | | | | | | | applications. Here's how it works. The kernel should include <machine/elf.h> to get the definitions for the native architecture. It can reference the various ELF structures with generic names like Elf_Sym, Elf_Shdr, etc. A define __ELF_WORD_SIZE is also available with the value 32 or 64 as appropriate for the native architecture. Generic applications should include <elf.h>, which is just a wrapper for <machine/elf.h>. Applications such as object file dumpers that need to deal with foreign ELF files can include <sys/elf32.h> and/or <sys/elf64.h>. Both can be included from the same source file if desired. The structure names must be referenced using wordsize-specific names like Elf32_Sym, Elf64_Shdr, etc. I haven't change the alpha stuff, but I haven't broken it either.
* Define some machine characteristics using symbol naming on conventionspeter1997-08-301-1/+7
| | | | in place in the other BSD's.
* Fill out the ELF header files to make them more or less complete.jdp1997-05-211-0/+106
Fix a macro name that was misspelled both in brandelf.c and imgact_elf.h.
OpenPOWER on IntegriCloud