PPL Logo

util/cmitls.C File Reference

Go to the source code of this file.

Typedefs

typedef struct mach_header_64 macho_header
typedef struct segment_command_64 macho_segment_command
typedef struct section_64 macho_section
typedef struct nlist_64 macho_nlist

Functions

void * getTLS ()
void setTLS (void *)
void * swapTLS (void *)
static void CmiTLSStatsInit (void)
static int count_tls_sizes (struct dl_phdr_info *info, size_t size, void *data)
static void populateTLSSegStats (tlsseg_t *t)
static size_t GetTLVSizeFromMachOHeader ()
static Addr getCodeSegAddr ()
static EhdrgetELFHeader ()
static PhdrgetProgramHeader (Ehdr *ehdr)
PhdrgetTLSPhdrEntry ()
void CmiTLSInit ()
void allocNewTLSSeg (tlsseg_t *t, CthThread th)
void switchTLS (tlsseg_t *cur, tlsseg_t *next)
void currentTLS (tlsseg_t *cur)

Variables

int quietModeRequested
static size_t CmiTLSSize
static void * CmiTLSExecutableStart


Typedef Documentation

typedef struct mach_header macho_header [read]

Definition at line 133 of file cmitls.C.

typedef struct segment_command macho_segment_command [read]

Definition at line 136 of file cmitls.C.

typedef struct section macho_section [read]

Definition at line 137 of file cmitls.C.

typedef struct nlist macho_nlist [read]

Definition at line 138 of file cmitls.C.


Function Documentation

void * getTLS (  ) 

Definition at line 60 of file cmitls.C.

Referenced by allocNewTLSSeg(), currentTLS(), and swapTLS().

Here is the caller graph for this function:

void setTLS ( void *  newptr  ) 

Definition at line 72 of file cmitls.C.

Referenced by swapTLS().

Here is the caller graph for this function:

void * swapTLS ( void *  newptr  ) 

Definition at line 81 of file cmitls.C.

References getTLS(), and setTLS().

Referenced by switchTLS().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CmiTLSStatsInit ( void   )  [inline, static]

Definition at line 95 of file cmitls.C.

Referenced by CmiTLSInit().

Here is the caller graph for this function:

static int count_tls_sizes ( struct dl_phdr_info *  info,
size_t  size,
void *  data 
) [static]

Definition at line 99 of file cmitls.C.

References tlsseg::align, tlsseg::size, and PUP::t.

Referenced by populateTLSSegStats().

Here is the caller graph for this function:

static void populateTLSSegStats ( tlsseg_t t  )  [static]

Definition at line 118 of file cmitls.C.

References tlsseg::align, count_tls_sizes(), and tlsseg::size.

Referenced by allocNewTLSSeg().

Here is the call graph for this function:

Here is the caller graph for this function:

static size_t GetTLVSizeFromMachOHeader (  )  [static]

Definition at line 148 of file cmitls.C.

References c, and size.

static Addr getCodeSegAddr (  )  [inline, static]

Definition at line 273 of file cmitls.C.

References CmiTLSExecutableStart.

Referenced by getELFHeader().

Here is the caller graph for this function:

static Ehdr* getELFHeader (  )  [inline, static]

Definition at line 278 of file cmitls.C.

References getCodeSegAddr().

Referenced by getTLSPhdrEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

static Phdr* getProgramHeader ( Ehdr ehdr  )  [inline, static]

Definition at line 283 of file cmitls.C.

Referenced by getTLSPhdrEntry().

Here is the caller graph for this function:

Phdr* getTLSPhdrEntry (  ) 

Definition at line 288 of file cmitls.C.

References getELFHeader(), and getProgramHeader().

Here is the call graph for this function:

void CmiTLSInit ( void   ) 

Definition at line 360 of file cmitls.C.

References CmiAbort(), CmiMyPe(), CmiMyRank(), CmiPrintf(), CmiTLSStatsInit(), and quietModeRequested.

Referenced by CthBaseInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void allocNewTLSSeg ( tlsseg_t t,
CthThread  th 
)

Definition at line 380 of file cmitls.C.

References tlsseg::align, CmiIsomallocMallocAlignForThread(), getTLS(), tlsseg::memseg, populateTLSSegStats(), and tlsseg::size.

Referenced by CthCreateInner().

Here is the call graph for this function:

Here is the caller graph for this function:

void switchTLS ( tlsseg_t cur,
tlsseg_t next 
)

Definition at line 399 of file cmitls.C.

References tlsseg::memseg, and swapTLS().

Referenced by CmiDisableTLS(), CmiEnableTLS(), CtgInstallCthTLS(), CtgInstallMainThreadTLS(), and CtgInstallTLS().

Here is the call graph for this function:

Here is the caller graph for this function:

void currentTLS ( tlsseg_t cur  ) 

Definition at line 404 of file cmitls.C.

References getTLS(), and tlsseg::memseg.

Referenced by CthBaseInit().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

size_t CmiTLSSize [static]

Definition at line 250 of file cmitls.C.

void* CmiTLSExecutableStart [static]

Definition at line 271 of file cmitls.C.

Referenced by getCodeSegAddr().


Generated on Mon Sep 21 08:11:45 2020 for Charm++ by  doxygen 1.5.5