On Thu, Jul 21, 2011 at 6:42 PM, Richard Henderson <r...@redhat.com> wrote: > On 07/21/2011 09:28 AM, H.J. Lu wrote: >> On Thu, Jul 21, 2011 at 9:23 AM, Richard Henderson <r...@redhat.com> wrote: >>> On 07/21/2011 09:20 AM, H.J. Lu wrote: >>>> ".quad symbol" isn't really valid for 32bit. >>> >>> Why not? We certainly know what value to put there. >>> >> >> x32 doesn't support 64bit relocation, like R_X86_64_64. > > This being a self-fulfilling assertion, because you decided > to disable that relocation. It *could* be supported. Easily.
IMO, it is OK to disable 64bit relocations, and that compiler is at fault here. Consider that something gets written to the d field (see example of PR49798). Reading a pointer from *m fileld in DImode, we will get non-zero bits in high 32bits of a pointer. We have to access the pointer in SImode. Uros.