Skip to content

Unikraft 0.20.0 fails to compile with GCC 10.x or earlier #1728

Open

Description

@shym

Describe the bug

Building Unikraft 0.20.0 with a GCC 10.5 or older on x86_64 fails to compile when it runs into the __isr macro introduced in #1688 as the target("general-regs-only") was introduced in GCC 11 (tested using godbolt.org).

Steps to reproduce

Try to build with a GCC 10 on x86_64, for instance using a Debian 11.

Expected behavior

No response

Which architectures were you using or does this bug affect?

x86_64

Which platforms were you using or does this bug affect?

kvm

Relevant log output

In file included from .../unikraft/plat/common/include/uk/plat/common/lcpu.h:46,
                 from .../unikraft/plat/common/include/x86/traps.h:39,
                 from .../unikraft/plat/common/x86/traps.c:37:
.../unikraft/include/uk/plat/lcpu.h:115:14: error: attribute 'general-regs-only' argument 'target' is unknown
  115 | __isr __uptr ukplat_lcpu_get_auxsp_in_except(void);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  AS      libkvmplat: lxboot.x86.o

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions