This function, currently unused, generates a stabs
debugging symbol, as documented here:
https://sourceware.org/gdb/onlinedocs/stabs.html
It can be used to process stabs directives, also
documented at the above URL, generated by HLL
compilers such as GCC, as well as to generate line
number and file name debug symbols when assembling
hand-coded assembly files with the -g option.
v2:
-Don't double-init stabs symbol fields
-Consistently use tabs, not spaces
As it turns out, this was not due to malice but because RMAC was set up
to squeeze out every label ever defined in the assembly. Hopefully,
with this patch, things should be a bit more sane. :-)
As far as I can tell, there should be no more regressions, but that's
no guarantee of anything. Assuming no more are found, this should go
out as version 2.0.0. :-D
RMAC has needed a struct for fixups for some time, and now it has one.
All of the credit for pushing (and patching!) in that direction goes to
ggn; blame for the way it's implemented goes to me. There's still room
for improvement; but for now, this should leave us in much better shape.
Now at v1.12.0.
Some of the following changes are ggn's, and some are mine:
- When tokenizing floats we need to store them using a double pointer
- PTR union needed a (double *)
- Major changes to float depositing in eagen0.c
- Reverted the changes in expr.c so at least floats are processed by
expr() and friends
- SYM svalue needs to be 64 bits
- When EQUing a float symbol don't chop off the upper 32 bits from eval
- Added fltpoint.{c,h} in order to properly create IEEE-754 floating
point and Motorola extended numbers
- Fixed float evaluations in evexpr()
- Fixed floating point depositions in direct.c (in d_dc())
- Upped the BSD image limit in object.c to 8MB for crazy people making
6MB Jaguar ROMs (will need a real fix at some point)
- Source fixed to work with current rmac implementation
- Removed ultra kludgy output mode and replaced it with .com/.exe./.xex output module (activated using -fx)
- Added #< and #> to give low and high bytes off an immediate word
- Included tester in "tests" folder.
- Updated docs.
ggn deserves most of the credit for this, as my job was going through
and tossing out the stuff that wasn't needed. ;-) There might be some
ELFish things that still need fixing; time, as usual, will tell.
Removing all automatic code munging in the background by the RISC
compiler, including GPU in main idiocy. This means there are no more
built-in macros either. If you really needed this functionality, you can
put macros in your source code to do it. It doesn't belong in the guts
of the assembler.