/* * Linker script for Hexagon kernel * * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */#include <asm-generic/vmlinux.lds.h>#include <asm/asm-offsets.h> /* Most of the kernel defines are here */#include <asm/mem-layout.h> /* except for page_offset */#include <asm/cache.h> /* and now we're pulling cache line size */OUTPUT_ARCH(hexagon)ENTRY(stext)jiffies = jiffies_64;/*See asm-generic/vmlinux.lds.h for expansion of some of these macros.See asm-generic/sections.h for seemingly required labels.*/#define PAGE_SIZE _PAGE_SIZESECTIONS{ . = PAGE_OFFSET; __init_begin = .; HEAD_TEXT_SECTION INIT_TEXT_SECTION(PAGE_SIZE) PERCPU_SECTION(L1_CACHE_BYTES) __init_end = .; . = ALIGN(_PAGE_SIZE); _stext = .; .text : AT(ADDR(.text)) { _text = .; TEXT_TEXT SCHED_TEXT LOCK_TEXT KPROBES_TEXT *(.fixup) } _etext = .; INIT_DATA_SECTION(PAGE_SIZE) _sdata = .; RW_DATA_SECTION(32,PAGE_SIZE,PAGE_SIZE) RO_DATA_SECTION(PAGE_SIZE) _edata = .; EXCEPTION_TABLE(16) NOTES BSS_SECTION(_PAGE_SIZE, _PAGE_SIZE, _PAGE_SIZE) _end = .; /DISCARD/ : { EXIT_TEXT EXIT_DATA EXIT_CALL } STABS_DEBUG DWARF_DEBUG}
/*
* Linker script for Hexagon kernel
*
* Copyright (c) 2010-2013, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <asm-generic/vmlinux.lds.h>
#include <asm/asm-offsets.h> /* Most of the kernel defines are here */
#include <asm/mem-layout.h> /* except for page_offset */
#include <asm/cache.h> /* and now we're pulling cache line size */
OUTPUT_ARCH(hexagon)
ENTRY(stext)
jiffies = jiffies_64;
/*
See asm-generic/vmlinux.lds.h for expansion of some of these macros.
See asm-generic/sections.h for seemingly required labels.
*/
#define PAGE_SIZE _PAGE_SIZE
SECTIONS
{
. = PAGE_OFFSET;
__init_begin = .;
HEAD_TEXT_SECTION
INIT_TEXT_SECTION(PAGE_SIZE)
PERCPU_SECTION(L1_CACHE_BYTES)
__init_end = .;
. = ALIGN(_PAGE_SIZE);
_stext = .;
.text : AT(ADDR(.text)) {
_text = .;
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
KPROBES_TEXT
*(.fixup)
}
_etext = .;
INIT_DATA_SECTION(PAGE_SIZE)
_sdata = .;
RW_DATA_SECTION(32,PAGE_SIZE,PAGE_SIZE)
RO_DATA_SECTION(PAGE_SIZE)
_edata = .;
EXCEPTION_TABLE(16)
NOTES
BSS_SECTION(_PAGE_SIZE, _PAGE_SIZE, _PAGE_SIZE)
_end = .;
/DISCARD/ : {
EXIT_TEXT
EXIT_DATA
EXIT_CALL
}
STABS_DEBUG
DWARF_DEBUG
}