This website requires JavaScript.
Explore
Help
Register
Sign In
mirrors
/
binutils-gdb
Watch
0
Star
0
Fork
0
You've already forked binutils-gdb
mirror of
https://sourceware.org/git/binutils-gdb.git
synced
2024-12-30 04:33:35 +08:00
Code
Issues
Actions
Packages
Projects
Releases
Wiki
Activity
18e404c4e2
binutils-gdb
/
ld
/
testsuite
/
ld-scripts
/
pr14962-2.t
12 lines
101 B
Perl
Raw
Normal View
History
Unescape
Escape
Allow self-assignment for absolute symbols defined in a linker script Modifies ld machinery tracking linker script assignments to notice all assignments, not just those symbols mentioned in DEFINED(). ld/ PR ld/14962 * ldlang.h (struct lang_definedness_hash_entry): Add by_object and by_script. Make iteration a single bit field. (lang_track_definedness, lang_symbol_definition_iteration): Delete. (lang_symbol_defined): Declare. * ldlang.c (lang_statement_iteration): Expand comment a little. (lang_init <lang_definedness_table>): Make it bigger. (lang_track_definedness, lang_symbol_definition): Delete. (lang_definedness_newfunc): Update. (lang_symbol_defined): New function. (lang_update_definedness): Create entries here. Do track whether script definition of symbol is valid, even when also defined in an object file. * ldexp.c (fold_name <DEFINED>): Update. (fold_name <NAME>): Allow self-assignment for absolute symbols defined in a linker script. ld/testsuite/ * ld-scripts/pr14962-2.d, * ld-scripts/pr14962-2.t: New test. * ld-scripts/expr.exp: Run it.
2014-01-20 18:58:42 +08:00
TOTO
=
4096
;
TOTO
+=
4096
;
SECTIONS
{
.
text
TOTO
:
{
x
=
ABSOLUTE
(
TOTO
)
;
Correct script input section pattern We don't want this to match .rela.text or similar. * testsuite/ld-scripts/pr14962-2.t: Match .text, not *.text. * testsuite/ld-scripts/rgn-at5.t: Similarly, .sec not *.sec. * testsuite/ld-scripts/section-match-1.t: Likewise.
2016-05-09 15:37:33 +08:00
*
(
.
text
)
Allow self-assignment for absolute symbols defined in a linker script Modifies ld machinery tracking linker script assignments to notice all assignments, not just those symbols mentioned in DEFINED(). ld/ PR ld/14962 * ldlang.h (struct lang_definedness_hash_entry): Add by_object and by_script. Make iteration a single bit field. (lang_track_definedness, lang_symbol_definition_iteration): Delete. (lang_symbol_defined): Declare. * ldlang.c (lang_statement_iteration): Expand comment a little. (lang_init <lang_definedness_table>): Make it bigger. (lang_track_definedness, lang_symbol_definition): Delete. (lang_definedness_newfunc): Update. (lang_symbol_defined): New function. (lang_update_definedness): Create entries here. Do track whether script definition of symbol is valid, even when also defined in an object file. * ldexp.c (fold_name <DEFINED>): Update. (fold_name <NAME>): Allow self-assignment for absolute symbols defined in a linker script. ld/testsuite/ * ld-scripts/pr14962-2.d, * ld-scripts/pr14962-2.t: New test. * ld-scripts/expr.exp: Run it.
2014-01-20 18:58:42 +08:00
}
}
Reference in New Issue
Copy Permalink