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

Re: [Xen-devel] [PATCH v5 13/28] xsplice, symbols: Implement symbol name resolution on address.



>>> On 08.04.16 at 03:32, <konrad@xxxxxxxxxx> wrote:
> On Thu, Apr 07, 2016 at 09:46:49AM -0600, Jan Beulich wrote:
>> >>> On 07.04.16 at 05:14, <konrad.wilk@xxxxxxxxxx> wrote:
>> > On Fri, Apr 01, 2016 at 09:11:40AM -0600, Jan Beulich wrote:
>> >> >>> On 24.03.16 at 21:00, <konrad.wilk@xxxxxxxxxx> wrote:
>> >> > --- a/xen/arch/x86/Makefile
>> >> > +++ b/xen/arch/x86/Makefile
>> >> > @@ -113,12 +113,14 @@ $(TARGET)-syms: prelink.o xen.lds 
>> >> > $(BASEDIR)/common/symbols-dummy.o
>> >> >         $(LD) $(LDFLAGS) -T xen.lds -N prelink.o \
>> >> >             $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
>> >> >         $(NM) -pa --format=sysv $(@D)/.$(@F).0 \
>> >> > -               | $(BASEDIR)/tools/symbols --sysv --sort 
>> >> > >$(@D)/.$(@F).0.S
>> >> > +               | $(BASEDIR)/tools/symbols --all-symbols --sysv --sort \
>> >> > +               >$(@D)/.$(@F).0.S
>> >> >         $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
>> >> >         $(LD) $(LDFLAGS) -T xen.lds -N prelink.o \
>> >> >             $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
>> >> >         $(NM) -pa --format=sysv $(@D)/.$(@F).1 \
>> >> > -               | $(BASEDIR)/tools/symbols --sysv --sort --warn-dup 
>> >> > >$(@D)/.$(@F).1.S
>> >> > +               | $(BASEDIR)/tools/symbols --all-symbols --sysv --sort 
>> >> > --warn-dup \
>> >> > +               >$(@D)/.$(@F).1.S
>> >> 
>> >> This addition should be dependent on CONFIG_XSPLICE, not the
>> >> least because I expect it to bloat the symbol table quite a bit. And
>> >> then - how come this is needed here, but not in the xen.efi rule?
>> > 
>> > I added it to xen.efi rule and got:
>> > 
>> > home/konrad/xen/xen/.xen.efi.0s.S: Assembler messages:
>> > /home/konrad/xen/xen/.xen.efi.0s.S:21: Warning: value 0x7d2f80000543 
>> > truncated to 0x80000543
>> > /home/konrad/xen/xen/.xen.efi.0s.S:22: Warning: value 0x7d2f800008b2 
>> > truncated to 0x800008b2
>> > /home/konrad/xen/xen/.xen.efi.0s.S:23: Warning: value 0x7d2f800008b4 
>> > truncated to 0x800008b4
>> > /home/konrad/xen/xen/.xen.efi.0s.S:24: Warning: value 0x7d2f800008b9 
>> > truncated to 0x800008b9
>> > /home/konrad/xen/xen/.xen.efi.0s.S:25: Warning: value 0x7d2f8000103f 
>> > truncated to 0x8000103f
>> > /home/konrad/xen/xen/.xen.efi.0s.S:26: Warning: value 0x7d2f80001043 
>> > truncated to 0x80001043
>> > /home/konrad/xen/xen/.xen.efi.0s.S:27: Warning: value 0x7d2f80001047 
>> > truncated to 0x80001047
>> > /home/konrad/xen/xen/.xen.efi.0s.S:6746: Warning: value 0x100650000 
>> > truncated to 0x650000
>> > 
>> > and so on.. Not sure why. The xen.efi file boots thought?
>> 
>> It's the kallsyms symbol table that suffers, so the image booting
>> fine is not really surprising. But we'd need to understand what
>> specific data objects these warnings originate from - perhaps
>> linker generated symbols not sitting inside sections?
> 
> From the .xen.efi.0s.S:
> .globl symbols_offsets
>       ALGN
> symbols_offsets:
> #endif
>       PTR     0x544 - SYMBOLS_ORIGIN
>       PTR     0xa01 - SYMBOLS_ORIGIN
>       PTR     0xa03 - SYMBOLS_ORIGIN
>       PTR     0xa08 - SYMBOLS_ORIGIN
>       PTR     0x118e - SYMBOLS_ORIGIN
>       PTR     0x1192 - SYMBOLS_ORIGIN
>       PTR     0x1196 - SYMBOLS_ORIGIN
>       PTR     0xffff82d080100000 - SYMBOLS_ORIGIN
>       PTR     0xffff82d080100000 - SYMBOLS_ORIGIN
> 
> which corresponds to:
> multiboot1_header_start|0000000000000544|   ?  |                  | |     |
> multiboot1_header_start|0000000000000a01|   ?  |                  | |     |
> multiboot1_header_start|0000000000000a03|   ?  |                  | |     |
> multiboot1_header_start|0000000000000a08|   ?  |                  | |     |
> multiboot1_header_start|000000000000118e|   ?  |                  | |     |
> multiboot1_header_start|0000000000001192|   ?  |                  | |     |
> multiboot1_header_start|0000000000001196|   ?  |                  | |     |
> 
> which is also found:
> multiboot1_header_start|ffff82d080100008|   t  |                  | |     | 

That looks like a binutils issue, associating the wrong name with
certain symbols. Depending on what binutils version you have in
use, this may be well be one of those I've fixed already.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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