[llvm-commits] [llvm] r89279 - in /llvm/trunk/lib: CodeGen/AsmPrinter/DwarfException.cpp Target/TargetLoweringObjectFile.cpp

Chris Lattner clattner at apple.com
Tue Dec 1 13:51:47 PST 2009


On Nov 18, 2009, at 4:09 PM, Bill Wendling wrote:

> Author: void
> Date: Wed Nov 18 18:09:14 2009
> New Revision: 89279
>
> URL: http://llvm.org/viewvc/llvm-project?rev=89279&view=rev
> Log:
> The "ReadOnlyWithRel" enum seems to apply more to what Darwin does  
> with the EH
> exception table than DataRel.

Right, the __TEXT is read only, so this is definitely good:

> +++ llvm/trunk/lib/Target/TargetLoweringObjectFile.cpp Wed Nov 18  
> 18:09:14 2009
> @@ -784,7 +784,7 @@
>
>   // Exception Handling.
>   LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
> -                                SectionKind::getDataRel());
> +                                SectionKind::getReadOnlyWithRel());



> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp Wed Nov 18  
> 18:09:14 2009
> @@ -728,7 +728,7 @@
>     // in target-independent code.
>     //
>     if ((LSDASection->getKind().isWriteable() &&
> -         !LSDASection->getKind().isDataRel()) ||
> +         !LSDASection->getKind().isReadOnlyWithRel()) ||

There is a huge comment above this that is now out of date with this  
change.  Which is right?


>
>     if (TI) {
> -      if (!LSDASection->getKind().isDataRel() &&
> +      if (!LSDASection->getKind().isReadOnlyWithRel() &&
>           (TTypeFormat == dwarf::DW_EH_PE_absptr ||
>            TI->getLinkage() == GlobalValue::InternalLinkage)) {

What is this doing?  Can we get some comments explaining the logic here?

-Chris




More information about the llvm-commits mailing list