All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.4.4-pre6 does not compile
@ 2001-04-21 20:17 Jochen Striepe
  2001-04-21 20:34 ` Russell King
  0 siblings, 1 reply; 4+ messages in thread
From: Jochen Striepe @ 2001-04-21 20:17 UTC (permalink / raw)
  To: linux-kernel

        Hi,

2.4.4-pre6 actually is the 4th 2.4.4pre-Patch that does not compile
without further patching on my system. :-(


ld -m elf_i386 -T /usr/src/linux-2.4.4-pre6/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/block/block.o drivers/char/char.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o  drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/scsi/aic7xxx/aic7xxx_drv.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/video/video.o \
        net/network.o \
        /usr/src/linux-2.4.4-pre6/arch/i386/lib/lib.a /usr/src/linux-2.4.4-pre6/lib/lib.a /usr/src/linux-2.4.4-pre6/arch/i386/lib/lib.a \
        --end-group \
        -o vmlinux
/usr/src/linux-2.4.4-pre6/lib/lib.a(rwsem.o): In function `__rwsem_do_wake':
rwsem.o(.text+0x30): undefined reference to `__builtin_expect'
rwsem.o(.text+0x73): undefined reference to `__builtin_expect'
make: *** [vmlinux] Error 1


Output from `grep -v ^$ .config | grep -v ^#`:

CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MK6=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_TSC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOBIOS=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_NAMES=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_1284=y
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETFILTER=y
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_SYN_COOKIES=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_PIIX_TUNING=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
CONFIG_BLK_DEV_SR=m
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY=5
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_PCI=y
CONFIG_NE2K_PCI=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_ISDN=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_PPP_BSDCOMP=m
CONFIG_ISDN_DRV_HISAX=m
CONFIG_HISAX_EURO=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=m
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=m
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_MINIX_FS=m
CONFIG_NTFS_FS=m
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=m
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_ADLIB=m
CONFIG_SOUND_SB=m
CONFIG_SOUND_YM3812=m


Output from `sh scripts/ver_linux`:

If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
Linux tolot 2.4.4-pre5 #2 Fri Apr 20 08:32:13 CEST 2001 i586 unknown
 
Gnu C                  2.95.3
Gnu make               3.79.1
binutils               2.11.90.0.5
util-linux             2.11b
mount                  2.11b
modutils               2.4.5
e2fsprogs              1.19
pcmcia-cs              3.0.14
PPP                    2.4.1
isdn4k-utils           3.1pre1
Linux C Library        2.1.3
ldd: version 1.9.9
Procps                 2.0.7
Net-tools              1.60
Kbd                    0.99
Sh-utils               2.0.11
Modules Loaded         nls_utf8 nls_iso8859-15 nls_iso8859-2 nls_iso8859-1 nls_cp852 nls_cp850 nls_cp437 floppy sr_mod sg isofs ne2k-pci 8390 ide-cd cdrom adlib_card opl3 sb sb_lib uart401 sound soundcore lp parport serial



TIA,

Jochen Striepe.

-- 
Never send a man where you can send a bullet.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.4.4-pre6 does not compile
  2001-04-21 20:17 2.4.4-pre6 does not compile Jochen Striepe
@ 2001-04-21 20:34 ` Russell King
  2001-04-21 20:44   ` Philip Blundell
  0 siblings, 1 reply; 4+ messages in thread
From: Russell King @ 2001-04-21 20:34 UTC (permalink / raw)
  To: Jochen Striepe; +Cc: linux-kernel

On Sat, Apr 21, 2001 at 10:17:28PM +0200, Jochen Striepe wrote:
> 2.4.4-pre6 actually is the 4th 2.4.4pre-Patch that does not compile
> without further patching on my system. :-(
> rwsem.o(.text+0x30): undefined reference to `__builtin_expect'
> rwsem.o(.text+0x73): undefined reference to `__builtin_expect'

Its because you're using a version of gcc which doesn't have
__builtin_expect (eg, egcs 1.1.2, some versions of gcc 2.95).
I'm told that gcc 2.95.[12] are not suitable for kernel compilation...

I've currently got the following in my tree (sorry, no diff since I've
got other changes in this file).  lib/rwsem.c, line 9, add:

#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
#define __builtin_expect(exp,c) (exp)
#endif

I'm not sure if this is correct, or which compilers work, which don't
(so don't anyone go and drop it into Linus/Alans kernels), but it
seems to work for me.

--
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.4.4-pre6 does not compile
  2001-04-21 20:34 ` Russell King
@ 2001-04-21 20:44   ` Philip Blundell
  0 siblings, 0 replies; 4+ messages in thread
From: Philip Blundell @ 2001-04-21 20:44 UTC (permalink / raw)
  To: Russell King; +Cc: Jochen Striepe, linux-kernel

>Its because you're using a version of gcc which doesn't have
>__builtin_expect (eg, egcs 1.1.2, some versions of gcc 2.95).

No 2.95.x has __builtin_expect.  There might be some 2.95-derived GNUpro that 
supports it but I doubt anyone is using those to build kernels.

p.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* 2.4.4-pre6 does not compile
@ 2001-04-23 20:14 Jörn Nettingsmeier
  0 siblings, 0 replies; 4+ messages in thread
From: Jörn Nettingsmeier @ 2001-04-23 20:14 UTC (permalink / raw)
  To: jochen, linux-kernel

jochen wrote:
 
> 
>               Hi,
> 
>       2.4.4-pre6 actually is the 4th 2.4.4pre-Patch that does not compile
>       without further patching on my system. :-(
> 
> 
>       ld -m elf_i386 -T /usr/src/linux-2.4.4-pre6/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/block/block.o drivers/char/char.o drivers/misc/misc.o 
>       drivers/net/net.o drivers/media/media.o  drivers/ide/idedriver.o 
>       drivers/scsi/scsidrv.o drivers/scsi/aic7xxx/aic7xxx_drv.o drivers/cdrom/driver.o 
>       drivers/pci/driver.o drivers/video/video.o \
>               net/network.o \
>               /usr/src/linux-2.4.4-pre6/arch/i386/lib/lib.a 
>       /usr/src/linux-2.4.4-pre6/lib/lib.a /usr/src/linux-2.4.4-pre6/arch/i386/lib/lib.a \
>               --end-group \
>               -o vmlinux
>       /usr/src/linux-2.4.4-pre6/lib/lib.a(rwsem.o): In function `__rwsem_do_wake':
>       rwsem.o(.text+0x30): undefined reference to `__builtin_expect'
>       rwsem.o(.text+0x73): undefined reference to `__builtin_expect'
>       make: *** [vmlinux] Error 1


same problem here.
i'm using
# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-suse-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)

and this one has successfully built the last couple of kernels. if
compiler requirements have changed, may i humbly suggest to add this
to the pre-patch logfile ?

btw: i have installed clean vanilla sources. the only  possible
source of pollution was my old .config, which i copied into the tree
before making menuconfig. but this has always worked before.

regards,

jörn

(please cc: me, i only read the archives, which have some lag.
thanks.)

-- 
Jörn Nettingsmeier     
home://Kurfürstenstr.49.45138.Essen.Germany      
phone://+49.201.491621
http://www.folkwang.uni-essen.de/~nettings/
http://www.linuxdj.com/audio/lad/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-04-23 20:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-21 20:17 2.4.4-pre6 does not compile Jochen Striepe
2001-04-21 20:34 ` Russell King
2001-04-21 20:44   ` Philip Blundell
  -- strict thread matches above, loose matches on Subject: below --
2001-04-23 20:14 Jörn Nettingsmeier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.