Re: Enable LTO build for crash utility

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

 





On Wed, Aug 18, 2021 at 4:54 PM lijiang <lijiang@xxxxxxxxxx> wrote:


On Wed, Aug 18, 2021 at 2:28 PM lijiang <lijiang@xxxxxxxxxx> wrote:


On Wed, Aug 18, 2021 at 11:02 AM Dave Young <dyoung@xxxxxxxxxx> wrote:
Add Kazu in cc list
On Wed, 18 Aug 2021 at 10:45, lijiang <lijiang@xxxxxxxxxx> wrote:
>
> Hi,
>
> In Fedora crash.spec, currently the LTO is disabled as below:
>
> +# This package has an internal copy of GDB which has broken configure code for
> +# INTDIV0_RAISES_SIGFPE and MUST_REINSTALL_SIGHANDLERS
> +# Updating that code properly seems nontrivial and best left to the package
> +# maintainer.
> +# Disable LTO

Hi Lianbo,  the above words seem to suggest disable LTO intentionally,

Yes. I copied the above words from the Fedora crash.spec.
 
I know the upstream crash tool is working on gdb 10.x integration,
maybe the above is eased already with the latest gdb update?


After crash is updated to gdb-10.2,  the rpm packages have been successfully built with the LTO flag, so far I have tested it on x86_64 and ppc64le, they can work well.

Thanks.
Lianbo
 

It doesn't enable LTO on upstream by default.
 

> +%define _lto_cflags %{nil}
>
> commit: c6fc69dae3a2 ("Disable LTO")
>
> I tried to remove the macro "%define _lto_cflags %{nil}" from the crash.spec, and then build the rpm packages, But I didn't see the lto flag such as "-flto" or "-ffat-lto-objects" during the whole build stage, and the build process passed without any error reports.
>

I did the above build test on Fedora rawhide.
 
So far I have enabled the LTO for Fedora crash, but I got some compilation errors on ppc64le as below, and the rpm build has been successfully built on other architectures such as x86_64/s390x/aarch64.

../readline/search.c:55:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
{standard input}: Assembler messages:
{standard input}:3623: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3627: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3648: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3652: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3698: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3701: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3908: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:3920: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4033: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4054: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4085: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4086: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4120: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4155: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:4170: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:9811: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:10022: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}
{standard input}:10278: Error: can't resolve `.toc1' {.toc1 section} - `.LCTOC1' {*UND* section}

Thanks.
Lianbo

 
 
> I'm wondering if it could rely on the redhat-rpm-config macro or it(LTO flag) can take effect when the toolchain is clang(not gcc)? Any thoughts?

The question seems about how to enable LTO instead of if it is ok to
enable LTO. Maybe Jeff and others can provide some inputs

 
Thank you for helping to clarify this, Dave.

>
> Thanks.
> Lianbo
>
>
>
> But

Thanks
Dave

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux