Hello, On GCC: gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0, Binutils: GNU ld (GNU Binutils for Ubuntu) 2.29.1,I get such error messages: boot.c: In function ‘dummy_do_not_call’: boot.c:1656:3: error: invalid 'asm': operand is not a condition code, invalid operand code 'c' asm volatile (" bootbefore_part2_PhysicaldriveNb = %c0 " : : "p" (&bootbefore.part2.PhysicaldriveNb)); ^~~ The source is simply something like:__attribute__((weak)) void dummy_do_not_call (void) { asm volatile (" bootbefore_part2_PhysicaldriveNb = %c0 " : : "p" (&bootbefore.part2.PhysicaldriveNb)); ... same pattern ...} and that "strange" asm is used to be able to access fields of structures in assembler. The %c0 modifier is clearly defined in:https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#x86-Operand-Modifiersto print the constant expression with no punctuation, we should just get in the assembler file:bootbefore_part2_PhysicaldriveNb = bootbefore+42 Is there something wrong with GCC compiled for the latest Ubuntu?Where that "condition code" message is coming from? Thanks for any answer,Etienne.