diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-12-31 19:46:37 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-12-31 19:46:37 +0000 |
commit | 148437ec14d18450dcfa0ebe7cfa2db57e263392 (patch) | |
tree | a953bda7330b884fa25a988597df2eab8f586944 /bfd/elflink.h | |
parent | a5094cb9d5435a88738bf32b2ec662ceab2c32f4 (diff) | |
download | gdb-148437ec14d18450dcfa0ebe7cfa2db57e263392.zip gdb-148437ec14d18450dcfa0ebe7cfa2db57e263392.tar.gz gdb-148437ec14d18450dcfa0ebe7cfa2db57e263392.tar.bz2 |
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add
filter_shlib and auxiliary_filter_shlib parameters.
* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and
DT_FILTER.
* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
(bfd_elf64_size_dynamic_sections): Likewise.
* bfd-in2.h: Rebuild.
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r-- | bfd/elflink.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h index 3086a4b..81dcc9b 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -1352,11 +1352,14 @@ static const size_t elf_buckets[] = boolean NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath, - export_dynamic, info, sinterpptr) + export_dynamic, filter_shlib, + auxiliary_filter_shlib, info, sinterpptr) bfd *output_bfd; const char *soname; const char *rpath; boolean export_dynamic; + const char *filter_shlib; + const char *auxiliary_filter_shlib; struct bfd_link_info *info; asection **sinterpptr; { @@ -1426,6 +1429,28 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath, return false; } + if (filter_shlib != NULL) + { + bfd_size_type indx; + + indx = _bfd_stringtab_add (elf_hash_table (info)->dynstr, + filter_shlib, true, true); + if (indx == (bfd_size_type) -1 + || ! elf_add_dynamic_entry (info, DT_FILTER, indx)) + return false; + } + + if (auxiliary_filter_shlib != NULL) + { + bfd_size_type indx; + + indx = _bfd_stringtab_add (elf_hash_table (info)->dynstr, + auxiliary_filter_shlib, true, true); + if (indx == (bfd_size_type) -1 + || ! elf_add_dynamic_entry (info, DT_AUXILIARY, indx)) + return false; + } + /* Find all symbols which were defined in a dynamic object and make the backend pick a reasonable value for them. */ eif.failed = false; |