diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-03-29 13:47:21 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-03-29 13:47:21 +0000 |
commit | e6816a15ab7d7dbf3ffe75a9a22b4a37909aaf57 (patch) | |
tree | ffd16f946ea203cf14cc44c7aaae730cc1032d01 /ldso/ldso/dl-startup.c | |
parent | 223b81b2e707ff3cb99fdf49b7cb6bd1da7f6d21 (diff) |
Moved the addition of load address from the fast path
where possible. This will also make ldso smaller.
However the patch touches all archs and I have only tested PPC and x86.
Diffstat (limited to 'ldso/ldso/dl-startup.c')
-rw-r--r-- | ldso/ldso/dl-startup.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ldso/ldso/dl-startup.c b/ldso/ldso/dl-startup.c index 98ad8cb8b..77c726e71 100644 --- a/ldso/ldso/dl-startup.c +++ b/ldso/ldso/dl-startup.c @@ -205,9 +205,9 @@ static void * __attribute_used__ _dl_start(unsigned long args) tpnt->dynamic_addr = dpnt; #if defined(__mips__) || defined(__cris__) /* Some architectures cannot call functions here, must inline */ - __dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, NULL); + __dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, NULL, load_addr); #else - _dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, NULL); + _dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, NULL, load_addr); #endif #ifdef __SUPPORT_LD_DEBUG_EARLY__ @@ -299,8 +299,8 @@ static void * __attribute_used__ _dl_start(unsigned long args) char *strtab; Elf32_Sym *symtab; - symtab = (Elf32_Sym *) (tpnt->dynamic_info[DT_SYMTAB] + load_addr); - strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + load_addr); + symtab = (Elf32_Sym *) tpnt->dynamic_info[DT_SYMTAB]; + strtab = (char *) tpnt->dynamic_info[DT_STRTAB]; sym = &symtab[symtab_index]; symbol_addr = load_addr + sym->st_value; |