Mercurial > hg-old > index.cgi
comparison lwasm/section.c @ 385:cf8c92d70eb1
Various bugfixes
author | lost@starbug |
---|---|
date | Sun, 16 May 2010 11:50:00 -0600 |
parents | cc154dc614fe |
children | a741d2e4869f |
comparison
equal
deleted
inserted
replaced
384:38b50ce6967a | 385:cf8c92d70eb1 |
---|---|
171 lwasm_register_error(as, l, "EXPORT only supported for object target"); | 171 lwasm_register_error(as, l, "EXPORT only supported for object target"); |
172 return; | 172 return; |
173 } | 173 } |
174 | 174 |
175 if (l -> sym) | 175 if (l -> sym) |
176 { | |
176 sym = lw_strdup(l -> sym); | 177 sym = lw_strdup(l -> sym); |
178 l -> symset = 1; | |
179 } | |
177 | 180 |
178 if (l -> sym) | 181 if (l -> sym) |
179 { | 182 { |
180 skip_operand(p); | 183 skip_operand(p); |
181 } | 184 } |
188 after = 1; | 191 after = 1; |
189 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++) | 192 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++) |
190 /* do nothing */ ; | 193 /* do nothing */ ; |
191 | 194 |
192 sym = lw_strndup(*p, p2 - *p); | 195 sym = lw_strndup(*p, p2 - *p); |
196 *p = p2; | |
193 } | 197 } |
194 if (!sym) | 198 if (!sym) |
195 { | 199 { |
196 lwasm_register_error(as, l, "No symbol for EXPORT"); | 200 lwasm_register_error(as, l, "No symbol for EXPORT"); |
197 return; | 201 return; |
227 lwasm_register_error(as, l, "IMPORT only supported for object target"); | 231 lwasm_register_error(as, l, "IMPORT only supported for object target"); |
228 return; | 232 return; |
229 } | 233 } |
230 | 234 |
231 if (l -> sym) | 235 if (l -> sym) |
236 { | |
232 sym = lw_strdup(l -> sym); | 237 sym = lw_strdup(l -> sym); |
238 l -> symset = 1; | |
239 } | |
233 | 240 |
234 if (l -> sym) | 241 if (l -> sym) |
235 { | 242 { |
236 skip_operand(p); | 243 skip_operand(p); |
237 } | 244 } |
244 after = 1; | 251 after = 1; |
245 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++) | 252 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++) |
246 /* do nothing */ ; | 253 /* do nothing */ ; |
247 | 254 |
248 sym = lw_strndup(*p, p2 - *p); | 255 sym = lw_strndup(*p, p2 - *p); |
256 *p = p2; | |
249 } | 257 } |
250 if (!sym) | 258 if (!sym) |
251 { | 259 { |
252 lwasm_register_error(as, l, "No symbol for IMPORT"); | 260 lwasm_register_error(as, l, "No symbol for IMPORT"); |
253 return; | 261 return; |