--- a/src/Ma2Asm/x86_64_any.c +++ b/src/Ma2Asm/x86_64_any.c @@ -210,8 +210,8 @@ strcpy(asm_reg_cp, Off_Reg_Bank(MAP_OFFSET_CP)); #endif -#ifdef M_x86_64_darwin - pic_code = 1; /* NB: on darwin everything is PIC code */ +#if defined(M_x86_64_darwin) || defined(M_x86_64_bsd) || defined(M_x86_64_linux) + pic_code = 1; /* NB: on darwin and BSD everything is PIC code, last gcc 6 needs this for linux */ #elif defined(_WIN32) pic_code = 0; /* NB: on MinGW nothing is needed for PIC code */ #endif