The below diff was obtained by looking at the diff between our x86gas.pl and what openssl have. It is basically libcrypto/perlasm/x86gas.pl -r1.5.
With this diff, borgbackup/2.0 builds and passes regress on i386, openssl/1.1 regress also passes (modulo known shlibload test breakage). Index: Makefile =================================================================== RCS file: /cvs/ports/security/openssl/1.1/Makefile,v retrieving revision 1.52 diff -u -p -r1.52 Makefile --- Makefile 29 Jan 2023 07:38:26 -0000 1.52 +++ Makefile 31 Jan 2023 18:24:18 -0000 @@ -8,7 +8,7 @@ PORTROACH= limit:^1\.1\.[0-9][a-z] skipb V= 1.1.1s PKGSPEC= openssl->=1.1.0v0,<1.2v0 EPOCH= 0 -REVISION= 6 +REVISION= 7 SHLIBVER= 11.6 SHARED_LIBS= crypto ${SHLIBVER} \ Index: patches/patch-crypto_perlasm_x86gas_pl =================================================================== RCS file: patches/patch-crypto_perlasm_x86gas_pl diff -N patches/patch-crypto_perlasm_x86gas_pl --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-crypto_perlasm_x86gas_pl 31 Jan 2023 18:54:48 -0000 @@ -0,0 +1,16 @@ +Index: crypto/perlasm/x86gas.pl +--- crypto/perlasm/x86gas.pl.orig ++++ crypto/perlasm/x86gas.pl +@@ -166,10 +166,8 @@ sub ::file_end + } + } + if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out) { +- my $tmp=".comm\t${nmdecor}OPENSSL_ia32cap_P,16"; +- if ($::macosx) { push (@out,"$tmp,2\n"); } +- elsif ($::elf) { push (@out,"$tmp,4\n"); } +- else { push (@out,"$tmp\n"); } ++ push (@out, ".extern\t${nmdecor}OPENSSL_ia32cap_P\n"); ++ push (@out, ".hidden\t${nmdecor}OPENSSL_ia32cap_P\n"); + } + push(@out,$initseg) if ($initseg); + }