| To: | macro@linux-mips.org |
|---|---|
| Subject: | Re: .set mips2 breaks 64bit kernel |
| From: | Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
| Date: | Thu, 23 Jun 2005 01:26:29 +0900 (JST) |
| Cc: | kumba@gentoo.org, linux-mips@linux-mips.org |
| In-reply-to: | <Pine.LNX.4.61L.0506221403420.4849@blysk.ds.pg.gda.pl> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <Pine.LNX.4.61L.0506221330240.4849@blysk.ds.pg.gda.pl> <42B95FB2.1090604@gentoo.org> <Pine.LNX.4.61L.0506221403420.4849@blysk.ds.pg.gda.pl> |
| Sender: | linux-mips-bounce@linux-mips.org |
>>>>> On Wed, 22 Jun 2005 14:30:41 +0100 (BST), "Maciej W. Rozycki"
>>>>> <macro@linux-mips.org> said:
macro> But I think there is one possiblity of a problem -- obsolete
macro> versions of GCC may rely on gas expanding "ll" and "sc" as
macro> macros, i.e. substitute a name of a symbol rather than a valid
macro> machine-level address expression (e.g. "0($reg)" or
macro> "%lo(sym)($reg)") for memory constraints. Well, by using "m"
macro> right now we sort of permit it to.
Yes, this is my case.
A line in net/key/af_key.c:pfkey_create()
atomic_inc(&pfkey_socks_nr);
was translated to:
.set mips2
1: ll $3, pfkey_socks_nr # atomic_add
addu $3, 1
sc $3, pfkey_socks_nr
beqz $3, 1b
.set mips0
Then gas expands the 'll' to LUI and LL (no high 32bit).
I'm using gcc 3.4.4 and binutils 2.16.1. Not so brand new but not so
obsolete (I hope :-))
---
Atsushi Nemoto
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] various sibyte 2.6.x bugfixes, Maciej W. Rozycki |
|---|---|
| Next by Date: | Re: [PATCH] various sibyte 2.6.x bugfixes, Dave Johnson |
| Previous by Thread: | Re: .set mips2 breaks 64bit kernel (Re: CVS Update@linux-mips.org: linux), Maciej W. Rozycki |
| Next by Thread: | Re: .set mips2 breaks 64bit kernel, Maciej W. Rozycki |
| Indexes: | [Date] [Thread] [Top] [All Lists] |