1 --- kicad-5.0.0/common/system/libcontext.cpp.orig 2018-07-13 21:53:52.000000000 +0200
2 +++ kicad-5.0.0/common/system/libcontext.cpp 2018-08-12 12:01:30.930309888 +0200
6 #if defined(LIBCONTEXT_PLATFORM_linux_i386) && defined(LIBCONTEXT_COMPILER_gcc)
7 +intptr_t LIBCONTEXT_CALL_CONVENTION libcontext::jump_fcontext( libcontext::fcontext_t* ofc, libcontext::fcontext_t nfc,
8 + intptr_t vp, bool preserve_fpu )
12 -".globl jump_fcontext\n"
14 -".type jump_fcontext,@function\n"
16 " movl 0x10(%esp), %ecx\n"
21 " movl %eax, 0x4(%esp)\n"
23 -".size jump_fcontext,.-jump_fcontext\n"
24 -".section .note.GNU-stack,\"\",%progbits\n"
30 #if defined(LIBCONTEXT_PLATFORM_linux_i386) && defined(LIBCONTEXT_COMPILER_gcc)
31 +libcontext::fcontext_t LIBCONTEXT_CALL_CONVENTION libcontext::make_fcontext( void* sp, size_t size,
32 + void (* fn)( intptr_t ) )
36 -".globl make_fcontext\n"
38 -".type make_fcontext,@function\n"
40 " movl 0x4(%esp), %eax\n"
41 " leal -0x8(%eax), %eax\n"
44 " movl %eax, (%esp)\n"
47 -".size make_fcontext,.-make_fcontext\n"
48 -".section .note.GNU-stack,\"\",%progbits\n"
54 #if defined(LIBCONTEXT_PLATFORM_linux_x86_64) && defined(LIBCONTEXT_COMPILER_gcc)
55 +intptr_t LIBCONTEXT_CALL_CONVENTION libcontext::jump_fcontext( libcontext::fcontext_t* ofc, libcontext::fcontext_t nfc,
56 + intptr_t vp, bool preserve_fpu )
60 -".globl jump_fcontext\n"
61 -".type jump_fcontext,@function\n"
71 -".size jump_fcontext,.-jump_fcontext\n"
72 -".section .note.GNU-stack,\"\",%progbits\n"
78 #if defined(LIBCONTEXT_PLATFORM_linux_x86_64) && defined(LIBCONTEXT_COMPILER_gcc)
79 +libcontext::fcontext_t LIBCONTEXT_CALL_CONVENTION libcontext::make_fcontext( void* sp, size_t size,
80 + void (* fn)( intptr_t ) )
84 -".globl make_fcontext\n"
85 -".type make_fcontext,@function\n"
90 " leaq -0x48(%rax), %rax\n"
95 -".size make_fcontext,.-make_fcontext\n"
96 -".section .note.GNU-stack,\"\",%progbits\n"
102 --- kicad-5.1.0/include/system/libcontext.h.orig 2019-03-08 13:31:50.000000000 +0100
103 +++ kicad-5.1.0/include/system/libcontext.h 2019-03-15 22:51:14.620823853 +0100
105 #if defined(__x86_64__) || defined(__amd64__)
106 #define LIBCONTEXT_PLATFORM_linux_x86_64
107 #define LIBCONTEXT_CALL_CONVENTION
108 + #define LIBCONTEXT_FUNCTION_ALIGN 16
110 #define LIBCONTEXT_PLATFORM_linux_i386
111 #define LIBCONTEXT_CALL_CONVENTION
112 + #define LIBCONTEXT_FUNCTION_ALIGN 2
114 #define LIBCONTEXT_PLATFORM_linux_arm32
115 #define LIBCONTEXT_CALL_CONVENTION
116 + #define LIBCONTEXT_FUNCTION_ALIGN 2
118 #define LIBCONTEXT_PLATFORM_linux_arm64
119 #define LIBCONTEXT_CALL_CONVENTION
120 + #define LIBCONTEXT_FUNCTION_ALIGN 2
121 #elif (__mips__ && _MIPS_SIM == _ABI64)
122 #define LIBCONTEXT_PLATFORM_linux_mips_n64
123 #define LIBCONTEXT_CALL_CONVENTION
126 typedef void* fcontext_t;
133 intptr_t LIBCONTEXT_CALL_CONVENTION jump_fcontext( fcontext_t* ofc, fcontext_t nfc,
134 - intptr_t vp, bool preserve_fpu = true );
135 + intptr_t vp, bool preserve_fpu = true ) __attribute__ ((naked, aligned(LIBCONTEXT_FUNCTION_ALIGN) ));
136 fcontext_t LIBCONTEXT_CALL_CONVENTION make_fcontext( void* sp, size_t size,
137 - void (* fn)( intptr_t ) );
138 + void (* fn)( intptr_t ) ) __attribute__ ((naked, aligned(LIBCONTEXT_FUNCTION_ALIGN) ));