delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/06/20/13:39:54

Message-Id: <200006201739.UAA28575@mailgw1.netvision.net.il>
Date: Tue, 20 Jun 2000 20:40:58 +0200
X-Mailer: Emacs 20.6 (via feedmail 8.1.emacs20_6 I) and Blat ver 1.8.5b
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
To: djgpp AT delorie DOT com
CC: rich AT phekda DOT freeserve DOT co DOT uk
In-reply-to: <394E733C.FE5BAB89@phekda.freeserve.co.uk> (message from Richard
Dawe on Mon, 19 Jun 2000 20:23:40 +0100)
Subject: Re: Inline asm: lcall & various binutils versions
References: <39060495 DOT 8CA597B0 AT bigfoot DOT com> <39069F55 DOT 639FE192 AT is DOT elta DOT co DOT il> <39341DE2 DOT 20CA1843 AT bigfoot DOT com> <200005302109 DOT AAA27505 AT alpha DOT netvision DOT net DOT il> <394E733C DOT FE5BAB89 AT phekda DOT freeserve DOT co DOT uk>
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> Date: Mon, 19 Jun 2000 20:23:40 +0100
> From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
> 
> http://sourceware.cygnus.com/ml/binutils/2000-05/msg00660.html
> http://sourceware.cygnus.com/ml/binutils/2000-05/msg00661.html
> http://sourceware.cygnus.com/ml/binutils/2000-05/msg00662.html

Thanks for looking into this.
 
> The answer seems to be that there is no easy way.

Gosh, I _hate_ incompatible changes that don't leave any escapes like
a command-line option to get the old behavior!

We have a similar problem in the library sources (djlsr203.zip), as
reported by Mark Elbrecht a few days ago.

> 3. Detect which version of binutils is being used and adjust the code
> appropriately. Perhaps the most likely, but ugly in terms of code. :(

This sounds like the lesser-evil solution.  You can put #ifdef in the
assembly source, and have Make determine which version of Binutils is
in use.  Here's a starting point for Makefile magic to do that:

  BNU_VERSION := $(shell as --version | sed -n 's/^GNU assembler //p')

(This is only a starting point, since you will need to define
BNU_MAJOR, BNU_MINOR and such likes, given BNU_VERSION.)

Then use "gcc -DBNU_MINOR=..." to get this info into the
preprocessor.

- Raw text -


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