Re: Where can I get the defination __i686.get_pc_thunk.bx function in an objectdump a test program linked with a shared library??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Yihe Chen" <yihect@xxxxxxxxxxxxxx> writes:

>>> It seems that the __i686.get_pc_thunk.bx is definded in section
>>> .gnu.linkonce.t.__i686.get_pc_thunk.bx. Is this true??
>>
>> When gcc is generating the symbol directly, as is normal, the section in
>> which it is defined depends on whether the linker supports section
>> groups or not.  If it does not, gcc will use a .gnu.linkonce section as
>> in the above.  If it does, gcc will use a .text. section marked as a
>> COMDAT section grotup.
>
> En, my system is redhat enterprise version 4. And the gcc core version
> is 3.4.4.
> According your describation, the linker should not support section
> groups feature.
> But if we want to seek the simble, how to do it? Must I install
> another new gcc , and
> another kernel???

What is your purpose in trying to find this symbol?


> The symbols in my .so file is listed, show as follows. It seems
> nothing abnormal from
> there, I think.

I agree that there is no get_pc_thunk symbol here.  The symbol is only
created when it is needed.  E.g., if you compile code like this with
-fPIC and then put it into a shared library you should see the symbol.

int i;
int f() { return i; }

And of course the symbol is only created in 32-bit mode, so if you have
a 64-bit system you need to use -m32.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux