https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126063

            Bug ID: 126063
           Summary: Many aarch64-pch.exp failures when configured with
                    --enable-host-pie
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

The aarch64-pch.exp tests work only when gcc is not configured with
--enable-host-pie, i.e. when cc1 etc. are normal binaries, not PIEs.
Since r12-5768 PR71934 GCC supports PCH even when --enable-host-pie.

I see with --enable-host-pie and make check-gcc RUNTESTFLAGS=aarch64-pch.exp
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme -O0
-g -I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme -O0
-g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -O0 -g assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O0 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O0 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c  -O0  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O1 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O1 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c  -O1  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O2 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O2 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c  -O2  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O3
-g  -I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -O3
-g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c  -O3 -g  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -Os 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c -march=armv8.5-a+sve2+sme  -Os 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple.c  -Os  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c -O0 -g assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c  -O0  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c  -O1  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c  -O2  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c  -O3 -g  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_multiple_include_post.c  -Os  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme -O0 -g
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme -O0 -g
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -O0 -g assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O0  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O0  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c  -O0  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O1  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O1  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c  -O1  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O2  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O2  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c  -O2  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O3 -g 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -O3 -g 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c  -O3 -g  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -Os  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c -march=armv8.5-a+sve2+sme  -Os  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon.c  -Os  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c -O0 -g assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c  -O0  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c  -O1  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c  -O2  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c  -O3 -g  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_include_post.c  -Os  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c -O0 -g assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c  -O0  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c  -O1  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c  -O2  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c  -O3 -g  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge.c  -Os  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c -O0 -g
assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c  -O0 
assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c  -O1 
assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c  -O2 
assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c  -O3 -g 
assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_neon_sve_bridge_include_post.c  -Os 
assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme -O0 -g -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme -O0 -g -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -O0 -g assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O0  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O0  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c  -O0  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O1  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O1  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c  -O1  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O2  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O2  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c  -O2  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O3 -g 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -O3 -g 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c  -O3 -g  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -Os  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c -march=armv8.5-a+sve2+sme  -Os  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme.c  -Os  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c -O0 -g assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c  -O0  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c  -O1  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c  -O2  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c  -O3 -g  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sme_include_post.c  -Os  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme -O0 -g -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme -O0 -g -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -O0 -g assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O0  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O0  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c  -O0  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O1  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O1  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c  -O1  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O2  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O2  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c  -O2  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O3 -g 
-I. -Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -O3 -g 
-I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c  -O3 -g  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -Os  -I.
-Dwith_PCH (internal compiler error: Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c -march=armv8.5-a+sve2+sme  -Os  -I.
-Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve.c  -Os  assembly comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme -O0 -g -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c -O0 -g assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O0  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c  -O0  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O1  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c  -O1  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O2  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c  -O2  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -O3 -g  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c  -O3 -g  assembly
comparison
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (internal compiler error:
Segmentation fault)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c
-march=armv8.5-a+sve2+sme  -Os  -I. -Dwith_PCH (test for excess errors)
FAIL: gcc.target/aarch64/pch/pch_arm_sve_include_post.c  -Os  assembly
comparison

The ICEs are
0xaaaadfe4349b crash_signal
        ../../gcc/toplev.cc:325
0xaaaae046b0c4 aarch64_acle::function_checker::check()
        ../../gcc/config/aarch64/aarch64-acle-builtins.cc:2720
0xaaaae0471fb7 aarch64_acle::check_builtin_call(unsigned long, vec<unsigned
long, va_heap, vl_ptr>, unsigned int, tree_node*, unsigned int, tree_node**)
        ../../gcc/config/aarch64/aarch64-acle-builtins.cc:4300
0xaaaadf737cbf aarch64_check_builtin_call
        ../../gcc/config/aarch64/aarch64-c.cc:471
and
0xaaaac4a8349b crash_signal
        ../../gcc/toplev.cc:325
0xaaaac50aa680 aarch64_acle::function_resolver::resolve()
        ../../gcc/config/aarch64/aarch64-acle-builtins.cc:2512
0xaaaac50b1eb3 aarch64_acle::resolve_overloaded_builtin(unsigned long, unsigned
int, vec<tree_node*, va_gc, vl_embed>*)
        ../../gcc/config/aarch64/aarch64-acle-builtins.cc:4280
0xaaaac4377bbb aarch64_resolve_overloaded_builtin
        ../../gcc/config/aarch64/aarch64-c.cc:447
I've briefly looked at the first one so far.
class GTY((user)) function_instance
has
  const char *base_name;
  const function_base *base;
  const function_shape *shape;
pointers that clearly point somewhere into the gcc binary's sections.
But the user functions for it don't bother with those:
inline void
gt_ggc_mx (function_instance *)
{
}

inline void
gt_pch_nx (function_instance *)
{
}

inline void
gt_pch_nx (function_instance *, gt_pointer_operator, void *)
{
}
Not a big deal when cc1 is not a PIE, since the values will be the same between
the
process which saved PCH and process which restores it.  But with PIE, they
usually will have
different base address, so we need to relocate it.
I guess it is close to what the callback GTY stuff does, that also needs to be
relocated for PIE PCH
and nothing else.
Those are handled in the normally generated files as
  if ((void *)(x) == this_obj)
    gt_pch_note_callback (&((*x).m_reallocator), this_obj);
  if ((void *)(x) == this_obj)
    gt_pch_note_callback (&((*x).m_round_alloc_size), this_obj);
in the function passed to gt_pch_note_object.

Reply via email to