OLD | NEW |
1 // Copyright 2016 The Native Client Authors. All rights reserved. | 1 // Copyright 2016 The Native Client Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NATIVE_CLIENT_SRC_UNTRUSTED_PLL_LOADER_PLL_ROOT_H_ | 5 #ifndef NATIVE_CLIENT_SRC_UNTRUSTED_PLL_LOADER_PLL_ROOT_H_ |
6 #define NATIVE_CLIENT_SRC_UNTRUSTED_PLL_LOADER_PLL_ROOT_H_ 1 | 6 #define NATIVE_CLIENT_SRC_UNTRUSTED_PLL_LOADER_PLL_ROOT_H_ 1 |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 struct PLLTLSBlockGetter { | 10 struct PLLTLSBlockGetter { |
(...skipping 23 matching lines...) Expand all Loading... |
34 size_t bucket_count; | 34 size_t bucket_count; |
35 const int32_t *hash_buckets; | 35 const int32_t *hash_buckets; |
36 const uint32_t *hash_chains; | 36 const uint32_t *hash_chains; |
37 | 37 |
38 // Bloom Filter, for quick exported symbol lookup rejection. | 38 // Bloom Filter, for quick exported symbol lookup rejection. |
39 size_t bloom_filter_maskwords_bitmask; | 39 size_t bloom_filter_maskwords_bitmask; |
40 // The number of right shifts to generate the second hash from the first. | 40 // The number of right shifts to generate the second hash from the first. |
41 size_t bloom_filter_shift2; | 41 size_t bloom_filter_shift2; |
42 const uint32_t *bloom_filter_data; | 42 const uint32_t *bloom_filter_data; |
43 | 43 |
| 44 // Dependencies list (akin to DT_NEEDED in ELF). |
| 45 size_t dependencies_count; |
| 46 const char *dependencies_list; |
| 47 |
44 // Thread-local variables (TLS). | 48 // Thread-local variables (TLS). |
45 void *tls_template; | 49 void *tls_template; |
46 size_t tls_template_data_size; // Size of initialized data. | 50 size_t tls_template_data_size; // Size of initialized data. |
47 size_t tls_template_total_size; // Size of initialized data + BSS. | 51 size_t tls_template_total_size; // Size of initialized data + BSS. |
48 size_t tls_template_alignment; | 52 size_t tls_template_alignment; |
49 PLLTLSBlockGetter *tls_block_getter; | 53 PLLTLSBlockGetter *tls_block_getter; |
50 }; | 54 }; |
51 | 55 |
52 #endif | 56 #endif |
OLD | NEW |