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    [W:0.023 / U:58.752 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site