diff options
author | Peter Johnson <peter@tortall.net> | 2008-04-14 01:48:02 +0000 |
---|---|---|
committer | Peter Johnson <peter@tortall.net> | 2008-04-14 01:48:02 +0000 |
commit | 2d36cf72ae9da8b3f205308b79e982dc74fbfcb3 (patch) | |
tree | 7ad9147099cd75fc7565075bae8ae8895a942eb8 /libyasm | |
parent | 180d18bc11de5be247147ec2c868706652f9be9b (diff) | |
download | yasm-2d36cf72ae9da8b3f205308b79e982dc74fbfcb3.tar.gz |
Allow {extern symbol}-{symbol in same segment} transformation.
This was earlier limited to local symbols.
Reported by: Dave Lee <davelee.com@gmail.com>
svn path=/trunk/yasm/; revision=2064
Diffstat (limited to 'libyasm')
-rw-r--r-- | libyasm/value.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libyasm/value.c b/libyasm/value.c index a34be634..180bf6af 100644 --- a/libyasm/value.c +++ b/libyasm/value.c @@ -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; |