## ASxxxx Cross Assembler Bug Reports and User Requests

    *---*---*---*---*
    8-Nov-1999:

    I have a problem with aslink (with the exe-file you supply with
    v2.2 as well as my own built aslink) under Linux OS.

    The files from the ExApp Project:
    	(from simpleRTJ - simple Real Time Java for the m68hc11,
    	http://members.xoom.com/simpleRTJ/Trials/Introduction.html)
    cause a segmentation fault.

    Under DOS the hole project is correctly built, also with the
    aslink-input files, that i build with as6811 under Linux !
    So problem seems to be aslink.

    Maybe you have a clue !?

    Sincerely, Ingo Beckmann [ingo.beckmann@FernUni-Hagen.de]

    Ingo,

      There is a bug in ASLINK:
    	The Linux function 'fclose(sfp)' causes a segmentation
    	fault if the file (having a file handle sfp) has
    	already been closed.  (The file handle becomes
    	invalid after the file is closed, a subsequent
    	call to fclose(sfp) with the invalid file handle
    	causes the segmentation fault.)

    	The bug is that after I closed the input file
    	I did not set the file handle to NULL so that
    	the routine LKEXIT() would not try to close
    	the file a second time.

    	(The DOS libraries seem to have a method to verify if
    	the file handle is valid before using it.)

      The fix has been placed on the 'Updates Page'.

    *---*---*---*---*

    *---*---*---*---*
    20-Nov-1998:

    I am in the process of developing a Freeware C compiler for
    8-16 bit microcontrollers , and have decided to use ASXXXX
    as the assembler.

    Now the question.... I like the idea of local labels a lot .. since this
    will save a lot of effort in name mangling ... but to use this
    effectively I need to expand the 256 limit to something in the
    range of 2^15 ..   is this feasable ??

    Which source files will I need to modify  to accomplish this ??

    Thanks in advance
    Regards
    Sandeep

    --
    +---------------------------------------------------+
    | Sandeep Dutta : Sandeep_Dutta-CSD001@email.mot.com|
    | Motorola Inc. : LMPS Software Research Lab        |
    +---------------------------------------------------+

    Sandeep,

    Modify ASXXXX.H

    Changing  the variable type from 'char' to 'int'
    for t_num and t_flg in the structure tsym will
    increase the allowable number of temporary symbols
    to 65536 (0 - 65535)  between normal symbol definitions.
    The definition for the structure tsym is found in ASXXXX.H

    Recompile the assemblers.

    Note that the temporary symbols are not hashed.  A linear
    search is used to find the symbol and may take some time
    if there are many thousands of symbols between two normally
    constructed symbols.

    /* **-- ASXXXX.H --** */

    /* ** BEFORE ** */
    struct  tsym
    {
            struct  tsym *t_lnk;    /* Link to next */
            char t_num;             /* 0-255$ */
            char t_flg;             /* flags */
            struct  area *t_area;   /* Area */
            addr_t  t_addr;         /* Address */
    };

    /* ** AFTER ** */
    struct  tsym
    {
            struct  tsym *t_lnk;    /* Link to next */
            int  t_num;             /* 0-65535$ */
            int  t_flg;             /* flags */
            struct  area *t_area;   /* Area */
            addr_t  t_addr;         /* Address */
    };

    *---*---*---*---*

... Home Page