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

Paul Menzel paulepanter at users.sourceforge.net
Mon Mar 4 16:15:51 CET 2013


Dear SeaBIOS folks,


using Debian Sid/unstable and Clang 3.2 from Debian experimental

        $ clang --version
        Debian clang version 3.2-1~exp6 (tags/RELEASE_32/final) (based on LLVM 3.2)
        Target: i386-pc-linux-gnu
        Thread model: posix

to build SeaBIOS, Clang throws the following errors.

        $ git show
        commit f465e1ec1b01826100c92b890487a2ab09bfe2c1
        Author: Kevin O'Connor <kevin at koconnor.net>
        Date:   Sat Feb 23 21:33:36 2013 -0500
        
            Minor - introduce numeric defines for the IVT offset of hw irqs.
        $ make menuconfig # coreboot chosen, see attached
        $ CC=clang make
        […]
        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)"
                         ^
        <inline asm>:1:12: note: instantiated into assembly here
                rep outsw %es:(%esi), (%dx)
                          ^~~~~~~~~~
        In file included from src/ata.c:9:
        src/ioport.h:113:18: error: invalid operand for instruction
            asm volatile("rep insw (%%dx), %%es:(%%edi)"
                         ^
        <inline asm>:1:11: note: instantiated into assembly here
                rep insw (%dx), %es:(%edi)
                         ^~~~~
        2 errors generated.
        make: *** [out/ata.o] Fehler 1

I have no clue about assembler programming, so before reporting both
errors to the Clang project, as it works with GCC, I want to make sure
that Clang is mistaken here.


Thanks,

Paul
-------------- next part --------------
#
# Automatically generated make config: don't edit
# SeaBIOS Configuration
# Mon Mar  4 16:09:08 2013
#

#
# General Features
#
CONFIG_COREBOOT=y
# CONFIG_QEMU is not set
# CONFIG_CSM is not set
# CONFIG_QEMU_HARDWARE is not set
CONFIG_THREADS=y
# CONFIG_THREAD_OPTIONROMS is not set
CONFIG_RELOCATE_INIT=y
CONFIG_BOOTMENU=y
CONFIG_BOOTSPLASH=y
CONFIG_BOOTORDER=y
CONFIG_COREBOOT_FLASH=y
CONFIG_LZMA=y
CONFIG_FLASH_FLOPPY=y

#
# Hardware support
#
CONFIG_ATA=y
# CONFIG_ATA_DMA is not set
# CONFIG_ATA_PIO32 is not set
CONFIG_AHCI=y
# CONFIG_MEGASAS is not set
# CONFIG_FLOPPY is not set
CONFIG_PS2PORT=y
CONFIG_USB=y
CONFIG_USB_UHCI=y
CONFIG_USB_OHCI=y
CONFIG_USB_EHCI=y
CONFIG_USB_MSC=y
# CONFIG_USB_UAS is not set
CONFIG_USB_HUB=y
CONFIG_USB_KEYBOARD=y
CONFIG_USB_MOUSE=y
CONFIG_SERIAL=y
# CONFIG_LPT is not set
CONFIG_PMTIMER=y

#
# BIOS interfaces
#
CONFIG_DRIVES=y
CONFIG_CDROM_BOOT=y
CONFIG_CDROM_EMU=y
CONFIG_PCIBIOS=y
CONFIG_APMBIOS=y
CONFIG_PNPBIOS=y
CONFIG_OPTIONROMS=y
CONFIG_PMM=y
CONFIG_BOOT=y
CONFIG_KEYBOARD=y
CONFIG_KBD_CALL_INT15_4F=y
CONFIG_MOUSE=y
CONFIG_S3_RESUME=y
CONFIG_VGAHOOKS=y
# CONFIG_DISABLE_A20 is not set

#
# VGA ROM
#
CONFIG_NO_VGABIOS=y
# CONFIG_VGA_GEODEGX2 is not set
# CONFIG_VGA_GEODELX is not set
# CONFIG_BUILD_VGABIOS is not set

#
# Debugging
#
CONFIG_DEBUG_LEVEL=1
CONFIG_DEBUG_SERIAL=y
CONFIG_DEBUG_SERIAL_PORT=0x3f8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.seabios.org/pipermail/seabios/attachments/20130304/5c6c866c/attachment.sig>


More information about the SeaBIOS mailing list