www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/03/08/15:53:46

Date: Mon, 8 Mar 1999 21:50:04 +0100
To: pgcc AT delorie DOT com
Cc: trn AT trn DOT nu
Subject: Re: Miscompilation of Linux 2.2.2i-ac7 w/ FPU memcpy().
Message-ID: <19990308215004.C3750@cerebro.laendle>
Mail-Followup-To: pgcc AT delorie DOT com, trn AT trn DOT nu
References: <19990308123240 DOT A30623 AT waea DOT trn DOT nu>
Mime-Version: 1.0
In-Reply-To: <19990308123240.A30623@waea.trn.nu>; from I treat her like a lady... on Mon, Mar 08, 1999 at 12:32:40PM -0500
X-Operating-System: Linux version 2.2.2 (marc AT cerebro) (gcc driver version pgcc-2.93.04 19990131 (gcc2 ss-980929 experimental) executing gcc version 2.7.2.3)
From: Marc Lehmann <pcg AT goof DOT com>
Reply-To: pgcc AT delorie DOT com
X-Mailing-List: pgcc AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, Mar 08, 1999 at 12:32:40PM -0500, I treat her like a lady... wrote:
> This is my first attempt at compiling the Linux kernel after
> updating from pgcc-1.1.1.  I updated mainly for the MMX support
> and reading the assembly output to try to teach myself a little
> about MMX.  I'm compiling to kernel to update from LVM 0.5 to

pgcc is a bad teching tool about mmx, first, it does not use many mmx
instructions, and secondly, it doesn't use mmx the way its supposed to
(yet).

> filemap.c: In function `sys_sendfile':
> filemap.c:911: impossible register constraint in `asm'
> filemap.c:911: impossible register constraint in `asm'
> filemap.c:911: impossible register constraint in `asm'
> /usr/src/linux/include/asm/uaccess.h: In function 
> 	`__generic_copy_to_user_nocheck':
> /usr/src/linux/include/asm/uaccess.h:351: Invalid `asm' statement:
> /usr/src/linux/include/asm/uaccess.h:351: fixed or forbidden register 4 
> 	(si) was spilled for class SIREG.

These errors are usually valid and indicate bugs in asm() statements, in
this case, in linux (or in the fast memcpy patch).

> I'm compiling this particular file with optimiztions disabled, using the
> lowest compatible CPU type (-O0 -pipe -fno-strength-reduce -g0 -DCPU=386 
> -m386 -march=i386).  Using higher optimizations or CPU instruction levels
> gives different similar errors.  The function in question in uaccess.h
> is as follows:

You can't compile the kernel without optimization. Ever.


--  
      -----==-                                             |
      ----==-- _                                           |
      ---==---(_)__  __ ____  __       Marc Lehmann      +--
      --==---/ / _ \/ // /\ \/ /       pcg AT goof DOT com      |e|
      -=====/_/_//_/\_,_/ /_/\_\       XX11-RIPE         --+
    The choice of a GNU generation                       |
                                                         |

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019