llvm.org GIT mirror llvm / b9e7689
Add a target asm info hook to specify that particular bits of data in the FDE should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants these bits to be 64-bits (.quad). However, other platforms may disagree. This is just the info right now and is part of a work-in-progress which needs this. We'll add the actual *use* of this soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80024 91177308-0d34-0410-b5e6-96231b3b80d8 Bill Wendling 11 years ago
3 changed file(s) with 22 addition(s) and 20 deletion(s). Raw diff Collapse all Expand all
253253 //===--- Dwarf Emission Directives -----------------------------------===//
254254
255255 /// AbsoluteDebugSectionOffsets - True if we should emit abolute section
256 /// offsets for debug information. Defaults to false.
257 bool AbsoluteDebugSectionOffsets;
256 /// offsets for debug information.
257 bool AbsoluteDebugSectionOffsets; // Defaults to false.
258258
259259 /// AbsoluteEHSectionOffsets - True if we should emit abolute section
260260 /// offsets for EH information. Defaults to false.
261261 bool AbsoluteEHSectionOffsets;
262262
263263 /// HasLEB128 - True if target asm supports leb128 directives.
264 ///
265 bool HasLEB128; // Defaults to false.
264 bool HasLEB128; // Defaults to false.
266265
267266 /// hasDotLocAndDotFile - True if target asm supports .loc and .file
268267 /// directives for emitting debugging information.
269 ///
270 bool HasDotLocAndDotFile; // Defaults to false.
268 bool HasDotLocAndDotFile; // Defaults to false.
271269
272270 /// SupportsDebugInformation - True if target supports emission of debugging
273271 /// information.
274 bool SupportsDebugInformation;
275
276 /// SupportsExceptionHandling - True if target supports
277 /// exception handling.
278 ///
279 // Defaults to None
280 ExceptionHandling::ExceptionsType ExceptionsType;
272 bool SupportsDebugInformation; // Defaults to false.
273
274 /// SupportsExceptionHandling - True if target supports exception handling.
275 ExceptionHandling::ExceptionsType ExceptionsType; // Defaults to None
281276
282277 /// RequiresFrameSection - true if the Dwarf2 output needs a frame section
283 ///
284 bool DwarfRequiresFrameSection; // Defaults to true.
278 bool DwarfRequiresFrameSection; // Defaults to true.
285279
286280 /// DwarfUsesInlineInfoSection - True if DwarfDebugInlineSection is used to
287281 /// encode inline subroutine information.
288 bool DwarfUsesInlineInfoSection; // Defaults to false.
282 bool DwarfUsesInlineInfoSection; // Defaults to false.
289283
290284 /// Is_EHSymbolPrivate - If set, the "_foo.eh" is made private so that it
291285 /// doesn't show up in the symbol table of the object file.
292 bool Is_EHSymbolPrivate; // Defaults to true.
286 bool Is_EHSymbolPrivate; // Defaults to true.
287
288 /// ForceEncodingOfFDETo32Bits - If set, the encoding of some of the FDE
289 /// data is forced to 32-bit.
290 bool ForceEncodingOfFDETo32Bits; // Defaults to true.
293291
294292 /// GlobalEHDirective - This is the directive used to make exception frame
295293 /// tables globally visible.
296 ///
297 const char *GlobalEHDirective; // Defaults to NULL.
294 const char *GlobalEHDirective; // Defaults to NULL.
298295
299296 /// SupportsWeakEmptyEHFrame - True if target assembler and linker will
300297 /// handle a weak_definition of constant 0 for an omitted EH frame.
301 bool SupportsWeakOmittedEHFrame; // Defaults to true.
298 bool SupportsWeakOmittedEHFrame; // Defaults to true.
302299
303300 /// DwarfSectionOffsetDirective - Special section offset directive.
304301 const char* DwarfSectionOffsetDirective; // Defaults to NULL
507504 bool is_EHSymbolPrivate() const {
508505 return Is_EHSymbolPrivate;
509506 }
507 bool forceEncodingOfFDETo32Bits() const {
508 return ForceEncodingOfFDETo32Bits;
509 }
510510 const char *getGlobalEHDirective() const {
511511 return GlobalEHDirective;
512512 }
7777 DwarfRequiresFrameSection = true;
7878 DwarfUsesInlineInfoSection = false;
7979 Is_EHSymbolPrivate = true;
80 ForceEncodingOfFDETo32Bits = true;
8081 GlobalEHDirective = 0;
8182 SupportsWeakOmittedEHFrame = true;
8283 DwarfSectionOffsetDirective = 0;
5151 // doesn't hurt anything.
5252 // FIXME: I need to get this from Triple.
5353 Is_EHSymbolPrivate = false;
54 ForceEncodingOfFDETo32Bits = false;
5455 GlobalEHDirective = "\t.globl\t";
5556 SupportsWeakOmittedEHFrame = false;
5657