This is the mail archive of the
glibc-linux@ricardo.ecn.wfu.edu
mailing list for the glibc project.
Re: Thanks (__cmpdi2) and...
- To: glibc-linux at ricardo dot ecn dot wfu dot edu
- Subject: Re: Thanks (__cmpdi2) and...
- From: "Philip J. Mucci" <mucci at cs dot utk dot edu>
- Date: Thu, 11 May 2000 12:36:03 -0400
- Organization: ICL/UTK - See http://icl.cs.utk.edu
- References: <Pine.LNX.4.21.0005110934140.7356-100000@linux.home>
- Reply-To: glibc-linux at ricardo dot ecn dot wfu dot edu
Wolfgang, thanks for the information. So the shared library still works?
I can't imagine how that works.... Is that true of using the shared
library through dlopen? I'll try it.
I'm guessing this is a puzzling question, since no other responses yet.
Anyone?
> It is a question both related to the kernel and glibc. When you declare
> such as syscall, it is expanded in an asm block where the ebx registry
> is used to transmit parameters to the kernel with interrupt 0x80.
> The problem is that ebx is used by the PIC encoding for something I
> don't remember (it contains the address of sth... the glibc guys will
> explain this better than me). But the result is that there is a clash
> between the do.
>
> Something I noticed, which might as well considered as a bug somehow, is
> that if you compile your code without "-fpic" and still link your .o
> files as a shared library, you don't have that clash and the library is
> still working. I don't know exactly what is the mechanics behind this,
> maybe the library becomes unstable...
>
> Any explanation or link to related documents ?
>
> Wolfgang
> --
> A chicken is an egg's way of producing more eggs.
I wrote:
> _syscall3(int, perf, int op, int counter, int event);
>
> When doing: gcc -fpic -g -Wall foo.c
> I get: Fixed or forbidden register 3 (bx) spilled for class BREG.
> Error, bomb, choke...
>
> I realize that this is not really a glibc question, so feel free to