[PATCH] _dl_find_hash: optmizie symbol lookup delaying stringcomparisons
Joakim Tjernlund
joakim.tjernlund at transmode.se
Fri Sep 21 11:18:09 UTC 2007
Hi Carmelo
This has been up before and I am not convinced it is a gain.
The if (sym->st_value == 0) and if (ELF_ST_TYPE(sym->st_info) > STT_FUNC)
are mostly false.
Suggest you get some numbers before applying this patch.
Jocke
On Fri, 2007-09-21 at 11:52 +0200, Carmelo AMOROSO wrote:
> Hi,
> the attached patch tries to optimize a bit the lookup process
> into the dynamic linker postponing the string comparisons as late
> as possible.
>
> At the moment I have not figures/benchmarks to be shown; hope to produce
> some data in the future.
>
> Regards,
> Carmelo
> plain text document attachment (dl_find_hash-delay-strncmp.patch)
> Do string comparisos as late as possible during symbol lookup.
>
> Signed-off-by: Carmelo Amoroso <carmelo.amoroso at st.com>
>
> --- uClibc-trunk/ldso/ldso/dl-hash.c 2007-09-19 11:06:45.000000000 +0200
> +++ uClibc-st/ldso/ldso/dl-hash.c 2007-09-21 11:42:30.837795000 +0200
> @@ -171,12 +171,12 @@ char *_dl_find_hash(const char *name, st
>
> if (type_class & (sym->st_shndx == SHN_UNDEF))
> continue;
> - if (_dl_strcmp(strtab + sym->st_name, name) != 0)
> - continue;
> if (sym->st_value == 0)
> continue;
> if (ELF_ST_TYPE(sym->st_info) > STT_FUNC)
> continue;
> + if (_dl_strcmp(strtab + sym->st_name, name) != 0)
> + continue;
>
> switch (ELF_ST_BIND(sym->st_info)) {
> case STB_WEAK:
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://busybox.net/cgi-bin/mailman/listinfo/uclibc
More information about the uClibc
mailing list