[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 01/12] x86: infrastructure to allow converting certain indirect calls to direct ones



>>> On 05.10.18 at 14:39, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 03/10/18 19:38, Andrew Cooper wrote:
>> Finally, this series doesn't link with the default Debian toolchain.
>>
>> andrewcoop@andrewcoop:/local/xen.git/xen$ ld --version
>> GNU ld (GNU Binutils for Debian) 2.25
>>
>> andrewcoop@andrewcoop:/local/xen.git/xen$ make -s build -j8 
>> XEN_TARGET_ARCH=x86_64 KCONFIG_CONFIG=.config-release
>>  __  __            _  _    _ ____                     _        _     _      
>>  \ \/ /___ _ __   | || |  / |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
>>   \  // _ \ '_ \  | || |_ | | __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
>>   /  \  __/ | | | |__   _|| |/ __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
>>  /_/\_\___|_| |_|    |_|(_)_|_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
>>                                                                             
>> prelink.o:(.debug_aranges+0x3c94): relocation truncated to fit: R_X86_64_32 
>> against `.debug_info'
>> prelink.o:(.debug_info+0x225fa): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x22b57): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x1b92da): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x21e976): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x21ec31): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x21f03b): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x2b2ac3): relocation truncated to fit: R_X86_64_32 
>> against `.debug_loc'
>> prelink.o:(.debug_info+0x2b37f6): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x448fab): relocation truncated to fit: R_X86_64_32 
>> against `.debug_str'
>> prelink.o:(.debug_info+0x44b856): additional relocation overflows omitted 
>> from the output
>> ld: prelink.o: access beyond end of merged section (6617683)
>> ld: prelink.o: access beyond end of merged section (6617630)
>> ld: prelink.o: access beyond end of merged section (6617579)
>> ld: prelink.o: access beyond end of merged section (6617558)
>> ld: prelink.o: access beyond end of merged section (6617544)
>> ld: prelink.o: access beyond end of merged section (6617605)
>> ld: prelink.o: access beyond end of merged section (6617718)
>> ld: prelink.o: access beyond end of merged section (6617570)
>> ld: prelink.o: access beyond end of merged section (6617665)
>> ld: prelink.o: access beyond end of merged section (6617671)
>> ld: prelink.o: access beyond end of merged section (6617624)
>> ld: prelink.o: access beyond end of merged section (6617748)
>> ld: prelink.o: access beyond end of merged section (6617771)
>> ld: prelink.o: access beyond end of merged section (6617592)
>> ld: prelink.o: access beyond end of merged section (6617635)
>> ld: prelink.o: access beyond end of merged section (6617652)
>> ld: prelink.o: access beyond end of merged section (6617766)
>> ld: prelink.o: access beyond end of merged section (6617742)

Something along the lines of one or both of the above kinds I've
happened to run into when using a gas producing compressed
debug sections together with an objcopy which doesn't know
about such section (iirc older objcopy silently dropped some
section flag in this case).

>> ld: prelink.o(.debug_info+0xc962ed): reloc against `.debug_loc': error 2
>> Makefile:134: recipe for target '/local/xen.git/xen/xen-syms' failed
>> make[2]: *** [/local/xen.git/xen/xen-syms] Error 1
>> make[2]: *** Waiting for unfinished jobs....
>> /local/xen.git/xen/.xen.efi.0s.S: Assembler messages:
>> /local/xen.git/xen/.xen.efi.0s.S:21: Warning: value 0x7d2f80000544 truncated 
>> to 0x80000544
>> /local/xen.git/xen/.xen.efi.0s.S:22: Warning: value 0x7d2f800008dc truncated 
>> to 0x800008dc
>> /local/xen.git/xen/.xen.efi.0s.S:23: Warning: value 0x7d2f800008de truncated 
>> to 0x800008de
>> /local/xen.git/xen/.xen.efi.0s.S:24: Warning: value 0x7d2f800008e3 truncated 
>> to 0x800008e3
>> /local/xen.git/xen/.xen.efi.0s.S:25: Warning: value 0x7d2f80001086 truncated 
>> to 0x80001086
>> /local/xen.git/xen/.xen.efi.0s.S:26: Warning: value 0x7d2f8000108a truncated 
>> to 0x8000108a
>> /local/xen.git/xen/.xen.efi.0s.S:27: Warning: value 0x7d2f8000108e truncated 
>> to 0x8000108e
>> /local/xen.git/xen/.xen.efi.0s.S:28: Warning: value 0x7d2f800010dc truncated 
>> to 0x800010dc
>> /local/xen.git/xen/.xen.efi.0s.S:29: Warning: value 0x7d2f80001172 truncated 
>> to 0x80001172
>> /local/xen.git/xen/.xen.efi.1s.S: Assembler messages:
>> /local/xen.git/xen/.xen.efi.1s.S:21: Warning: value 0x7d2f80000544 truncated 
>> to 0x80000544
>> /local/xen.git/xen/.xen.efi.1s.S:22: Warning: value 0x7d2f800008dc truncated 
>> to 0x800008dc
>> /local/xen.git/xen/.xen.efi.1s.S:23: Warning: value 0x7d2f800008de truncated 
>> to 0x800008de
>> /local/xen.git/xen/.xen.efi.1s.S:24: Warning: value 0x7d2f800008e3 truncated 
>> to 0x800008e3
>> /local/xen.git/xen/.xen.efi.1s.S:25: Warning: value 0x7d2f80001086 truncated 
>> to 0x80001086
>> /local/xen.git/xen/.xen.efi.1s.S:26: Warning: value 0x7d2f8000108a truncated 
>> to 0x8000108a
>> /local/xen.git/xen/.xen.efi.1s.S:27: Warning: value 0x7d2f8000108e truncated 
>> to 0x8000108e
>> /local/xen.git/xen/.xen.efi.1s.S:28: Warning: value 0x7d2f800010dc truncated 
>> to 0x800010dc
>> /local/xen.git/xen/.xen.efi.1s.S:29: Warning: value 0x7d2f80001172 truncated 
>> to 0x80001172

These are just warnings, and I vaguely recall looking into this once (I
don't see these myself, so I supposed I had asked you or someone
else to send my some object files), finding that gas is right to warn,
but the effect on the embedded symbol table should be benign. What
I don't understand though is why I've never seen these myself.

>> Makefile:136: recipe for target '/local/xen.git/xen/xen' failed
>> make[1]: *** [/local/xen.git/xen/xen] Error 2
>> Makefile:45: recipe for target 'build' failed
>> make: *** [build] Error 2
>>
>> Using LD 2.30 built from source is fine, but I'm not sure exactly what
>> is going on here.
> 
> Actually, I've just encountered this failure to link on staging as well,
> so it is clearly not related to this series.  Sorry for the noise (but
> I'm still non-the-wiser as to what is actually broken).

Could you try 2.31.1? Of course I did use 2.30 until 2.31 went out,
and still didn't see this. Yet then again my variant is not exactly
vanilla.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.