redhat-rpm-config added annobin flags to build_ldflags (bug #1983727):
$ rpm --eval '%{build_ldflags}'
-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
perl needs to be rebuilt to pass them to XS modules:
$ perl -e 'use Config; print $Config{ldflags}, qq{\n}'
-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fstack-protector-strong -L/usr/local/lib
Without that annocheck reports on i686:
Hardened: /usr/lib/perl5/vendor_perl/auto/JavaScript/Minifier/XS/XS.so: FAIL: stack-realign test because stack realign
See <https://bugzilla.redhat.com/show_bug.cgi?id=2013694#c10> and the
next comment.
Perl build script generates *.ph files from system header files.
The latest glibc apparently added a new header file features-time64.h
and features-time64.ph has to be added to package perl-ph.
If DynaLoader.pm is not installed:
$ perl -e 'require XSLoader; XSLoader::load(q{Cwd}, 0)'
Can't locate DynaLoader.pm in @INC (you may need to install the DynaLoader module) (@INC contains: /usr/local/lib64/perl5/5.32 /usr/local/share/perl5/5.32 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/perl5/XSLoader.pm line 115.
XSLoader::load() does "goto \&XSLoader::bootstrap_inherit" which does
"require DynaLoader". A private redefinition of DynaLoader package in
XSLoader is scoped to sub load {}. It's maybe an upstream bug.
Nowadays perl-interpreter is not presented in a minimal build root.
Nowadays perl-interpreter means /usr/bin/perl executable only.
When FPC approved new Perl guidelines it added perl-macros to the
dependencies of perl-generators.
Packages that do not depend on perl-generators will have to require
perl-macros explicitly.