Re: [xml] elfgcchack.h vs -Bsymbolic
- From: Mike Hommey <mh glandium org>
- To: Daniel Veillard <veillard redhat com>
- Cc: xml gnome org
- Subject: Re: [xml] elfgcchack.h vs -Bsymbolic
- Date: Wed, 19 Nov 2008 10:46:41 +0100
On Wed, Nov 19, 2008 at 09:32:10AM +0100, Daniel Veillard <veillard redhat com> wrote:
On Sat, Nov 15, 2008 at 06:24:48PM +0100, Mike Hommey wrote:
Hi,
Have you considered using -Bsymbolic linker option instead of the
elfgcchack.h hack ?
Hum, no ... I don't know -Bsymbolic, but I fail to see how the
linker could solve the problem I tried to solve (bypass costly ELF
lookup when doing internal library calls). Could you explain ?
My understanding of what elfgcchack.h tries to achieve is to remove
indirect calls (through the PLT) for function calls within the library.
-Bsymbolic just does that:
$ cat test.c
int foo(int a)
{
return a;
}
int bar(void)
{
return foo(0);
}
$ gcc -shared -fPIC -o test.so test.c
$ objdump -d test.so |less
$ objdump -d test.so| grep foo
000003c8 <foo plt>:
000004bc <foo>:
4dd: e8 e6 fe ff ff call 3c8 <foo plt>
$ gcc -Wl,-Bsymbolic -shared -fPIC -o test.so test.c
$ objdump -d test.so| grep foo
0000049c <foo>:
4bd: e8 da ff ff ff call 49c <foo>
-Bsymbolic is supposed to do that for most symbols. -Bsymbolic-functions
is specialized to function calls.
Mike
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]