2020-07-08 11:07:32 +01:00
|
|
|
OUTPUT_FORMAT("binary")
|
|
|
|
|
OUTPUT_ARCH(i386)
|
|
|
|
|
|
|
|
|
|
ENTRY(boot);
|
|
|
|
|
SECTIONS {
|
|
|
|
|
. = 0;
|
|
|
|
|
.header : {
|
|
|
|
|
*(.header)
|
|
|
|
|
}
|
|
|
|
|
.setup : {
|
|
|
|
|
*(.setup)
|
|
|
|
|
}
|
|
|
|
|
. = ALIGN(512);
|
|
|
|
|
.text : {
|
2023-01-29 21:52:59 +00:00
|
|
|
_file_text_start = . ;
|
2020-07-08 11:07:32 +01:00
|
|
|
*(.data)
|
2023-01-29 21:52:59 +00:00
|
|
|
_real_text_end = . ;
|
2020-07-08 11:07:32 +01:00
|
|
|
. = ALIGN(512);
|
2023-01-29 21:52:59 +00:00
|
|
|
_file_text_end = . ;
|
2020-07-08 11:07:32 +01:00
|
|
|
}
|
2022-03-31 13:24:59 -04:00
|
|
|
.reloc : {
|
2023-01-29 21:52:59 +00:00
|
|
|
_file_reloc_start = . ;
|
2022-03-31 13:24:59 -04:00
|
|
|
*(.reloc)
|
2023-01-29 21:52:59 +00:00
|
|
|
_real_reloc_end = . ;
|
|
|
|
|
. = ALIGN(512);
|
|
|
|
|
_file_reloc_end = . ;
|
2022-03-31 13:24:59 -04:00
|
|
|
}
|
2022-03-30 15:16:31 -04:00
|
|
|
.sbat : {
|
2023-01-29 21:52:59 +00:00
|
|
|
_file_sbat_start = . ;
|
2022-03-30 15:16:31 -04:00
|
|
|
*(.sbat)
|
2023-01-29 21:52:59 +00:00
|
|
|
_real_sbat_end = . ;
|
2022-03-30 15:16:31 -04:00
|
|
|
. = ALIGN(512);
|
2023-01-29 21:52:59 +00:00
|
|
|
_file_sbat_end = . ;
|
2022-03-30 15:16:31 -04:00
|
|
|
}
|
2021-07-18 20:41:31 +01:00
|
|
|
/DISCARD/ : { *(*) }
|
2020-07-08 11:07:32 +01:00
|
|
|
|
2023-01-29 21:52:59 +00:00
|
|
|
_real_text_size = _real_text_end - _file_text_start;
|
|
|
|
|
_real_reloc_size = _real_reloc_end - _file_reloc_start;
|
|
|
|
|
_real_sbat_size = _real_sbat_end - _file_sbat_start;
|
|
|
|
|
|
2023-02-02 09:32:47 +00:00
|
|
|
_file_head_size = _file_text_start;
|
2023-01-29 21:52:59 +00:00
|
|
|
_file_text_size = _file_text_end - _file_text_start;
|
|
|
|
|
_file_reloc_size = _file_reloc_end - _file_reloc_start;
|
|
|
|
|
_file_sbat_size = _file_sbat_end - _file_sbat_start;
|
|
|
|
|
|
|
|
|
|
_sys_size = (_real_text_size + 15) >> 4;
|
|
|
|
|
_init_size = _real_text_size + _bss_size;
|
|
|
|
|
|
2023-02-02 09:32:47 +00:00
|
|
|
_virt_head_size = ((_file_head_size + 4095) >> 12) << 12;
|
2023-01-29 21:52:59 +00:00
|
|
|
_virt_text_size = ((_init_size + 4095) >> 12) << 12;
|
|
|
|
|
_virt_reloc_size = ((_file_reloc_size + 4095) >> 12) << 12;
|
|
|
|
|
_virt_sbat_size = ((_file_sbat_size + 4095) >> 12) << 12;
|
|
|
|
|
|
|
|
|
|
_virt_text_start = _virt_head_size;
|
|
|
|
|
_virt_reloc_start = _virt_text_start + _virt_text_size;
|
|
|
|
|
_virt_sbat_start = _virt_reloc_start + _virt_reloc_size;
|
2020-07-08 11:07:32 +01:00
|
|
|
|
2023-01-29 21:52:59 +00:00
|
|
|
_virt_img_size = _virt_sbat_start + _virt_sbat_size;
|
2020-07-08 11:07:32 +01:00
|
|
|
}
|