Re: Compile problem on sparc64

From: David S. Miller
Date: Wed Mar 24 2004 - 15:21:19 EST



[ Please us sparclinux@xxxxxxxxxxxxxxx in the future, thanks... ]

On Wed, 24 Mar 2004 13:15:22 +0100
Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:

> I am using Debian Sid with GCC 3.3.3 (Debian 20040320) and I got the
> following error on my sparc64 platform while compiling the latest
> Bitkeeper sources from 2.6:

This should cure it, let me know if it doesn't.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/03/24 12:16:41-08:00 davem@xxxxxxxxxxxxxxxxxx
# [SPARC64]: Do not use cast exprs as lvalues.
#
# include/asm-sparc64/pgalloc.h
# 2004/03/24 12:16:19-08:00 davem@xxxxxxxxxxxxxxxxxx +7 -6
# [SPARC64]: Do not use cast exprs as lvalues.
#
diff -Nru a/include/asm-sparc64/pgalloc.h b/include/asm-sparc64/pgalloc.h
--- a/include/asm-sparc64/pgalloc.h Wed Mar 24 12:17:02 2004
+++ b/include/asm-sparc64/pgalloc.h Wed Mar 24 12:17:02 2004
@@ -38,11 +38,12 @@

preempt_disable();
if (!page->lru.prev) {
- (unsigned long *)page->lru.next = pgd_quicklist;
+ page->lru.next = (void *) pgd_quicklist;
pgd_quicklist = (unsigned long *)page;
}
- (unsigned long)page->lru.prev |=
- (((unsigned long)pgd & (PAGE_SIZE / 2)) ? 2 : 1);
+ page->lru.prev = (void *)
+ (((unsigned long)page->lru.prev) |
+ (((unsigned long)pgd & (PAGE_SIZE / 2)) ? 2 : 1));
pgd_cache_size++;
preempt_enable();
}
@@ -62,7 +63,7 @@
off = PAGE_SIZE / 2;
mask &= ~2;
}
- (unsigned long)ret->lru.prev = mask;
+ ret->lru.prev = (void *) mask;
if (!mask)
pgd_quicklist = (unsigned long *)ret->lru.next;
ret = (struct page *)(__page_address(ret) + off);
@@ -76,10 +77,10 @@
if (page) {
ret = (struct page *)page_address(page);
clear_page(ret);
- (unsigned long)page->lru.prev = 2;
+ page->lru.prev = (void *) 2UL;

preempt_disable();
- (unsigned long *)page->lru.next = pgd_quicklist;
+ page->lru.next = (void *) pgd_quicklist;
pgd_quicklist = (unsigned long *)page;
pgd_cache_size++;
preempt_enable();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/