[SeaBIOS] Build errors with Clang 3.2: src/ioport.h:126:18: error: invalid operand for instruction

Kevin O'Connor kevin at koconnor.net
Thu Mar 7 02:10:53 CET 2013


On Tue, Mar 05, 2013 at 03:20:57PM -0800, H. Peter Anvin wrote:
> On 03/04/2013 03:58 PM, Kevin O'Connor wrote:
> > On Mon, Mar 04, 2013 at 04:15:51PM +0100, Paul Menzel wrote:
> >> to build SeaBIOS, Clang throws the following errors.
> > [...]
> >>         In file included from src/ata.c:9:
> >>         src/ioport.h:126:18: error: invalid operand for instruction
> >>             asm volatile("rep outsw %%es:(%%esi), (%%dx)"
> >>                          ^
> > 
> > I'm not familiar with Clang, but I don't see anything wrong with this
> > particular assembler statement.  Is this the only thing Clang has
> > issues with?
> > 
> 
> Wouldn't simply "es rep outsw" be better?  The operands are implicit
> anyway, except for the source segment override.

I kind of prefer to be explicit with the source operands (for
documentation purposes).  Otherwise, it's not really a big deal.
Paul, does Clang prefer "es rep outsw"?

-Kevin



More information about the SeaBIOS mailing list