------- Comment #8 from sje at cup dot hp dot com 2010-03-17 22:09 ------- I tried the patch and didn't have any problem bootstrapping and I didn't see any regressions. It also fixed my small test case, but when I went back and tried some of the other tests from PR 28490 I still saw some of the bad gprel usages. Here is a slightly more cutdown testcase from 28490 that still fails with the patch applied and when compiling with -O2.
extern const char basesyntax[]; extern const char arisyntax[]; typedef struct __jmp_buf_tag { } jmp_buf[1]; struct jmploc { jmp_buf loc; }; readtoken1 (int firstc, char const *syntax, char *eofmark, int striptabs) { int c = firstc; for (;;) { switch (syntax[c]) { case 1: if (syntax == (basesyntax + 130)) goto endword; syntax = (basesyntax + 130); parsebackq_oldreturn:; } } endword: if (syntax == (arisyntax + 130)) { struct jmploc jmploc; if (_setjmp (jmploc.loc)) goto parsebackq_oldreturn; } } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42040