xfs
[Top] [All Lists]

Re: egcs-2.91.66

To: David Henderson <DHenders@xxxxxx>
Subject: Re: egcs-2.91.66
From: Steve Lord <lord@xxxxxxx>
Date: Fri, 23 Feb 2001 09:07:26 -0600
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: Message from David Henderson <DHenders@VT.Edu> of "Fri, 23 Feb 2001 08:28:47 EST." <3A96658F.6080700@VT.Edu>
Sender: owner-linux-xfs@xxxxxxxxxxx
This is coming from our use of the do_div macro - which we wrap in an
inline function in fs/xfs/linux/xfs_linux.h

XFS has a number of 64 bit divide and modulus operations, rather than
import the compiler intrinsic from the gcc support library, we chose to
use this existing kernel macro. Unfortunately, later compilers do not
like the way we use it, and I have never figured out why. It is possible
that moving xfs_do_div and xfs_do_mod to be true functions somewhere in a .c 
file rather than an inline would fix the problem, but no guarantees.

Steve


> This is a multi-part message in MIME format.
> --------------080004070008020405010703
> Content-Type: text/plain; charset=us-ascii; format=flowed
> Content-Transfer-Encoding: 7bit
> 
> Attached is a file containing the output from a "make modules" command 
> in the latest (as of yesterday) cvs of the linux-2.4-xfs tree.  I am 
> wondering if the error at the bottom of the file is related to the 
> problem of using gcc-2.95 vs egcs-2.91.66?  If not, how can I fix this 
> problem?  Thanks!!
> 
> Dave H
> 
> -- 
> 
> David A. Henderson, M.Sc.
> G. Cunningham Fellow
> Interdepartmental Genetics Program
> Department of Dairy Science
> 2010 Litton Reaves Hall
> Virginia Polytechnic Institute and State University
> Blacksburg, VA 24061 USA
> Phone: (540)231-4773
> Fax: (540)231-5014
> mailto://DHenders@xxxxxx
> http://www.dasc.vt.edu/henderson/dhenderson.html
> 
> --------------080004070008020405010703
> Content-Type: text/plain;
>  name="make.out"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline;
>  filename="make.out"
> 
> make -C  kernel CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4-xfs/linux/include -
> Wall -Wstrict-prototypes -O2 -fno-strict-aliasing -fomit-frame-pointer -pipe 
> -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr
> /src/linux-2.4-xfs/linux/include/linux/modversions.h" MAKING_MODULES=1 module
> s
> make[1]: Entering directory `/usr/src/linux-2.4-xfs/linux/kernel'
> make[1]: Nothing to be done for `modules'.
> make[1]: Leaving directory `/usr/src/linux-2.4-xfs/linux/kernel'
> make -C  drivers CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4-xfs/linux/include 
> -Wall -Wstrict-prototypes -O2 -fno-strict-aliasing -fomit-frame-pointer -pipe
>  -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /us
> r/src/linux-2.4-xfs/linux/include/linux/modversions.h" MAKING_MODULES=1 modul
> es
> make[1]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers'
> make -C block modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/block'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/block'
> make -C cdrom modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/cdrom'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/cdrom'
> make -C char modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/char'
> make -C drm modules
> make[3]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/char/drm'
> make[3]: Nothing to be done for `modules'.
> make[3]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/char/drm'
> make -C joystick modules
> make[3]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/char/joysti
> ck'
> make[3]: Nothing to be done for `modules'.
> make[3]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/char/joystic
> k'
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/char'
> make -C ide modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/ide'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/ide'
> make -C input modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/input'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/input'
> make -C media modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/media'
> make -C radio modules
> make[3]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/media/radio
> '
> make[3]: Nothing to be done for `modules'.
> make[3]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/media/radio'
> make -C video modules
> make[3]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/media/video
> '
> make[3]: Nothing to be done for `modules'.
> make[3]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/media/video'
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/media'
> make -C misc modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/misc'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/misc'
> make -C net modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/net'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/net'
> make -C parport modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/parport'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/parport'
> make -C pnp modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/pnp'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/pnp'
> make -C scsi modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/scsi'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/scsi'
> make -C sound modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/sound'
> make -C emu10k1 modules
> make[3]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/sound/emu10
> k1'
> make[3]: Nothing to be done for `modules'.
> make[3]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/sound/emu10k
> 1'
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/sound'
> make -C usb modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/usb'
> make -C storage modules
> make[3]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/usb/storage
> '
> ld -m elf_i386 -r -o usb-storage.o scsiglue.o protocol.o transport.o usb.o in
> itializers.o 
> make[3]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/usb/storage'
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/usb'
> make -C video modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/drivers/video'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers/video'
> make[1]: Leaving directory `/usr/src/linux-2.4-xfs/linux/drivers'
> make -C  mm CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4-xfs/linux/include -Wall
>  -Wstrict-prototypes -O2 -fno-strict-aliasing -fomit-frame-pointer -pipe -mpr
> eferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src
> /linux-2.4-xfs/linux/include/linux/modversions.h" MAKING_MODULES=1 modules
> make[1]: Entering directory `/usr/src/linux-2.4-xfs/linux/mm'
> make[1]: Nothing to be done for `modules'.
> make[1]: Leaving directory `/usr/src/linux-2.4-xfs/linux/mm'
> make -C  fs CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4-xfs/linux/include -Wall
>  -Wstrict-prototypes -O2 -fno-strict-aliasing -fomit-frame-pointer -pipe -mpr
> eferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src
> /linux-2.4-xfs/linux/include/linux/modversions.h" MAKING_MODULES=1 modules
> make[1]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs'
> make -C autofs modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/autofs'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/autofs'
> make -C fat modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/fat'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/fat'
> make -C minix modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/minix'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/minix'
> make -C msdos modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/msdos'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/msdos'
> make -C nls modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/nls'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/nls'
> make -C ntfs modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/ntfs'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/ntfs'
> make -C pagebuf modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/pagebuf'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/pagebuf'
> make -C reiserfs modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/reiserfs'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/reiserfs'
> make -C umsdos modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/umsdos'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/umsdos'
> make -C vfat modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/vfat'
> make[2]: Nothing to be done for `modules'.
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/vfat'
> make -C xfs modules
> make[2]: Entering directory `/usr/src/linux-2.4-xfs/linux/fs/xfs'
> kgcc  -D__KERNEL__ -I/usr/src/linux-2.4-xfs/linux/include -Wall -Wstrict-prot
> otypes -O2 -fno-strict-aliasing -fomit-frame-pointer -pipe -mpreferred-stack-
> boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4-xfs
> /linux/include/linux/modversions.h -Wno-unused  -Wno-parentheses -Wno-uniniti
> alized -I. -funsigned-char  -Wno-unknown-pragmas -DDEBUG -DXFSDEBUG  -c -o xf
> s_bmap.o xfs_bmap.c
> xfs_bmap.c: In function `xfs_bmap_del_extent':
> xfs_bmap.c:3130: internal error--unrecognizable insn:
> (insn/i 528 527 2191 (parallel[ 
>             (set (reg:SI 0 %eax)
>                 (asm_operands ("") ("=a") 0[ 
>                         (reg:DI 1 %edx)
>                     ] 
>                     [ 
>                         (asm_input:DI ("A"))
>                     ]  ("linux/xfs_linux.h") 266))
>             (set (reg:SI 1 %edx)
>                 (asm_operands ("") ("=d") 1[ 
>                         (reg:DI 1 %edx)
>                     ] 
>                     [ 
>                         (asm_input:DI ("A"))
>                     ]  ("linux/xfs_linux.h") 266))
>         ] ) -1 (insn_list 495 (nil))
>     (nil))
> cpp: output pipe has been closed
> make[2]: *** [xfs_bmap.o] Error 1
> make[2]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs/xfs'
> make[1]: *** [_modsubdir_xfs] Error 2
> make[1]: Leaving directory `/usr/src/linux-2.4-xfs/linux/fs'
> make: *** [_mod_fs] Error 2
> 
> --------------080004070008020405010703--



<Prev in Thread] Current Thread [Next in Thread>
  • egcs-2.91.66, David Henderson
    • Re: egcs-2.91.66, Steve Lord <=