[llvm-commits] [llvm] r76733 - in /llvm/trunk: lib/Target/ELFTargetAsmInfo.cpp test/CodeGen/Mips/2008-07-22-Cstpool.ll

Eric Christopher echristo at apple.com
Wed Jul 22 10:35:07 PDT 2009


On Jul 22, 2009, at 9:38 AM, Chris Lattner wrote:

> Does anyone know what the deal is with this flag?  Is it supported on
> some targets, but not others?  Is it supported for some kinds of
> globals but not others?  BFD has this comment:
>
>   {* This section contains "short" data, and should be placed
>      "near" the GP.  *}
> #define SEC_SMALL_DATA 0x400000
>
> Which isn't super helpful.  It's unclear to me exactly what this is
> useful for, since the assembler is being told the size of the elements
> in the section.

It's really fairly target dependent. Mips, for example, uses it on the  
embedded side for various different types of symbols. Not-under mips- 
linux though. From a quick look it appears that some of the ppc bits  
use small data, I'm uncertain about OS support etc though. i386  
doesn't use it at all :)

Basically it allows the use of different/smaller relocations since the  
data is guaranteed to be within a certain offset of the gp.

-eric



More information about the llvm-commits mailing list