mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
7542af2ae8
* NEWS: Mention change in linker script expression evaluation. ld/ * ld.texinfo (Expression Section): Detail expression evaluation. (Builtin Functions <ADDR>): Correct. (Builtin Functions <LOADADDR>): Don't mention LOADADDR normally the same as ADDR. (Builtin Functions <SEGMENT_START>): Typo fix. * ldexp.c (new_number): New function. (make_abs, exp_get_abs_int): Cope with NULL expld.result.section. (fold_unary <'~', '!', '-'>): Don't make_abs. (fold_binary): Simplify result section logic. Return NULL section for logical ops. (fold_binary <SEGMENT_START>): Use new_rel_from_abs to set value to a consistent result. (fold_name <SIZEOF_HEADERS>): Return new_number, not new_abs. (fold_name <DEFINED, SIZEOF, ALIGNOF, LENGTH, CONSTANT>): Likewise. (fold_name <NAME>): No need to handle absolute symbols differently from relative ones. (fold_name <ORIGIN>): Don't return valid result when lang_first_phase_enum. Return new_rel_from_abs, not new_abs. (exp_fold_tree_1 <etree_value>): Return new_number, not new_rel. (exp_fold_tree_1): Ajust for NULL expld.result.section. When assigning a plain number to dot, assume the value is relative to expld.section. Make terms not in an output section, absolute. * ldlang.c (print_assignment): Fix style nit. (lang_size_sections_1): Cope with NULL expld.result.section. (lang_do_assignments_1): Likewise. ld/testsuite/ * ld-scripts/memory.t: Remove ORIGIN fudge.
34 lines
544 B
Raku
34 lines
544 B
Raku
MEMORY
|
|
{
|
|
R_TEXTMEM (ARX) : ORIGIN = 0x100, LENGTH = 32K
|
|
R_DATAMEM (AW) : org = 0x1000, l = (64 * 1024)
|
|
}
|
|
|
|
REGION_ALIAS ("A_TEXTMEM", R_TEXTMEM);
|
|
REGION_ALIAS ("A_DATAMEM", R_DATAMEM);
|
|
|
|
REGION_ALIAS ("TEXTMEM", A_TEXTMEM);
|
|
REGION_ALIAS ("DATAMEM", A_DATAMEM);
|
|
|
|
SECTIONS
|
|
{
|
|
. = 0;
|
|
.text :
|
|
{
|
|
text_start = ORIGIN (TEXTMEM);
|
|
*(.text)
|
|
*(.pr)
|
|
text_end = .;
|
|
} > TEXTMEM
|
|
|
|
data_start = ORIGIN (DATAMEM);
|
|
.data :
|
|
{
|
|
*(.data)
|
|
*(.rw)
|
|
data_end = .;
|
|
} >DATAMEM
|
|
|
|
fred = ORIGIN(DATAMEM) + LENGTH(DATAMEM);
|
|
}
|