Dave Lee davelee.com at gmail.com
Sat Apr 12 11:59:04 PDT 2008

On Fri, Apr 11, 2008 at 12:52 PM, Peter Johnson <peter at tortall.net> wrote:
>  > The lines in question are:
>  >
>  >  movzx edi, byte [_x264_cabac_range_lps+edi - fakegot + edx]
>  >  movzx ecx, byte [_x264_cabac_transition+ecx - fakegot + edx]
>  >  movzx ecx, byte [_x264_cabac_renorm_shift+0+ecx - fakegot + edx]
>  Yes, they're external symbols/labels; yasm treats them as labels in an unknown
>  segment.  Is this code in the .text segment as well?  If it is, it should work
>  on a recent snapshot of yasm--support for sym-sym was added after the 0.6.2
>  release (yes, I really need to get a new release out!).  What version are you
>  using?

I just tried r2063 and I get the same error for those 3 lines. These 3
lines are in the .text. segment.

I don't know if it matters, but it appears to me that the .text
segment is noncontiguous. Between the declaration of the labels and
symbols and their subsequent use as above, there is a structure
definition. I noticed in the preprocessed code, that this structure
results in a section that begins with [absolute 0] and ends with
[section .text]. Could this cause yasm to err on the effective address
calculation?  I just tried moving the structure definition before the
.text segment, but that resulted in "instruction expected after label"


More information about the yasm-devel mailing list