summaryrefslogtreecommitdiff
path: root/ldso/ldso/dl-startup.c
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-03-29 13:47:21 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-03-29 13:47:21 +0000
commite6816a15ab7d7dbf3ffe75a9a22b4a37909aaf57 (patch)
treeffd16f946ea203cf14cc44c7aaae730cc1032d01 /ldso/ldso/dl-startup.c
parent223b81b2e707ff3cb99fdf49b7cb6bd1da7f6d21 (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.c8
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;