blob: fdb7e2f95764cb4a5da871b35e974012d80e0813 [file] [log] [blame]
SECTIONS {
/* Points to the time values (accessible to the vDSO)
to be one page (4096) above the vvar */
time_values = . - 0x2000;
/* Points the variable vvar (accessible to the vDSO)
to be one page (4096) above the vDSO */
vvar = . - 0x1000;
. = SIZEOF_HEADERS;
.rodata : {
*(.rodata*)
} :load
.text : { *(.text*) } :load
.eh_frame : { *(.eh_frame) } :load
.note : { *(.note.gnu.build-id) } :load :note
.hash : { *(.hash) } :load
.dynamic : { *(.dynamic) } :load :dynamic
.gnu.hash : { *(.gnu.hash) } :load
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.got : { *(.got.plt) *(.got) }
}
PHDRS {
/* The LOAD section must include at least FILEHDR so that it covers the start of the file.
glibc's vDSO loader assumes that the LOAD section has an offset of 0. */
load PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */
dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
note PT_NOTE FLAGS(4); /* PF_R */
}