aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.h
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@bitrange.com>2014-05-10 02:50:01 +0200
committerHans-Peter Nilsson <hp@bitrange.com>2014-05-10 02:52:14 +0200
commiteae25ec5773e12af107e65fcf0c94a54bc5180ae (patch)
tree584bbe1178f76697d0cea1e843819b9027d8c0f3 /ld/ldlang.h
parentb1f02b89ed9e9c68eab6f645e19634315a6525c4 (diff)
downloadgdb-eae25ec5773e12af107e65fcf0c94a54bc5180ae.zip
gdb-eae25ec5773e12af107e65fcf0c94a54bc5180ae.tar.gz
gdb-eae25ec5773e12af107e65fcf0c94a54bc5180ae.tar.bz2
Fix freeing of link_info.hash
ld: * ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here. (output_bfd_hash_table_free_fn): New variable. (open_output): Save the _bfd_link_hash_table_free function for the output_bfd into output_bfd_hash_table_free_fn. * ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn on link_info.hash. * ldlang.h (output_bfd_hash_table_free_fn): Declare. ld/testsuite: * ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s, ld-mmix/wrap1c.s, ld-mmix/wrap2.d, ld-mmix/wrap3.d, ld-mmix/wrap3a.s, ld-mmix/wrap3b.s, ld-mmix/wrap4.d: New tests.
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r--ld/ldlang.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h
index aacd5dc..47cc4df 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -518,6 +518,8 @@ extern lang_statement_list_type input_file_chain;
extern int lang_statement_iteration;
extern struct asneeded_minfo **asneeded_list_tail;
+extern void (*output_bfd_hash_table_free_fn) (struct bfd_link_hash_table *);
+
extern void lang_init
(void);
extern void lang_finish