diff options
author | dfr <dfr@FreeBSD.org> | 2004-08-04 19:12:14 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2004-08-04 19:12:14 +0000 |
commit | c42f6bfee03d5eb96ee02123546ad3da06e4ad0f (patch) | |
tree | 1800afe500fdade8ce865bcc7debe2b3d788862b /libexec/rtld-elf/powerpc/rtld_machdep.h | |
parent | 44a25b6e89dc206d6c2c254bc588eb03277a561e (diff) | |
download | FreeBSD-src-c42f6bfee03d5eb96ee02123546ad3da06e4ad0f.zip FreeBSD-src-c42f6bfee03d5eb96ee02123546ad3da06e4ad0f.tar.gz |
Add stubs for powerpc TLS.
Submitted by: ssouhlal
Diffstat (limited to 'libexec/rtld-elf/powerpc/rtld_machdep.h')
-rw-r--r-- | libexec/rtld-elf/powerpc/rtld_machdep.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libexec/rtld-elf/powerpc/rtld_machdep.h b/libexec/rtld-elf/powerpc/rtld_machdep.h index 77495d7..534882b 100644 --- a/libexec/rtld-elf/powerpc/rtld_machdep.h +++ b/libexec/rtld-elf/powerpc/rtld_machdep.h @@ -62,4 +62,19 @@ void _rtld_bind_start(void); void _rtld_powerpc_pltresolve(void); void _rtld_powerpc_pltcall(void); +#define round(size, align) \ + (((size) + (align) - 1) & ~((align) - 1)) +#define calculate_first_tls_offset(size, align) \ + round(8, align) +#define calculate_tls_offset(prev_offset, prev_size, size, align) \ + round(prev_offset + prev_size, align) +#define calculate_tls_end(off, size) ((off) + (size)) + +typedef struct { + unsigned long ti_module; + unsigned long ti_offset; +} tls_index; + +extern void *__tls_get_addr(tls_index* ti); + #endif |