File:  [Qemu by Fabrice Bellard] / qemu / roms / ipxe / src / arch / i386 / scripts / linux.lds
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:58:24 2018 UTC (8 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, qemu1001, qemu1000, qemu0151, HEAD
qemu 0.15.1

/* -*- sh -*- */

/*
 * Linker script for i386 Linux images
 *
 */

OUTPUT_FORMAT ( "elf32-i386", "elf32-i386", "elf32-i386" )
OUTPUT_ARCH ( i386 )

SECTIONS {
	_max_align = 32;

	. = 0x08048000;

	/*
	 * The text section
	 *
	 */

	. = ALIGN ( _max_align );
	.text : {
		_text = .;
		*(.text)
		*(.text.*)
		_etext = .;
	}

	/*
	 * The rodata section
	 *
	 */

	. = ALIGN ( _max_align );
	.rodata : {
		_rodata = .;
		*(.rodata)
		*(.rodata.*)
		_erodata = .;
	}

	/*
	 * The data section
	 *
	 * Adjust the address for the data segment.  We want to adjust up to
	 * the same address within the page on the next page up.
	 */

	. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1));
	. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
	.data : {
		_data = .;
		*(.data)
		*(.data.*)
		KEEP(*(SORT(.tbl.*)))
		_edata = .;
	}

	/*
	 * The bss section
	 *
	 */

	. = ALIGN ( _max_align );
	.bss : {
		_bss = .;
		*(.bss)
		*(.bss.*)
		*(COMMON)
		_ebss = .;
	}

	/*
	 * Weak symbols that need zero values if not otherwise defined
	 *
	 */

	.weak 0x0 : {
		_weak = .;
		*(.weak)
		*(.weak.*)
		_eweak = .;
	}
	_assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" );

	/*
	 * Dispose of the comment and note sections to make the link map
	 * easier to read
	 *
	 */

	/DISCARD/ : {
		*(.comment)
		*(.comment.*)
		*(.note)
		*(.note.*)
		*(.rel)
		*(.rel.*)
		*(.discard)
		*(.discard.*)
	}
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.