Hi!
"Rich" == Rich Prohaska <prohaska@tokutek.com> writes:
Rich> hello, Rich> we have been using gcc 4.4 to build mysql and mariadb successfully. Rich> however, when we tried to use gcc 4.7.1 to build mariadb-5.5.25, we Rich> hit this problem: Rich> /home/tokubuild/build-tokudb-46462/mariadb-5.5.25-tokudb-46462-linux-x86_64-build/mariadb-5.5.25-tokudb-46462-src/mysys/my_context.c: Rich> Assembler messages: Rich> /home/tokubuild/build-tokudb-46462/mariadb-5.5.25-tokudb-46462-linux-x86_64-build/mariadb-5.5.25-tokudb-46462-src/mysys/my_context.c:207: Rich> Error: CFI instruction used without previous .cfi_startproc Rich> what compiler do you use to build mariadb? We are using a lot of different compilers on a lot of different systems and compilers and on all tested ones, MariaDB compiles nicely. Don't know if we have gcc 4.7.1 on any system. I am using latest Open-SuSE myself and that comes with gcc 4.6.2 It looks like issue is that the new gcc has a different asm syntax than the old one :( Fix: Ensure that MY_CONTEXT_USE_UCONTEXT is defined when you compile MariaDB. You should be able to do that by slight modify the first ifdef in include/my_context.h to define MY_CONTEXT_USE_UCONTEXT if gcc 4.7 is used: Currenct code: ----------- #ifdef __WIN__ #define MY_CONTEXT_USE_WIN32_FIBERS 1 #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__x86_64__) #define MY_CONTEXT_USE_X86_64_GCC_ASM #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__) #define MY_CONTEXT_USE_I386_GCC_ASM #else #define MY_CONTEXT_USE_UCONTEXT #endif ------------ Regards, Monty