/* Copyright (C) 2005, David Decotigny This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* We generate binary in the ELF format */ OUTPUT_FORMAT("elf32-i386","elf32-i386","elf32-i386"); /* The entry point of the program is _start (defined in crt.c) */ ENTRY(_start) /* The architecture is i386 */ OUTPUT_ARCH("i386") SECTIONS { /* our program is loaded at 2G */ . = 0x80000000; /* Beginning of the text section */ .text : { /* This section includes the code */ *(.text*) /* Defines the 'etext' and '_etext' at the end */ PROVIDE(etext = .); PROVIDE(_etext = .); } /* Beginning of the data section */ .data . : { *(.data*) PROVIDE(edata = .); PROVIDE(_edata = .); } /* Beginning of the read-only data section */ .rodata . : { *(.rodata*) *(.eh_frame*) PROVIDE(erodata = .); PROVIDE(_erodata = .); } /* Beginning of the BSS section (global uninitialized data) */ .bss SIZEOF(.rodata) + ADDR(.rodata) : { PROVIDE(bbss = .); PROVIDE(_bbss = .); *(.bss) *(COMMON) PROVIDE(ebss = .); PROVIDE(_ebss = .); } }