/* $FreeBSD$ */
{
/* Read-only sections, merged into text segment: */
. = UBLDR_LOADADDR + SIZEOF_HEADERS;
.text :
{
*(.text)
/* .gnu.warning sections are handled specially by elf32.em. */
} =0
_etext = .;
/* Adjust the address for the data segment to the next page up. */
. = ((. + 0x1000) & ~(0x1000 - 1));
.data :
{
*(.data)
}
/* Put .ctors and .dtors next to the .got2 section, so that the pointers
get relocated with -mrelocatable. Also put in the .fixup pointers.
The current compiler no longer needs this, but keep it around for 2.7.2 */
PROVIDE (_GOT2_START_ = .);
PROVIDE (__CTOR_LIST__ = .);
PROVIDE (__CTOR_END__ = .);
PROVIDE (__DTOR_LIST__ = .);
PROVIDE (__DTOR_END__ = .);
PROVIDE (_FIXUP_START_ = .);
PROVIDE (_FIXUP_END_ = .);
PROVIDE (_GOT2_END_ = .);
PROVIDE (_GOT_START_ = .);
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
_edata = .;
.sbss :
{
PROVIDE (__sbss_start = .);
*(.sbss)
*(.scommon)
*(.dynsbss)
PROVIDE (__sbss_end = .);
}
.bss :
{
PROVIDE (__bss_start = .);
*(.dynbss)
*(.bss)
*(COMMON)
}
_end = . ;
/* Stabs debugging sections. */
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
/* GNU DWARF 1 extensions */
/* DWARF 1.1 and DWARF 2 */
/* DWARF 2 */
/* These must appear regardless of . */
}