Handling DWARF call frame labels in the middle of VLIW packets
Jim Wilson
wilson@specifixinc.com
Thu Apr 1 20:44:00 GMT 2004
Daniel Towner wrote:
> generating DWARF call frame information and have run into a problem
> whereby the call frame mechanism tries to output labels in the middle of
> VLIW packets.
Since you have already hacked up gcc to add VLIW packet support, and we
have no information about these hacks you have added, we can't know how
best to solve your problem. All I could suggest is that you probably
need further extensions to your existing hack. The second solution,
changing where the labels get emitted, is probably simpler, and more
inline with your current hacks. See dwarf2out_cfi_label in dwarf2out.c
which is where the labels come from.
IA-64 supports "tags", which are like labels, but can appear in the
middle of bundles, and can't be used as the targets of branches. The
IA-64 port uses these for the unwind info. In the IA-64 case, the
processor can be put into a single-step mode where insns inside a bundle
get executed one at a time. Hence we must have unwind labels inside
bundles, or else unwinding would not work in single-step mode. This is
probably not an issue for a true-VLIW machine though.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
More information about the Gcc
mailing list