1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3/* 4 * This linker script is used to link rmodules (relocatable modules). It 5 * links at zero so that relocation fixups are easy when placing the binaries 6 * anywhere in the address space. 7 * 8 * NOTE: The program's loadable sections (text, module_params, and data) are 9 * packed into the flat blob. The rmodule loader assumes the entire program 10 * resides in one contiguous address space. Therefore, alignment for a given 11 * section (if required) needs to be done at the end of the preceding section. 12 * e.g. if the data section should be aligned to an 8 byte address the text 13 * section should have ALIGN(8) at the end of its section. Otherwise there 14 * won't be a consistent mapping between the flat blob and the loaded program. 15 */ 16 17#include <memlayout.h> 18#include <arch/header.ld> 19 20SECTIONS 21{ 22 SET_COUNTER(rmodule, 0x00000000) 23 24 /* program.ld is directly included because there's no one particular 25 * class that rmodule is used on. */ 26 #include <lib/program.ld> 27} 28