diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index fd730fbb3a..0e8889ed20 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -605,7 +605,7 @@ jobs: run: | cd ~/work set +e - ./Configure -des -Dusedevel -Doptimize=-g -DDEBUGGING || exit 1 + ./Configure -des -Dusedevel -Doptimize=-g -DDEBUGGING -Astatic_ext=I18N/Langinfo || exit 1 - name: Build shell: sh env: diff --git a/pod/perldelta.pod b/pod/perldelta.pod index d932427b6f..845df8ef95 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -382,7 +382,22 @@ platform specific bugs also go here. =item * -XXX +C builds may fail during testing due to a conflict between the +load addresses of F and +F. This will also be visible +for anything that attempts to fork() with C loaded. + +This is known to fail for builds with options that increase the size +of the binary, such as C<-DDEBUGGING>, C<-Doptimize="-O0 -g"> or +C<-Doptimize="-O2 -g -march=x86-64-v2">. + +This can be avoided by building perl with +C<-Astatic_ext=I18N/Langinfo>. + +The base addresses are generated by the linker based on the names of +the DLLs, so this is expected to clear up for 5.41.7. + +[github #22695] =back