https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121535
Frank Scheiner <frank.scheiner at web dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikpelinux at gmail dot com,
| |pinskia at gcc dot gnu.org
--- Comment #9 from Frank Scheiner <frank.scheiner at web dot de> ---
@Mikael, @Andrew:
I put you in CC for this bug as I couldn't find a way to just CC you for this
comment - unless I just did.
Tomas came up with an ia64 specific solution for this problem (see comment #8),
i.e. what Mikael proposed earlier:
(from comment #8)
> Here, p6 and p7 should be zeroed, but the pattern of movbi additionally sets
> p7 and p8 to one (the former is subsequently cleared). An alternative is
> using movcci and to copy TRUE (from PR0) instead of FALSE into the predicate
> registers, that doesn't appear to suffer from the issue, but is not
> technically "zeroing".
But Tomas isn't sure what option to actually use. Maybe you both could help
decide?
****
I already tested Tomas' current solution (from comment #8) and it also works
for my case, solving the original problem when compiling cryptsetup. I just did
it cross with T2 to save me 5+ hours to create a modified GCC natively. :-)
Results below:
```
root@esprimo-e420:/usr/src/t2-src# ls
package/security/cryptsetup/hotfix-zero-regs.patch.ia64
ls: cannot access 'package/security/cryptsetup/hotfix-zero-regs.patch.ia64': No
such file or directory
root@esprimo-e420:/usr/src/t2-src# time t2 build-target -cfg ia64 -job
2-cryptsetup
Paranoia Check: No active swap partition found!
That can cause the build scripts to stall your system!. Better
activate swap using the 'swapon' command and try again.
21:33:10 1/213 Building 2-security/cryptsetup (2.8.1) ~8s
Building in src.cryptsetup.ia64.251009.213310.1184, with 8 threads
Writing output to $root/var/adm/logs/2-cryptsetup.out
! ???:0
! 0xc4552c default_zero_call_used_regs(HARD_REG_SET)
! ???:0
! Please submit a full bug report, with preprocessed source (by using
-freport-bug).
! Please include the complete backtrace with any bug report.
! See <https://gcc.gnu.org/bugs/> for instructions.
! Due to previous errors, no 2-cryptsetup.log file!
! (Try enabling xtrace in the config to track an error inside the build
system.)
+00:00:13 Aborted building security/cryptsetup
real 0m14.148s
user 0m32.853s
sys 0m5.147s
root@esprimo-e420:/usr/src/t2-src# ls
package/develop/gcc/ia64_zero_call_used_regs.patch
package/develop/gcc/ia64_zero_call_used_regs.patch
root@esprimo-e420:/usr/src/t2-src# time t2 build-target -cfg ia64 -job 0-gcc
Paranoia Check: No active swap partition found!
That can cause the build scripts to stall your system!. Better
activate swap using the 'swapon' command and try again.
21:35:37 1/213 Building 0-develop/gcc (15.2.0) ~32m:4s
Stack-Smashing Protector disabled for this package
Building in src.gcc.ia64.251009.213537.27125, with 8 threads
Writing output to $root/var/adm/logs/0-gcc.out
+00:05:03 Finished building develop/gcc
real 5m3.059s
user 33m30.375s
sys 1m37.679s
root@esprimo-e420:/usr/src/t2-src# time t2 build-target -cfg ia64 -job
2-cryptsetup
Paranoia Check: No active swap partition found!
That can cause the build scripts to stall your system!. Better
activate swap using the 'swapon' command and try again.
Building tools in build/.../TOOLCHAIN/cross:
Building cross/wrapper/cmd_wrapper
Building cross/wrapper/strip_wrapper
Building cross/wrapper/{arch,uname}
Building cross/wrapper/ldconfig
Building cross/wrapper/install_wrapper
Building cross/bin/getdu
Building cross/bin/getfiles
Building cross/bin/fl_wrparse
Building cross/bin/fl_stparse
Building cross/lib/fl_wrapper.so
Testing cross/lib/fl_wrapper.so
Creating cross/lib/parse-config
Creating cross/lib/pkg_*_{pre,post}.conf
21:41:06 1/213 Building 2-security/cryptsetup (2.8.1) ~8s
Building in src.cryptsetup.ia64.251009.214106.85616, with 8 threads
Writing output to $root/var/adm/logs/2-cryptsetup.out
+00:00:13 Finished building security/cryptsetup
Creating
build/ia64-25-svn-generic-ia64-itanium2-linux/TOOLCHAIN/pkgs/cryptsetup-2.8.1.tar.zst
real 0m14.861s
user 0m35.042s
sys 0m5.584s
```