I hit this with Linaro GCC 4.6 (4.6.1-based) and the same pkeyparam.c from OpenSSL. I am also compiling with -Os and -fPIC, and implicitly with -mthumb (the default in my toolchain); so it's not specific to ARM mode.
The situation appears to be that two pc-relative fetches (artifacts of -fPIC and string literals) get folded together, losing one of the labels (needed for calculation of the offset in the table of PIC indirections).
I hit this with Linaro GCC 4.6 (4.6.1-based) and the same pkeyparam.c from OpenSSL. I am also compiling with -Os and -fPIC, and implicitly with -mthumb (the default in my toolchain); so it's not specific to ARM mode.
The situation appears to be that two pc-relative fetches (artifacts of -fPIC and string literals) get folded together, losing one of the labels (needed for calculation of the offset in the table of PIC indirections).
Reverting http:// gcc.gnu. org/viewcvs? root=gcc& view=rev& rev=163998 makes the problem go away, at least at compile time; I should be able to run a test suite soon.