1 Star 0 Fork 10

马青宇/plat-raspi

forked from YingyiTech/plat-raspi
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
link.lds.S 3.09 KB
一键复制 编辑 原始数据 按行查看 历史
/*
* Copyright (C) 2018, bzt (bztsrc@github), https://github.com/bztsrc/raspi3-tutorial
* Copyright (C) 2020, Santiago Pagani <santiagopagani@gmail.com>
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
#include <uk/arch/limits.h>
#include <uk/plat/common/common.lds.h>
#define RAM_BASE_ADDR 0x80000
OUTPUT_FORMAT("elf64-littleaarch64")
OUTPUT_ARCH(aarch64)
ENTRY(_libraspiplat_entry)
PHDRS
{
text PT_LOAD FLAGS(PHDRS_PF_RX);
rodata PT_LOAD FLAGS(PHDRS_PF_R);
data PT_LOAD;
tls PT_TLS;
tls_load PT_LOAD;
stack PT_GNU_STACK FLAGS(PHDRS_PF_RW);
}
SECTIONS
{
. = RAM_BASE_ADDR;
_base_addr = .; /* Symbol to represent the load base address */
/* Code */
_text = .;
.text :
{
KEEP(*(.text.boot))
*(.text)
*(.text.*)
} :text
. = ALIGN(__PAGE_SIZE);
_etext = .;
/* Read-only data */
. = ALIGN(__PAGE_SIZE);
_rodata = .;
.rodata :
{
*(.rodata)
*(.rodata.*)
} :rodata
EXCEPTION_SECTIONS
CTORTAB_SECTION
INITTAB_SECTION
EVENTTAB_SECTION
_erodata = .;
/* Constructor tables (read-only) */
. = ALIGN(0x8);
_ctors = .;
.preinit_array : {
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
}
. = ALIGN(0x8);
.init_array : {
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
KEEP (*(.init_array .ctors))
PROVIDE_HIDDEN (__init_array_end = .);
}
_ectors = .;
. = ALIGN(__PAGE_SIZE);
TLS_SECTIONS
/* Read-write data that is initialized explicitly in code */
. = ALIGN(__PAGE_SIZE);
_data = .;
.data :
{
*(.data)
*(.data.*)
} :data
_edata = .;
/* Read-write data that is not initialized explicitly in code */
. = ALIGN(__PAGE_SIZE);
__bss_start = .;
.bss (NOLOAD) :
{
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(__PAGE_SIZE);
}
__bss_end = .;
. = ALIGN(__PAGE_SIZE);
_pagetables = .;
.pagetables (NOLOAD) :
{
. += 3 * __PAGE_SIZE;
}
. = ALIGN(__PAGE_SIZE);
_end = .;
.comment 0 : { *(.comment) }
DEBUG_SYMBOLS
/DISCARD/ : { *(.gnu*) *(.note*) }
}
__bss_size = (__bss_end - __bss_start)>>3;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/zlaazlaa/plat-raspi.git
git@gitee.com:zlaazlaa/plat-raspi.git
zlaazlaa
plat-raspi
plat-raspi
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385