xref: /kvmtool/code16gcc.h (revision 2f3976eeee4e0421c136c3431990a55cbf0f2bbf)
1*2f3976eeSPekka Enberg /*
2*2f3976eeSPekka Enberg  * code16gcc.h
3*2f3976eeSPekka Enberg  *
4*2f3976eeSPekka Enberg  * This file is -include'd when compiling 16-bit C code.
5*2f3976eeSPekka Enberg  * Note: this asm() needs to be emitted before gcc emits any code.
6*2f3976eeSPekka Enberg  * Depending on gcc version, this requires -fno-unit-at-a-time or
7*2f3976eeSPekka Enberg  * -fno-toplevel-reorder.
8*2f3976eeSPekka Enberg  *
9*2f3976eeSPekka Enberg  * Hopefully gcc will eventually have a real -m16 option so we can
10*2f3976eeSPekka Enberg  * drop this hack long term.
11*2f3976eeSPekka Enberg  */
12*2f3976eeSPekka Enberg 
13*2f3976eeSPekka Enberg #ifndef __ASSEMBLY__
14*2f3976eeSPekka Enberg asm(".code16gcc");
15*2f3976eeSPekka Enberg #endif
16