gas, x86-64, Linux vs. FreeBSD/OpenSolaris

Bob Plantz plantz@cds1.net
Fri Jan 30 23:30:00 GMT 2009


On Fri, 2009-01-30 at 14:39 -0800, H.J. Lu wrote:
> On Fri, Jan 30, 2009 at 2:26 PM, Bob Plantz <plantz@cds1.net> wrote:
> > I am working on x86-64 in 64-bit mode. I'm using gas.
> >
> > In Linux I can dereference a 32-bit register as shown on the second line
> > below "whileLoop" in the code below. But when I try to assemble it under
> > OpenSolaris or FreeBSD (also in 64-bit mode), I have to use the full
> > 64-bit register.
> >
> > The error message comes from gas. So it's clear that gas has been built
> > differently for Linux than for the other two systems. Can anyone help me
> > understand (a) how this is done, and (b) why it is done?
> >
> 
> Your FreeBSD binutils may be too old.  You can use
> 
> # ld -V
> 
> to compare the binutils version.

Aha!

Ubuntu Linux: 2.18.93.20081009
FreeBSD 7.1: 2.15 2004-05-23
OpenSolauris 2008.11: 2.15

Thanks for your help

Bob




More information about the Binutils mailing list