0823672d94
LLD complains that the type of .dynamic was changed. Fix this by copying the approach used in the mips64 ldscript. I do not have hardware to test this change so I only verified that the kernel links and the section layout looks sensible. Reviewed By: imp, emaste Differential Revision: https://reviews.freebsd.org/D24093
67 lines
895 B
Plaintext
67 lines
895 B
Plaintext
/* $FreeBSD$ */
|
|
|
|
ENTRY(_start)
|
|
|
|
PHDRS {
|
|
text PT_LOAD FLAGS(0x7);
|
|
}
|
|
|
|
SECTIONS {
|
|
. = KERNLOADADDR + SIZEOF_HEADERS;
|
|
|
|
.text : {
|
|
*(.text)
|
|
etext = .;
|
|
_etext = .;
|
|
. = ALIGN(0x2000);
|
|
} : text
|
|
|
|
. = ALIGN(0x2000);
|
|
.rodata : {
|
|
_fdata = .;
|
|
*(.rodata)
|
|
. = ALIGN(32);
|
|
}
|
|
|
|
.note.gnu.build-id : {
|
|
PROVIDE (__build_id_start = .);
|
|
*(.note.gnu.build-id)
|
|
PROVIDE (__build_id_end = .);
|
|
}
|
|
|
|
.data : {
|
|
_rwdata = .;
|
|
*(.data)
|
|
. = ALIGN(32);
|
|
}
|
|
.plt : { *(.plt) }
|
|
_gp = ALIGN(16) + 0x7ff0;
|
|
.got : { *(.got.plt) *(.got) }
|
|
.dynamic : { *(.dynamic) }
|
|
|
|
.sdata : {
|
|
_small_start = .;
|
|
*(.sdata)
|
|
. = ALIGN(32);
|
|
edata = .;
|
|
_edata = .;
|
|
} : text
|
|
|
|
.sbss : {
|
|
__bss_start = .;
|
|
_fbss = .;
|
|
*(.sbss) *(.scommon)
|
|
_small_end = .;
|
|
. = ALIGN(32);
|
|
}
|
|
|
|
.bss : {
|
|
*(.bss)
|
|
*(COMMON)
|
|
. = ALIGN(32);
|
|
_end = .;
|
|
end = .;
|
|
}
|
|
|
|
}
|