I am using the following linker script at the moment:
Code: Select all
OUTPUT_FORMAT("binary")
ENTRY(_start)
phys = 0xFFFF800000100000;
SECTIONS
{
.text phys : AT(phys) {
code = .;
*(.bootstrap32)
*(.text)
*(.rodata)
. = ALIGN(4096);
}
.data (phys + (data - code)) : AT(phys + (data - code))
{
data = .;
*(.data)
. = ALIGN(4096);
}
.bss (phys + (bss - code)) : AT(phys + (bss - code))
{
bss = .;
*(.bss)
. = ALIGN(4096);
end = .;
}
}
However, if I try to put this section inside the ".bss" above, like so:
Code: Select all
. = 0xFFFF828000000000;
_per_cpu_start = .;
*(.data_per_cpu)
_per_cpu_end = .;
Can I somehow force the linker not to put any zeroes or other data in that area, but instead simply relocate references to within the per_cpu_data section to match those addresses?