aboutsummaryrefslogtreecommitdiff
path: root/tcc.h
diff options
context:
space:
mode:
Diffstat (limited to 'tcc.h')
-rw-r--r--tcc.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/tcc.h b/tcc.h
index 4e88782..fd4e8da 100644
--- a/tcc.h
+++ b/tcc.h
@@ -33,6 +33,7 @@
#include <stdlib.h>
#include <stdio.h>
+#include <limits.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
@@ -524,11 +525,15 @@ struct TCCState {
Section **priv_sections;
int nb_priv_sections; /* number of private sections */
- /* got handling */
+ /* got & plt handling */
Section *got;
Section *plt;
- unsigned long *got_offsets;
- int nb_got_offsets;
+ struct {
+ unsigned long plt_thumb_stub:1;
+ /* mult by 2 (or left shift by 1) before use */
+ unsigned long got_offset:(sizeof(long)*CHAR_BIT-1);
+ } *sym_infos;
+ int nb_sym_infos;
/* give the correspondance from symtab indexes to dynsym indexes */
int *symtab_to_dynsym;