This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Handling DWARF call frame labels in the middle of VLIW packets
- From: Jim Wilson <wilson at specifixinc dot com>
- To: Daniel Towner <dant at picochip dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 01 Apr 2004 12:44:03 -0800
- Subject: Re: Handling DWARF call frame labels in the middle of VLIW packets
- References: <406AA21E.5010903@picochip.com>
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