COFF/PE gas regression: bug

Donn Terry
Wed Mar 31 09:22:00 GMT 1999

Let me quickly introduce myself, and then get on to the topic:
I'm Donn Terry, and over the last several years I've been working
on the Interix port of the FSF compiler tools (the whole chain,
from gcc/egcs thru gdb).  I'm now in the process of actively
remerging those changes into the official trees, maintainers
approving.  I'll be working with PE/PEI format stuff, both Intel
and Alpha.  I've been in contact with Ian and DJ about this.
(Yes, I really started with Cygwin stuff.)

In the process of doing the Gas port, I've run into something
that both the gas2 and bfd lists may wish to discuss, so I'm
sending to both (realizing that there may not be much difference
between the two.)  (And for archive purposes.)

I believe the gas testsuite has a bad test, as follows:  In
testsuite/gas/all/gas.exp, one of the tests is for structure tags
(see cofftag*).  It creates the symbol _operator as
storage class 16 (MOE), type 11 (0xb, MOE).  According to
the best COFF standard I have (which is no longer on
the web that I can find, but was on SCO's website):
"A special section number (-2) marks symbolic debugging symbols,
including structure/union/enumeration tag names...".
(Microsoft's PE documentation agrees, but isn't quite as
explicit.)  (DJ's machine is not responding at the moment.)

The test expects a value of -1 (Absolute symbol), which according
to the above is incorrect.

I've a fix for this (as part of a larger bundle of fixes),
but since it's a visible incompatability, I thought I'd
check if anyone cared (either way).  (The fix actually
affects more than just MOE, obviously, but it follows the
standards to the best I can interpret them.)

There's more along this line (inconsistencies between
the COFF/PE "standards" and the FSF tools); if you in general care
about COFF/PE, please respond and I'll collect a "those who
care" list about other such items.  (DJ, Ian, don't bother;
you can't escape :-) !)



Donn Terry        
Softway Systems, Inc.
2850 McClelland Dr, Ste. 1800   Ft.Collins CO 80525
Tel: +1-970-204-9900           Fax: +1-970-204-9951

More information about the Gas2 mailing list