This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: bundle boundaries in ia64 assembly output?


Geert Bosch wrote:
These tags are ussed inside explicit bundles (delimited with { and }),
and GCC cannot output such bundles.

Tags are used for debug info. See ASM_OUTPUT_DEBUG_LABEL. It should be feasible to use tags for EH labels also, just a simple matter of defining a hook like ASM_OUTPUT_DEBUG_LABEL, or maybe even reusing that hook.


I don't have a problem with adding the { and } bundle markers. We just need someone to write a patch.

You didn't go into details of why the output was still not acceptable to IAS, but I can make some guesses. We are probably emitting labels in funny places, e.g. at the end of a bundle instead of at the start of the next one, before stop bits instead of after them, etc. We probably also have the same problem with tags. This might require the code emitting labels and/or tags to know about IA-64 bundling issues, which may be hard to solve. Less likely sources of problems: emitting multiple tags if IAS only happens to allow one, white space issues where tags and stop bits are emitted on their own line instead of on the same line as the instruction that they modify if IAS is picky about white space.

Incidentally, if you look at ASM_OUTPUT_DEBUG_LABEL, you will see that we only emit tags for GNU as. This was done by Kenner, who insisted that it was needed for the VMS port. I have never seen an explanation why. I consider this a bug in the VMS port. I borrowed the tag syntax from the Intel assembler documentation, so as far as I know it should have worked fine. This problem means that using -g on the VMS port will change the generated code which is contrary to our documentation. This should be fixed before the VMS port is finished, but if you are moving to GNU as then it will fix itself when you do that.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]