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