On 05/02/2018 04:00 AM, Jan Beulich wrote: >>>> On 30.04.18 at 18:23, <boris.ostrovsky@xxxxxxxxxx> wrote: >> Latest binutils release (2.29.1) will no longer allow proper computation >> of GDT entries on 32-bits, with warning: >> >> arch/x86/xen/xen-pvh.S: Assembler messages: >> arch/x86/xen/xen-pvh.S:150: Warning: shift count out of range (32 is not between 0 and 31) >> arch/x86/xen/xen-pvh.S:150: Warning: shift count out of range (40 is not between 0 and 31) >> arch/x86/xen/xen-pvh.S:150: Warning: shift count out of range (32 is not between 0 and 31) >> arch/x86/xen/xen-pvh.S:152: Warning: shift count out of range (32 is not between 0 and 31) >> arch/x86/xen/xen-pvh.S:152: Warning: shift count out of range (40 is not between 0 and 31) >> arch/x86/xen/xen-pvh.S:152: Warning: shift count out of range (32 is not between 0 and 31) > I think this is a mis-configured binutils build - even if targeting 32-bit only, it > should allow 64-bit arithmetic (i.e. be configured with --enable-64-bit-bfd). > Note how, for example, this > > .long 1 << 32, 0x10000 * 0x10000 > .quad 1 << 32, 0x10000 * 0x10000 > > assembles consistently with a warning on _both_ values on the first line > with what I'd call a properly configured binutils build, but errors only on > the shift expressions on each line for an (imo) improperly configured one. > The only viable alternative would imo be to simply disallow .quad without > --enable-64-bit-bfd, but I guess that would break a number of consumers. > > In any event I'd like to suggest to drop this patch. Let me see go back and see how I built my binutils. And maybe rebuild them on something > fedora13. -boris