aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-01-22 16:05:12 +1030
committerAlan Modra <amodra@gmail.com>2014-01-22 16:21:34 +1030
commit16e4ecc0dbe114cfc97fe2cd32a035ae4c37f22b (patch)
treea48afd646fe4928d6546cc9c25fba25543fbcdb4 /ld/ldlang.h
parentcda796e168a389624b4e06031922bf5eaf0b6f51 (diff)
downloadgdb-16e4ecc0dbe114cfc97fe2cd32a035ae4c37f22b.zip
gdb-16e4ecc0dbe114cfc97fe2cd32a035ae4c37f22b.tar.gz
gdb-16e4ecc0dbe114cfc97fe2cd32a035ae4c37f22b.tar.bz2
Display the reference causing a shared library to be needed
Adds a section for --as-needed libraries to a linker map file, similar to what we do for archive libraries. bfd/ * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. ld/ * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars. (lang_init): Initialise them. (lang_print_asneeded): New function. (lang_process): Call lang_print_asneeded. * ldlang.h (struct asneeded_minfo): New. (asneeded_list_tail): Declare. * ldmain.c (add_archive_element): Improve archive map heading. * ldmisc.c (minfo): Stash --as-needed info.
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r--ld/ldlang.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h
index c64ded0..7236c1c 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -487,6 +487,14 @@ struct orphan_save
lang_output_section_statement_type **os_tail;
};
+struct asneeded_minfo
+{
+ struct asneeded_minfo *next;
+ const char *soname;
+ bfd *ref;
+ const char *name;
+};
+
extern struct lang_phdr *lang_phdr_list;
extern struct lang_nocrossrefs *nocrossref_list;
extern const char *output_target;
@@ -505,6 +513,7 @@ extern lang_statement_list_type file_chain;
extern lang_statement_list_type input_file_chain;
extern int lang_statement_iteration;
+extern struct asneeded_minfo **asneeded_list_tail;
extern void lang_init
(void);