Changes to make -Ur work again.
authorIan Lance Taylor <ian@airs.com>
Tue, 22 Mar 1994 00:24:13 +0000 (00:24 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 22 Mar 1994 00:24:13 +0000 (00:24 +0000)
commit4fdbafb247bd7a1af8c22d6da0acc560aa16d05a
tree0247b62538ab19861805f548402561a786ded0a7
parent651d2da7f6f480720b9a5fa09d295ecad20f8a59
Changes to make -Ur work again.
* ldmain.c (add_to_set): Now takes reloc argument rather than
bitsize.  Check config.build_constructors here.  If an new hash
table entry is created, mark it as undefined.
(constructor_callback): No longer takes bitsize argument.  Pass
BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
BFD backend supports it.
(reloc_overflow): Handle a NULL abfd argument.
(reloc_dangerous, unattached_reloc): Likewise.
* ldctor.c: Include ldmain.h.
(struct set_info): Change bitsize field to reloc.
(ldctor_add_set_entry): Now takes reloc argument rather than
bitsize.  Don't bother to check config.build_constructors here.
(ldctor_build_sets): Get the size from the reloc howto.  If
generating relocateable output, call lang_add_reloc rather than
lang_add_data.
* ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
instead of bitsize.
* ldlang.h (statement_enum): Add lang_reloc_statement_enum.
(lang_reloc_statement_type): New structure.
(lang_statement_union_type): Add reloc_statement field.
(lang_add_reloc): Declare new function.
* ldlang.c (lang_for_each_statement_worker): Handle
lang_reloc_statement_enum.
(map_input_to_output_sections, print_statement): Likewise.
(lang_size_sections, lang_do_assignments): Likewise.
(print_reloc_statement): New function.
(lang_add_reloc): New function.
* ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
ld/ChangeLog
ld/ldlang.c
ld/ldwrite.c