On Fri, Aug 12, 2011 at 6:59 AM, Jan Beulich <jbeul...@novell.com> wrote: >>>> On 12.08.11 at 15:22, "H.J. Lu" <hjl.to...@gmail.com> wrote: >> On Fri, Aug 12, 2011 at 6:17 AM, Jan Beulich <jbeul...@novell.com> wrote: >>>>>> On 12.08.11 at 14:09, "H.J. Lu" <hjl.to...@gmail.com> wrote: >>>> On Fri, Aug 12, 2011 at 12:30 AM, Jan Beulich <jbeul...@novell.com> wrote: >>>>>>>> On 12.08.11 at 06:37, "H.J. Lu" <hjl.to...@gmail.com> wrote: >>>>>> On Mon, Aug 1, 2011 at 3:15 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>>>>>> Hi, >>>>>>> >>>>>>> It turns out that x32 needs R_X86_64_64. One major reason is >>>>>>> the displacement range of x32 is -2G to +2G. It isn't a problem >>>>>>> for compiler since only small model is required for x32. >>>>>>> >>>>>>> However, to address 0 to 4G directly in assembly code, we have >>>>>>> to use R_X86_64_64 with movabs. I am checking the follow patch >>>>>>> into x32 psABI to allow R_X86_64_64. >>>>>>> >>>>>>> >>>>>> >>>>>> X32 Linker should treats R_X86_64_64 as R_X86_64_32 >>>>>> zero-extended to 64bit for output. I will update x32 psABI with >>>>> >>>>> I'm sorry to say that, but the situation about x32 seems to be >>>>> getting worse with each change you do, every time again >>>>> revolving around mixing up ABI specification and a particular >>>>> implementation thereof. >>>>> >>>>> Here, if you need something zero-extended (though I can't see >>>>> why you would), then you should use a new relocation type. As >>>>> pointed out before, there are valid possible uses of R_X86_64_64 >>>>> that would require the semantics of x86-64. >>>>> >>>> >>>> When does x32 need the semantics of x86-64 for R_X86_64_64? >>> >>> When referencing an assembler or linker defined constant that >>> exceeds 32-bit in width. Given that this is a 64-bit architecture >>> with 32-bit addresses, at least I would expect such to work. >>> >> >> Yes, it should work just fine for x32 by zero-extending 32bit >> address to 64bit. > > For a constant that has more than 32 significant bits??? >
Can you give me an example in assembly code? -- H.J.