Agree, I've missed the usage of the function
"__register_frame_info_bases" (frame_dummy assembly had only indirect
call when I miss "-pie" in compilation).
There is no reference on glibc that way. Sorry for the confusion.
So that is potentially buggy right now.


On Mon, Jan 12, 2015 at 1:50 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> On Mon, Jan 12, 2015 at 01:36:05PM +0300, Evgeny Stupachenko wrote:
>> "frame_dummy" does not use EBX in allocation now as there are enough
>> other registers (that we don't need to save/restore). So if we do not
>> modify "frame_dummy" EBX should stay unchanged.
>> "frame_dummy" does not initialize EBX register at the beginning it
>> expects that EBX is pic from glibc
>> "frame_dummy" is called from glibc and while we have glibc compiled by
>> 4.9 or older compiler EBX should come to "frame_dummy" as pic register
>
> I also don't understand how is this related to glibc in any way.
> From my understanding, the macro relied on %ebx being set to
> _GLOBAL_OFFSET_TABLE_ because the frame_dummy function does access
> GOT, so before the i?86 PIC reg changes it was computing %ebx.
>
>         Jakub

Reply via email to