*---*---*---*---* 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 */
};
*---*---*---*---*