linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ed Tomlinson <tomlins@cam.org>
To: linux-kernel@vger.kernel.org
Subject: Re: Linux 2.4.10-pre11
Date: Mon, 17 Sep 2001 23:18:12 -0400	[thread overview]
Message-ID: <20010918031813.57E1062ABC@oscar.casa.dyndns.org> (raw)

Hi,

You are fast.  Was just going report this one...
Using debian sid with gcc 2.95.4.  Both before and after
appling the patch below I get:

ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \
        --start-group \
        arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \         drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/video/video.o drivers/usb/usbdrv.o drivers/md/mddev.o \
        net/network.o \
        /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a /usr/src/linux/arch/i386/lib/lib.a \
        --end-group \
        -o vmlinux
mm/mm.o: In function `kmem_cache_alloc':
mm/mm.o(.text+0x8154): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x8173): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x81cc): undefined reference to `__builtin_expect'
mm/mm.o: In function `kmalloc':
mm/mm.o(.text+0x8294): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x82b3): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x830c): more undefined references to `__builtin_expect' follow
make: *** [vmlinux] Error 1

Impling the patch below is incomplete?

TIA
Ed Tomlinson

Andrea Arcangeli wrote:
 
> ah I just got a (verbose) report about one compilation trouble with old
> kernels, the 00_rwsem patch that includes this backwards compatibility
> hunk wasn't applied. This is a very very minor issue. Please Linus
> include this patch to fix the compilation troubles with the old
> compilers:
> 
> diff -urN 2.4.10pre10/include/linux/compiler.h rwsem/include/linux/compiler.h
> --- 2.4.10pre10/include/linux/compiler.h	Thu Jan  1 01:00:00 1970
> +++ rwsem/include/linux/compiler.h	Tue Sep 18 02:02:08 2001
> @@ -0,0 +1,13 @@
> +#ifndef __LINUX_COMPILER_H
> +#define __LINUX_COMPILER_H
> +
> +/* Somewhere in the middle of the GCC 2.96 development cycle, we implemented
> +   a mechanism by which the user can annotate likely branch directions and
> +   expect the blocks to be reordered appropriately.  Define __builtin_expect
> +   to nothing for earlier compilers.  */
> +
> +#if __GNUC__ == 2 && __GNUC_MINOR__ < 96ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \
        --start-group \
        arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \         drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/video/video.o drivers/usb/usbdrv.o drivers/md/mddev.o \
        net/network.o \
        /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a /usr/src/linux/arch/i386/lib/lib.a \
        --end-group \
        -o vmlinux
