We are using symbols to represent label and csect interchangeably before, and that could be a problem.
There are cases we would need to add storage mapping class to the symbol if that symbol is actually the name of a csect, but it's hard for us to figure out whether that symbol is a label or csect.
This patch intend to do the following:
- Construct a QualName (A name include the storage mapping class) MCSymbolXCOFF for every MCSectionXCOFF.
- Keep a pointer to that QualName inside of MCSectionXCOFF.
- Use that QualName whenever we need a symbol refers to that MCSectionXCOFF.
- Adapt the snowball effect from the above changes in XCOFFObjectWriter.cpp.
I think the name of the QualName is always same as Section Name, I am prefer to create the QualName inside the construct of the MCSectionXCOFF.
otherwise we have to write a code which created a Qualname first. and then call the new MCSectionXCOFF(......) very time.