Lines Matching refs:symtab

44 struct arlib_symtab symtab;
53 obstack_init (&symtab.symsoffob);
54 obstack_init (&symtab.symsnameob);
55 obstack_init (&symtab.longnamesob);
86 obstack_grow (&symtab.symsoffob, &ar_hdr, sizeof (ar_hdr));
92 obstack_int_grow (&symtab.symsoffob, 0);
103 obstack_grow (&symtab.longnamesob, &ar_hdr, sizeof (ar_hdr));
106 symtab.symsofflen = 0;
107 symtab.symsoff = NULL;
108 symtab.symsnamelen = 0;
109 symtab.symsname = NULL;
119 symtab.longnameslen = obstack_object_size (&symtab.longnamesob);
120 if (symtab.longnameslen != sizeof (struct ar_hdr))
122 if ((symtab.longnameslen & 1) != 0)
125 obstack_grow (&symtab.longnamesob, "\n", 1);
126 ++symtab.longnameslen;
129 symtab.longnames = obstack_finish (&symtab.longnamesob);
131 memcpy (&((struct ar_hdr *) symtab.longnames)->ar_size, tmpbuf,
134 symtab.longnameslen - sizeof (struct ar_hdr)));
137 symtab.symsofflen = obstack_object_size (&symtab.symsoffob);
138 assert (symtab.symsofflen % sizeof (uint32_t) == 0);
139 if (symtab.symsofflen != 0)
141 symtab.symsoff = (uint32_t *) obstack_finish (&symtab.symsoffob);
144 symtab.symsoff[AR_HDR_WORDS] = le_bswap_32 ((symtab.symsofflen
149 symtab.symsnamelen = obstack_object_size (&symtab.symsnameob);
150 if ((symtab.symsnamelen & 1) != 0)
153 obstack_grow (&symtab.symsnameob, "", 1);
154 ++symtab.symsnamelen;
156 symtab.symsname = obstack_finish (&symtab.symsnameob);
160 if (symtab.symsnamelen > 0)
161 disp = symtab.symsofflen + symtab.symsnamelen;
162 if (symtab.longnameslen > sizeof (struct ar_hdr))
163 disp += symtab.longnameslen;
165 if (disp != 0 && symtab.symsoff != NULL)
167 uint32_t nsyms = le_bswap_32 (symtab.symsoff[AR_HDR_WORDS]);
171 uint32_t val = le_bswap_32 (symtab.symsoff[AR_HDR_WORDS + cnt]);
173 symtab.symsoff[AR_HDR_WORDS + cnt] = le_bswap_32 (val);
178 memcpy (&((struct ar_hdr *) symtab.symsoff)->ar_size, tmpbuf,
181 symtab.symsofflen + symtab.symsnamelen
190 obstack_free (&symtab.symsoffob, NULL);
191 obstack_free (&symtab.symsnameob, NULL);
192 obstack_free (&symtab.longnamesob, NULL);
202 obstack_int_grow (&symtab.symsoffob, (int) le_bswap_32 (symoff));
205 obstack_grow (&symtab.symsnameob, symname, symname_len);