This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA:] Fix DEFINED in ld scripts.


Hi Hans-Peter,

> ld:
>
> 	* ld.texinfo (Builtin Functions) <DEFINED>: Say that only symbols
> 	defined before the statement using DEFINED yield 1.
> 	* ldexp.c (fold_name) <case DEFINED>: In lang_first_phase_enum,
> 	call lang_track_definedness on symbol.  In subsequent phases, use
> 	lang_symbol_definition_iteration and lang_statement_iteration to
> 	check whether the symbol was defined before the current statement.
> 	(exp_fold_tree) <case etree_assign et al>: Call
> 	lang_update_definedness before updating symbol type when setting
> 	symbol.
> 	* ldlang.c (lang_definedness_table): New variable.
> 	(lang_definedness_newfunc, lang_track_definedness)
> 	(lang_symbol_definition_iteration, lang_update_definedness): New
> 	functions.
> 	(lang_init): Initialize lang_definedness_table and
> 	lang_statement_iteration.
> 	(lang_finish): Destroy bfd_hash_table_free.
> 	(lang_size_sections): Increment lang_statement_iteration.
> 	(lang_process): Increment lang_statement_iteration before calls to
> 	lang_do_assignments.
> 	* ldlang.h (struct lang_definedness_hash_entry)
> 	(lang_statement_iteration, lang_track_definedness)
> 	(lang_symbol_definition_iteration, lang_update_definedness):
> 	Declare.
>
> ld/testsuite:
> 	* ld-scripts/defined3.d, ld-scripts/defined3.t: New test.
> 	* ld-scripts/defined.exp: Run defined3.
>

Approved - please apply - thanks!

Cheers
        Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]