http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142
--- Comment #16 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-11-01 23:00:06 UTC --- > The patch compiles testcase, but totally miscompiles glibc. Ouch. Then this means that the existing non-PIC code is wrong as well. > I think the bug is in unsigned array index computation as > shown in Comment 7. dyn->d_tag is signed type and Pmode > != ptr_mode here. Possibly, you must be extra careful with these kinds of awkward setups. We already had similar issues in the past (MEM_REF expansion on SPARC64, array indexes on IA-64/VMS) but the bugs were in the RTL expansion. I'll dig.