home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 6
/
Sonderheft_6-96.iso
/
pd
/
libraries
/
reqtools
/
glue
/
gcc
/
readme
< prev
Wrap
Text File
|
1996-11-03
|
2KB
|
28 lines
This is an revised reqtools support for gcc. The libraries are based on the
original glue source for SAS/C supplied with reqtools. These source files
had been converted to gcc to achive the same functionality. The archive
contains the normal and baserelative library. The former distribution lacked
the baserelative library because of an misbehavior of gcc using the option
'-fbaserel'. GCC prunes a4 from the list of registers to save because this
register should always contain the base pointer. So if we call rtEZRequestA()
a4 gets trashed and the result is known. This problem is solved with this
distribution because of the use of assembler stubs. The libraries were
created using gcc2.3.3. I also tried gcc2.5.7 and it worked. The demo program
included can be compiled with both versions (all nessecary files supplied).
TECHNICAL NOTE: Hook support is done with an external stub in libsup.a called
'main_filter_func()'. This stub fetches all registers on the stack and calls
the highlevel function stored in hook.h_SubEntry. a4 will be loaded if this is
nessecary.
NOTE: Don't change the suffix of the assmbler files. GCC relys on the case
of the suffix. So .s and .S are NOT the same. The lowercase .s is a normal
assembler source and the uppercase .S indicates an assembler file to be
preprocessed (needed!!!).
LEGAL DISCLAIMER
I tested the stubs and the demo program worked well with them either with
or without hook support (but the demo doesn't use all functions) so use
the libaries at your own risk.