------- Comment #5 from jakub at gcc dot gnu dot org 2010-03-25 07:12 ------- >From the snippet it seems it is the conftest that is segfaulting. So the question is what has actually changed. I believe conftest.c was: /* confdefs.h */ #define PACKAGE_NAME "GNU OpenMP Runtime Library" #define PACKAGE_TARNAME "libgomp" #define PACKAGE_VERSION "1.0" #define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "http://www.gnu.org/software/libgomp/" #define PACKAGE "libgomp" #define VERSION "1.0" /* end confdefs.h. */ #include <ctype.h> #include <stdlib.h> #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') || ('j' <= (c) && (c) <= 'r') || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } and was compiled with -m32 -O2 -g (though in a cross compiler I don't see any __i686.get_pc_thunk.* thunks). So, please find out what the difference actually is. The intended difference is just that the whole __i686.get_pc_thunk.* snippet is moved from the end of the file to before .debug_frame/.debug_info and .LF[BE]NNNN labels added around the thunk's body (plus in .debug_frame section some differences too). -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43511