maybe I'm missing something obvious, but I don't see any problem right now.
Maybe it's simply to late for thinking ;-)
Currently, the text segment of the library of the library is linked with every
application. If the complete library is put into a free space with a common
adress, and the link script is modified to take care of that, the library
can be executed there because all applications share the same adress space,
and all the call offsets may be 32 bit with the patch. Of course, all
have to be linked with the same, complete library.
The data + bss segment is handled like before. That shouldn't have to do
anything with the kernel, there no such stuff like usage-count or something
similar to handle. Please let me know if I'm missing something important.
Vadim Lebedev wrote:
> This shared library stuff is more complicated than you think,
> fo example what you're going to do with shared library static data?
> Another point: the kernel should be modified to handle correctly shared
> Best regards
> ----- Original Message -----
> From: Erwin Authried <email@example.com>
> To: <firstname.lastname@example.org>
> Cc: <email@example.com>
> Sent: Wednesday, January 05, 2000 10:49 PM
> Subject: [UCLINUX] Fw: 32-bit PIC patches for the uCsimm !
> > I have just recognized that it is not necessary to recompile
> > the whole library, sorry. There are just a few library-internal calls that
> > cannot be relocated because the call is made between the start
> > of the text segment to the end of the text segment where the libraries
> > are located. When those few calls are fixed, the rest of the library can
> use the
> > faster 16-bit relocation.
> > Another idea: When all the libraries are linked to some fixed
> > location, they could now be shared between all applications, without
> > the overhead of having the same library attached to each
> > application.
> > -Erwin
This message resent by the firstname.lastname@example.org list server http://www.uClinux.com/
This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:33 EST