* ldlang.c (ldlang_def_chain_list): New variable. Contains a list
of symbols defined via the --defsym command line option and
currently waiting assignment.
(insert_defined): Add a defined symbol to the symbol table.
(ldlang_add_def): Add a entry to the ldlang_def_chain_list.
(lang_place_defineds): Walk ldlang_def_chain_list defining the
symbols.
(lang_process): Call lang_place_defineds.
(lang_add_assignment): If the assignment has come from a --defsym
command line option then call lang_add_def.
* ld-script/default-script2.d: Fix expected address for text
section.
PR gold/12001
* script.h (class Symbol_assignment: name): New member. Returns
the name of the symbol.
* scrfipt.cc (Script_options::is_pending_assignment): New member.
Returns true if the given symbol name is on the list of
assignments wating to be processed.
* archive.cc (should_incldue_member): If the symbol is undefined,
check to see if it is on the list of symbols pending assignment.
10 lines
140 B
Makefile
10 lines
140 B
Makefile
# source: default-script.s
|
|
# ld: -T default-script.t -defsym _START=0x8000000
|
|
# nm: -n
|
|
|
|
#...
|
|
0*8000000 . _START
|
|
#...
|
|
0*8000000 T text
|
|
#pass
|