lkml.org 
[lkml]   [1998]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Two compile problems: Linux/Alpha 2.1.120, egcs 1.0.2
On Mon, Sep 07, 1998 at 10:17:27PM +0200, Emanuel Pirker wrote:

> 1.
> gcc -D__KERNEL__ -I/usr/src/linux-2.1.120-matrox/include -Wall
> -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe -mno-fp-regs -ffixed-8
> -Wa,-m21164a -DBWIO_ENABLED -c -o page_alloc.o page_alloc.c
> page_alloc.c: In function `__free_page':
> page_alloc.c:170: internal error--unrecognizable insn:
> (jump_insn 300 292 301 (return) -1 (nil)
> (nil))
> gcc: Internal compiler error: program cc1 got fatal signal 6
>
> My gcc is just the standard Redhat 5.1/Alpha compiler:
>
> Reading specs from /usr/lib/gcc-lib/alpha-redhat-linux/egcs-2.90.27/specs
> gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
>
> When excluding the two problematic parts from compilation, the kernel
> compiles.
>
> #if 0
> if (PageSwapCache(map) && atomic_read(&map->count) == 1)
> printk(KERN_WARNING
> "VM: Releasing swap cache pages at %p",
> __builtin_return_address(0));
> #endif
>
> (I've never seen these warnings anyway :-))

This is a FAQ. egcs-something breaks with __builtin_return_address
under some circumstances.

You can either update your egcs, or #define __builtin_return_address(x) (0)

I'm been doing the latter for ages now and so far its works great.

> 2.
> drivers/block/block.a drivers/char/char.a drivers/misc/misc.a
> drivers/net/net.a drivers/scsi/scsi.a drivers/cdrom/cdrom.a
> drivers/pci/pci.a drivers/video/video.a \
> /usr/src/linux-2.1.120-matrox/arch/alpha/lib/lib.a
> /usr/src/linux-2.1.120-matrox/lib/lib.a
> /usr/src/linux-2.1.120-matrox/arch/alpha/lib/lib.a \
> -o vmlinux
> fs/filesystems.a(nfs.o): In function `nfs_updatepage':
> write.c(.text+0x35d4): undefined reference to `checksignals'
> write.c(.text+0x35d8): undefined reference to `checksignals'
> fs/filesystems.a(nfs.o): In function `nfs_flush_dirty_pages':
> write.c(.text+0x3cf4): undefined reference to `checksignals'
> write.c(.text+0x3cf8): undefined reference to `checksignals'
> net/network.a(sunrpc.o): In function `call_allocate':
> clnt.c(.text+0xaf8): undefined reference to `checksignals'
> net/network.a(sunrpc.o)(.text+0xafc):clnt.c: more undefined references to
> `checksignals' follow
> make: *** [vmlinux] Error 1

Add it to kernel/ksyms.c - Bill Hawes posted a patch for this
recently.



-cw

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/faq.html

\
 
 \ /
  Last update: 2005-03-22 13:44    [from the cache]
©2003-2011 Jasper Spaans