delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/09/09/17:00:33

From: pavenis AT lanet DOT lv
Message-ID: <B0000101003@stargate.astr.lu.lv>
To: "Ian Miller" <Ian AT shelob DOT force9 DOT co DOT uk>, djgpp AT delorie DOT com
Date: Thu, 9 Sep 1999 17:11:14 +0300
MIME-Version: 1.0
Subject: Re: grx23 under as-2.95
CC: grx AT gnu DOT de
In-reply-to: <GAAB3.2891$N5.64524@stones>
X-mailer: Pegasus Mail for Win32 (v3.12a)
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On 8 Sep 99, at 22:29, Ian Miller wrote:

> Ahem.
> 
> I'm using pretty much up to date binutils 2.95
> right now. I wouldn't recommend it unless it
> doesn't matter to you much if your software
> doesn't work. That said, they do seem to
> work fine. However,...
> 
> as 2.95 interprets a couple of GRX inline
> assembler call instructions as
> PC-relative and chokes on them.
> as 2.81 interpreted them as absolute
> calls, and this is evidently what the code
> intends.
> 
> The following simple patch, duplicated at
> http://www.shelob.force9.co.uk/djgpp/grxasm.dif,
> applies the * prefix to the call absolute
> operands as the as 2.95 manual requires.
> It works for me.
> 
> IF IN DOUBT, DO NOT APPLY THIS PATCH
> 
> Happy hacking,
> Ian
> --
> Ian Miller, Dorset, UK
> 
> *** src/vdrivers/vesa_pm.orig.c Mon May 11 20:20:28 1998
> --- src/vdrivers/vesa_pm.c Wed Sep  8 21:41:52 1999
> ***************
> *** 349,355 ****
>   static INLINE void PM_banking(short BX, short DX) {
>     __asm__ volatile (
>       " pushal   \n"
> !     " call %3  \n"
>       " popal      "
>       : /* no output */
>       : "a" (0x4F05), "b" (BX), "d" (DX),
> --- 349,355 ----
>   static INLINE void PM_banking(short BX, short DX) {
>     __asm__ volatile (
>       " pushal   \n"
> !     " call *%3  \n"
>       " popal      "
>       : /* no output */
>       : "a" (0x4F05), "b" (BX), "d" (DX),
> ***************
> *** 362,368 ****
>       " pushal             \n"
>       " movw %%ax, %%es    \n"
>       " movw $0x4f05, %%ax \n"
> !     " call %3            \n"
>       " popal                "
>       : /* no output */
>       : "a" (es), "b" (BX), "d" (DX),
> --- 362,368 ----
>       " pushal             \n"
>       " movw %%ax, %%es    \n"
>       " movw $0x4f05, %%ax \n"
> !     " call *%3            \n"
>       " popal                "
>       : /* no output */
>       : "a" (es), "b" (BX), "d" (DX),
> 
> 
> 
> 
> 
> 


- Raw text -


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