Subject: Re: [linux-audio-dev] Re: high level laaga
From: Paul Davis (pbd_AT_Op.Net)
Date: Fri May 11 2001 - 23:24:43 EEST
>With a single thread LAAGA system, most of the code is going to be running
>PIC (unless we can find a way round it) which may be a large penalty.
only on first execution of any function. after that, the image is
dynamically altered and the PIC function reference is replaced by a
"true" reference. this is my understanding, but it may be naive.
i also had this vague notion that the run-time linker could fix things
up at dlopen() time. it certainly does this at exec time:
-fPIC
Generate position-independent code (PIC) suitable for use in a
shared library, if supported for the target machine. Such code
accesses all constant addresses through a global offset table
(GOT). The dynamic loader resolves the GOT entries when the
program starts (the dynamic loader is not part of GCC; it is part
of the operating system).
it might be a design decision to do this "lazily" when dlopen() is
used. i've certain noticed backtraces in gdb indicating that that
we seem to be doing run-time lookup of PIC tokens, but i'm not sure if
that was during dlopen() or later.
--p
This archive was generated by hypermail 2b28 : Fri May 11 2001 - 23:42:10 EEST