diff options
author | Mark Salter <msalter@redhat.com> | 2012-05-22 10:53:29 -0400 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2012-06-06 09:06:10 +0200 |
commit | 8554fb21bb34329201b38c2ae4387fb6f00645cc (patch) | |
tree | 462975e36aee3b3ff726e3300ead039e4da1fb3c /ldso/include/dl-elf.h | |
parent | 80c9bfc4668e2370b3434a801dc266f336265832 (diff) |
Clean up DSBT support
The existing DSBT support relies on the kernel to provide DSBT info
as part of the load maps passed to user space. The problem with this
approach is that the DSBT info is in the dynamic section, so the
kernel must access a userspace mapping of the dynamic section (or
separately read a copy for the kernel) in order to retrieve the
information needed by userspace.
This patch reworks the DSBT support to remove the reliance on DSBT
info coming from the kernel. Instead, ldso reads the info itself from
the dynamic section. One other benefit of this is that it allows the
existing kernel FDPIC loader to also load DSBT binaries.
Signed-off-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'ldso/include/dl-elf.h')
-rw-r--r-- | ldso/include/dl-elf.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h index 29d1a007f..060ee3dfb 100644 --- a/ldso/include/dl-elf.h +++ b/ldso/include/dl-elf.h @@ -222,11 +222,6 @@ unsigned int __dl_parse_dynamic_info(ElfW(Dyn) *dpnt, unsigned long dynamic_info #ifdef __DSBT__ /* Get the mapped address of the DSBT base. */ ADJUST_DYN_INFO(DT_DSBT_BASE_IDX, load_off); - - /* Initialize loadmap dsbt info. */ - load_off.map->dsbt_table = (void *)dynamic_info[DT_DSBT_BASE_IDX]; - load_off.map->dsbt_size = dynamic_info[DT_DSBT_SIZE_IDX]; - load_off.map->dsbt_index = dynamic_info[DT_DSBT_INDEX_IDX]; #endif #undef ADJUST_DYN_INFO return rtld_flags; |