From: James Lemke Date: Tue, 27 Jan 1998 03:34:26 +0000 (+0000) Subject: Fix to s_dmadata(), .EndDmaData was causing a trap. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5fcbec8f9c632ed3c04e7967d0624b3cba384c0a;p=binutils-gdb.git Fix to s_dmadata(), .EndDmaData was causing a trap. --- diff --git a/gas/config/tc-txvu.c b/gas/config/tc-txvu.c index c3e5b439d79..de38477d0a5 100644 --- a/gas/config/tc-txvu.c +++ b/gas/config/tc-txvu.c @@ -910,8 +910,9 @@ s_dmadata( type) int type; { static short state = 0; - struct symbol *label; /* Points to symbol */ - char *name, *name2; /* points to name of first / final symbol */ + static symbolS *label; /* Points to symbol */ + char *name; + const char *prevName; int temp; switch( type) { @@ -962,14 +963,14 @@ s_dmadata( type) *"label" points to beginning of block * Create a name for the final label like _$ */ - name = label->bsym->name; - temp = strlen( name) + 1; - name2 = malloc( temp + 2); - name2[ 0] = '_'; - name2[ 1] = '$'; - memcpy( name2+2, name, temp); /* copy original name & \0 */ - colon( name2); - free( name2); + prevName = label->bsym->name; + temp = strlen( prevName) + 1; + name = malloc( temp + 2); + name[ 0] = '_'; + name[ 1] = '$'; + memcpy( name+2, prevName, temp); /* copy original name & \0 */ + colon( name); + free( name); break; default: