Mail Archives: djgpp/2018/01/15/17:45:10
Am Freitag, 5. Januar 2018 03:52:38 UTC+1 schrieb rug DOT DOT DOT AT gmail DOT com:
> Hi,
>
> On Sunday, October 22, 2017 at 11:16:10 AM UTC-5, Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT hates DOT spam) [via djgpp-announce AT delorie DOT hates DOT spam] wrote:
> >
> > This is a port of GNU Gawk 4.2.0 to MSDOS/DJGPP.
> >
> > Send Gawk specific bug reports to <bug-gawk AT gnu DOT hates DOT spam>.
> > Send suggestions and bug reports concerning the DJGPP port
> > to comp.os.msdos.djgpp or <djgpp AT delorie DOT hates DOT spam>.
>
> I'm not fluent in AWK at all. In fact, my use of it is very fleeting,
> mainly out of curiosity. But GAWK does have a very good manual.
>
> I was converting PSR Invaders (MASM syntax) to various other host
> assemblers with scripts. Most of my scripts were using sed (Cheap
> or GNU), but I did write one AWK script, too.
>
> * http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/psrinvad.html
> * http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/games/psrinvad.zip
>
> I've still been playing around locally, making minor improvements, but
> it seems latest DJGPP GAWK crashes (while older 4.1.1 works fine, same
> as other DOS AWKs). I even did a quick rebuild of GAWK on Linux, but no
> bug was found. So I assume this is a DJGPP-specific bug / regression.
>
> At first I thought it was my new script, that maybe I was doing something
> weird. But no, even my old script (in .ZIP mentioned at above URL)
> is borking.
>
> ****************************************************************
> [ GCC 7.2.0 / DJGPP 2.05 ] G:\TONY>gawk -f inv-a86.awk invaders.asm
> Assertion failed at field.c line 350, function purge_record: (fields_arr[i]->fla
> gs & MALLOC) == 0 ? fields_arr[i]->valref == 1 : true
> Exiting due to signal SIGABRT
> Raised at eip=0008609c
> eax=0014c3f0 ebx=00000120 ecx=00000000 edx=00000000 esi=00154054 edi=0017c778
> ebp=0014c4a8 esp=0014c3e0 program=C:\C\DJGPP\BIN\GAWK.EXE
> cs: sel=00a7 base=00400000 limit=001cffff
> ds: sel=00af base=00400000 limit=001cffff
> es: sel=00af base=00400000 limit=001cffff
> fs: sel=008f base=00007490 limit=0000ffff
> gs: sel=00bf base=00000000 limit=0010ffff
> ss: sel=00af base=00400000 limit=001cffff
> App stack: [0014c6a0..000cc6a4] Exceptn stack: [000cbdc0..000c9e80]
>
> Call frame traceback EIPs:
> 0x00085feb
> 0x0008609c
> 0x00073dfa
> 0x0001f9bd
> [ GCC 7.2.0 / DJGPP 2.05 ] G:\TONY>gawk --version | sed 1q
> GNU Awk 4.2.0
> ****************************************************************
>
> I think the (valid!) line that is choking is this, but I don't know why:
>
> /NewInt9Hand.* PROC/,/NotIntercept:/ { if ($0 ~ /MOV/) { sub($2,"cs:&") } }
>
> So whatever. Just reporting this in case you know what to do with it.
> It's no biggie to me, obviously. I almost hated to mention it, but ....
OFYI, the next gawk test tarball is available as:
http://www.skeeve.com/gawk/gawk-4.2.0c.tar.gz
If you want you can try out if the crash has been fixed.
Regards,
Juan M. Guerrero
- Raw text -