]> granicus.if.org Git - yasm/commitdiff
Allow {extern symbol}-{symbol in same segment} transformation.
authorPeter Johnson <peter@tortall.net>
Mon, 14 Apr 2008 01:48:02 +0000 (01:48 -0000)
committerPeter Johnson <peter@tortall.net>
Mon, 14 Apr 2008 01:48:02 +0000 (01:48 -0000)
This was earlier limited to local symbols.

Reported by: Dave Lee <davelee.com@gmail.com>

svn path=/trunk/yasm/; revision=2064

libyasm/value.c

index a34be63406bb57f42c869420d2a42ba9032986f8..180bf6af853f55ff76c50db9046870f0a4c97c31 100644 (file)
@@ -276,8 +276,8 @@ value_finalize_scan(yasm_value *value, yasm_expr *e,
                             && sect2 == yasm_bc_get_section(expr_precbc)))) {
                     for (j=0; j<e->numterms; j++) {
                         if (e->terms[j].type == YASM_EXPR_SYM
-                            && yasm_symrec_get_label(e->terms[j].data.sym,
-                                                     &precbc2)
+                            && !yasm_symrec_get_equ(e->terms[j].data.sym)
+                            && !yasm_symrec_is_special(e->terms[j].data.sym)
                             && (used & (1<<j)) == 0) {
                             /* Mark as used */
                             used |= 1<<j;