www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/09/09/15:50:20

Message-ID: <XFMail.990909214537.markus.oberhumer@jk.uni-linz.ac.at>
X-Mailer: XFMail 1.3 [p0] on Linux
X-Priority: 3 (Normal)
MIME-Version: 1.0
In-Reply-To: <B0000100998@stargate.astr.lu.lv>
X-no-Archive: yes
Return-Read-To: markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at
Return-Received-To: markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at
Date: Thu, 09 Sep 1999 21:45:37 +0200 (CEST)
From: "Markus F.X.J. Oberhumer" <markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at>
To: djgpp-workers AT delorie DOT com
Subject: RE: gcc-2.95
Cc: dj AT delorie DOT com
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id PAA06259
Reply-To: djgpp-workers AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

Using `-march=pentium' is supposed to generate code
that only runs on Pentiums and above.

CPU optimizations (the old `-m486') are now
controlled by `-mcpu=pentium'.

Probably the best way is to default to 
`-march=i386 -mcpu=pentium' in the specs, i.e.
generate code that runs on all i386 CPUs but
optimize for the i586 (this also influences
default alignment et. al.).

Rebuilding or reconfiguring gcc should not be
necessary (unless gcc was compiled with -march=pentium
itself).

Markus


On 09-Sep-1999 pavenis AT lanet DOT lv wrote:
> Hi!
> 
> Sorry to say, but we should not mirror out binaries of port of gcc-
> 2.95.1. I must rebuild them for target i386-pc-msdosdjgpp
> 
> The problem was that we have found  very rare problem when 
> compiler with options -march=pentium -mcpu=pentium generates code 
> which doesn't run on i386. It seems to be very rare as it took half a 
> year to found it (my own software written in C++ is being used on 386 
> and never crashed due to similar things) as the same problem was with 
> port of egcs-1.1.2
> 
> Andris
> 
> ------------------  assembler code generated by gcc-2.95
>       leal -16(%ecx),%ebx
>       movl $-1,%eax
>       leal 8(%ebx),%edx
> /APP
>       .byte 0xf0, 0x0f, 0xc1, 0x02
> /NO_APP
>       cmpl $1,%eax
>       jne L712
> -------------------------  what I'm getting from objdump 
> -----------------------
>  4f7: b8 ff ff ff ff  movl   $0xffffffff,%eax
>  4fc: 8d 53 08        leal   0x8(%ebx),%edx
>  4ff: f0 0f c1 02     lock xaddl %eax,(%edx)
>                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>                        This command is valid for i486++
>  503: 83 f8 01        cmpl   $0x1,%eax
>  506: 75 34           jne    53c 
> <_replace__t12basic_string3ZcZt18string_char_traits1ZcZt24__defaul
> t_alloc_template2b0i0UlUlPCcUl+0x1e4>
> 

----   Markus F.X.J. Oberhumer <markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at>   ----
----             http://wildsau.idv.uni-linz.ac.at/mfx/               ----
----        5E CB 5C 85 DE AF 9E BF  E9 DA 7E 6A 39 F8 CC 67          ----

                             3 WARPS TO URANUS

- Raw text -


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