Skip to content

Tests are failing with LTO enabled. (Linux x86_64) #152

Open
@Arniiiii

Description

@Arniiiii

Compiler : a GCC-14

flags:

-O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=30720 -fuse-linker-plugin -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -floop-interchange -ggdb3 -frecord-gcc-switches

Or easy to read:

-O3 
-pipe
 
-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=30720 # my -march=native verbosely

 -fuse-linker-plugin -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing # lto flags

-floop-interchange # one of graphite flags.

 -ggdb3 # debug flags

-frecord-gcc-switches # cannot be issue

I checked: it's not O3 -> O2 issue.
It's not graphite, it's exactly LTO.
With LTO and O2 it has only minidebug test failed.

O3 + LTO test-suite.log:

=====================================================
   package-unused version-unused: ./test-suite.log
=====================================================

# TOTAL: 44
# PASS:  41
# SKIP:  0
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0

System information (uname -a): Linux 6.12.16-gentoo-dist #1 SMP PREEMPT_DYNAMIC Fri Feb 28 20:04:52 -00 2025 x86_64 13th Gen Intel(R) Core(TM) i7-13700HX GenuineIntel
Distribution information (/etc/os-release):
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
VERSION_ID="2.17"

.. contents:: :depth: 2

FAIL: mtest_minidebug
=====================

test5: NULL syminfo name
PASS: backtrace_full noinline
PASS: backtrace_simple noinline
FAIL: backtrace_syminfo variable
FAIL mtest_minidebug (exit status: 1)

FAIL: edtest_alloc
==================

test1: [0]: got f3.constprop.0 expected f3
FAIL: backtrace_full alloc stress
FAIL edtest_alloc (exit status: 1)

FAIL: ttest_alloc
=================

test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
test1: [1]: got f2.constprop.0 expected f2
FAIL: threaded backtrace_full noinline
FAIL ttest_alloc (exit status: 1)

Tested commit: 0034e33

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions