Lines Matching defs:symtab
37 struct arlib_symtab symtab;
46 obstack_init (&symtab.symsoffob);
47 obstack_init (&symtab.symsnameob);
48 obstack_init (&symtab.longnamesob);
79 obstack_grow (&symtab.symsoffob, &ar_hdr, sizeof (ar_hdr));
85 obstack_int_grow (&symtab.symsoffob, 0);
96 obstack_grow (&symtab.longnamesob, &ar_hdr, sizeof (ar_hdr));
99 symtab.symsofflen = 0;
100 symtab.symsoff = NULL;
101 symtab.symsnamelen = 0;
102 symtab.symsname = NULL;
115 symtab.longnameslen = obstack_object_size (&symtab.longnamesob);
116 if (symtab.longnameslen != sizeof (struct ar_hdr))
118 if ((symtab.longnameslen & 1) != 0)
121 obstack_grow (&symtab.longnamesob, "\n", 1);
122 ++symtab.longnameslen;
125 symtab.longnames = obstack_finish (&symtab.longnamesob);
129 (uint32_t) (symtab.longnameslen - sizeof (struct ar_hdr)));
130 memcpy (&((struct ar_hdr *) symtab.longnames)->ar_size, tmpbuf, s);
133 symtab.symsofflen = obstack_object_size (&symtab.symsoffob);
134 assert (symtab.symsofflen % sizeof (uint32_t) == 0);
135 if (symtab.symsofflen != 0)
137 symtab.symsoff = (uint32_t *) obstack_finish (&symtab.symsoffob);
140 symtab.symsoff[AR_HDR_WORDS] = le_bswap_32 ((symtab.symsofflen
145 symtab.symsnamelen = obstack_object_size (&symtab.symsnameob);
146 if ((symtab.symsnamelen & 1) != 0)
149 obstack_grow (&symtab.symsnameob, "", 1);
150 ++symtab.symsnamelen;
152 symtab.symsname = obstack_finish (&symtab.symsnameob);
156 if (symtab.symsnamelen > 0)
157 disp = symtab.symsofflen + symtab.symsnamelen;
158 if (symtab.longnameslen > sizeof (struct ar_hdr))
159 disp += symtab.longnameslen;
161 if (disp != 0 && symtab.symsoff != NULL)
163 uint32_t nsyms = le_bswap_32 (symtab.symsoff[AR_HDR_WORDS]);
167 uint32_t val = le_bswap_32 (symtab.symsoff[AR_HDR_WORDS + cnt]);
169 symtab.symsoff[AR_HDR_WORDS + cnt] = le_bswap_32 (val);
174 memcpy (&((struct ar_hdr *) symtab.symsoff)->ar_size, tmpbuf,
177 (uint32_t) (symtab.symsofflen + symtab.symsnamelen
186 obstack_free (&symtab.symsoffob, NULL);
187 obstack_free (&symtab.symsnameob, NULL);
188 obstack_free (&symtab.longnamesob, NULL);
198 obstack_int_grow (&symtab.symsoffob, (int) le_bswap_32 (symoff));
201 obstack_grow (&symtab.symsnameob, symname, symname_len);