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

Re: [Minios-devel] [UNIKRAFT PATCH v3 0/2] Introduce LTO build option



Hi Yuri,

> -----Original Message-----
> From: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
> Sent: 2018年6月5日 19:31
> To: Wei Chen <Wei.Chen@xxxxxxx>; Simon Kuenzer <simon.kuenzer@xxxxxxxxx>;
> minios-devel@xxxxxxxxxxxxx
> Cc: sharan.santhanam@xxxxxxxxx
> Subject: Re: [Minios-devel] [UNIKRAFT PATCH v3 0/2] Introduce LTO build option
>
> Hi Wei,
> this looks like a gcc bug...
>
> I also faced this problem on my host machine with gcc 8.1.0. Gcc 7 works
> just fine. Moreover, I tried an official docker from gcc:
>   docker run -v $PWD:$PWD -it gcc:8 /bin/bash
> And it worked too.
>
> The thing is, we should not have any position independent objects. At
> least it is not intended that way :). That's why this complains from gcc
> is a little bit strange..
>

Yes, all my code is position dependent.
I had tried to remove the -r from all GCC flags, the GCC complained as well.
I will try gcc-7 ; )

Thanks,
Wei Chen

> -Yuri.
>
>
> Wei Chen <Wei.Chen@xxxxxxx> writes:
>
> > Hi Simon,
> >
> > I am rebaseing my Arm64 KVM code to latest upstream. But I find this patch
> > series make both Arm and x86_64 build failed. Even if after I selected the
> > LTO option from menuconfig.
> >
> > X86_64 xen platform error:
> > /usr/bin/x86_64-linux-gnu-ld: -r and -pie may not be used together
> > collect2: error: ld returned 1 exit status
> > /home/weic/WIP/unikraft/unikraft/support/build/Makefile.build:48: recipe for
> target '/home/weic/WIP/unikraft/unikraft/build/libxenplat.ld.o' failed
> > make[1]: *** [/home/weic/WIP/unikraft/unikraft/build/libxenplat.ld.o] Error
> 1
> > Makefile:32: recipe for target '_all' failed
> > make: *** [_all] Error 2
> >
> > arm64 kvm platform error:
> > AS      libkvmplat: entry64.o
> >   AS      libkvmplat: exceptions.o
> >   AS      libkvmplat: pagetable.o
> >   CC      libkvmplat: cpu_arm_64.o
> >   CC      libkvmplat: setup.o
> >   CC      libkvmplat: console.o
> >   CC      libkvmplat: lcpu.o
> >   CC      libkvmplat: time.o
> >   CC      libkvmplat: shutdown.o
> >   CC      libkvmplat: memory.o
> >   LD      libkvmplat.ld.o
> > /usr/bin/aarch64-linux-gnu-ld: -r and -pie may not be used together
> > collect2: error: ld returned 1 exit status
> > /root/UF/unikraft/support/build/Makefile.build:48: recipe for target
> '/root/UF/unikraft/build/libkvmplat.ld.o' failed
> > make: *** [/root/UF/unikraft/build/libkvmplat.ld.o] Error 1
> >
> > What did I miss in configuration?
> >
> > Regards,
> > Wei Chen
> >
> >> -----Original Message-----
> >> From: Minios-devel <minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx> On Behalf Of
> >> Simon Kuenzer
> >> Sent: 2018年5月16日 20:57
> >> To: minios-devel@xxxxxxxxxxxxx
> >> Cc: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>; sharan.santhanam@xxxxxxxxx
> >> Subject: [Minios-devel] [UNIKRAFT PATCH v3 0/2] Introduce LTO build option
> >>
> >> This patch series introduces LTO as a build option.
> >> For this purpose, GCC is used for linking which enables
> >> code optimization during link time. When enabling this option
> >> in the menu, smaller and more efficient images can be created.
> >>
> >> Changes since v2:
> >>  - Use also GCC's wrapper for `nm` and `ar`: `gcc-nm` and `gcc-ar`
> >>
> >> Please note, by mistake v2 was the first version of this patch series.
> >>
> >> Simon Kuenzer (2):
> >>   build: Use GCC replacements for `ld`, `ar`, and `nm`
> >>   build: Provide LTO as build option
> >>
> >>  Config.uk             |  8 ++++++++
> >>  Makefile              |  6 +++---
> >>  Makefile.uk           | 14 ++++++++++----
> >>  plat/kvm/Linker.uk    |  8 ++++----
> >>  plat/linuxu/Linker.uk |  2 +-
> >>  plat/xen/Linker.uk    | 16 ++++++++--------
> >>  6 files changed, 34 insertions(+), 20 deletions(-)
> >>
> >> --
> >> 2.7.4
> >>
> >>
> >> _______________________________________________
> >> Minios-devel mailing list
> >> Minios-devel@xxxxxxxxxxxxxxxxxxxx
> >> https://lists.xenproject.org/mailman/listinfo/minios-devel
> > IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended 
> recipient,
> please notify the sender immediately and do not disclose the contents to any
> other person, use it for any purpose, or store or copy the information in any
> medium. Thank you.
> > _______________________________________________
> > Minios-devel mailing list
> > Minios-devel@xxxxxxxxxxxxxxxxxxxx
> > https://lists.xenproject.org/mailman/listinfo/minios-devel
>
> --
> Yuri Volchkov
> Software Specialist
>
> NEC Europe Ltd
> Kurfürsten-Anlage 36
> D-69115 Heidelberg
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

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