mm/mm.o: In function `kmem_cache_alloc':
mm/mm.o(.text+0x8154): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x8173): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x81cc): undefined reference to `__builtin_expect'
mm/mm.o: In function `kmalloc':
mm/mm.o(.text+0x8294): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x82b3): undefined reference to `__builtin_expect'
mm/mm.o(.text+0x830c): more undefined references to `__builtin_expect' follow
make: *** [vmlinux] Error 1
> +#define __builtin_expect(x, expected_value) (x)
> +#endif
> +
> +#endif /* __LINUX_COMPILER_H */
> 
> Then you need to simply include <linux/compile.h> from the files that
> doesn't compile, this second patch is untested but it should do the
> trick (00_rwsem-?? was including compile.h from the rwsem includes that
> were in turn included by those files implicitly so I didn't need to add
> compile.h in each file):
> 
> --- 2.4.10pre11/mm/slab.c.~1~	Tue Sep 18 02:43:04 2001
> +++ 2.4.10pre11/mm/slab.c	Tue Sep 18 04:00:30 2001
> @@ -72,6 +72,7 @@
>  #include	<linux/slab.h>
>  #include	<linux/interrupt.h>
>  #include	<linux/init.h>
> +#include	<linux/compile.h>
>  #include	<asm/uaccess.h>
>  
>  /*
> --- 2.4.10pre11/mm/page_alloc.c.~1~	Tue Sep 18 02:43:04 2001
> +++ 2.4.10pre11/mm/page_alloc.c	Tue Sep 18 04:00:20 2001
> @@ -17,6 +17,7 @@
>  #include <linux/pagemap.h>
>  #include <linux/bootmem.h>
>  #include <linux/slab.h>
> +#include <linux/compile.h>
>  
>  int nr_swap_pages;
>  int nr_active_pages;
> --- 2.4.10pre11/mm/vmscan.c.~1~	Tue Sep 18 02:43:04 2001
> +++ 2.4.10pre11/mm/vmscan.c	Tue Sep 18 04:00:47 2001
> @@ -21,6 +21,7 @@
>  #include <linux/init.h>
>  #include <linux/highmem.h>
>  #include <linux/file.h>
> +#include <linux/compile.h>
>  
>  #include <asm/pgalloc.h>
>  
> 
> Andrea

             reply	other threads:[~2001-09-18  2:22 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-18  3:18 Ed Tomlinson [this message]
2001-09-18  2:31 ` Linux 2.4.10-pre11 Magnus Naeslund(f)
2001-09-18  2:49   ` David B. Stevens
2001-09-18  3:38   ` Ed Tomlinson
2001-09-18  3:15 ` Alan Cox
2001-09-18  4:41   ` H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2001-09-18  6:14 Alexei Podtelezhnikov
2001-09-18 13:51 ` Rik van Riel
2001-09-18  0:08 Linus Torvalds
2001-09-17 23:17 ` Marcelo Tosatti
2001-09-18  1:08   ` Marcelo Tosatti
2001-09-18  3:37     ` Andrea Arcangeli
2001-09-18  2:25       ` Marcelo Tosatti
2001-09-18  3:58         ` Andrea Arcangeli
2001-09-18  2:53           ` Marcelo Tosatti
2001-09-18  4:54             ` Andrea Arcangeli
2001-09-18  3:33               ` Marcelo Tosatti
2001-09-18  5:06                 ` Andrea Arcangeli
2001-09-18  3:55                   ` Marcelo Tosatti
2001-09-18  5:32                     ` Andrea Arcangeli
2001-09-18  4:14                       ` Marcelo Tosatti
2001-09-18  5:59                         ` Andrea Arcangeli
2001-09-18  5:00                       ` Marcelo Tosatti
     [not found] ` <20010917211834.A31693@redhat.com>
     [not found]   ` <20010918035055.J698@athlon.random>
2001-09-18  2:02     ` Andrea Arcangeli
     [not found]     ` <20010917221653.B31693@redhat.com>
2001-09-18  2:27       ` Linus Torvalds
2001-09-18  3:14         ` Alan Cox
2001-09-18  3:26         ` Andrea Arcangeli
     [not found]       ` <20010918052201.N698@athlon.random>
2001-09-18  4:01         ` Benjamin LaHaise
2001-09-18  4:39           ` Andrea Arcangeli
2001-09-18  5:04             ` Alan Cox
2001-09-18  5:09               ` Andrea Arcangeli
2001-09-18  5:22             ` Benjamin LaHaise
2001-09-18  5:48               ` Andrea Arcangeli
2001-09-18  5:48 ` Andrew Morton
2001-09-18  6:11   ` Andrea Arcangeli
2001-09-18  5:02     ` Marcelo Tosatti
2001-09-18  6:40       ` Andrea Arcangeli
2001-09-18 16:06         ` Marcelo Tosatti
2001-09-18 19:18           ` Marcelo Tosatti
2001-09-18 21:05             ` Andrea Arcangeli
2001-09-19 13:57               ` Rik van Riel
2001-09-18 10:58   ` Martin Dalecki
2001-09-18  9:31 ` Alexander Viro
2001-09-18  9:39   ` Andrea Arcangeli
2001-09-18  9:44     ` Alexander Viro
2001-09-18  9:57       ` Andrea Arcangeli
2001-09-18 10:02         ` Alexander Viro
2001-09-18 10:17           ` Andrea Arcangeli
2001-09-18 10:28             ` Alexander Viro
2001-09-18 10:35               ` Andrea Arcangeli
2001-09-18 10:52                 ` Alexander Viro
2001-09-18 11:05             ` Helge Hafting
2001-09-18 12:40               ` Andrea Arcangeli
2001-09-18 17:02             ` Linus Torvalds
2001-09-18 16:45   ` Linus Torvalds
2001-09-18 18:19     ` Alexander Viro
2001-09-18 18:27       ` Linus Torvalds
2001-09-18 19:14         ` Andreas Dilger
2001-09-18 19:41           ` Alexander Viro
2001-09-18 20:33           ` Richard Gooch
2001-09-18 20:53             ` Alexander Viro
2001-09-18 21:06             ` Richard Gooch
2001-09-18 21:27               ` Alexander Viro
2001-09-18 19:29         ` Benjamin LaHaise
2001-09-18 20:17         ` Stephan von Krawczynski
2001-09-18 20:33           ` Alan Cox
2001-09-19 13:42           ` Rik van Riel
2001-09-19 14:27             ` Alexander Viro
2001-09-19  2:59         ` Michael Peddemors
2001-09-19 16:11         ` Alexander Viro
2001-09-19 18:25           ` Andrea Arcangeli
2001-09-19 19:21             ` Alexander Viro
2001-09-19 20:55               ` Andrea Arcangeli
2001-09-19 21:17                 ` Alexander Viro
2001-09-19 23:01                   ` Andrea Arcangeli
2001-09-19 23:03                   ` Andrea Arcangeli
2001-09-19 23:30                     ` Alexander Viro
2001-09-19 23:40                       ` Andrea Arcangeli
2001-09-20 13:56                         ` Alexander Viro
2001-09-20 14:38                           ` Chris Mason
2001-09-20 14:50                             ` Alexander Viro
2001-09-20 15:44                               ` Chris Mason
2001-09-20 16:43                                 ` Alexander Viro
2001-09-19 22:15                 ` Richard Gooch
2001-09-20  2:34               ` Andrea Arcangeli
2001-09-20 10:52                 ` Alexander Viro
2001-09-20 18:18                   ` Andrea Arcangeli
2001-09-20 18:33                     ` Alexander Viro
2001-09-20 18:59                       ` Andrea Arcangeli
2001-09-20 20:41                         ` Alexander Viro
2001-09-20 21:18                           ` Andrea Arcangeli
2001-09-20 21:40                             ` Alexander Viro
2001-09-20 22:13                               ` Andrea Arcangeli
2001-09-20 22:20                                 ` Alexander Viro
2001-09-20 22:31                                   ` Andrea Arcangeli
2001-09-20 22:44                                     ` Alexander Viro
2001-09-20 23:03                                       ` Andrea Arcangeli
2001-09-20 23:11                                         ` Alexander Viro
2001-09-21  1:50                                           ` Alexander Viro
2001-09-21  2:42                                             ` Andrea Arcangeli
2001-09-21  3:47                                         ` Andrea Arcangeli
2001-09-21  4:00                                           ` Alexander Viro
2001-09-21  4:06                                             ` Andrea Arcangeli
2001-09-21  4:06                                           ` Andrea Arcangeli
2001-09-21  4:46                                             ` Andrea Arcangeli
2001-09-21  7:09                                               ` Andrea Arcangeli
2001-09-19 20:41             ` Richard Gooch
2001-09-19 13:38       ` Rik van Riel
2001-09-19 16:35       ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010918031813.57E1062ABC@oscar.casa.dyndns.org \
    --to=tomlins@cam.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).