freebsd-nq/sys/amd64/include
John Polstra 47633640aa Change the load address of the ELF dynamic linker from "2L*MAXDSIZ"
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.
1999-02-07 23:49:56 +00:00
..
pc Nuke the nonexistend pad bytes from the end of the DMI header structure. 1997-08-04 03:31:23 +00:00
apicreg.h Maintain a mapping from irq number to (ioapic number, int pin) tuple, 1998-09-06 22:41:42 +00:00
asm.h Fixed longstanding profiling bug. The frame pointer wasn't set up 1997-04-23 19:26:04 +00:00
asmacros.h Make the necessary changes so that an ELF kernel can be built. I 1997-04-22 06:55:47 +00:00
atomic.h Change various syscalls to use size_t arguments instead of u_int. 1998-08-24 08:39:39 +00:00
bus_amd64.h Don't pretend to support ix86's with 16-bit ints by using longs just 1998-09-29 09:06:00 +00:00
bus_at386.h Don't pretend to support ix86's with 16-bit ints by using longs just 1998-09-29 09:06:00 +00:00
bus_dma.h Don't pretend to support ix86's with 16-bit ints by using longs just 1998-09-29 09:06:00 +00:00
bus_memio.h Implementation of Bus Space for FreeBSD-x86. 1998-01-15 07:32:56 +00:00
bus_pio.h Implementation of Bus Space for FreeBSD-x86. 1998-01-15 07:32:56 +00:00
bus.h Don't pretend to support ix86's with 16-bit ints by using longs just 1998-09-29 09:06:00 +00:00
clock.h Remove special handling for resuming clock interrupt when using APIC_IO. 1998-03-05 21:45:53 +00:00
cpu.h Added a hopefully-machine-independent macro for determining if a 1999-02-02 09:08:23 +00:00
cpufunc.h Don't put operands in clobber lists, since this is dubious for old 1999-01-09 13:00:27 +00:00
cputypes.h Recognize Pentium II Xeon, Celeron and Pentium III cpus. Because CPU 1999-02-04 16:48:26 +00:00
db_machdep.h Backed out rev.1.5. if %cs is bad, %eip may be bad, but this is no longer 1997-03-28 12:46:52 +00:00
elf.h Change the load address of the ELF dynamic linker from "2L*MAXDSIZ" 1999-02-07 23:49:56 +00:00
exec.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
float.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
floatingpoint.h Cast return values to the appropriate fp_*_t. Note that the man page 1998-04-27 14:17:30 +00:00
fpu.h Removed unused #includes and a stale forward declaration. 1997-07-20 11:06:44 +00:00
frame.h VM86 kernel support. 1997-08-09 00:04:06 +00:00
ieeefp.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
md_var.h Moved declarations related to copying and zeroing to the right place. 1999-01-08 16:29:59 +00:00
mptable.h Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 01:59:53 +00:00
npx.h Removed unused #includes and a stale forward declaration. 1997-07-20 11:06:44 +00:00
pcb_ext.h A couple of missing doscmd header files. Messed up again. Now can 1997-08-09 04:55:05 +00:00
pcb.h Ifdefed some SMP and VM86 code. Note that although VM86 is not a global 1998-02-03 21:27:50 +00:00
pci_cfgreg.h Completely replace the PCI bus driver code to make it better reflect 1997-05-26 15:08:43 +00:00
pcpu.h Presently there is only one `currentldt' variable for all cpus 1998-08-18 07:47:12 +00:00
pmap.h Move the declaration of PPro_vmtrr from the header file to pmap.c, 1998-11-24 20:25:52 +00:00
proc.h Convert md_regs from an int[] to a struct trapframe *. It simplifies 1997-05-07 19:55:13 +00:00
profile.h Make profiling work for ELF. gprof now autodetects the format of 1998-09-07 23:32:00 +00:00
psl.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ptrace.h Disallow reading the current kernel stack. Only the user structure and 1998-05-19 00:00:14 +00:00
reg.h Add new functions fill_fpregs() and set_fpregs(), like fill_regs() 1998-09-14 22:43:40 +00:00
reloc.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
resource.h A small fragment of new ISA framework: manifest constants for the resources 1998-10-29 01:56:23 +00:00
segments.h Sun Bug ID 1251858 (on http://sunsolve1.sun.com) discusses the way that 1999-01-28 11:45:49 +00:00
setjmp.h Suggested by: bde 1998-01-20 09:09:24 +00:00
signal.h VM86 kernel support. 1997-08-09 00:04:06 +00:00
smp.h Maintain a mapping from irq number to (ioapic number, int pin) tuple, 1998-09-06 22:41:42 +00:00
specialreg.h - Implement enabling write allocate on AMD K5/K6/K6-2 cpus. 1998-10-06 13:16:29 +00:00
sysarch.h u_int --> unsigned int, remove (now unneeded) <sys/types.h> 1998-07-28 15:22:51 +00:00
trap.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tss.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
varargs.h Fixed va_arg() to work for small args (as in stdarg.h). 1997-06-21 16:20:55 +00:00
vmparam.h Increased MAXTSIZ to 128MB...there are binaries that get quite large. 1998-06-12 09:10:22 +00:00