gas x86-32: allow non-absolute segment values for lcall/ljmp?
H.J. Lu
hjl.tools@gmail.com
Wed Sep 30 15:22:51 GMT 2020
On Wed, Sep 30, 2020 at 7:28 AM TK Chia <u1049321969@caramail.com> wrote:
>
> Hello Mr. Beulich,
>
> >> $ gas/as-new --32 test5.s
> >> test5.s: Assembler messages:
> >> test5.s:2: Error: can't handle non absolute segment in `lcall'
> >> ======================================================================
> >>
> >> I find this a rather strange restriction. If it is fine, I would like
> >> to propose a patch to GNU as to remove this restriction for `lcall' and
> >> `ljmp' commands.
> >
> > One of the many issues that I have on my todo list, yet that I didn't
> > find time yet to deal with. Afaic you're very welcome to take care of
> > this issue (ideally in more general a manner, but I guess you won't
> > want to go farther than you need to for your immediate purposes).
>
> Thank you very much.
>
> I have enclosed my proposed patch. It basically handles the segment
> operand in much the same way as the offset operand (except with a fixed
> size). I believe this should be quite general, and I hope it is correct.
>
> * config/tc-i386.c (output_interseg_jump): Allow non-absolute
> segment operand for immediate lcall/ljmp.
>
> Thank you!
Please open a binutils bug at
https://sourceware.org/bugzilla/
and update your patch with a testcase and ChangeLog reference to the
binutils bug.
Thanks
--
H.J.
More information about the Binutils
mailing list