diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2000-08-22 19:33:16 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2000-08-22 19:33:16 +0000 |
commit | a963dc6ade92e7fc92756912815fc7d852576792 (patch) | |
tree | d941b146c520e2529ef48d2110634cb3c6447e47 /bfd/elf.c | |
parent | 4193618c3cda64e4e5d75a8abdee88894d8b5285 (diff) | |
download | gdb-a963dc6ade92e7fc92756912815fc7d852576792.zip gdb-a963dc6ade92e7fc92756912815fc7d852576792.tar.gz gdb-a963dc6ade92e7fc92756912815fc7d852576792.tar.bz2 |
2000-08-22 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (elf_link_hash_table): Add runpath.
* bfd-in.h (bfd_elf_get_runpath_list): New prototype.
* bfd-in2.h: Rebuilt.
* elf.c (_bfd_elf_link_hash_table_init): Initialize the
"runpath" field to NULL.
(bfd_elf_get_runpath_list): New function.
* elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
DT_RUNPATH entries.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1007,6 +1007,7 @@ _bfd_elf_link_hash_table_init (table, abfd, newfunc) table->dynstr = NULL; table->bucketcount = 0; table->needed = NULL; + table->runpath = NULL; table->hgot = NULL; table->stab_info = NULL; table->dynlocal = NULL; @@ -1073,6 +1074,19 @@ bfd_elf_get_needed_list (abfd, info) return elf_hash_table (info)->needed; } +/* Get the list of DT_RPATH/DT_RUNPATH entries for a link. This is a + hook for the linker ELF emulation code. */ + +struct bfd_link_needed_list * +bfd_elf_get_runpath_list (abfd, info) + bfd *abfd ATTRIBUTE_UNUSED; + struct bfd_link_info *info; +{ + if (info->hash->creator->flavour != bfd_target_elf_flavour) + return NULL; + return elf_hash_table (info)->runpath; +} + /* Get the name actually used for a dynamic object for a link. This is the SONAME entry if there is one. Otherwise, it is the string passed to bfd_elf_set_dt_needed_name, or it is the filename. */ |