linux-mips
[Top] [All Lists]

Re: ld error " linking PIC files with non-PIC files "

To: renc stone <renwei@huawei.com>
Subject: Re: ld error " linking PIC files with non-PIC files "
From: Ralf Baechle <ralf@uni-koblenz.de>
Date: Mon, 19 Nov 2001 20:05:15 +1100
Cc: linux-mips@oss.sgi.com, linux-mips@fnet.fr
In-reply-to: <000a01c170d0$e8662000$101d690a@huawei.com>; from renwei@huawei.com on Mon, Nov 19, 2001 at 04:05:09PM +0800
References: <20011026161259.54925.qmail@web11908.mail.yahoo.com> <20011113200948.75977.qmail@web11908.mail.yahoo.com> <20011114111834.B10410@dea.linux-mips.net> <000a01c170d0$e8662000$101d690a@huawei.com>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5i
On Mon, Nov 19, 2001 at 04:05:09PM +0800, renc stone wrote:

> That's the same problem as mine.
> I try to use 64bit long long div& mod in one module,
> and find I miss some _divdi3 and something like that.
> 
> when I try to link my module with libgcc.a, in my mipsel-glibc 2.95.3,
> the ld report the same thing.
> 
> Does it mean I can't use 64bit div in module? How to get rid of this error?

Again, it's a grave mistake to mix pic and non-pic libraries.

To solve this you must either supply your own non-pic versions of the
routines in question or - and better - try to avoid them.  In your case
take a look at <asm/div64.h> which supplies a 64-bit by 32-bit division
routine.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>